spi_pal.h File Reference
#include "spi_pal_cfg.h"
#include "spi_pal_mapping.h"
#include "status.h"
#include "callbacks.h"

Go to the source code of this file.

Data Structures

struct  spi_master_t
 Defines the configuration structure for SPI master Implements : spi_master_t_Class. More...
 
struct  spi_slave_t
 Defines the configuration structure for SPI slave Implements: spi_slave_t_Class. More...
 

Enumerations

enum  spi_transfer_type_t { SPI_USING_DMA = 0U, SPI_USING_INTERRUPTS = 1U }
 Defines the mechanism to update the rx or tx buffers Implements : spi_transfer_type_t_Class. More...
 
enum  spi_polarity_t { SPI_ACTIVE_HIGH = 0U, SPI_ACTIVE_LOW = 1U }
 Defines the polarity of signals Implements : spi_polarity_t_Class. More...
 
enum  spi_clock_phase_t { READ_ON_ODD_EDGE = 0U, READ_ON_EVEN_EDGE = 1U }
 Defines the edges used for sampling and shifting Implements : spi_clock_phase_t_Class. More...
 
enum  spi_transfer_bit_order_t { SPI_TRANSFER_MSB_FIRST = 0U, SPI_TRANSFER_LSB_FIRST = 1U }
 Defines the bit order Implements : spi_transfer_bit_order_t_Class. More...
 

Functions

status_t SPI_MasterInit (const spi_instance_t *const instance, const spi_master_t *config)
 Initializes the SPI module in master mode. More...
 
status_t SPI_SlaveInit (const spi_instance_t *const instance, const spi_slave_t *config)
 Initializes the SPI module in slave mode. More...
 
status_t SPI_SetSS (const spi_instance_t *const instance, uint8_t ss)
 Update the SS. More...
 
status_t SPI_MasterTransfer (const spi_instance_t *const instance, const void *txBuffer, void *rxBuffer, uint16_t numberOfFrames)
 Initializes a non-blocking master transfer. More...
 
status_t SPI_MasterTransferBlocking (const spi_instance_t *const instance, const void *txBuffer, void *rxBuffer, uint16_t numberOfFrames, uint16_t timeout)
 Initializes a blocking master transfer. More...
 
status_t SPI_SlaveTransfer (const spi_instance_t *const instance, const void *txBuffer, void *rxBuffer, uint16_t numberOfFrames)
 Initializes a non-blocking slave transfer. More...
 
status_t SPI_SlaveTransferBlocking (const spi_instance_t *const instance, const void *txBuffer, void *rxBuffer, uint16_t numberOfFrames, uint16_t timeout)
 Initializes a blocking slave transfer. More...
 
status_t SPI_GetStatus (const spi_instance_t *const instance)
 Gets the status of the last transfer. More...
 
status_t SPI_GetDefaultMasterConfig (spi_master_t *config)
 Gets the default configuration structure for master. More...
 
status_t SPI_GetDefaultSlaveConfig (spi_slave_t *config)
 Gets the default configuration structure for slave. More...
 
status_t SPI_MasterDeinit (const spi_instance_t *const instance)
 De-initializes the spi master module. More...
 
status_t SPI_SlaveDeinit (const spi_instance_t *const instance)
 De-initializes the spi slave module. More...
 
status_t SPI_MasterSetDelay (const spi_instance_t *const instance, uint32_t delayBetweenTransfers, uint32_t delaySCKtoPCS, uint32_t delayPCStoSCK)
 Configures the SPI_PAL master mode bus timing delay options. More...