aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32wb/src/bin/mac_ffd_net.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/stm32wb/src/bin/mac_ffd_net.rs')
-rw-r--r--examples/stm32wb/src/bin/mac_ffd_net.rs21
1 files changed, 13 insertions, 8 deletions
diff --git a/examples/stm32wb/src/bin/mac_ffd_net.rs b/examples/stm32wb/src/bin/mac_ffd_net.rs
index f8c76b5a4..7a42bf577 100644
--- a/examples/stm32wb/src/bin/mac_ffd_net.rs
+++ b/examples/stm32wb/src/bin/mac_ffd_net.rs
@@ -1,6 +1,5 @@
1#![no_std] 1#![no_std]
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)]
4 3
5use defmt::*; 4use defmt::*;
6use embassy_executor::Spawner; 5use embassy_executor::Spawner;
@@ -12,7 +11,7 @@ use embassy_stm32_wpan::mac::typedefs::{MacChannel, PanId, PibId};
12use embassy_stm32_wpan::mac::{self, Runner}; 11use embassy_stm32_wpan::mac::{self, Runner};
13use embassy_stm32_wpan::sub::mm; 12use embassy_stm32_wpan::sub::mm;
14use embassy_stm32_wpan::TlMbox; 13use embassy_stm32_wpan::TlMbox;
15use static_cell::make_static; 14use static_cell::StaticCell;
16use {defmt_rtt as _, panic_probe as _}; 15use {defmt_rtt as _, panic_probe as _};
17 16
18bind_interrupts!(struct Irqs{ 17bind_interrupts!(struct Irqs{
@@ -154,15 +153,21 @@ async fn main(spawner: Spawner) {
154 .unwrap(); 153 .unwrap();
155 defmt::info!("{:#x}", mbox.mac_subsystem.read().await.unwrap()); 154 defmt::info!("{:#x}", mbox.mac_subsystem.read().await.unwrap());
156 155
156 static TX1: StaticCell<[u8; 127]> = StaticCell::new();
157 static TX2: StaticCell<[u8; 127]> = StaticCell::new();
158 static TX3: StaticCell<[u8; 127]> = StaticCell::new();
159 static TX4: StaticCell<[u8; 127]> = StaticCell::new();
160 static TX5: StaticCell<[u8; 127]> = StaticCell::new();
157 let tx_queue = [ 161 let tx_queue = [
158 make_static!([0u8; 127]), 162 TX1.init([0u8; 127]),
159 make_static!([0u8; 127]), 163 TX2.init([0u8; 127]),
160 make_static!([0u8; 127]), 164 TX3.init([0u8; 127]),
161 make_static!([0u8; 127]), 165 TX4.init([0u8; 127]),
162 make_static!([0u8; 127]), 166 TX5.init([0u8; 127]),
163 ]; 167 ];
164 168
165 let runner = make_static!(Runner::new(mbox.mac_subsystem, tx_queue)); 169 static RUNNER: StaticCell<Runner> = StaticCell::new();
170 let runner = RUNNER.init(Runner::new(mbox.mac_subsystem, tx_queue));
166 171
167 spawner.spawn(run_mac(runner)).unwrap(); 172 spawner.spawn(run_mac(runner)).unwrap();
168 173