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. | |
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_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 |
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_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 transmit data buffer (can be NULL for receive-only) |
[in,out] | out_offset_ptr | Pointer to transmit buffer offset |
[out] | in_buffer_ptr | Pointer to receive data buffer (can be NULL for transmit-only) |
[in,out] | in_offset_ptr | Pointer to receive buffer offset |
[in] | count | Number of data units to transfer |
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 output data buffer (NULL for receive-only) |
[in] | in_buffer_ptr | Pointer to input data buffer (NULL for transmit-only) |
[in] | count | Number of data units to transfer |
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) |