| 
| enum   | DataMode : uint32_t { DataMode::Mode0 = 0b00, 
DataMode::Mode1 = SPI_CR1_CPHA, 
DataMode::Mode2 = SPI_CR1_CPOL, 
DataMode::Mode3 = SPI_CR1_CPOL | SPI_CR1_CPHA
 } | 
|   | Spi Data Mode, Mode0 is the most common mode.  More...
  | 
|   | 
| enum   | DataOrder : uint32_t { MsbFirst = 0b0, 
LsbFirst = SPI_CR1_LSBFIRST
 } | 
|   | Spi Data Order, MsbFirst is the most common mode. 
  | 
|   | 
| enum   | DataMode : uint8_t { DataMode::Mode0 = 0b00, 
DataMode::Mode1 = 0b01, 
DataMode::Mode2 = 0b10, 
DataMode::Mode3 = 0b11
 } | 
|   | Spi Data Mode, Mode0 is the most common mode.  More...
  | 
|   | 
| enum   | DataOrder : uint8_t { MsbFirst = 0b0, 
LsbFirst = 0b1
 } | 
|   | Spi Data Order, MsbFirst is the most common mode. 
  | 
|   | 
 | 
| 
template<class... Signals>  | 
| static void  | connect () | 
|   | 
| 
template<class SystemClock , baudrate_t baudrate, percent_t tolerance = pct(5)>  | 
| static void  | initialize () | 
|   | 
| 
static void  | setDataMode (DataMode mode) | 
|   | 
| 
static void  | setDataOrder (DataOrder order) | 
|   | 
| 
static void  | setDataSize (DataSize size) | 
|   | 
| 
static uint8_t  | transferBlocking (uint8_t data) | 
|   | 
| 
static void  | transferBlocking (const uint8_t *tx, uint8_t *rx, std::size_t length) | 
|   | 
| 
static uint8_t  | transfer (uint8_t data) | 
|   | 
| 
static void  | transfer (const uint8_t *tx, uint8_t *rx, std::size_t length) | 
|   | 
| static void  | acknowledgeInterruptFlag () | 
|   | 
| static uint8_t  | acquire (void *ctx, ConfigurationHandler handler=nullptr) | 
|   | 
| template<uint64_t available, uint64_t requested, percent_t tolerance>  | 
| static void  | assertBaudrateInTolerance () | 
|   | 
| 
template<double available, double requested, percent_t tolerance>  | 
| static void  | assertDurationInTolerance () | 
|   | 
| 
static void  | configurePurpose () | 
|   | configures a peripheral for a specific purpose 
  | 
|   | 
| template<class... Signals>  | 
| static void  | connect () | 
|   | 
| 
static bool  | getInterruptFlag () | 
|   | Read an interrupt flag. 
  | 
|   | 
| 
static void  | getParameter () | 
|   | returns a parameter 
  | 
|   | 
| template<class SystemClock , baudrate_t baudrate, percent_t tolerance = 5_pct>  | 
| static void  | initialize () | 
|   | 
| 
static void  | initialize () | 
|   | initializes the peripheral, must be called before use. 
  | 
|   | 
| static uint8_t  | release (void *ctx) | 
|   | 
| 
static void  | setDataMode (DataMode mode) | 
|   | Sets a new data mode. 
  | 
|   | 
| 
static void  | setDataOrder (DataOrder order) | 
|   | Sets a new data order. 
  | 
|   | 
| 
static void  | setParameter () | 
|   | sets a parameter 
  | 
|   | 
| static uint8_t  | transfer (uint8_t data) | 
|   | 
| static void  | transfer (const uint8_t *tx, uint8_t *rx, std::size_t length) | 
|   | 
| 
static uint8_t  | acquire (void *ctx, Spi::ConfigurationHandler handler) | 
|   | 
| 
static uint8_t  | release (void *ctx) | 
|   | 
Serial peripheral interface (SPI3).
Simple unbuffered implementation.
- Author
 - Niklas Hauser