Ethernet-over-serial driver

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

Detailed Description

Driver for the ethernet-over-serial module.

Modules

 Ethernet-over-serial driver driver compile configuration
 

Files

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...
 

Enumerations

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

Functions

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_FRAME_DELIMITER   (0x7E)
 
#define ETHOS_ESC_CHAR   (0x7D)
 
#define ETHOS_FRAME_TYPE_DATA   (0x0)
 
#define ETHOS_FRAME_TYPE_TEXT   (0x1)
 
#define ETHOS_FRAME_TYPE_HELLO   (0x2)
 
#define ETHOS_FRAME_TYPE_HELLO_REPLY   (0x3)
 

Function Documentation

◆ ethos_send_frame()

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.

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

Parameters
[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 
)

Setup an ethos based device state.

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.

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