diff options
| author | xoviat <[email protected]> | 2023-07-19 17:49:08 -0500 |
|---|---|---|
| committer | xoviat <[email protected]> | 2023-07-19 17:49:08 -0500 |
| commit | 28254842db645bc961d19fa2287610b7b1d3447c (patch) | |
| tree | f7159309f5e4828391876c5df04f131dd462f429 /examples | |
| parent | ca1d4179a792d4a33b4f2b97b33002759fd28a21 (diff) | |
- optimize event to parse opcode only once
- optimze channels
- return mut ref for smoltcp rx
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/stm32wb/src/bin/mac_ffd.rs | 34 | ||||
| -rw-r--r-- | examples/stm32wb/src/bin/mac_ffd_net.rs | 28 | ||||
| -rw-r--r-- | examples/stm32wb/src/bin/mac_rfd.rs | 34 |
3 files changed, 49 insertions, 47 deletions
diff --git a/examples/stm32wb/src/bin/mac_ffd.rs b/examples/stm32wb/src/bin/mac_ffd.rs index bc71e29aa..7de30778f 100644 --- a/examples/stm32wb/src/bin/mac_ffd.rs +++ b/examples/stm32wb/src/bin/mac_ffd.rs | |||
| @@ -74,8 +74,8 @@ async fn main(spawner: Spawner) { | |||
| 74 | .await | 74 | .await |
| 75 | .unwrap(); | 75 | .unwrap(); |
| 76 | { | 76 | { |
| 77 | let evt = mbox.mac_subsystem.read().await; | 77 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 78 | defmt::info!("{:#x}", evt.mac_event()); | 78 | defmt::info!("{:#x}", *evt); |
| 79 | } | 79 | } |
| 80 | 80 | ||
| 81 | info!("setting extended address"); | 81 | info!("setting extended address"); |
| @@ -88,8 +88,8 @@ async fn main(spawner: Spawner) { | |||
| 88 | .await | 88 | .await |
| 89 | .unwrap(); | 89 | .unwrap(); |
| 90 | { | 90 | { |
| 91 | let evt = mbox.mac_subsystem.read().await; | 91 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 92 | defmt::info!("{:#x}", evt.mac_event()); | 92 | defmt::info!("{:#x}", *evt); |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | info!("setting short address"); | 95 | info!("setting short address"); |
| @@ -102,8 +102,8 @@ async fn main(spawner: Spawner) { | |||
| 102 | .await | 102 | .await |
| 103 | .unwrap(); | 103 | .unwrap(); |
| 104 | { | 104 | { |
| 105 | let evt = mbox.mac_subsystem.read().await; | 105 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 106 | defmt::info!("{:#x}", evt.mac_event()); | 106 | defmt::info!("{:#x}", *evt); |
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | info!("setting association permit"); | 109 | info!("setting association permit"); |
| @@ -116,8 +116,8 @@ async fn main(spawner: Spawner) { | |||
| 116 | .await | 116 | .await |
| 117 | .unwrap(); | 117 | .unwrap(); |
| 118 | { | 118 | { |
| 119 | let evt = mbox.mac_subsystem.read().await; | 119 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 120 | defmt::info!("{:#x}", evt.mac_event()); | 120 | defmt::info!("{:#x}", *evt); |
| 121 | } | 121 | } |
| 122 | 122 | ||
| 123 | info!("setting TX power"); | 123 | info!("setting TX power"); |
| @@ -130,8 +130,8 @@ async fn main(spawner: Spawner) { | |||
| 130 | .await | 130 | .await |
| 131 | .unwrap(); | 131 | .unwrap(); |
| 132 | { | 132 | { |
| 133 | let evt = mbox.mac_subsystem.read().await; | 133 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 134 | defmt::info!("{:#x}", evt.mac_event()); | 134 | defmt::info!("{:#x}", *evt); |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | info!("starting FFD device"); | 137 | info!("starting FFD device"); |
| @@ -148,8 +148,8 @@ async fn main(spawner: Spawner) { | |||
| 148 | .await | 148 | .await |
| 149 | .unwrap(); | 149 | .unwrap(); |
| 150 | { | 150 | { |
| 151 | let evt = mbox.mac_subsystem.read().await; | 151 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 152 | defmt::info!("{:#x}", evt.mac_event()); | 152 | defmt::info!("{:#x}", *evt); |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | info!("setting RX on when idle"); | 155 | info!("setting RX on when idle"); |
| @@ -162,17 +162,17 @@ async fn main(spawner: Spawner) { | |||
| 162 | .await | 162 | .await |
| 163 | .unwrap(); | 163 | .unwrap(); |
| 164 | { | 164 | { |
| 165 | let evt = mbox.mac_subsystem.read().await; | 165 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 166 | defmt::info!("{:#x}", evt.mac_event()); | 166 | defmt::info!("{:#x}", *evt); |
| 167 | } | 167 | } |
| 168 | 168 | ||
| 169 | loop { | 169 | loop { |
| 170 | let evt = mbox.mac_subsystem.read().await; | 170 | let evt = mbox.mac_subsystem.read().await; |
| 171 | if let Ok(evt) = evt.mac_event() { | 171 | if let Ok(evt) = evt { |
| 172 | defmt::info!("parsed mac event"); | 172 | defmt::info!("parsed mac event"); |
| 173 | defmt::info!("{:#x}", evt); | 173 | defmt::info!("{:#x}", *evt); |
| 174 | 174 | ||
| 175 | match evt { | 175 | match *evt { |
| 176 | MacEvent::MlmeAssociateInd(association) => mbox | 176 | MacEvent::MlmeAssociateInd(association) => mbox |
| 177 | .mac_subsystem | 177 | .mac_subsystem |
| 178 | .send_command(&AssociateResponse { | 178 | .send_command(&AssociateResponse { |
diff --git a/examples/stm32wb/src/bin/mac_ffd_net.rs b/examples/stm32wb/src/bin/mac_ffd_net.rs index 7b8c4b9dc..16c33e146 100644 --- a/examples/stm32wb/src/bin/mac_ffd_net.rs +++ b/examples/stm32wb/src/bin/mac_ffd_net.rs | |||
| @@ -80,8 +80,8 @@ async fn main(spawner: Spawner) { | |||
| 80 | .await | 80 | .await |
| 81 | .unwrap(); | 81 | .unwrap(); |
| 82 | { | 82 | { |
| 83 | let evt = mbox.mac_subsystem.read().await; | 83 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 84 | defmt::info!("{:#x}", evt.mac_event()); | 84 | defmt::info!("{:#x}", *evt); |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | info!("setting extended address"); | 87 | info!("setting extended address"); |
| @@ -94,8 +94,8 @@ async fn main(spawner: Spawner) { | |||
| 94 | .await | 94 | .await |
| 95 | .unwrap(); | 95 | .unwrap(); |
| 96 | { | 96 | { |
| 97 | let evt = mbox.mac_subsystem.read().await; | 97 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 98 | defmt::info!("{:#x}", evt.mac_event()); | 98 | defmt::info!("{:#x}", *evt); |
| 99 | } | 99 | } |
| 100 | 100 | ||
| 101 | info!("setting short address"); | 101 | info!("setting short address"); |
| @@ -108,8 +108,8 @@ async fn main(spawner: Spawner) { | |||
| 108 | .await | 108 | .await |
| 109 | .unwrap(); | 109 | .unwrap(); |
| 110 | { | 110 | { |
| 111 | let evt = mbox.mac_subsystem.read().await; | 111 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 112 | defmt::info!("{:#x}", evt.mac_event()); | 112 | defmt::info!("{:#x}", *evt); |
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | info!("setting association permit"); | 115 | info!("setting association permit"); |
| @@ -122,8 +122,8 @@ async fn main(spawner: Spawner) { | |||
| 122 | .await | 122 | .await |
| 123 | .unwrap(); | 123 | .unwrap(); |
| 124 | { | 124 | { |
| 125 | let evt = mbox.mac_subsystem.read().await; | 125 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 126 | defmt::info!("{:#x}", evt.mac_event()); | 126 | defmt::info!("{:#x}", *evt); |
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | info!("setting TX power"); | 129 | info!("setting TX power"); |
| @@ -136,8 +136,8 @@ async fn main(spawner: Spawner) { | |||
| 136 | .await | 136 | .await |
| 137 | .unwrap(); | 137 | .unwrap(); |
| 138 | { | 138 | { |
| 139 | let evt = mbox.mac_subsystem.read().await; | 139 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 140 | defmt::info!("{:#x}", evt.mac_event()); | 140 | defmt::info!("{:#x}", *evt); |
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | info!("starting FFD device"); | 143 | info!("starting FFD device"); |
| @@ -154,8 +154,8 @@ async fn main(spawner: Spawner) { | |||
| 154 | .await | 154 | .await |
| 155 | .unwrap(); | 155 | .unwrap(); |
| 156 | { | 156 | { |
| 157 | let evt = mbox.mac_subsystem.read().await; | 157 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 158 | defmt::info!("{:#x}", evt.mac_event()); | 158 | defmt::info!("{:#x}", *evt); |
| 159 | } | 159 | } |
| 160 | 160 | ||
| 161 | info!("setting RX on when idle"); | 161 | info!("setting RX on when idle"); |
| @@ -168,8 +168,8 @@ async fn main(spawner: Spawner) { | |||
| 168 | .await | 168 | .await |
| 169 | .unwrap(); | 169 | .unwrap(); |
| 170 | { | 170 | { |
| 171 | let evt = mbox.mac_subsystem.read().await; | 171 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 172 | defmt::info!("{:#x}", evt.mac_event()); | 172 | defmt::info!("{:#x}", *evt); |
| 173 | } | 173 | } |
| 174 | 174 | ||
| 175 | let tx_queue = [ | 175 | let tx_queue = [ |
diff --git a/examples/stm32wb/src/bin/mac_rfd.rs b/examples/stm32wb/src/bin/mac_rfd.rs index 7cb401d89..d1307a844 100644 --- a/examples/stm32wb/src/bin/mac_rfd.rs +++ b/examples/stm32wb/src/bin/mac_rfd.rs | |||
| @@ -76,8 +76,8 @@ async fn main(spawner: Spawner) { | |||
| 76 | .await | 76 | .await |
| 77 | .unwrap(); | 77 | .unwrap(); |
| 78 | { | 78 | { |
| 79 | let evt = mbox.mac_subsystem.read().await; | 79 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 80 | defmt::info!("{:#x}", evt.mac_event()); | 80 | defmt::info!("{:#x}", *evt); |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | info!("setting extended address"); | 83 | info!("setting extended address"); |
| @@ -90,8 +90,8 @@ async fn main(spawner: Spawner) { | |||
| 90 | .await | 90 | .await |
| 91 | .unwrap(); | 91 | .unwrap(); |
| 92 | { | 92 | { |
| 93 | let evt = mbox.mac_subsystem.read().await; | 93 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 94 | defmt::info!("{:#x}", evt.mac_event()); | 94 | defmt::info!("{:#x}", *evt); |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | info!("getting extended address"); | 97 | info!("getting extended address"); |
| @@ -104,10 +104,10 @@ async fn main(spawner: Spawner) { | |||
| 104 | .unwrap(); | 104 | .unwrap(); |
| 105 | 105 | ||
| 106 | { | 106 | { |
| 107 | let evt = mbox.mac_subsystem.read().await; | 107 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 108 | info!("{:#x}", evt.mac_event()); | 108 | info!("{:#x}", *evt); |
| 109 | 109 | ||
| 110 | if let Ok(MacEvent::MlmeGetCnf(evt)) = evt.mac_event() { | 110 | if let MacEvent::MlmeGetCnf(evt) = *evt { |
| 111 | if evt.pib_attribute_value_len == 8 { | 111 | if evt.pib_attribute_value_len == 8 { |
| 112 | let value = unsafe { core::ptr::read_unaligned(evt.pib_attribute_value_ptr as *const u64) }; | 112 | let value = unsafe { core::ptr::read_unaligned(evt.pib_attribute_value_ptr as *const u64) }; |
| 113 | 113 | ||
| @@ -132,10 +132,10 @@ async fn main(spawner: Spawner) { | |||
| 132 | info!("{}", a); | 132 | info!("{}", a); |
| 133 | mbox.mac_subsystem.send_command(&a).await.unwrap(); | 133 | mbox.mac_subsystem.send_command(&a).await.unwrap(); |
| 134 | let short_addr = { | 134 | let short_addr = { |
| 135 | let evt = mbox.mac_subsystem.read().await; | 135 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 136 | info!("{:#x}", evt.mac_event()); | 136 | info!("{:#x}", *evt); |
| 137 | 137 | ||
| 138 | if let Ok(MacEvent::MlmeAssociateCnf(conf)) = evt.mac_event() { | 138 | if let MacEvent::MlmeAssociateCnf(conf) = *evt { |
| 139 | conf.assoc_short_address | 139 | conf.assoc_short_address |
| 140 | } else { | 140 | } else { |
| 141 | defmt::panic!() | 141 | defmt::panic!() |
| @@ -151,8 +151,8 @@ async fn main(spawner: Spawner) { | |||
| 151 | .await | 151 | .await |
| 152 | .unwrap(); | 152 | .unwrap(); |
| 153 | { | 153 | { |
| 154 | let evt = mbox.mac_subsystem.read().await; | 154 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 155 | info!("{:#x}", evt.mac_event()); | 155 | info!("{:#x}", *evt); |
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | info!("sending data"); | 158 | info!("sending data"); |
| @@ -175,12 +175,14 @@ async fn main(spawner: Spawner) { | |||
| 175 | .await | 175 | .await |
| 176 | .unwrap(); | 176 | .unwrap(); |
| 177 | { | 177 | { |
| 178 | let evt = mbox.mac_subsystem.read().await; | 178 | let evt = mbox.mac_subsystem.read().await.unwrap(); |
| 179 | info!("{:#x}", evt.mac_event()); | 179 | info!("{:#x}", *evt); |
| 180 | } | 180 | } |
| 181 | 181 | ||
| 182 | loop { | 182 | loop { |
| 183 | let evt = mbox.mac_subsystem.read().await; | 183 | match mbox.mac_subsystem.read().await { |
| 184 | info!("{:#x}", evt.mac_event()); | 184 | Ok(evt) => info!("{:#x}", *evt), |
| 185 | _ => continue, | ||
| 186 | }; | ||
| 185 | } | 187 | } |
| 186 | } | 188 | } |
