VSF Documented
vsf_spi.c File Reference
#include "./vsf_spi.h"

Macros

#define __VSF_SPI_FUNC_BODY(__N, __VALUE)
 
#define __VSF_SPI_INTERFACE_DEF(__N, __VALUE)
 
#define __VSF_SPI_INTERFACE()
 

Functions

vsf_spi_status_t vsf_spi_get_status (vsf_spi_t *spi_obj)
 
vsf_spi_capability_t vsf_spi_get_capability (void)
 
vsf_err_t vsf_spi_init (vsf_spi_t *spi_obj, vsf_spi_cfg_t *cfg_ptr)
 Initialize a SPI instance.
 
uintalu_t vsf_spi_polarity_set (vsf_spi_t *spi_obj, uintalu_t polarity)
 
uintalu_t vsf_spi_polarity_get (vsf_spi_t *spi_obj)
 
fsm_rt_t vsf_spi_exchange (vsf_spi_t *spi_obj, uintalu_t output, void *input)
 
fsm_rt_t vsf_spi_request_exchange (vsf_spi_t *spi_obj, void *output, void *input, uint_fast32_t size)
 

Variables

vsf_spi_t vsf_spi [SPI_COUNT]
 

Macro Definition Documentation

◆ __VSF_SPI_FUNC_BODY

#define __VSF_SPI_FUNC_BODY ( __N,
__VALUE )

◆ __VSF_SPI_INTERFACE_DEF

#define __VSF_SPI_INTERFACE_DEF ( __N,
__VALUE )
Value:
{ \
.SPI = { \
.Status = &vsf_spi##__N##_get_status, \
.Capability = &vsf_spi_get_capability, \
}, \
.Init = &vsf_spi##__N##_init, \
.Polarity = { \
.Set = &vsf_spi##__N##_polarity_set, \
.Get = &vsf_spi##__N##_polarity_get, \
}, \
.SingleExchange = &vsf_spi##__N##_exchange, \
.Block = { \
.RequestExchange = &vsf_spi##__N##_request_exchange, \
} \
},
void _init()
Definition init.c:12
vsf_spi_capability_t vsf_spi_get_capability(void)
Definition vsf_spi.c:31
vsf_spi_t vsf_spi[SPI_COUNT]
Definition vsf_spi.c:3

◆ __VSF_SPI_INTERFACE

__VSF_SPI_INTERFACE ( )
Value:
const i_spi_t VSF_SPI[SPI_COUNT]
#define SPI_COUNT
Definition device.h:57

Function Documentation

◆ vsf_spi_get_status()

vsf_spi_status_t vsf_spi_get_status ( vsf_spi_t * spi_obj)

◆ vsf_spi_get_capability()

vsf_spi_capability_t vsf_spi_get_capability ( void )

◆ vsf_spi_init()

vsf_err_t vsf_spi_init ( vsf_spi_t * spi_ptr,
vsf_spi_cfg_t * cfg_ptr )

Initialize a SPI instance.

Parameters
[in,out]spi_ptrPointer to SPI instance structure vsf_spi_t
[in]cfg_ptrPointer to SPI configuration structure vsf_spi_cfg_t
Returns
vsf_err_t: VSF_ERR_NONE if initialization successful, otherwise returns error code
Note
The configuration includes clock settings, transfer modes, and interrupt handlers
This must be called before any other SPI operations except for vsf_spi_capability()

◆ vsf_spi_polarity_set()

uintalu_t vsf_spi_polarity_set ( vsf_spi_t * spi_obj,
uintalu_t polarity )

◆ vsf_spi_polarity_get()

uintalu_t vsf_spi_polarity_get ( vsf_spi_t * spi_obj)

◆ vsf_spi_exchange()

fsm_rt_t vsf_spi_exchange ( vsf_spi_t * spi_obj,
uintalu_t output,
void * input )

◆ vsf_spi_request_exchange()

fsm_rt_t vsf_spi_request_exchange ( vsf_spi_t * spi_obj,
void * output,
void * input,
uint_fast32_t size )

Variable Documentation

◆ vsf_spi

vsf_spi_t vsf_spi[SPI_COUNT]
Initial value:
= {
[1] = {
.hspi = SPI1,
},
[2] = {
.hspi = SPI2,
},
}
Generated from commit: vsfteam/vsf@e0a61f6