aboutsummaryrefslogtreecommitdiff
path: root/embassy-net-esp-hosted/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-net-esp-hosted/src/lib.rs')
-rw-r--r--embassy-net-esp-hosted/src/lib.rs28
1 files changed, 20 insertions, 8 deletions
diff --git a/embassy-net-esp-hosted/src/lib.rs b/embassy-net-esp-hosted/src/lib.rs
index 8da0cd4dc..1fbed3e83 100644
--- a/embassy-net-esp-hosted/src/lib.rs
+++ b/embassy-net-esp-hosted/src/lib.rs
@@ -10,9 +10,19 @@ use embassy_time::{Duration, Instant, Timer};
10use embedded_hal::digital::OutputPin; 10use embedded_hal::digital::OutputPin;
11 11
12use crate::ioctl::{PendingIoctl, Shared}; 12use crate::ioctl::{PendingIoctl, Shared};
13use crate::proto::{CtrlMsg, CtrlMsgPayload}; 13use crate::proto::{CtrlMsg, CtrlMsg_};
14 14
15mod proto; 15mod proto {
16 #![allow(unused)]
17 #![allow(non_snake_case)]
18 #![allow(non_camel_case_types)]
19 #![allow(non_upper_case_globals)]
20 #![allow(missing_docs)]
21 #![allow(clippy::all)]
22
23 // Include the generated protobuf code from micropb-gen
24 include!(concat!(env!("OUT_DIR"), "/proto.rs"));
25}
16 26
17// must be first 27// must be first
18mod fmt; 28mod fmt;
@@ -313,10 +323,12 @@ where
313 } 323 }
314 324
315 fn handle_event(&mut self, data: &[u8]) { 325 fn handle_event(&mut self, data: &[u8]) {
316 let Ok(event) = noproto::read::<CtrlMsg>(data) else { 326 use micropb::MessageDecode;
327 let mut event = CtrlMsg::default();
328 if event.decode_from_bytes(data).is_err() {
317 warn!("failed to parse event"); 329 warn!("failed to parse event");
318 return; 330 return;
319 }; 331 }
320 332
321 debug!("event: {:?}", &event); 333 debug!("event: {:?}", &event);
322 334
@@ -326,9 +338,9 @@ where
326 }; 338 };
327 339
328 match payload { 340 match payload {
329 CtrlMsgPayload::EventEspInit(_) => self.shared.init_done(), 341 CtrlMsg_::Payload::EventEspInit(_) => self.shared.init_done(),
330 CtrlMsgPayload::EventHeartbeat(_) => self.heartbeat_deadline = Instant::now() + HEARTBEAT_MAX_GAP, 342 CtrlMsg_::Payload::EventHeartbeat(_) => self.heartbeat_deadline = Instant::now() + HEARTBEAT_MAX_GAP,
331 CtrlMsgPayload::EventStationDisconnectFromAp(e) => { 343 CtrlMsg_::Payload::EventStationDisconnectFromAp(e) => {
332 info!("disconnected, code {}", e.resp); 344 info!("disconnected, code {}", e.resp);
333 self.state_ch.set_link_state(LinkState::Down); 345 self.state_ch.set_link_state(LinkState::Down);
334 } 346 }