42#define CHIP_NAME "NXP PCA9548A"
43#define MANUFACTURER_NAME "NXP"
44#define SUPPLY_VOLTAGE_MIN 2.3f
45#define SUPPLY_VOLTAGE_MAX 5.5f
46#define MAX_CURRENT 100.0f
47#define TEMPERATURE_MIN -40.0f
48#define TEMPERATURE_MAX 85.0f
49#define DRIVER_VERSION 1000
67 handle->
iic_addr = (uint8_t)(addr_pin);
117 handle->
debug_print(
"pca9548a: reset_gpio_init is null.\n");
123 handle->
debug_print(
"pca9548a: reset_gpio_deinit is null.\n");
129 handle->
debug_print(
"pca9548a: reset_gpio_write is null.\n");
135 handle->
debug_print(
"pca9548a: iic_init is null.\n");
141 handle->
debug_print(
"pca9548a: iic_deinit is null.\n");
147 handle->
debug_print(
"pca9548a: iic_read_cmd is null.\n");
153 handle->
debug_print(
"pca9548a: iic_write_cmd is null.\n");
159 handle->
debug_print(
"pca9548a: iic_read is null.\n");
165 handle->
debug_print(
"pca9548a: iic_write is null.\n");
171 handle->
debug_print(
"pca9548a: iic_read_address16 is null.\n");
177 handle->
debug_print(
"pca9548a: iic_write_address16 is null.\n");
183 handle->
debug_print(
"pca9548a: delay_ms is null.\n");
190 handle->
debug_print(
"pca9548a: iic init failed.\n");
196 handle->
debug_print(
"pca9548a: reset gpio init failed.\n");
203 handle->
debug_print(
"pca9548a: reset gpio write failed.\n");
212 handle->
debug_print(
"pca9548a: reset gpio write failed.\n");
221 (uint8_t *)&handle->
channel, 1) != 0)
223 handle->
debug_print(
"pca9548a: iic write failed.\n");
259 (uint8_t *)&handle->
channel, 1) != 0)
261 handle->
debug_print(
"pca9548a: iic write failed.\n");
268 handle->
debug_print(
"pca9548a: iic deinit failed.\n");
275 handle->
debug_print(
"pca9548a: reset gpio deinit failed.\n");
310 handle->
debug_print(
"pca9548a: reset gpio write failed.\n");
318 handle->
debug_print(
"pca9548a: reset gpio write failed.\n");
350 handle->
channel &= ~(1 << channel);
351 handle->
channel |= enable << channel;
354 handle->
debug_print(
"pca9548a: set channel failed.\n");
415 handle->
debug_print(
"pca9548a: iic read failed.\n");
449 handle->
debug_print(
"pca9548a: iic write failed.\n");
482 if (handle->
iic_read(addr, reg, buf, len) != 0)
484 handle->
debug_print(
"pca9548a: iic read failed.\n");
517 if (handle->
iic_write(addr, reg, buf, len) != 0)
519 handle->
debug_print(
"pca9548a: iic write failed.\n");
554 handle->
debug_print(
"pca9548a: iic read failed.\n");
589 handle->
debug_print(
"pca9548a: iic write failed.\n");
#define SUPPLY_VOLTAGE_MAX
#define MANUFACTURER_NAME
#define SUPPLY_VOLTAGE_MIN
#define CHIP_NAME
chip information definition
driver pca9548a header file
uint8_t pca9548a_get_channel(pca9548a_handle_t *handle, pca9548a_channel_t channel, pca9548a_bool_t *enable)
get channel
uint8_t pca9548a_set_channel(pca9548a_handle_t *handle, pca9548a_channel_t channel, pca9548a_bool_t enable)
set channel
uint8_t pca9548a_iic_read_address16(pca9548a_handle_t *handle, uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
iic read address16
uint8_t pca9548a_init(pca9548a_handle_t *handle)
initialize the chip
uint8_t pca9548a_iic_read_command(pca9548a_handle_t *handle, uint8_t addr, uint8_t *buf, uint16_t len)
iic read command
uint8_t pca9548a_reset_bus(pca9548a_handle_t *handle)
reset bus
uint8_t pca9548a_get_addr_pin(pca9548a_handle_t *handle, pca9548a_address_t *addr_pin)
get the address pin
uint8_t pca9548a_iic_write_address16(pca9548a_handle_t *handle, uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
iic write address16
pca9548a_channel_t
pca9548a channel enumeration definition
uint8_t pca9548a_iic_write(pca9548a_handle_t *handle, uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
iic write
pca9548a_address_t
pca9548a address enumeration definition
uint8_t pca9548a_set_addr_pin(pca9548a_handle_t *handle, pca9548a_address_t addr_pin)
set the address pin
uint8_t pca9548a_iic_write_command(pca9548a_handle_t *handle, uint8_t addr, uint8_t *buf, uint16_t len)
iic write command
struct pca9548a_info_s pca9548a_info_t
pca9548a information structure definition
pca9548a_bool_t
pca9548a bool enumeration definition
uint8_t pca9548a_info(pca9548a_info_t *info)
get chip's information
uint8_t pca9548a_deinit(pca9548a_handle_t *handle)
close the chip
struct pca9548a_handle_s pca9548a_handle_t
pca9548a handle structure definition
uint8_t pca9548a_iic_read(pca9548a_handle_t *handle, uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
iic read
void(* delay_ms)(uint32_t ms)
uint8_t(* reset_gpio_deinit)(void)
uint8_t(* iic_read_address16)(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* reset_gpio_init)(void)
uint8_t(* iic_read_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
uint8_t(* iic_write_address16)(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
uint8_t(* reset_gpio_write)(uint8_t level)
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, 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