aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-07-19 17:49:08 -0500
committerxoviat <[email protected]>2023-07-19 17:49:08 -0500
commit28254842db645bc961d19fa2287610b7b1d3447c (patch)
treef7159309f5e4828391876c5df04f131dd462f429 /examples
parentca1d4179a792d4a33b4f2b97b33002759fd28a21 (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.rs34
-rw-r--r--examples/stm32wb/src/bin/mac_ffd_net.rs28
-rw-r--r--examples/stm32wb/src/bin/mac_rfd.rs34
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}