VSF Documented
Data Structures
vsf_iic_internal.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "../../__device.h"

Go to the source code of this file.

Data Structures

struct  iic_cfg_t
 i2c address configuration structure More...
 
struct  vsf_iic_t
 
struct  vsf_iic_m_evt_interface_t
 
struct  vsf_iic_s_evt_interface_t
 

i2c send request error state

enum  em_vsf_iic_request_state_t {
  IIC_REQ_ON_GOING = 0 ,
  IIC_REQ_SUCCESS = 1 ,
  IIC_REQ_FAILED = 2 ,
  IIC_REQ_BUS_ERROR = 3 ,
  IIC_REQ_CANCEL = 4 ,
  IIC_REQ_ARLO = 5
}
 
enum  em_iic_mode_t {
  IIC_MASTER_READ = 0x00000001U ,
  IIC_DUTYCYCLE_2 = 0x00000000U ,
  IIC_DUTYCYCLE_16_9 = 0x00004000U ,
  IIC_ADDRESSINGMODE_7BIT = 0x00004000U ,
  IIC_ADDRESSINGMODE_10BIT = 0x0000C000U ,
  IIC_DUALADDRESS_DISABLE = 0x00000000U ,
  IIC_DUALADDRESS_ENABLE = 0x00000001U ,
  IIC_GENERALCALL_DISABLE = 0x00000000U ,
  IIC_GENERALCALL_ENABLE = 0x00000040U ,
  IIC_NOSTRETCH_DISABLE = 0x00000000U ,
  IIC_NOSTRETCH_ENABLE = 0x00000080U
}
 
enum  em_iic_low_hardware_cfg_t {
  IIC1_GPIO_CLK_EN = 0x00000008U ,
  IIC1_CLK_EN = 0x00200000U ,
  IIC1_GPIO_MODE = 0xFF000000U ,
  IIC2_GPIO_CLK_EN = 0x00000008U ,
  IIC2_CLK_EN = 0x00400000U ,
  IIC2_GPIO_MODE = 0x0000FF00U
}
 
enum  em_iic_cr1_reg_t {
  IIC_EN = 0x00000001U ,
  IIC_START = 0x00000100U ,
  IIC_STOP = 0x00000200U ,
  IIC_ACK_EN = 0x00000400U ,
  IIC_POS_EN = 0x00000800U
}
 
enum  em_iic_it_t {
  IIC_IT_ERR_EN = 0x00000100U ,
  IIC_IT_EVT_EN = 0x00000200U ,
  IIC_IT_BUF_EN = 0x00000400U
}
 
enum  em_iic_status_t {
  IIC_SB_SET = 0x00000001U ,
  IIC_ADDR_SET = 0x00000002U ,
  IIC_BTF_SET = 0x00000004U ,
  IIC_STOPF_SET = 0x00000010U ,
  IIC_RXNE_SET = 0x00000040U ,
  IIC_TXE_SET = 0x00000080U ,
  IIC_ARLO_SET = 0x00000200U ,
  IIC_AF_SET = 0x00000400U ,
  IIC_BUSY = 0x00000002U
}
 
enum  em_process_sele_t {
  NO_START = 0x00000001U ,
  NO_ADDR = 0x00000002U ,
  NO_STOP = 0x00000004U
}
 
typedef struct vsf_iic_m_evt_interface_t vsf_iic_m_evt_interface_t
 
typedef struct vsf_iic_s_evt_interface_t vsf_iic_s_evt_interface_t
 
typedef struct vsf_iic_t vsf_iic_t
 
bool vsf_iic_master_init (vsf_iic_t *iic_obj, iic_cfg_t *cfg_obj)
 
bool vsf_iic_master_read (vsf_iic_t *iic_obj, uint8_t slave_address, uint8_t *input, uint16_t size)
 
bool vsf_iic_master_write (vsf_iic_t *iic_obj, uint8_t slave_address, uint8_t *output, uint16_t out_size, uint8_t *arlo_buffer, uint16_t arlo_size, uint8_t Process_sele)
 
bool vsf_iic_master_register_event (vsf_iic_t *iic_obj, vsf_iic_m_evt_interface_t *evt_obj)
 
em_vsf_iic_request_state_t vsf_iic_get_request_state (vsf_iic_t *iic_obj)
 
bool vsf_iic_slave_init (vsf_iic_t *iic_obj, iic_cfg_t *cfg_obj)
 
bool vsf_iic_slave_read (vsf_iic_t *iic_obj, uint8_t *input, uint16_t size)
 
bool vsf_iic_slave_write (vsf_iic_t *iic_obj, uint8_t *output, uint16_t size)
 
bool vsf_iic_slave_register_event (vsf_iic_t *iic_obj, vsf_iic_s_evt_interface_t *evt_obj)
 
fsm_rt_t vsf_iic_task (vsf_iic_t *iic_obj)
 

Typedef Documentation

◆ vsf_iic_m_evt_interface_t

◆ vsf_iic_s_evt_interface_t

◆ vsf_iic_t

typedef struct vsf_iic_t vsf_iic_t

Enumeration Type Documentation

◆ em_vsf_iic_request_state_t

Enumerator
IIC_REQ_ON_GOING 
IIC_REQ_SUCCESS 
IIC_REQ_FAILED 
IIC_REQ_BUS_ERROR 
IIC_REQ_CANCEL 
IIC_REQ_ARLO 

◆ em_iic_mode_t

Enumerator
IIC_MASTER_READ 
IIC_DUTYCYCLE_2 
IIC_DUTYCYCLE_16_9 
IIC_ADDRESSINGMODE_7BIT 
IIC_ADDRESSINGMODE_10BIT 
IIC_DUALADDRESS_DISABLE 
IIC_DUALADDRESS_ENABLE 
IIC_GENERALCALL_DISABLE 
IIC_GENERALCALL_ENABLE 
IIC_NOSTRETCH_DISABLE 
IIC_NOSTRETCH_ENABLE 

◆ em_iic_low_hardware_cfg_t

Enumerator
IIC1_GPIO_CLK_EN 
IIC1_CLK_EN 
IIC1_GPIO_MODE 
IIC2_GPIO_CLK_EN 
IIC2_CLK_EN 
IIC2_GPIO_MODE 

◆ em_iic_cr1_reg_t

Enumerator
IIC_EN 
IIC_START 
IIC_STOP 
IIC_ACK_EN 
IIC_POS_EN 

◆ em_iic_it_t

Enumerator
IIC_IT_ERR_EN 
IIC_IT_EVT_EN 
IIC_IT_BUF_EN 

◆ em_iic_status_t

Enumerator
IIC_SB_SET 
IIC_ADDR_SET 
IIC_BTF_SET 
IIC_STOPF_SET 
IIC_RXNE_SET 
IIC_TXE_SET 
IIC_ARLO_SET 
IIC_AF_SET 
IIC_BUSY 

◆ em_process_sele_t

Enumerator
NO_START 
NO_ADDR 
NO_STOP 

Function Documentation

◆ vsf_iic_master_init()

bool vsf_iic_master_init ( vsf_iic_t iic_obj,
iic_cfg_t cfg_obj 
)
extern

◆ vsf_iic_master_read()

bool vsf_iic_master_read ( vsf_iic_t iic_obj,
uint8_t  slave_address,
uint8_t input,
uint16_t  size 
)
extern

◆ vsf_iic_master_write()

bool vsf_iic_master_write ( vsf_iic_t iic_obj,
uint8_t  slave_address,
uint8_t output,
uint16_t  out_size,
uint8_t arlo_buffer,
uint16_t  arlo_size,
uint8_t  Process_sele 
)
extern

◆ vsf_iic_master_register_event()

bool vsf_iic_master_register_event ( vsf_iic_t iic_obj,
vsf_iic_m_evt_interface_t evt_obj 
)
extern

◆ vsf_iic_get_request_state()

em_vsf_iic_request_state_t vsf_iic_get_request_state ( vsf_iic_t iic_obj)
extern

◆ vsf_iic_slave_init()

bool vsf_iic_slave_init ( vsf_iic_t iic_obj,
iic_cfg_t cfg_obj 
)
extern

◆ vsf_iic_slave_read()

bool vsf_iic_slave_read ( vsf_iic_t iic_obj,
uint8_t input,
uint16_t  size 
)
extern

◆ vsf_iic_slave_write()

bool vsf_iic_slave_write ( vsf_iic_t iic_obj,
uint8_t output,
uint16_t  size 
)
extern

◆ vsf_iic_slave_register_event()

bool vsf_iic_slave_register_event ( vsf_iic_t iic_obj,
vsf_iic_s_evt_interface_t evt_obj 
)
extern

◆ vsf_iic_task()

fsm_rt_t vsf_iic_task ( vsf_iic_t iic_obj)
extern