Adapt UDP to W5100
Some checks failed
Rust / Check (push) Has been cancelled
Rust / Test Suite (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled

This commit is contained in:
Pascal Engélibert 2025-11-11 14:40:25 +01:00
commit 62e56052cf
16 changed files with 918 additions and 702 deletions

View file

@ -48,11 +48,7 @@ impl TcpSocket {
self.socket.command(bus, socketn::Command::Close)?;
self.socket.reset_interrupt(bus, socketn::Interrupt::All)?;
self.socket.set_mode(bus, socketn::Protocol::Tcp)?;
self.socket.set_interrupt_mask(
bus,
socketn::Interrupt::SendOk as u8 & socketn::Interrupt::Timeout as u8,
)?;
self.socket.enable_interrupts(bus)?;
self.socket.command(bus, socketn::Command::Open)?;
Ok(())
@ -66,11 +62,7 @@ impl TcpSocket {
self.socket.reset_interrupt(bus, socketn::Interrupt::All)?;
self.socket.set_source_port(bus, local_port)?;
self.socket.set_mode(bus, socketn::Protocol::Tcp)?;
self.socket.set_interrupt_mask(
bus,
socketn::Interrupt::SendOk as u8 & socketn::Interrupt::Timeout as u8,
)?;
self.socket.enable_interrupts(bus)?;
self.socket.command(bus, socketn::Command::Open)?;
Ok(())
@ -162,7 +154,7 @@ impl TcpSocket {
let write_pointer = self.socket.get_tx_write_pointer(bus)?;
// Write data into the buffer and update the writer pointer.
bus.write_frame(self.socket.tx_buffer(), write_pointer, write_data)?;
bus.write_frame(write_pointer, write_data)?;
self.socket
.set_tx_write_pointer(bus, write_pointer.wrapping_add(write_data.len() as u16))?;
@ -204,7 +196,7 @@ impl TcpSocket {
// Read from the RX ring buffer.
let read_pointer = self.socket.get_rx_read_pointer(bus)?;
bus.read_frame(self.socket.rx_buffer(), read_pointer, read_buffer)?;
bus.read_frame(read_pointer, read_buffer)?;
self.socket
.set_rx_read_pointer(bus, read_pointer.wrapping_add(read_buffer.len() as u16))?;