CC26xx Driver Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
spis.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <inc/hw_memmap.h>
#include <inc/hw_types.h>
#include <inc/hw_ints.h>
#include <inc/hw_spis.h>
#include <driverlib/debug.h>
#include <driverlib/interrupt.h>

Go to the source code of this file.

Macros

#define TX_FIFO_SIZE   16
 
#define RX_FIFO_SIZE   16
 
#define SPIS_POS_CLK_POL   0x00000001
 
#define SPIS_NEG_CLK_POL   0x00000000
 
#define SPIS_TX_BIG_ENDIAN   0x00000002
 
#define SPIS_TX_LITTLE_ENDIAN   0x00000000
 
#define SPIS_RX_BIG_ENDIAN   0x00000004
 
#define SPIS_RX_LITTLE_ENDIAN   0x00000000
 
#define SPIS_TX_DMA_SINGLE   0x00000008
 
#define SPIS_TX_DMA_BURST   0x00000000
 
#define SPIS_RX_DMA_SINGLE   0x00000010
 
#define SPIS_RX_DMA_BURST   0x00000000
 
#define SPIS_TX_FULL   0x00000001
 
#define SPIS_TX_EMPTY   0x00000002
 
#define SPIS_TX_GE_WATERMARK   0x00000004
 
#define SPIS_TX_LE_WATERMARK   0x00000008
 
#define SPIS_TX_HASDATA   0x00000010
 
#define SPIS_TX_UNDER_FLOW   0x00000020
 
#define SPIS_TX_OVER_FLOW   0x00000040
 
#define SPIS_TX_MASK   0x0000007F
 
#define SPIS_RX_FULL   0x00000100
 
#define SPIS_RX_EMPTY   0x00000200
 
#define SPIS_RX_GE_WATERMARK   0x00000400
 
#define SPIS_RX_LE_WATERMARK   0x00000800
 
#define SPIS_RX_HASDATA   0x00001000
 
#define SPIS_RX_UNDER_FLOW   0x00002000
 
#define SPIS_RX_OVER_FLOW   0x00004000
 
#define SPIS_RX_MASK   0x00007F00
 
#define SPIS_CHIP_SELECT   0x00010000
 
#define SPIS_INCOMPLETE   0x00020000
 
#define SPIS_PRX_OVERFLOW   0x00040000
 
#define SPIS_BYTE_DONE   0x00080000
 
#define SPIS_DMA_DONE_TX   0x00100000
 
#define SPIS_DMA_DONE_RX   0x00200000
 
#define SPIS_GP_MASK   0x003F0000
 
#define SPIS_TX_DMA_FULL   ( SPIS_TXFEVSRC_SEL_FULL )
 
#define SPIS_TX_DMA_EMPTY   ( SPIS_TXFEVSRC_SEL_EMPTY )
 
#define SPIS_TX_DMA_GE_WMARK   ( SPIS_TXFEVSRC_SEL_GE_THR )
 
#define SPIS_TX_DMA_LE_WMARK   ( SPIS_TXFEVSRC_SEL_LE_THR )
 
#define SPIS_TX_DMA_HASDATA   ( SPIS_TXFEVSRC_SEL_NOT_EMPTY )
 
#define SPIS_TX_DMA_ALWAYS   ( SPIS_TXFEVSRC_SEL_ONE )
 
#define SPIS_TX_DMA_NONE   ( SPIS_TXFEVSRC_SEL_ZERO )
 
#define SPIS_RX_DMA_FULL   (( SPIS_RXFEVSRC_SEL_FULL ) << 8 )
 
#define SPIS_RX_DMA_EMPTY   (( SPIS_RXFEVSRC_SEL_EMPTY ) << 8 )
 
#define SPIS_RX_DMA_GE_WMARK   (( SPIS_RXFEVSRC_SEL_GE_THR ) << 8 )
 
#define SPIS_RX_DMA_LE_WMARK   (( SPIS_RXFEVSRC_SEL_LE_THR ) << 8 )
 
#define SPIS_RX_DMA_HASDATA   (( SPIS_RXFEVSRC_SEL_NOT_EMPTY ) << 8 )
 
#define SPIS_RX_DMA_ALWAYS   (( SPIS_RXFEVSRC_SEL_ONE ) << 8 )
 
#define SPIS_RX_DMA_NONE   (( SPIS_RXFEVSRC_SEL_ZERO ) << 8 )
 

Functions

__STATIC_INLINE void SPISConfig (uint32_t ui32Config, uint32_t ui32RxWatermark, uint32_t ui32TxWatermark)
 Configures the SPIS module. More...
 
void SPISDataPut (uint32_t ui32Data)
 Puts a data element into the SPIS transmit FIFO. More...
 
__STATIC_INLINE int32_t SPISDataPutNonBlocking (uint32_t ui32Data)
 Puts a data element into the SPIS transmit FIFO. More...
 
__STATIC_INLINE void SPISTxFlush (void)
 Flush the Tx FIFO. More...
 
__STATIC_INLINE uint32_t SPISTxGetNumBytes (void)
 Get the current number of data elements in the TX FIFO. More...
 
uint32_t SPISTxGetValue (uint32_t ui32Index)
 Get a specific value in the Tx FIFO. More...
 
void SPISDataGet (uint32_t *pui32Data)
 Gets a data element from the SPIS Rx FIFO. More...
 
__STATIC_INLINE int32_t SPISDataGetNonBlocking (uint32_t *pui32Data)
 Gets a data element in a non-blocking fashion from the SPIS receive FIFO. More...
 
__STATIC_INLINE void SPISRxFlush (void)
 Flush the Rx FIFO. More...
 
__STATIC_INLINE uint32_t SPISRxGetNumBytes (void)
 Get the current number of bytes in the RX FIFO. More...
 
uint32_t SPISRxGetValue (uint32_t ui32Index)
 Get a specific value in the Rx FIFO. More...
 
__STATIC_INLINE bool SPISBusy (void)
 Determines whether the SPIS transmitter is busy or not. More...
 
__STATIC_INLINE void SPISIntEnable (uint32_t ui32IntFlags)
 Enables individual SPIS interrupt sources. More...
 
__STATIC_INLINE void SPISIntDisable (uint32_t ui32IntFlags)
 Disables individual SPIS interrupt sources. More...
 
__STATIC_INLINE void SPISIntClear (uint32_t ui32IntFlags)
 Clears SPIS interrupt sources. More...
 
uint32_t SPISIntStatus (bool bMasked)
 Gets the current interrupt status. More...
 
__STATIC_INLINE void SPISIntRegister (void(*pfnHandler)(void))
 Registers an interrupt handler for the Serial Peripheral Interface Slave. More...
 
__STATIC_INLINE void SPISIntUnregister (void)
 Unregisters an interrupt handler for the Serial Peripheral Interface Slave. More...
 
__STATIC_INLINE void SPISDmaEnable (uint32_t ui32DMASetting)
 Enable SPIS DMA operation by setting event source. More...
 
__STATIC_INLINE void SPISDmaDisable (void)
 Disable SPIS DMA operation. More...