diff options
Diffstat (limited to 'tests/stm32/src/bin/wpan_mac.rs')
| -rw-r--r-- | tests/stm32/src/bin/wpan_mac.rs | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/tests/stm32/src/bin/wpan_mac.rs b/tests/stm32/src/bin/wpan_mac.rs index f27146c44..42db39e7e 100644 --- a/tests/stm32/src/bin/wpan_mac.rs +++ b/tests/stm32/src/bin/wpan_mac.rs | |||
| @@ -25,7 +25,7 @@ bind_interrupts!(struct Irqs{ | |||
| 25 | }); | 25 | }); |
| 26 | 26 | ||
| 27 | #[embassy_executor::task] | 27 | #[embassy_executor::task] |
| 28 | async fn run_mm_queue(memory_manager: mm::MemoryManager) { | 28 | async fn run_mm_queue(mut memory_manager: mm::MemoryManager<'static>) { |
| 29 | memory_manager.run_queue().await; | 29 | memory_manager.run_queue().await; |
| 30 | } | 30 | } |
| 31 | 31 | ||
| @@ -38,20 +38,17 @@ async fn main(spawner: Spawner) { | |||
| 38 | info!("Hello World!"); | 38 | info!("Hello World!"); |
| 39 | 39 | ||
| 40 | let config = Config::default(); | 40 | let config = Config::default(); |
| 41 | let mbox = TlMbox::init(p.IPCC, Irqs, config); | 41 | let mbox = TlMbox::init(p.IPCC, Irqs, config).await; |
| 42 | let mut sys = mbox.sys_subsystem; | ||
| 43 | let (mut mac_rx, mut mac_tx) = mbox.mac_subsystem.split(); | ||
| 42 | 44 | ||
| 43 | spawner.spawn(run_mm_queue(mbox.mm_subsystem).unwrap()); | 45 | spawner.spawn(run_mm_queue(mbox.mm_subsystem).unwrap()); |
| 44 | 46 | ||
| 45 | let sys_event = mbox.sys_subsystem.read().await; | 47 | let result = sys.shci_c2_mac_802_15_4_init().await; |
| 46 | info!("sys event: {}", sys_event.payload()); | ||
| 47 | |||
| 48 | core::mem::drop(sys_event); | ||
| 49 | |||
| 50 | let result = mbox.sys_subsystem.shci_c2_mac_802_15_4_init().await; | ||
| 51 | info!("initialized mac: {}", result); | 48 | info!("initialized mac: {}", result); |
| 52 | 49 | ||
| 53 | info!("resetting"); | 50 | info!("resetting"); |
| 54 | mbox.mac_subsystem | 51 | mac_tx |
| 55 | .send_command(&ResetRequest { | 52 | .send_command(&ResetRequest { |
| 56 | set_default_pib: true, | 53 | set_default_pib: true, |
| 57 | ..Default::default() | 54 | ..Default::default() |
| @@ -59,13 +56,13 @@ async fn main(spawner: Spawner) { | |||
| 59 | .await | 56 | .await |
| 60 | .unwrap(); | 57 | .unwrap(); |
| 61 | { | 58 | { |
| 62 | let evt = mbox.mac_subsystem.read().await.unwrap(); | 59 | let evt = mac_rx.read().await.unwrap(); |
| 63 | info!("{:#x}", evt); | 60 | info!("{:#x}", evt); |
| 64 | } | 61 | } |
| 65 | 62 | ||
| 66 | info!("setting extended address"); | 63 | info!("setting extended address"); |
| 67 | let extended_address: u64 = 0xACDE480000000002; | 64 | let extended_address: u64 = 0xACDE480000000002; |
| 68 | mbox.mac_subsystem | 65 | mac_tx |
| 69 | .send_command(&SetRequest { | 66 | .send_command(&SetRequest { |
| 70 | pib_attribute_ptr: &extended_address as *const _ as *const u8, | 67 | pib_attribute_ptr: &extended_address as *const _ as *const u8, |
| 71 | pib_attribute: PibId::ExtendedAddress, | 68 | pib_attribute: PibId::ExtendedAddress, |
| @@ -73,12 +70,12 @@ async fn main(spawner: Spawner) { | |||
| 73 | .await | 70 | .await |
| 74 | .unwrap(); | 71 | .unwrap(); |
| 75 | { | 72 | { |
| 76 | let evt = mbox.mac_subsystem.read().await.unwrap(); | 73 | let evt = mac_rx.read().await.unwrap(); |
| 77 | info!("{:#x}", evt); | 74 | info!("{:#x}", evt); |
| 78 | } | 75 | } |
| 79 | 76 | ||
| 80 | info!("getting extended address"); | 77 | info!("getting extended address"); |
| 81 | mbox.mac_subsystem | 78 | mac_tx |
| 82 | .send_command(&GetRequest { | 79 | .send_command(&GetRequest { |
| 83 | pib_attribute: PibId::ExtendedAddress, | 80 | pib_attribute: PibId::ExtendedAddress, |
| 84 | ..Default::default() | 81 | ..Default::default() |
| @@ -87,7 +84,7 @@ async fn main(spawner: Spawner) { | |||
| 87 | .unwrap(); | 84 | .unwrap(); |
| 88 | 85 | ||
| 89 | { | 86 | { |
| 90 | let evt = mbox.mac_subsystem.read().await.unwrap(); | 87 | let evt = mac_rx.read().await.unwrap(); |
| 91 | info!("{:#x}", evt); | 88 | info!("{:#x}", evt); |
| 92 | 89 | ||
| 93 | if let MacEvent::MlmeGetCnf(evt) = evt { | 90 | if let MacEvent::MlmeGetCnf(evt) = evt { |
| @@ -113,8 +110,8 @@ async fn main(spawner: Spawner) { | |||
| 113 | key_index: 152, | 110 | key_index: 152, |
| 114 | }; | 111 | }; |
| 115 | info!("{}", a); | 112 | info!("{}", a); |
| 116 | mbox.mac_subsystem.send_command(&a).await.unwrap(); | 113 | mac_tx.send_command(&a).await.unwrap(); |
| 117 | let short_addr = if let MacEvent::MlmeAssociateCnf(conf) = mbox.mac_subsystem.read().await.unwrap() { | 114 | let short_addr = if let MacEvent::MlmeAssociateCnf(conf) = mac_rx.read().await.unwrap() { |
| 118 | conf.assoc_short_address | 115 | conf.assoc_short_address |
| 119 | } else { | 116 | } else { |
| 120 | defmt::panic!() | 117 | defmt::panic!() |
