embedded-software
reusable software modules for embedded systems
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
spi.h File Reference
#include <stdint.h>
#include "project_settings.h"
#include "hal_spi.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_settings_t
 spi settings structure More...
 
struct  spi_transaction
 spi transaction structure More...
 

Macros

#define SPI_MAX_SIZE   8
 max length More...
 
#define SPI_MAX_TRANSACTIONS   4
 max queued transactions More...
 

Typedefs

typedef struct spi_settings_t spi_settings_t
 spi settings structure More...
 
typedef struct spi_transaction spi_transaction_t
 spi transaction typedef More...
 

Functions

void SPI_Init (spi_settings_t *spi_settings)
 initialize a SPI channel More...
 
int8_t SPI_Transact (spi_transaction_t *transaction)
 send a SPI transaction More...
 
void SPI_ISR (uint8_t channel)
 Interrupt service routine to be called from the HAL. More...
 
void hal_SPI_Init (spi_settings_t *settings)
 
void hal_SPI_Enable (uint8_t channel)
 
void hal_SPI_Disable (uint8_t channel)
 
uint8_t hal_SPI_SpaceAvailable (uint8_t channel)
 
uint8_t hal_SPI_DataAvailable (uint8_t channel)
 
void hal_SPI_ClearRxIF (uint8_t channel)
 
void hal_SPI_ClearTxIF (uint8_t channel)
 
void hal_SPI_EnableRxInterrupt (uint8_t channel)
 
void hal_SPI_EnableTxInterrupt (uint8_t channel)
 
void hal_SPI_DisableRxInterrupt (uint8_t channel)
 
void hal_SPI_DisableTxInterrupt (uint8_t channel)
 
uint8_t hal_SPI_TxIntStatus (uint8_t channel)
 
uint8_t hal_SPI_RxIntStatus (uint8_t channel)
 
uint8_t hal_SPI_IsTxIntEnabled (uint8_t channel)
 
uint8_t hal_SPI_RxByte (uint8_t channel)
 
void hal_SPI_TxByte (uint8_t channel, uint8_t b)
 
uint8_t hal_SPI_OverrunError (uint8_t channel)