From 8311c3843beee4d8f47e49a73accca465da32cdf Mon Sep 17 00:00:00 2001 From: Kinga Madej Date: Fri, 11 Aug 2023 16:54:04 +0200 Subject: [PATCH 1/5] Update tasks.rs --- crates/cansat-stm32f4/src/tasks.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/crates/cansat-stm32f4/src/tasks.rs b/crates/cansat-stm32f4/src/tasks.rs index a2dfe3c..0bf4619 100644 --- a/crates/cansat-stm32f4/src/tasks.rs +++ b/crates/cansat-stm32f4/src/tasks.rs @@ -15,10 +15,27 @@ pub fn idle(mut ctx: app::idle::Context) -> ! { .quote(b'\'') .build(); + let mut takeoff_detection_readings = 0; + loop { let measurements = read_measurements(&mut ctx); defmt::info!("{}", measurements); + if takeoff_detection_readings >= 0 { + if measurements.acceleration.unwrap().x > 0 { + takeoff_detection_readings += 1; + } else { + takeoff_detection_readings = 0; + } + + if takeoff_detection_readings == 1 { + defmt::info!("Cansat has taken off."); + takeoff_detection_readings = -1; + } else { + defmt::info!("Cansat has not yet taken off."); + } + } + let csv_record = match serde_csv_core::to_vec(&mut writer, &measurements) { Ok(r) => r, Err(e) => { From 7809a5e4f1f4f8f09e148115aa1d042b5681cacf Mon Sep 17 00:00:00 2001 From: Kinga Madej Date: Fri, 11 Aug 2023 17:02:25 +0200 Subject: [PATCH 2/5] Update tasks.rs --- crates/cansat-stm32f4/src/tasks.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/cansat-stm32f4/src/tasks.rs b/crates/cansat-stm32f4/src/tasks.rs index 0bf4619..500519d 100644 --- a/crates/cansat-stm32f4/src/tasks.rs +++ b/crates/cansat-stm32f4/src/tasks.rs @@ -28,7 +28,7 @@ pub fn idle(mut ctx: app::idle::Context) -> ! { takeoff_detection_readings = 0; } - if takeoff_detection_readings == 1 { + if takeoff_detection_readings == 3 { defmt::info!("Cansat has taken off."); takeoff_detection_readings = -1; } else { From 03ec3d71dd3efafa390c43240d8d843df47e100b Mon Sep 17 00:00:00 2001 From: Kinga Madej Date: Wed, 23 Aug 2023 09:47:55 +0200 Subject: [PATCH 3/5] Update tasks.rs --- crates/cansat-stm32f4/src/tasks.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/cansat-stm32f4/src/tasks.rs b/crates/cansat-stm32f4/src/tasks.rs index 500519d..51dcbfb 100644 --- a/crates/cansat-stm32f4/src/tasks.rs +++ b/crates/cansat-stm32f4/src/tasks.rs @@ -21,8 +21,12 @@ pub fn idle(mut ctx: app::idle::Context) -> ! { let measurements = read_measurements(&mut ctx); defmt::info!("{}", measurements); + let Some(acc) = measurements.acceleration else { + panic!("No acceleration data"); + }; + if takeoff_detection_readings >= 0 { - if measurements.acceleration.unwrap().x > 0 { + if acc.x < 0.0 { takeoff_detection_readings += 1; } else { takeoff_detection_readings = 0; From 8a01843c4da028f6f00185449e33c98291c07fa9 Mon Sep 17 00:00:00 2001 From: Kinga Madej Date: Wed, 23 Aug 2023 10:00:25 +0200 Subject: [PATCH 4/5] Revert "Update tasks.rs" This reverts commit 03ec3d71dd3efafa390c43240d8d843df47e100b. --- crates/cansat-stm32f4/src/tasks.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/crates/cansat-stm32f4/src/tasks.rs b/crates/cansat-stm32f4/src/tasks.rs index 51dcbfb..500519d 100644 --- a/crates/cansat-stm32f4/src/tasks.rs +++ b/crates/cansat-stm32f4/src/tasks.rs @@ -21,12 +21,8 @@ pub fn idle(mut ctx: app::idle::Context) -> ! { let measurements = read_measurements(&mut ctx); defmt::info!("{}", measurements); - let Some(acc) = measurements.acceleration else { - panic!("No acceleration data"); - }; - if takeoff_detection_readings >= 0 { - if acc.x < 0.0 { + if measurements.acceleration.unwrap().x > 0 { takeoff_detection_readings += 1; } else { takeoff_detection_readings = 0; From fc4a0b9befdfa2438c21820166704013b1d13658 Mon Sep 17 00:00:00 2001 From: Kinga Madej Date: Wed, 23 Aug 2023 10:08:07 +0200 Subject: [PATCH 5/5] Update tasks.rs --- crates/cansat-stm32f4/src/tasks.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/cansat-stm32f4/src/tasks.rs b/crates/cansat-stm32f4/src/tasks.rs index 500519d..135e0d9 100644 --- a/crates/cansat-stm32f4/src/tasks.rs +++ b/crates/cansat-stm32f4/src/tasks.rs @@ -21,8 +21,12 @@ pub fn idle(mut ctx: app::idle::Context) -> ! { let measurements = read_measurements(&mut ctx); defmt::info!("{}", measurements); + let Some(acc) = measurements.acceleration else { + panic!("No acceleration data"); + }; + if takeoff_detection_readings >= 0 { - if measurements.acceleration.unwrap().x > 0 { + if acc.x < 0 { takeoff_detection_readings += 1; } else { takeoff_detection_readings = 0;