1#ifndef __VSF_IIC_INTERNAL_H__
2#define __VSF_IIC_INTERNAL_H__
5#include "../../__device.h"
unsigned short uint16_t
Definition lvgl.h:41
unsigned int uint32_t
Definition lvgl.h:43
unsigned char uint8_t
Definition lvgl.h:40
i2c address configuration structure
Definition vsf_iic_internal.h:8
uint32_t addressing_mode
Definition vsf_iic_internal.h:13
uint32_t own_address1
Definition vsf_iic_internal.h:15
uint32_t no_stretch_mode
Definition vsf_iic_internal.h:23
uint32_t dual_address_mode
Definition vsf_iic_internal.h:17
uint32_t duty_cycle
Definition vsf_iic_internal.h:11
uint32_t general_call_mode
Definition vsf_iic_internal.h:21
uint32_t clock_speed
Definition vsf_iic_internal.h:9
uint32_t own_address2
Definition vsf_iic_internal.h:19
Definition vsf_template_i2c.h:334
Definition vsf_iic_internal.h:126
void(* m_w_evt_txe_btf)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:129
void(* m_w_err_arlo)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:136
void(* m_r_evt_addr)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:133
void(* m_w_evt_txe)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:130
void(* m_r_evt_sb)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:132
void(* m_r_evt_rxne)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:134
void(* m_w_evt_sb)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:127
void(* m_w_evt_addr)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:128
Definition vsf_iic_internal.h:139
void(* s_r_evt_stopf)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:144
void(* s_r_evt_rxne)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:145
void(* s_w_evt_addr)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:140
void(* s_r_evt_addr)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:143
void(* s_r_err_af)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:147
void(* s_w_evt_txe)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:141
Definition vsf_iic_internal.h:103
uint8_t * input
Definition vsf_iic_internal.h:113
uint32_t arlo_size
Definition vsf_iic_internal.h:116
vsf_iic_m_evt_interface_t * master_evt_handler
Definition vsf_iic_internal.h:122
uint8_t * arlo_buffer
Definition vsf_iic_internal.h:115
uint32_t out_size
Definition vsf_iic_internal.h:119
bool is_write
Definition vsf_iic_internal.h:106
uint32_t in_size
Definition vsf_iic_internal.h:117
bool is_master
Definition vsf_iic_internal.h:105
bool iic_is_busy
Definition vsf_iic_internal.h:107
uint8_t slave_address
Definition vsf_iic_internal.h:112
bool is_arlo
Definition vsf_iic_internal.h:108
uint32_t out_count
Definition vsf_iic_internal.h:120
bool no_stop
Definition vsf_iic_internal.h:111
bool is_af_back
Definition vsf_iic_internal.h:109
I2C_TypeDef * iic_reg
Definition vsf_iic_internal.h:104
void(* callback_handler)(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.h:121
vsf_iic_s_evt_interface_t * slave_evt_handler
Definition vsf_iic_internal.h:123
bool no_addr
Definition vsf_iic_internal.h:110
uint32_t in_count
Definition vsf_iic_internal.h:118
uint8_t * output
Definition vsf_iic_internal.h:114
fsm_rt_t
Definition vsf_fsm.h:315
em_vsf_iic_request_state_t vsf_iic_get_request_state(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.c:428
em_vsf_iic_request_state_t
Definition vsf_iic_internal.h:28
@ IIC_REQ_ARLO
Definition vsf_iic_internal.h:34
@ IIC_REQ_ON_GOING
Definition vsf_iic_internal.h:29
@ IIC_REQ_CANCEL
Definition vsf_iic_internal.h:33
@ IIC_REQ_BUS_ERROR
Definition vsf_iic_internal.h:32
@ IIC_REQ_SUCCESS
Definition vsf_iic_internal.h:30
@ IIC_REQ_FAILED
Definition vsf_iic_internal.h:31
bool vsf_iic_slave_read(vsf_iic_t *iic_obj, uint8_t *input, uint16_t size)
Definition vsf_iic_internal.c:400
bool vsf_iic_master_read(vsf_iic_t *iic_obj, uint8_t slave_address, uint8_t *input, uint16_t size)
Definition vsf_iic_internal.c:342
em_iic_it_t
Definition vsf_iic_internal.h:74
@ IIC_IT_EVT_EN
Definition vsf_iic_internal.h:76
@ IIC_IT_BUF_EN
Definition vsf_iic_internal.h:77
@ IIC_IT_ERR_EN
Definition vsf_iic_internal.h:75
em_iic_mode_t
Definition vsf_iic_internal.h:37
@ IIC_ADDRESSINGMODE_10BIT
Definition vsf_iic_internal.h:44
@ IIC_GENERALCALL_DISABLE
Definition vsf_iic_internal.h:49
@ IIC_DUTYCYCLE_2
Definition vsf_iic_internal.h:40
@ IIC_NOSTRETCH_ENABLE
Definition vsf_iic_internal.h:53
@ IIC_ADDRESSINGMODE_7BIT
Definition vsf_iic_internal.h:43
@ IIC_DUALADDRESS_ENABLE
Definition vsf_iic_internal.h:47
@ IIC_MASTER_READ
Definition vsf_iic_internal.h:38
@ IIC_DUALADDRESS_DISABLE
Definition vsf_iic_internal.h:46
@ IIC_GENERALCALL_ENABLE
Definition vsf_iic_internal.h:50
@ IIC_DUTYCYCLE_16_9
Definition vsf_iic_internal.h:41
@ IIC_NOSTRETCH_DISABLE
Definition vsf_iic_internal.h:52
bool vsf_iic_master_init(vsf_iic_t *iic_obj, iic_cfg_t *cfg_obj)
Definition vsf_iic_internal.c:146
bool vsf_iic_slave_init(vsf_iic_t *iic_obj, iic_cfg_t *cfg_obj)
Definition vsf_iic_internal.c:229
bool vsf_iic_slave_register_event(vsf_iic_t *iic_obj, vsf_iic_s_evt_interface_t *evt_obj)
Definition vsf_iic_internal.c:461
bool vsf_iic_slave_write(vsf_iic_t *iic_obj, uint8_t *output, uint16_t size)
Definition vsf_iic_internal.c:372
em_iic_cr1_reg_t
Definition vsf_iic_internal.h:66
@ IIC_POS_EN
Definition vsf_iic_internal.h:71
@ IIC_STOP
Definition vsf_iic_internal.h:69
@ IIC_ACK_EN
Definition vsf_iic_internal.h:70
@ IIC_EN
Definition vsf_iic_internal.h:67
@ IIC_START
Definition vsf_iic_internal.h:68
em_iic_low_hardware_cfg_t
Definition vsf_iic_internal.h:56
@ IIC1_GPIO_MODE
Definition vsf_iic_internal.h:59
@ IIC2_GPIO_MODE
Definition vsf_iic_internal.h:63
@ IIC1_CLK_EN
Definition vsf_iic_internal.h:58
@ IIC2_CLK_EN
Definition vsf_iic_internal.h:62
@ IIC2_GPIO_CLK_EN
Definition vsf_iic_internal.h:61
@ IIC1_GPIO_CLK_EN
Definition vsf_iic_internal.h:57
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)
Definition vsf_iic_internal.c:299
bool vsf_iic_master_register_event(vsf_iic_t *iic_obj, vsf_iic_m_evt_interface_t *evt_obj)
Definition vsf_iic_internal.c:442
fsm_rt_t vsf_iic_task(vsf_iic_t *iic_obj)
Definition vsf_iic_internal.c:478
em_process_sele_t
Definition vsf_iic_internal.h:93
@ NO_STOP
Definition vsf_iic_internal.h:96
@ NO_START
Definition vsf_iic_internal.h:94
@ NO_ADDR
Definition vsf_iic_internal.h:95
em_iic_status_t
Definition vsf_iic_internal.h:80
@ IIC_SB_SET
Definition vsf_iic_internal.h:81
@ IIC_TXE_SET
Definition vsf_iic_internal.h:86
@ IIC_BTF_SET
Definition vsf_iic_internal.h:83
@ IIC_ARLO_SET
Definition vsf_iic_internal.h:87
@ IIC_RXNE_SET
Definition vsf_iic_internal.h:85
@ IIC_STOPF_SET
Definition vsf_iic_internal.h:84
@ IIC_AF_SET
Definition vsf_iic_internal.h:88
@ IIC_BUSY
Definition vsf_iic_internal.h:90
@ IIC_ADDR_SET
Definition vsf_iic_internal.h:82
uint32_t size
Definition vsf_memfs.h:50