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_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)
 
vsf_err_t vsf_multiplex_i2c_master_request (vsf_multiplex_i2c_t *m_i2c_ptr, uint16_t address, vsf_i2c_cmd_t cmd, uint16_t count, uint8_t *buffer_ptr)
 
uint_fast32_t vsf_multiplex_i2c_get_transferred_count (vsf_multiplex_i2c_t *m_i2c_ptr)
 
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_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_request()

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

◆ vsf_multiplex_i2c_get_transferred_count()

uint_fast32_t vsf_multiplex_i2c_get_transferred_count ( vsf_multiplex_i2c_t m_i2c_ptr)

◆ vsf_multiplex_i2c_capability()

vsf_i2c_capability_t vsf_multiplex_i2c_capability ( vsf_multiplex_i2c_t m_i2c_ptr)