| #include "util.h" |
| #include "i2c_driver.h" |
| #include "i2c_led_driver.h" |
| |
| extern int lgpl_printf(const char *format, ...); |
| extern int diag_i2c_led_lp5018_detect_driver(int master_id, unsigned char slave_addr); |
| extern int diag_i2c_led_lp5018_init(int master_id, unsigned char slave_addr); |
| extern int diag_i2c_led_lp5018_set_frame(int master_id, unsigned char slave_addr, |
| unsigned char *frame, size_t size); |
| |
| extern int diag_i2c_led_aw210xx_detect_driver(int master_id, unsigned char slave_addr); |
| extern int diag_i2c_led_aw210xx_init(int master_id, unsigned char slave_addr); |
| extern int diag_i2c_led_aw210xx_set_frame(int master_id, unsigned char slave_addr, |
| unsigned char *frame, size_t size); |
| |
| int diag_i2c_led_detect_driver(int master_id, unsigned char slave_addr, int led_driver_type) |
| { |
| int ret = -1; |
| |
| if (led_driver_type == LED_DRIVER_TYPE_LP5018) { |
| ret = diag_i2c_led_lp5018_detect_driver(master_id, slave_addr); |
| } else if (led_driver_type == LED_DRIVER_TYPE_AW210XX) { |
| ret = diag_i2c_led_aw210xx_detect_driver(master_id, slave_addr); |
| } |
| |
| return ret; |
| } |
| |
| int diag_i2c_led_init(int master_id, unsigned char slave_addr, int led_driver_type) { |
| int ret = -1; |
| |
| if (led_driver_type == LED_DRIVER_TYPE_LP5018) |
| ret = diag_i2c_led_lp5018_init(master_id, slave_addr); |
| else if (led_driver_type == LED_DRIVER_TYPE_AW210XX) |
| ret = diag_i2c_led_aw210xx_init(master_id, slave_addr); |
| |
| return ret; |
| } |
| |
| int diag_i2c_led_set_frame(int master_id, unsigned char slave_addr, int led_driver_type, |
| unsigned char *frame, size_t size) { |
| int ret = -1; |
| |
| if (led_driver_type == LED_DRIVER_TYPE_LP5018) |
| ret = diag_i2c_led_lp5018_set_frame(master_id, slave_addr, frame, size); |
| else if (led_driver_type == LED_DRIVER_TYPE_AW210XX) |
| ret = diag_i2c_led_aw210xx_set_frame(master_id, slave_addr, frame, size); |
| |
| return ret; |
| } |