@@ -1,83 +1,83 @@
/*********************************************************************************************************************
* CH32V307VCT6 Opensourec Library <20> <> <EFBFBD> <EFBFBD> CH32V307VCT6 <20> <> Դ<EFBFBD> ⣩<EFBFBD> <E2A3A9> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> ڹٷ<DAB9> SDK <20> ӿڵĵ<DAB5> <C4B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4>
* Copyright (c) 2022 SEEKFREE <20> <> <EFBFBD> ɿƼ <C9BF>
*
* <20> <> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> CH32V307VCT6 <20> <> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD>
*
* CH32V307VCT6 <20> <> Դ<EFBFBD> <D4B4> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ը<EFBFBD> <D4B8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᷢ<EFBFBD> <E1B7A2> <EFBFBD> <EFBFBD> GPL<50> <4C> GNU General Public License<73> <65> <EFBFBD> <EFBFBD> GNUͨ<55> ù<EFBFBD> <C3B9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֤<EFBFBD> <D6A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* <20> <> GPL <20> ĵ<EFBFBD> 3<EFBFBD> 棨<EFBFBD> <E6A3A8> GPL3.0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѡ <EFBFBD> <EFBFBD> <EFBFBD> ģ<EFBFBD> <EFBFBD> κκ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> İ汾<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ·<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD> <DEB8> <EFBFBD>
*
* <20> <> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> ķ<EFBFBD> <C4B7> <EFBFBD> <EFBFBD> <EFBFBD> ϣ<EFBFBD> <CFA3> <EFBFBD> <EFBFBD> <EFBFBD> ܷ<EFBFBD> <DCB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ã<EFBFBD> <C3A3> <EFBFBD> <EFBFBD> <EFBFBD> δ<EFBFBD> <CEB4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> κεı <CEB5> ֤
* <20> <> <EFBFBD> <EFBFBD> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ի<EFBFBD> <D4BB> ʺ<EFBFBD> <CABA> ض<EFBFBD> <D8B6> <EFBFBD> ; <EFBFBD> ı <EFBFBD> ֤
* <20> <> <EFBFBD> <EFBFBD> ϸ<EFBFBD> <CFB8> <EFBFBD> <EFBFBD> <EFBFBD> μ<EFBFBD> GPL
*
* <20> <> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> <D5B5> <EFBFBD> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> ͬʱ<CDAC> յ<EFBFBD> һ <EFBFBD> <D2BB> GPL <20> ĸ<EFBFBD> <C4B8> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> û<EFBFBD> У <EFBFBD> <D0A3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <https://www.gnu.org/licenses/>
*
* <20> <> <EFBFBD> <EFBFBD> ע<EFBFBD> <D7A2> <EFBFBD> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> ʹ <EFBFBD> <CAB9> GPL3.0 <20> <> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> ֤Э<D6A4> <D0AD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> İ汾
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӣ<EFBFBD> İ<EFBFBD> <C4B0> <EFBFBD> libraries/doc <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> µ<EFBFBD> GPL3_permission_statement.txt <20> ļ<EFBFBD> <C4BC> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> ֤<EFBFBD> <D6A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> libraries <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> µ<EFBFBD> LICENSE <20> ļ<EFBFBD>
* <20> <> ӭ<EFBFBD> <D3AD> λʹ <CEBB> ò<EFBFBD> <C3B2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <DEB8> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> 뱣<EFBFBD> <EBB1A3> <EFBFBD> <EFBFBD> <EFBFBD> ɿƼ <C9BF> <C6BC> İ<EFBFBD> Ȩ<EFBFBD> <C8A8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*
* <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> zf_driver_soft_iic
* <20> <> ˾<EFBFBD> <CBBE> <EFBFBD> <EFBFBD> <20> ɶ<EFBFBD> <C9B6> <EFBFBD> <EFBFBD> ɿƼ <C9BF> <C6BC> <EFBFBD> <EFBFBD> <EFBFBD> ˾
* <20> 汾<EFBFBD> <E6B1BE> Ϣ <20> 鿴 libraries/doc <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> version <20> ļ<EFBFBD> <20> 汾˵<E6B1BE> <CBB5>
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> MounRiver Studio V1.8.1
* <20> <> <EFBFBD> <EFBFBD> ƽ ̨ CH32V307VCT6
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> https://seekfree.taobao.com/
*
* <20> ļ<DEB8> ¼
* <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ע
* 2022-09-15 <20> <> W first version
********************************************************************************************************************/
* CH32V307VCT6 Opensourec Library <20> <> <EFBFBD> <EFBFBD> CH32V307VCT6 <20> <> Դ<EFBFBD> ⣩<EFBFBD> <E2A3A9> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> ڹٷ<DAB9> SDK <20> ӿڵĵ<DAB5> <C4B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4>
* Copyright (c) 2022 SEEKFREE <20> <> <EFBFBD> ɿƼ <C9BF>
*
* <20> <> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> CH32V307VCT6 <20> <> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD>
*
* CH32V307VCT6 <20> <> Դ<EFBFBD> <D4B4> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ը<EFBFBD> <D4B8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ᷢ<EFBFBD> <E1B7A2> <EFBFBD> <EFBFBD> GPL<50> <4C> GNU General Public License<73> <65> <EFBFBD> <EFBFBD> GNUͨ<55> ù<EFBFBD> <C3B9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֤<EFBFBD> <D6A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* <20> <> GPL <20> ĵ<EFBFBD> 3<EFBFBD> 棨<EFBFBD> <E6A3A8> GPL3.0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѡ <EFBFBD> <EFBFBD> <EFBFBD> ģ<EFBFBD> <EFBFBD> κκ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> İ汾<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ·<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD> <DEB8> <EFBFBD>
*
* <20> <> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> ķ<EFBFBD> <C4B7> <EFBFBD> <EFBFBD> <EFBFBD> ϣ<EFBFBD> <CFA3> <EFBFBD> <EFBFBD> <EFBFBD> ܷ<EFBFBD> <DCB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ã<EFBFBD> <C3A3> <EFBFBD> <EFBFBD> <EFBFBD> δ<EFBFBD> <CEB4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> κεı <CEB5> ֤
* <20> <> <EFBFBD> <EFBFBD> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ի<EFBFBD> <D4BB> ʺ<EFBFBD> <CABA> ض<EFBFBD> <D8B6> <EFBFBD> ; <EFBFBD> ı <EFBFBD> ֤
* <20> <> <EFBFBD> <EFBFBD> ϸ<EFBFBD> <CFB8> <EFBFBD> <EFBFBD> <EFBFBD> μ<EFBFBD> GPL
*
* <20> <> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> <D5B5> <EFBFBD> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> ͬʱ<CDAC> յ<EFBFBD> һ <EFBFBD> <D2BB> GPL <20> ĸ<EFBFBD> <C4B8> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> û<EFBFBD> У <EFBFBD> <D0A3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <https://www.gnu.org/licenses/>
*
* <20> <> <EFBFBD> <EFBFBD> ע<EFBFBD> <D7A2> <EFBFBD> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> ʹ <EFBFBD> <CAB9> GPL3.0 <20> <> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> ֤Э<D6A4> <D0AD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> İ汾
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӣ<EFBFBD> İ<EFBFBD> <C4B0> <EFBFBD> libraries/doc <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> µ<EFBFBD> GPL3_permission_statement.txt <20> ļ<EFBFBD> <C4BC> <EFBFBD>
* <20> <> <EFBFBD> <EFBFBD> ֤<EFBFBD> <D6A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> libraries <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> µ<EFBFBD> LICENSE <20> ļ<EFBFBD>
* <20> <> ӭ<EFBFBD> <D3AD> λʹ <CEBB> ò<EFBFBD> <C3B2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <DEB8> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> 뱣<EFBFBD> <EBB1A3> <EFBFBD> <EFBFBD> <EFBFBD> ɿƼ <C9BF> <C6BC> İ<EFBFBD> Ȩ<EFBFBD> <C8A8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*
* <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> zf_driver_soft_iic
* <20> <> ˾<EFBFBD> <CBBE> <EFBFBD> <EFBFBD> <20> ɶ<EFBFBD> <C9B6> <EFBFBD> <EFBFBD> ɿƼ <C9BF> <C6BC> <EFBFBD> <EFBFBD> <EFBFBD> ˾
* <20> 汾<EFBFBD> <E6B1BE> Ϣ <20> 鿴 libraries/doc <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> version <20> ļ<EFBFBD> <20> 汾˵<E6B1BE> <CBB5>
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> MounRiver Studio V1.8.1
* <20> <> <EFBFBD> <EFBFBD> ƽ ̨ CH32V307VCT6
* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> https://seekfree.taobao.com/
*
* <20> ļ<DEB8> ¼
* <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ע
* 2022-09-15 <20> <> W first version
********************************************************************************************************************/
# ifndef _zf_driver_soft_iic_h_
# define _zf_driver_soft_iic_h_
# include "zf_driver_gpio.h"
typedef struct
{
gpio_pin_enum scl_pin ; // <20> <> <EFBFBD> ڼ<EFBFBD> ¼<EFBFBD> <C2BC> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> ű<EFBFBD> <C5B1> <EFBFBD>
gpio_pin_enum sda_pin ; // <20> <> <EFBFBD> ڼ<EFBFBD> ¼<EFBFBD> <C2BC> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> ű<EFBFBD> <C5B1> <EFBFBD>
uint8 addr ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ַ <20> <> λ<EFBFBD> <CEBB> ַģʽ
uint32 delay ; // ģ<> <C4A3> IIC <20> <> <EFBFBD> <EFBFBD> ʱʱ<CAB1> <CAB1>
} soft_iic_info_struct ;
gpio_pin_enum scl_pin ; // <20> <> <EFBFBD> ڼ<EFBFBD> ¼<EFBFBD> <C2BC> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> ű<EFBFBD> <C5B1> <EFBFBD>
gpio_pin_enum sda_pin ; // <20> <> <EFBFBD> ڼ<EFBFBD> ¼<EFBFBD> <C2BC> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> ű<EFBFBD> <C5B1> <EFBFBD>
uint8 addr ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ַ <20> <> λ<EFBFBD> <CEBB> ַģʽ
uint32 delay ; // ģ<> <C4A3> IIC <20> <> <EFBFBD> <EFBFBD> ʱʱ<CAB1> <CAB1>
} soft_iic_info_struct ;
void soft_iic_write_8bit ( soft_iic_info_struct * soft_iic_obj , const uint8 data ) ;
void soft_iic_write_8bit_array ( soft_iic_info_struct * soft_iic_obj , const uint8 * data , uint32 len ) ;
void soft_iic_write_8bit ( soft_iic_info_struct * soft_iic_obj , const uint8 data ) ;
void soft_iic_write_8bit_array ( soft_iic_info_struct * soft_iic_obj , const uint8 * data , uint32 len ) ;
void soft_iic_write_16bit ( soft_iic_info_struct * soft_iic_obj , const uint16 data ) ;
void soft_iic_write_16bit_array ( soft_iic_info_struct * soft_iic_obj , const uint16 * data , uint32 len ) ;
void soft_iic_write_16bit ( soft_iic_info_struct * soft_iic_obj , const uint16 data ) ;
void soft_iic_write_16bit_array ( soft_iic_info_struct * soft_iic_obj , const uint16 * data , uint32 len ) ;
void soft_iic_write_8bit_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , const uint8 data ) ;
void soft_iic_write_8bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , const uint8 * data , uint32 len ) ;
void soft_iic_write_8bit_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , const uint8 data ) ;
void soft_iic_write_8bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , const uint8 * data , uint32 len ) ;
void soft_iic_write_16bit_register ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name , const uint16 data ) ;
void soft_iic_write_16bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name , const uint16 * data , uint32 len ) ;
void soft_iic_write_16bit_register ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name , const uint16 data ) ;
void soft_iic_write_16bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name , const uint16 * data , uint32 len ) ;
uint8 soft_iic_read_8bit ( soft_iic_info_struct * soft_iic_obj ) ;
void soft_iic_read_8bit_array ( soft_iic_info_struct * soft_iic_obj , uint8 * data , uint32 len ) ;
uint8 soft_iic_read_8bit ( soft_iic_info_struct * soft_iic_obj ) ;
void soft_iic_read_8bit_array ( soft_iic_info_struct * soft_iic_obj , uint8 * data , uint32 len ) ;
uint16 soft_iic_read_16bit ( soft_iic_info_struct * soft_iic_obj ) ;
void soft_iic_read_16bit_array ( soft_iic_info_struct * soft_iic_obj , uint16 * data , uint32 len ) ;
uint16 soft_iic_read_16bit ( soft_iic_info_struct * soft_iic_obj ) ;
void soft_iic_read_16bit_array ( soft_iic_info_struct * soft_iic_obj , uint16 * data , uint32 len ) ;
uint8 soft_iic_read_8bit_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name ) ;
void soft_iic_read_8bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , uint8 * data , uint32 len ) ;
uint8 soft_iic_read_8bit_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name ) ;
void soft_iic_read_8bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , uint8 * data , uint32 len ) ;
uint16 soft_iic_read_16bit_register ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name ) ;
void soft_iic_read_16bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name , uint16 * data , uint32 len ) ;
uint16 soft_iic_read_16bit_register ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name ) ;
void soft_iic_read_16bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint16 register_name , uint16 * data , uint32 len ) ;
void soft_iic_transfer_8bit_array ( soft_iic_info_struct * soft_iic_obj , const uint8 * write_data , uint32 write_len , uint8 * read_data , uint32 read_len ) ;
void soft_iic_transfer_16bit_array ( soft_iic_info_struct * soft_iic_obj , const uint16 * write_data , uint32 write_len , uint16 * read_data , uint32 read_len ) ;
void soft_iic_transfer_8bit_array ( soft_iic_info_struct * soft_iic_obj , const uint8 * write_data , uint32 write_len , uint8 * read_data , uint32 read_len ) ;
void soft_iic_transfer_16bit_array ( soft_iic_info_struct * soft_iic_obj , const uint16 * write_data , uint32 write_len , uint16 * read_data , uint32 read_len ) ;
void soft_iic_sccb_write_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , uint8 data ) ;
uint8 soft_iic_sccb_read_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name ) ;
void soft_iic_sccb_write_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name , uint8 data ) ;
uint8 soft_iic_sccb_read_register ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name ) ;
void soft_iic_init ( soft_iic_info_struct * soft_iic_obj , uint8 addr , uint32 delay , gpio_pin_enum scl_pin , gpio_pin_enum sda_pin ) ;
void soft_iic_init ( soft_iic_info_struct * soft_iic_obj , uint8 addr , uint32 delay , gpio_pin_enum scl_pin , gpio_pin_enum sda_pin ) ;
void eep_soft_iic_write_8bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name_h , const uint8 register_name_l , const uint8 * data , uint32 len ) ;
void eep_soft_iic_read_8bit_registers ( soft_iic_info_struct * soft_iic_obj , const uint8 register_name_h , const uint8 register_name_l , uint8 * data , uint32 len ) ;
# endif