diff options
Diffstat (limited to 'keyboards/wilba_tech/wt_mono_backlight.c')
-rw-r--r-- | keyboards/wilba_tech/wt_mono_backlight.c | 145 |
1 files changed, 123 insertions, 22 deletions
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c index 28ee5fae81..e218f0af4b 100644 --- a/keyboards/wilba_tech/wt_mono_backlight.c +++ b/keyboards/wilba_tech/wt_mono_backlight.c @@ -33,9 +33,7 @@ #error VIA_EEPROM_CUSTOM_CONFIG_SIZE was not defined to store backlight_config struct #endif -#include "drivers/led/issi/is31fl3736.h" - -#define ISSI_ADDR_DEFAULT 0x50 +#include "drivers/led/issi/is31fl3736-simple.h" #define BACKLIGHT_EFFECT_MAX 3 @@ -52,6 +50,116 @@ backlight_config g_config = { .color_1 = MONO_BACKLIGHT_COLOR_1, }; +const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = { + {0, A_1}, + {0, A_2}, + {0, A_3}, + {0, A_4}, + {0, A_5}, + {0, A_6}, + {0, A_7}, + {0, A_8}, + + {0, B_1}, + {0, B_2}, + {0, B_3}, + {0, B_4}, + {0, B_5}, + {0, B_6}, + {0, B_7}, + {0, B_8}, + + {0, C_1}, + {0, C_2}, + {0, C_3}, + {0, C_4}, + {0, C_5}, + {0, C_6}, + {0, C_7}, + {0, C_8}, + + {0, D_1}, + {0, D_2}, + {0, D_3}, + {0, D_4}, + {0, D_5}, + {0, D_6}, + {0, D_7}, + {0, D_8}, + + {0, E_1}, + {0, E_2}, + {0, E_3}, + {0, E_4}, + {0, E_5}, + {0, E_6}, + {0, E_7}, + {0, E_8}, + + {0, F_1}, + {0, F_2}, + {0, F_3}, + {0, F_4}, + {0, F_5}, + {0, F_6}, + {0, F_7}, + {0, F_8}, + + {0, G_1}, + {0, G_2}, + {0, G_3}, + {0, G_4}, + {0, G_5}, + {0, G_6}, + {0, G_7}, + {0, G_8}, + + {0, H_1}, + {0, H_2}, + {0, H_3}, + {0, H_4}, + {0, H_5}, + {0, H_6}, + {0, H_7}, + {0, H_8}, + + {0, I_1}, + {0, I_2}, + {0, I_3}, + {0, I_4}, + {0, I_5}, + {0, I_6}, + {0, I_7}, + {0, I_8}, + + {0, J_1}, + {0, J_2}, + {0, J_3}, + {0, J_4}, + {0, J_5}, + {0, J_6}, + {0, J_7}, + {0, J_8}, + + {0, K_1}, + {0, K_2}, + {0, K_3}, + {0, K_4}, + {0, K_5}, + {0, K_6}, + {0, K_7}, + {0, K_8}, + + {0, L_1}, + {0, L_2}, + {0, L_3}, + {0, L_4}, + {0, L_5}, + {0, L_6}, + {0, L_7}, + {0, L_8} +}; + bool g_suspend_state = false; // Global tick at 20 Hz @@ -62,14 +170,7 @@ uint32_t g_any_key_hit = 0; void backlight_init_drivers(void) { - // Initialize I2C - i2c_init(); - is31fl3736_init( ISSI_ADDR_DEFAULT ); - - for ( uint8_t index = 0; index < 96; index++ ) { - is31fl3736_mono_set_led_control_register( index, true ); - } - is31fl3736_update_led_control_registers( ISSI_ADDR_DEFAULT, 0x00 ); + is31fl3736_init_drivers(); } void backlight_set_key_hit(uint8_t row, uint8_t column) @@ -119,17 +220,17 @@ void backlight_set_suspend_state(bool state) void backlight_set_brightness_all( uint8_t value ) { - is31fl3736_mono_set_brightness_all( value ); + is31fl3736_set_value_all( value ); } void backlight_effect_all_off(void) { - is31fl3736_mono_set_brightness_all( 0 ); + is31fl3736_set_value_all( 0 ); } void backlight_effect_all_on(void) { - is31fl3736_mono_set_brightness_all( g_config.brightness ); + is31fl3736_set_value_all( g_config.brightness ); } void backlight_effect_raindrops(bool initialize) @@ -143,7 +244,7 @@ void backlight_effect_raindrops(bool initialize) // If not, all but one will stay the same as before. if ( initialize || i == led_to_change ) { - is31fl3736_mono_set_brightness(i, rand() & 0xFF ); + is31fl3736_set_value(i, rand() & 0xFF ); } } } @@ -165,9 +266,9 @@ void backlight_effect_indicators(void) // SW7,CS8 = (6*8+7) = 55 // SW8,CS8 = (7*8+7) = 63 // SW9,CS8 = (8*8+7) = 71 - is31fl3736_mono_set_brightness(55, rgb.r); - is31fl3736_mono_set_brightness(63, rgb.g); - is31fl3736_mono_set_brightness(71, rgb.b); + is31fl3736_set_value(55, rgb.r); + is31fl3736_set_value(63, rgb.g); + is31fl3736_set_value(71, rgb.b); #endif // MONO_BACKLIGHT_WT75_A // This pairs with "All Off" already setting zero brightness, @@ -181,19 +282,19 @@ defined(MONO_BACKLIGHT_WT75_C) || \ defined(MONO_BACKLIGHT_WT80_A) if ( host_keyboard_led_state().caps_lock ) { // SW3,CS1 = (2*8+0) = 16 - is31fl3736_mono_set_brightness(16, 255); + is31fl3736_set_value(16, 255); } #endif #if defined(MONO_BACKLIGHT_WT80_A) if ( host_keyboard_led_state().scroll_lock ) { // SW7,CS7 = (6*8+6) = 54 - is31fl3736_mono_set_brightness(54, 255); + is31fl3736_set_value(54, 255); } #endif #if defined(MONO_BACKLIGHT_WT75_C) if ( host_keyboard_led_state().scroll_lock ) { // SW7,CS8 = (6*8+7) = 55 - is31fl3736_mono_set_brightness(55, 255); + is31fl3736_set_value(55, 255); } #endif } @@ -361,7 +462,7 @@ void backlight_config_save(void) void backlight_update_pwm_buffers(void) { - is31fl3736_update_pwm_buffers(ISSI_ADDR_DEFAULT,0x00); + is31fl3736_flush(); } bool process_record_backlight(uint16_t keycode, keyrecord_t *record) |