Cascoda SDK
Cascoda SDK for building software to run with CA-821x transceivers
cascoda_spi.h File Reference

Declarations of internal SPI functions for communication with CA-821x. More...

#include "cascoda-bm/cascoda_types.h"
#include "ca821x_api.h"
#include "mac_messages.h"
Include dependency graph for cascoda_spi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SPI_T_TIMEOUT   500
 Timeout for synchronous responses [ms]. More...
 
#define SPI_T_BACKOFF   10
 Backoff Time when receiving SPI_NACK [us]. More...
 
#define SPI_T_HOLD_8210   100
 Hold time before transmitting for the CA-8210 [us]. More...
 
#define SPI_T_CSHOLD   50
 Time to hold the chip select active before re-checking the IRQ [us]. More...
 
#define SPI_RX_FIFO_SIZE   7
 Maximum Size of Rx FIFO SPI_Receive_Buffer. More...
 
#define SPI_RX_FIFO_RESV   4
 Number of SPI RX FIFOs to be reserved for piggyback messages. More...
 

Functions

ca_error SPI_Exchange (const struct MAC_Message *pTxBuffer, struct ca821x_dev *pDeviceRef)
 Exchange Messages across SPI. More...
 
ca_error SPI_Send (const uint8_t *buf, u8_t *response, struct ca821x_dev *pDeviceRef)
 Send Request over SPI. More...
 
struct MAC_MessageSPI_PeekFullBuf (void)
 Get a MAC_Message buffer containing a received SPI Message. More...
 
void SPI_DequeueFullBuf (void)
 Remove a processed Full Buffer from the SPI Queue. More...
 
bool SPI_IsFifoFull (void)
 Query whether the SPI message FIFO is full or not. More...
 
bool SPI_IsFifoAlmostFull (void)
 Query whether the SPI message FIFO is almost full or not. More...
 
bool SPI_IsFifoEmpty (void)
 Query whether the SPI message FIFO is empty or not. More...
 
bool SPI_IsExchangeWithCA821xInProgress (void)
 Query whether an SPI exchange operation with the CA821x is currently in progress. More...
 
bool SPI_IsSyncChainInFlight (void)
 Query whether the SPI driver is currently locked in a Sync chain. More...
 
void SPI_StartSyncChain (struct ca821x_dev *pDeviceRef)
 Start a 'Sync Chain' For more efficient and safer chains of sync message communication with the CA821x. More...
 
void SPI_StopSyncChain (struct ca821x_dev *pDeviceRef)
 Stop the sync chain after starting with SPI_StartSyncChain. More...
 
void SPI_Initialise (void)
 Initialise SPI buffers and call BSP SPI init. More...
 
void SPI_ExchangeComplete (void)
 Function to be called from the BSP when an exchange operation has been completed. More...
 
bool SPI_GetExternallyInUseStatus (void)
 Checks if the SPI is being used by something other than the RF chip. More...
 

Detailed Description

Declarations of internal SPI functions for communication with CA-821x.