VSF Documented
Macros | Functions
multiplex_i2c.c File Reference
#include "hal/vsf_hal_cfg.h"
#include "hal/driver/driver.h"
#include "hal/driver/common/i2c/i2c_template.inc"

Macros

#define __VSF_I2C_MULTIPLEX_CLASS_IMPLEMENT
 
#define VSF_MULTIPLEX_I2C_PROTECT_LEVEL   interrupt
 
#define VSF_I2C_CFG_IMP_EXTERN_OP   ENABLED
 
#define vsf_multiplex_i2c_protect   vsf_protect(VSF_MULTIPLEX_I2C_PROTECT_LEVEL)
 
#define vsf_multiplex_i2c_unprotect   vsf_unprotect(VSF_MULTIPLEX_I2C_PROTECT_LEVEL)
 
#define VSF_I2C_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED
 
#define VSF_I2C_CFG_REIMPLEMENT_API_CTRL   ENABLED
 
#define VSF_I2C_CFG_IMP_PREFIX   vsf_multiplex
 
#define VSF_I2C_CFG_IMP_UPCASE_PREFIX   VSF_MULTIPLEX
 
#define VSF_I2C_CFG_IMP_EXTERN_OP   ENABLED
 

Functions

vsf_err_t vsf_multiplex_i2c_init (vsf_multiplex_i2c_t *m_i2c_ptr, vsf_i2c_cfg_t *cfg_ptr)
 
void vsf_multiplex_i2c_fini (vsf_multiplex_i2c_t *m_i2c_ptr)
 
fsm_rt_t vsf_multiplex_i2c_enable (vsf_multiplex_i2c_t *m_i2c_ptr)
 
fsm_rt_t vsf_multiplex_i2c_disable (vsf_multiplex_i2c_t *m_i2c_ptr)
 
void vsf_multiplex_i2c_irq_enable (vsf_multiplex_i2c_t *m_i2c_ptr, vsf_i2c_irq_mask_t irq_mask)
 
void vsf_multiplex_i2c_irq_disable (vsf_multiplex_i2c_t *m_i2c_ptr, vsf_i2c_irq_mask_t irq_mask)
 
vsf_i2c_status_t vsf_multiplex_i2c_status (vsf_multiplex_i2c_t *m_i2c_ptr)
 
void vsf_multiplex_i2c_master_fifof_transfer (vsf_multiplex_i2c_t *m_i2c_ptr, uint16_t address, vsf_i2c_cmd_t cmd, uint_fast16_t count, uint8_t *buffer, vsf_i2c_cmd_t *cur_cmd_ptr, uint_fast16_t *offset_ptr)
 
void vsf_multiplex_i2c_master_fifo_transfer (vsf_multiplex_i2c_t *m_i2c_ptr, uint16_t address, vsf_i2c_cmd_t cmd, uint_fast16_t count, uint8_t *buffer, vsf_i2c_cmd_t *cur_cmd_ptr, uint_fast16_t *offset_ptr)
 
uint_fast16_t vsf_multiplex_i2c_slave_fifo_transfer (vsf_multiplex_i2c_t *m_i2c_ptr, bool transmit_or_receive, uint_fast16_t count, uint8_t *buffer_ptr)
 
vsf_err_t vsf_multiplex_i2c_master_request (vsf_multiplex_i2c_t *m_i2c_ptr, uint16_t address, vsf_i2c_cmd_t cmd, uint_fast16_t count, uint8_t *buffer_ptr)
 
vsf_err_t vsf_multiplex_i2c_slave_request (vsf_multiplex_i2c_t *m_i2c_ptr, bool transmit_or_receive, uint_fast16_t count, uint8_t *buffer_ptr)
 
uint_fast16_t vsf_multiplex_i2c_master_get_transferred_count (vsf_multiplex_i2c_t *m_i2c_ptr)
 
uint_fast16_t vsf_multiplex_i2c_slave_get_transferred_count (vsf_multiplex_i2c_t *m_i2c_ptr)
 
vsf_err_t vsf_multiplex_i2c_ctrl (vsf_multiplex_i2c_t *m_i2c_ptr, vsf_i2c_ctrl_t ctrl, void *param)
 
vsf_i2c_capability_t vsf_multiplex_i2c_capability (vsf_multiplex_i2c_t *m_i2c_ptr)
 

Macro Definition Documentation

◆ __VSF_I2C_MULTIPLEX_CLASS_IMPLEMENT

#define __VSF_I2C_MULTIPLEX_CLASS_IMPLEMENT

◆ VSF_MULTIPLEX_I2C_PROTECT_LEVEL

#define VSF_MULTIPLEX_I2C_PROTECT_LEVEL   interrupt

◆ VSF_I2C_CFG_IMP_EXTERN_OP [1/2]

#define VSF_I2C_CFG_IMP_EXTERN_OP   ENABLED

◆ vsf_multiplex_i2c_protect

#define vsf_multiplex_i2c_protect   vsf_protect(VSF_MULTIPLEX_I2C_PROTECT_LEVEL)

◆ vsf_multiplex_i2c_unprotect

#define vsf_multiplex_i2c_unprotect   vsf_unprotect(VSF_MULTIPLEX_I2C_PROTECT_LEVEL)

◆ VSF_I2C_CFG_REIMPLEMENT_API_CAPABILITY

#define VSF_I2C_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED

◆ VSF_I2C_CFG_REIMPLEMENT_API_CTRL

#define VSF_I2C_CFG_REIMPLEMENT_API_CTRL   ENABLED

◆ VSF_I2C_CFG_IMP_PREFIX

#define VSF_I2C_CFG_IMP_PREFIX   vsf_multiplex

◆ VSF_I2C_CFG_IMP_UPCASE_PREFIX

#define VSF_I2C_CFG_IMP_UPCASE_PREFIX   VSF_MULTIPLEX

◆ VSF_I2C_CFG_IMP_EXTERN_OP [2/2]

#define VSF_I2C_CFG_IMP_EXTERN_OP   ENABLED

Function Documentation

◆ vsf_multiplex_i2c_init()

vsf_err_t vsf_multiplex_i2c_init ( vsf_multiplex_i2c_t m_i2c_ptr,
vsf_i2c_cfg_t cfg_ptr 
)

◆ vsf_multiplex_i2c_fini()

void vsf_multiplex_i2c_fini ( vsf_multiplex_i2c_t m_i2c_ptr)

◆ vsf_multiplex_i2c_enable()

fsm_rt_t vsf_multiplex_i2c_enable ( vsf_multiplex_i2c_t m_i2c_ptr)

◆ vsf_multiplex_i2c_disable()

fsm_rt_t vsf_multiplex_i2c_disable ( vsf_multiplex_i2c_t m_i2c_ptr)

◆ vsf_multiplex_i2c_irq_enable()

void vsf_multiplex_i2c_irq_enable ( vsf_multiplex_i2c_t m_i2c_ptr,
vsf_i2c_irq_mask_t  irq_mask 
)

◆ vsf_multiplex_i2c_irq_disable()

void vsf_multiplex_i2c_irq_disable ( vsf_multiplex_i2c_t m_i2c_ptr,
vsf_i2c_irq_mask_t  irq_mask 
)

◆ vsf_multiplex_i2c_status()

vsf_i2c_status_t vsf_multiplex_i2c_status ( vsf_multiplex_i2c_t m_i2c_ptr)

◆ vsf_multiplex_i2c_master_fifof_transfer()

void vsf_multiplex_i2c_master_fifof_transfer ( vsf_multiplex_i2c_t m_i2c_ptr,
uint16_t  address,
vsf_i2c_cmd_t  cmd,
uint_fast16_t  count,
uint8_t buffer,
vsf_i2c_cmd_t cur_cmd_ptr,
uint_fast16_t offset_ptr 
)

◆ vsf_multiplex_i2c_master_fifo_transfer()

void vsf_multiplex_i2c_master_fifo_transfer ( vsf_multiplex_i2c_t m_i2c_ptr,
uint16_t  address,
vsf_i2c_cmd_t  cmd,
uint_fast16_t  count,
uint8_t buffer,
vsf_i2c_cmd_t cur_cmd_ptr,
uint_fast16_t offset_ptr 
)

◆ vsf_multiplex_i2c_slave_fifo_transfer()

uint_fast16_t vsf_multiplex_i2c_slave_fifo_transfer ( vsf_multiplex_i2c_t m_i2c_ptr,
bool  transmit_or_receive,
uint_fast16_t  count,
uint8_t buffer_ptr 
)

◆ vsf_multiplex_i2c_master_request()

vsf_err_t vsf_multiplex_i2c_master_request ( vsf_multiplex_i2c_t m_i2c_ptr,
uint16_t  address,
vsf_i2c_cmd_t  cmd,
uint_fast16_t  count,
uint8_t buffer_ptr 
)

◆ vsf_multiplex_i2c_slave_request()

vsf_err_t vsf_multiplex_i2c_slave_request ( vsf_multiplex_i2c_t m_i2c_ptr,
bool  transmit_or_receive,
uint_fast16_t  count,
uint8_t buffer_ptr 
)

◆ vsf_multiplex_i2c_master_get_transferred_count()

uint_fast16_t vsf_multiplex_i2c_master_get_transferred_count ( vsf_multiplex_i2c_t m_i2c_ptr)

◆ vsf_multiplex_i2c_slave_get_transferred_count()

uint_fast16_t vsf_multiplex_i2c_slave_get_transferred_count ( vsf_multiplex_i2c_t m_i2c_ptr)

◆ vsf_multiplex_i2c_ctrl()

vsf_err_t vsf_multiplex_i2c_ctrl ( vsf_multiplex_i2c_t m_i2c_ptr,
vsf_i2c_ctrl_t  ctrl,
void *  param 
)

◆ vsf_multiplex_i2c_capability()

vsf_i2c_capability_t vsf_multiplex_i2c_capability ( vsf_multiplex_i2c_t m_i2c_ptr)
Generated from commit: vsfteam/vsf@2b286be