Ethernet-over-serial driver

Driver for the ethernet-over-serial module. More...

Detailed Description


file  ethos.h
 Interface definition for the ethernet-over-serial module.

Data Structures

struct  ethos_t
 ethos netdev device More...
struct  ethos_params_t
 Struct containing the needed configuration. More...


enum  line_state_t { WAIT_FRAMESTART, IN_FRAME, IN_ESCAPE }
 enum describing line state


void ethos_setup (ethos_t *dev, const ethos_params_t *params)
 Setup an ethos based device state. More...
void ethos_send_frame (ethos_t *dev, const uint8_t *data, size_t len, unsigned frame_type)
 send frame over serial port using ethos' framing More...

Escape char definitions

#define ETHOS_ESC_CHAR   (0x7D)
#define ETHOS_FRAME_TYPE_DATA   (0x0)
#define ETHOS_FRAME_TYPE_TEXT   (0x1)
#define ETHOS_FRAME_TYPE_HELLO   (0x2)

Function Documentation

◆ ethos_send_frame()

void ethos_send_frame ( ethos_t dev,
const uint8_t *  data,
size_t  len,
unsigned  frame_type 

This is used by e.g., stdio over ethos to send text frames.

[in]devhandle of the device to initialize
[in]dataptr to data to be sent
[in]lennr of bytes to send
[in]frame_typeframe type to use

◆ ethos_setup()

void ethos_setup ( ethos_t dev,
const ethos_params_t params 

The supplied buffer must have a power-of-two size, and it must be large enough for the largest expected packet + enough buffer space to buffer bytes that arrive while one packet is being handled.

E.g., if 1536b ethernet frames are expected, 2048 is probably a good size for buf.

[out]devhandle of the device to initialize
[in]paramsparameters for device initialization