|
VSF Documented
|
#include "hal/driver/driver.h"Macros | |
| #define | VSF_SPI_CFG_FUNCTION_RENAME DISABLED |
Functions | |
| vsf_err_t | vsf_spi_init (vsf_spi_t *spi_ptr, vsf_spi_cfg_t *cfg_ptr) |
| Initialize a SPI instance. | |
| void | vsf_spi_fini (vsf_spi_t *spi_ptr) |
| Finalize (deinitialize) a SPI instance. | |
| vsf_err_t | vsf_spi_get_configuration (vsf_spi_t *spi_ptr, vsf_spi_cfg_t *cfg_ptr) |
| Get current configuration of a SPI instance. | |
| fsm_rt_t | vsf_spi_enable (vsf_spi_t *spi_ptr) |
| Enable a SPI instance for operation. | |
| fsm_rt_t | vsf_spi_disable (vsf_spi_t *spi_ptr) |
| Disable a SPI instance from operation. | |
| void | vsf_spi_irq_enable (vsf_spi_t *spi_ptr, vsf_spi_irq_mask_t irq_mask) |
| Enable specific interrupts for a SPI instance. | |
| void | vsf_spi_irq_disable (vsf_spi_t *spi_ptr, vsf_spi_irq_mask_t irq_mask) |
| Disable specific interrupts for a SPI instance. | |
| vsf_spi_irq_mask_t | vsf_spi_irq_clear (vsf_spi_t *spi_ptr, vsf_spi_irq_mask_t irq_mask) |
| Clear interrupt flags of SPI instance and return previous state. | |
| vsf_spi_status_t | vsf_spi_status (vsf_spi_t *spi_ptr) |
| Get the current status of a SPI instance. | |
| vsf_err_t | vsf_spi_cs_active (vsf_spi_t *spi_ptr, uint_fast8_t index) |
| Activate (assert) a SPI chip select line. | |
| vsf_err_t | vsf_spi_cs_inactive (vsf_spi_t *spi_ptr, uint_fast8_t index) |
| Deactivate (deassert) a SPI chip select line. | |
| void | vsf_spi_fifo_transfer (vsf_spi_t *spi_ptr, void *out_buffer_ptr, uint_fast32_t *out_offset_ptr, void *in_buffer_ptr, uint_fast32_t *in_offset_ptr, uint_fast32_t cnt) |
| Perform FIFO-based data transfer on a SPI instance. | |
| vsf_err_t | vsf_spi_request_transfer (vsf_spi_t *spi_ptr, void *out_buffer_ptr, void *in_buffer_ptr, uint_fast32_t count) |
| Request a SPI data transfer operation. | |
| vsf_err_t | vsf_spi_cancel_transfer (vsf_spi_t *spi_ptr) |
| Cancel an ongoing SPI transfer operation. | |
| void | vsf_spi_get_transferred_count (vsf_spi_t *spi_ptr, uint_fast32_t *tx_count, uint_fast32_t *rx_count) |
| Get the number of data units transferred in the current or last SPI operation. | |
| vsf_spi_capability_t | vsf_spi_capability (vsf_spi_t *spi_ptr) |
| Get the capabilities of a SPI instance. | |
| vsf_err_t | vsf_spi_ctrl (vsf_spi_t *spi_ptr, vsf_spi_ctrl_t ctrl, void *param) |
| Execute a control command on the SPI instance. | |
| #define VSF_SPI_CFG_FUNCTION_RENAME DISABLED |
| vsf_err_t vsf_spi_init | ( | vsf_spi_t * | spi_ptr, |
| vsf_spi_cfg_t * | cfg_ptr | ||
| ) |
Initialize a SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | cfg_ptr | Pointer to SPI configuration structure vsf_spi_cfg_t |
| void vsf_spi_fini | ( | vsf_spi_t * | spi_ptr | ) |
Finalize (deinitialize) a SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| vsf_err_t vsf_spi_get_configuration | ( | vsf_spi_t * | spi_ptr, |
| vsf_spi_cfg_t * | cfg_ptr | ||
| ) |
Get current configuration of a SPI instance.
| [in] | spi_ptr | Pointer to SPI instance |
| [out] | cfg_ptr | Pointer to SPI configuration structure to store current settings |
Enable a SPI instance for operation.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
Disable a SPI instance from operation.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| void vsf_spi_irq_enable | ( | vsf_spi_t * | spi_ptr, |
| vsf_spi_irq_mask_t | irq_mask | ||
| ) |
Enable specific interrupts for a SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | irq_mask | Interrupt mask(s) to enable from vsf_spi_irq_mask_t |
| void vsf_spi_irq_disable | ( | vsf_spi_t * | spi_ptr, |
| vsf_spi_irq_mask_t | irq_mask | ||
| ) |
Disable specific interrupts for a SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | irq_mask | Interrupt mask(s) to disable from vsf_spi_irq_mask_t |
| vsf_spi_irq_mask_t vsf_spi_irq_clear | ( | vsf_spi_t * | spi_ptr, |
| vsf_spi_irq_mask_t | irq_mask | ||
| ) |
Clear interrupt flags of SPI instance and return previous state.
| [in] | spi_ptr | a pointer to structure vsf_spi_t |
| [in] | irq_mask | one or more values of enum vsf_spi_irq_mask_t to clear |
| vsf_spi_status_t vsf_spi_status | ( | vsf_spi_t * | spi_ptr | ) |
Get the current status of a SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| vsf_err_t vsf_spi_cs_active | ( | vsf_spi_t * | spi_ptr, |
| uint_fast8_t | index | ||
| ) |
Activate (assert) a SPI chip select line.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | index | Chip select line index (0 to cs_count-1) |
| vsf_err_t vsf_spi_cs_inactive | ( | vsf_spi_t * | spi_ptr, |
| uint_fast8_t | index | ||
| ) |
Deactivate (deassert) a SPI chip select line.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | index | Chip select line index (0 to cs_count-1) |
| void vsf_spi_fifo_transfer | ( | vsf_spi_t * | spi_ptr, |
| void * | out_buffer_ptr, | ||
| uint_fast32_t * | out_offset_ptr, | ||
| void * | in_buffer_ptr, | ||
| uint_fast32_t * | in_offset_ptr, | ||
| uint_fast32_t | count | ||
| ) |
Perform FIFO-based data transfer on a SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | out_buffer_ptr | Pointer to data to transmit (can be NULL for receive-only) |
| [in,out] | out_offset_ptr | Pointer to transmit buffer offset |
| [out] | in_buffer_ptr | Pointer to buffer for received data (can be NULL for transmit-only) |
| [in,out] | in_offset_ptr | Pointer to receive buffer offset |
| [in] | count | Number of data units to transfer (can be 0 for QSPI operations with only command/address phases) |
| vsf_err_t vsf_spi_request_transfer | ( | vsf_spi_t * | spi_ptr, |
| void * | out_buffer_ptr, | ||
| void * | in_buffer_ptr, | ||
| uint_fast32_t | count | ||
| ) |
Request a SPI data transfer operation.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | out_buffer_ptr | Pointer to data to transmit (NULL for receive-only) |
| [out] | in_buffer_ptr | Pointer to buffer for received data (NULL for transmit-only) |
| [in] | count | Number of data units to transfer (can be 0 for QSPI operations with only command/address phases) |
Cancel an ongoing SPI transfer operation.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| void vsf_spi_get_transferred_count | ( | vsf_spi_t * | spi_ptr, |
| uint_fast32_t * | sent_count, | ||
| uint_fast32_t * | received_count | ||
| ) |
Get the number of data units transferred in the current or last SPI operation.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [out] | sent_count | Pointer to store the number of data units transmitted (can be NULL if not needed) |
| [out] | received_count | Pointer to store the number of data units received (can be NULL if not needed) |
| vsf_spi_capability_t vsf_spi_capability | ( | vsf_spi_t * | spi_ptr | ) |
Get the capabilities of a SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| vsf_err_t vsf_spi_ctrl | ( | vsf_spi_t * | spi_ptr, |
| vsf_spi_ctrl_t | ctrl, | ||
| void * | param | ||
| ) |
Execute a control command on the SPI instance.
| [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |
| [in] | ctrl | Control command from vsf_spi_ctrl_t enumeration |
| [in] | param | Command-specific parameter (can be NULL depending on command) |