Browse Source

Add `_flush()` functions to LED drivers (#22308)

pull/22321/head
Ryan 6 months ago
committed by GitHub
parent
commit
cf7d3435d7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
72 changed files with 346 additions and 319 deletions
  1. +7
    -0
      drivers/led/aw20216s.c
  2. +2
    -0
      drivers/led/aw20216s.h
  3. +13
    -0
      drivers/led/issi/is31fl3731-simple.c
  4. +2
    -0
      drivers/led/issi/is31fl3731-simple.h
  5. +13
    -0
      drivers/led/issi/is31fl3731.c
  6. +2
    -0
      drivers/led/issi/is31fl3731.h
  7. +13
    -0
      drivers/led/issi/is31fl3733-simple.c
  8. +2
    -0
      drivers/led/issi/is31fl3733-simple.h
  9. +13
    -0
      drivers/led/issi/is31fl3733.c
  10. +2
    -0
      drivers/led/issi/is31fl3733.h
  11. +13
    -0
      drivers/led/issi/is31fl3736-simple.c
  12. +2
    -0
      drivers/led/issi/is31fl3736-simple.h
  13. +13
    -0
      drivers/led/issi/is31fl3736.c
  14. +2
    -0
      drivers/led/issi/is31fl3736.h
  15. +13
    -0
      drivers/led/issi/is31fl3737-simple.c
  16. +2
    -0
      drivers/led/issi/is31fl3737-simple.h
  17. +13
    -0
      drivers/led/issi/is31fl3737.c
  18. +2
    -0
      drivers/led/issi/is31fl3737.h
  19. +13
    -0
      drivers/led/issi/is31fl3741-simple.c
  20. +2
    -0
      drivers/led/issi/is31fl3741-simple.h
  21. +13
    -0
      drivers/led/issi/is31fl3741.c
  22. +2
    -0
      drivers/led/issi/is31fl3741.h
  23. +13
    -0
      drivers/led/issi/is31flcommon.c
  24. +2
    -0
      drivers/led/issi/is31flcommon.h
  25. +13
    -0
      drivers/led/snled27351-simple.c
  26. +2
    -0
      drivers/led/snled27351-simple.h
  27. +13
    -0
      drivers/led/snled27351.c
  28. +2
    -0
      drivers/led/snled27351.h
  29. +6
    -17
      keyboards/aeboards/satellite/rev1/rev1.c
  30. +1
    -1
      keyboards/fallacy/indicators.c
  31. +2
    -1
      keyboards/hs60/v2/ansi/config.h
  32. +2
    -1
      keyboards/hs60/v2/hhkb/config.h
  33. +2
    -1
      keyboards/hs60/v2/iso/config.h
  34. +3
    -3
      keyboards/inland/v83p/config.h
  35. +1
    -1
      keyboards/inland/v83p/info.json
  36. +1
    -1
      keyboards/inland/v83p/v83p.c
  37. +7
    -0
      keyboards/input_club/k_type/is31fl3733-dual.c
  38. +2
    -0
      keyboards/input_club/k_type/is31fl3733-dual.h
  39. +1
    -8
      keyboards/input_club/k_type/k_type-rgbdriver.c
  40. +2
    -0
      keyboards/keebwerk/mega/ansi/config.h
  41. +46
    -46
      keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
  42. +1
    -1
      keyboards/matrix/m20add/rgb_ring.c
  43. +3
    -3
      keyboards/monsgeek/m3/config.h
  44. +1
    -1
      keyboards/monsgeek/m3/info.json
  45. +1
    -1
      keyboards/monsgeek/m3/m3.c
  46. +1
    -4
      keyboards/neson_design/700e/700e.c
  47. +1
    -4
      keyboards/neson_design/n6/n6.c
  48. +2
    -0
      keyboards/novelkeys/nk65/config.h
  49. +2
    -0
      keyboards/novelkeys/nk87/config.h
  50. +1
    -0
      keyboards/spaceholdings/nebula12/config.h
  51. +2
    -0
      keyboards/spaceholdings/nebula68/config.h
  52. +2
    -0
      keyboards/tkc/portico/config.h
  53. +1
    -0
      keyboards/tkc/portico75/config.h
  54. +2
    -0
      keyboards/wilba_tech/rama_works_kara/config.h
  55. +2
    -0
      keyboards/wilba_tech/rama_works_koyu/config.h
  56. +1
    -0
      keyboards/wilba_tech/rama_works_m10_c/config.h
  57. +2
    -0
      keyboards/wilba_tech/rama_works_m50_a/config.h
  58. +2
    -0
      keyboards/wilba_tech/rama_works_m60_a/config.h
  59. +2
    -0
      keyboards/wilba_tech/rama_works_m65_b/config.h
  60. +2
    -0
      keyboards/wilba_tech/rama_works_m65_bx/config.h
  61. +3
    -0
      keyboards/wilba_tech/rama_works_u80_a/config.h
  62. +2
    -0
      keyboards/wilba_tech/wt60_b/config.h
  63. +2
    -0
      keyboards/wilba_tech/wt60_bx/config.h
  64. +2
    -0
      keyboards/wilba_tech/wt60_c/config.h
  65. +1
    -1
      keyboards/wilba_tech/wt_mono_backlight.c
  66. +2
    -0
      keyboards/wilba_tech/zeal60/config.h
  67. +2
    -0
      keyboards/wilba_tech/zeal65/config.h
  68. +2
    -0
      keyboards/xelus/dawn60/rev1/config.h
  69. +1
    -5
      keyboards/xelus/pachi/rgb/rev1/rev1.c
  70. +1
    -5
      keyboards/xelus/pachi/rgb/rev2/rev2.c
  71. +8
    -103
      quantum/led_matrix/led_matrix_drivers.c
  72. +9
    -111
      quantum/rgb_matrix/rgb_matrix_drivers.c

+ 7
- 0
drivers/led/aw20216s.c View File

@ -166,3 +166,10 @@ void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index) {
}
g_pwm_buffer_update_required[index] = false;
}
void aw20216s_flush(void) {
aw20216s_update_pwm_buffers(AW20216S_CS_PIN_1, 0);
#if defined(AW20216S_CS_PIN_2)
aw20216s_update_pwm_buffers(AW20216S_CS_PIN_2, 1);
#endif
}

+ 2
- 0
drivers/led/aw20216s.h View File

@ -68,6 +68,8 @@ void aw20216s_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index);
void aw20216s_flush(void);
#define CS1_SW1 0x00
#define CS2_SW1 0x01
#define CS3_SW1 0x02


+ 13
- 0
drivers/led/issi/is31fl3731-simple.c View File

@ -211,3 +211,16 @@ void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
}
void is31fl3731_flush(void) {
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
#if defined(IS31FL3731_I2C_ADDRESS_2)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
# if defined(IS31FL3731_I2C_ADDRESS_3)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2);
# if defined(IS31FL3731_I2C_ADDRESS_4)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3731-simple.h View File

@ -80,6 +80,8 @@ void is31fl3731_set_led_control_register(uint8_t index, bool value);
void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index);
void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3731_flush(void);
#define C1_1 0x24
#define C1_2 0x25
#define C1_3 0x26


+ 13
- 0
drivers/led/issi/is31fl3731.c View File

@ -223,3 +223,16 @@ void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) {
}
g_led_control_registers_update_required[index] = false;
}
void is31fl3731_flush(void) {
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
#if defined(IS31FL3731_I2C_ADDRESS_2)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
# if defined(IS31FL3731_I2C_ADDRESS_3)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2);
# if defined(IS31FL3731_I2C_ADDRESS_4)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3731.h View File

@ -81,6 +81,8 @@ void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bo
void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index);
void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index);
void is31fl3731_flush(void);
#define C1_1 0x24
#define C1_2 0x25
#define C1_3 0x26


+ 13
- 0
drivers/led/issi/is31fl3733-simple.c View File

@ -233,3 +233,16 @@ void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
}
void is31fl3733_flush(void) {
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
#if defined(IS31FL3733_I2C_ADDRESS_2)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
# if defined(IS31FL3733_I2C_ADDRESS_3)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2);
# if defined(IS31FL3733_I2C_ADDRESS_4)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3733-simple.h View File

@ -99,6 +99,8 @@ void is31fl3733_set_led_control_register(uint8_t index, bool value);
void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index);
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


+ 13
- 0
drivers/led/issi/is31fl3733.c View File

@ -248,3 +248,16 @@ void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
}
void is31fl3733_flush(void) {
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
#if defined(IS31FL3733_I2C_ADDRESS_2)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
# if defined(IS31FL3733_I2C_ADDRESS_3)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2);
# if defined(IS31FL3733_I2C_ADDRESS_4)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3733.h View File

@ -124,6 +124,8 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo
void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index);
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


+ 13
- 0
drivers/led/issi/is31fl3736-simple.c View File

@ -220,3 +220,16 @@ void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
}
void is31fl3736_flush(void) {
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
#if defined(IS31FL3736_I2C_ADDRESS_2)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1);
# if defined(IS31FL3736_I2C_ADDRESS_3)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2);
# if defined(IS31FL3736_I2C_ADDRESS_4)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3736-simple.h View File

@ -94,6 +94,8 @@ void is31fl3736_set_led_control_register(uint8_t index, bool value);
void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index);
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


+ 13
- 0
drivers/led/issi/is31fl3736.c View File

@ -237,3 +237,16 @@ void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
}
void is31fl3736_flush(void) {
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
#if defined(IS31FL3736_I2C_ADDRESS_2)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1);
# if defined(IS31FL3736_I2C_ADDRESS_3)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2);
# if defined(IS31FL3736_I2C_ADDRESS_4)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3736.h View File

@ -108,6 +108,8 @@ void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bo
void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index);
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


+ 13
- 0
drivers/led/issi/is31fl3737-simple.c View File

@ -217,3 +217,16 @@ void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
}
void is31fl3737_flush(void) {
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0);
#if defined(IS31FL3737_I2C_ADDRESS_2)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1);
# if defined(IS31FL3737_I2C_ADDRESS_3)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2);
# if defined(IS31FL3737_I2C_ADDRESS_4)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3737-simple.h View File

@ -84,6 +84,8 @@ void is31fl3737_set_led_control_register(uint8_t index, bool value);
void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index);
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


+ 13
- 0
drivers/led/issi/is31fl3737.c View File

@ -233,3 +233,16 @@ void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
}
void is31fl3737_flush(void) {
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0);
#if defined(IS31FL3737_I2C_ADDRESS_2)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1);
# if defined(IS31FL3737_I2C_ADDRESS_3)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2);
# if defined(IS31FL3737_I2C_ADDRESS_4)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3737.h View File

@ -101,6 +101,8 @@ void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bo
void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index);
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


+ 13
- 0
drivers/led/issi/is31fl3741-simple.c View File

@ -251,3 +251,16 @@ void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t valu
g_scaling_registers_update_required[pled->driver] = true;
}
void is31fl3741_flush(void) {
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
#if defined(IS31FL3741_I2C_ADDRESS_2)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1);
# if defined(IS31FL3741_I2C_ADDRESS_3)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2);
# if defined(IS31FL3741_I2C_ADDRESS_4)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3741-simple.h View File

@ -87,6 +87,8 @@ void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t valu
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


+ 13
- 0
drivers/led/issi/is31fl3741.c View File

@ -269,3 +269,16 @@ void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t red,
g_scaling_registers_update_required[pled->driver] = true;
}
void is31fl3741_flush(void) {
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
#if defined(IS31FL3741_I2C_ADDRESS_2)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1);
# if defined(IS31FL3741_I2C_ADDRESS_3)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2);
# if defined(IS31FL3741_I2C_ADDRESS_4)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}

+ 2
- 0
drivers/led/issi/is31fl3741.h View File

@ -104,6 +104,8 @@ void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t red,
void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue);
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


+ 13
- 0
drivers/led/issi/is31flcommon.c View File

@ -174,6 +174,19 @@ void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) {
}
}
void IS31FL_common_flush(void) {
IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0);
#if defined(DRIVER_ADDR_2)
IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1);
# if defined(DRIVER_ADDR_3)
IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2);
# if defined(DRIVER_ADDR_4)
IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3);
# endif
# endif
#endif
}
#ifdef RGB_MATRIX_ENABLE
// Colour is set by adjusting PWM register
void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {


+ 2
- 0
drivers/led/issi/is31flcommon.h View File

@ -67,6 +67,8 @@ void IS31FL_common_init(uint8_t addr, uint8_t ssr);
void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index);
void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index);
void IS31FL_common_flush(void);
#ifdef RGB_MATRIX_ENABLE
// RGB Matrix Specific scripts
void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);


+ 13
- 0
drivers/led/snled27351-simple.c View File

@ -203,6 +203,19 @@ void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
void snled27351_flush(void) {
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0);
#if defined(SNLED27351_I2C_ADDRESS_2)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1);
# if defined(SNLED27351_I2C_ADDRESS_3)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2);
# if defined(SNLED27351_I2C_ADDRESS_4)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}
void snled27351_sw_return_normal(uint8_t addr) {
// Select to function page
snled27351_write_register(addr, SNLED27351_REG_CONFIGURE_CMD_PAGE, SNLED27351_FUNCTION_PAGE);


+ 2
- 0
drivers/led/snled27351-simple.h View File

@ -82,6 +82,8 @@ void snled27351_set_led_control_register(uint8_t index, bool value);
void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index);
void snled27351_update_led_control_registers(uint8_t addr, uint8_t index);
void snled27351_flush(void);
void snled27351_sw_return_normal(uint8_t addr);
void snled27351_sw_shutdown(uint8_t addr);


+ 13
- 0
drivers/led/snled27351.c View File

@ -218,6 +218,19 @@ void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
void snled27351_flush(void) {
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0);
#if defined(SNLED27351_I2C_ADDRESS_2)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1);
# if defined(SNLED27351_I2C_ADDRESS_3)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2);
# if defined(SNLED27351_I2C_ADDRESS_4)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3);
# endif
# endif
#endif
}
void snled27351_sw_return_normal(uint8_t addr) {
// Select to function page
snled27351_write_register(addr, SNLED27351_REG_CONFIGURE_CMD_PAGE, SNLED27351_FUNCTION_PAGE);


+ 2
- 0
drivers/led/snled27351.h View File

@ -96,6 +96,8 @@ void snled27351_set_led_control_register(uint8_t index, bool red, bool green, bo
void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index);
void snled27351_update_led_control_registers(uint8_t addr, uint8_t index);
void snled27351_flush(void);
void snled27351_sw_return_normal(uint8_t addr);
void snled27351_sw_shutdown(uint8_t addr);


+ 6
- 17
keyboards/aeboards/satellite/rev1/rev1.c View File

@ -145,8 +145,10 @@ led_config_t g_led_config = { {
// Custom Driver
static void init(void) {
i2c_init();
is31fl3731_init(IS31FL3731_I2C_ADDRESS_1);
is31fl3731_init(IS31FL3731_I2C_ADDRESS_2);
for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) {
bool enabled = !( ( index == 18+5) || //B5
( index == 36+17) || //C17
@ -154,29 +156,16 @@ static void init(void) {
);
is31fl3731_set_led_control_register(index, enabled, enabled, enabled);
}
is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0);
is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1);
}
static void flush(void) {
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
}
static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
is31fl3731_set_color(index, red, green, blue);
}
static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
is31fl3731_set_color_all( red, green, blue );
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.set_color = set_color,
.set_color_all = set_color_all
.flush = is31fl3731_flush,
.set_color = is31fl3731_set_color,
.set_color_all = is31fl3731_set_color_all
};
#endif

+ 1
- 1
keyboards/fallacy/indicators.c View File

@ -36,7 +36,7 @@ void init_fallacy_leds(void) {
/* update the buffer
*/
void update_fallacy_leds(void) {
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
is31fl3731_flush();
}


+ 2
- 1
keyboards/hs60/v2/ansi/config.h View File

@ -53,7 +53,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3733_DRIVER_COUNT 2
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 64
// These define which keys in the matrix are alphas/mods


+ 2
- 1
keyboards/hs60/v2/hhkb/config.h View File

@ -53,7 +53,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3733_DRIVER_COUNT 2
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 64
// These define which keys in the matrix are alphas/mods


+ 2
- 1
keyboards/hs60/v2/iso/config.h View File

@ -50,7 +50,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3733_DRIVER_COUNT 2
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 64
// These define which keys in the matrix are alphas/mods


+ 3
- 3
keyboards/inland/v83p/config.h View File

@ -9,9 +9,9 @@
{ C11 }
/* I2C Config for LED Driver */
#define DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define SNLED27351_DRIVER_COUNT 2
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
#define I2C1_SDA_PIN B7
#define I2C1_SCL_PIN B6
#define I2C1_SCL_PAL_MODE 4


+ 1
- 1
keyboards/inland/v83p/info.json View File

@ -33,7 +33,7 @@
]
},
"rgb_matrix": {
"driver": "ckled2001",
"driver": "snled27351",
"max_brightness": 180,
"animations": {
"solid_color": true,


+ 1
- 1
keyboards/inland/v83p/v83p.c View File

@ -5,7 +5,7 @@
// clang-format off
#ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location


+ 7
- 0
keyboards/input_club/k_type/is31fl3733-dual.c View File

@ -248,3 +248,10 @@ void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
}
g_led_control_registers_update_required[index] = false;
}
void is31fl3733_flush(void) {
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
# ifdef USE_I2C2
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
# endif
}

+ 2
- 0
keyboards/input_club/k_type/is31fl3733-dual.h View File

@ -64,6 +64,8 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo
void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index); // index is the driver index
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


+ 1
- 8
keyboards/input_club/k_type/k_type-rgbdriver.c View File

@ -38,16 +38,9 @@ static void init(void) {
# endif
}
static void flush(void) {
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
# ifdef USE_I2C2
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3733_flush,
.set_color = is31fl3733_set_color,
.set_color_all = is31fl3733_set_color_all,
};


+ 2
- 0
keyboards/keebwerk/mega/ansi/config.h View File

@ -50,6 +50,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_SDA
#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 128


+ 46
- 46
keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c View File

@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "drivers/issi/is31fl3733.h"
#include "drivers/led/issi/is31fl3733.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@ -50,9 +50,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
static uint16_t ledTimer;
uint8_t R = 0; /* First led*/
uint8_t G = 0; /* Second led*/
uint8_t B = 0; /* Third led*/
uint8_t r = 0; /* First led*/
uint8_t g = 0; /* Second led*/
uint8_t b = 0; /* Third led*/
/* Boot animation parameters */
@ -74,44 +74,44 @@ bool bootAnimation(void){
if (bootFirst>0 || bootSec>0){
if(bootFirst!=0){
if (timer_elapsed(ledTimer) > 150){
G = 255;
R = 0;
B = 0;
is31fl3733_set_color( 6+64-1, R, G, B );
g = 255;
r = 0;
b = 0;
is31fl3733_set_color( 6+64-1, r, g, b );
}
if (timer_elapsed(ledTimer) > 300){
G = 255;
R = 255;
B = 0;
is31fl3733_set_color( 6+64-1, R, G, B );
g = 255;
r = 255;
b = 0;
is31fl3733_set_color( 6+64-1, r, g, b );
}
if (timer_elapsed(ledTimer) > 400){
G = 255;
R = 255;
B = 255;
is31fl3733_set_color( 6+64-1, R, G, B );
g = 255;
r = 255;
b = 255;
is31fl3733_set_color( 6+64-1, r, g, b );
}
if (timer_elapsed(ledTimer) > 500){
G = 0;
R = 0;
B = 0;
is31fl3733_set_color( 6+64-1, R, G, B );
g = 0;
r = 0;
b = 0;
is31fl3733_set_color( 6+64-1, r, g, b );
ledTimer = timer_read();
bootFirst--;
}
}
if (bootFirst==0 && bootSec!=0){
if (timer_elapsed(ledTimer) > 200) {
G = 255;
R = 255;
B = 255;
is31fl3733_set_color( 6+64-1, R, G, B );
g = 255;
r = 255;
b = 255;
is31fl3733_set_color( 6+64-1, r, g, b );
}
if (timer_elapsed(ledTimer) > 400){
G = 0;
R = 0;
B = 0;
is31fl3733_set_color( 6+64-1, R, G, B );
g = 0;
r = 0;
b = 0;
is31fl3733_set_color( 6+64-1, r, g, b );
ledTimer = timer_read();
bootSec--;
}
@ -125,29 +125,29 @@ bool bootAnimation(void){
void breathing(void) {
if(timer_elapsed(ledTimer)<travelTime){
time = timer_elapsed(ledTimer);
if((time - previousTime) > fadeTime && R<maxBrightness){
G+=fadeStep;
R+=fadeStep;
B+=fadeStep;
is31fl3733_set_color( 6+64-1, R, G, B );
if((time - previousTime) > fadeTime && r<maxBrightness){
g+=fadeStep;
r+=fadeStep;
b+=fadeStep;
is31fl3733_set_color( 6+64-1, r, g, b );
previousTime = time;
}
}
else if(timer_elapsed(ledTimer)<(travelTime * 2)){
time = timer_elapsed(ledTimer);
if((time - previousTime) > fadeTime && R>minBrightness){
G-=fadeStep;
R-=fadeStep;
B-=fadeStep;
is31fl3733_set_color( 6+64-1, R, G, B );
if((time - previousTime) > fadeTime && r>minBrightness){
g-=fadeStep;
r-=fadeStep;
b-=fadeStep;
is31fl3733_set_color( 6+64-1, r, g, b );
previousTime = time;
}
}
else {
R=0;
G=0;
B=0;
is31fl3733_set_color( 6+64-1, R, G, B );
r=0;
g=0;
b=0;
is31fl3733_set_color( 6+64-1, r, g, b );
previousTime = 0;
time = 0;
ledTimer=timer_read();
@ -166,10 +166,10 @@ void matrix_scan_user(void){
prevCapsState = capsState;
}
else if(!capsState && capsState != prevCapsState){
G = 0;
R = 0;
B = 0;
is31fl3733_set_color( 6+64-1, R, G, B );
g = 0;
r = 0;
b = 0;
is31fl3733_set_color( 6+64-1, r, g, b );
prevCapsState = capsState;
}
}


+ 1
- 1
keyboards/matrix/m20add/rgb_ring.c View File

@ -396,7 +396,7 @@ void rgb_ring_task(void)
break;
};
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
is31fl3731_flush();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record)


+ 3
- 3
keyboards/monsgeek/m3/config.h View File

@ -36,9 +36,9 @@
#define WEAR_LEVELING_BACKING_SIZE (8 * 1024)
/* I2C Config for LED Driver */
#define DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define SNLED27351_DRIVER_COUNT 2
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO
#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 400000 /* 400000 */


+ 1
- 1
keyboards/monsgeek/m3/info.json View File

@ -31,7 +31,7 @@
"caps_lock": "A15"
},
"rgb_matrix": {
"driver": "ckled2001",
"driver": "snled27351",
"max_brightness": 160,
"animations": {
"breathing": true,


+ 1
- 1
keyboards/monsgeek/m3/m3.c View File

@ -17,7 +17,7 @@
#include "quantum.h"
// clang-format off
#ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location


+ 1
- 4
keyboards/neson_design/700e/700e.c View File

@ -341,10 +341,7 @@ void housekeeping_task_kb(void)
}
}
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
#ifdef IS31FL3731_I2C_ADDRESS_2
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
#endif
is31fl3731_flush();
housekeeping_task_user();
}


+ 1
- 4
keyboards/neson_design/n6/n6.c View File

@ -343,10 +343,7 @@ void housekeeping_task_kb(void)
}
}
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
#ifdef IS31FL3731_I2C_ADDRESS_2
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
#endif
is31fl3731_flush();
housekeeping_task_user();
}


+ 2
- 0
keyboards/novelkeys/nk65/config.h View File

@ -50,6 +50,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_SDA
#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 128


+ 2
- 0
keyboards/novelkeys/nk87/config.h View File

@ -50,6 +50,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_SDA
#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 128


+ 1
- 0
keyboards/spaceholdings/nebula12/config.h View File

@ -73,6 +73,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 16


+ 2
- 0
keyboards/spaceholdings/nebula68/config.h View File

@ -56,6 +56,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_SDA
#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 128


+ 2
- 0
keyboards/tkc/portico/config.h View File

@ -48,6 +48,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#else
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 67


+ 1
- 0
keyboards/tkc/portico75/config.h View File

@ -79,6 +79,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define DRIVER_INDICATOR_LED_TOTAL 0
#else
// WT_RGB IS31FL3741 driver code
# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
# define IS31FL3741_DRIVER_COUNT 1
# define RGB_MATRIX_LED_COUNT 98


+ 2
- 0
keyboards/wilba_tech/rama_works_kara/config.h View File

@ -16,6 +16,8 @@
#pragma once
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/wilba_tech/rama_works_koyu/config.h View File

@ -16,6 +16,8 @@
#pragma once
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 1
- 0
keyboards/wilba_tech/rama_works_m10_c/config.h View File

@ -21,6 +21,7 @@
#define LOCKING_RESYNC_ENABLE
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 12


+ 2
- 0
keyboards/wilba_tech/rama_works_m50_a/config.h View File

@ -21,6 +21,8 @@
#define LOCKING_RESYNC_ENABLE
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/wilba_tech/rama_works_m60_a/config.h View File

@ -16,6 +16,8 @@
#pragma once
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/wilba_tech/rama_works_m65_b/config.h View File

@ -21,6 +21,8 @@
#define LOCKING_RESYNC_ENABLE
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/wilba_tech/rama_works_m65_bx/config.h View File

@ -21,6 +21,8 @@
#define LOCKING_RESYNC_ENABLE
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 3
- 0
keyboards/wilba_tech/rama_works_u80_a/config.h View File

@ -38,6 +38,9 @@
//#define NO_ACTION_ONESHOT
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_I2C_ADDRESS_3 IS31FL3731_I2C_ADDRESS_SCL
#define IS31FL3731_DRIVER_COUNT 3
#define RGB_MATRIX_LED_COUNT 108


+ 2
- 0
keyboards/wilba_tech/wt60_b/config.h View File

@ -23,6 +23,8 @@
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/wilba_tech/wt60_bx/config.h View File

@ -23,6 +23,8 @@
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/wilba_tech/wt60_c/config.h View File

@ -23,6 +23,8 @@
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 1
- 1
keyboards/wilba_tech/wt_mono_backlight.c View File

@ -469,7 +469,7 @@ void backlight_config_save(void)
void backlight_update_pwm_buffers(void)
{
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
is31fl3736_flush();
}
bool process_record_backlight(uint16_t keycode, keyrecord_t *record)


+ 2
- 0
keyboards/wilba_tech/zeal60/config.h View File

@ -16,6 +16,8 @@
#pragma once
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/wilba_tech/zeal65/config.h View File

@ -16,6 +16,8 @@
#pragma once
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 72


+ 2
- 0
keyboards/xelus/dawn60/rev1/config.h View File

@ -16,6 +16,8 @@
#pragma once
// IS31FL3731 driver
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 64


+ 1
- 5
keyboards/xelus/pachi/rgb/rev1/rev1.c View File

@ -226,13 +226,9 @@ static void init(void) {
is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
}
static void flush(void) {
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3741_flush,
.set_color = is31fl3741_set_color,
.set_color_all = is31fl3741_set_color_all
};


+ 1
- 5
keyboards/xelus/pachi/rgb/rev2/rev2.c View File

@ -232,13 +232,9 @@ static void init(void) {
is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0);
}
static void flush(void) {
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3741_flush,
.set_color = is31fl3741_set_color,
.set_color_all = is31fl3741_set_color_all
};


+ 8
- 103
quantum/led_matrix/led_matrix_drivers.c View File

@ -249,159 +249,64 @@ static void init(void) {
}
# if defined(LED_MATRIX_IS31FL3218)
static void flush(void) {
is31fl3218_update_pwm_buffers();
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3218_update_pwm_buffers,
.set_value = is31fl3218_set_value,
.set_value_all = is31fl3218_set_value_all,
};
# elif defined(LED_MATRIX_IS31FL3731)
static void flush(void) {
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
# if defined(IS31FL3731_I2C_ADDRESS_2)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
# if defined(IS31FL3731_I2C_ADDRESS_3)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2);
# if defined(IS31FL3731_I2C_ADDRESS_4)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3731_flush,
.set_value = is31fl3731_set_value,
.set_value_all = is31fl3731_set_value_all,
};
# elif defined(LED_MATRIX_IS31FL3733)
static void flush(void) {
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
# if defined(IS31FL3733_I2C_ADDRESS_2)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
# if defined(IS31FL3733_I2C_ADDRESS_3)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2);
# if defined(IS31FL3733_I2C_ADDRESS_4)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3733_flush,
.set_value = is31fl3733_set_value,
.set_value_all = is31fl3733_set_value_all,
};
# elif defined(LED_MATRIX_IS31FL3736)
static void flush(void) {
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
# if defined(IS31FL3736_I2C_ADDRESS_2)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1);
# if defined(IS31FL3736_I2C_ADDRESS_3)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2);
# if defined(IS31FL3736_I2C_ADDRESS_4)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3736_flush,
.set_value = is31fl3736_set_value,
.set_value_all = is31fl3736_set_value_all,
};
# elif defined(LED_MATRIX_IS31FL3737)
static void flush(void) {
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0);
# if defined(IS31FL3737_I2C_ADDRESS_2)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1);
# if defined(IS31FL3737_I2C_ADDRESS_3)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2);
# if defined(IS31FL3737_I2C_ADDRESS_4)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3737_flush,
.set_value = is31fl3737_set_value,
.set_value_all = is31fl3737_set_value_all,
};
# elif defined(LED_MATRIX_IS31FL3741)
static void flush(void) {
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
# if defined(IS31FL3741_I2C_ADDRESS_2)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1);
# if defined(IS31FL3741_I2C_ADDRESS_3)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2);
# if defined(IS31FL3741_I2C_ADDRESS_4)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3741_flush,
.set_value = is31fl3741_set_value,
.set_value_all = is31fl3741_set_value_all,
};
# elif defined(IS31FLCOMMON)
static void flush(void) {
IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0);
# if defined(LED_DRIVER_ADDR_2)
IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1);
# if defined(LED_DRIVER_ADDR_3)
IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2);
# if defined(LED_DRIVER_ADDR_4)
IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3);
# endif
# endif
# endif
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = IS31FL_common_flush,
.set_value = IS31FL_simple_set_brightness,
.set_value_all = IS31FL_simple_set_brigntness_all,
};
# elif defined(LED_MATRIX_SNLED27351)
static void flush(void) {
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0);
# if defined(SNLED27351_I2C_ADDRESS_2)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1);
# if defined(SNLED27351_I2C_ADDRESS_3)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2);
# if defined(SNLED27351_I2C_ADDRESS_4)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const led_matrix_driver_t led_matrix_driver = {
.init = init,
.flush = flush,
.flush = snled27351_flush,
.set_value = snled27351_set_value,
.set_value_all = snled27351_set_value_all,
};


+ 9
- 111
quantum/rgb_matrix/rgb_matrix_drivers.c View File

@ -247,160 +247,65 @@ static void init(void) {
}
# if defined(RGB_MATRIX_IS31FL3218)
static void flush(void) {
is31fl3218_update_pwm_buffers();
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3218_update_pwm_buffers,
.set_color = is31fl3218_set_color,
.set_color_all = is31fl3218_set_color_all,
};
# elif defined(RGB_MATRIX_IS31FL3731)
static void flush(void) {
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0);
# if defined(IS31FL3731_I2C_ADDRESS_2)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1);
# if defined(IS31FL3731_I2C_ADDRESS_3)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2);
# if defined(IS31FL3731_I2C_ADDRESS_4)
is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3731_flush,
.set_color = is31fl3731_set_color,
.set_color_all = is31fl3731_set_color_all,
};
# elif defined(RGB_MATRIX_IS31FL3733)
static void flush(void) {
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0);
# if defined(IS31FL3733_I2C_ADDRESS_2)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1);
# if defined(IS31FL3733_I2C_ADDRESS_3)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2);
# if defined(IS31FL3733_I2C_ADDRESS_4)
is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3733_flush,
.set_color = is31fl3733_set_color,
.set_color_all = is31fl3733_set_color_all,
};
# elif defined(RGB_MATRIX_IS31FL3736)
static void flush(void) {
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0);
# if defined(IS31FL3736_I2C_ADDRESS_2)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1);
# if defined(IS31FL3736_I2C_ADDRESS_3)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2);
# if defined(IS31FL3736_I2C_ADDRESS_4)
is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3736_flush,
.set_color = is31fl3736_set_color,
.set_color_all = is31fl3736_set_color_all,
};
# elif defined(RGB_MATRIX_IS31FL3737)
static void flush(void) {
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0);
# if defined(IS31FL3737_I2C_ADDRESS_2)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1);
# if defined(IS31FL3737_I2C_ADDRESS_3)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2);
# if defined(IS31FL3737_I2C_ADDRESS_4)
is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3737_flush,
.set_color = is31fl3737_set_color,
.set_color_all = is31fl3737_set_color_all,
};
# elif defined(RGB_MATRIX_IS31FL3741)
static void flush(void) {
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0);
# if defined(IS31FL3741_I2C_ADDRESS_2)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1);
# if defined(IS31FL3741_I2C_ADDRESS_3)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2);
# if defined(IS31FL3741_I2C_ADDRESS_4)
is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = is31fl3741_flush,
.set_color = is31fl3741_set_color,
.set_color_all = is31fl3741_set_color_all,
};
# elif defined(IS31FLCOMMON)
static void flush(void) {
IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0);
# if defined(DRIVER_ADDR_2)
IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1);
# if defined(DRIVER_ADDR_3)
IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2);
# if defined(DRIVER_ADDR_4)
IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3);
# endif
# endif
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = IS31FL_common_flush,
.set_color = IS31FL_RGB_set_color,
.set_color_all = IS31FL_RGB_set_color_all,
};
# elif defined(RGB_MATRIX_SNLED27351)
static void flush(void) {
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0);
# if defined(SNLED27351_I2C_ADDRESS_2)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1);
# if defined(SNLED27351_I2C_ADDRESS_3)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2);
# if defined(SNLED27351_I2C_ADDRESS_4)
snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3);
# endif
# endif
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = snled27351_flush,
.set_color = snled27351_set_color,
.set_color_all = snled27351_set_color_all,
};
@ -418,16 +323,9 @@ static void init(void) {
# endif
}
static void flush(void) {
aw20216s_update_pwm_buffers(AW20216S_CS_PIN_1, 0);
# if defined(AW20216S_CS_PIN_2)
aw20216s_update_pwm_buffers(AW20216S_CS_PIN_2, 1);
# endif
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.flush = flush,
.flush = aw20216s_flush,
.set_color = aw20216s_set_color,
.set_color_all = aw20216s_set_color_all,
};


Loading…
Cancel
Save