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

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


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


enum  { W5100_ERR_BUS = -1 }
 W5100 error codes.


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


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 

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.