embeddedlibrary
reusable software modules for embedded systems
SPI Module

Modules

 SPI Hardware Abstraction Layer
 

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
 
#define SPI_MAX_TRANSACTIONS   4
 max queued transactions
 

Typedefs

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

Functions

void SPI_Init (spi_settings_t *spi_settings)
 
void SPI_Transact (spi_transaction_t *transaction)
 
void SPI_ISR (uint8_t channel)
 
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)
 

Detailed Description

File: spi.h Author: Anthony Merlino

Todo:

Anthony Merlino document this module's main block

MM divy up documentation of functions after they are covered in class

Created on February 24, 2015, 11:03 PM

Function Documentation

void hal_SPI_ClearRxIF ( uint8_t  channel)
Parameters
channel
void hal_SPI_ClearTxIF ( uint8_t  channel)
Parameters
channel
uint8_t hal_SPI_DataAvailable ( uint8_t  channel)
Parameters
channel
Returns
void hal_SPI_Disable ( uint8_t  channel)
Parameters
channel
void hal_SPI_DisableRxInterrupt ( uint8_t  channel)
Parameters
channel
void hal_SPI_DisableTxInterrupt ( uint8_t  channel)
Parameters
channel
void hal_SPI_Enable ( uint8_t  channel)
Parameters
channel
void hal_SPI_EnableRxInterrupt ( uint8_t  channel)
Parameters
channel
void hal_SPI_EnableTxInterrupt ( uint8_t  channel)
Parameters
channel
void hal_SPI_Init ( spi_settings_t settings)
Parameters
settings
uint8_t hal_SPI_IsTxIntEnabled ( uint8_t  channel)
Parameters
channel
uint8_t hal_SPI_RxByte ( uint8_t  channel)
Parameters
channel
Returns
uint8_t hal_SPI_RxIntStatus ( uint8_t  channel)
Parameters
channel
uint8_t hal_SPI_SpaceAvailable ( uint8_t  channel)
Parameters
channel
Returns
void hal_SPI_TxByte ( uint8_t  channel,
uint8_t  b 
)
Parameters
channel
b
uint8_t hal_SPI_TxIntStatus ( uint8_t  channel)
Parameters
channel
void SPI_Init ( spi_settings_t spi_settings)
Parameters
spi_settings
void SPI_ISR ( uint8_t  channel)
Parameters
channel
void SPI_Transact ( spi_transaction_t transaction)
Parameters
transaction
Warning
Not interrupt safe