![]() |
Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Architecture independent SPI (Serial Peripheral Interface) API. More...
#include "std.h"
#include "mcu_periph/spi_arch.h"
Go to the source code of this file.
Data Structures | |
struct | spi_transaction |
SPI transaction structure. More... | |
struct | spi_periph |
SPI peripheral structure. More... | |
Macros | |
#define | SPI_TRANSACTION_QUEUE_LEN 8 |
SPI transaction queue length. More... | |
#define | SPI_SLAVE0 0 |
#define | SPI_SLAVE1 1 |
#define | SPI_SLAVE2 2 |
#define | SPI_SLAVE3 3 |
#define | SPI_SLAVE4 4 |
#define | SPI_SLAVE5 5 |
Typedefs | |
typedef void(* | SPICallback )(struct spi_transaction *trans) |
SPI Callback function. More... | |
Enumerations | |
enum | SPIMode { SPIMaster, SPISlave } |
enum | SPISlaveSelect { SPISelectUnselect, SPISelect, SPIUnselect, SPINoSelect } |
SPI slave selection behavior options. More... | |
enum | SPIClockPhase { SPICphaEdge1, SPICphaEdge2 } |
SPI CPHA (clock phase) options. More... | |
enum | SPIClockPolarity { SPICpolIdleLow, SPICpolIdleHigh } |
SPI CPOL (clock polarity) options. More... | |
enum | SPIDataSizeSelect { SPIDss8bit, SPIDss16bit } |
SPI data word size of transfer. More... | |
enum | SPITransactionStatus { SPITransPending, SPITransRunning, SPITransSuccess, SPITransFailed, SPITransDone } |
SPI transaction status. More... | |
enum | SPIStatus { SPIIdle, SPIRunning } |
SPI peripheral status. More... | |
enum | SPIBitOrder { SPIMSBFirst, SPILSBFirst } |
enum | SPIClockDiv { SPIDiv2, SPIDiv4, SPIDiv8, SPIDiv16, SPIDiv32, SPIDiv64, SPIDiv128, SPIDiv256 } |
Peripheral clock divider. More... | |
Functions | |
void | spi0_init (void) |
void | spi0_arch_init (void) |
Architecture dependent SPI0 initialization. More... | |
void | spi1_init (void) |
void | spi1_arch_init (void) |
Architecture dependent SPI1 initialization. More... | |
void | spi2_init (void) |
void | spi2_arch_init (void) |
Architecture dependent SPI2 initialization. More... | |
void | spi_init (struct spi_periph *p) |
Initialize a spi peripheral. More... | |
void | spi_init_slaves (void) |
Initialize all used slaves and unselect them. More... | |
bool | spi_submit (struct spi_periph *p, struct spi_transaction *t) |
Submit a spi transaction. More... | |
void | spi_slave_select (uint8_t slave) |
Select a slave. More... | |
void | spi_slave_unselect (uint8_t slave) |
Unselect a slave. More... | |
bool | spi_lock (struct spi_periph *p, uint8_t slave) |
Lock the SPI fifo. More... | |
bool | spi_resume (struct spi_periph *p, uint8_t slave) |
Resume the SPI fifo. More... | |
void | spi_slave_init (struct spi_periph *p) |
Initialize a spi peripheral in slave mode. More... | |
bool | spi_slave_register (struct spi_periph *p, struct spi_transaction *t) |
Register a spi transaction in slave mode (only one transaction can be registered). More... | |
bool | spi_slave_wait (struct spi_periph *p) |
Initialized and wait for the next transaction. More... | |
Variables | |
struct spi_periph | spi0 |
struct spi_periph | spi1 |
receive transferred over DMA More... | |
struct spi_periph | spi2 |
receive transferred over DMA More... | |
Architecture independent SPI (Serial Peripheral Interface) API.
Also see the SPI interface page.
Definition in file spi.h.