42#define CHIP_NAME "NXP PCF8574"
43#define MANUFACTURER_NAME "NXP"
44#define SUPPLY_VOLTAGE_MIN 2.5f
45#define SUPPLY_VOLTAGE_MAX 6.0f
46#define MAX_CURRENT 200.0f
47#define TEMPERATURE_MIN -40.0f
48#define TEMPERATURE_MAX 85.0f
49#define DRIVER_VERSION 1000
68 handle->
iic_addr |= (uint8_t)(addr_pin << 1);
119 handle->
debug_print(
"pcf8574: iic_init is null.\n");
125 handle->
debug_print(
"pcf8574: iic_deinit is null.\n");
131 handle->
debug_print(
"pcf8574: iic_read_cmd is null.\n");
137 handle->
debug_print(
"pcf8574: iic_write_cmd is null.\n");
143 handle->
debug_print(
"pcf8574: delay_ms is null.\n");
150 handle->
debug_print(
"pcf8574: iic init failed.\n");
156 (uint8_t *)&data, 1) != 0)
158 handle->
debug_print(
"pcf8574: iic write failed.\n");
194 handle->
debug_print(
"pcf8574: iic deinit failed.\n");
232 handle->
debug_print(
"pcf8574: iic read failed.\n");
270 handle->
debug_print(
"pcf8574: iic read failed.\n");
275 data |= level << pin;
279 handle->
debug_print(
"pcf8574: iic write failed.\n");
#define SUPPLY_VOLTAGE_MAX
#define MANUFACTURER_NAME
#define SUPPLY_VOLTAGE_MIN
#define CHIP_NAME
chip information definition
driver pcf8574 header file
uint8_t pcf8574_info(pcf8574_info_t *info)
get chip's information
struct pcf8574_info_s pcf8574_info_t
pcf8574 information structure definition
uint8_t pcf8574_deinit(pcf8574_handle_t *handle)
close the chip
uint8_t pcf8574_get_addr_pin(pcf8574_handle_t *handle, pcf8574_address_t *addr_pin)
get the address pin
uint8_t pcf8574_write(pcf8574_handle_t *handle, pcf8574_pin_t pin, pcf8574_pin_level_t level)
write the pin
struct pcf8574_handle_s pcf8574_handle_t
pcf8574 handle structure definition
pcf8574_pin_level_t
pcf8574 pin enumeration definition
uint8_t pcf8574_read(pcf8574_handle_t *handle, pcf8574_pin_t pin, pcf8574_pin_level_t *level)
read the pin
uint8_t pcf8574_init(pcf8574_handle_t *handle)
initialize the chip
pcf8574_pin_t
pcf8574 pin enumeration definition
pcf8574_address_t
pcf8574 address enumeration definition
uint8_t pcf8574_set_addr_pin(pcf8574_handle_t *handle, pcf8574_address_t addr_pin)
set the address pin
uint8_t pcf8574_get_reg(pcf8574_handle_t *handle, uint8_t *buf, uint16_t len)
get the chip register
uint8_t pcf8574_set_reg(pcf8574_handle_t *handle, uint8_t *buf, uint16_t len)
set the chip register
void(* delay_ms)(uint32_t ms)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* iic_read_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
uint8_t(* iic_deinit)(void)
uint8_t(* iic_write_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v