aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorTimo Kröger <[email protected]>2022-06-25 07:01:31 +0200
committerTimo Kröger <[email protected]>2022-08-26 15:44:57 +0200
commit8e8106ef555373f8b0f04fe1f67684efef435a94 (patch)
tree7e53fc6734b38cb3821ffe2b9b19a5cd0f9dd2e3 /examples
parent61c666212fa04571a74c27f649526459a376aa8a (diff)
lora: Improve IRQ handling
* Interrupt handler only triggers a waker: Do the actual interrupt processing which involves SUBGHZ SPI coms in the task. * Do not require a static state for the constructor. * Remove unsafe from construcor.
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32wl/src/bin/lorawan.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/examples/stm32wl/src/bin/lorawan.rs b/examples/stm32wl/src/bin/lorawan.rs
index fdd7eb8cf..9c390bdf0 100644
--- a/examples/stm32wl/src/bin/lorawan.rs
+++ b/examples/stm32wl/src/bin/lorawan.rs
@@ -32,10 +32,9 @@ async fn main(_spawner: Spawner) {
32 let rfs = RadioSwitch::new(ctrl1, ctrl2, ctrl3); 32 let rfs = RadioSwitch::new(ctrl1, ctrl2, ctrl3);
33 33
34 let radio = SubGhz::new(p.SUBGHZSPI, NoDma, NoDma); 34 let radio = SubGhz::new(p.SUBGHZSPI, NoDma, NoDma);
35
36 let irq = interrupt::take!(SUBGHZ_RADIO); 35 let irq = interrupt::take!(SUBGHZ_RADIO);
37 static mut RADIO_STATE: SubGhzState<'static> = SubGhzState::new(); 36
38 let radio = unsafe { SubGhzRadio::new(&mut RADIO_STATE, radio, rfs, irq) }; 37 let radio = SubGhzRadio::new(radio, rfs, irq);
39 38
40 let mut region: region::Configuration = region::EU868::default().into(); 39 let mut region: region::Configuration = region::EU868::default().into();
41 40