diff --git a/embassy-net-badgelink/src/lib.rs b/embassy-net-badgelink/src/lib.rs index 3a409921be1ee27e88748dfcc8240ef433bee4dc..0722e9a64a915b803166ee4b4ab3417d79925ff8 100644 --- a/embassy-net-badgelink/src/lib.rs +++ b/embassy-net-badgelink/src/lib.rs @@ -8,7 +8,6 @@ use embedded_hal_async::serial::Write; use esp32s3_hal::uart::Instance; use esp32s3_hal::Uart; use esp_println::println; -use heapless::Vec; use serial_line_ip::{Decoder, Encoder}; const MTU: usize = 1500; @@ -50,28 +49,26 @@ where .await { Either::First((r, p)) => { - let read_bytes = r.unwrap(); - println!("reading from uart {}", read_bytes); - match self.decoder.decode(&read_buf, p) { + let packet_size = r.unwrap(); + println!("got packet: {:?}", &read_buf[0..packet_size]); + match self.decoder.decode(&read_buf[0..packet_size], p) { Ok((num_bytes, _, end_of_packet)) => { - println!("decoded packet"); if end_of_packet { - println!("end of packet"); + println!("recieved packet"); rx_chan.rx_done(num_bytes); } } - Err(error) => println!("Error: {}", error), + Err(error) => println!("Cant decode packet: {}", error), } } Either::Second(p) => { - println!("sending packet"); - //println!("packet len {}", p.len()); + println!("sending packet: {:x?}", p); let mut enc = [0u8; 1500]; let mut encoder = Encoder::new(); - encoder.encode(p, &mut enc).unwrap(); - let num_bytes = encoder.finish(&mut enc).unwrap(); + let mut num_bytes = encoder.encode(p, &mut enc).unwrap(); + num_bytes += encoder.finish(&mut enc).unwrap(); + println!("sent packet: {:?}", &enc[0..num_bytes.written]); self.uart.write(&enc[0..num_bytes.written]).await.unwrap(); - //println!("packet written to uart"); tx_chan.tx_done(); } }