LED drivers: clean up SWx/CSy pullup/down resistor config (#22381)
				
					
				
			This commit is contained in:
		
							parent
							
								
									6b19a99a4f
								
							
						
					
					
						commit
						8136cf4bfb
					
				
					 18 changed files with 302 additions and 218 deletions
				
			
		| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue