Software SPI port descriptor definition. More...
Software SPI port descriptor definition.
Definition in file soft_spi.h.
Include dependency graph for soft_spi.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | soft_spi_conf_t |
| Software SPI port descriptor. More... | |
Macros | |
| #define | SOFT_SPI_DEV(x) (x) |
| Default SPI device access macro. | |
| #define | SOFT_SPI_UNDEF (UINT_MAX) |
| Define global value for undefined SPI device. | |
| #define | SOFT_SPI_CS_UNDEF (GPIO_UNDEF) |
| Define value for unused CS line. | |
Typedefs | |
| typedef unsigned int | soft_spi_t |
| Default type for SPI devices. | |
| typedef gpio_t | soft_spi_cs_t |
| Chip select pin type overlaps with gpio_t so it can be casted to this. | |
Enumerations | |
| enum | { SOFT_SPI_OK = 0 , SOFT_SPI_NODEV = -1 , SOFT_SPI_NOCS = -2 , SOFT_SPI_NOMODE = -3 , SOFT_SPI_NOCLK = -4 } |
| Status codes used by the SPI driver interface. More... | |
| enum | soft_spi_mode_t { SOFT_SPI_MODE_0 = 0 , SOFT_SPI_MODE_1 , SOFT_SPI_MODE_2 , SOFT_SPI_MODE_3 } |
| Available SPI modes, defining the configuration of clock polarity and clock phase. More... | |
| enum | soft_spi_clk_t { SOFT_SPI_CLK_100KHZ = 5 , SOFT_SPI_CLK_1MHZ = 1 , SOFT_SPI_CLK_DEFAULT = 0 } |
| Available SPI clock speeds. More... | |
Functions | |
| void | soft_spi_init (soft_spi_t bus) |
| Basic initialization of the given SPI bus. More... | |
| void | soft_spi_init_pins (soft_spi_t bus) |
| Initialize the used SPI bus pins, i.e. More... | |
| int | soft_spi_init_cs (soft_spi_t bus, soft_spi_cs_t cs) |
| Initialize the given chip select pin. More... | |
| void | soft_spi_acquire (soft_spi_t bus, soft_spi_cs_t cs, soft_spi_mode_t mode, soft_spi_clk_t clk) |
| Start a new SPI transaction. More... | |
| void | soft_spi_release (soft_spi_t bus) |
| Finish an ongoing SPI transaction by releasing the given SPI bus. More... | |
| uint8_t | soft_spi_transfer_byte (soft_spi_t bus, soft_spi_cs_t cs, bool cont, uint8_t out) |
| Transfer one byte on the given SPI bus Currently only the use of MOSI in master mode is implemented. More... | |
| void | soft_spi_transfer_bytes (soft_spi_t bus, soft_spi_cs_t cs, bool cont, const void *out, void *in, size_t len) |
| Transfer a number bytes using the given SPI bus. More... | |
| uint8_t | soft_spi_transfer_reg (soft_spi_t bus, soft_spi_cs_t cs, uint8_t reg, uint8_t out) |
| Transfer one byte to/from a given register address. More... | |
| void | soft_spi_transfer_regs (soft_spi_t bus, soft_spi_cs_t cs, uint8_t reg, const void *out, void *in, size_t len) |
| Transfer a number of bytes to/from a given register address. More... | |