W5100 ethernet driver

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…

enum @172
W5100_ERR_BUS = -1
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.

struct w5100_params_t

W5100 device descriptor.

spi.h::spi_t spi

SPI bus used.

atmega_common/include/periph_cpu_common.h::spi_clk_t clk

clock speed used on the selected SPI bus

gpio.h::gpio_t cs

pin connected to the chip select line

gpio.h::gpio_t evt

pin connected to the INT line

struct w5100_t

Device descriptor for W5100 devices.

netdev.h::netdev_t nd

extends the netdev structure

w5100_params_t p

device configuration parameters