aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32l0
diff options
context:
space:
mode:
authormichel <[email protected]>2024-10-10 14:53:04 +0200
committermichel <[email protected]>2024-11-29 17:58:35 +0100
commita5b34a7980edaba5d8de05c68a48972dd9239f75 (patch)
treed22db4b8b504ff04b07d36cf4179b84c057c9475 /examples/stm32l0
parent721c6820d4a6e3bbf2546997205a32975e6bad8b (diff)
stm32 multipin examples: remove check for group status since we are using the async pending method
Diffstat (limited to 'examples/stm32l0')
-rw-r--r--examples/stm32l0/src/bin/tsc_multipin.rs28
1 files changed, 2 insertions, 26 deletions
diff --git a/examples/stm32l0/src/bin/tsc_multipin.rs b/examples/stm32l0/src/bin/tsc_multipin.rs
index 6170d0799..85feb50b0 100644
--- a/examples/stm32l0/src/bin/tsc_multipin.rs
+++ b/examples/stm32l0/src/bin/tsc_multipin.rs
@@ -74,26 +74,6 @@ bind_interrupts!(struct Irqs {
74 TSC => InterruptHandler<embassy_stm32::peripherals::TSC>; 74 TSC => InterruptHandler<embassy_stm32::peripherals::TSC>;
75}); 75});
76 76
77const MAX_GROUP_STATUS_READ_ATTEMPTS: usize = 10;
78
79async fn read_touch_values(
80 touch_controller: &mut tsc::Tsc<'_, peripherals::TSC, mode::Async>,
81 tsc_acquisition_bank: &TscAcquisitionBank,
82) -> Option<TscAcquisitionBankReadings> {
83 for _ in 0..MAX_GROUP_STATUS_READ_ATTEMPTS {
84 let status = touch_controller.get_acquisition_bank_status(tsc_acquisition_bank);
85 if status.all_complete() {
86 let r = touch_controller.get_acquisition_bank_values(tsc_acquisition_bank);
87 return Some(r);
88 } else {
89 info!("Acquisition still ongoing");
90 Timer::after_millis(1).await;
91 }
92 }
93 info!("Acquisition failed after {} attempts", MAX_GROUP_STATUS_READ_ATTEMPTS);
94 None
95}
96
97const SENSOR_THRESHOLD: u16 = 35; 77const SENSOR_THRESHOLD: u16 = 35;
98 78
99async fn acquire_sensors( 79async fn acquire_sensors(
@@ -174,13 +154,9 @@ async fn main(_spawner: embassy_executor::Spawner) {
174 154
175 loop { 155 loop {
176 acquire_sensors(&mut touch_controller, &bank1).await; 156 acquire_sensors(&mut touch_controller, &bank1).await;
177 let readings1: TscAcquisitionBankReadings = read_touch_values(&mut touch_controller, &bank1) 157 let readings1 = touch_controller.get_acquisition_bank_values(&bank1);
178 .await
179 .expect("should be able to read values for bank 1");
180 acquire_sensors(&mut touch_controller, &bank2).await; 158 acquire_sensors(&mut touch_controller, &bank2).await;
181 let readings2: TscAcquisitionBankReadings = read_touch_values(&mut touch_controller, &bank2) 159 let readings2 = touch_controller.get_acquisition_bank_values(&bank1);
182 .await
183 .expect("should be able to read values for bank 2");
184 160
185 let mut touched_sensors_count = 0; 161 let mut touched_sensors_count = 0;
186 for reading in readings1.iter() { 162 for reading in readings1.iter() {