Functions

uint16_t app_spi_init (app_spi_params_t *p_params, app_spi_evt_handler_t evt_handler)
 Initialize the APP SPI DRIVER according to the specified parameters in the app_spi_params_t and app_spi_evt_handler_t. More...
 
uint16_t app_spi_deinit (app_spi_id_t id)
 De-initialize the APP SPI DRIVER peripheral. More...
 
uint16_t app_spi_receive_sync (app_spi_id_t id, uint8_t *p_data, uint16_t size, uint32_t timeout)
 Receive in master or slave mode an amount of data in blocking mode. More...
 
uint16_t app_spi_receive_async (app_spi_id_t id, uint8_t *p_data, uint16_t size)
 Receive in master or slave mode an amount of data in non-blocking mode with Interrupt. More...
 
uint16_t app_spi_transmit_sync (app_spi_id_t id, uint8_t *p_data, uint16_t size, uint32_t timeout)
 Transmits in master or slave mode an amount of data in blocking mode. More...
 
uint16_t app_spi_transmit_async (app_spi_id_t id, uint8_t *p_data, uint16_t size)
 Transmits in master or slave mode an amount of data in non-blocking mode with Interrupt. More...
 
uint16_t app_spi_transmit_receive_sync (app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t size, uint32_t timeout)
 Transmits and receive in master or slave mode an amount of data in blocking mode. More...
 
uint16_t app_spi_transmit_receive_async (app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t size)
 Transmits and receive in master or slave mode an amount of data in non-blocking mode with Interrupt. More...
 
uint16_t app_spi_read_eeprom_sync (app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t tx_size, uint32_t rx_size, uint32_t timeout)
 Read an amount of data from EEPROM in blocking mode. More...
 
uint16_t app_spi_read_eeprom_async (app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t tx_size, uint32_t rx_size)
 Read an amount of data from EEPROM in non-blocking mode with Interrupt. More...
 
uint16_t app_spi_write_memory_async (app_spi_id_t id, uint8_t *p_cmd_data, uint8_t *p_tx_data, uint32_t cmd_size, uint32_t tx_size)
 Transmits in master or slave mode an amount of data in non-blocking mode with DMA. More...
 
uint16_t app_spi_read_memory_async (app_spi_id_t id, uint8_t *p_cmd_data, uint8_t *p_rx_data, uint32_t cmd_size, uint32_t rx_size)
 Read an amount of data from EEPROM in non-blocking mode with DMA. More...
 
spi_handle_tapp_spi_get_handle (app_spi_id_t id)
 Return the SPI handle. More...
 
uint16_t app_spi_receive_high_speed_sync (app_spi_id_t id, uint8_t *p_data, uint16_t size)
 [High speed] Receive in master or slave mode an amount of data in blocking mode. More...
 
uint16_t app_spi_transmit_high_speed_sync (app_spi_id_t id, uint8_t *p_data, uint16_t size)
 [High speed] Transmit in master or slave mode an amount of data in blocking mode. More...
 

Detailed Description

Function Documentation

◆ app_spi_deinit()

uint16_t app_spi_deinit ( app_spi_id_t  id)

De-initialize the APP SPI DRIVER peripheral.

Parameters
[in]idDe-initialize for a specific ID.
Returns
Result of De-initialization.

◆ app_spi_get_handle()

spi_handle_t* app_spi_get_handle ( app_spi_id_t  id)

Return the SPI handle.

Parameters
[in]idSPI Channel ID.
Returns
Pointer to the specified ID's SPI handle.

◆ app_spi_init()

uint16_t app_spi_init ( app_spi_params_t p_params,
app_spi_evt_handler_t  evt_handler 
)

Initialize the APP SPI DRIVER according to the specified parameters in the app_spi_params_t and app_spi_evt_handler_t.

Note
If interrupt mode is set, you can use blocking mode. Conversely, if blocking mode is set, you can't use interrupt mode.
Parameters
[in]p_paramsPointer to app_spi_params_t parameter which contains the configuration information for the specified SPI module.
[in]evt_handlerSPI user callback function.
Returns
Result of initialization.

◆ app_spi_read_eeprom_async()

uint16_t app_spi_read_eeprom_async ( app_spi_id_t  id,
uint8_t *  p_tx_data,
uint8_t *  p_rx_data,
uint32_t  tx_size,
uint32_t  rx_size 
)

Read an amount of data from EEPROM in non-blocking mode with Interrupt.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_tx_dataPointer to transmission data buffer
[out]p_rx_dataPointer to reception data buffer
[in]tx_sizeAmount of data to be sent in bytes
[in]rx_sizeAmount of data to be received in bytes
Returns
Result of operation.

◆ app_spi_read_eeprom_sync()

uint16_t app_spi_read_eeprom_sync ( app_spi_id_t  id,
uint8_t *  p_tx_data,
uint8_t *  p_rx_data,
uint32_t  tx_size,
uint32_t  rx_size,
uint32_t  timeout 
)

Read an amount of data from EEPROM in blocking mode.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_tx_dataPointer to transmission data buffer
[out]p_rx_dataPointer to reception data buffer
[in]tx_sizeAmount of data to be sent in bytes
[in]rx_sizeAmount of data to be received in bytes
[in]timeoutTimeout duration
Returns
Result of operation.

◆ app_spi_read_memory_async()

uint16_t app_spi_read_memory_async ( app_spi_id_t  id,
uint8_t *  p_cmd_data,
uint8_t *  p_rx_data,
uint32_t  cmd_size,
uint32_t  rx_size 
)

Read an amount of data from EEPROM in non-blocking mode with DMA.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_cmd_dataPointer to command data buffer
[out]p_rx_dataPointer to reception data buffer
[in]cmd_sizeAmount of command data to be sent in bytes
[in]rx_sizeAmount of data to be received in bytes
Returns
Result of operation.

◆ app_spi_receive_async()

uint16_t app_spi_receive_async ( app_spi_id_t  id,
uint8_t *  p_data,
uint16_t  size 
)

Receive in master or slave mode an amount of data in non-blocking mode with Interrupt.

Parameters
[in]idwhich SPI module want to receive.
[in]p_dataPointer to data buffer
[in]sizeAmount of data to be sent
Returns
Result of operation.

◆ app_spi_receive_high_speed_sync()

uint16_t app_spi_receive_high_speed_sync ( app_spi_id_t  id,
uint8_t *  p_data,
uint16_t  size 
)

[High speed] Receive in master or slave mode an amount of data in blocking mode.

Parameters
[in]idwhich SPI module want to receive.
[in]p_dataPointer to data buffer
[in]sizeAmount of data to be sent
Returns
Result of operation.

◆ app_spi_receive_sync()

uint16_t app_spi_receive_sync ( app_spi_id_t  id,
uint8_t *  p_data,
uint16_t  size,
uint32_t  timeout 
)

Receive in master or slave mode an amount of data in blocking mode.

Parameters
[in]idwhich SPI module want to receive.
[in]p_dataPointer to data buffer
[in]sizeAmount of data to be sent
[in]timeoutTimeout duration
Returns
Result of operation.

◆ app_spi_transmit_async()

uint16_t app_spi_transmit_async ( app_spi_id_t  id,
uint8_t *  p_data,
uint16_t  size 
)

Transmits in master or slave mode an amount of data in non-blocking mode with Interrupt.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_dataPointer to data buffer
[in]sizeAmount of data to be sent
Returns
Result of operation.

◆ app_spi_transmit_high_speed_sync()

uint16_t app_spi_transmit_high_speed_sync ( app_spi_id_t  id,
uint8_t *  p_data,
uint16_t  size 
)

[High speed] Transmit in master or slave mode an amount of data in blocking mode.

Parameters
[in]idwhich SPI module want to receive.
[in]p_dataPointer to data buffer
[in]sizeAmount of data to be sent
Returns
Result of operation.

◆ app_spi_transmit_receive_async()

uint16_t app_spi_transmit_receive_async ( app_spi_id_t  id,
uint8_t *  p_tx_data,
uint8_t *  p_rx_data,
uint32_t  size 
)

Transmits and receive in master or slave mode an amount of data in non-blocking mode with Interrupt.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_tx_dataPointer to tx data buffer
[in]p_rx_dataPointer to rx data buffer
[in]sizeAmount of data to be sent and receive
Returns
Result of operation.

◆ app_spi_transmit_receive_sync()

uint16_t app_spi_transmit_receive_sync ( app_spi_id_t  id,
uint8_t *  p_tx_data,
uint8_t *  p_rx_data,
uint32_t  size,
uint32_t  timeout 
)

Transmits and receive in master or slave mode an amount of data in blocking mode.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_tx_dataPointer to tx data buffer
[in]p_rx_dataPointer to rx data buffer
[in]sizeAmount of data to be sent and receive
[in]timeoutTimeout duration
Returns
Result of operation.

◆ app_spi_transmit_sync()

uint16_t app_spi_transmit_sync ( app_spi_id_t  id,
uint8_t *  p_data,
uint16_t  size,
uint32_t  timeout 
)

Transmits in master or slave mode an amount of data in blocking mode.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_dataPointer to data buffer
[in]sizeAmount of data to be sent
[in]timeoutTimeout duration
Returns
Result of operation.

◆ app_spi_write_memory_async()

uint16_t app_spi_write_memory_async ( app_spi_id_t  id,
uint8_t *  p_cmd_data,
uint8_t *  p_tx_data,
uint32_t  cmd_size,
uint32_t  tx_size 
)

Transmits in master or slave mode an amount of data in non-blocking mode with DMA.

Parameters
[in]idwhich SPI module want to transmit.
[in]p_cmd_dataPointer to command data buffer
[in]p_tx_dataPointer to transmission data buffer
[in]cmd_sizeAmount of command data to be sent in bytes
[in]tx_sizeAmount of data to be sent in bytes
Returns
Result of operation.