LED drivers: clean up SWx/CSy pullup/down resistor config (#22381)

This commit is contained in:
Ryan 2023-11-10 08:39:15 +11:00 committed by GitHub
parent 6b19a99a4f
commit 8136cf4bfb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 302 additions and 218 deletions

View file

@ -36,8 +36,8 @@
#define IS31FL3733_REG_CONFIGURATION 0x00 // PG3
#define IS31FL3733_REG_GLOBALCURRENT 0x01 // PG3
#define IS31FL3733_REG_RESET 0x11 // PG3
#define IS31FL3733_REG_SWPULLUP 0x0F // PG3
#define IS31FL3733_REG_CSPULLUP 0x10 // PG3
#define IS31FL3733_REG_SW_PULLUP 0x0F // PG3
#define IS31FL3733_REG_CS_PULLDOWN 0x10 // PG3
#define IS31FL3733_PWM_REGISTER_COUNT 192
#define IS31FL3733_LED_CONTROL_REGISTER_COUNT 24
@ -54,12 +54,12 @@
# define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3733B only
#endif
#ifndef IS31FL3733_SWPULLUP
# define IS31FL3733_SWPULLUP IS31FL3733_PUR_0R
#ifndef IS31FL3733_SW_PULLUP
# define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM
#endif
#ifndef IS31FL3733_CSPULLUP
# define IS31FL3733_CSPULLUP IS31FL3733_PUR_0R
#ifndef IS31FL3733_CS_PULLDOWN
# define IS31FL3733_CSPULLDOWN IS31FL3733_PDR_0_OHM
#endif
#ifndef IS31FL3733_GLOBALCURRENT
@ -206,9 +206,9 @@ void is31fl3733_init(uint8_t addr, uint8_t sync) {
// Select PG3
is31fl3733_write_register(addr, IS31FL3733_COMMANDREGISTER, IS31FL3733_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3733_write_register(addr, IS31FL3733_REG_SWPULLUP, IS31FL3733_SWPULLUP);
is31fl3733_write_register(addr, IS31FL3733_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
is31fl3733_write_register(addr, IS31FL3733_REG_CSPULLUP, IS31FL3733_CSPULLUP);
is31fl3733_write_register(addr, IS31FL3733_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
// Set global current to maximum.
is31fl3733_write_register(addr, IS31FL3733_REG_GLOBALCURRENT, IS31FL3733_GLOBALCURRENT);
// Disable software shutdown.

View file

@ -39,10 +39,10 @@
# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3733_SWPULLUP ISSI_SWPULLUP
# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3733_CSPULLUP ISSI_CSPULLUP
# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3733_GLOBALCURRENT ISSI_GLOBALCURRENT
@ -51,13 +51,13 @@
#define is31_led is31fl3733_led_t
#define g_is31_leds g_is31fl3733_leds
#define PUR_0R IS31FL3733_PUR_0R
#define PUR_05KR IS31FL3733_PUR_05KR
#define PUR_3KR IS31FL3733_PUR_3KR
#define PUR_4KR IS31FL3733_PUR_4KR
#define PUR_8KR IS31FL3733_PUR_8KR
#define PUR_16KR IS31FL3733_PUR_16KR
#define PUR_32KR IS31FL3733_PUR_32KR
#define PUR_0R IS31FL3733_PUR_0_OHM
#define PUR_05KR IS31FL3733_PUR_1K_OHM
#define PUR_3KR IS31FL3733_PUR_2K_OHM
#define PUR_4KR IS31FL3733_PUR_4K_OHM
#define PUR_8KR IS31FL3733_PUR_8K_OHM
#define PUR_16KR IS31FL3733_PUR_16K_OHM
#define PUR_32KR IS31FL3733_PUR_32K_OHM
// ========
#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50
@ -107,13 +107,23 @@ void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3733_flush(void);
#define IS31FL3733_PUR_0R 0x00 // No PUR resistor
#define IS31FL3733_PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL
#define IS31FL3733_PUR_3KR 0x03 // 3.0k Ohm resistor on all the time
#define IS31FL3733_PUR_4KR 0x04 // 4.0k Ohm resistor on all the time
#define IS31FL3733_PUR_8KR 0x05 // 8.0k Ohm resistor on all the time
#define IS31FL3733_PUR_16KR 0x06 // 16k Ohm resistor on all the time
#define IS31FL3733_PUR_32KR 0x07 // 32k Ohm resistor in t_NOL
#define IS31FL3733_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3733_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3733_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3733_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3733_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3733_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3733_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3733_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3733_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3733_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3733_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3733_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3733_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3733_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3733_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3733_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0b000
#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0b001

View file

@ -35,8 +35,8 @@
#define IS31FL3733_REG_CONFIGURATION 0x00 // PG3
#define IS31FL3733_REG_GLOBALCURRENT 0x01 // PG3
#define IS31FL3733_REG_RESET 0x11 // PG3
#define IS31FL3733_REG_SWPULLUP 0x0F // PG3
#define IS31FL3733_REG_CSPULLUP 0x10 // PG3
#define IS31FL3733_REG_SW_PULLUP 0x0F // PG3
#define IS31FL3733_REG_CS_PULLDOWN 0x10 // PG3
#define IS31FL3733_PWM_REGISTER_COUNT 192
#define IS31FL3733_LED_CONTROL_REGISTER_COUNT 24
@ -53,12 +53,12 @@
# define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3733B only
#endif
#ifndef IS31FL3733_SWPULLUP
# define IS31FL3733_SWPULLUP IS31FL3733_PUR_0R
#ifndef IS31FL3733_SW_PULLUP
# define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM
#endif
#ifndef IS31FL3733_CSPULLUP
# define IS31FL3733_CSPULLUP IS31FL3733_PUR_0R
#ifndef IS31FL3733_CS_PULLDOWN
# define IS31FL3733_CS_PULLDOWN IS31FL3733_PDR_0_OHM
#endif
#ifndef IS31FL3733_GLOBALCURRENT
@ -205,9 +205,9 @@ void is31fl3733_init(uint8_t addr, uint8_t sync) {
// Select PG3
is31fl3733_write_register(addr, IS31FL3733_COMMANDREGISTER, IS31FL3733_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3733_write_register(addr, IS31FL3733_REG_SWPULLUP, IS31FL3733_SWPULLUP);
is31fl3733_write_register(addr, IS31FL3733_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
is31fl3733_write_register(addr, IS31FL3733_REG_CSPULLUP, IS31FL3733_CSPULLUP);
is31fl3733_write_register(addr, IS31FL3733_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
// Set global current to maximum.
is31fl3733_write_register(addr, IS31FL3733_REG_GLOBALCURRENT, IS31FL3733_GLOBALCURRENT);
// Disable software shutdown.

View file

@ -62,10 +62,10 @@
# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3733_SWPULLUP ISSI_SWPULLUP
# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3733_CSPULLUP ISSI_CSPULLUP
# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3733_GLOBALCURRENT ISSI_GLOBALCURRENT
@ -74,13 +74,13 @@
#define is31_led is31fl3733_led_t
#define g_is31_leds g_is31fl3733_leds
#define PUR_0R IS31FL3733_PUR_0R
#define PUR_05KR IS31FL3733_PUR_05KR
#define PUR_3KR IS31FL3733_PUR_3KR
#define PUR_4KR IS31FL3733_PUR_4KR
#define PUR_8KR IS31FL3733_PUR_8KR
#define PUR_16KR IS31FL3733_PUR_16KR
#define PUR_32KR IS31FL3733_PUR_32KR
#define PUR_0R IS31FL3733_PUR_0_OHM
#define PUR_05KR IS31FL3733_PUR_1K_OHM
#define PUR_3KR IS31FL3733_PUR_2K_OHM
#define PUR_4KR IS31FL3733_PUR_4K_OHM
#define PUR_8KR IS31FL3733_PUR_8K_OHM
#define PUR_16KR IS31FL3733_PUR_16K_OHM
#define PUR_32KR IS31FL3733_PUR_32K_OHM
// ========
#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50
@ -132,13 +132,23 @@ void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3733_flush(void);
#define IS31FL3733_PUR_0R 0x00 // No PUR resistor
#define IS31FL3733_PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL
#define IS31FL3733_PUR_3KR 0x03 // 3.0k Ohm resistor on all the time
#define IS31FL3733_PUR_4KR 0x04 // 4.0k Ohm resistor on all the time
#define IS31FL3733_PUR_8KR 0x05 // 8.0k Ohm resistor on all the time
#define IS31FL3733_PUR_16KR 0x06 // 16k Ohm resistor on all the time
#define IS31FL3733_PUR_32KR 0x07 // 32k Ohm resistor in t_NOL
#define IS31FL3733_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3733_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3733_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3733_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3733_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3733_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3733_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3733_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3733_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3733_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3733_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3733_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3733_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3733_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3733_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3733_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0b000
#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0b001

View file

@ -33,8 +33,8 @@
#define IS31FL3736_REG_CONFIGURATION 0x00 // PG3
#define IS31FL3736_REG_GLOBALCURRENT 0x01 // PG3
#define IS31FL3736_REG_RESET 0x11 // PG3
#define IS31FL3736_REG_SWPULLUP 0x0F // PG3
#define IS31FL3736_REG_CSPULLUP 0x10 // PG3
#define IS31FL3736_REG_SW_PULLUP 0x0F // PG3
#define IS31FL3736_REG_CS_PULLDOWN 0x10 // PG3
#define IS31FL3736_PWM_REGISTER_COUNT 192 // actually 96
#define IS31FL3736_LED_CONTROL_REGISTER_COUNT 24
@ -51,12 +51,12 @@
# define IS31FL3736_PWM_FREQUENCY IS31FL3736_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3736B only
#endif
#ifndef IS31FL3736_SWPULLUP
# define IS31FL3736_SWPULLUP IS31FL3736_PUR_0R
#ifndef IS31FL3736_SW_PULLUP
# define IS31FL3736_SW_PULLUP IS31FL3736_PUR_0_OHM
#endif
#ifndef IS31FL3736_CSPULLUP
# define IS31FL3736_CSPULLUP IS31FL3736_PUR_0R
#ifndef IS31FL3736_CS_PULLDOWN
# define IS31FL3736_CS_PULLDOWN IS31FL3736_PDR_0_OHM
#endif
#ifndef IS31FL3736_GLOBALCURRENT
@ -178,9 +178,9 @@ void is31fl3736_init(uint8_t addr) {
// Select PG3
is31fl3736_write_register(addr, IS31FL3736_COMMANDREGISTER, IS31FL3736_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3736_write_register(addr, IS31FL3736_REG_SWPULLUP, IS31FL3736_SWPULLUP);
is31fl3736_write_register(addr, IS31FL3736_REG_SW_PULLUP, IS31FL3736_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
is31fl3736_write_register(addr, IS31FL3736_REG_CSPULLUP, IS31FL3736_CSPULLUP);
is31fl3736_write_register(addr, IS31FL3736_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN);
// Set global current to maximum.
is31fl3736_write_register(addr, IS31FL3736_REG_GLOBALCURRENT, IS31FL3736_GLOBALCURRENT);
// Disable software shutdown.

View file

@ -33,10 +33,10 @@
# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3736_SWPULLUP ISSI_SWPULLUP
# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3736_CSPULLUP ISSI_CSPULLUP
# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3736_GLOBALCURRENT ISSI_GLOBALCURRENT
@ -45,14 +45,14 @@
#define is31_led is31fl3736_led_t
#define g_is31_leds g_is31fl3736_leds
#define PUR_0R IS31FL3736_PUR_0R
#define PUR_05KR IS31FL3736_PUR_05KR
#define PUR_1KR IS31FL3736_PUR_1KR
#define PUR_2KR IS31FL3736_PUR_2KR
#define PUR_4KR IS31FL3736_PUR_4KR
#define PUR_8KR IS31FL3736_PUR_8KR
#define PUR_16KR IS31FL3736_PUR_16KR
#define PUR_32KR IS31FL3736_PUR_32KR
#define PUR_0R IS31FL3736_PUR_0_OHM
#define PUR_05KR IS31FL3736_PUR_05K_OHM
#define PUR_1KR IS31FL3736_PUR_1K_OHM
#define PUR_2KR IS31FL3736_PUR_2K_OHM
#define PUR_4KR IS31FL3736_PUR_4K_OHM
#define PUR_8KR IS31FL3736_PUR_8K_OHM
#define PUR_16KR IS31FL3736_PUR_16K_OHM
#define PUR_32KR IS31FL3736_PUR_32K_OHM
// ========
#define IS31FL3736_I2C_ADDRESS_GND_GND 0x50
@ -102,14 +102,23 @@ void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3736_flush(void);
#define IS31FL3736_PUR_0R 0x00 // No PUR resistor
#define IS31FL3736_PUR_05KR 0x01 // 0.5k Ohm resistor
#define IS31FL3736_PUR_1KR 0x02 // 1.0k Ohm resistor
#define IS31FL3736_PUR_2KR 0x03 // 2.0k Ohm resistor
#define IS31FL3736_PUR_4KR 0x04 // 4.0k Ohm resistor
#define IS31FL3736_PUR_8KR 0x05 // 8.0k Ohm resistor
#define IS31FL3736_PUR_16KR 0x06 // 16k Ohm resistor
#define IS31FL3736_PUR_32KR 0x07 // 32k Ohm resistor
#define IS31FL3736_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3736_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3736_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3736_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3736_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3736_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3736_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3736_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3736_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3736_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3736_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3736_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3736_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3736_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3736_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3736_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3736_PWM_FREQUENCY_8K4_HZ 0b000
#define IS31FL3736_PWM_FREQUENCY_4K2_HZ 0b001

View file

@ -33,8 +33,8 @@
#define IS31FL3736_REG_CONFIGURATION 0x00 // PG3
#define IS31FL3736_REG_GLOBALCURRENT 0x01 // PG3
#define IS31FL3736_REG_RESET 0x11 // PG3
#define IS31FL3736_REG_SWPULLUP 0x0F // PG3
#define IS31FL3736_REG_CSPULLUP 0x10 // PG3
#define IS31FL3736_REG_SW_PULLUP 0x0F // PG3
#define IS31FL3736_REG_CS_PULLDOWN 0x10 // PG3
#define IS31FL3736_PWM_REGISTER_COUNT 192 // actually 96
#define IS31FL3736_LED_CONTROL_REGISTER_COUNT 24
@ -51,12 +51,12 @@
# define IS31FL3736_PWM_FREQUENCY IS31FL3736_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3736B only
#endif
#ifndef IS31FL3736_SWPULLUP
# define IS31FL3736_SWPULLUP IS31FL3736_PUR_0R
#ifndef IS31FL3736_SW_PULLUP
# define IS31FL3736_SW_PULLUP IS31FL3736_PUR_0_OHM
#endif
#ifndef IS31FL3736_CSPULLUP
# define IS31FL3736_CSPULLUP IS31FL3736_PUR_0R
#ifndef IS31FL3736_CS_PULLDOWN
# define IS31FL3736_CS_PULLDOWN IS31FL3736_PDR_0_OHM
#endif
#ifndef IS31FL3736_GLOBALCURRENT
@ -178,9 +178,9 @@ void is31fl3736_init(uint8_t addr) {
// Select PG3
is31fl3736_write_register(addr, IS31FL3736_COMMANDREGISTER, IS31FL3736_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3736_write_register(addr, IS31FL3736_REG_SWPULLUP, IS31FL3736_SWPULLUP);
is31fl3736_write_register(addr, IS31FL3736_REG_SW_PULLUP, IS31FL3736_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
is31fl3736_write_register(addr, IS31FL3736_REG_CSPULLUP, IS31FL3736_CSPULLUP);
is31fl3736_write_register(addr, IS31FL3736_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN);
// Set global current to maximum.
is31fl3736_write_register(addr, IS31FL3736_REG_GLOBALCURRENT, IS31FL3736_GLOBALCURRENT);
// Disable software shutdown.

View file

@ -45,10 +45,10 @@
# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3736_SWPULLUP ISSI_SWPULLUP
# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3736_CSPULLUP ISSI_CSPULLUP
# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3736_GLOBALCURRENT ISSI_GLOBALCURRENT
@ -57,14 +57,14 @@
#define is31_led is31fl3736_led_t
#define g_is31_leds g_is31fl3736_leds
#define PUR_0R IS31FL3736_PUR_0R
#define PUR_05KR IS31FL3736_PUR_05KR
#define PUR_1KR IS31FL3736_PUR_1KR
#define PUR_2KR IS31FL3736_PUR_2KR
#define PUR_4KR IS31FL3736_PUR_4KR
#define PUR_8KR IS31FL3736_PUR_8KR
#define PUR_16KR IS31FL3736_PUR_16KR
#define PUR_32KR IS31FL3736_PUR_32KR
#define PUR_0R IS31FL3736_PUR_0_OHM
#define PUR_05KR IS31FL3736_PUR_0K5_OHM
#define PUR_1KR IS31FL3736_PUR_1K_OHM
#define PUR_2KR IS31FL3736_PUR_2K_OHM
#define PUR_4KR IS31FL3736_PUR_4K_OHM
#define PUR_8KR IS31FL3736_PUR_8K_OHM
#define PUR_16KR IS31FL3736_PUR_16K_OHM
#define PUR_32KR IS31FL3736_PUR_32K_OHM
// ========
#define IS31FL3736_I2C_ADDRESS_GND_GND 0x50
@ -116,14 +116,23 @@ void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3736_flush(void);
#define IS31FL3736_PUR_0R 0x00 // No PUR resistor
#define IS31FL3736_PUR_05KR 0x01 // 0.5k Ohm resistor
#define IS31FL3736_PUR_1KR 0x02 // 1.0k Ohm resistor
#define IS31FL3736_PUR_2KR 0x03 // 2.0k Ohm resistor
#define IS31FL3736_PUR_4KR 0x04 // 4.0k Ohm resistor
#define IS31FL3736_PUR_8KR 0x05 // 8.0k Ohm resistor
#define IS31FL3736_PUR_16KR 0x06 // 16k Ohm resistor
#define IS31FL3736_PUR_32KR 0x07 // 32k Ohm resistor
#define IS31FL3736_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3736_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3736_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3736_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3736_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3736_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3736_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3736_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3736_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3736_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3736_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3736_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3736_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3736_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3736_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3736_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3736_PWM_FREQUENCY_8K4_HZ 0b000
#define IS31FL3736_PWM_FREQUENCY_4K2_HZ 0b001

View file

@ -35,8 +35,8 @@
#define IS31FL3737_REG_CONFIGURATION 0x00 // PG3
#define IS31FL3737_REG_GLOBALCURRENT 0x01 // PG3
#define IS31FL3737_REG_RESET 0x11 // PG3
#define IS31FL3737_REG_SWPULLUP 0x0F // PG3
#define IS31FL3737_REG_CSPULLUP 0x10 // PG3
#define IS31FL3737_REG_SW_PULLUP 0x0F // PG3
#define IS31FL3737_REG_CS_PULLDOWN 0x10 // PG3
#define IS31FL3737_PWM_REGISTER_COUNT 192 // actually 144
#define IS31FL3737_LED_CONTROL_REGISTER_COUNT 24
@ -53,12 +53,12 @@
# define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3737B only
#endif
#ifndef IS31FL3737_SWPULLUP
# define IS31FL3737_SWPULLUP IS31FL3737_PUR_0R
#ifndef IS31FL3737_SW_PULLUP
# define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM
#endif
#ifndef IS31FL3737_CSPULLUP
# define IS31FL3737_CSPULLUP IS31FL3737_PUR_0R
#ifndef IS31FL3737_CS_PULLDOWN
# define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM
#endif
#ifndef IS31FL3737_GLOBALCURRENT
@ -181,9 +181,9 @@ void is31fl3737_init(uint8_t addr) {
// Select PG3
is31fl3737_write_register(addr, IS31FL3737_COMMANDREGISTER, IS31FL3737_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3737_write_register(addr, IS31FL3737_REG_SWPULLUP, IS31FL3737_SWPULLUP);
is31fl3737_write_register(addr, IS31FL3737_REG_SW_PULLUP, IS31FL3737_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
is31fl3737_write_register(addr, IS31FL3737_REG_CSPULLUP, IS31FL3737_CSPULLUP);
is31fl3737_write_register(addr, IS31FL3737_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN);
// Set global current to maximum.
is31fl3737_write_register(addr, IS31FL3737_REG_GLOBALCURRENT, IS31FL3737_GLOBALCURRENT);
// Disable software shutdown.

View file

@ -38,23 +38,23 @@
# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3737_SWPULLUP ISSI_SWPULLUP
# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3737_CSPULLUP ISSI_CSPULLUP
# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3737_GLOBALCURRENT ISSI_GLOBALCURRENT
#endif
#define PUR_0R IS31FL3737_PUR_0R
#define PUR_05KR IS31FL3737_PUR_05KR
#define PUR_1KR IS31FL3737_PUR_1KR
#define PUR_2KR IS31FL3737_PUR_2KR
#define PUR_4KR IS31FL3737_PUR_4KR
#define PUR_8KR IS31FL3737_PUR_8KR
#define PUR_16KR IS31FL3737_PUR_16KR
#define PUR_32KR IS31FL3737_PUR_32KR
#define PUR_0R IS31FL3737_PUR_0_OHM
#define PUR_05KR IS31FL3737_PUR_0K5_OHM
#define PUR_1KR IS31FL3737_PUR_1K_OHM
#define PUR_2KR IS31FL3737_PUR_2K_OHM
#define PUR_4KR IS31FL3737_PUR_4K_OHM
#define PUR_8KR IS31FL3737_PUR_8K_OHM
#define PUR_16KR IS31FL3737_PUR_16K_OHM
#define PUR_32KR IS31FL3737_PUR_32K_OHM
// ========
#define IS31FL3737_I2C_ADDRESS_GND 0x50
@ -92,14 +92,23 @@ void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3737_flush(void);
#define IS31FL3737_PUR_0R 0x00 // No PUR resistor
#define IS31FL3737_PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL
#define IS31FL3737_PUR_1KR 0x02 // 1.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_2KR 0x03 // 2.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_4KR 0x04 // 4.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_8KR 0x05 // 8.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_16KR 0x06 // 16k Ohm resistor in t_NOL
#define IS31FL3737_PUR_32KR 0x07 // 32k Ohm resistor in t_NOL
#define IS31FL3737_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3737_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3737_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3737_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3737_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3737_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3737_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3737_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3737_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3737_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3737_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3737_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3737_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3737_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3737_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3737_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3737_PWM_FREQUENCY_8K4_HZ 0b000
#define IS31FL3737_PWM_FREQUENCY_4K2_HZ 0b001

View file

@ -35,8 +35,8 @@
#define IS31FL3737_REG_CONFIGURATION 0x00 // PG3
#define IS31FL3737_REG_GLOBALCURRENT 0x01 // PG3
#define IS31FL3737_REG_RESET 0x11 // PG3
#define IS31FL3737_REG_SWPULLUP 0x0F // PG3
#define IS31FL3737_REG_CSPULLUP 0x10 // PG3
#define IS31FL3737_REG_SW_PULLUP 0x0F // PG3
#define IS31FL3737_REG_CS_PULLDOWN 0x10 // PG3
#define IS31FL3737_PWM_REGISTER_COUNT 192 // actually 144
#define IS31FL3737_LED_CONTROL_REGISTER_COUNT 24
@ -53,12 +53,12 @@
# define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3737B only
#endif
#ifndef IS31FL3737_SWPULLUP
# define IS31FL3737_SWPULLUP IS31FL3737_PUR_0R
#ifndef IS31FL3737_SW_PULLUP
# define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM
#endif
#ifndef IS31FL3737_CSPULLUP
# define IS31FL3737_CSPULLUP IS31FL3737_PUR_0R
#ifndef IS31FL3737_CS_PULLDONW
# define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM
#endif
#ifndef IS31FL3737_GLOBALCURRENT
@ -181,9 +181,9 @@ void is31fl3737_init(uint8_t addr) {
// Select PG3
is31fl3737_write_register(addr, IS31FL3737_COMMANDREGISTER, IS31FL3737_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3737_write_register(addr, IS31FL3737_REG_SWPULLUP, IS31FL3737_SWPULLUP);
is31fl3737_write_register(addr, IS31FL3737_REG_SW_PULLUP, IS31FL3737_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
is31fl3737_write_register(addr, IS31FL3737_REG_CSPULLUP, IS31FL3737_CSPULLUP);
is31fl3737_write_register(addr, IS31FL3737_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN);
// Set global current to maximum.
is31fl3737_write_register(addr, IS31FL3737_REG_GLOBALCURRENT, IS31FL3737_GLOBALCURRENT);
// Disable software shutdown.

View file

@ -50,10 +50,10 @@
# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3737_SWPULLUP ISSI_SWPULLUP
# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3737_CSPULLUP ISSI_CSPULLUP
# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3737_GLOBALCURRENT ISSI_GLOBALCURRENT
@ -62,14 +62,14 @@
#define is31_led is31fl3737_led_t
#define g_is31_leds g_is31fl3737_leds
#define PUR_0R IS31FL3737_PUR_0R
#define PUR_05KR IS31FL3737_PUR_05KR
#define PUR_1KR IS31FL3737_PUR_1KR
#define PUR_2KR IS31FL3737_PUR_2KR
#define PUR_4KR IS31FL3737_PUR_4KR
#define PUR_8KR IS31FL3737_PUR_8KR
#define PUR_16KR IS31FL3737_PUR_16KR
#define PUR_32KR IS31FL3737_PUR_32KR
#define PUR_0R IS31FL3737_PUR_0_OHM
#define PUR_05KR IS31FL3737_PUR_0K5_OHM
#define PUR_1KR IS31FL3737_PUR_1K_OHM
#define PUR_2KR IS31FL3737_PUR_2K_OHM
#define PUR_4KR IS31FL3737_PUR_4K_OHM
#define PUR_8KR IS31FL3737_PUR_8K_OHM
#define PUR_16KR IS31FL3737_PUR_16K_OHM
#define PUR_32KR IS31FL3737_PUR_32K_OHM
// ========
#define IS31FL3737_I2C_ADDRESS_GND 0x50
@ -109,14 +109,23 @@ void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3737_flush(void);
#define IS31FL3737_PUR_0R 0x00 // No PUR resistor
#define IS31FL3737_PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL
#define IS31FL3737_PUR_1KR 0x02 // 1.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_2KR 0x03 // 2.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_4KR 0x04 // 4.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_8KR 0x05 // 8.0k Ohm resistor in t_NOL
#define IS31FL3737_PUR_16KR 0x06 // 16k Ohm resistor in t_NOL
#define IS31FL3737_PUR_32KR 0x07 // 32k Ohm resistor in t_NOL
#define IS31FL3737_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3737_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3737_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3737_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3737_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3737_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3737_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3737_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3737_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3737_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3737_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3737_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3737_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3737_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3737_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3737_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3737_PWM_FREQUENCY_8K4_HZ 0b000
#define IS31FL3737_PWM_FREQUENCY_4K2_HZ 0b001

View file

@ -58,12 +58,12 @@
# define IS31FL3741_PWM_FREQUENCY IS31FL3741_PWM_FREQUENCY_29K_HZ
#endif
#ifndef IS31FL3741_SWPULLUP
# define IS31FL3741_SWPULLUP IS31FL3741_PUR_32KR
#ifndef IS31FL3741_SW_PULLUP
# define IS31FL3741_SW_PULLUP IS31FL3741_PUR_32K_OHM
#endif
#ifndef IS31FL3741_CSPULLUP
# define IS31FL3741_CSPULLUP IS31FL3741_PUR_32KR
#ifndef IS31FL3741_CS_PULLDOWN
# define IS31FL3741_CS_PULLDOWN IS31FL3741_PDR_32K_OHM
#endif
#ifndef IS31FL3741_GLOBALCURRENT
@ -192,7 +192,7 @@ void is31fl3741_init(uint8_t addr) {
// Set Golbal Current Control Register
is31fl3741_write_register(addr, IS31FL3741_REG_GLOBALCURRENT, IS31FL3741_GLOBALCURRENT);
// Set Pull up & Down for SWx CSy
is31fl3741_write_register(addr, IS31FL3741_REG_PULLDOWNUP, ((IS31FL3741_CSPULLUP << 4) | IS31FL3741_SWPULLUP));
is31fl3741_write_register(addr, IS31FL3741_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP));
// Set PWM frequency
is31fl3741_write_register(addr, IS31FL3741_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111));

View file

@ -38,23 +38,23 @@
# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3741_SWPULLUP ISSI_SWPULLUP
# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3741_CSPULLUP ISSI_CSPULLUP
# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3741_GLOBALCURRENT ISSI_GLOBALCURRENT
#endif
#define PUR_0R IS31FL3741_PUR_0R
#define PUR_05KR IS31FL3741_PUR_05KR
#define PUR_1KR IS31FL3741_PUR_1KR
#define PUR_2KR IS31FL3741_PUR_2KR
#define PUR_4KR IS31FL3741_PUR_4KR
#define PUR_8KR IS31FL3741_PUR_8KR
#define PUR_16KR IS31FL3741_PUR_16KR
#define PUR_32KR IS31FL3741_PUR_32KR
#define PUR_0R IS31FL3741_PUR_0_OHM
#define PUR_05KR IS31FL3741_PUR_0K5_OHM
#define PUR_1KR IS31FL3741_PUR_1K_OHM
#define PUR_2KR IS31FL3741_PUR_2K_OHM
#define PUR_4KR IS31FL3741_PUR_4K_OHM
#define PUR_8KR IS31FL3741_PUR_8K_OHM
#define PUR_16KR IS31FL3741_PUR_16K_OHM
#define PUR_32KR IS31FL3741_PUR_32K_OHM
// ========
#define IS31FL3741_I2C_ADDRESS_GND 0x30
@ -95,14 +95,23 @@ void is31fl3741_set_pwm_buffer(const is31fl3741_led *pled, uint8_t value);
void is31fl3741_flush(void);
#define IS31FL3741_PUR_0R 0x00 // No PUR resistor
#define IS31FL3741_PUR_05KR 0x01 // 0.5k Ohm resistor
#define IS31FL3741_PUR_1KR 0x02 // 1.0k Ohm resistor
#define IS31FL3741_PUR_2KR 0x03 // 2.0k Ohm resistor
#define IS31FL3741_PUR_4KR 0x04 // 4.0k Ohm resistor
#define IS31FL3741_PUR_8KR 0x05 // 8.0k Ohm resistor
#define IS31FL3741_PUR_16KR 0x06 // 16k Ohm resistor
#define IS31FL3741_PUR_32KR 0x07 // 32k Ohm resistor
#define IS31FL3741_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3741_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3741_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3741_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3741_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3741_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3741_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3741_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3741_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3741_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3741_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3741_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3741_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3741_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3741_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3741_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3741_PWM_FREQUENCY_29K_HZ 0b0000
#define IS31FL3741_PWM_FREQUENCY_3K6_HZ 0b0011

View file

@ -58,12 +58,12 @@
# define IS31FL3741_PWM_FREQUENCY IS31FL3741_PWM_FREQUENCY_29K_HZ
#endif
#ifndef IS31FL3741_SWPULLUP
# define IS31FL3741_SWPULLUP IS31FL3741_PUR_32KR
#ifndef IS31FL3741_SW_PULLUP
# define IS31FL3741_SW_PULLUP IS31FL3741_PUR_32K_OHM
#endif
#ifndef IS31FL3741_CSPULLUP
# define IS31FL3741_CSPULLUP IS31FL3741_PUR_32KR
#ifndef IS31FL3741_CS_PULLDOWN
# define IS31FL3741_CS_PULLDOWN IS31FL3741_PDR_32K_OHM
#endif
#ifndef IS31FL3741_GLOBALCURRENT
@ -192,7 +192,7 @@ void is31fl3741_init(uint8_t addr) {
// Set Golbal Current Control Register
is31fl3741_write_register(addr, IS31FL3741_REG_GLOBALCURRENT, IS31FL3741_GLOBALCURRENT);
// Set Pull up & Down for SWx CSy
is31fl3741_write_register(addr, IS31FL3741_REG_PULLDOWNUP, ((IS31FL3741_CSPULLUP << 4) | IS31FL3741_SWPULLUP));
is31fl3741_write_register(addr, IS31FL3741_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP));
// Set PWM frequency
is31fl3741_write_register(addr, IS31FL3741_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111));

View file

@ -50,10 +50,10 @@
# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION
#endif
#ifdef ISSI_SWPULLUP
# define IS31FL3741_SWPULLUP ISSI_SWPULLUP
# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP
#endif
#ifdef ISSI_CSPULLUP
# define IS31FL3741_CSPULLUP ISSI_CSPULLUP
# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP
#endif
#ifdef ISSI_GLOBALCURRENT
# define IS31FL3741_GLOBALCURRENT ISSI_GLOBALCURRENT
@ -62,14 +62,14 @@
#define is31_led is31fl3741_led_t
#define g_is31_leds g_is31fl3741_leds
#define PUR_0R IS31FL3741_PUR_0R
#define PUR_05KR IS31FL3741_PUR_05KR
#define PUR_1KR IS31FL3741_PUR_1KR
#define PUR_2KR IS31FL3741_PUR_2KR
#define PUR_4KR IS31FL3741_PUR_4KR
#define PUR_8KR IS31FL3741_PUR_8KR
#define PUR_16KR IS31FL3741_PUR_16KR
#define PUR_32KR IS31FL3741_PUR_32KR
#define PUR_0R IS31FL3741_PUR_0_OHM
#define PUR_05KR IS31FL3741_PUR_0K5_OHM
#define PUR_1KR IS31FL3741_PUR_1K_OHM
#define PUR_2KR IS31FL3741_PUR_2K_OHM
#define PUR_4KR IS31FL3741_PUR_4K_OHM
#define PUR_8KR IS31FL3741_PUR_8K_OHM
#define PUR_16KR IS31FL3741_PUR_16K_OHM
#define PUR_32KR IS31FL3741_PUR_32K_OHM
// ========
#define IS31FL3741_I2C_ADDRESS_GND 0x30
@ -112,14 +112,23 @@ void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t red, uint8_
void is31fl3741_flush(void);
#define IS31FL3741_PUR_0R 0x00 // No PUR resistor
#define IS31FL3741_PUR_05KR 0x01 // 0.5k Ohm resistor
#define IS31FL3741_PUR_1KR 0x02 // 1.0k Ohm resistor
#define IS31FL3741_PUR_2KR 0x03 // 2.0k Ohm resistor
#define IS31FL3741_PUR_4KR 0x04 // 4.0k Ohm resistor
#define IS31FL3741_PUR_8KR 0x05 // 8.0k Ohm resistor
#define IS31FL3741_PUR_16KR 0x06 // 16k Ohm resistor
#define IS31FL3741_PUR_32KR 0x07 // 32k Ohm resistor
#define IS31FL3741_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3741_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3741_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3741_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3741_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3741_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3741_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3741_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3741_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3741_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3741_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3741_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3741_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3741_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3741_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3741_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3741_PWM_FREQUENCY_29K_HZ 0b0000
#define IS31FL3741_PWM_FREQUENCY_3K6_HZ 0b0011

View file

@ -33,8 +33,8 @@
#define IS31FL3733_REG_CONFIGURATION 0x00 // PG3
#define IS31FL3733_REG_GLOBALCURRENT 0x01 // PG3
#define IS31FL3733_REG_RESET 0x11 // PG3
#define IS31FL3733_REG_SWPULLUP 0x0F // PG3
#define IS31FL3733_REG_CSPULLUP 0x10 // PG3
#define IS31FL3733_REG_SW_PULLUP 0x0F // PG3
#define IS31FL3733_REG_CS_PULLDOWN 0x10 // PG3
#define IS31FL3733_PWM_REGISTER_COUNT 192
#define IS31FL3733_LED_CONTROL_REGISTER_COUNT 24
@ -51,12 +51,12 @@
# define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3733B only
#endif
#ifndef IS31FL3733_SWPULLUP
# define IS31FL3733_SWPULLUP IS31FL3733_PUR_0R
#ifndef IS31FL3733_SW_PULLUP
# define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM
#endif
#ifndef IS31FL3733_CSPULLUP
# define IS31FL3733_CSPULLUP IS31FL3733_PUR_0R
#ifndef IS31FL3733_CS_PULLDOWN
# define IS31FL3733_CS_PULLDOWN IS31FL3733_PDR_0_OHM
#endif
#ifndef IS31FL3733_GLOBALCURRENT
@ -193,9 +193,9 @@ void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
// Select PG3
is31fl3733_write_register(bus, addr, IS31FL3733_COMMANDREGISTER, IS31FL3733_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3733_write_register(bus, addr, IS31FL3733_REG_SWPULLUP, IS31FL3733_SWPULLUP);
is31fl3733_write_register(bus, addr, IS31FL3733_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
is31fl3733_write_register(bus, addr, IS31FL3733_REG_CSPULLUP, IS31FL3733_CSPULLUP);
is31fl3733_write_register(bus, addr, IS31FL3733_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN);
// Set global current to maximum.
is31fl3733_write_register(bus, addr, IS31FL3733_REG_GLOBALCURRENT, IS31FL3733_GLOBALCURRENT);
// Disable software shutdown.

View file

@ -67,19 +67,29 @@ void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3733_flush(void);
#define IS31FL3733_PUR_0R 0x00 // No PUR resistor
#define IS31FL3733_PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL
#define IS31FL3733_PUR_3KR 0x03 // 3.0k Ohm resistor on all the time
#define IS31FL3733_PUR_4KR 0x04 // 4.0k Ohm resistor on all the time
#define IS31FL3733_PUR_8KR 0x05 // 8.0k Ohm resistor on all the time
#define IS31FL3733_PUR_16KR 0x06 // 16k Ohm resistor on all the time
#define IS31FL3733_PUR_32KR 0x07 // 32k Ohm resistor in t_NOL
#define IS31FL3733_PDR_0_OHM 0b000 // No pull-down resistor
#define IS31FL3733_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3733_PDR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3733_PDR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3733_PDR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3733_PDR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3733_PDR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3733_PDR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0x00
#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0x01
#define IS31FL3733_PWM_FREQUENCY_26K7_HZ 0x02
#define IS31FL3733_PWM_FREQUENCY_2K1_HZ 0x03
#define IS31FL3733_PWM_FREQUENCY_1K05_HZ 0x04
#define IS31FL3733_PUR_0_OHM 0b000 // No pull-up resistor
#define IS31FL3733_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor
#define IS31FL3733_PUR_1K_OHM 0b010 // 1 kOhm resistor
#define IS31FL3733_PUR_2K_OHM 0b011 // 2 kOhm resistor
#define IS31FL3733_PUR_4K_OHM 0b100 // 4 kOhm resistor
#define IS31FL3733_PUR_8K_OHM 0b101 // 8 kOhm resistor
#define IS31FL3733_PUR_16K_OHM 0b110 // 16 kOhm resistor
#define IS31FL3733_PUR_32K_OHM 0b111 // 32 kOhm resistor
#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0b000
#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0b001
#define IS31FL3733_PWM_FREQUENCY_26K7_HZ 0b010
#define IS31FL3733_PWM_FREQUENCY_2K1_HZ 0b011
#define IS31FL3733_PWM_FREQUENCY_1K05_HZ 0b100
#define IS31FL3733_SYNC_NONE 0b00
#define IS31FL3733_SYNC_MASTER 0b01