diff options
| author | Raul Alimbekov <[email protected]> | 2025-12-16 09:05:22 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-16 09:05:22 +0300 |
| commit | c9a04b4b732b7a3b696eb8223664c1a7942b1875 (patch) | |
| tree | 6dbe5c02e66eed8d8762f13f95afd24f8db2b38c /examples/stm32wb/src/bin/tl_mbox_ble.rs | |
| parent | cde24a3ef1117653ba5ed4184102b33f745782fb (diff) | |
| parent | 5ae6e060ec1c90561719aabdc29d5b6e7b8b0a82 (diff) | |
Merge branch 'main' into main
Diffstat (limited to 'examples/stm32wb/src/bin/tl_mbox_ble.rs')
| -rw-r--r-- | examples/stm32wb/src/bin/tl_mbox_ble.rs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/examples/stm32wb/src/bin/tl_mbox_ble.rs b/examples/stm32wb/src/bin/tl_mbox_ble.rs index 72a4c18e6..763dc32cd 100644 --- a/examples/stm32wb/src/bin/tl_mbox_ble.rs +++ b/examples/stm32wb/src/bin/tl_mbox_ble.rs | |||
| @@ -7,6 +7,7 @@ use embassy_stm32::bind_interrupts; | |||
| 7 | use embassy_stm32::ipcc::{Config, ReceiveInterruptHandler, TransmitInterruptHandler}; | 7 | use embassy_stm32::ipcc::{Config, ReceiveInterruptHandler, TransmitInterruptHandler}; |
| 8 | use embassy_stm32::rcc::WPAN_DEFAULT; | 8 | use embassy_stm32::rcc::WPAN_DEFAULT; |
| 9 | use embassy_stm32_wpan::TlMbox; | 9 | use embassy_stm32_wpan::TlMbox; |
| 10 | use embassy_stm32_wpan::sub::mm; | ||
| 10 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 12 | ||
| 12 | bind_interrupts!(struct Irqs{ | 13 | bind_interrupts!(struct Irqs{ |
| @@ -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(mut memory_manager: mm::MemoryManager<'static>) { | ||
| 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 | ||
| @@ -45,18 +51,19 @@ async fn main(_spawner: Spawner) { | |||
| 45 | info!("Hello World!"); | 51 | info!("Hello World!"); |
| 46 | 52 | ||
| 47 | let config = Config::default(); | 53 | let config = Config::default(); |
| 48 | let mbox = TlMbox::init(p.IPCC, Irqs, config); | 54 | let mbox = TlMbox::init(p.IPCC, Irqs, config).await; |
| 55 | let mut sys = mbox.sys_subsystem; | ||
| 56 | let mut ble = mbox.ble_subsystem; | ||
| 49 | 57 | ||
| 50 | let sys_event = mbox.sys_subsystem.read().await; | 58 | spawner.spawn(run_mm_queue(mbox.mm_subsystem).unwrap()); |
| 51 | info!("sys event: {}", sys_event.payload()); | ||
| 52 | 59 | ||
| 53 | let _ = mbox.sys_subsystem.shci_c2_ble_init(Default::default()).await; | 60 | let _ = sys.shci_c2_ble_init(Default::default()).await; |
| 54 | 61 | ||
| 55 | info!("starting ble..."); | 62 | info!("starting ble..."); |
| 56 | mbox.ble_subsystem.tl_write(0x0c, &[]).await; | 63 | ble.tl_write(0x0c, &[]).await; |
| 57 | 64 | ||
| 58 | info!("waiting for ble..."); | 65 | info!("waiting for ble..."); |
| 59 | let ble_event = mbox.ble_subsystem.tl_read().await; | 66 | let ble_event = ble.tl_read().await; |
| 60 | 67 | ||
| 61 | info!("ble event: {}", ble_event.payload()); | 68 | info!("ble event: {}", ble_event.payload()); |
| 62 | 69 | ||
