VSF Documented
Macros | Functions | Variables
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()   const i_spi_t VSF_SPI[SPI_COUNT]
 

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 ( )    const i_spi_t VSF_SPI[SPI_COUNT]

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@2b286be