25#define SLIP_RX_BUFFER_SIZE (2000)
59#define SLIP_RX_STATE_INIT(_buffer, _buffer_length) { _buffer, _buffer_length, 0, false, false }
71 uint8_t *buffer,
size_t buffer_length)
123 const uint8_t *packet,
size_t packet_len);
enum slip_rx_status slip_rx(struct slip_rx_state *state, uint8_t c)
Handle reception of a character in a SLIP stream.
static void slip_rx_state_reinit(struct slip_rx_state *state, uint8_t *buffer, size_t buffer_length)
Dynamic (re)initializer for slip_rx_state.
int slip_tx(slip_transport_tx_fn transport_tx_fn, void *transport_tx_arg, const uint8_t *packet, size_t packet_len)
Transmit a packet with SLIP framing.
slip_rx_status
Enumeration of SLIP status codes.
int(* slip_transport_tx_fn)(uint8_t c, void *arg)
Function to send a character on the SLIP transport.
@ SLIP_RX_ERROR
An erroneous packet has been received.
@ SLIP_RX_COMPLETE
A complete packet with length > 0 has been received.
@ SLIP_RX_BUFFER_LIMIT
Receive buffer limit has been reached.
@ SLIP_RX_IN_PROGRESS
Receive is still in progress.
Structure used to contain the current state for the SLIP receiver.
uint8_t * buffer
Reference to buffer where processed bytes are received.
bool frame_started
Escape state.
size_t length
Length of the currently received frame, excluding escape bytes.
size_t buffer_length
Length of the buffer.