W5100 ethernet driver

Driver for W5100 ethernet devices. More...

Detailed Description

Driver for W5100 ethernet devices.

This device driver only exposes the MACRAW mode of W5100 devices, so it does not offer any support for the on-chip IPv4, UDP, and TCP capabilities of these chips. In connection with RIOT we are only interested in the RAW Ethernet packets, which we can use through netdev with any software network stack provided by RIOT (e.g. GNRC). This enables W5100 devices to communicate via IPv6, enables unlimited connections, and more...

Note
This driver expects to be triggered by the external interrupt line of the W5100 device. On some Arduino shields this is not enabled by default, you have to close the corresponding solder bridge to make it work...

Files

file  w5100.h
 Interface definition for the W5100 device driver.
 
file  w5100_params.h
 Default parameters for W5100 Ethernet devices.
 
file  w5100_regs.h
 Register definitions for W5100 devices.
 

Data Structures

struct  w5100_params_t
 W5100 device descriptor. More...
 
struct  w5100_t
 Device descriptor for W5100 devices. More...
 

Enumerations

enum  { W5100_ERR_BUS = -1 }
 W5100 error codes.
 

Functions

void w5100_setup (w5100_t *dev, const w5100_params_t *params, uint8_t index)
 So the initial device setup. More...
 

Variables

spi_t w5100_params_t::spi
 SPI bus used.
 
spi_clk_t w5100_params_t::clk
 clock speed used on the selected SPI bus
 
gpio_t w5100_params_t::cs
 pin connected to the chip select line
 
gpio_t w5100_params_t::evt
 pin connected to the INT line
 
netdev_t w5100_t::nd
 extends the netdev structure
 
w5100_params_t w5100_t::p
 device configuration parameters
 

Function Documentation

◆ w5100_setup()

void w5100_setup ( w5100_t dev,
const w5100_params_t params,
uint8_t  index 
)

So the initial device setup.

This function pre-initializes the netdev structure, saves the configuration parameters and finally initializes the SPI bus and the used GPIO pins.

Parameters
[out]devthe handle of the device to initialize
[in]paramsparameters for device initialization
[in]indexIndex of params in a global parameter struct array. If initialized manually, pass a unique identifier instead.