diff options
| author | Timo Kröger <[email protected]> | 2022-06-25 07:01:31 +0200 |
|---|---|---|
| committer | Timo Kröger <[email protected]> | 2022-08-26 15:44:57 +0200 |
| commit | 8e8106ef555373f8b0f04fe1f67684efef435a94 (patch) | |
| tree | 7e53fc6734b38cb3821ffe2b9b19a5cd0f9dd2e3 /examples/stm32wl/src | |
| parent | 61c666212fa04571a74c27f649526459a376aa8a (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/stm32wl/src')
| -rw-r--r-- | examples/stm32wl/src/bin/lorawan.rs | 5 |
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 | ||
