The friendly Operating System for the Internet of Things
encx24j600.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Kaspar Schleiser <kaspar@schleiser.de>
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser General
5  * Public License v2.1. See the file LICENSE in the top level directory for more
6  * details.
7  */
8 
21 #ifndef ENCX24J600_H
22 #define ENCX24J600_H
23 
24 #include "mutex.h"
25 #include "kernel_types.h"
26 #include "periph/spi.h"
27 #include "periph/gpio.h"
28 #include "net/netdev.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
38 typedef struct {
41  gpio_t cs;
42  gpio_t int_pin;
43  uint16_t rx_next_ptr;
44 } encx24j600_t;
45 
49 typedef struct {
51  gpio_t cs_pin;
52  gpio_t int_pin;
54 
64 void encx24j600_setup(encx24j600_t *dev, const encx24j600_params_t *params);
65 
66 #ifdef __cplusplus
67 }
68 #endif
69 #endif /* ENCX24J600_H */
70 
Types used by the kernel.
netdev_t netdev
extended netdev structure
Definition: encx24j600.h:39
Low-level GPIO peripheral driver interface definitions.
encx24j600 netdev device
Definition: encx24j600.h:38
Definitions low-level network driver interface.
spi_t spi
SPI line.
Definition: encx24j600.h:50
void encx24j600_setup(encx24j600_t *dev, const encx24j600_params_t *params)
Setup an encx24j600 based device state.
Low-level SPI peripheral driver interface definition.
gpio_t cs_pin
chip select pin
Definition: encx24j600.h:51
spi_t spi
SPI device the enc is connected to.
Definition: encx24j600.h:40
Structure to hold driver state.
RIOT synchronization API.
gpio_t int_pin
SPI interrupt pin.
Definition: encx24j600.h:42
Struct containing the needed peripheral configuration.
Definition: encx24j600.h:49
gpio_t int_pin
interrupt pin
Definition: encx24j600.h:52
uint16_t rx_next_ptr
ptr to next packet whithin devices memory
Definition: encx24j600.h:43
unsigned int spi_t
Default type for SPI devices.
Definition: spi.h:105
gpio_t cs
SPI chip select pin.
Definition: encx24j600.h:41