SPIDRV Serial Peripheral Interface module, see SPIDRV Serial Peripheral Interface driver page for detailed documentation. More...
![]() |
Data Structures | |
struct | SPIDRV_Init_t |
SPI driver instance initialization structure. More... | |
struct | SPIDRV_HandleData_t |
SPI driver instance handle data structure. More... | |
Defines | |
#define | ECODE_EMDRV_SPIDRV_OK ( ECODE_OK ) |
Success return value. | |
#define | ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE ( ECODE_EMDRV_SPIDRV_BASE | 0x00000001 ) |
Illegal SPI handle. | |
#define | ECODE_EMDRV_SPIDRV_PARAM_ERROR ( ECODE_EMDRV_SPIDRV_BASE | 0x00000002 ) |
Illegal input parameter. | |
#define | ECODE_EMDRV_SPIDRV_BUSY ( ECODE_EMDRV_SPIDRV_BASE | 0x00000003 ) |
The SPI port is busy. | |
#define | ECODE_EMDRV_SPIDRV_ILLEGAL_OPERATION ( ECODE_EMDRV_SPIDRV_BASE | 0x00000004 ) |
Illegal operation on SPI port. | |
#define | ECODE_EMDRV_SPIDRV_TIMER_ALLOC_ERROR ( ECODE_EMDRV_SPIDRV_BASE | 0x00000005 ) |
Unable to allocated timeout timer. | |
#define | ECODE_EMDRV_SPIDRV_TIMEOUT ( ECODE_EMDRV_SPIDRV_BASE | 0x00000006 ) |
SPI transfer timeout. | |
#define | ECODE_EMDRV_SPIDRV_IDLE ( ECODE_EMDRV_SPIDRV_BASE | 0x00000007 ) |
No SPI transfer in progress. | |
#define | ECODE_EMDRV_SPIDRV_ABORTED ( ECODE_EMDRV_SPIDRV_BASE | 0x00000008 ) |
SPI transfer has been aborted. | |
#define | ECODE_EMDRV_SPIDRV_MODE_ERROR ( ECODE_EMDRV_SPIDRV_BASE | 0x00000009 ) |
SPI master used slave API or vica versa. | |
#define | SPIDRV_MASTER_USART0 |
Configuration data for SPI master using USART0. | |
#define | SPIDRV_MASTER_USART1 |
Configuration data for SPI master using USART1. | |
#define | SPIDRV_MASTER_USART2 |
Configuration data for SPI master using USART2. | |
#define | SPIDRV_SLAVE_USART0 |
Configuration data for SPI slave using USART0. | |
#define | SPIDRV_SLAVE_USART1 |
Configuration data for SPI slave using USART1. | |
#define | SPIDRV_SLAVE_USART2 |
Configuration data for SPI slave using USART2. | |
#define | EMDRV_SPIDRV_INCLUDE_SLAVE |
SPIDRV configuration option. Use this define to include the slave part of the SPIDRV API. | |
#define | EMDRV_SPIDRV_DMA_IRQ_PRIORITY 4 |
SPIDRV configuration option. Set SPI transfer DMA IRQ priority. Range is 0..7, 0 is highest priority. | |
Typedefs | |
typedef void(* | SPIDRV_Callback_t )(struct SPIDRV_HandleData *handle, Ecode_t transferStatus, int itemsTransferred) |
SPIDRV transfer completion callback function. | |
typedef SPIDRV_HandleData_t * | SPIDRV_Handle_t |
SPI driver instance handle. | |
Enumerations | |
enum | SPIDRV_Type_t { spidrvMaster = 0, spidrvSlave = 1 } |
SPI driver instance type. More... | |
enum | SPIDRV_BitOrder_t { spidrvBitOrderLsbFirst = 0, spidrvBitOrderMsbFirst = 1 } |
SPI bus bit order. More... | |
enum | SPIDRV_ClockMode_t { spidrvClockMode0 = 0, spidrvClockMode1 = 1, spidrvClockMode2 = 2, spidrvClockMode3 = 3 } |
SPI clock mode (clock polarity and phase). More... | |
enum | SPIDRV_CsControl_t { spidrvCsControlAuto = 0, spidrvCsControlApplication = 1 } |
SPI master chip select (CS) control scheme. More... | |
enum | SPIDRV_SlaveStart_t { spidrvSlaveStartImmediate = 0, spidrvSlaveStartDelayed = 1 } |
SPI slave transfer start scheme. More... | |
Functions | |
Ecode_t | SPIDRV_AbortTransfer (SPIDRV_Handle_t handle) |
Abort an ongoing SPI transfer. | |
Ecode_t | SPIDRV_DeInit (SPIDRV_Handle_t handle) |
Deinitialize a SPI driver instance. | |
Ecode_t | SPIDRV_GetBitrate (SPIDRV_Handle_t handle, uint32_t *bitRate) |
Get current SPI bus bitrate. | |
Ecode_t | SPIDRV_GetFramelength (SPIDRV_Handle_t handle, uint32_t *frameLength) |
Get current SPI framelength. | |
Ecode_t | SPIDRV_GetTransferStatus (SPIDRV_Handle_t handle, int *itemsTransferred, int *itemsRemaining) |
Get the status of a SPI transfer. | |
Ecode_t | SPIDRV_Init (SPIDRV_Handle_t handle, SPIDRV_Init_t *initData) |
Initialize a SPI driver instance. | |
Ecode_t | SPIDRV_MReceive (SPIDRV_Handle_t handle, void *buffer, int count, SPIDRV_Callback_t callback) |
Start a SPI master receive transfer. | |
Ecode_t | SPIDRV_MReceiveB (SPIDRV_Handle_t handle, void *buffer, int count) |
Start a SPI master blocking receive transfer. | |
Ecode_t | SPIDRV_MTransfer (SPIDRV_Handle_t handle, const void *txBuffer, void *rxBuffer, int count, SPIDRV_Callback_t callback) |
Start a SPI master transfer. | |
Ecode_t | SPIDRV_MTransferB (SPIDRV_Handle_t handle, const void *txBuffer, void *rxBuffer, int count) |
Start a SPI master blocking transfer. | |
Ecode_t | SPIDRV_MTransferSingleItemB (SPIDRV_Handle_t handle, uint32_t txValue, void *rxValue) |
Start a SPI master blocking single item (frame) transfer. | |
Ecode_t | SPIDRV_MTransmit (SPIDRV_Handle_t handle, const void *buffer, int count, SPIDRV_Callback_t callback) |
Start a SPI master transmit transfer. | |
Ecode_t | SPIDRV_MTransmitB (SPIDRV_Handle_t handle, const void *buffer, int count) |
Start a SPI master blocking transmit transfer. | |
Ecode_t | SPIDRV_SetBitrate (SPIDRV_Handle_t handle, uint32_t bitRate) |
Set SPI bus bitrate. | |
Ecode_t | SPIDRV_SetFramelength (SPIDRV_Handle_t handle, uint32_t frameLength) |
Set SPI framelength. | |
Ecode_t | SPIDRV_SReceive (SPIDRV_Handle_t handle, void *buffer, int count, SPIDRV_Callback_t callback, int timeoutMs) |
Start a SPI slave receive transfer. | |
Ecode_t | SPIDRV_SReceiveB (SPIDRV_Handle_t handle, void *buffer, int count, int timeoutMs) |
Start a SPI slave blocking receive transfer. | |
Ecode_t | SPIDRV_STransfer (SPIDRV_Handle_t handle, const void *txBuffer, void *rxBuffer, int count, SPIDRV_Callback_t callback, int timeoutMs) |
Start a SPI slave transfer. | |
Ecode_t | SPIDRV_STransferB (SPIDRV_Handle_t handle, const void *txBuffer, void *rxBuffer, int count, int timeoutMs) |
Start a SPI slave blocking transfer. | |
Ecode_t | SPIDRV_STransmit (SPIDRV_Handle_t handle, const void *buffer, int count, SPIDRV_Callback_t callback, int timeoutMs) |
Start a SPI slave transmit transfer. | |
Ecode_t | SPIDRV_STransmitB (SPIDRV_Handle_t handle, const void *buffer, int count, int timeoutMs) |
Start a SPI slave blocking transmit transfer. |
SPIDRV Serial Peripheral Interface module, see SPIDRV Serial Peripheral Interface driver page for detailed documentation.
#define ECODE_EMDRV_SPIDRV_ABORTED ( ECODE_EMDRV_SPIDRV_BASE | 0x00000008 ) |
SPI transfer has been aborted.
Definition at line 53 of file spidrv.h.
Referenced by SPIDRV_AbortTransfer().
#define ECODE_EMDRV_SPIDRV_BUSY ( ECODE_EMDRV_SPIDRV_BASE | 0x00000003 ) |
The SPI port is busy.
Definition at line 48 of file spidrv.h.
Referenced by SPIDRV_MTransferSingleItemB(), SPIDRV_SetBitrate(), and SPIDRV_SetFramelength().
#define ECODE_EMDRV_SPIDRV_IDLE ( ECODE_EMDRV_SPIDRV_BASE | 0x00000007 ) |
No SPI transfer in progress.
Definition at line 52 of file spidrv.h.
Referenced by SPIDRV_AbortTransfer().
#define ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE ( ECODE_EMDRV_SPIDRV_BASE | 0x00000001 ) |
Illegal SPI handle.
Definition at line 46 of file spidrv.h.
Referenced by SPIDRV_AbortTransfer(), SPIDRV_DeInit(), SPIDRV_GetBitrate(), SPIDRV_GetFramelength(), SPIDRV_GetTransferStatus(), SPIDRV_Init(), SPIDRV_MTransferSingleItemB(), SPIDRV_SetBitrate(), and SPIDRV_SetFramelength().
#define ECODE_EMDRV_SPIDRV_ILLEGAL_OPERATION ( ECODE_EMDRV_SPIDRV_BASE | 0x00000004 ) |
Illegal operation on SPI port.
Definition at line 49 of file spidrv.h.
Referenced by SPIDRV_MTransferSingleItemB().
#define ECODE_EMDRV_SPIDRV_MODE_ERROR ( ECODE_EMDRV_SPIDRV_BASE | 0x00000009 ) |
SPI master used slave API or vica versa.
Definition at line 54 of file spidrv.h.
Referenced by SPIDRV_MReceive(), SPIDRV_MReceiveB(), SPIDRV_MTransfer(), SPIDRV_MTransferB(), SPIDRV_MTransferSingleItemB(), SPIDRV_MTransmit(), SPIDRV_MTransmitB(), SPIDRV_SReceive(), SPIDRV_SReceiveB(), SPIDRV_STransfer(), SPIDRV_STransferB(), SPIDRV_STransmit(), and SPIDRV_STransmitB().
#define ECODE_EMDRV_SPIDRV_OK ( ECODE_OK ) |
Success return value.
Definition at line 45 of file spidrv.h.
Referenced by SPIDRV_AbortTransfer(), SPIDRV_DeInit(), SPIDRV_GetBitrate(), SPIDRV_GetFramelength(), SPIDRV_GetTransferStatus(), SPIDRV_Init(), SPIDRV_MReceive(), SPIDRV_MReceiveB(), SPIDRV_MTransfer(), SPIDRV_MTransferB(), SPIDRV_MTransmit(), SPIDRV_MTransmitB(), SPIDRV_SetBitrate(), SPIDRV_SetFramelength(), SPIDRV_SReceive(), SPIDRV_SReceiveB(), SPIDRV_STransfer(), SPIDRV_STransferB(), SPIDRV_STransmit(), and SPIDRV_STransmitB().
#define ECODE_EMDRV_SPIDRV_PARAM_ERROR ( ECODE_EMDRV_SPIDRV_BASE | 0x00000002 ) |
Illegal input parameter.
Definition at line 47 of file spidrv.h.
Referenced by SPIDRV_GetBitrate(), SPIDRV_GetFramelength(), SPIDRV_GetTransferStatus(), SPIDRV_Init(), SPIDRV_MTransfer(), SPIDRV_MTransferB(), SPIDRV_SetFramelength(), SPIDRV_STransfer(), and SPIDRV_STransferB().
#define ECODE_EMDRV_SPIDRV_TIMEOUT ( ECODE_EMDRV_SPIDRV_BASE | 0x00000006 ) |
#define ECODE_EMDRV_SPIDRV_TIMER_ALLOC_ERROR ( ECODE_EMDRV_SPIDRV_BASE | 0x00000005 ) |
Unable to allocated timeout timer.
Definition at line 50 of file spidrv.h.
Referenced by SPIDRV_Init().
#define EMDRV_SPIDRV_DMA_IRQ_PRIORITY 4 |
SPIDRV configuration option. Set SPI transfer DMA IRQ priority. Range is 0..7, 0 is highest priority.
Definition at line 51 of file spidrv_config.h.
Referenced by SPIDRV_Init().
#define EMDRV_SPIDRV_INCLUDE_SLAVE |
SPIDRV configuration option. Use this define to include the slave part of the SPIDRV API.
Definition at line 48 of file spidrv_config.h.
#define SPIDRV_MASTER_USART0 |
{ \ USART0, /* USART port */ \ 0, /* Tx DMA channel number */ \ 1, /* Rx DMA channel number */ \ _USART_ROUTE_LOCATION_LOC1, /* USART pins location number */ \ 1000000, /* Bitrate */ \ 8, /* Frame length */ \ 0, /* Dummy tx value for rx only funcs */ \ spidrvMaster, /* SPI mode */ \ spidrvBitOrderMsbFirst, /* Bit order on bus */ \ spidrvClockMode0, /* SPI clock/phase mode */ \ spidrvCsControlAuto, /* CS controlled by the driver */ \ spidrvSlaveStartImmediate /* Slave start transfers immediately*/ \ }
Configuration data for SPI master using USART0.
#define SPIDRV_MASTER_USART1 |
{ \ USART1, /* USART port */ \ 2, /* Tx DMA channel number */ \ 3, /* Rx DMA channel number */ \ _USART_ROUTE_LOCATION_LOC1, /* USART pins location number */ \ 1000000, /* Bitrate */ \ 8, /* Frame length */ \ 0, /* Dummy tx value for rx only funcs */ \ spidrvMaster, /* SPI mode */ \ spidrvBitOrderMsbFirst, /* Bit order on bus */ \ spidrvClockMode0, /* SPI clock/phase mode */ \ spidrvCsControlAuto, /* CS controlled by the driver */ \ spidrvSlaveStartImmediate /* Slave start transfers immediately*/ \ }
Configuration data for SPI master using USART1.
#define SPIDRV_MASTER_USART2 |
{ \ USART2, /* USART port */ \ 4, /* Tx DMA channel number */ \ 5, /* Rx DMA channel number */ \ _USART_ROUTE_LOCATION_LOC0, /* USART pins location number */ \ 1000000, /* Bitrate */ \ 8, /* Frame length */ \ 0, /* Dummy tx value for rx only funcs */ \ spidrvMaster, /* SPI mode */ \ spidrvBitOrderMsbFirst, /* Bit order on bus */ \ spidrvClockMode0, /* SPI clock/phase mode */ \ spidrvCsControlAuto, /* CS controlled by the driver */ \ spidrvSlaveStartImmediate /* Slave start transfers immediately*/ \ }
Configuration data for SPI master using USART2.
#define SPIDRV_SLAVE_USART0 |
{ \ USART0, /* USART port */ \ 0, /* Tx DMA channel number */ \ 1, /* Rx DMA channel number */ \ _USART_ROUTE_LOCATION_LOC1, /* USART pins location number */ \ 0, /* Bitrate */ \ 8, /* Frame length */ \ 0, /* Dummy tx value for rx only funcs */ \ spidrvSlave, /* SPI mode */ \ spidrvBitOrderMsbFirst, /* Bit order on bus */ \ spidrvClockMode0, /* SPI clock/phase mode */ \ spidrvCsControlAuto, /* CS controlled by the driver */ \ spidrvSlaveStartImmediate /* Slave start transfers immediately*/ \ }
Configuration data for SPI slave using USART0.
#define SPIDRV_SLAVE_USART1 |
{ \ USART1, /* USART port */ \ 2, /* Tx DMA channel number */ \ 3, /* Rx DMA channel number */ \ _USART_ROUTE_LOCATION_LOC1, /* USART pins location number */ \ 0, /* Bitrate */ \ 8, /* Frame length */ \ 0, /* Dummy tx value for rx only funcs */ \ spidrvSlave, /* SPI mode */ \ spidrvBitOrderMsbFirst, /* Bit order on bus */ \ spidrvClockMode0, /* SPI clock/phase mode */ \ spidrvCsControlAuto, /* CS controlled by the driver */ \ spidrvSlaveStartImmediate /* Slave start transfers immediately*/ \ }
Configuration data for SPI slave using USART1.
#define SPIDRV_SLAVE_USART2 |
{ \ USART2, /* USART port */ \ 4, /* Tx DMA channel number */ \ 5, /* Rx DMA channel number */ \ _USART_ROUTE_LOCATION_LOC0, /* USART pins location number */ \ 0, /* Bitrate */ \ 8, /* Frame length */ \ 0, /* Dummy tx value for rx only funcs */ \ spidrvSlave, /* SPI mode */ \ spidrvBitOrderMsbFirst, /* Bit order on bus */ \ spidrvClockMode0, /* SPI clock/phase mode */ \ spidrvCsControlAuto, /* CS controlled by the driver */ \ spidrvSlaveStartImmediate /* Slave start transfers immediately*/ \ }
Configuration data for SPI slave using USART2.
typedef void(* SPIDRV_Callback_t)(struct SPIDRV_HandleData *handle, Ecode_t transferStatus, int itemsTransferred) |
SPIDRV transfer completion callback function.
The callback function is called when a transfer has completed. An application should check the transferStatus and itemsTransferred values.
[in] | handle | The SPIDRV device handle used to start the transfer. |
[in] | transferStatus | Number of bytes actually transferred. |
[in] | itemsTransferred | Number of bytes transferred. |
typedef SPIDRV_HandleData_t* SPIDRV_Handle_t |
enum SPIDRV_BitOrder_t |
enum SPIDRV_ClockMode_t |
enum SPIDRV_CsControl_t |
enum SPIDRV_SlaveStart_t |
enum SPIDRV_Type_t |
Ecode_t SPIDRV_AbortTransfer | ( | SPIDRV_Handle_t | handle | ) |
Abort an ongoing SPI transfer.
[in] | handle | Pointer to a SPI driver handle. |
Definition at line 277 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_ABORTED, ECODE_EMDRV_SPIDRV_IDLE, ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_OK, RTCDRV_StopTimer(), and spidrvSlave.
Ecode_t SPIDRV_DeInit | ( | SPIDRV_Handle_t | handle | ) |
Deinitialize a SPI driver instance.
[in] | handle | Pointer to a SPI driver handle. |
Definition at line 242 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_OK, RTCDRV_FreeTimer(), RTCDRV_StopTimer(), and spidrvSlave.
Ecode_t SPIDRV_GetBitrate | ( | SPIDRV_Handle_t | handle, | |
uint32_t * | bitRate | |||
) |
Get current SPI bus bitrate.
[in] | handle | Pointer to a SPI driver handle. |
[out] | bitRate | Current SPI bus bitrate. |
Definition at line 329 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_OK, and ECODE_EMDRV_SPIDRV_PARAM_ERROR.
Ecode_t SPIDRV_GetFramelength | ( | SPIDRV_Handle_t | handle, | |
uint32_t * | frameLength | |||
) |
Get current SPI framelength.
[in] | handle | Pointer to a SPI driver handle. |
[out] | frameLength | Current SPI bus framelength. |
Definition at line 356 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_OK, and ECODE_EMDRV_SPIDRV_PARAM_ERROR.
Ecode_t SPIDRV_GetTransferStatus | ( | SPIDRV_Handle_t | handle, | |
int * | itemsTransferred, | |||
int * | itemsRemaining | |||
) |
Get the status of a SPI transfer.
Returns status of an ongoing transfer. If no transfer is in progress the status of the last transfer is reported.
[in] | handle | Pointer to a SPI driver handle. |
[out] | itemsTransferred | Number of items (frames) transferred. |
[out] | itemsRemaining | Number of items (frames) remaining. |
Definition at line 389 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_OK, and ECODE_EMDRV_SPIDRV_PARAM_ERROR.
Ecode_t SPIDRV_Init | ( | SPIDRV_Handle_t | handle, | |
SPIDRV_Init_t * | initData | |||
) |
Initialize a SPI driver instance.
[out] | handle | Pointer to a SPI driver handle, refer to SPIDRV_Handle_t. |
[in] | initData | Pointer to an initialization data structure, refer to SPIDRV_Init_t. |
Definition at line 89 of file spidrv.c.
References SPIDRV_Init_t::bitOrder, SPIDRV_Init_t::bitRate, SPIDRV_Init_t::clockMode, SPIDRV_Init_t::csControl, ECODE_EMDRV_RTCDRV_OK, ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_OK, ECODE_EMDRV_SPIDRV_PARAM_ERROR, ECODE_EMDRV_SPIDRV_TIMER_ALLOC_ERROR, EMDRV_SPIDRV_DMA_IRQ_PRIORITY, SPIDRV_Init_t::port, SPIDRV_Init_t::portLocation, RTCDRV_AllocateTimer(), RTCDRV_Init(), SPIDRV_Init_t::rxDMACh, spidrvBitOrderMsbFirst, spidrvClockMode0, spidrvClockMode1, spidrvClockMode2, spidrvClockMode3, spidrvCsControlApplication, spidrvCsControlAuto, spidrvMaster, spidrvSlave, SPIDRV_Init_t::txDMACh, and SPIDRV_Init_t::type.
Ecode_t SPIDRV_MReceive | ( | SPIDRV_Handle_t | handle, | |
void * | buffer, | |||
int | count, | |||
SPIDRV_Callback_t | callback | |||
) |
Start a SPI master receive transfer.
[in] | handle | Pointer to a SPI driver handle. |
[out] | buffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | callback | Transfer completion callback. |
Definition at line 439 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, and spidrvSlave.
Ecode_t SPIDRV_MReceiveB | ( | SPIDRV_Handle_t | handle, | |
void * | buffer, | |||
int | count | |||
) |
Start a SPI master blocking receive transfer.
[in] | handle | Pointer to a SPI driver handle. |
[out] | buffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
Definition at line 480 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, and spidrvSlave.
Ecode_t SPIDRV_MTransfer | ( | SPIDRV_Handle_t | handle, | |
const void * | txBuffer, | |||
void * | rxBuffer, | |||
int | count, | |||
SPIDRV_Callback_t | callback | |||
) |
Start a SPI master transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | txBuffer | Transmit data buffer. |
[out] | rxBuffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | callback | Transfer completion callback. |
Definition at line 520 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, ECODE_EMDRV_SPIDRV_PARAM_ERROR, and spidrvSlave.
Ecode_t SPIDRV_MTransferB | ( | SPIDRV_Handle_t | handle, | |
const void * | txBuffer, | |||
void * | rxBuffer, | |||
int | count | |||
) |
Start a SPI master blocking transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | txBuffer | Transmit data buffer. |
[out] | rxBuffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
Definition at line 567 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, ECODE_EMDRV_SPIDRV_PARAM_ERROR, and spidrvSlave.
Ecode_t SPIDRV_MTransferSingleItemB | ( | SPIDRV_Handle_t | handle, | |
uint32_t | txValue, | |||
void * | rxValue | |||
) |
Start a SPI master blocking single item (frame) transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | txValue | Value to transmit. |
[out] | rxValue | Value received. |
Definition at line 613 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_BUSY, ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_ILLEGAL_OPERATION, ECODE_EMDRV_SPIDRV_MODE_ERROR, and spidrvSlave.
Ecode_t SPIDRV_MTransmit | ( | SPIDRV_Handle_t | handle, | |
const void * | buffer, | |||
int | count, | |||
SPIDRV_Callback_t | callback | |||
) |
Start a SPI master transmit transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | buffer | Transmit data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | callback | Transfer completion callback. |
Definition at line 671 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, and spidrvSlave.
Ecode_t SPIDRV_MTransmitB | ( | SPIDRV_Handle_t | handle, | |
const void * | buffer, | |||
int | count | |||
) |
Start a SPI master blocking transmit transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | buffer | Transmit data buffer. |
[in] | count | Number of bytes in transfer. |
Definition at line 711 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, and spidrvSlave.
Ecode_t SPIDRV_SetBitrate | ( | SPIDRV_Handle_t | handle, | |
uint32_t | bitRate | |||
) |
Set SPI bus bitrate.
[in] | handle | Pointer to a SPI driver handle. |
[in] | bitRate | New SPI bus bitrate. |
Definition at line 745 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_BUSY, ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, and ECODE_EMDRV_SPIDRV_OK.
Ecode_t SPIDRV_SetFramelength | ( | SPIDRV_Handle_t | handle, | |
uint32_t | frameLength | |||
) |
Set SPI framelength.
[in] | handle | Pointer to a SPI driver handle. |
[in] | frameLength | New SPI bus framelength. |
Definition at line 776 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_BUSY, ECODE_EMDRV_SPIDRV_ILLEGAL_HANDLE, ECODE_EMDRV_SPIDRV_OK, and ECODE_EMDRV_SPIDRV_PARAM_ERROR.
Ecode_t SPIDRV_SReceive | ( | SPIDRV_Handle_t | handle, | |
void * | buffer, | |||
int | count, | |||
SPIDRV_Callback_t | callback, | |||
int | timeoutMs | |||
) |
Start a SPI slave receive transfer.
[in] | handle | Pointer to a SPI driver handle. |
[out] | buffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | callback | Transfer completion callback. |
[in] | timeoutMs | Transfer timeout in milliseconds. |
Definition at line 826 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, RTCDRV_StartTimer(), rtcdrvTimerTypeOneshot, spidrvMaster, and spidrvSlaveStartDelayed.
Ecode_t SPIDRV_SReceiveB | ( | SPIDRV_Handle_t | handle, | |
void * | buffer, | |||
int | count, | |||
int | timeoutMs | |||
) |
Start a SPI slave blocking receive transfer.
[in] | handle | Pointer to a SPI driver handle. |
[out] | buffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | timeoutMs | Transfer timeout in milliseconds. |
Definition at line 885 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, RTCDRV_StartTimer(), rtcdrvTimerTypeOneshot, spidrvMaster, and spidrvSlaveStartDelayed.
Ecode_t SPIDRV_STransfer | ( | SPIDRV_Handle_t | handle, | |
const void * | txBuffer, | |||
void * | rxBuffer, | |||
int | count, | |||
SPIDRV_Callback_t | callback, | |||
int | timeoutMs | |||
) |
Start a SPI slave transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | txBuffer | Transmit data buffer. |
[out] | rxBuffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | callback | Transfer completion callback. |
[in] | timeoutMs | Transfer timeout in milliseconds. |
Definition at line 942 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, ECODE_EMDRV_SPIDRV_PARAM_ERROR, RTCDRV_StartTimer(), rtcdrvTimerTypeOneshot, spidrvMaster, and spidrvSlaveStartDelayed.
Ecode_t SPIDRV_STransferB | ( | SPIDRV_Handle_t | handle, | |
const void * | txBuffer, | |||
void * | rxBuffer, | |||
int | count, | |||
int | timeoutMs | |||
) |
Start a SPI slave blocking transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | txBuffer | Transmit data buffer. |
[out] | rxBuffer | Receive data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | timeoutMs | Transfer timeout in milliseconds. |
Definition at line 1007 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, ECODE_EMDRV_SPIDRV_PARAM_ERROR, RTCDRV_StartTimer(), rtcdrvTimerTypeOneshot, spidrvMaster, and spidrvSlaveStartDelayed.
Ecode_t SPIDRV_STransmit | ( | SPIDRV_Handle_t | handle, | |
const void * | buffer, | |||
int | count, | |||
SPIDRV_Callback_t | callback, | |||
int | timeoutMs | |||
) |
Start a SPI slave transmit transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | buffer | Transmit data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | callback | Transfer completion callback. |
[in] | timeoutMs | Transfer timeout in milliseconds. |
Definition at line 1070 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, RTCDRV_StartTimer(), rtcdrvTimerTypeOneshot, spidrvMaster, and spidrvSlaveStartDelayed.
Ecode_t SPIDRV_STransmitB | ( | SPIDRV_Handle_t | handle, | |
const void * | buffer, | |||
int | count, | |||
int | timeoutMs | |||
) |
Start a SPI slave blocking transmit transfer.
[in] | handle | Pointer to a SPI driver handle. |
[in] | buffer | Transmit data buffer. |
[in] | count | Number of bytes in transfer. |
[in] | timeoutMs | Transfer timeout in milliseconds. |
Definition at line 1129 of file spidrv.c.
References ECODE_EMDRV_SPIDRV_MODE_ERROR, ECODE_EMDRV_SPIDRV_OK, RTCDRV_StartTimer(), rtcdrvTimerTypeOneshot, spidrvMaster, and spidrvSlaveStartDelayed.