diff options
| author | xoviat <[email protected]> | 2023-07-09 16:01:13 -0500 |
|---|---|---|
| committer | xoviat <[email protected]> | 2023-07-09 16:01:13 -0500 |
| commit | c1bf5aee247060a0251fe13eefcb3c7369f44eb9 (patch) | |
| tree | 8f2ad3b639d3f0bace111b720041166aaa0984be /examples | |
| parent | 735d676a725999eda3869e7323c6264c2e8c2cb9 (diff) | |
mac: move table initialization after sys ready
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/stm32wb/src/bin/tl_mbox_mac.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/examples/stm32wb/src/bin/tl_mbox_mac.rs b/examples/stm32wb/src/bin/tl_mbox_mac.rs index f67be4682..5931c392b 100644 --- a/examples/stm32wb/src/bin/tl_mbox_mac.rs +++ b/examples/stm32wb/src/bin/tl_mbox_mac.rs | |||
| @@ -6,6 +6,7 @@ use defmt::*; | |||
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_stm32::bind_interrupts; | 7 | use embassy_stm32::bind_interrupts; |
| 8 | use embassy_stm32::ipcc::{Config, ReceiveInterruptHandler, TransmitInterruptHandler}; | 8 | use embassy_stm32::ipcc::{Config, ReceiveInterruptHandler, TransmitInterruptHandler}; |
| 9 | use embassy_stm32_wpan::sub::mm; | ||
| 9 | use embassy_stm32_wpan::TlMbox; | 10 | use embassy_stm32_wpan::TlMbox; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 12 | ||
| @@ -14,8 +15,13 @@ bind_interrupts!(struct Irqs{ | |||
| 14 | IPCC_C1_TX => TransmitInterruptHandler; | 15 | IPCC_C1_TX => TransmitInterruptHandler; |
| 15 | }); | 16 | }); |
| 16 | 17 | ||
| 18 | #[embassy_executor::task] | ||
| 19 | async fn run_mm_queue(memory_manager: mm::MemoryManager) { | ||
| 20 | memory_manager.run_queue().await; | ||
| 21 | } | ||
| 22 | |||
| 17 | #[embassy_executor::main] | 23 | #[embassy_executor::main] |
| 18 | async fn main(_spawner: Spawner) { | 24 | async fn main(spawner: Spawner) { |
| 19 | /* | 25 | /* |
| 20 | How to make this work: | 26 | How to make this work: |
| 21 | 27 | ||
| @@ -46,9 +52,13 @@ async fn main(_spawner: Spawner) { | |||
| 46 | let config = Config::default(); | 52 | let config = Config::default(); |
| 47 | let mbox = TlMbox::init(p.IPCC, Irqs, config); | 53 | let mbox = TlMbox::init(p.IPCC, Irqs, config); |
| 48 | 54 | ||
| 55 | spawner.spawn(run_mm_queue(mbox.mm_subsystem)).unwrap(); | ||
| 56 | |||
| 49 | let sys_event = mbox.sys_subsystem.read().await; | 57 | let sys_event = mbox.sys_subsystem.read().await; |
| 50 | info!("sys event: {}", sys_event.payload()); | 58 | info!("sys event: {}", sys_event.payload()); |
| 51 | 59 | ||
| 60 | core::mem::drop(sys_event); | ||
| 61 | |||
| 52 | let result = mbox.sys_subsystem.shci_c2_mac_802_15_4_init().await; | 62 | let result = mbox.sys_subsystem.shci_c2_mac_802_15_4_init().await; |
| 53 | info!("initialized mac: {}", result); | 63 | info!("initialized mac: {}", result); |
| 54 | 64 | ||
