Hardware Abstraction Layer for FreeRTOS
spi.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <system.h>
#include <FreeRTOS.h>
#include <semphr.h>
#include <hal.h>
Include dependency graph for spi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  spi_opt
 
struct  spi_generic
 
struct  spi_slave_generic
 

Macros

#define SPI_OPT_GPIO_DIS   0xFF
 
#define SPI_OPT_CS_DIS   0x7
 

Enumerations

enum  spi_mode { SPI_3WIRE, SPI_3WIRE_CS, SPI_3WIRE_CS_PCS, SPI_SLAVE }
 

Functions

struct spi * spi_init (uint32_t index, enum spi_mode mode, struct spi_opt *opt)
 
int32_t spi_deinit (struct spi *spi)
 
int32_t spi_setCallback (struct spi *spi, bool(*callback)(struct spi_slave *slave, void *data), void *data)
 
struct spi_slave * spiSlave_init (struct spi *spi, struct spi_opt *options)
 
int32_t spiSlave_deinit (struct spi_slave *slave)
 
int32_t spiSlave_transfer (struct spi_slave *slave, uint16_t *sendData, uint16_t *recvData, uint32_t len, TickType_t waittime)
 
int32_t spiSlave_send (struct spi_slave *slave, uint16_t *data, uint32_t len, TickType_t waittime)
 
int32_t spiSlave_recv (struct spi_slave *slave, uint16_t *data, uint32_t len, TickType_t waittime)
 
int32_t spiSlave_transferISR (struct spi_slave *slave, uint16_t *sendData, uint16_t *recvData, uint32_t len)
 
int32_t spiSlave_sendISR (struct spi_slave *slave, uint16_t *data, uint32_t len)
 
int32_t spiSlave_recvISR (struct spi_slave *slave, uint16_t *data, uint32_t len)