VSF Documented
Macros | Functions
multiplex_spi.c File Reference
#include "hal/vsf_hal_cfg.h"
#include "hal/driver/driver.h"

Macros

#define __VSF_MULTIPLEX_SPI_CLASS_IMPLEMENT
 
#define VSF_MULTIPLEXER_SPI_MAX_CS_COUNT   (sizeof(SPI_MULTIPLEXER_MASK_TYPE) * 8)
 
#define VSF_MULTIPLEXER_SPI_CFG_GPIO_MODE   (VSF_GPIO_PULL_UP)
 
#define VSF_MULTIPLEXER_SPI_PROTECT_LEVEL   interrupt
 
#define VSF_SPI_IMP_DEC_EXTERN_OP   ENABLED
 
#define vsf_multiplex_spi_protect   vsf_protect(VSF_MULTIPLEXER_SPI_PROTECT_LEVEL)
 
#define vsf_multiplex_spi_unprotect   vsf_unprotect(VSF_MULTIPLEXER_SPI_PROTECT_LEVEL)
 

Functions

vsf_err_t vsf_multiplex_spi_init (vsf_multiplex_spi_t *m_spi_ptr, vsf_spi_cfg_t *cfg_ptr)
 
fsm_rt_t vsf_multiplex_spi_enable (vsf_multiplex_spi_t *m_spi_ptr)
 
fsm_rt_t vsf_multiplex_spi_disable (vsf_multiplex_spi_t *m_spi_ptr)
 
void vsf_multiplex_spi_irq_enable (vsf_multiplex_spi_t *m_spi_ptr, vsf_spi_irq_mask_t irq_mask)
 
void vsf_multiplex_spi_irq_disable (vsf_multiplex_spi_t *m_spi_ptr, vsf_spi_irq_mask_t irq_mask)
 
void vsf_multiplex_spi_cs_active (vsf_multiplex_spi_t *m_spi_ptr, uint_fast8_t cs_index)
 
void vsf_multiplex_spi_cs_inactive (vsf_multiplex_spi_t *m_spi_ptr, uint_fast8_t cs_index)
 
void vsf_multiplex_spi_fifo_transfer (vsf_multiplex_spi_t *m_spi_ptr, void *out_buffer_ptr, uint_fast32_t *out_offset_ptr, void *in_buffer_ptr, uint_fast32_t *int_offset_ptr, uint_fast32_t cnt)
 
vsf_err_t vsf_multiplex_spi_request_transfer (vsf_multiplex_spi_t *m_spi_ptr, void *out_buffer_ptr, void *in_buffer_ptr, uint_fast32_t count)
 
vsf_err_t vsf_multiplex_spi_cancel_transfer (vsf_multiplex_spi_t *m_spi_ptr)
 
vsf_spi_status_t vsf_multiplex_spi_status (vsf_multiplex_spi_t *m_spi_ptr)
 
void vsf_multiplex_spi_get_transferred_count (vsf_multiplex_spi_t *m_spi_ptr, uint_fast32_t *tx_count, uint_fast32_t *rx_count)
 

Macro Definition Documentation

◆ __VSF_MULTIPLEX_SPI_CLASS_IMPLEMENT

#define __VSF_MULTIPLEX_SPI_CLASS_IMPLEMENT

◆ VSF_MULTIPLEXER_SPI_MAX_CS_COUNT

#define VSF_MULTIPLEXER_SPI_MAX_CS_COUNT   (sizeof(SPI_MULTIPLEXER_MASK_TYPE) * 8)

◆ VSF_MULTIPLEXER_SPI_CFG_GPIO_MODE

#define VSF_MULTIPLEXER_SPI_CFG_GPIO_MODE   (VSF_GPIO_PULL_UP)

◆ VSF_MULTIPLEXER_SPI_PROTECT_LEVEL

#define VSF_MULTIPLEXER_SPI_PROTECT_LEVEL   interrupt

◆ VSF_SPI_IMP_DEC_EXTERN_OP

#define VSF_SPI_IMP_DEC_EXTERN_OP   ENABLED

◆ vsf_multiplex_spi_protect

#define vsf_multiplex_spi_protect   vsf_protect(VSF_MULTIPLEXER_SPI_PROTECT_LEVEL)

◆ vsf_multiplex_spi_unprotect

#define vsf_multiplex_spi_unprotect   vsf_unprotect(VSF_MULTIPLEXER_SPI_PROTECT_LEVEL)

Function Documentation

◆ vsf_multiplex_spi_init()

vsf_err_t vsf_multiplex_spi_init ( vsf_multiplex_spi_t m_spi_ptr,
vsf_spi_cfg_t cfg_ptr 
)

◆ vsf_multiplex_spi_enable()

fsm_rt_t vsf_multiplex_spi_enable ( vsf_multiplex_spi_t m_spi_ptr)

◆ vsf_multiplex_spi_disable()

fsm_rt_t vsf_multiplex_spi_disable ( vsf_multiplex_spi_t m_spi_ptr)

◆ vsf_multiplex_spi_irq_enable()

void vsf_multiplex_spi_irq_enable ( vsf_multiplex_spi_t m_spi_ptr,
vsf_spi_irq_mask_t  irq_mask 
)

◆ vsf_multiplex_spi_irq_disable()

void vsf_multiplex_spi_irq_disable ( vsf_multiplex_spi_t m_spi_ptr,
vsf_spi_irq_mask_t  irq_mask 
)

◆ vsf_multiplex_spi_cs_active()

void vsf_multiplex_spi_cs_active ( vsf_multiplex_spi_t m_spi_ptr,
uint_fast8_t  cs_index 
)

◆ vsf_multiplex_spi_cs_inactive()

void vsf_multiplex_spi_cs_inactive ( vsf_multiplex_spi_t m_spi_ptr,
uint_fast8_t  cs_index 
)

◆ vsf_multiplex_spi_fifo_transfer()

void vsf_multiplex_spi_fifo_transfer ( vsf_multiplex_spi_t m_spi_ptr,
void *  out_buffer_ptr,
uint_fast32_t out_offset_ptr,
void *  in_buffer_ptr,
uint_fast32_t int_offset_ptr,
uint_fast32_t  cnt 
)

◆ vsf_multiplex_spi_request_transfer()

vsf_err_t vsf_multiplex_spi_request_transfer ( vsf_multiplex_spi_t m_spi_ptr,
void *  out_buffer_ptr,
void *  in_buffer_ptr,
uint_fast32_t  count 
)

◆ vsf_multiplex_spi_cancel_transfer()

vsf_err_t vsf_multiplex_spi_cancel_transfer ( vsf_multiplex_spi_t m_spi_ptr)

◆ vsf_multiplex_spi_status()

vsf_spi_status_t vsf_multiplex_spi_status ( vsf_multiplex_spi_t m_spi_ptr)

◆ vsf_multiplex_spi_get_transferred_count()

void vsf_multiplex_spi_get_transferred_count ( vsf_multiplex_spi_t m_spi_ptr,
uint_fast32_t tx_count,
uint_fast32_t rx_count 
)