From d1d0925cf998e965ec825fbe35a97fcbbb7e46e3 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu, 8 Jun 2023 11:58:53 +1000 Subject: [Core] Optimisation - Add RGB LED colour set check in drivers (#21134) --- drivers/led/aw20216.c | 3 +++ drivers/led/ckled2001-simple.c | 3 +++ drivers/led/ckled2001.c | 3 +++ drivers/led/issi/is31fl3218.c | 3 +++ drivers/led/issi/is31fl3731-simple.c | 4 ++++ drivers/led/issi/is31fl3731.c | 3 +++ drivers/led/issi/is31fl3733-simple.c | 3 +++ drivers/led/issi/is31fl3733.c | 3 +++ drivers/led/issi/is31fl3736.c | 3 +++ drivers/led/issi/is31fl3737.c | 3 +++ drivers/led/issi/is31fl3741.c | 5 ++++- drivers/led/issi/is31flcommon.c | 6 ++++++ 12 files changed, 41 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c index 7895f1497b..5fd25eed88 100644 --- a/drivers/led/aw20216.c +++ b/drivers/led/aw20216.c @@ -145,6 +145,9 @@ void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { aw_led led; memcpy_P(&led, (&g_aw_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; diff --git a/drivers/led/ckled2001-simple.c b/drivers/led/ckled2001-simple.c index 6c4ffd398e..ee192af7dc 100644 --- a/drivers/led/ckled2001-simple.c +++ b/drivers/led/ckled2001-simple.c @@ -151,6 +151,9 @@ void CKLED2001_set_value(int index, uint8_t value) { if (index >= 0 && index < LED_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.v] == value) { + return; + } g_pwm_buffer[led.driver][led.v] = value; g_pwm_buffer_update_required[led.driver] = true; } diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c index a99b479d1c..d0099163ee 100644 --- a/drivers/led/ckled2001.c +++ b/drivers/led/ckled2001.c @@ -150,6 +150,9 @@ void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; diff --git a/drivers/led/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c index c2300ebe89..1ed45c4558 100644 --- a/drivers/led/issi/is31fl3218.c +++ b/drivers/led/issi/is31fl3218.c @@ -72,6 +72,9 @@ void IS31FL3218_init(void) { } void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + if (g_pwm_buffer[index * 3 + 0] == red && g_pwm_buffer[index * 3 + 1] == green && g_pwm_buffer[index * 3 + 2] == blue) { + return; + } g_pwm_buffer[index * 3 + 0] = red; g_pwm_buffer[index * 3 + 1] = green; g_pwm_buffer[index * 3 + 2] = blue; diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c index a62b21cc6b..da4f17b73d 100644 --- a/drivers/led/issi/is31fl3731-simple.c +++ b/drivers/led/issi/is31fl3731-simple.c @@ -196,6 +196,10 @@ void IS31FL3731_set_value(int index, uint8_t value) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); // Subtract 0x24 to get the second index of g_pwm_buffer + + if (g_pwm_buffer[led.driver][led.v - 0x24] == value) { + return; + } g_pwm_buffer[led.driver][led.v - 0x24] = value; g_pwm_buffer_update_required[led.driver] = true; } diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index 80344ca721..b8b520161e 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -184,6 +184,9 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); // Subtract 0x24 to get the second index of g_pwm_buffer + if (g_pwm_buffer[led.driver][led.r - 0x24] == red && g_pwm_buffer[led.driver][led.g - 0x24] == green && g_pwm_buffer[led.driver][led.b - 0x24] == blue) { + return; + } g_pwm_buffer[led.driver][led.r - 0x24] = red; g_pwm_buffer[led.driver][led.g - 0x24] = green; g_pwm_buffer[led.driver][led.b - 0x24] = blue; diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index 21138c6e05..782d1c6f78 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -196,6 +196,9 @@ void IS31FL3733_set_value(int index, uint8_t value) { if (index >= 0 && index < LED_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[index]; + if (g_pwm_buffer[led.driver][led.v] == value) { + return; + } g_pwm_buffer[led.driver][led.v] = value; g_pwm_buffer_update_required[led.driver] = true; } diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index 379eaa0ae3..b2b467ab9e 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -189,6 +189,9 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index d6b0881139..45b34f2c8d 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -169,6 +169,9 @@ void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index b6ed6b2629..e5e6c66e5a 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -176,6 +176,9 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index 2f43473fc1..65f0c3640b 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c @@ -180,10 +180,13 @@ void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } + g_pwm_buffer_update_required[led.driver] = true; g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; - g_pwm_buffer_update_required[led.driver] = true; } } diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c index 106890a8bf..40b162beb3 100644 --- a/drivers/led/issi/is31flcommon.c +++ b/drivers/led/issi/is31flcommon.c @@ -139,6 +139,9 @@ void IS31FL_set_manual_scaling_buffer(void) { if (scale.driver >= 0 && scale.driver < RGB_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[scale.driver]; + if (g_scaling_buffer[led.driver][led.r] = scale.r && g_scaling_buffer[led.driver][led.g] = scale.g && g_scaling_buffer[led.driver][led.b] = scale.b) { + return; + } g_scaling_buffer[led.driver][led.r] = scale.r; g_scaling_buffer[led.driver][led.g] = scale.g; g_scaling_buffer[led.driver][led.b] = scale.b; @@ -146,6 +149,9 @@ void IS31FL_set_manual_scaling_buffer(void) { if (scale.driver >= 0 && scale.driver < LED_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[scale.driver]; + if (g_scaling_buffer[led.driver][led.v] == scale.v) { + return; + } g_scaling_buffer[led.driver][led.v] = scale.v; # endif g_scaling_buffer_update_required[led.driver] = true; -- cgit v1.3.1 From 3156cf6da0b36403875b99b0417cb22e2a4f0963 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 23 Jun 2023 22:50:31 +0100 Subject: Remove use of __flash within LED drivers (#21343) --- docs/feature_led_matrix.md | 4 ++-- docs/feature_rgb_matrix.md | 4 ++-- drivers/led/issi/is31fl3733-simple.c | 6 ++++-- drivers/led/issi/is31fl3733-simple.h | 2 +- drivers/led/issi/is31flcommon.c | 22 +++++++++++++++------- drivers/led/issi/is31flcommon.h | 6 +++--- 6 files changed, 27 insertions(+), 17 deletions(-) (limited to 'drivers') diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index bc86099f1f..b967f943d3 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -139,7 +139,7 @@ Currently only 4 drivers are supported, but it would be trivial to support for m Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address @@ -158,7 +158,7 @@ Eg `#define ISSI_MANUAL_SCALING 3` Then Define the array listing all the LEDs you want to override in your `.c`: ```c -const is31_led __flash g_is31_scaling[ISSI_MANUAL_SCALING] = { +const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = { * LED Index * | Scaling * | | */ diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 75f07b5e64..89c9268ca4 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -386,7 +386,7 @@ Currently only 4 drivers are supported, but it would be trivial to support for m Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -406,7 +406,7 @@ Eg `#define ISSI_MANUAL_SCALING 3` Then Define the array listing all the LEDs you want to override in your `.c`: ```c -const is31_led __flash g_is31_scaling[ISSI_MANUAL_SCALING] = { +const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = { * LED Index * | R scaling * | | G scaling diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index 782d1c6f78..d90fd8587f 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -193,8 +193,9 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { } void IS31FL3733_set_value(int index, uint8_t value) { + is31_led led; if (index >= 0 && index < LED_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[index]; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); if (g_pwm_buffer[led.driver][led.v] == value) { return; @@ -211,7 +212,8 @@ void IS31FL3733_set_value_all(uint8_t value) { } void IS31FL3733_set_led_control_register(uint8_t index, bool value) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); uint8_t control_register = led.v / 8; uint8_t bit_value = led.v % 8; diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index 1571fdd3d5..bd61082f42 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -30,7 +30,7 @@ typedef struct is31_led { uint8_t v; } __attribute__((packed)) is31_led; -extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT]; +extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; void IS31FL3733_init(uint8_t addr, uint8_t sync); bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c index 40b162beb3..4b78947ada 100644 --- a/drivers/led/issi/is31flcommon.c +++ b/drivers/led/issi/is31flcommon.c @@ -133,11 +133,14 @@ void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index) { #ifdef ISSI_MANUAL_SCALING void IS31FL_set_manual_scaling_buffer(void) { + is31_led led; + is31_led scale; for (int i = 0; i < ISSI_MANUAL_SCALING; i++) { - is31_led scale = g_is31_scaling[i]; + memcpy_P(&scale, (&g_is31_scaling[i]), sizeof(scale)); + # ifdef RGB_MATRIX_ENABLE if (scale.driver >= 0 && scale.driver < RGB_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[scale.driver]; + memcpy_P(&led, (&g_is31_leds[scale.driver]), sizeof(led)); if (g_scaling_buffer[led.driver][led.r] = scale.r && g_scaling_buffer[led.driver][led.g] = scale.g && g_scaling_buffer[led.driver][led.b] = scale.b) { return; @@ -147,7 +150,7 @@ void IS31FL_set_manual_scaling_buffer(void) { g_scaling_buffer[led.driver][led.b] = scale.b; # elif defined(LED_MATRIX_ENABLE) if (scale.driver >= 0 && scale.driver < LED_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[scale.driver]; + memcpy_P(&led, (&g_is31_leds[scale.driver]), sizeof(led)); if (g_scaling_buffer[led.driver][led.v] == scale.v) { return; @@ -175,7 +178,8 @@ void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) { // Colour is set by adjusting PWM register void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; @@ -192,7 +196,8 @@ void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { // Setup Scaling register that decides the peak current of each LED void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blue) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); if (red) { g_scaling_buffer[led.driver][led.r] = ISSI_SCAL_RED; } else { @@ -214,7 +219,8 @@ void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blu #elif defined(LED_MATRIX_ENABLE) // LED Matrix Specific scripts void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); if (value) { g_scaling_buffer[led.driver][led.v] = ISSI_SCAL_LED; } else { @@ -225,7 +231,9 @@ void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) { void IS31FL_simple_set_brightness(int index, uint8_t value) { if (index >= 0 && index < LED_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); + g_pwm_buffer[led.driver][led.v] = value; g_pwm_buffer_update_required[led.driver] = true; } diff --git a/drivers/led/issi/is31flcommon.h b/drivers/led/issi/is31flcommon.h index 18432ffc31..4b3add558b 100644 --- a/drivers/led/issi/is31flcommon.h +++ b/drivers/led/issi/is31flcommon.h @@ -43,7 +43,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; #elif defined(LED_MATRIX_ENABLE) typedef struct is31_led { @@ -51,11 +51,11 @@ typedef struct is31_led { uint8_t v; } __attribute__((packed)) is31_led; -extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT]; +extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; #endif #ifdef ISSI_MANUAL_SCALING -extern const is31_led __flash g_is31_scaling[]; +extern const is31_led PROGMEM g_is31_scaling[]; void IS31FL_set_manual_scaling_buffer(void); #endif -- cgit v1.3.1 From d2fd9e1773a454719940b3e033b6890cd6ddd720 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 2 Jul 2023 17:10:38 -0700 Subject: Fix ili9xxx inversion opcode entry (#21422) --- drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h index 47bb703648..f57e638e03 100644 --- a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h +++ b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h @@ -19,8 +19,8 @@ #define ILI9XXX_CMD_SLEEP_OFF 0x11 // Exist sleep mode #define ILI9XXX_CMD_PARTIAL_ON 0x12 // Enter partial mode #define ILI9XXX_CMD_PARTIAL_OFF 0x13 // Exit partial mode -#define ILI9XXX_CMD_INVERT_ON 0x20 // Enter inverted mode -#define ILI9XXX_CMD_INVERT_OFF 0x21 // Exit inverted mode +#define ILI9XXX_CMD_INVERT_OFF 0x20 // Exit inverted mode +#define ILI9XXX_CMD_INVERT_ON 0x21 // Enter inverted mode #define ILI9XXX_SET_GAMMA 0x26 // Set gamma params #define ILI9XXX_CMD_DISPLAY_OFF 0x28 // Disable display #define ILI9XXX_CMD_DISPLAY_ON 0x29 // Enable display -- cgit v1.3.1 From e43080788ea707e53a96e5300d4766749302b364 Mon Sep 17 00:00:00 2001 From: Daniel Kao Date: Fri, 7 Jul 2023 04:34:44 -0700 Subject: Fix PS2_MOUSE_INVERT_BUTTONS (#20646) --- drivers/ps2/ps2_mouse.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'drivers') diff --git a/drivers/ps2/ps2_mouse.c b/drivers/ps2/ps2_mouse.c index d6911d66f2..ae594c94bc 100644 --- a/drivers/ps2/ps2_mouse.c +++ b/drivers/ps2/ps2_mouse.c @@ -191,13 +191,12 @@ static inline void ps2_mouse_convert_report_to_hid(report_mouse_t *mouse_report) #ifdef PS2_MOUSE_INVERT_BUTTONS // swap left & right buttons - uint8_t needs_left = mouse_report->buttons & PS2_MOUSE_BTN_RIGHT; - uint8_t needs_right = mouse_report->buttons & PS2_MOUSE_BTN_LEFT; - mouse_report->buttons = (mouse_report->buttons & ~(PS2_MOUSE_BTN_MASK)) | (needs_left ? PS2_MOUSE_BTN_LEFT : 0) | (needs_right ? PS2_MOUSE_BTN_RIGHT : 0); -#else + bool needs_left = mouse_report->buttons & (1 << PS2_MOUSE_BTN_RIGHT); + bool needs_right = mouse_report->buttons & (1 << PS2_MOUSE_BTN_LEFT); + mouse_report->buttons = (mouse_report->buttons & ~((1 << PS2_MOUSE_BTN_LEFT) | (1 << PS2_MOUSE_BTN_RIGHT))) | (needs_left << PS2_MOUSE_BTN_LEFT) | (needs_right << PS2_MOUSE_BTN_RIGHT); +#endif // remove sign and overflow flags mouse_report->buttons &= PS2_MOUSE_BTN_MASK; -#endif #ifdef PS2_MOUSE_INVERT_X mouse_report->x = -mouse_report->x; -- cgit v1.3.1 From cb2331713c84bb2b7f140f67b41037721f4958a1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 8 Jul 2023 23:13:10 +1000 Subject: Relocate backlight drivers (#21444) --- builddefs/common_features.mk | 12 +- drivers/backlight/backlight_software.c | 54 +++ keyboards/4pplet/eagle_viper_rep/rev_a/config.h | 1 - keyboards/acheron/athena/alpha/alpha.c | 2 +- keyboards/acheron/athena/alpha/config.h | 1 - keyboards/acheron/athena/beta/config.h | 2 - keyboards/acheron/shark/alpha/config.h | 1 - keyboards/acheron/shark/beta/config.h | 1 - keyboards/checkerboards/nop60/config.h | 2 - keyboards/ebastler/e80_1800/config.h | 2 - keyboards/ebastler/isometria_75/rev1/config.h | 1 - keyboards/geonworks/frogmini/fms/config.h | 1 - keyboards/handwired/onekey/blackpill_f401/config.h | 1 - .../onekey/blackpill_f401_tinyuf2/config.h | 1 - keyboards/handwired/onekey/blackpill_f411/config.h | 1 - .../onekey/blackpill_f411_tinyuf2/config.h | 1 - keyboards/handwired/onekey/evb_wb32f3g71/config.h | 5 - keyboards/handwired/onekey/evb_wb32fq95/config.h | 5 - keyboards/handwired/onekey/nucleo_f446re/config.h | 5 - keyboards/handwired/onekey/nucleo_l432kc/config.h | 5 - keyboards/handwired/onekey/proton_c/config.h | 5 - keyboards/handwired/onekey/rp2040/config.h | 1 - keyboards/handwired/onekey/stm32f0_disco/config.h | 2 - keyboards/handwired/pill60/config.h | 19 - keyboards/linworks/fave104/config.h | 1 - keyboards/linworks/whale75/config.h | 1 - .../mechlovin/adelais/standard_led/arm/config.h | 1 - keyboards/mechlovin/hannah65/config.h | 21 - keyboards/mechlovin/hex4b/rev2/config.h | 20 - keyboards/mechlovin/hex6c/config.h | 1 - keyboards/mechlovin/infinity87/rev1/config.h | 1 - keyboards/mechlovin/infinity88/config.h | 1 - keyboards/mechlovin/mechlovin9/rev1/config.h | 21 - keyboards/mechlovin/tmkl/config.h | 3 - keyboards/mode/m75s/config.h | 1 - keyboards/smithrune/iron165r2/f411/config.h | 1 - platforms/avr/drivers/backlight_pwm.c | 463 ++++++++++++++++++++ platforms/chibios/drivers/backlight_pwm.c | 173 ++++++++ platforms/chibios/drivers/backlight_timer.c | 178 ++++++++ quantum/backlight/backlight.c | 1 - quantum/backlight/backlight_avr.c | 473 --------------------- quantum/backlight/backlight_chibios.c | 173 -------- quantum/backlight/backlight_driver_common.c | 3 +- quantum/backlight/backlight_software.c | 54 --- quantum/backlight/backlight_timer.c | 179 -------- 45 files changed, 877 insertions(+), 1024 deletions(-) create mode 100644 drivers/backlight/backlight_software.c delete mode 100644 keyboards/handwired/pill60/config.h delete mode 100644 keyboards/mechlovin/hannah65/config.h delete mode 100644 keyboards/mechlovin/hex4b/rev2/config.h delete mode 100644 keyboards/mechlovin/mechlovin9/rev1/config.h create mode 100644 platforms/avr/drivers/backlight_pwm.c create mode 100644 platforms/chibios/drivers/backlight_pwm.c create mode 100644 platforms/chibios/drivers/backlight_timer.c delete mode 100644 quantum/backlight/backlight_avr.c delete mode 100644 quantum/backlight/backlight_chibios.c delete mode 100644 quantum/backlight/backlight_software.c delete mode 100644 quantum/backlight/backlight_timer.c (limited to 'drivers') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index e904d6beb9..5687201d61 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -565,18 +565,18 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) endif COMMON_VPATH += $(QUANTUM_DIR)/backlight + COMMON_VPATH += $(DRIVER_PATH)/backlight SRC += $(QUANTUM_DIR)/backlight/backlight.c SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c OPT_DEFS += -DBACKLIGHT_ENABLE - ifeq ($(strip $(BACKLIGHT_DRIVER)), custom) - OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER - else + ifneq ($(strip $(BACKLIGHT_DRIVER)), custom) SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c - ifeq ($(strip $(BACKLIGHT_DRIVER)), pwm) - SRC += $(QUANTUM_DIR)/backlight/backlight_$(PLATFORM_KEY).c + + ifeq ($(strip $(BACKLIGHT_DRIVER)), software) + SRC += $(DRIVER_PATH)/backlight/backlight_software.c else - SRC += $(QUANTUM_DIR)/backlight/backlight_$(strip $(BACKLIGHT_DRIVER)).c + SRC += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/backlight_$(strip $(BACKLIGHT_DRIVER)).c endif endif endif diff --git a/drivers/backlight/backlight_software.c b/drivers/backlight/backlight_software.c new file mode 100644 index 0000000000..f2af3e918e --- /dev/null +++ b/drivers/backlight/backlight_software.c @@ -0,0 +1,54 @@ +#include "backlight.h" +#include "backlight_driver_common.h" +#include "util.h" + +#ifdef BACKLIGHT_BREATHING +# error "Backlight breathing is not available for software PWM. Please disable." +#endif + +static uint16_t s_duty_pattern = 0; + +// clang-format off + +/** \brief PWM duty patterns + * + * We scale the current backlight level to an index within this array. This allows + * backlight_task to focus on just switching LEDs on/off, and we can predict the duty pattern + */ +static const uint16_t backlight_duty_table[] = { + 0b0000000000000000, + 0b1000000000000000, + 0b1000000010000000, + 0b1000001000010000, + 0b1000100010001000, + 0b1001001001001000, + 0b1010101010101010, + 0b1110111011101110, + 0b1111111111111111, +}; +#define backlight_duty_table_size ARRAY_SIZE(backlight_duty_table) + +// clang-format on + +static uint8_t scale_backlight(uint8_t v) { + return v * (backlight_duty_table_size - 1) / BACKLIGHT_LEVELS; +} + +void backlight_init_ports(void) { + backlight_pins_init(); +} + +void backlight_set(uint8_t level) { + s_duty_pattern = backlight_duty_table[scale_backlight(level)]; +} + +void backlight_task(void) { + static uint8_t backlight_tick = 0; + + if (s_duty_pattern & ((uint16_t)1 << backlight_tick)) { + backlight_pins_on(); + } else { + backlight_pins_off(); + } + backlight_tick = (backlight_tick + 1) % 16; +} diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h index ddd59434a4..1cc2d50f16 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD2 #define BACKLIGHT_PWM_CHANNEL 4 -#define BACKLIGHT_PAL_MODE 2 /* Underglow */ #define WS2812_SPI SPID1 diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c index 5b5c45b7c7..9e4f82f7ad 100644 --- a/keyboards/acheron/athena/alpha/alpha.c +++ b/keyboards/acheron/athena/alpha/alpha.c @@ -23,7 +23,7 @@ void board_init(void) { void keyboard_post_init_kb(void){ // Defining the backlight pin (A6) as an floating (no pullup or pulldown resistor) opendrain output pin - palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(BACKLIGHT_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING); + palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING); } void led_init_ports(void) { diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h index 1bb03e3783..0466710e71 100644 --- a/keyboards/acheron/athena/alpha/config.h +++ b/keyboards/acheron/athena/alpha/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h index 77985b2ae5..618cebef0c 100644 --- a/keyboards/acheron/athena/beta/config.h +++ b/keyboards/acheron/athena/beta/config.h @@ -21,8 +21,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/acheron/shark/alpha/config.h b/keyboards/acheron/shark/alpha/config.h index 91f51146f0..a34ea41cff 100644 --- a/keyboards/acheron/shark/alpha/config.h +++ b/keyboards/acheron/shark/alpha/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/acheron/shark/beta/config.h b/keyboards/acheron/shark/beta/config.h index 25ad6b3bf0..d4616132e3 100644 --- a/keyboards/acheron/shark/beta/config.h +++ b/keyboards/acheron/shark/beta/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/checkerboards/nop60/config.h b/keyboards/checkerboards/nop60/config.h index cf5b1ff906..5cb854aebc 100644 --- a/keyboards/checkerboards/nop60/config.h +++ b/keyboards/checkerboards/nop60/config.h @@ -17,8 +17,6 @@ Copyright 2021 Nathan Spears #pragma once -#define BACKLIGHT_PWM_DRIVER PWMD3 - // ws2812 options #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/ebastler/e80_1800/config.h b/keyboards/ebastler/e80_1800/config.h index b0726f908a..baa7073176 100644 --- a/keyboards/ebastler/e80_1800/config.h +++ b/keyboards/ebastler/e80_1800/config.h @@ -16,8 +16,6 @@ #define BACKLIGHT_PWM_DRIVER PWMD1 #define BACKLIGHT_PWM_CHANNEL 2 -#define BACKLIGHT_PAL_MODE 2 - #ifdef OLED_ENABLE diff --git a/keyboards/ebastler/isometria_75/rev1/config.h b/keyboards/ebastler/isometria_75/rev1/config.h index 29a2ac527d..18f4f1f4d6 100644 --- a/keyboards/ebastler/isometria_75/rev1/config.h +++ b/keyboards/ebastler/isometria_75/rev1/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . /* Backlight */ #define BACKLIGHT_PWM_DRIVER PWMD1 #define BACKLIGHT_PWM_CHANNEL 2 -#define BACKLIGHT_PAL_MODE 2 #define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it. /* Underglow */ diff --git a/keyboards/geonworks/frogmini/fms/config.h b/keyboards/geonworks/frogmini/fms/config.h index 6576ee9efe..ddeaa2abff 100644 --- a/keyboards/geonworks/frogmini/fms/config.h +++ b/keyboards/geonworks/frogmini/fms/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD1 -#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PAL_MODE 1 #define I2C_DRIVER I2CD1 diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h index 6183ee9819..22143dfac5 100644 --- a/keyboards/handwired/onekey/blackpill_f401/config.h +++ b/keyboards/handwired/onekey/blackpill_f401/config.h @@ -19,7 +19,6 @@ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h index 6183ee9819..22143dfac5 100755 --- a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h +++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h @@ -19,7 +19,6 @@ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h index 6183ee9819..22143dfac5 100644 --- a/keyboards/handwired/onekey/blackpill_f411/config.h +++ b/keyboards/handwired/onekey/blackpill_f411/config.h @@ -19,7 +19,6 @@ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h index 6183ee9819..22143dfac5 100755 --- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h @@ -19,7 +19,6 @@ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/config.h b/keyboards/handwired/onekey/evb_wb32f3g71/config.h index 4a65e9a72f..5f6f04f7b4 100644 --- a/keyboards/handwired/onekey/evb_wb32f3g71/config.h +++ b/keyboards/handwired/onekey/evb_wb32f3g71/config.h @@ -3,13 +3,8 @@ #pragma once - #define ADC_PIN A0 -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) #define SOLENOID_PIN B12 diff --git a/keyboards/handwired/onekey/evb_wb32fq95/config.h b/keyboards/handwired/onekey/evb_wb32fq95/config.h index 4a65e9a72f..5f6f04f7b4 100644 --- a/keyboards/handwired/onekey/evb_wb32fq95/config.h +++ b/keyboards/handwired/onekey/evb_wb32fq95/config.h @@ -3,13 +3,8 @@ #pragma once - #define ADC_PIN A0 -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) #define SOLENOID_PIN B12 diff --git a/keyboards/handwired/onekey/nucleo_f446re/config.h b/keyboards/handwired/onekey/nucleo_f446re/config.h index c6c04ed615..4401623e85 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/config.h +++ b/keyboards/handwired/onekey/nucleo_f446re/config.h @@ -2,11 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define ADC_PIN A0 #define SOLENOID_PINS { B12, B13, B14, B15 } diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h index d344a11094..03e017892c 100644 --- a/keyboards/handwired/onekey/nucleo_l432kc/config.h +++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h @@ -2,9 +2,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h index 49376e474e..07ce929221 100644 --- a/keyboards/handwired/onekey/proton_c/config.h +++ b/keyboards/handwired/onekey/proton_c/config.h @@ -16,9 +16,4 @@ #pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h index 5cbfb8dbff..0563ebfa5f 100644 --- a/keyboards/handwired/onekey/rp2040/config.h +++ b/keyboards/handwired/onekey/rp2040/config.h @@ -13,7 +13,6 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define BACKLIGHT_PWM_DRIVER PWMD4 #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B #define AUDIO_PIN GP16 diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h index 806eb69df4..b8880f6581 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/config.h +++ b/keyboards/handwired/onekey/stm32f0_disco/config.h @@ -16,9 +16,7 @@ #pragma once - #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PAL_MODE 0 #define ADC_PIN A0 diff --git a/keyboards/handwired/pill60/config.h b/keyboards/handwired/pill60/config.h deleted file mode 100644 index 399d0f2212..0000000000 --- a/keyboards/handwired/pill60/config.h +++ /dev/null @@ -1,19 +0,0 @@ - /* Copyright 2020 Imam Rafii - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD5 -#define BACKLIGHT_PWM_CHANNEL 1 diff --git a/keyboards/linworks/fave104/config.h b/keyboards/linworks/fave104/config.h index 73e72a129f..41c1a917f3 100644 --- a/keyboards/linworks/fave104/config.h +++ b/keyboards/linworks/fave104/config.h @@ -19,5 +19,4 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD2 #define BACKLIGHT_PWM_CHANNEL 2 -#define BACKLIGHT_PAL_MODE 2 #define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it. diff --git a/keyboards/linworks/whale75/config.h b/keyboards/linworks/whale75/config.h index d12d33bdfd..3aa16f3eb0 100644 --- a/keyboards/linworks/whale75/config.h +++ b/keyboards/linworks/whale75/config.h @@ -15,7 +15,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD1 -#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PAL_MODE 6 #define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it. diff --git a/keyboards/mechlovin/adelais/standard_led/arm/config.h b/keyboards/mechlovin/adelais/standard_led/arm/config.h index d7169c0443..68857621b7 100644 --- a/keyboards/mechlovin/adelais/standard_led/arm/config.h +++ b/keyboards/mechlovin/adelais/standard_led/arm/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/mechlovin/hannah65/config.h b/keyboards/mechlovin/hannah65/config.h deleted file mode 100644 index 1686c861fb..0000000000 --- a/keyboards/mechlovin/hannah65/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Team Mechlovin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 diff --git a/keyboards/mechlovin/hex4b/rev2/config.h b/keyboards/mechlovin/hex4b/rev2/config.h deleted file mode 100644 index 14dfffbed3..0000000000 --- a/keyboards/mechlovin/hex4b/rev2/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2020 Team Mechlovin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 diff --git a/keyboards/mechlovin/hex6c/config.h b/keyboards/mechlovin/hex6c/config.h index 48bf717581..4cfcaebcde 100644 --- a/keyboards/mechlovin/hex6c/config.h +++ b/keyboards/mechlovin/hex6c/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 #define WEAR_LEVELING_BACKING_SIZE 4096 #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/mechlovin/infinity87/rev1/config.h b/keyboards/mechlovin/infinity87/rev1/config.h index 2265fff2d1..e21e5d019f 100644 --- a/keyboards/mechlovin/infinity87/rev1/config.h +++ b/keyboards/mechlovin/infinity87/rev1/config.h @@ -17,4 +17,3 @@ #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 diff --git a/keyboards/mechlovin/infinity88/config.h b/keyboards/mechlovin/infinity88/config.h index 9f5eaf5d87..5d7b823cd4 100644 --- a/keyboards/mechlovin/infinity88/config.h +++ b/keyboards/mechlovin/infinity88/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 /*== all animations enable ==*/#define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/mechlovin/mechlovin9/rev1/config.h b/keyboards/mechlovin/mechlovin9/rev1/config.h deleted file mode 100644 index 3686536dfb..0000000000 --- a/keyboards/mechlovin/mechlovin9/rev1/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2021 Mechlovin' Studio - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 diff --git a/keyboards/mechlovin/tmkl/config.h b/keyboards/mechlovin/tmkl/config.h index e604c6bcfa..03e3beacd0 100644 --- a/keyboards/mechlovin/tmkl/config.h +++ b/keyboards/mechlovin/tmkl/config.h @@ -17,8 +17,5 @@ along with this program. If not, see . #pragma once -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/mode/m75s/config.h b/keyboards/mode/m75s/config.h index c17bf51b35..7fdb18d26a 100644 --- a/keyboards/mode/m75s/config.h +++ b/keyboards/mode/m75s/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #define BACKLIGHT_DEFAULT_LEVEL 20 #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define WEAR_LEVELING_LOGICAL_SIZE 2048 #define WEAR_LEVELING_BACKING_SIZE 4096 diff --git a/keyboards/smithrune/iron165r2/f411/config.h b/keyboards/smithrune/iron165r2/f411/config.h index 5ce500d1e5..1cd8a5c150 100644 --- a/keyboards/smithrune/iron165r2/f411/config.h +++ b/keyboards/smithrune/iron165r2/f411/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/platforms/avr/drivers/backlight_pwm.c b/platforms/avr/drivers/backlight_pwm.c new file mode 100644 index 0000000000..d234115641 --- /dev/null +++ b/platforms/avr/drivers/backlight_pwm.c @@ -0,0 +1,463 @@ +#include "backlight.h" +#include "backlight_driver_common.h" +#include "progmem.h" +#include +#include + +// Maximum duty cycle limit +#ifndef BACKLIGHT_LIMIT_VAL +# define BACKLIGHT_LIMIT_VAL 255 +#endif + +// This logic is a bit complex, we support 3 setups: +// +// 1. Hardware PWM when backlight is wired to a PWM pin. +// Depending on this pin, we use a different output compare unit. +// 2. Software PWM with hardware timers, but the used timer +// depends on the Audio setup (Audio wins over Backlight). +// 3. Full software PWM, driven by the matrix scan, if both timers are used by Audio. + +#if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == B5 || BACKLIGHT_PIN == B6 || BACKLIGHT_PIN == B7) +# define ICRx ICR1 +# define TCCRxA TCCR1A +# define TCCRxB TCCR1B +# define TIMERx_OVF_vect TIMER1_OVF_vect +# define TIMSKx TIMSK1 +# define TOIEx TOIE1 + +# if BACKLIGHT_PIN == B5 +# define COMxx0 COM1A0 +# define COMxx1 COM1A1 +# define OCRxx OCR1A +# elif BACKLIGHT_PIN == B6 +# define COMxx0 COM1B0 +# define COMxx1 COM1B1 +# define OCRxx OCR1B +# elif BACKLIGHT_PIN == B7 +# define COMxx0 COM1C0 +# define COMxx1 COM1C1 +# define OCRxx OCR1C +# endif +#elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == C4 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6) +# define ICRx ICR3 +# define TCCRxA TCCR3A +# define TCCRxB TCCR3B +# define TIMERx_OVF_vect TIMER3_OVF_vect +# define TIMSKx TIMSK3 +# define TOIEx TOIE3 + +# if BACKLIGHT_PIN == C4 +# if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) +# error This MCU has no C4 pin! +# else +# define COMxx0 COM3C0 +# define COMxx1 COM3C1 +# define OCRxx OCR3C +# endif +# elif BACKLIGHT_PIN == C5 +# if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) +# error This MCU has no C5 pin! +# else +# define COMxx0 COM3B0 +# define COMxx1 COM3B1 +# define OCRxx OCR3B +# endif +# elif BACKLIGHT_PIN == C6 +# define COMxx0 COM3A0 +# define COMxx1 COM3A1 +# define OCRxx OCR3A +# endif +#elif (defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__)) && (BACKLIGHT_PIN == B7 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6) +# define ICRx ICR1 +# define TCCRxA TCCR1A +# define TCCRxB TCCR1B +# define TIMERx_OVF_vect TIMER1_OVF_vect +# define TIMSKx TIMSK1 +# define TOIEx TOIE1 + +# if BACKLIGHT_PIN == B7 +# define COMxx0 COM1C0 +# define COMxx1 COM1C1 +# define OCRxx OCR1C +# elif BACKLIGHT_PIN == C5 +# define COMxx0 COM1B0 +# define COMxx1 COM1B1 +# define OCRxx OCR1B +# elif BACKLIGHT_PIN == C6 +# define COMxx0 COM1A0 +# define COMxx1 COM1A1 +# define OCRxx OCR1A +# endif +#elif defined(__AVR_ATmega32A__) && (BACKLIGHT_PIN == D4 || BACKLIGHT_PIN == D5) +# define ICRx ICR1 +# define TCCRxA TCCR1A +# define TCCRxB TCCR1B +# define TIMERx_OVF_vect TIMER1_OVF_vect +# define TIMSKx TIMSK +# define TOIEx TOIE1 + +# if BACKLIGHT_PIN == D4 +# define COMxx0 COM1B0 +# define COMxx1 COM1B1 +# define OCRxx OCR1B +# elif BACKLIGHT_PIN == D5 +# define COMxx0 COM1A0 +# define COMxx1 COM1A1 +# define OCRxx OCR1A +# endif +#elif (defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__)) && (BACKLIGHT_PIN == B1 || BACKLIGHT_PIN == B2) +# define ICRx ICR1 +# define TCCRxA TCCR1A +# define TCCRxB TCCR1B +# define TIMERx_OVF_vect TIMER1_OVF_vect +# define TIMSKx TIMSK1 +# define TOIEx TOIE1 + +# if BACKLIGHT_PIN == B1 +# define COMxx0 COM1A0 +# define COMxx1 COM1A1 +# define OCRxx OCR1A +# elif BACKLIGHT_PIN == B2 +# define COMxx0 COM1B0 +# define COMxx1 COM1B1 +# define OCRxx OCR1B +# endif +#elif (AUDIO_PIN != B5) && (AUDIO_PIN != B6) && (AUDIO_PIN != B7) && (AUDIO_PIN_ALT != B5) && (AUDIO_PIN_ALT != B6) && (AUDIO_PIN_ALT != B7) +// Timer 1 is not in use by Audio feature, Backlight can use it +# pragma message "Using hardware timer 1 with software PWM" +# define BACKLIGHT_PWM_TIMER +# define ICRx ICR1 +# define TCCRxA TCCR1A +# define TCCRxB TCCR1B +# define TIMERx_COMPA_vect TIMER1_COMPA_vect +# define TIMERx_OVF_vect TIMER1_OVF_vect +# if defined(__AVR_ATmega32A__) // This MCU has only one TIMSK register +# define TIMSKx TIMSK +# else +# define TIMSKx TIMSK1 +# endif +# define TOIEx TOIE1 + +# define OCIExA OCIE1A +# define OCRxx OCR1A +#elif (AUDIO_PIN != C4) && (AUDIO_PIN != C5) && (AUDIO_PIN != C6) +# pragma message "Using hardware timer 3 with software PWM" +// Timer 3 is not in use by Audio feature, Backlight can use it +# define BACKLIGHT_PWM_TIMER +# define ICRx ICR1 +# define TCCRxA TCCR3A +# define TCCRxB TCCR3B +# define TIMERx_COMPA_vect TIMER3_COMPA_vect +# define TIMERx_OVF_vect TIMER3_OVF_vect +# define TIMSKx TIMSK3 +# define TOIEx TOIE3 + +# define OCIExA OCIE3A +# define OCRxx OCR3A +#endif + +#ifndef BACKLIGHT_PWM_TIMER // pwm through software + +static inline void enable_pwm(void) { +# if BACKLIGHT_ON_STATE == 1 + TCCRxA |= _BV(COMxx1); +# else + TCCRxA |= _BV(COMxx1) | _BV(COMxx0); +# endif +} + +static inline void disable_pwm(void) { +# if BACKLIGHT_ON_STATE == 1 + TCCRxA &= ~(_BV(COMxx1)); +# else + TCCRxA &= ~(_BV(COMxx1) | _BV(COMxx0)); +# endif +} + +#endif + +#ifdef BACKLIGHT_PWM_TIMER + +// The idea of software PWM assisted by hardware timers is the following +// we use the hardware timer in fast PWM mode like for hardware PWM, but +// instead of letting the Output Match Comparator control the led pin +// (which is not possible since the backlight is not wired to PWM pins on the +// CPU), we do the LED on/off by oursleves. +// The timer is setup to count up to 0xFFFF, and we set the Output Compare +// register to the current 16bits backlight level (after CIE correction). +// This means the CPU will trigger a compare match interrupt when the counter +// reaches the backlight level, where we turn off the LEDs, +// but also an overflow interrupt when the counter rolls back to 0, +// in which we're going to turn on the LEDs. +// The LED will then be on for OCRxx/0xFFFF time, adjusted every 244Hz, +// or F_CPU/BACKLIGHT_CUSTOM_RESOLUTION if used. + +// Triggered when the counter reaches the OCRx value +ISR(TIMERx_COMPA_vect) { + backlight_pins_off(); +} + +// Triggered when the counter reaches the TOP value +// this one triggers at F_CPU/ICRx = 16MHz/65536 =~ 244 Hz +ISR(TIMERx_OVF_vect) { +# ifdef BACKLIGHT_BREATHING + if (is_breathing()) { + breathing_task(); + } +# endif + // for very small values of OCRxx (or backlight level) + // we can't guarantee this whole code won't execute + // at the same time as the compare match interrupt + // which means that we might turn on the leds while + // trying to turn them off, leading to flickering + // artifacts (especially while breathing, because breathing_task + // takes many computation cycles). + // so better not turn them on while the counter TOP is very low. + if (OCRxx > ICRx / 250 + 5) { + backlight_pins_on(); + } +} + +#endif + +#define TIMER_TOP 0xFFFFU + +// See http://jared.geek.nz/2013/feb/linear-led-pwm +static uint16_t cie_lightness(uint16_t v) { + if (v <= (uint32_t)ICRx / 12) // If the value is less than or equal to ~8% of max + { + return v / 9; // Same as dividing by 900% + } else { + // In the next two lines values are bit-shifted. This is to avoid loosing decimals in integer math. + uint32_t y = (((uint32_t)v + (uint32_t)ICRx / 6) << 5) / ((uint32_t)ICRx / 6 + ICRx); // If above 8%, add ~16% of max, and normalize with (max + ~16% max) + uint32_t out = (y * y * y * ICRx) >> 15; // Cube it and undo the bit-shifting. (which is now three times as much due to the cubing) + + if (out > ICRx) // Avoid overflows + { + out = ICRx; + } + return (uint16_t)out; + } +} + +// rescale the supplied backlight value to be in terms of the value limit // range for val is [0..ICRx]. PWM pin is high while the timer count is below val. +static uint32_t rescale_limit_val(uint32_t val) { + return (val * (BACKLIGHT_LIMIT_VAL + 1)) / 256; +} + +// range for val is [0..ICRx]. PWM pin is high while the timer count is below val. +static inline void set_pwm(uint16_t val) { + OCRxx = val; +} + +void backlight_set(uint8_t level) { + if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; + + if (level == 0) { +#ifdef BACKLIGHT_PWM_TIMER + if (OCRxx) { + TIMSKx &= ~(_BV(OCIExA)); + TIMSKx &= ~(_BV(TOIEx)); + } +#else + // Turn off PWM control on backlight pin + disable_pwm(); +#endif + backlight_pins_off(); + } else { +#ifdef BACKLIGHT_PWM_TIMER + if (!OCRxx) { + TIMSKx |= _BV(OCIExA); + TIMSKx |= _BV(TOIEx); + } +#else + // Turn on PWM control of backlight pin + enable_pwm(); +#endif + } + // Set the brightness + set_pwm(cie_lightness(rescale_limit_val(ICRx * (uint32_t)level / BACKLIGHT_LEVELS))); +} + +void backlight_task(void) {} + +#ifdef BACKLIGHT_BREATHING + +# define BREATHING_NO_HALT 0 +# define BREATHING_HALT_OFF 1 +# define BREATHING_HALT_ON 2 +# define BREATHING_STEPS 128 + +static uint8_t breathing_halt = BREATHING_NO_HALT; +static uint16_t breathing_counter = 0; + +static uint8_t breath_scale_counter = 1; +/* Run the breathing loop at ~120Hz*/ +const uint8_t breathing_ISR_frequency = 120; +static uint16_t breathing_freq_scale_factor = 2; + +# ifdef BACKLIGHT_PWM_TIMER +static bool breathing = false; + +bool is_breathing(void) { + return breathing; +} + +# define breathing_interrupt_enable() \ + do { \ + breathing = true; \ + } while (0) +# define breathing_interrupt_disable() \ + do { \ + breathing = false; \ + } while (0) +# else + +bool is_breathing(void) { + return !!(TIMSKx & _BV(TOIEx)); +} + +# define breathing_interrupt_enable() \ + do { \ + TIMSKx |= _BV(TOIEx); \ + } while (0) +# define breathing_interrupt_disable() \ + do { \ + TIMSKx &= ~_BV(TOIEx); \ + } while (0) +# endif + +# define breathing_min() \ + do { \ + breathing_counter = 0; \ + } while (0) +# define breathing_max() \ + do { \ + breathing_counter = get_breathing_period() * breathing_ISR_frequency / 2; \ + } while (0) + +void breathing_enable(void) { + breathing_counter = 0; + breathing_halt = BREATHING_NO_HALT; + breathing_interrupt_enable(); +} + +void breathing_pulse(void) { + if (get_backlight_level() == 0) + breathing_min(); + else + breathing_max(); + breathing_halt = BREATHING_HALT_ON; + breathing_interrupt_enable(); +} + +void breathing_disable(void) { + breathing_interrupt_disable(); + // Restore backlight level + backlight_set(get_backlight_level()); +} + +void breathing_self_disable(void) { + if (get_backlight_level() == 0) + breathing_halt = BREATHING_HALT_OFF; + else + breathing_halt = BREATHING_HALT_ON; +} + +/* To generate breathing curve in python: + * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] + */ +static const uint8_t breathing_table[BREATHING_STEPS] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +// Use this before the cie_lightness function. +static inline uint16_t scale_backlight(uint16_t v) { + return v / BACKLIGHT_LEVELS * get_backlight_level(); +} + +# ifdef BACKLIGHT_PWM_TIMER +void breathing_task(void) +# else +/* Assuming a 16MHz CPU clock and a timer that resets at 64k (ICR1), the following interrupt handler will run + * about 244 times per second. + * + * The following ISR runs at F_CPU/ISRx. With a 16MHz clock and default pwm resolution, that means 244Hz + */ +ISR(TIMERx_OVF_vect) +# endif +{ + + // Only run this ISR at ~120 Hz + if (breath_scale_counter++ == breathing_freq_scale_factor) { + breath_scale_counter = 1; + } else { + return; + } + uint16_t interval = (uint16_t)get_breathing_period() * breathing_ISR_frequency / BREATHING_STEPS; + // resetting after one period to prevent ugly reset at overflow. + breathing_counter = (breathing_counter + 1) % (get_breathing_period() * breathing_ISR_frequency); + uint8_t index = breathing_counter / interval; + // limit index to max step value + if (index >= BREATHING_STEPS) { + index = BREATHING_STEPS - 1; + } + + if (((breathing_halt == BREATHING_HALT_ON) && (index == BREATHING_STEPS / 2)) || ((breathing_halt == BREATHING_HALT_OFF) && (index == BREATHING_STEPS - 1))) { + breathing_interrupt_disable(); + } + + // Set PWM to a brightnessvalue scaled to the configured resolution + set_pwm(cie_lightness(rescale_limit_val(scale_backlight((uint32_t)pgm_read_byte(&breathing_table[index]) * ICRx / 255)))); +} + +#endif // BACKLIGHT_BREATHING + +void backlight_init_ports(void) { + // Setup backlight pin as output and output to on state. + backlight_pins_init(); + + // I could write a wall of text here to explain... but TL;DW + // Go read the ATmega32u4 datasheet. + // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on + +#ifdef BACKLIGHT_PWM_TIMER + // TimerX setup, Fast PWM mode count to TOP set in ICRx + TCCRxA = _BV(WGM11); // = 0b00000010; + // clock select clk/1 + TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; +#else // hardware PWM + // Pin PB7 = OCR1C (Timer 1, Channel C) + // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0 + // (i.e. start high, go low when counter matches.) + // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0 + // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1 + + /* + 14.8.3: + "In fast PWM mode, the compare units allow generation of PWM waveforms on the OCnx pins. Setting the COMnx1:0 bits to two will produce a non-inverted PWM [..]." + "In fast PWM mode the counter is incremented until the counter value matches either one of the fixed values 0x00FF, 0x01FF, or 0x03FF (WGMn3:0 = 5, 6, or 7), the value in ICRn (WGMn3:0 = 14), or the value in OCRnA (WGMn3:0 = 15)." + */ + TCCRxA = _BV(COMxx1) | _BV(WGM11); // = 0b00001010; + TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; +#endif + +#ifdef BACKLIGHT_CUSTOM_RESOLUTION +# if (BACKLIGHT_CUSTOM_RESOLUTION > 0xFFFF || BACKLIGHT_CUSTOM_RESOLUTION < 1) +# error "This out of range of the timer capabilities" +# elif (BACKLIGHT_CUSTOM_RESOLUTION < 0xFF) +# warning "Resolution lower than 0xFF isn't recommended" +# endif +# ifdef BACKLIGHT_BREATHING + breathing_freq_scale_factor = F_CPU / BACKLIGHT_CUSTOM_RESOLUTION / 120; +# endif + ICRx = BACKLIGHT_CUSTOM_RESOLUTION; +#else + ICRx = TIMER_TOP; +#endif + + backlight_init(); +#ifdef BACKLIGHT_BREATHING + if (is_backlight_breathing()) { + breathing_enable(); + } +#endif +} diff --git a/platforms/chibios/drivers/backlight_pwm.c b/platforms/chibios/drivers/backlight_pwm.c new file mode 100644 index 0000000000..01e6f71307 --- /dev/null +++ b/platforms/chibios/drivers/backlight_pwm.c @@ -0,0 +1,173 @@ +#include "backlight.h" +#include "gpio.h" +#include "wait.h" +#include + +// Maximum duty cycle limit +#ifndef BACKLIGHT_LIMIT_VAL +# define BACKLIGHT_LIMIT_VAL 255 +#endif + +#ifndef BACKLIGHT_PAL_MODE +# if defined(USE_GPIOV1) +# define BACKLIGHT_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL +# else +// GPIOV2 && GPIOV3 +# define BACKLIGHT_PAL_MODE 2 +# endif +#endif + +// GENERIC +#ifndef BACKLIGHT_PWM_DRIVER +# define BACKLIGHT_PWM_DRIVER PWMD4 +#endif +#ifndef BACKLIGHT_PWM_CHANNEL +# define BACKLIGHT_PWM_CHANNEL 3 +#endif + +// Support for pins which are on TIM1_CH1N - requires STM32_PWM_USE_ADVANCED +#ifdef BACKLIGHT_PWM_COMPLEMENTARY_OUTPUT +# if BACKLIGHT_ON_STATE == 1 +# define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW; +# else +# define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH; +# endif +#else +# if BACKLIGHT_ON_STATE == 1 +# define PWM_OUTPUT_MODE PWM_OUTPUT_ACTIVE_HIGH; +# else +# define PWM_OUTPUT_MODE PWM_OUTPUT_ACTIVE_LOW; +# endif +#endif + +#ifndef BACKLIGHT_PWM_COUNTER_FREQUENCY +# define BACKLIGHT_PWM_COUNTER_FREQUENCY 0xFFFF +#endif + +#ifndef BACKLIGHT_PWM_PERIOD +# define BACKLIGHT_PWM_PERIOD 256 +#endif + +static PWMConfig pwmCFG = { + .frequency = BACKLIGHT_PWM_COUNTER_FREQUENCY, /* PWM clock frequency */ + .period = BACKLIGHT_PWM_PERIOD, /* PWM period in counter ticks. e.g. clock frequency is 10KHz, period is 256 ticks then t_period is 25.6ms */ +}; + +#ifdef BACKLIGHT_BREATHING +static virtual_timer_t breathing_vt; +#endif + +// See http://jared.geek.nz/2013/feb/linear-led-pwm +static uint16_t cie_lightness(uint16_t v) { + if (v <= 5243) // if below 8% of max + return v / 9; // same as dividing by 900% + else { + uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare + // to get a useful result with integer division, we shift left in the expression above + // and revert what we've done again after squaring. + y = y * y * y >> 8; + if (y > 0xFFFFUL) { // prevent overflow + return 0xFFFFU; + } else { + return (uint16_t)y; + } + } +} + +static uint32_t rescale_limit_val(uint32_t val) { + // rescale the supplied backlight value to be in terms of the value limit + return (val * (BACKLIGHT_LIMIT_VAL + 1)) / 256; +} + +void backlight_init_ports(void) { +#ifdef USE_GPIOV1 + palSetPadMode(PAL_PORT(BACKLIGHT_PIN), PAL_PAD(BACKLIGHT_PIN), BACKLIGHT_PAL_MODE); +#else + palSetPadMode(PAL_PORT(BACKLIGHT_PIN), PAL_PAD(BACKLIGHT_PIN), PAL_MODE_ALTERNATE(BACKLIGHT_PAL_MODE)); +#endif + + pwmCFG.channels[BACKLIGHT_PWM_CHANNEL - 1].mode = PWM_OUTPUT_MODE; + pwmStart(&BACKLIGHT_PWM_DRIVER, &pwmCFG); + + backlight_set(get_backlight_level()); + +#ifdef BACKLIGHT_BREATHING + chVTObjectInit(&breathing_vt); + if (is_backlight_breathing()) { + breathing_enable(); + } +#endif +} + +void backlight_set(uint8_t level) { + if (level > BACKLIGHT_LEVELS) { + level = BACKLIGHT_LEVELS; + } + + if (level == 0) { + // Turn backlight off + pwmDisableChannel(&BACKLIGHT_PWM_DRIVER, BACKLIGHT_PWM_CHANNEL - 1); + } else { + // Turn backlight on + uint32_t duty = (uint32_t)(cie_lightness(rescale_limit_val(0xFFFF * (uint32_t)level / BACKLIGHT_LEVELS))); + pwmEnableChannel(&BACKLIGHT_PWM_DRIVER, BACKLIGHT_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&BACKLIGHT_PWM_DRIVER, 0xFFFF, duty)); + } +} + +void backlight_task(void) {} + +#ifdef BACKLIGHT_BREATHING + +# define BREATHING_STEPS 128 + +/* To generate breathing curve in python: + * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] + */ +static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +static void breathing_callback(virtual_timer_t *vtp, void *p); + +bool is_breathing(void) { + return chVTIsArmed(&breathing_vt); +} + +void breathing_enable(void) { + /* Update frequency is 256Hz -> 3906us intervals */ + chVTSetContinuous(&breathing_vt, TIME_US2I(3906), breathing_callback, NULL); +} + +void breathing_disable(void) { + chVTReset(&breathing_vt); + + // Restore backlight level + backlight_set(get_backlight_level()); +} + +// Use this before the cie_lightness function. +static inline uint16_t scale_backlight(uint16_t v) { + return v / BACKLIGHT_LEVELS * get_backlight_level(); +} + +static void breathing_callback(virtual_timer_t *vtp, void *p) { + uint8_t breathing_period = get_breathing_period(); + uint16_t interval = (uint16_t)breathing_period * 256 / BREATHING_STEPS; + + // resetting after one period to prevent ugly reset at overflow. + static uint16_t breathing_counter = 0; + breathing_counter = (breathing_counter + 1) % (breathing_period * 256); + uint8_t index = breathing_counter / interval % BREATHING_STEPS; + uint32_t duty = cie_lightness(rescale_limit_val(scale_backlight(breathing_table[index] * 256))); + + chSysLockFromISR(); + pwmEnableChannelI(&BACKLIGHT_PWM_DRIVER, BACKLIGHT_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&BACKLIGHT_PWM_DRIVER, 0xFFFF, duty)); + chSysUnlockFromISR(); +} + +// TODO: integrate generic pulse solution +void breathing_pulse(void) { + backlight_set(is_backlight_enabled() ? 0 : BACKLIGHT_LEVELS); + wait_ms(10); + backlight_set(is_backlight_enabled() ? get_backlight_level() : 0); +} + +#endif diff --git a/platforms/chibios/drivers/backlight_timer.c b/platforms/chibios/drivers/backlight_timer.c new file mode 100644 index 0000000000..0fabee93b1 --- /dev/null +++ b/platforms/chibios/drivers/backlight_timer.c @@ -0,0 +1,178 @@ +#include "backlight.h" +#include "backlight_driver_common.h" +#include "wait.h" + +#ifndef BACKLIGHT_GPT_DRIVER +# define BACKLIGHT_GPT_DRIVER GPTD15 +#endif + +// Platform specific implementations +static void backlight_timer_configure(bool enable); +static void backlight_timer_set_duty(uint16_t duty); +static uint16_t backlight_timer_get_duty(void); + +// See http://jared.geek.nz/2013/feb/linear-led-pwm +static uint16_t cie_lightness(uint16_t v) { + if (v <= 5243) // if below 8% of max + return v / 9; // same as dividing by 900% + else { + uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare + // to get a useful result with integer division, we shift left in the expression above + // and revert what we've done again after squaring. + y = y * y * y >> 8; + if (y > 0xFFFFUL) // prevent overflow + return 0xFFFFU; + else + return (uint16_t)y; + } +} + +void backlight_init_ports(void) { + backlight_pins_init(); + + backlight_set(get_backlight_level()); + +#ifdef BACKLIGHT_BREATHING + if (is_backlight_breathing()) { + breathing_enable(); + } +#endif +} + +void backlight_set(uint8_t level) { + if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; + + backlight_pins_off(); + + backlight_timer_set_duty(cie_lightness(0xFFFFU / BACKLIGHT_LEVELS * level)); + backlight_timer_configure(level != 0); +} + +static void backlight_timer_top(void) { +#ifdef BACKLIGHT_BREATHING + if (is_breathing()) { + breathing_task(); + } +#endif + + if (backlight_timer_get_duty() > 256) { + backlight_pins_on(); + } +} + +static void backlight_timer_cmp(void) { + backlight_pins_off(); +} + +void backlight_task(void) {} + +#ifdef BACKLIGHT_BREATHING +# define BREATHING_STEPS 128 + +static bool breathing = false; +static uint16_t breathing_counter = 0; + +/* To generate breathing curve in python: + * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] + */ +static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +// Use this before the cie_lightness function. +static inline uint16_t scale_backlight(uint16_t v) { + return v / BACKLIGHT_LEVELS * get_backlight_level(); +} + +void breathing_task(void) { + uint8_t breathing_period = get_breathing_period(); + uint16_t interval = (uint16_t)breathing_period * 256 / BREATHING_STEPS; + // resetting after one period to prevent ugly reset at overflow. + breathing_counter = (breathing_counter + 1) % (breathing_period * 256); + uint8_t index = breathing_counter / interval % BREATHING_STEPS; + + // printf("index:%u\n", index); + + backlight_timer_set_duty(cie_lightness(scale_backlight((uint16_t)breathing_table[index] * 256))); +} + +bool is_breathing(void) { + return breathing; +} + +void breathing_enable(void) { + breathing_counter = 0; + breathing = true; +} +void breathing_disable(void) { + breathing = false; +} + +void breathing_pulse(void) { + backlight_set(is_backlight_enabled() ? 0 : BACKLIGHT_LEVELS); + wait_ms(10); + backlight_set(is_backlight_enabled() ? get_backlight_level() : 0); +} +#endif + +#ifdef PROTOCOL_CHIBIOS +// On Platforms where timers fire every tick and have no capture/top events +// - fake event in the normal timer callback +uint16_t s_duty = 0; + +static void timerCallback(void) { + /* Software PWM + * timer:1111 1111 1111 1111 + * \______/| \_______/____ count(0-255) + * \ \______________ unused(1) + * \__________________ index of step table(0-127) + */ + + // this works for cca 65536 irqs/sec + static union { + uint16_t raw; + struct { + uint16_t count : 8; + uint8_t dummy : 1; + uint8_t index : 7; + } pwm; + } timer = {.raw = 0}; + + timer.raw++; + + if (timer.pwm.count == 0) { + // LED on + backlight_timer_top(); + } else if (timer.pwm.count == (s_duty / 256)) { + // LED off + backlight_timer_cmp(); + } +} + +static void backlight_timer_set_duty(uint16_t duty) { + s_duty = duty; +} +static uint16_t backlight_timer_get_duty(void) { + return s_duty; +} + +// ChibiOS - Map GPT timer onto Software PWM +static void gptTimerCallback(GPTDriver *gptp) { + (void)gptp; + timerCallback(); +} + +static void backlight_timer_configure(bool enable) { + static const GPTConfig gptcfg = {1000000, gptTimerCallback, 0, 0}; + + static bool s_init = false; + if (!s_init) { + gptStart(&BACKLIGHT_GPT_DRIVER, &gptcfg); + s_init = true; + } + + if (enable) { + gptStartContinuous(&BACKLIGHT_GPT_DRIVER, gptcfg.frequency / 0xFFFF); + } else { + gptStopTimer(&BACKLIGHT_GPT_DRIVER); + } +} +#endif diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index 52ec086bb0..9d9f944f5d 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c @@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" #include "backlight.h" #include "eeprom.h" #include "eeconfig.h" diff --git a/quantum/backlight/backlight_avr.c b/quantum/backlight/backlight_avr.c deleted file mode 100644 index 474e0a86f5..0000000000 --- a/quantum/backlight/backlight_avr.c +++ /dev/null @@ -1,473 +0,0 @@ -#include "quantum.h" -#include "backlight.h" -#include "backlight_driver_common.h" -#include "debug.h" - -// Maximum duty cycle limit -#ifndef BACKLIGHT_LIMIT_VAL -# define BACKLIGHT_LIMIT_VAL 255 -#endif - -// This logic is a bit complex, we support 3 setups: -// -// 1. Hardware PWM when backlight is wired to a PWM pin. -// Depending on this pin, we use a different output compare unit. -// 2. Software PWM with hardware timers, but the used timer -// depends on the Audio setup (Audio wins over Backlight). -// 3. Full software PWM, driven by the matrix scan, if both timers are used by Audio. - -#if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == B5 || BACKLIGHT_PIN == B6 || BACKLIGHT_PIN == B7) -# define HARDWARE_PWM -# define ICRx ICR1 -# define TCCRxA TCCR1A -# define TCCRxB TCCR1B -# define TIMERx_OVF_vect TIMER1_OVF_vect -# define TIMSKx TIMSK1 -# define TOIEx TOIE1 - -# if BACKLIGHT_PIN == B5 -# define COMxx0 COM1A0 -# define COMxx1 COM1A1 -# define OCRxx OCR1A -# elif BACKLIGHT_PIN == B6 -# define COMxx0 COM1B0 -# define COMxx1 COM1B1 -# define OCRxx OCR1B -# elif BACKLIGHT_PIN == B7 -# define COMxx0 COM1C0 -# define COMxx1 COM1C1 -# define OCRxx OCR1C -# endif -#elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == C4 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6) -# define HARDWARE_PWM -# define ICRx ICR3 -# define TCCRxA TCCR3A -# define TCCRxB TCCR3B -# define TIMERx_OVF_vect TIMER3_OVF_vect -# define TIMSKx TIMSK3 -# define TOIEx TOIE3 - -# if BACKLIGHT_PIN == C4 -# if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) -# error This MCU has no C4 pin! -# else -# define COMxx0 COM3C0 -# define COMxx1 COM3C1 -# define OCRxx OCR3C -# endif -# elif BACKLIGHT_PIN == C5 -# if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) -# error This MCU has no C5 pin! -# else -# define COMxx0 COM3B0 -# define COMxx1 COM3B1 -# define OCRxx OCR3B -# endif -# elif BACKLIGHT_PIN == C6 -# define COMxx0 COM3A0 -# define COMxx1 COM3A1 -# define OCRxx OCR3A -# endif -#elif (defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__)) && (BACKLIGHT_PIN == B7 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6) -# define HARDWARE_PWM -# define ICRx ICR1 -# define TCCRxA TCCR1A -# define TCCRxB TCCR1B -# define TIMERx_OVF_vect TIMER1_OVF_vect -# define TIMSKx TIMSK1 -# define TOIEx TOIE1 - -# if BACKLIGHT_PIN == B7 -# define COMxx0 COM1C0 -# define COMxx1 COM1C1 -# define OCRxx OCR1C -# elif BACKLIGHT_PIN == C5 -# define COMxx0 COM1B0 -# define COMxx1 COM1B1 -# define OCRxx OCR1B -# elif BACKLIGHT_PIN == C6 -# define COMxx0 COM1A0 -# define COMxx1 COM1A1 -# define OCRxx OCR1A -# endif -#elif defined(__AVR_ATmega32A__) && (BACKLIGHT_PIN == D4 || BACKLIGHT_PIN == D5) -# define HARDWARE_PWM -# define ICRx ICR1 -# define TCCRxA TCCR1A -# define TCCRxB TCCR1B -# define TIMERx_OVF_vect TIMER1_OVF_vect -# define TIMSKx TIMSK -# define TOIEx TOIE1 - -# if BACKLIGHT_PIN == D4 -# define COMxx0 COM1B0 -# define COMxx1 COM1B1 -# define OCRxx OCR1B -# elif BACKLIGHT_PIN == D5 -# define COMxx0 COM1A0 -# define COMxx1 COM1A1 -# define OCRxx OCR1A -# endif -#elif (defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__)) && (BACKLIGHT_PIN == B1 || BACKLIGHT_PIN == B2) -# define HARDWARE_PWM -# define ICRx ICR1 -# define TCCRxA TCCR1A -# define TCCRxB TCCR1B -# define TIMERx_OVF_vect TIMER1_OVF_vect -# define TIMSKx TIMSK1 -# define TOIEx TOIE1 - -# if BACKLIGHT_PIN == B1 -# define COMxx0 COM1A0 -# define COMxx1 COM1A1 -# define OCRxx OCR1A -# elif BACKLIGHT_PIN == B2 -# define COMxx0 COM1B0 -# define COMxx1 COM1B1 -# define OCRxx OCR1B -# endif -#elif (AUDIO_PIN != B5) && (AUDIO_PIN != B6) && (AUDIO_PIN != B7) && (AUDIO_PIN_ALT != B5) && (AUDIO_PIN_ALT != B6) && (AUDIO_PIN_ALT != B7) -// Timer 1 is not in use by Audio feature, Backlight can use it -# pragma message "Using hardware timer 1 with software PWM" -# define HARDWARE_PWM -# define BACKLIGHT_PWM_TIMER -# define ICRx ICR1 -# define TCCRxA TCCR1A -# define TCCRxB TCCR1B -# define TIMERx_COMPA_vect TIMER1_COMPA_vect -# define TIMERx_OVF_vect TIMER1_OVF_vect -# if defined(__AVR_ATmega32A__) // This MCU has only one TIMSK register -# define TIMSKx TIMSK -# else -# define TIMSKx TIMSK1 -# endif -# define TOIEx TOIE1 - -# define OCIExA OCIE1A -# define OCRxx OCR1A -#elif (AUDIO_PIN != C4) && (AUDIO_PIN != C5) && (AUDIO_PIN != C6) -# pragma message "Using hardware timer 3 with software PWM" -// Timer 3 is not in use by Audio feature, Backlight can use it -# define HARDWARE_PWM -# define BACKLIGHT_PWM_TIMER -# define ICRx ICR1 -# define TCCRxA TCCR3A -# define TCCRxB TCCR3B -# define TIMERx_COMPA_vect TIMER3_COMPA_vect -# define TIMERx_OVF_vect TIMER3_OVF_vect -# define TIMSKx TIMSK3 -# define TOIEx TOIE3 - -# define OCIExA OCIE3A -# define OCRxx OCR3A -#elif defined(BACKLIGHT_CUSTOM_DRIVER) -error("Please set 'BACKLIGHT_DRIVER = custom' within rules.mk") -#else -error("Please set 'BACKLIGHT_DRIVER = software' within rules.mk") -#endif - -#ifndef BACKLIGHT_PWM_TIMER // pwm through software - -static inline void enable_pwm(void) { -# if BACKLIGHT_ON_STATE == 1 - TCCRxA |= _BV(COMxx1); -# else - TCCRxA |= _BV(COMxx1) | _BV(COMxx0); -# endif -} - -static inline void disable_pwm(void) { -# if BACKLIGHT_ON_STATE == 1 - TCCRxA &= ~(_BV(COMxx1)); -# else - TCCRxA &= ~(_BV(COMxx1) | _BV(COMxx0)); -# endif -} - -#endif - -#ifdef BACKLIGHT_PWM_TIMER - -// The idea of software PWM assisted by hardware timers is the following -// we use the hardware timer in fast PWM mode like for hardware PWM, but -// instead of letting the Output Match Comparator control the led pin -// (which is not possible since the backlight is not wired to PWM pins on the -// CPU), we do the LED on/off by oursleves. -// The timer is setup to count up to 0xFFFF, and we set the Output Compare -// register to the current 16bits backlight level (after CIE correction). -// This means the CPU will trigger a compare match interrupt when the counter -// reaches the backlight level, where we turn off the LEDs, -// but also an overflow interrupt when the counter rolls back to 0, -// in which we're going to turn on the LEDs. -// The LED will then be on for OCRxx/0xFFFF time, adjusted every 244Hz, -// or F_CPU/BACKLIGHT_CUSTOM_RESOLUTION if used. - -// Triggered when the counter reaches the OCRx value -ISR(TIMERx_COMPA_vect) { - backlight_pins_off(); -} - -// Triggered when the counter reaches the TOP value -// this one triggers at F_CPU/ICRx = 16MHz/65536 =~ 244 Hz -ISR(TIMERx_OVF_vect) { -# ifdef BACKLIGHT_BREATHING - if (is_breathing()) { - breathing_task(); - } -# endif - // for very small values of OCRxx (or backlight level) - // we can't guarantee this whole code won't execute - // at the same time as the compare match interrupt - // which means that we might turn on the leds while - // trying to turn them off, leading to flickering - // artifacts (especially while breathing, because breathing_task - // takes many computation cycles). - // so better not turn them on while the counter TOP is very low. - if (OCRxx > ICRx / 250 + 5) { - backlight_pins_on(); - } -} - -#endif - -#define TIMER_TOP 0xFFFFU - -// See http://jared.geek.nz/2013/feb/linear-led-pwm -static uint16_t cie_lightness(uint16_t v) { - if (v <= (uint32_t)ICRx / 12) // If the value is less than or equal to ~8% of max - { - return v / 9; // Same as dividing by 900% - } else { - // In the next two lines values are bit-shifted. This is to avoid loosing decimals in integer math. - uint32_t y = (((uint32_t)v + (uint32_t)ICRx / 6) << 5) / ((uint32_t)ICRx / 6 + ICRx); // If above 8%, add ~16% of max, and normalize with (max + ~16% max) - uint32_t out = (y * y * y * ICRx) >> 15; // Cube it and undo the bit-shifting. (which is now three times as much due to the cubing) - - if (out > ICRx) // Avoid overflows - { - out = ICRx; - } - return (uint16_t)out; - } -} - -// rescale the supplied backlight value to be in terms of the value limit // range for val is [0..ICRx]. PWM pin is high while the timer count is below val. -static uint32_t rescale_limit_val(uint32_t val) { - return (val * (BACKLIGHT_LIMIT_VAL + 1)) / 256; -} - -// range for val is [0..ICRx]. PWM pin is high while the timer count is below val. -static inline void set_pwm(uint16_t val) { - OCRxx = val; -} - -void backlight_set(uint8_t level) { - if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; - - if (level == 0) { -#ifdef BACKLIGHT_PWM_TIMER - if (OCRxx) { - TIMSKx &= ~(_BV(OCIExA)); - TIMSKx &= ~(_BV(TOIEx)); - } -#else - // Turn off PWM control on backlight pin - disable_pwm(); -#endif - backlight_pins_off(); - } else { -#ifdef BACKLIGHT_PWM_TIMER - if (!OCRxx) { - TIMSKx |= _BV(OCIExA); - TIMSKx |= _BV(TOIEx); - } -#else - // Turn on PWM control of backlight pin - enable_pwm(); -#endif - } - // Set the brightness - set_pwm(cie_lightness(rescale_limit_val(ICRx * (uint32_t)level / BACKLIGHT_LEVELS))); -} - -void backlight_task(void) {} - -#ifdef BACKLIGHT_BREATHING - -# define BREATHING_NO_HALT 0 -# define BREATHING_HALT_OFF 1 -# define BREATHING_HALT_ON 2 -# define BREATHING_STEPS 128 - -static uint8_t breathing_halt = BREATHING_NO_HALT; -static uint16_t breathing_counter = 0; - -static uint8_t breath_scale_counter = 1; -/* Run the breathing loop at ~120Hz*/ -const uint8_t breathing_ISR_frequency = 120; -static uint16_t breathing_freq_scale_factor = 2; - -# ifdef BACKLIGHT_PWM_TIMER -static bool breathing = false; - -bool is_breathing(void) { - return breathing; -} - -# define breathing_interrupt_enable() \ - do { \ - breathing = true; \ - } while (0) -# define breathing_interrupt_disable() \ - do { \ - breathing = false; \ - } while (0) -# else - -bool is_breathing(void) { - return !!(TIMSKx & _BV(TOIEx)); -} - -# define breathing_interrupt_enable() \ - do { \ - TIMSKx |= _BV(TOIEx); \ - } while (0) -# define breathing_interrupt_disable() \ - do { \ - TIMSKx &= ~_BV(TOIEx); \ - } while (0) -# endif - -# define breathing_min() \ - do { \ - breathing_counter = 0; \ - } while (0) -# define breathing_max() \ - do { \ - breathing_counter = get_breathing_period() * breathing_ISR_frequency / 2; \ - } while (0) - -void breathing_enable(void) { - breathing_counter = 0; - breathing_halt = BREATHING_NO_HALT; - breathing_interrupt_enable(); -} - -void breathing_pulse(void) { - if (get_backlight_level() == 0) - breathing_min(); - else - breathing_max(); - breathing_halt = BREATHING_HALT_ON; - breathing_interrupt_enable(); -} - -void breathing_disable(void) { - breathing_interrupt_disable(); - // Restore backlight level - backlight_set(get_backlight_level()); -} - -void breathing_self_disable(void) { - if (get_backlight_level() == 0) - breathing_halt = BREATHING_HALT_OFF; - else - breathing_halt = BREATHING_HALT_ON; -} - -/* To generate breathing curve in python: - * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] - */ -static const uint8_t breathing_table[BREATHING_STEPS] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -// Use this before the cie_lightness function. -static inline uint16_t scale_backlight(uint16_t v) { - return v / BACKLIGHT_LEVELS * get_backlight_level(); -} - -# ifdef BACKLIGHT_PWM_TIMER -void breathing_task(void) -# else -/* Assuming a 16MHz CPU clock and a timer that resets at 64k (ICR1), the following interrupt handler will run - * about 244 times per second. - * - * The following ISR runs at F_CPU/ISRx. With a 16MHz clock and default pwm resolution, that means 244Hz - */ -ISR(TIMERx_OVF_vect) -# endif -{ - - // Only run this ISR at ~120 Hz - if (breath_scale_counter++ == breathing_freq_scale_factor) { - breath_scale_counter = 1; - } else { - return; - } - uint16_t interval = (uint16_t)get_breathing_period() * breathing_ISR_frequency / BREATHING_STEPS; - // resetting after one period to prevent ugly reset at overflow. - breathing_counter = (breathing_counter + 1) % (get_breathing_period() * breathing_ISR_frequency); - uint8_t index = breathing_counter / interval; - // limit index to max step value - if (index >= BREATHING_STEPS) { - index = BREATHING_STEPS - 1; - } - - if (((breathing_halt == BREATHING_HALT_ON) && (index == BREATHING_STEPS / 2)) || ((breathing_halt == BREATHING_HALT_OFF) && (index == BREATHING_STEPS - 1))) { - breathing_interrupt_disable(); - } - - // Set PWM to a brightnessvalue scaled to the configured resolution - set_pwm(cie_lightness(rescale_limit_val(scale_backlight((uint32_t)pgm_read_byte(&breathing_table[index]) * ICRx / 255)))); -} - -#endif // BACKLIGHT_BREATHING - -void backlight_init_ports(void) { - // Setup backlight pin as output and output to on state. - backlight_pins_init(); - - // I could write a wall of text here to explain... but TL;DW - // Go read the ATmega32u4 datasheet. - // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on - -#ifdef BACKLIGHT_PWM_TIMER - // TimerX setup, Fast PWM mode count to TOP set in ICRx - TCCRxA = _BV(WGM11); // = 0b00000010; - // clock select clk/1 - TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; -#else // hardware PWM - // Pin PB7 = OCR1C (Timer 1, Channel C) - // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0 - // (i.e. start high, go low when counter matches.) - // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0 - // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1 - - /* - 14.8.3: - "In fast PWM mode, the compare units allow generation of PWM waveforms on the OCnx pins. Setting the COMnx1:0 bits to two will produce a non-inverted PWM [..]." - "In fast PWM mode the counter is incremented until the counter value matches either one of the fixed values 0x00FF, 0x01FF, or 0x03FF (WGMn3:0 = 5, 6, or 7), the value in ICRn (WGMn3:0 = 14), or the value in OCRnA (WGMn3:0 = 15)." - */ - TCCRxA = _BV(COMxx1) | _BV(WGM11); // = 0b00001010; - TCCRxB = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; -#endif - -#ifdef BACKLIGHT_CUSTOM_RESOLUTION -# if (BACKLIGHT_CUSTOM_RESOLUTION > 0xFFFF || BACKLIGHT_CUSTOM_RESOLUTION < 1) -# error "This out of range of the timer capabilities" -# elif (BACKLIGHT_CUSTOM_RESOLUTION < 0xFF) -# warning "Resolution lower than 0xFF isn't recommended" -# endif -# ifdef BACKLIGHT_BREATHING - breathing_freq_scale_factor = F_CPU / BACKLIGHT_CUSTOM_RESOLUTION / 120; -# endif - ICRx = BACKLIGHT_CUSTOM_RESOLUTION; -#else - ICRx = TIMER_TOP; -#endif - - backlight_init(); -#ifdef BACKLIGHT_BREATHING - if (is_backlight_breathing()) { - breathing_enable(); - } -#endif -} diff --git a/quantum/backlight/backlight_chibios.c b/quantum/backlight/backlight_chibios.c deleted file mode 100644 index 30e95bd5c8..0000000000 --- a/quantum/backlight/backlight_chibios.c +++ /dev/null @@ -1,173 +0,0 @@ -#include "quantum.h" -#include "backlight.h" -#include -#include "debug.h" - -// Maximum duty cycle limit -#ifndef BACKLIGHT_LIMIT_VAL -# define BACKLIGHT_LIMIT_VAL 255 -#endif - -#ifndef BACKLIGHT_PAL_MODE -# if defined(USE_GPIOV1) -# define BACKLIGHT_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL -# else -// GPIOV2 && GPIOV3 -# define BACKLIGHT_PAL_MODE 5 -# endif -#endif - -// GENERIC -#ifndef BACKLIGHT_PWM_DRIVER -# define BACKLIGHT_PWM_DRIVER PWMD4 -#endif -#ifndef BACKLIGHT_PWM_CHANNEL -# define BACKLIGHT_PWM_CHANNEL 3 -#endif - -// Support for pins which are on TIM1_CH1N - requires STM32_PWM_USE_ADVANCED -#ifdef BACKLIGHT_PWM_COMPLEMENTARY_OUTPUT -# if BACKLIGHT_ON_STATE == 1 -# define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW; -# else -# define PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH; -# endif -#else -# if BACKLIGHT_ON_STATE == 1 -# define PWM_OUTPUT_MODE PWM_OUTPUT_ACTIVE_HIGH; -# else -# define PWM_OUTPUT_MODE PWM_OUTPUT_ACTIVE_LOW; -# endif -#endif - -#ifndef BACKLIGHT_PWM_COUNTER_FREQUENCY -# define BACKLIGHT_PWM_COUNTER_FREQUENCY 0xFFFF -#endif - -#ifndef BACKLIGHT_PWM_PERIOD -# define BACKLIGHT_PWM_PERIOD 256 -#endif - -static PWMConfig pwmCFG = { - .frequency = BACKLIGHT_PWM_COUNTER_FREQUENCY, /* PWM clock frequency */ - .period = BACKLIGHT_PWM_PERIOD, /* PWM period in counter ticks. e.g. clock frequency is 10KHz, period is 256 ticks then t_period is 25.6ms */ -}; - -#ifdef BACKLIGHT_BREATHING -static virtual_timer_t breathing_vt; -#endif - -// See http://jared.geek.nz/2013/feb/linear-led-pwm -static uint16_t cie_lightness(uint16_t v) { - if (v <= 5243) // if below 8% of max - return v / 9; // same as dividing by 900% - else { - uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare - // to get a useful result with integer division, we shift left in the expression above - // and revert what we've done again after squaring. - y = y * y * y >> 8; - if (y > 0xFFFFUL) { // prevent overflow - return 0xFFFFU; - } else { - return (uint16_t)y; - } - } -} - -static uint32_t rescale_limit_val(uint32_t val) { - // rescale the supplied backlight value to be in terms of the value limit - return (val * (BACKLIGHT_LIMIT_VAL + 1)) / 256; -} - -void backlight_init_ports(void) { -#ifdef USE_GPIOV1 - palSetPadMode(PAL_PORT(BACKLIGHT_PIN), PAL_PAD(BACKLIGHT_PIN), BACKLIGHT_PAL_MODE); -#else - palSetPadMode(PAL_PORT(BACKLIGHT_PIN), PAL_PAD(BACKLIGHT_PIN), PAL_MODE_ALTERNATE(BACKLIGHT_PAL_MODE)); -#endif - - pwmCFG.channels[BACKLIGHT_PWM_CHANNEL - 1].mode = PWM_OUTPUT_MODE; - pwmStart(&BACKLIGHT_PWM_DRIVER, &pwmCFG); - - backlight_set(get_backlight_level()); - -#ifdef BACKLIGHT_BREATHING - chVTObjectInit(&breathing_vt); - if (is_backlight_breathing()) { - breathing_enable(); - } -#endif -} - -void backlight_set(uint8_t level) { - if (level > BACKLIGHT_LEVELS) { - level = BACKLIGHT_LEVELS; - } - - if (level == 0) { - // Turn backlight off - pwmDisableChannel(&BACKLIGHT_PWM_DRIVER, BACKLIGHT_PWM_CHANNEL - 1); - } else { - // Turn backlight on - uint32_t duty = (uint32_t)(cie_lightness(rescale_limit_val(0xFFFF * (uint32_t)level / BACKLIGHT_LEVELS))); - pwmEnableChannel(&BACKLIGHT_PWM_DRIVER, BACKLIGHT_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&BACKLIGHT_PWM_DRIVER, 0xFFFF, duty)); - } -} - -void backlight_task(void) {} - -#ifdef BACKLIGHT_BREATHING - -# define BREATHING_STEPS 128 - -/* To generate breathing curve in python: - * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] - */ -static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -static void breathing_callback(virtual_timer_t *vtp, void *p); - -bool is_breathing(void) { - return chVTIsArmed(&breathing_vt); -} - -void breathing_enable(void) { - /* Update frequency is 256Hz -> 3906us intervals */ - chVTSetContinuous(&breathing_vt, TIME_US2I(3906), breathing_callback, NULL); -} - -void breathing_disable(void) { - chVTReset(&breathing_vt); - - // Restore backlight level - backlight_set(get_backlight_level()); -} - -// Use this before the cie_lightness function. -static inline uint16_t scale_backlight(uint16_t v) { - return v / BACKLIGHT_LEVELS * get_backlight_level(); -} - -static void breathing_callback(virtual_timer_t *vtp, void *p) { - uint8_t breathing_period = get_breathing_period(); - uint16_t interval = (uint16_t)breathing_period * 256 / BREATHING_STEPS; - - // resetting after one period to prevent ugly reset at overflow. - static uint16_t breathing_counter = 0; - breathing_counter = (breathing_counter + 1) % (breathing_period * 256); - uint8_t index = breathing_counter / interval % BREATHING_STEPS; - uint32_t duty = cie_lightness(rescale_limit_val(scale_backlight(breathing_table[index] * 256))); - - chSysLockFromISR(); - pwmEnableChannelI(&BACKLIGHT_PWM_DRIVER, BACKLIGHT_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&BACKLIGHT_PWM_DRIVER, 0xFFFF, duty)); - chSysUnlockFromISR(); -} - -// TODO: integrate generic pulse solution -void breathing_pulse(void) { - backlight_set(is_backlight_enabled() ? 0 : BACKLIGHT_LEVELS); - wait_ms(10); - backlight_set(is_backlight_enabled() ? get_backlight_level() : 0); -} - -#endif diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c index 1eb8969084..8c3fe461d7 100644 --- a/quantum/backlight/backlight_driver_common.c +++ b/quantum/backlight/backlight_driver_common.c @@ -1,6 +1,7 @@ -#include "quantum.h" #include "backlight.h" #include "backlight_driver_common.h" +#include "gpio.h" +#include "util.h" #if !defined(BACKLIGHT_PIN) && !defined(BACKLIGHT_PINS) # error "Backlight pin/pins not defined. Please configure." diff --git a/quantum/backlight/backlight_software.c b/quantum/backlight/backlight_software.c deleted file mode 100644 index 27ccbd2c9f..0000000000 --- a/quantum/backlight/backlight_software.c +++ /dev/null @@ -1,54 +0,0 @@ -#include "quantum.h" -#include "backlight.h" -#include "backlight_driver_common.h" - -#ifdef BACKLIGHT_BREATHING -# error "Backlight breathing is not available for software PWM. Please disable." -#endif - -static uint16_t s_duty_pattern = 0; - -// clang-format off - -/** \brief PWM duty patterns - * - * We scale the current backlight level to an index within this array. This allows - * backlight_task to focus on just switching LEDs on/off, and we can predict the duty pattern - */ -static const uint16_t backlight_duty_table[] = { - 0b0000000000000000, - 0b1000000000000000, - 0b1000000010000000, - 0b1000001000010000, - 0b1000100010001000, - 0b1001001001001000, - 0b1010101010101010, - 0b1110111011101110, - 0b1111111111111111, -}; -#define backlight_duty_table_size ARRAY_SIZE(backlight_duty_table) - -// clang-format on - -static uint8_t scale_backlight(uint8_t v) { - return v * (backlight_duty_table_size - 1) / BACKLIGHT_LEVELS; -} - -void backlight_init_ports(void) { - backlight_pins_init(); -} - -void backlight_set(uint8_t level) { - s_duty_pattern = backlight_duty_table[scale_backlight(level)]; -} - -void backlight_task(void) { - static uint8_t backlight_tick = 0; - - if (s_duty_pattern & ((uint16_t)1 << backlight_tick)) { - backlight_pins_on(); - } else { - backlight_pins_off(); - } - backlight_tick = (backlight_tick + 1) % 16; -} diff --git a/quantum/backlight/backlight_timer.c b/quantum/backlight/backlight_timer.c deleted file mode 100644 index 82fb6a6a83..0000000000 --- a/quantum/backlight/backlight_timer.c +++ /dev/null @@ -1,179 +0,0 @@ -#include "quantum.h" -#include "backlight.h" -#include "backlight_driver_common.h" -#include "debug.h" - -#ifndef BACKLIGHT_GPT_DRIVER -# define BACKLIGHT_GPT_DRIVER GPTD15 -#endif - -// Platform specific implementations -static void backlight_timer_configure(bool enable); -static void backlight_timer_set_duty(uint16_t duty); -static uint16_t backlight_timer_get_duty(void); - -// See http://jared.geek.nz/2013/feb/linear-led-pwm -static uint16_t cie_lightness(uint16_t v) { - if (v <= 5243) // if below 8% of max - return v / 9; // same as dividing by 900% - else { - uint32_t y = (((uint32_t)v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare - // to get a useful result with integer division, we shift left in the expression above - // and revert what we've done again after squaring. - y = y * y * y >> 8; - if (y > 0xFFFFUL) // prevent overflow - return 0xFFFFU; - else - return (uint16_t)y; - } -} - -void backlight_init_ports(void) { - backlight_pins_init(); - - backlight_set(get_backlight_level()); - -#ifdef BACKLIGHT_BREATHING - if (is_backlight_breathing()) { - breathing_enable(); - } -#endif -} - -void backlight_set(uint8_t level) { - if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; - - backlight_pins_off(); - - backlight_timer_set_duty(cie_lightness(0xFFFFU / BACKLIGHT_LEVELS * level)); - backlight_timer_configure(level != 0); -} - -static void backlight_timer_top(void) { -#ifdef BACKLIGHT_BREATHING - if (is_breathing()) { - breathing_task(); - } -#endif - - if (backlight_timer_get_duty() > 256) { - backlight_pins_on(); - } -} - -static void backlight_timer_cmp(void) { - backlight_pins_off(); -} - -void backlight_task(void) {} - -#ifdef BACKLIGHT_BREATHING -# define BREATHING_STEPS 128 - -static bool breathing = false; -static uint16_t breathing_counter = 0; - -/* To generate breathing curve in python: - * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] - */ -static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -// Use this before the cie_lightness function. -static inline uint16_t scale_backlight(uint16_t v) { - return v / BACKLIGHT_LEVELS * get_backlight_level(); -} - -void breathing_task(void) { - uint8_t breathing_period = get_breathing_period(); - uint16_t interval = (uint16_t)breathing_period * 256 / BREATHING_STEPS; - // resetting after one period to prevent ugly reset at overflow. - breathing_counter = (breathing_counter + 1) % (breathing_period * 256); - uint8_t index = breathing_counter / interval % BREATHING_STEPS; - - // printf("index:%u\n", index); - - backlight_timer_set_duty(cie_lightness(scale_backlight((uint16_t)breathing_table[index] * 256))); -} - -bool is_breathing(void) { - return breathing; -} - -void breathing_enable(void) { - breathing_counter = 0; - breathing = true; -} -void breathing_disable(void) { - breathing = false; -} - -void breathing_pulse(void) { - backlight_set(is_backlight_enabled() ? 0 : BACKLIGHT_LEVELS); - wait_ms(10); - backlight_set(is_backlight_enabled() ? get_backlight_level() : 0); -} -#endif - -#ifdef PROTOCOL_CHIBIOS -// On Platforms where timers fire every tick and have no capture/top events -// - fake event in the normal timer callback -uint16_t s_duty = 0; - -static void timerCallback(void) { - /* Software PWM - * timer:1111 1111 1111 1111 - * \______/| \_______/____ count(0-255) - * \ \______________ unused(1) - * \__________________ index of step table(0-127) - */ - - // this works for cca 65536 irqs/sec - static union { - uint16_t raw; - struct { - uint16_t count : 8; - uint8_t dummy : 1; - uint8_t index : 7; - } pwm; - } timer = {.raw = 0}; - - timer.raw++; - - if (timer.pwm.count == 0) { - // LED on - backlight_timer_top(); - } else if (timer.pwm.count == (s_duty / 256)) { - // LED off - backlight_timer_cmp(); - } -} - -static void backlight_timer_set_duty(uint16_t duty) { - s_duty = duty; -} -static uint16_t backlight_timer_get_duty(void) { - return s_duty; -} - -// ChibiOS - Map GPT timer onto Software PWM -static void gptTimerCallback(GPTDriver *gptp) { - (void)gptp; - timerCallback(); -} - -static void backlight_timer_configure(bool enable) { - static const GPTConfig gptcfg = {1000000, gptTimerCallback, 0, 0}; - - static bool s_init = false; - if (!s_init) { - gptStart(&BACKLIGHT_GPT_DRIVER, &gptcfg); - s_init = true; - } - - if (enable) { - gptStartContinuous(&BACKLIGHT_GPT_DRIVER, gptcfg.frequency / 0xFFFF); - } else { - gptStopTimer(&BACKLIGHT_GPT_DRIVER); - } -} -#endif -- cgit v1.3.1 From b6d9409d2f8eaa9888fce1611bcb9a23d97be150 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 9 Jul 2023 20:03:50 +1000 Subject: drivers: remove direct `quantum.h` includes (#21473) --- drivers/led/apa102.c | 2 +- drivers/sensors/pmw33xx_common.h | 2 +- platforms/chibios/bootloaders/rp2040.c | 3 ++- platforms/chibios/drivers/i2c_master.c | 4 +++- platforms/chibios/drivers/serial.c | 2 +- platforms/chibios/drivers/serial_protocol.c | 2 -- platforms/chibios/drivers/serial_usart.c | 1 + platforms/chibios/drivers/serial_usart.h | 1 - platforms/chibios/drivers/uart.c | 2 -- platforms/chibios/drivers/uart.h | 1 + platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c | 4 +--- platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c | 3 ++- platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c | 12 +++++++++--- platforms/chibios/drivers/ws2812_bitbang.c | 6 +++--- platforms/chibios/drivers/ws2812_pwm.c | 4 ++-- platforms/chibios/drivers/ws2812_spi.c | 4 +++- 16 files changed, 30 insertions(+), 23 deletions(-) (limited to 'drivers') diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 40fc68e4f1..5cfa2f8c32 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -16,7 +16,7 @@ */ #include "apa102.h" -#include "quantum.h" +#include "gpio.h" #ifndef APA102_NOPS # if defined(__AVR__) diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h index 88523b8420..b30ee3d596 100644 --- a/drivers/sensors/pmw33xx_common.h +++ b/drivers/sensors/pmw33xx_common.h @@ -10,7 +10,7 @@ #pragma once -#include "quantum.h" //to get is_keyboard_left +#include "keyboard.h" #include #include "spi_master.h" #include "util.h" diff --git a/platforms/chibios/bootloaders/rp2040.c b/platforms/chibios/bootloaders/rp2040.c index bedc00f32e..524d13e636 100644 --- a/platforms/chibios/bootloaders/rp2040.c +++ b/platforms/chibios/bootloaders/rp2040.c @@ -1,9 +1,10 @@ // Copyright 2022 Stefan Kerkmann // SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" #include "hal.h" #include "bootloader.h" +#include "gpio.h" +#include "wait.h" #include "pico/bootrom.h" #if !defined(RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED) diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c index 4c7a5daa17..7c49f9d005 100644 --- a/platforms/chibios/drivers/i2c_master.c +++ b/platforms/chibios/drivers/i2c_master.c @@ -24,8 +24,10 @@ * STM32_I2C_USE_I2C1 is TRUE in the mcuconf.h file. Pins B6 and B7 are used * but using any other I2C pins should be trivial. */ -#include "quantum.h" + #include "i2c_master.h" +#include "gpio.h" +#include "chibios_config.h" #include #include #include diff --git a/platforms/chibios/drivers/serial.c b/platforms/chibios/drivers/serial.c index 0dd8e71ae8..f087d0c2ed 100644 --- a/platforms/chibios/drivers/serial.c +++ b/platforms/chibios/drivers/serial.c @@ -2,8 +2,8 @@ * WARNING: be careful changing this code, it is very timing dependent */ -#include "quantum.h" #include "serial.h" +#include "gpio.h" #include "wait.h" #include "synchronization_util.h" diff --git a/platforms/chibios/drivers/serial_protocol.c b/platforms/chibios/drivers/serial_protocol.c index ccaf73282d..e0f583ccde 100644 --- a/platforms/chibios/drivers/serial_protocol.c +++ b/platforms/chibios/drivers/serial_protocol.c @@ -3,10 +3,8 @@ #include -#include "quantum.h" #include "serial.h" #include "serial_protocol.h" -#include "printf.h" #include "synchronization_util.h" static inline bool initiate_transaction(uint8_t transaction_id); diff --git a/platforms/chibios/drivers/serial_usart.c b/platforms/chibios/drivers/serial_usart.c index 6ebbf7c8ca..767ef8726f 100644 --- a/platforms/chibios/drivers/serial_usart.c +++ b/platforms/chibios/drivers/serial_usart.c @@ -5,6 +5,7 @@ #include "serial_usart.h" #include "serial_protocol.h" #include "synchronization_util.h" +#include "chibios_config.h" #if defined(SERIAL_USART_CONFIG) static QMKSerialConfig serial_config = SERIAL_USART_CONFIG; diff --git a/platforms/chibios/drivers/serial_usart.h b/platforms/chibios/drivers/serial_usart.h index fa062cd736..dec8a292e9 100644 --- a/platforms/chibios/drivers/serial_usart.h +++ b/platforms/chibios/drivers/serial_usart.h @@ -3,7 +3,6 @@ #pragma once -#include "quantum.h" #include "serial.h" #include diff --git a/platforms/chibios/drivers/uart.c b/platforms/chibios/drivers/uart.c index 34f77232b6..39a59dd445 100644 --- a/platforms/chibios/drivers/uart.c +++ b/platforms/chibios/drivers/uart.c @@ -16,8 +16,6 @@ #include "uart.h" -#include "quantum.h" - #if defined(MCU_KINETIS) static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE}; #elif defined(WB32F3G71xx) || defined(WB32FQ95xx) diff --git a/platforms/chibios/drivers/uart.h b/platforms/chibios/drivers/uart.h index e9e3b0855b..d1917bfc80 100644 --- a/platforms/chibios/drivers/uart.h +++ b/platforms/chibios/drivers/uart.h @@ -17,6 +17,7 @@ #pragma once #include +#include #include diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c index 937fa5de6f..d775ec29d5 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c @@ -1,12 +1,10 @@ // Copyright 2022 Marek Kraus (@gamelaster) // SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" - #include "hardware/pio.h" #include "hardware/clocks.h" #include "ps2.h" -#include "print.h" +#include "debug.h" #if !defined(MCU_RP) # error PIO Driver is only available for Raspberry Pi 2040 MCUs! diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c index dd4723a086..3aa8e1165f 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c @@ -1,11 +1,12 @@ // Copyright 2022 Stefan Kerkmann // SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" #include "serial_usart.h" #include "serial_protocol.h" #include "hardware/pio.h" #include "hardware/clocks.h" +#include "wait.h" +#include "debug.h" #if !defined(MCU_RP) # error PIO Driver is only available for Raspberry Pi 2040 MCUs! diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c index 99a6cfaba9..8d59e13bb2 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c @@ -2,13 +2,19 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "ws2812.h" -#include "hardware/timer.h" -#include "hardware/clocks.h" + // Keep this exact include order otherwise we run into naming conflicts between // pico-sdk and rp2040.h which we don't control. -#include "quantum.h" +#include "hardware/timer.h" +#include "hardware/clocks.h" +#include #include "hardware/pio.h" +#include "gpio.h" +#include "debug.h" +#include "wait.h" +#include "util.h" + #if !defined(MCU_RP) # error PIO Driver is only available for Raspberry Pi 2040 MCUs! #endif diff --git a/platforms/chibios/drivers/ws2812_bitbang.c b/platforms/chibios/drivers/ws2812_bitbang.c index d05deb1a50..c55e0f654c 100644 --- a/platforms/chibios/drivers/ws2812_bitbang.c +++ b/platforms/chibios/drivers/ws2812_bitbang.c @@ -1,7 +1,7 @@ -#include "quantum.h" #include "ws2812.h" -#include -#include + +#include "gpio.h" +#include "chibios_config.h" /* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */ diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c index 04c8279a97..cfee547a82 100644 --- a/platforms/chibios/drivers/ws2812_pwm.c +++ b/platforms/chibios/drivers/ws2812_pwm.c @@ -1,6 +1,6 @@ #include "ws2812.h" -#include "quantum.h" -#include +#include "gpio.h" +#include "chibios_config.h" /* Adapted from https://github.com/joewa/WS2812-LED-Driver_ChibiOS/ */ diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index c28f5007f1..f188576e04 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -1,5 +1,7 @@ -#include "quantum.h" #include "ws2812.h" +#include "gpio.h" +#include "util.h" +#include "chibios_config.h" /* Adapted from https://github.com/gamazeps/ws2812b-chibios-SPIDMA/ */ -- cgit v1.3.1 From b090354143612d2c0f5c8629510542de5bd4e29e Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 21 Jul 2023 09:17:39 +1000 Subject: haptic: naming cleanups (#21551) --- builddefs/common_features.mk | 23 +- docs/feature_haptic_feedback.md | 19 +- drivers/haptic/DRV2605L.c | 122 ------ drivers/haptic/DRV2605L.h | 406 -------------------- drivers/haptic/drv2605l.c | 126 +++++++ drivers/haptic/drv2605l.h | 407 +++++++++++++++++++++ keyboards/adpenrose/mine/keymaps/solenoid/rules.mk | 2 +- .../adpenrose/shisaku/keymaps/solenoid/rules.mk | 2 +- keyboards/ai03/lunar_ii/rules.mk | 2 +- keyboards/boston_meetup/2019/config.h | 4 +- keyboards/boston_meetup/2019/rules.mk | 2 +- keyboards/buzzard/keymaps/crehmann/config.h | 4 +- .../keymaps/crehmann/features/haptic_utils.c | 12 +- keyboards/buzzard/keymaps/crehmann/rules.mk | 2 +- keyboards/buzzard/keymaps/default/config.h | 4 +- keyboards/buzzard/keymaps/default/rules.mk | 2 +- keyboards/buzzard/rev1/rev1.c | 12 +- keyboards/hadron/ver3/config.h | 4 +- keyboards/hadron/ver3/keymaps/ishtob/config.h | 1 - keyboards/hadron/ver3/keymaps/ishtob/keymap.c | 9 - keyboards/hadron/ver3/rules.mk | 2 +- keyboards/handwired/onekey/keymaps/haptic/rules.mk | 2 +- .../swiftrax/bumblebee/keymaps/default/rules.mk | 1 - .../swiftrax/bumblebee/keymaps/via/rules.mk | 1 - .../5x6_right/keymaps/drashna/config.h | 4 +- .../5x6_right/keymaps/drashna/rules.mk | 2 +- keyboards/hardwareabstraction/handwire/rules.mk | 2 +- keyboards/hillside/46/0_1/config.h | 4 +- keyboards/hillside/46/0_1/rules.mk | 2 +- keyboards/hillside/48/0_1/config.h | 4 +- keyboards/hillside/48/0_1/rules.mk | 2 +- keyboards/hillside/52/0_1/config.h | 4 +- keyboards/hillside/52/0_1/rules.mk | 2 +- .../ibm/model_m_4th_gen/overnumpad_1xb/rules.mk | 2 +- keyboards/mechwild/clunker/rules.mk | 2 +- keyboards/pearlboards/atlas/rules.mk | 2 +- keyboards/pearlboards/pearl/rules.mk | 2 +- keyboards/pearlboards/zeus/rules.mk | 2 +- keyboards/splitkb/zima/config.h | 4 +- keyboards/splitkb/zima/rules.mk | 2 +- .../overnumpad_1xb/rules.mk | 2 +- .../overnumpad_1xb/rules.mk | 2 +- keyboards/unicomp/pc122/overnumpad_1xb/rules.mk | 2 +- .../spacesaver_m_post_2013/overnumpad_1xb/rules.mk | 2 +- .../spacesaver_m_pre_2013/overnumpad_1xb/rules.mk | 2 +- keyboards/vertex/angle65/rules.mk | 2 +- keyboards/xw60/rules.mk | 2 +- layouts/community/ortho_4x12/drashna/config.h | 4 +- quantum/haptic.c | 81 ++-- quantum/haptic.h | 9 +- quantum/process_keycode/process_space_cadet.c | 3 + quantum/split_common/split_util.c | 1 + users/ishtob/ishtob.h | 2 +- 53 files changed, 667 insertions(+), 660 deletions(-) delete mode 100644 drivers/haptic/DRV2605L.c delete mode 100644 drivers/haptic/DRV2605L.h create mode 100644 drivers/haptic/drv2605l.c create mode 100644 drivers/haptic/drv2605l.h delete mode 100644 keyboards/hadron/ver3/keymaps/ishtob/config.h (limited to 'drivers') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 5687201d61..2de2bdd56b 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -721,18 +721,23 @@ ifeq ($(strip $(FNV_ENABLE)), yes) SRC += qmk_fnv_type_validation.c hash_32a.c hash_64a.c endif +VALID_HAPTIC_DRIVER_TYPES := drv2605l solenoid ifeq ($(strip $(HAPTIC_ENABLE)),yes) - COMMON_VPATH += $(DRIVER_PATH)/haptic + ifeq ($(filter $(HAPTIC_DRIVER),$(VALID_HAPTIC_DRIVER_TYPES)),) + $(call CATASTROPHIC_ERROR,Invalid HAPTIC_DRIVER,HAPTIC_DRIVER="$(HAPTIC_DRIVER)" is not a valid Haptic driver) + else + COMMON_VPATH += $(DRIVER_PATH)/haptic - ifneq ($(filter DRV2605L, $(HAPTIC_DRIVER)), ) - SRC += DRV2605L.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DDRV2605L - endif + ifeq ($(strip $(HAPTIC_DRIVER)), drv2605l) + SRC += drv2605l.c + QUANTUM_LIB_SRC += i2c_master.c + OPT_DEFS += -DHAPTIC_DRV2605L + endif - ifneq ($(filter SOLENOID, $(HAPTIC_DRIVER)), ) - SRC += solenoid.c - OPT_DEFS += -DSOLENOID_ENABLE + ifeq ($(strip $(HAPTIC_DRIVER)), solenoid) + SRC += solenoid.c + OPT_DEFS += -DHAPTIC_SOLENOID + endif endif endif diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index b456bad736..02a231138d 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -4,11 +4,12 @@ The following options are currently available for haptic feedback in `rules.mk`: -``` +```make HAPTIC_ENABLE = yes -HAPTIC_DRIVER += DRV2605L -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = drv2605l +# or +HAPTIC_DRIVER = solenoid ``` The following `config.h` settings are available for all types of haptic feedback: @@ -92,7 +93,7 @@ This driver supports 2 different feedback motors. Set the following in your `con Eccentric Rotating Mass vibration motors (ERM) is motor with a off-set weight attached so when drive signal is attached, the off-set weight spins and causes a sinusoidal wave that translate into vibrations. -``` +```c #define FB_ERM_LRA 0 #define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ #define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ @@ -105,7 +106,7 @@ Eccentric Rotating Mass vibration motors (ERM) is motor with a off-set weight at Linear resonant actuators (LRA, also know as a linear vibrator) works different from a ERM. A LRA has a weight and magnet suspended by springs and a voice coil. When the drive signal is applied, the weight would be vibrate on a single axis (side to side or up and down). Since the weight is attached to a spring, there is a resonance effect at a specific frequency. This frequency is where the LRA will operate the most efficiently. Refer to the motor's datasheet for the recommanded range for this frequency. -``` +```c #define FB_ERM_LRA 1 #define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ #define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ @@ -170,13 +171,13 @@ List of waveform sequences from the datasheet: | 42 | lg_dblclick_med_80 | 84 | transition_rampup_med_smooth1 | | | ### Optional DRV2605L defines -``` -#define DRV_GREETING *sequence name or number* +```c +#define DRV2605L_GREETING *sequence name or number* ``` If haptic feedback is enabled, the keyboard will vibrate to a specific sequence during startup. That can be selected using the following define: -``` -#define DRV_MODE_DEFAULT *sequence name or number* +```c +#define DRV2605L_DEFAULT_MODE *sequence name or number* ``` This will set what sequence `HF_RST` will set as the active mode. If not defined, mode will be set to 1 when `HF_RST` is pressed. diff --git a/drivers/haptic/DRV2605L.c b/drivers/haptic/DRV2605L.c deleted file mode 100644 index 5a1d2ca0af..0000000000 --- a/drivers/haptic/DRV2605L.c +++ /dev/null @@ -1,122 +0,0 @@ -/* Copyright 2018 ishtob - * Driver for DRV2605L written for QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "DRV2605L.h" -#include "print.h" -#include -#include -#include - -uint8_t DRV2605L_transfer_buffer[2]; -uint8_t DRV2605L_read_register; - -void DRV_write(uint8_t drv_register, uint8_t settings) { - DRV2605L_transfer_buffer[0] = drv_register; - DRV2605L_transfer_buffer[1] = settings; - i2c_transmit(DRV2605L_BASE_ADDRESS << 1, DRV2605L_transfer_buffer, 2, 100); -} - -uint8_t DRV_read(uint8_t regaddress) { - i2c_readReg(DRV2605L_BASE_ADDRESS << 1, regaddress, &DRV2605L_read_register, 1, 100); - - return DRV2605L_read_register; -} - -void DRV_init(void) { - i2c_init(); - /* 0x07 sets DRV2605 into calibration mode */ - DRV_write(DRV_MODE, 0x07); - - // DRV_write(DRV_FEEDBACK_CTRL,0xB6); - -#if FB_ERM_LRA == 0 - /* ERM settings */ - DRV_write(DRV_RATED_VOLT, (RATED_VOLTAGE / 21.33) * 1000); -# if ERM_OPEN_LOOP == 0 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, (((V_PEAK * (DRIVE_TIME + BLANKING_TIME + IDISS_TIME)) / 0.02133) / (DRIVE_TIME - 0.0003))); -# elif ERM_OPEN_LOOP == 1 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, (V_PEAK / 0.02196)); -# endif -#elif FB_ERM_LRA == 1 - DRV_write(DRV_RATED_VOLT, ((V_RMS * sqrt(1 - ((4 * ((150 + (SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * F_LRA) / 0.02071))); -# if LRA_OPEN_LOOP == 0 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, ((V_PEAK / sqrt(1 - (F_LRA * 0.0008)) / 0.02133))); -# elif LRA_OPEN_LOOP == 1 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, (V_PEAK / 0.02196)); -# endif -#endif - - DRVREG_FBR FB_SET; - FB_SET.Bits.ERM_LRA = FB_ERM_LRA; - FB_SET.Bits.BRAKE_FACTOR = FB_BRAKEFACTOR; - FB_SET.Bits.LOOP_GAIN = FB_LOOPGAIN; - FB_SET.Bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ - DRV_write(DRV_FEEDBACK_CTRL, (uint8_t)FB_SET.Byte); - DRVREG_CTRL1 C1_SET; - C1_SET.Bits.C1_DRIVE_TIME = DRIVE_TIME; - C1_SET.Bits.C1_AC_COUPLE = AC_COUPLE; - C1_SET.Bits.C1_STARTUP_BOOST = STARTUP_BOOST; - DRV_write(DRV_CTRL_1, (uint8_t)C1_SET.Byte); - DRVREG_CTRL2 C2_SET; - C2_SET.Bits.C2_BIDIR_INPUT = BIDIR_INPUT; - C2_SET.Bits.C2_BRAKE_STAB = BRAKE_STAB; - C2_SET.Bits.C2_SAMPLE_TIME = SAMPLE_TIME; - C2_SET.Bits.C2_BLANKING_TIME = BLANKING_TIME; - C2_SET.Bits.C2_IDISS_TIME = IDISS_TIME; - DRV_write(DRV_CTRL_2, (uint8_t)C2_SET.Byte); - DRVREG_CTRL3 C3_SET; - C3_SET.Bits.C3_LRA_OPEN_LOOP = LRA_OPEN_LOOP; - C3_SET.Bits.C3_N_PWM_ANALOG = N_PWM_ANALOG; - C3_SET.Bits.C3_LRA_DRIVE_MODE = LRA_DRIVE_MODE; - C3_SET.Bits.C3_DATA_FORMAT_RTO = DATA_FORMAT_RTO; - C3_SET.Bits.C3_SUPPLY_COMP_DIS = SUPPLY_COMP_DIS; - C3_SET.Bits.C3_ERM_OPEN_LOOP = ERM_OPEN_LOOP; - C3_SET.Bits.C3_NG_THRESH = NG_THRESH; - DRV_write(DRV_CTRL_3, (uint8_t)C3_SET.Byte); - DRVREG_CTRL4 C4_SET; - C4_SET.Bits.C4_ZC_DET_TIME = ZC_DET_TIME; - C4_SET.Bits.C4_AUTO_CAL_TIME = AUTO_CAL_TIME; - DRV_write(DRV_CTRL_4, (uint8_t)C4_SET.Byte); - DRV_write(DRV_LIB_SELECTION, LIB_SELECTION); - - DRV_write(DRV_GO, 0x01); - - /* 0x00 sets DRV2605 out of standby and to use internal trigger - * 0x01 sets DRV2605 out of standby and to use external trigger */ - DRV_write(DRV_MODE, 0x00); - - // Play greeting sequence - DRV_write(DRV_GO, 0x00); - DRV_write(DRV_WAVEFORM_SEQ_1, DRV_GREETING); - DRV_write(DRV_GO, 0x01); -} - -void DRV_rtp_init(void) { - DRV_write(DRV_GO, 0x00); - DRV_write(DRV_RTP_INPUT, 20); // 20 is the lowest value I've found where haptics can still be felt. - DRV_write(DRV_MODE, 0x05); - DRV_write(DRV_GO, 0x01); -} - -void DRV_amplitude(uint8_t amplitude) { - DRV_write(DRV_RTP_INPUT, amplitude); -} - -void DRV_pulse(uint8_t sequence) { - DRV_write(DRV_GO, 0x00); - DRV_write(DRV_WAVEFORM_SEQ_1, sequence); - DRV_write(DRV_GO, 0x01); -} diff --git a/drivers/haptic/DRV2605L.h b/drivers/haptic/DRV2605L.h deleted file mode 100644 index 8b8eae38b8..0000000000 --- a/drivers/haptic/DRV2605L.h +++ /dev/null @@ -1,406 +0,0 @@ -/* Copyright 2018 ishtob - * Driver for DRV2605L written for QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -#include "i2c_master.h" - -/* Initialization settings - - * Feedback Control Settings */ -#ifndef FB_ERM_LRA -# define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#endif -#ifndef FB_BRAKEFACTOR -# define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#endif -#ifndef FB_LOOPGAIN -# define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ -#endif - -/* LRA specific settings */ -#if FB_ERM_LRA == 1 -# ifndef V_RMS -# define V_RMS 2.0 -# endif -# ifndef V_PEAK -# define V_PEAK 2.1 -# endif -# ifndef F_LRA -# define F_LRA 205 -# endif -# ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ -# endif -#endif - -#ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ -#endif -#ifndef V_PEAK -# define V_PEAK 2.8 -#endif - -/* Library Selection */ -#ifndef LIB_SELECTION -# if FB_ERM_LRA == 1 -# define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ -# else -# define LIB_SELECTION 1 -# endif -#endif - -#ifndef DRV_GREETING -# define DRV_GREETING alert_750ms -#endif -#ifndef DRV_MODE_DEFAULT -# define DRV_MODE_DEFAULT strong_click1 -#endif - -/* Control 1 register settings */ -#ifndef DRIVE_TIME -# define DRIVE_TIME 25 -#endif -#ifndef AC_COUPLE -# define AC_COUPLE 0 -#endif -#ifndef STARTUP_BOOST -# define STARTUP_BOOST 1 -#endif - -/* Control 2 Settings */ -#ifndef BIDIR_INPUT -# define BIDIR_INPUT 1 -#endif -#ifndef BRAKE_STAB -# define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#endif -#ifndef SAMPLE_TIME -# define SAMPLE_TIME 3 -#endif -#ifndef BLANKING_TIME -# define BLANKING_TIME 1 -#endif -#ifndef IDISS_TIME -# define IDISS_TIME 1 -#endif - -/* Control 3 settings */ -#ifndef NG_THRESH -# define NG_THRESH 2 -#endif -#ifndef ERM_OPEN_LOOP -# define ERM_OPEN_LOOP 1 -#endif -#ifndef SUPPLY_COMP_DIS -# define SUPPLY_COMP_DIS 0 -#endif -#ifndef DATA_FORMAT_RTO -# define DATA_FORMAT_RTO 0 -#endif -#ifndef LRA_DRIVE_MODE -# define LRA_DRIVE_MODE 0 -#endif -#ifndef N_PWM_ANALOG -# define N_PWM_ANALOG 0 -#endif -#ifndef LRA_OPEN_LOOP -# define LRA_OPEN_LOOP 0 -#endif - -/* Control 4 settings */ -#ifndef ZC_DET_TIME -# define ZC_DET_TIME 0 -#endif -#ifndef AUTO_CAL_TIME -# define AUTO_CAL_TIME 3 -#endif - -/* register defines -------------------------------------------------------- */ -#define DRV2605L_BASE_ADDRESS 0x5A /* DRV2605L Base address */ -#define DRV_STATUS 0x00 -#define DRV_MODE 0x01 -#define DRV_RTP_INPUT 0x02 -#define DRV_LIB_SELECTION 0x03 -#define DRV_WAVEFORM_SEQ_1 0x04 -#define DRV_WAVEFORM_SEQ_2 0x05 -#define DRV_WAVEFORM_SEQ_3 0x06 -#define DRV_WAVEFORM_SEQ_4 0x07 -#define DRV_WAVEFORM_SEQ_5 0x08 -#define DRV_WAVEFORM_SEQ_6 0x09 -#define DRV_WAVEFORM_SEQ_7 0x0A -#define DRV_WAVEFORM_SEQ_8 0x0B -#define DRV_GO 0x0C -#define DRV_OVERDRIVE_TIME_OFFSET 0x0D -#define DRV_SUSTAIN_TIME_OFFSET_P 0x0E -#define DRV_SUSTAIN_TIME_OFFSET_N 0x0F -#define DRV_BRAKE_TIME_OFFSET 0x10 -#define DRV_AUDIO_2_VIBE_CTRL 0x11 -#define DRV_AUDIO_2_VIBE_MIN_IN 0x12 -#define DRV_AUDIO_2_VIBE_MAX_IN 0x13 -#define DRV_AUDIO_2_VIBE_MIN_OUTDRV 0x14 -#define DRV_AUDIO_2_VIBE_MAX_OUTDRV 0x15 -#define DRV_RATED_VOLT 0x16 -#define DRV_OVERDRIVE_CLAMP_VOLT 0x17 -#define DRV_AUTO_CALIB_COMP_RESULT 0x18 -#define DRV_AUTO_CALIB_BEMF_RESULT 0x19 -#define DRV_FEEDBACK_CTRL 0x1A -#define DRV_CTRL_1 0x1B -#define DRV_CTRL_2 0x1C -#define DRV_CTRL_3 0x1D -#define DRV_CTRL_4 0x1E -#define DRV_CTRL_5 0x1F -#define DRV_OPEN_LOOP_PERIOD 0x20 -#define DRV_VBAT_VOLT_MONITOR 0x21 -#define DRV_LRA_RESONANCE_PERIOD 0x22 - -void DRV_init(void); -void DRV_write(const uint8_t drv_register, const uint8_t settings); -uint8_t DRV_read(const uint8_t regaddress); -void DRV_rtp_init(void); -void DRV_amplitude(const uint8_t amplitude); -void DRV_pulse(const uint8_t sequence); - -typedef enum DRV_EFFECT { - clear_sequence = 0, - strong_click = 1, - strong_click_60 = 2, - strong_click_30 = 3, - sharp_click = 4, - sharp_click_60 = 5, - sharp_click_30 = 6, - soft_bump = 7, - soft_bump_60 = 8, - soft_bump_30 = 9, - dbl_click = 10, - dbl_click_60 = 11, - trp_click = 12, - soft_fuzz = 13, - strong_buzz = 14, - alert_750ms = 15, - alert_1000ms = 16, - strong_click1 = 17, - strong_click2_80 = 18, - strong_click3_60 = 19, - strong_click4_30 = 20, - medium_click1 = 21, - medium_click2_80 = 22, - medium_click3_60 = 23, - sharp_tick1 = 24, - sharp_tick2_80 = 25, - sharp_tick3_60 = 26, - sh_dblclick_str = 27, - sh_dblclick_str_80 = 28, - sh_dblclick_str_60 = 29, - sh_dblclick_str_30 = 30, - sh_dblclick_med = 31, - sh_dblclick_med_80 = 32, - sh_dblclick_med_60 = 33, - sh_dblsharp_tick = 34, - sh_dblsharp_tick_80 = 35, - sh_dblsharp_tick_60 = 36, - lg_dblclick_str = 37, - lg_dblclick_str_80 = 38, - lg_dblclick_str_60 = 39, - lg_dblclick_str_30 = 40, - lg_dblclick_med = 41, - lg_dblclick_med_80 = 42, - lg_dblclick_med_60 = 43, - lg_dblsharp_tick = 44, - lg_dblsharp_tick_80 = 45, - lg_dblsharp_tick_60 = 46, - buzz = 47, - buzz_80 = 48, - buzz_60 = 49, - buzz_40 = 50, - buzz_20 = 51, - pulsing_strong = 52, - pulsing_strong_80 = 53, - pulsing_medium = 54, - pulsing_medium_80 = 55, - pulsing_sharp = 56, - pulsing_sharp_80 = 57, - transition_click = 58, - transition_click_80 = 59, - transition_click_60 = 60, - transition_click_40 = 61, - transition_click_20 = 62, - transition_click_10 = 63, - transition_hum = 64, - transition_hum_80 = 65, - transition_hum_60 = 66, - transition_hum_40 = 67, - transition_hum_20 = 68, - transition_hum_10 = 69, - transition_rampdown_long_smooth1 = 70, - transition_rampdown_long_smooth2 = 71, - transition_rampdown_med_smooth1 = 72, - transition_rampdown_med_smooth2 = 73, - transition_rampdown_short_smooth1 = 74, - transition_rampdown_short_smooth2 = 75, - transition_rampdown_long_sharp1 = 76, - transition_rampdown_long_sharp2 = 77, - transition_rampdown_med_sharp1 = 78, - transition_rampdown_med_sharp2 = 79, - transition_rampdown_short_sharp1 = 80, - transition_rampdown_short_sharp2 = 81, - transition_rampup_long_smooth1 = 82, - transition_rampup_long_smooth2 = 83, - transition_rampup_med_smooth1 = 84, - transition_rampup_med_smooth2 = 85, - transition_rampup_short_smooth1 = 86, - transition_rampup_short_smooth2 = 87, - transition_rampup_long_sharp1 = 88, - transition_rampup_long_sharp2 = 89, - transition_rampup_med_sharp1 = 90, - transition_rampup_med_sharp2 = 91, - transition_rampup_short_sharp1 = 92, - transition_rampup_short_sharp2 = 93, - transition_rampdown_long_smooth1_50 = 94, - transition_rampdown_long_smooth2_50 = 95, - transition_rampdown_med_smooth1_50 = 96, - transition_rampdown_med_smooth2_50 = 97, - transition_rampdown_short_smooth1_50 = 98, - transition_rampdown_short_smooth2_50 = 99, - transition_rampdown_long_sharp1_50 = 100, - transition_rampdown_long_sharp2_50 = 101, - transition_rampdown_med_sharp1_50 = 102, - transition_rampdown_med_sharp2_50 = 103, - transition_rampdown_short_sharp1_50 = 104, - transition_rampdown_short_sharp2_50 = 105, - transition_rampup_long_smooth1_50 = 106, - transition_rampup_long_smooth2_50 = 107, - transition_rampup_med_smooth1_50 = 108, - transition_rampup_med_smooth2_50 = 109, - transition_rampup_short_smooth1_50 = 110, - transition_rampup_short_smooth2_50 = 111, - transition_rampup_long_sharp1_50 = 112, - transition_rampup_long_sharp2_50 = 113, - transition_rampup_med_sharp1_50 = 114, - transition_rampup_med_sharp2_50 = 115, - transition_rampup_short_sharp1_50 = 116, - transition_rampup_short_sharp2_50 = 117, - long_buzz_for_programmatic_stopping = 118, - smooth_hum1_50 = 119, - smooth_hum2_40 = 120, - smooth_hum3_30 = 121, - smooth_hum4_20 = 122, - smooth_hum5_10 = 123, - drv_effect_max = 124, -} DRV_EFFECT; - -/* Register bit array unions */ - -typedef union DRVREG_STATUS { /* register 0x00 */ - uint8_t Byte; - struct { - uint8_t OC_DETECT : 1; /* set to 1 when overcurrent event is detected */ - uint8_t OVER_TEMP : 1; /* set to 1 when device exceeds temp threshold */ - uint8_t FB_STS : 1; /* set to 1 when feedback controller has timed out */ - /* auto-calibration routine and diagnostic result - * result | auto-calibation | diagnostic | - * 0 | passed | actuator func normal | - * 1 | failed | actuator func fault* | - * * actuator is not present or is shorted, timing out, or giving out–of-range back-EMF */ - uint8_t DIAG_RESULT : 1; - uint8_t : 1; - uint8_t DEVICE_ID : 3; /* Device IDs 3: DRV2605 4: DRV2604 5: DRV2604L 6: DRV2605L */ - } Bits; -} DRVREG_STATUS; - -typedef union DRVREG_MODE { /* register 0x01 */ - uint8_t Byte; - struct { - uint8_t MODE : 3; /* Mode setting */ - uint8_t : 3; - uint8_t STANDBY : 1; /* 0:standby 1:ready */ - } Bits; -} DRVREG_MODE; - -typedef union DRVREG_WAIT { - uint8_t Byte; - struct { - uint8_t WAIT_MODE : 1; /* Set to 1 to interpret as wait for next 7 bits x10ms */ - uint8_t WAIT_TIME : 7; - } Bits; -} DRVREG_WAIT; - -typedef union DRVREG_FBR { /* register 0x1A */ - uint8_t Byte; - struct { - uint8_t BEMF_GAIN : 2; - uint8_t LOOP_GAIN : 2; - uint8_t BRAKE_FACTOR : 3; - uint8_t ERM_LRA : 1; - } Bits; -} DRVREG_FBR; - -typedef union DRVREG_CTRL1 { /* register 0x1B */ - uint8_t Byte; - struct { - uint8_t C1_DRIVE_TIME : 5; - uint8_t C1_AC_COUPLE : 1; - uint8_t : 1; - uint8_t C1_STARTUP_BOOST : 1; - } Bits; -} DRVREG_CTRL1; - -typedef union DRVREG_CTRL2 { /* register 0x1C */ - uint8_t Byte; - struct { - uint8_t C2_IDISS_TIME : 2; - uint8_t C2_BLANKING_TIME : 2; - uint8_t C2_SAMPLE_TIME : 2; - uint8_t C2_BRAKE_STAB : 1; - uint8_t C2_BIDIR_INPUT : 1; - } Bits; -} DRVREG_CTRL2; - -typedef union DRVREG_CTRL3 { /* register 0x1D */ - uint8_t Byte; - struct { - uint8_t C3_LRA_OPEN_LOOP : 1; - uint8_t C3_N_PWM_ANALOG : 1; - uint8_t C3_LRA_DRIVE_MODE : 1; - uint8_t C3_DATA_FORMAT_RTO : 1; - uint8_t C3_SUPPLY_COMP_DIS : 1; - uint8_t C3_ERM_OPEN_LOOP : 1; - uint8_t C3_NG_THRESH : 2; - } Bits; -} DRVREG_CTRL3; - -typedef union DRVREG_CTRL4 { /* register 0x1E */ - uint8_t Byte; - struct { - uint8_t C4_OTP_PROGRAM : 1; - uint8_t : 1; - uint8_t C4_OTP_STATUS : 1; - uint8_t : 1; - uint8_t C4_AUTO_CAL_TIME : 2; - uint8_t C4_ZC_DET_TIME : 2; - } Bits; -} DRVREG_CTRL4; - -typedef union DRVREG_CTRL5 { /* register 0x1F */ - uint8_t Byte; - struct { - uint8_t C5_IDISS_TIME : 2; - uint8_t C5_BLANKING_TIME : 2; - uint8_t C5_PLAYBACK_INTERVAL : 1; - uint8_t C5_LRA_AUTO_OPEN_LOOP : 1; - uint8_t C5_AUTO_OL_CNT : 2; - } Bits; -} DRVREG_CTRL5; diff --git a/drivers/haptic/drv2605l.c b/drivers/haptic/drv2605l.c new file mode 100644 index 0000000000..7613dc59d1 --- /dev/null +++ b/drivers/haptic/drv2605l.c @@ -0,0 +1,126 @@ +/* Copyright 2018 ishtob + * Driver for DRV2605L written for QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "drv2605l.h" +#include "i2c_master.h" +#include + +uint8_t drv2605l_write_buffer[2]; +uint8_t drv2605l_read_buffer; + +void drv2605l_write(uint8_t reg_addr, uint8_t data) { + drv2605l_write_buffer[0] = reg_addr; + drv2605l_write_buffer[1] = data; + i2c_transmit(DRV2605L_I2C_ADDRESS << 1, drv2605l_write_buffer, 2, 100); +} + +uint8_t drv2605l_read(uint8_t reg_addr) { + i2c_readReg(DRV2605L_I2C_ADDRESS << 1, reg_addr, &drv2605l_read_buffer, 1, 100); + + return drv2605l_read_buffer; +} + +void drv2605l_init(void) { + i2c_init(); + /* 0x07 sets DRV2605 into calibration mode */ + drv2605l_write(DRV2605L_REG_MODE, 0x07); + + // drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL,0xB6); + +#if FB_ERM_LRA == 0 + /* ERM settings */ + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, (RATED_VOLTAGE / 21.33) * 1000); +# if ERM_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (((V_PEAK * (DRIVE_TIME + BLANKING_TIME + IDISS_TIME)) / 0.02133) / (DRIVE_TIME - 0.0003))); +# elif ERM_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (V_PEAK / 0.02196)); +# endif +#elif FB_ERM_LRA == 1 + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, ((V_RMS * sqrt(1 - ((4 * ((150 + (SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * F_LRA) / 0.02071))); +# if LRA_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, ((V_PEAK / sqrt(1 - (F_LRA * 0.0008)) / 0.02133))); +# elif LRA_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (V_PEAK / 0.02196)); +# endif +#endif + + DRVREG_FBR FB_SET; + FB_SET.Bits.ERM_LRA = FB_ERM_LRA; + FB_SET.Bits.BRAKE_FACTOR = FB_BRAKEFACTOR; + FB_SET.Bits.LOOP_GAIN = FB_LOOPGAIN; + FB_SET.Bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ + drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL, (uint8_t)FB_SET.Byte); + + DRVREG_CTRL1 C1_SET; + C1_SET.Bits.C1_DRIVE_TIME = DRIVE_TIME; + C1_SET.Bits.C1_AC_COUPLE = AC_COUPLE; + C1_SET.Bits.C1_STARTUP_BOOST = STARTUP_BOOST; + drv2605l_write(DRV2605L_REG_CTRL1, (uint8_t)C1_SET.Byte); + + DRVREG_CTRL2 C2_SET; + C2_SET.Bits.C2_BIDIR_INPUT = BIDIR_INPUT; + C2_SET.Bits.C2_BRAKE_STAB = BRAKE_STAB; + C2_SET.Bits.C2_SAMPLE_TIME = SAMPLE_TIME; + C2_SET.Bits.C2_BLANKING_TIME = BLANKING_TIME; + C2_SET.Bits.C2_IDISS_TIME = IDISS_TIME; + drv2605l_write(DRV2605L_REG_CTRL2, (uint8_t)C2_SET.Byte); + + DRVREG_CTRL3 C3_SET; + C3_SET.Bits.C3_LRA_OPEN_LOOP = LRA_OPEN_LOOP; + C3_SET.Bits.C3_N_PWM_ANALOG = N_PWM_ANALOG; + C3_SET.Bits.C3_LRA_DRIVE_MODE = LRA_DRIVE_MODE; + C3_SET.Bits.C3_DATA_FORMAT_RTO = DATA_FORMAT_RTO; + C3_SET.Bits.C3_SUPPLY_COMP_DIS = SUPPLY_COMP_DIS; + C3_SET.Bits.C3_ERM_OPEN_LOOP = ERM_OPEN_LOOP; + C3_SET.Bits.C3_NG_THRESH = NG_THRESH; + drv2605l_write(DRV2605L_REG_CTRL3, (uint8_t)C3_SET.Byte); + + DRVREG_CTRL4 C4_SET; + C4_SET.Bits.C4_ZC_DET_TIME = ZC_DET_TIME; + C4_SET.Bits.C4_AUTO_CAL_TIME = AUTO_CAL_TIME; + drv2605l_write(DRV2605L_REG_CTRL4, (uint8_t)C4_SET.Byte); + + drv2605l_write(DRV2605L_REG_LIBRARY_SELECTION, DRV2605L_LIBRARY); + + drv2605l_write(DRV2605L_REG_GO, 0x01); + + /* 0x00 sets DRV2605 out of standby and to use internal trigger + * 0x01 sets DRV2605 out of standby and to use external trigger */ + drv2605l_write(DRV2605L_REG_MODE, 0x00); + + // Play greeting sequence + drv2605l_write(DRV2605L_REG_GO, 0x00); + drv2605l_write(DRV2605L_REG_WAVEFORM_SEQUENCER_1, DRV2605L_GREETING); + drv2605l_write(DRV2605L_REG_GO, 0x01); +} + +void drv2605l_rtp_init(void) { + drv2605l_write(DRV2605L_REG_GO, 0x00); + drv2605l_write(DRV2605L_REG_RTP_INPUT, 20); // 20 is the lowest value I've found where haptics can still be felt. + drv2605l_write(DRV2605L_REG_MODE, 0x05); + drv2605l_write(DRV2605L_REG_GO, 0x01); +} + +void drv2605l_amplitude(uint8_t amplitude) { + drv2605l_write(DRV2605L_REG_RTP_INPUT, amplitude); +} + +void drv2605l_pulse(uint8_t sequence) { + drv2605l_write(DRV2605L_REG_GO, 0x00); + drv2605l_write(DRV2605L_REG_WAVEFORM_SEQUENCER_1, sequence); + drv2605l_write(DRV2605L_REG_GO, 0x01); +} diff --git a/drivers/haptic/drv2605l.h b/drivers/haptic/drv2605l.h new file mode 100644 index 0000000000..796611edb6 --- /dev/null +++ b/drivers/haptic/drv2605l.h @@ -0,0 +1,407 @@ +/* Copyright 2018 ishtob + * Driver for DRV2605L written for QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include + +/* Initialization settings + + * Feedback Control Settings */ +#ifndef FB_ERM_LRA +# define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#endif +#ifndef FB_BRAKEFACTOR +# define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#endif +#ifndef FB_LOOPGAIN +# define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#endif + +/* LRA specific settings */ +#if FB_ERM_LRA == 1 +# ifndef V_RMS +# define V_RMS 2.0 +# endif +# ifndef V_PEAK +# define V_PEAK 2.1 +# endif +# ifndef F_LRA +# define F_LRA 205 +# endif +# ifndef RATED_VOLTAGE +# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +# endif +#endif + +#ifndef RATED_VOLTAGE +# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +#endif +#ifndef V_PEAK +# define V_PEAK 2.8 +#endif + +/* Library Selection */ +#ifndef DRV2605L_LIBRARY +# if FB_ERM_LRA == 1 +# define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +# else +# define DRV2605L_LIBRARY 1 +# endif +#endif + +#ifndef DRV2605L_GREETING +# define DRV2605L_GREETING alert_750ms +#endif +#ifndef DRV2605L_DEFAULT_MODE +# define DRV2605L_DEFAULT_MODE strong_click1 +#endif + +/* Control 1 register settings */ +#ifndef DRIVE_TIME +# define DRIVE_TIME 25 +#endif +#ifndef AC_COUPLE +# define AC_COUPLE 0 +#endif +#ifndef STARTUP_BOOST +# define STARTUP_BOOST 1 +#endif + +/* Control 2 Settings */ +#ifndef BIDIR_INPUT +# define BIDIR_INPUT 1 +#endif +#ifndef BRAKE_STAB +# define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#endif +#ifndef SAMPLE_TIME +# define SAMPLE_TIME 3 +#endif +#ifndef BLANKING_TIME +# define BLANKING_TIME 1 +#endif +#ifndef IDISS_TIME +# define IDISS_TIME 1 +#endif + +/* Control 3 settings */ +#ifndef NG_THRESH +# define NG_THRESH 2 +#endif +#ifndef ERM_OPEN_LOOP +# define ERM_OPEN_LOOP 1 +#endif +#ifndef SUPPLY_COMP_DIS +# define SUPPLY_COMP_DIS 0 +#endif +#ifndef DATA_FORMAT_RTO +# define DATA_FORMAT_RTO 0 +#endif +#ifndef LRA_DRIVE_MODE +# define LRA_DRIVE_MODE 0 +#endif +#ifndef N_PWM_ANALOG +# define N_PWM_ANALOG 0 +#endif +#ifndef LRA_OPEN_LOOP +# define LRA_OPEN_LOOP 0 +#endif + +/* Control 4 settings */ +#ifndef ZC_DET_TIME +# define ZC_DET_TIME 0 +#endif +#ifndef AUTO_CAL_TIME +# define AUTO_CAL_TIME 3 +#endif + +#define DRV2605L_I2C_ADDRESS 0x5A + +#define DRV2605L_REG_STATUS 0x00 +#define DRV2605L_REG_MODE 0x01 +#define DRV2605L_REG_RTP_INPUT 0x02 +#define DRV2605L_REG_LIBRARY_SELECTION 0x03 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_1 0x04 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_2 0x05 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_3 0x06 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_4 0x07 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_5 0x08 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_6 0x09 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_7 0x0A +#define DRV2605L_REG_WAVEFORM_SEQUENCER_8 0x0B +#define DRV2605L_REG_GO 0x0C +#define DRV2605L_REG_OVERDRIVE_TIME_OFFSET 0x0D +#define DRV2605L_REG_SUSTAIN_TIME_OFFSET_P 0x0E +#define DRV2605L_REG_SUSTAIN_TIME_OFFSET_N 0x0F +#define DRV2605L_REG_BRAKE_TIME_OFFSET 0x10 +#define DRV2605L_REG_AUDIO_TO_VIBE_CTRL 0x11 +#define DRV2605L_REG_AUDIO_TO_VIBE_MIN_INPUT 0x12 +#define DRV2605L_REG_AUDIO_TO_VIBE_MAX_INPUT 0x13 +#define DRV2605L_REG_AUDIO_TO_VIBE_MIN_OUTPUT_DRIVE 0x14 +#define DRV2605L_REG_AUDIO_TO_VIBE_MAX_OUTPUT_DRIVE 0x15 +#define DRV2605L_REG_RATED_VOLTAGE 0x16 +#define DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE 0x17 +#define DRV2605L_REG_AUTO_CALIBRATION_COMPENSATION_RESULT 0x18 +#define DRV2605L_REG_AUTO_CALIBRATION_BACK_EMF_RESULT 0x19 +#define DRV2605L_REG_FEEDBACK_CTRL 0x1A +#define DRV2605L_REG_CTRL1 0x1B +#define DRV2605L_REG_CTRL2 0x1C +#define DRV2605L_REG_CTRL3 0x1D +#define DRV2605L_REG_CTRL4 0x1E +#define DRV2605L_REG_CTRL5 0x1F +#define DRV2605L_REG_LRA_OPEN_LOOP_PERIOD 0x20 +#define DRV2605L_REG_VBAT_VOLTAGE_MONITOR 0x21 +#define DRV2605L_REG_LRA_RESONANCE_PERIOD 0x22 + +void drv2605l_init(void); +void drv2605l_write(const uint8_t reg_addr, const uint8_t data); +uint8_t drv2605l_read(const uint8_t reg_addr); +void drv2605l_rtp_init(void); +void drv2605l_amplitude(const uint8_t amplitude); +void drv2605l_pulse(const uint8_t sequence); + +typedef enum DRV_EFFECT { + clear_sequence, + strong_click, + strong_click_60, + strong_click_30, + sharp_click, + sharp_click_60, + sharp_click_30, + soft_bump, + soft_bump_60, + soft_bump_30, + dbl_click, + dbl_click_60, + trp_click, + soft_fuzz, + strong_buzz, + alert_750ms, + alert_1000ms, + strong_click1, + strong_click2_80, + strong_click3_60, + strong_click4_30, + medium_click1, + medium_click2_80, + medium_click3_60, + sharp_tick1, + sharp_tick2_80, + sharp_tick3_60, + sh_dblclick_str, + sh_dblclick_str_80, + sh_dblclick_str_60, + sh_dblclick_str_30, + sh_dblclick_med, + sh_dblclick_med_80, + sh_dblclick_med_60, + sh_dblsharp_tick, + sh_dblsharp_tick_80, + sh_dblsharp_tick_60, + lg_dblclick_str, + lg_dblclick_str_80, + lg_dblclick_str_60, + lg_dblclick_str_30, + lg_dblclick_med, + lg_dblclick_med_80, + lg_dblclick_med_60, + lg_dblsharp_tick, + lg_dblsharp_tick_80, + lg_dblsharp_tick_60, + buzz, + buzz_80, + buzz_60, + buzz_40, + buzz_20, + pulsing_strong, + pulsing_strong_80, + pulsing_medium, + pulsing_medium_80, + pulsing_sharp, + pulsing_sharp_80, + transition_click, + transition_click_80, + transition_click_60, + transition_click_40, + transition_click_20, + transition_click_10, + transition_hum, + transition_hum_80, + transition_hum_60, + transition_hum_40, + transition_hum_20, + transition_hum_10, + transition_rampdown_long_smooth1, + transition_rampdown_long_smooth2, + transition_rampdown_med_smooth1, + transition_rampdown_med_smooth2, + transition_rampdown_short_smooth1, + transition_rampdown_short_smooth2, + transition_rampdown_long_sharp1, + transition_rampdown_long_sharp2, + transition_rampdown_med_sharp1, + transition_rampdown_med_sharp2, + transition_rampdown_short_sharp1, + transition_rampdown_short_sharp2, + transition_rampup_long_smooth1, + transition_rampup_long_smooth2, + transition_rampup_med_smooth1, + transition_rampup_med_smooth2, + transition_rampup_short_smooth1, + transition_rampup_short_smooth2, + transition_rampup_long_sharp1, + transition_rampup_long_sharp2, + transition_rampup_med_sharp1, + transition_rampup_med_sharp2, + transition_rampup_short_sharp1, + transition_rampup_short_sharp2, + transition_rampdown_long_smooth1_50, + transition_rampdown_long_smooth2_50, + transition_rampdown_med_smooth1_50, + transition_rampdown_med_smooth2_50, + transition_rampdown_short_smooth1_50, + transition_rampdown_short_smooth2_50, + transition_rampdown_long_sharp1_50, + transition_rampdown_long_sharp2_50, + transition_rampdown_med_sharp1_50, + transition_rampdown_med_sharp2_50, + transition_rampdown_short_sharp1_50, + transition_rampdown_short_sharp2_50, + transition_rampup_long_smooth1_50, + transition_rampup_long_smooth2_50, + transition_rampup_med_smooth1_50, + transition_rampup_med_smooth2_50, + transition_rampup_short_smooth1_50, + transition_rampup_short_smooth2_50, + transition_rampup_long_sharp1_50, + transition_rampup_long_sharp2_50, + transition_rampup_med_sharp1_50, + transition_rampup_med_sharp2_50, + transition_rampup_short_sharp1_50, + transition_rampup_short_sharp2_50, + long_buzz_for_programmatic_stopping, + smooth_hum1_50, + smooth_hum2_40, + smooth_hum3_30, + smooth_hum4_20, + smooth_hum5_10, + drv_effect_max +} DRV_EFFECT; + +/* Register bit array unions */ + +typedef union DRVREG_STATUS { /* register 0x00 */ + uint8_t Byte; + struct { + uint8_t OC_DETECT : 1; /* set to 1 when overcurrent event is detected */ + uint8_t OVER_TEMP : 1; /* set to 1 when device exceeds temp threshold */ + uint8_t FB_STS : 1; /* set to 1 when feedback controller has timed out */ + /* auto-calibration routine and diagnostic result + * result | auto-calibation | diagnostic | + * 0 | passed | actuator func normal | + * 1 | failed | actuator func fault* | + * * actuator is not present or is shorted, timing out, or giving out–of-range back-EMF */ + uint8_t DIAG_RESULT : 1; + uint8_t : 1; + uint8_t DEVICE_ID : 3; /* Device IDs 3: DRV2605 4: DRV2604 5: DRV2604L 6: DRV2605L */ + } Bits; +} DRVREG_STATUS; + +typedef union DRVREG_MODE { /* register 0x01 */ + uint8_t Byte; + struct { + uint8_t MODE : 3; /* Mode setting */ + uint8_t : 3; + uint8_t STANDBY : 1; /* 0:standby 1:ready */ + } Bits; +} DRVREG_MODE; + +typedef union DRVREG_WAIT { + uint8_t Byte; + struct { + uint8_t WAIT_MODE : 1; /* Set to 1 to interpret as wait for next 7 bits x10ms */ + uint8_t WAIT_TIME : 7; + } Bits; +} DRVREG_WAIT; + +typedef union DRVREG_FBR { /* register 0x1A */ + uint8_t Byte; + struct { + uint8_t BEMF_GAIN : 2; + uint8_t LOOP_GAIN : 2; + uint8_t BRAKE_FACTOR : 3; + uint8_t ERM_LRA : 1; + } Bits; +} DRVREG_FBR; + +typedef union DRVREG_CTRL1 { /* register 0x1B */ + uint8_t Byte; + struct { + uint8_t C1_DRIVE_TIME : 5; + uint8_t C1_AC_COUPLE : 1; + uint8_t : 1; + uint8_t C1_STARTUP_BOOST : 1; + } Bits; +} DRVREG_CTRL1; + +typedef union DRVREG_CTRL2 { /* register 0x1C */ + uint8_t Byte; + struct { + uint8_t C2_IDISS_TIME : 2; + uint8_t C2_BLANKING_TIME : 2; + uint8_t C2_SAMPLE_TIME : 2; + uint8_t C2_BRAKE_STAB : 1; + uint8_t C2_BIDIR_INPUT : 1; + } Bits; +} DRVREG_CTRL2; + +typedef union DRVREG_CTRL3 { /* register 0x1D */ + uint8_t Byte; + struct { + uint8_t C3_LRA_OPEN_LOOP : 1; + uint8_t C3_N_PWM_ANALOG : 1; + uint8_t C3_LRA_DRIVE_MODE : 1; + uint8_t C3_DATA_FORMAT_RTO : 1; + uint8_t C3_SUPPLY_COMP_DIS : 1; + uint8_t C3_ERM_OPEN_LOOP : 1; + uint8_t C3_NG_THRESH : 2; + } Bits; +} DRVREG_CTRL3; + +typedef union DRVREG_CTRL4 { /* register 0x1E */ + uint8_t Byte; + struct { + uint8_t C4_OTP_PROGRAM : 1; + uint8_t : 1; + uint8_t C4_OTP_STATUS : 1; + uint8_t : 1; + uint8_t C4_AUTO_CAL_TIME : 2; + uint8_t C4_ZC_DET_TIME : 2; + } Bits; +} DRVREG_CTRL4; + +typedef union DRVREG_CTRL5 { /* register 0x1F */ + uint8_t Byte; + struct { + uint8_t C5_IDISS_TIME : 2; + uint8_t C5_BLANKING_TIME : 2; + uint8_t C5_PLAYBACK_INTERVAL : 1; + uint8_t C5_LRA_AUTO_OPEN_LOOP : 1; + uint8_t C5_AUTO_OL_CNT : 2; + } Bits; +} DRVREG_CTRL5; diff --git a/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk b/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk index 2a1e874d82..345c10cdd4 100644 --- a/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk +++ b/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk @@ -1,4 +1,4 @@ VIA_ENABLE = yes HAPTIC_ENABLE = yes -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = solenoid ENCODER_MAP_ENABLE = yes # Encoder mapping functionality \ No newline at end of file diff --git a/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk b/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk index e13f2bd035..6bec144827 100644 --- a/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk +++ b/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk @@ -1,4 +1,4 @@ VIA_ENABLE = yes LTO_ENABLE = yes HAPTIC_ENABLE = yes -HAPTIC_DRIVER += SOLENOID \ No newline at end of file +HAPTIC_DRIVER = solenoid \ No newline at end of file diff --git a/keyboards/ai03/lunar_ii/rules.mk b/keyboards/ai03/lunar_ii/rules.mk index 1448dc35c3..7ad594e1f9 100644 --- a/keyboards/ai03/lunar_ii/rules.mk +++ b/keyboards/ai03/lunar_ii/rules.mk @@ -12,4 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output HAPTIC_ENABLE = yes # Enable solenoid support -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index 4ed063f738..d8888eb92f 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -48,7 +48,7 @@ #define V_RMS 2.3 #define V_PEAK 3.30 /* Library Selection */ -#define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ #elif FB_ERM_LRA == 1 @@ -57,7 +57,7 @@ #define V_PEAK 2.85 #define F_LRA 200 /* Library Selection */ -#define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif diff --git a/keyboards/boston_meetup/2019/rules.mk b/keyboards/boston_meetup/2019/rules.mk index b2f1131ffd..777d555b2d 100644 --- a/keyboards/boston_meetup/2019/rules.mk +++ b/keyboards/boston_meetup/2019/rules.mk @@ -12,6 +12,6 @@ AUDIO_ENABLE = yes # Audio output RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = no HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l OLED_ENABLE = yes OLED_DRIVER = SSD1306 diff --git a/keyboards/buzzard/keymaps/crehmann/config.h b/keyboards/buzzard/keymaps/crehmann/config.h index 181396ad26..ee3192e3fd 100644 --- a/keyboards/buzzard/keymaps/crehmann/config.h +++ b/keyboards/buzzard/keymaps/crehmann/config.h @@ -25,8 +25,8 @@ #define NO_HAPTIC_PUNCTUATION #define NO_HAPTIC_NAV #define NO_HAPTIC_NUMERIC -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick1 +#define DRV2605L_GREETING alert_750ms +#define DRV2605L_DEFAULT_MODE sharp_tick1 #endif #ifdef PS2_MOUSE_ENABLE diff --git a/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c b/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c index 37fa2902c5..8f5aa0e662 100644 --- a/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c +++ b/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c @@ -4,7 +4,7 @@ #include "haptic_utils.h" #ifdef HAPTIC_ENABLE -#include "drivers/haptic/DRV2605L.h" +#include "drivers/haptic/drv2605l.h" #endif #ifdef HAPTIC_ENABLE @@ -23,19 +23,19 @@ void process_layer_pulse(layer_state_t state) { #ifdef HAPTIC_ENABLE switch (get_highest_layer(state)) { case 1: - DRV_pulse(soft_bump); + drv2605l_pulse(soft_bump); break; case 2: - DRV_pulse(sh_dblsharp_tick); + drv2605l_pulse(sh_dblsharp_tick); break; case 3: - DRV_pulse(lg_dblclick_str); + drv2605l_pulse(lg_dblclick_str); break; case 4: - DRV_pulse(soft_bump); + drv2605l_pulse(soft_bump); break; case 5: - DRV_pulse(pulsing_sharp); + drv2605l_pulse(pulsing_sharp); break; } #endif diff --git a/keyboards/buzzard/keymaps/crehmann/rules.mk b/keyboards/buzzard/keymaps/crehmann/rules.mk index 484e7d84a6..98a83af549 100644 --- a/keyboards/buzzard/keymaps/crehmann/rules.mk +++ b/keyboards/buzzard/keymaps/crehmann/rules.mk @@ -3,7 +3,7 @@ SRC += features/haptic_utils.c OLED_ENABLE = yes HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l PS2_MOUSE_ENABLE = yes MOUSEKEY_ENABLE = yes diff --git a/keyboards/buzzard/keymaps/default/config.h b/keyboards/buzzard/keymaps/default/config.h index 2a42e17d0c..d5bf3e4dc6 100644 --- a/keyboards/buzzard/keymaps/default/config.h +++ b/keyboards/buzzard/keymaps/default/config.h @@ -25,8 +25,8 @@ #define NO_HAPTIC_PUNCTUATION #define NO_HAPTIC_NAV #define NO_HAPTIC_NUMERIC -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick1 +#define DRV2605L_GREETING alert_750ms +#define DRV2605L_DEFAULT_MODE sharp_tick1 #endif diff --git a/keyboards/buzzard/keymaps/default/rules.mk b/keyboards/buzzard/keymaps/default/rules.mk index e8124aebb9..46728f3803 100644 --- a/keyboards/buzzard/keymaps/default/rules.mk +++ b/keyboards/buzzard/keymaps/default/rules.mk @@ -1,7 +1,7 @@ OLED_ENABLE = yes # uncomment if you are using an OLED display #HAPTIC_ENABLE = yes # uncomment only on the master side if you are using a Pimoroni haptic buzz -#HAPTIC_DRIVER = DRV2605L # uncomment only on the master side if you are using a Pimoroni haptic buzz +#HAPTIC_DRIVER = drv2605l # uncomment only on the master side if you are using a Pimoroni haptic buzz #PS2_MOUSE_ENABLE = yes # uncomment only on the master side if you are usin a TrackPoint MOUSEKEY_ENABLE = yes \ No newline at end of file diff --git a/keyboards/buzzard/rev1/rev1.c b/keyboards/buzzard/rev1/rev1.c index c6cdc66187..c26e4d5831 100644 --- a/keyboards/buzzard/rev1/rev1.c +++ b/keyboards/buzzard/rev1/rev1.c @@ -3,7 +3,7 @@ #include "quantum.h" #ifdef HAPTIC_ENABLE -#include "drivers/haptic/DRV2605L.h" +#include "drivers/haptic/drv2605l.h" #endif #ifdef SWAP_HANDS_ENABLE @@ -100,27 +100,27 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case 1: #ifdef HAPTIC_ENABLE - DRV_pulse(soft_bump); + drv2605l_pulse(soft_bump); #endif break; case 2: #ifdef HAPTIC_ENABLE - DRV_pulse(sh_dblsharp_tick); + drv2605l_pulse(sh_dblsharp_tick); #endif break; case 3: #ifdef HAPTIC_ENABLE - DRV_pulse(lg_dblclick_str); + drv2605l_pulse(lg_dblclick_str); #endif break; case 4: #ifdef HAPTIC_ENABLE - DRV_pulse(soft_bump); + drv2605l_pulse(soft_bump); #endif break; case 5: #ifdef HAPTIC_ENABLE - DRV_pulse(pulsing_sharp); + drv2605l_pulse(pulsing_sharp); #endif break; } diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index be315e668a..675bd218f0 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -70,7 +70,7 @@ #define V_RMS 2.3 #define V_PEAK 3.30 /* Library Selection */ -#define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ #elif FB_ERM_LRA == 1 @@ -79,7 +79,7 @@ #define V_PEAK 2.85 #define F_LRA 200 /* Library Selection */ -#define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif diff --git a/keyboards/hadron/ver3/keymaps/ishtob/config.h b/keyboards/hadron/ver3/keymaps/ishtob/config.h deleted file mode 100644 index 6f70f09bee..0000000000 --- a/keyboards/hadron/ver3/keymaps/ishtob/config.h +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c index e99ff55caf..a3b522fa04 100644 --- a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c +++ b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c @@ -239,12 +239,3 @@ bool music_mask_user(uint16_t keycode) { return true; } } - - -void matrix_init_keymap(void) { -} - - -void matrix_scan_keymap(void) { -} - diff --git a/keyboards/hadron/ver3/rules.mk b/keyboards/hadron/ver3/rules.mk index 5739e57d19..887fbcbfeb 100644 --- a/keyboards/hadron/ver3/rules.mk +++ b/keyboards/hadron/ver3/rules.mk @@ -12,7 +12,7 @@ AUDIO_ENABLE = yes RGBLIGHT_ENABLE = yes RGB_MATRIX_ENABLE = no # once arm_rgb is implemented HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l OLED_ENABLE = yes OLED_DRIVER = SSD1306 ENCODER_ENABLER = yes diff --git a/keyboards/handwired/onekey/keymaps/haptic/rules.mk b/keyboards/handwired/onekey/keymaps/haptic/rules.mk index 802f7e5dde..05201736e6 100644 --- a/keyboards/handwired/onekey/keymaps/haptic/rules.mk +++ b/keyboards/handwired/onekey/keymaps/haptic/rules.mk @@ -1,2 +1,2 @@ HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk index 9c6098640a..ef72559a0c 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk @@ -1,2 +1 @@ AUDIO_ENABLE = yes -HAPTIC_ENABLE += SOLENOID \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk index 8c797e4309..1e79dbce26 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk @@ -1,5 +1,4 @@ VIA_ENABLE = yes -#HAPTIC_ENABLE += SOLENOID AUDIO_ENABLE = yes #either solenoid or audio not both can be enabled LTO_ENABLE = yes diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h index a449a126d6..913c613c98 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h @@ -32,5 +32,5 @@ #define FB_ERM_LRA 0 -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT buzz +#define DRV2605L_GREETING alert_750ms +#define DRV2605L_DEFAULT_MODE buzz diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk index 9f5341e973..1cf7a3fccf 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk @@ -35,7 +35,7 @@ ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/f411) LTO_SUPPORTED = no OVERLOAD_FEATURES = yes HAPTIC_ENABLE = yes - HAPTIC_DRIVER = DRV2605L + HAPTIC_DRIVER = drv2605l endif ifeq ($(strip $(OVERLOAD_FEATURES)), yes) diff --git a/keyboards/hardwareabstraction/handwire/rules.mk b/keyboards/hardwareabstraction/handwire/rules.mk index d782fba2a8..ede296e1e8 100644 --- a/keyboards/hardwareabstraction/handwire/rules.mk +++ b/keyboards/hardwareabstraction/handwire/rules.mk @@ -1,6 +1,6 @@ LTO_ENABLE = yes HAPTIC_ENABLE = yes -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = solenoid OLED_ENABLE = yes OLED_DRIVER = SSD1306 diff --git a/keyboards/hillside/46/0_1/config.h b/keyboards/hillside/46/0_1/config.h index 55395dd407..dc8654b4bb 100644 --- a/keyboards/hillside/46/0_1/config.h +++ b/keyboards/hillside/46/0_1/config.h @@ -21,5 +21,5 @@ /* Haptic waveforms */ // Two mild waveforms -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick3_60 +#define DRV2605L_GREETING alert_750ms +#define DRV2605L_DEFAULT_MODE sharp_tick3_60 diff --git a/keyboards/hillside/46/0_1/rules.mk b/keyboards/hillside/46/0_1/rules.mk index 2501147ea8..3c12e55b58 100644 --- a/keyboards/hillside/46/0_1/rules.mk +++ b/keyboards/hillside/46/0_1/rules.mk @@ -5,4 +5,4 @@ LTO_ENABLE = yes # Use link time optimization for smaller firmware # enable it and set its driver here or in your keymap folder # The Pimoroni board's driver is DRV2605L # HAPTIC_ENABLE = yes # Enable haptic driver -# HAPTIC_DRIVER = DRV2605L +# HAPTIC_DRIVER = drv2605l diff --git a/keyboards/hillside/48/0_1/config.h b/keyboards/hillside/48/0_1/config.h index dc642c1193..3b432cf17b 100644 --- a/keyboards/hillside/48/0_1/config.h +++ b/keyboards/hillside/48/0_1/config.h @@ -16,5 +16,5 @@ /* Haptic waveforms */ // Two mild waveforms -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick3_60 +#define DRV2605L_GREETING alert_750ms +#define DRV2605L_DEFAULT_MODE sharp_tick3_60 diff --git a/keyboards/hillside/48/0_1/rules.mk b/keyboards/hillside/48/0_1/rules.mk index 2501147ea8..3c12e55b58 100644 --- a/keyboards/hillside/48/0_1/rules.mk +++ b/keyboards/hillside/48/0_1/rules.mk @@ -5,4 +5,4 @@ LTO_ENABLE = yes # Use link time optimization for smaller firmware # enable it and set its driver here or in your keymap folder # The Pimoroni board's driver is DRV2605L # HAPTIC_ENABLE = yes # Enable haptic driver -# HAPTIC_DRIVER = DRV2605L +# HAPTIC_DRIVER = drv2605l diff --git a/keyboards/hillside/52/0_1/config.h b/keyboards/hillside/52/0_1/config.h index 55395dd407..dc8654b4bb 100644 --- a/keyboards/hillside/52/0_1/config.h +++ b/keyboards/hillside/52/0_1/config.h @@ -21,5 +21,5 @@ /* Haptic waveforms */ // Two mild waveforms -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick3_60 +#define DRV2605L_GREETING alert_750ms +#define DRV2605L_DEFAULT_MODE sharp_tick3_60 diff --git a/keyboards/hillside/52/0_1/rules.mk b/keyboards/hillside/52/0_1/rules.mk index 2501147ea8..3c12e55b58 100644 --- a/keyboards/hillside/52/0_1/rules.mk +++ b/keyboards/hillside/52/0_1/rules.mk @@ -5,4 +5,4 @@ LTO_ENABLE = yes # Use link time optimization for smaller firmware # enable it and set its driver here or in your keymap folder # The Pimoroni board's driver is DRV2605L # HAPTIC_ENABLE = yes # Enable haptic driver -# HAPTIC_DRIVER = DRV2605L +# HAPTIC_DRIVER = drv2605l diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk index 225317b367..9131708828 100644 --- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk +++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/mechwild/clunker/rules.mk b/keyboards/mechwild/clunker/rules.mk index 3e6a4da7db..a521203b32 100644 --- a/keyboards/mechwild/clunker/rules.mk +++ b/keyboards/mechwild/clunker/rules.mk @@ -1 +1 @@ -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/pearlboards/atlas/rules.mk b/keyboards/pearlboards/atlas/rules.mk index 15d4f79cde..1dd174f436 100644 --- a/keyboards/pearlboards/atlas/rules.mk +++ b/keyboards/pearlboards/atlas/rules.mk @@ -12,6 +12,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l LTO_ENABLE = yes diff --git a/keyboards/pearlboards/pearl/rules.mk b/keyboards/pearlboards/pearl/rules.mk index 707e9c9312..83d6c3a33f 100644 --- a/keyboards/pearlboards/pearl/rules.mk +++ b/keyboards/pearlboards/pearl/rules.mk @@ -11,6 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l LTO_ENABLE = yes diff --git a/keyboards/pearlboards/zeus/rules.mk b/keyboards/pearlboards/zeus/rules.mk index eeb36fee4e..5cb2d9b649 100644 --- a/keyboards/pearlboards/zeus/rules.mk +++ b/keyboards/pearlboards/zeus/rules.mk @@ -12,6 +12,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes # Rotary encoder HAPTIC_ENABLE = yes # Rumble feefback -HAPTIC_DRIVER = DRV2605L # Rumble motor +HAPTIC_DRIVER = drv2605l # Rumble motor LTO_ENABLE = yes # Link time optimization diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h index 21fc2a2609..b031fca8dd 100644 --- a/keyboards/splitkb/zima/config.h +++ b/keyboards/splitkb/zima/config.h @@ -35,5 +35,5 @@ along with this program. If not, see . #define RATED_VOLTAGE 3 #define V_PEAK 5 -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT buzz +#define DRV2605L_GREETING alert_750ms +#define DRV2605L_DEFAULT_MODE buzz diff --git a/keyboards/splitkb/zima/rules.mk b/keyboards/splitkb/zima/rules.mk index fb9a585656..f491893a43 100644 --- a/keyboards/splitkb/zima/rules.mk +++ b/keyboards/splitkb/zima/rules.mk @@ -15,6 +15,6 @@ ENCODER_ENABLE = yes # ENables the use of one or more encoders OLED_ENABLE = yes OLED_DRIVER = SSD1306 # Enables the use of OLED displays HAPTIC_ENABLE = yes # Supported but not included by defaut -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l LTO_ENABLE = yes diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/rules.mk b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/rules.mk index 225317b367..9131708828 100644 --- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/rules.mk +++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/rules.mk b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/rules.mk index 225317b367..9131708828 100644 --- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/rules.mk +++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/rules.mk b/keyboards/unicomp/pc122/overnumpad_1xb/rules.mk index 225317b367..9131708828 100644 --- a/keyboards/unicomp/pc122/overnumpad_1xb/rules.mk +++ b/keyboards/unicomp/pc122/overnumpad_1xb/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/rules.mk b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/rules.mk index 225317b367..9131708828 100644 --- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/rules.mk +++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/rules.mk b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/rules.mk index 225317b367..9131708828 100644 --- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/rules.mk +++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/vertex/angle65/rules.mk b/keyboards/vertex/angle65/rules.mk index 2849e086e8..330f6ff76b 100644 --- a/keyboards/vertex/angle65/rules.mk +++ b/keyboards/vertex/angle65/rules.mk @@ -12,4 +12,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output HAPTIC_ENABLE = yes -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/xw60/rules.mk b/keyboards/xw60/rules.mk index 460d3ced43..710fb4ca88 100644 --- a/keyboards/xw60/rules.mk +++ b/keyboards/xw60/rules.mk @@ -11,4 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index 8443ff054f..071f7cb55b 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -115,7 +115,7 @@ # define V_RMS 2.3 # define V_PEAK 3.30 /* Library Selection */ -# define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +# define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ #elif FB_ERM_LRA == 1 @@ -124,7 +124,7 @@ # define V_PEAK 2.85 # define F_LRA 200 /* Library Selection */ -# define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +# define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif diff --git a/quantum/haptic.c b/quantum/haptic.c index c151547fca..13b2258eb8 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -14,17 +14,20 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #include "haptic.h" #include "eeconfig.h" #include "debug.h" #include "usb_device_state.h" #include "gpio.h" -#ifdef DRV2605L -# include "DRV2605L.h" + +#ifdef HAPTIC_DRV2605L +# include "drv2605l.h" #endif -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID # include "solenoid.h" #endif + #if defined(SPLIT_KEYBOARD) && defined(SPLIT_HAPTIC_ENABLE) extern uint8_t split_haptic_play; #endif @@ -59,11 +62,11 @@ void haptic_init(void) { eeconfig_init(); } haptic_config.raw = eeconfig_read_haptic(); -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID solenoid_set_dwell(haptic_config.dwell); #endif if ((haptic_config.raw == 0) -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID || (haptic_config.dwell == 0) #endif ) { @@ -77,12 +80,12 @@ void haptic_init(void) { // This is to execute any side effects of the configuration. set_haptic_config_enable(haptic_config.enable); } -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID solenoid_setup(); dprintf("Solenoid driver initialized\n"); #endif -#ifdef DRV2605L - DRV_init(); +#ifdef HAPTIC_DRV2605L + drv2605l_init(); dprintf("DRV2605 driver initialized\n"); #endif eeconfig_debug_haptic(); @@ -95,7 +98,7 @@ void haptic_init(void) { } void haptic_task(void) { -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID solenoid_check(); #endif } @@ -108,13 +111,13 @@ void eeconfig_debug_haptic(void) { void haptic_enable(void) { set_haptic_config_enable(true); - xprintf("haptic_config.enable = %u\n", haptic_config.enable); + dprintf("haptic_config.enable = %u\n", haptic_config.enable); eeconfig_update_haptic(haptic_config.raw); } void haptic_disable(void) { set_haptic_config_enable(false); - xprintf("haptic_config.enable = %u\n", haptic_config.enable); + dprintf("haptic_config.enable = %u\n", haptic_config.enable); eeconfig_update_haptic(haptic_config.raw); } @@ -130,7 +133,7 @@ void haptic_toggle(void) { void haptic_feedback_toggle(void) { haptic_config.feedback++; if (haptic_config.feedback >= HAPTIC_FEEDBACK_MAX) haptic_config.feedback = KEY_PRESS; - xprintf("haptic_config.feedback = %u\n", !haptic_config.feedback); + dprintf("haptic_config.feedback = %u\n", !haptic_config.feedback); eeconfig_update_haptic(haptic_config.raw); } @@ -142,7 +145,7 @@ void haptic_buzz_toggle(void) { void haptic_mode_increase(void) { uint8_t mode = haptic_config.mode + 1; -#ifdef DRV2605L +#ifdef HAPTIC_DRV2605L if (haptic_config.mode >= drv_effect_max) { mode = 1; } @@ -152,7 +155,7 @@ void haptic_mode_increase(void) { void haptic_mode_decrease(void) { uint8_t mode = haptic_config.mode - 1; -#ifdef DRV2605L +#ifdef HAPTIC_DRV2605L if (haptic_config.mode < 1) { mode = (drv_effect_max - 1); } @@ -161,7 +164,7 @@ void haptic_mode_decrease(void) { } void haptic_dwell_increase(void) { -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID int16_t next_dwell = ((int16_t)haptic_config.dwell) + SOLENOID_DWELL_STEP_SIZE; if (haptic_config.dwell >= SOLENOID_MAX_DWELL) { // if it's already at max, we wrap back to min @@ -178,7 +181,7 @@ void haptic_dwell_increase(void) { } void haptic_dwell_decrease(void) { -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID int16_t next_dwell = ((int16_t)haptic_config.dwell) - SOLENOID_DWELL_STEP_SIZE; if (haptic_config.dwell <= SOLENOID_MIN_DWELL) { // if it's already at min, we wrap to max @@ -196,13 +199,13 @@ void haptic_dwell_decrease(void) { void haptic_reset(void) { set_haptic_config_enable(true); - uint8_t feedback = HAPTIC_FEEDBACK_DEFAULT; + uint8_t feedback = HAPTIC_DEFAULT_FEEDBACK; haptic_config.feedback = feedback; -#ifdef DRV2605L - uint8_t mode = HAPTIC_MODE_DEFAULT; +#ifdef HAPTIC_DRV2605L + uint8_t mode = HAPTIC_DEFAULT_MODE; haptic_config.mode = mode; #endif -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID uint8_t dwell = SOLENOID_DEFAULT_DWELL; haptic_config.dwell = dwell; haptic_config.buzz = SOLENOID_DEFAULT_BUZZ; @@ -213,41 +216,41 @@ void haptic_reset(void) { haptic_config.buzz = 0; #endif eeconfig_update_haptic(haptic_config.raw); - xprintf("haptic_config.feedback = %u\n", haptic_config.feedback); - xprintf("haptic_config.mode = %u\n", haptic_config.mode); + dprintf("haptic_config.feedback = %u\n", haptic_config.feedback); + dprintf("haptic_config.mode = %u\n", haptic_config.mode); } void haptic_set_feedback(uint8_t feedback) { haptic_config.feedback = feedback; eeconfig_update_haptic(haptic_config.raw); - xprintf("haptic_config.feedback = %u\n", haptic_config.feedback); + dprintf("haptic_config.feedback = %u\n", haptic_config.feedback); } void haptic_set_mode(uint8_t mode) { haptic_config.mode = mode; eeconfig_update_haptic(haptic_config.raw); - xprintf("haptic_config.mode = %u\n", haptic_config.mode); + dprintf("haptic_config.mode = %u\n", haptic_config.mode); } void haptic_set_amplitude(uint8_t amp) { haptic_config.amplitude = amp; eeconfig_update_haptic(haptic_config.raw); - xprintf("haptic_config.amplitude = %u\n", haptic_config.amplitude); -#ifdef DRV2605L - DRV_amplitude(amp); + dprintf("haptic_config.amplitude = %u\n", haptic_config.amplitude); +#ifdef HAPTIC_DRV2605L + drv2605l_amplitude(amp); #endif } void haptic_set_buzz(uint8_t buzz) { haptic_config.buzz = buzz; eeconfig_update_haptic(haptic_config.raw); - xprintf("haptic_config.buzz = %u\n", haptic_config.buzz); + dprintf("haptic_config.buzz = %u\n", haptic_config.buzz); } void haptic_set_dwell(uint8_t dwell) { haptic_config.dwell = dwell; eeconfig_update_haptic(haptic_config.raw); - xprintf("haptic_config.dwell = %u\n", haptic_config.dwell); + dprintf("haptic_config.dwell = %u\n", haptic_config.dwell); } uint8_t haptic_get_enable(void) { @@ -277,19 +280,19 @@ uint8_t haptic_get_dwell(void) { void haptic_enable_continuous(void) { haptic_config.cont = 1; - xprintf("haptic_config.cont = %u\n", haptic_config.cont); + dprintf("haptic_config.cont = %u\n", haptic_config.cont); eeconfig_update_haptic(haptic_config.raw); -#ifdef DRV2605L - DRV_rtp_init(); +#ifdef HAPTIC_DRV2605L + drv2605l_rtp_init(); #endif } void haptic_disable_continuous(void) { haptic_config.cont = 0; - xprintf("haptic_config.cont = %u\n", haptic_config.cont); + dprintf("haptic_config.cont = %u\n", haptic_config.cont); eeconfig_update_haptic(haptic_config.raw); -#ifdef DRV2605L - DRV_write(DRV_MODE, 0x00); +#ifdef HAPTIC_DRV2605L + drv2605l_write(DRV2605L_REG_MODE, 0x00); #endif } @@ -318,15 +321,15 @@ void haptic_cont_decrease(void) { } void haptic_play(void) { -#ifdef DRV2605L +#ifdef HAPTIC_DRV2605L uint8_t play_eff = 0; play_eff = haptic_config.mode; - DRV_pulse(play_eff); + drv2605l_pulse(play_eff); # if defined(SPLIT_KEYBOARD) && defined(SPLIT_HAPTIC_ENABLE) split_haptic_play = haptic_config.mode; # endif #endif -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID solenoid_fire_handler(); # if defined(SPLIT_KEYBOARD) && defined(SPLIT_HAPTIC_ENABLE) split_haptic_play = 1; @@ -335,7 +338,7 @@ void haptic_play(void) { } void haptic_shutdown(void) { -#ifdef SOLENOID_ENABLE +#ifdef HAPTIC_SOLENOID solenoid_shutdown(); #endif } diff --git a/quantum/haptic.h b/quantum/haptic.h index 71d95cc61b..5bd1a71916 100644 --- a/quantum/haptic.h +++ b/quantum/haptic.h @@ -16,14 +16,15 @@ */ #pragma once + #include #include -#ifndef HAPTIC_FEEDBACK_DEFAULT -# define HAPTIC_FEEDBACK_DEFAULT 0 +#ifndef HAPTIC_DEFAULT_FEEDBACK +# define HAPTIC_DEFAULT_FEEDBACK 0 #endif -#ifndef HAPTIC_MODE_DEFAULT -# define HAPTIC_MODE_DEFAULT DRV_MODE_DEFAULT +#ifndef HAPTIC_DEFAULT_MODE +# define HAPTIC_DEFAULT_MODE DRV2605L_DEFAULT_MODE #endif /* EEPROM config settings */ diff --git a/quantum/process_keycode/process_space_cadet.c b/quantum/process_keycode/process_space_cadet.c index 4d9f01077e..f948ad6238 100644 --- a/quantum/process_keycode/process_space_cadet.c +++ b/quantum/process_keycode/process_space_cadet.c @@ -13,10 +13,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #include "process_space_cadet.h" #include "keycodes.h" #include "timer.h" +#include "action.h" #include "action_tapping.h" +#include "action_util.h" // ********** OBSOLETE DEFINES, STOP USING! (pls?) ********** // Shift / paren setup diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index 87838c3195..fca95e0847 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -21,6 +21,7 @@ #include "wait.h" #include "debug.h" #include "usb_util.h" +#include "bootloader.h" #ifdef EE_HANDS # include "eeconfig.h" diff --git a/users/ishtob/ishtob.h b/users/ishtob/ishtob.h index fd9e19c809..fcc2e2b847 100644 --- a/users/ishtob/ishtob.h +++ b/users/ishtob/ishtob.h @@ -36,7 +36,7 @@ enum userspace_keycodes { #define _FNLAYER 6 #define _NUMLAY 7 #define _MOUSECURSOR 8 -#define _ADJUST 16 +#define _ADJUST 9 -- cgit v1.3.1 From 571b8bac826b12d7b837df8bf8bd8d2787f934b8 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 29 Jul 2023 15:25:00 +1000 Subject: LED Matrix: driver naming cleanups (#21580) --- builddefs/common_features.mk | 16 ++--- docs/feature_led_matrix.md | 2 +- drivers/led/ckled2001-simple.c | 76 ++++++++++----------- drivers/led/ckled2001-simple.h | 20 +++--- drivers/led/issi/is31fl3731-simple.c | 50 +++++++------- drivers/led/issi/is31fl3731-simple.h | 16 ++--- drivers/led/issi/is31fl3733-simple.c | 56 +++++++-------- drivers/led/issi/is31fl3733-simple.h | 16 ++--- keyboards/clueboard/66_hotswap/gen1/info.json | 2 +- keyboards/fallacy/indicators.c | 12 ++-- keyboards/input_club/ergodox_infinity/info.json | 2 +- keyboards/input_club/whitefox/info.json | 2 +- keyboards/keychron/c1_pro/ansi/white/info.json | 2 +- keyboards/keychron/c2_pro/ansi/white/info.json | 2 +- keyboards/keychron/s1/ansi/white/info.json | 2 +- keyboards/mechlovin/olly/octagon/info.json | 2 +- keyboards/mechlovin/zed65/mono_led/info.json | 2 +- keyboards/terrazzo/info.json | 2 +- quantum/led_matrix/led_matrix_drivers.c | 90 ++++++++++++------------- 19 files changed, 186 insertions(+), 186 deletions(-) (limited to 'drivers') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index dd7e93d780..372c906d1c 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -352,8 +352,8 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) endif LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := IS31FL3731 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A CKLED2001 custom -# TODO: IS31FL3733 IS31FL3737 IS31FL3741 +VALID_LED_MATRIX_TYPES := is31fl3731 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 custom +# TODO: is31fl3733 is31fl3737 is31fl3741 ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) @@ -373,42 +373,42 @@ endif SRC += $(LIB_PATH)/lib8tion/lib8tion.c CIE1931_CURVE := yes - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3731) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731) OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731-simple.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3742A) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3743A) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3745) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3746A) + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), CKLED2001) + ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001) OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led SRC += ckled2001-simple.c diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index bcb03d3e45..dcb87f954c 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -12,7 +12,7 @@ There is basic support for addressable LED matrix lighting with the I2C IS31FL37 ```make LED_MATRIX_ENABLE = yes -LED_MATRIX_DRIVER = IS31FL3731 +LED_MATRIX_DRIVER = is31fl3731 ``` You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: diff --git a/drivers/led/ckled2001-simple.c b/drivers/led/ckled2001-simple.c index ee192af7dc..c4d4c0a4cc 100644 --- a/drivers/led/ckled2001-simple.c +++ b/drivers/led/ckled2001-simple.c @@ -42,7 +42,7 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in CKLED2001_write_pwm_buffer() but it's +// buffers and the transfers in ckled2001_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -50,7 +50,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +bool ckled2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -69,7 +69,7 @@ bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { return true; } -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool ckled2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -100,53 +100,53 @@ bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void CKLED2001_init(uint8_t addr) { +void ckled2001_init(uint8_t addr) { // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); // Setting internal channel pulldown/pullup - CKLED2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL); + ckled2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL); // Select number of scan phase - CKLED2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL); + ckled2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL); // Setting PWM Delay Phase - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE); + ckled2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE); // Setting Driving/Sinking Channel Slew Rate - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE); + ckled2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE); // Setting Iref - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE); + ckled2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE); // Set LED CONTROL PAGE (Page 0) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); + ckled2001_write_register(addr, i, 0x00); } // Set PWM PAGE (Page 1) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); + ckled2001_write_register(addr, i, 0x00); } // Set CURRENT PAGE (Page 4) uint8_t current_tuen_reg_list[LED_CURRENT_TUNE_LENGTH] = CKLED2001_CURRENT_TUNE; - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, current_tuen_reg_list[i]); + ckled2001_write_register(addr, i, current_tuen_reg_list[i]); } // Enable LEDs ON/OFF - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0xFF); + ckled2001_write_register(addr, i, 0xFF); } // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); } -void CKLED2001_set_value(int index, uint8_t value) { +void ckled2001_set_value(int index, uint8_t value) { ckled2001_led led; if (index >= 0 && index < LED_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); @@ -159,13 +159,13 @@ void CKLED2001_set_value(int index, uint8_t value) { } } -void CKLED2001_set_value_all(uint8_t value) { +void ckled2001_set_value_all(uint8_t value) { for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - CKLED2001_set_value(i, value); + ckled2001_set_value(i, value); } } -void CKLED2001_set_led_control_register(uint8_t index, bool value) { +void ckled2001_set_led_control_register(uint8_t index, bool value) { ckled2001_led led; memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); @@ -181,41 +181,41 @@ void CKLED2001_set_led_control_register(uint8_t index, bool value) { g_led_control_registers_update_required[led.driver] = true; } -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index) { +void ckled2001_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!CKLED2001_write_pwm_buffer(addr, g_pwm_buffer[index])) { + if (!ckled2001_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } } g_pwm_buffer_update_required[index] = false; } -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index) { +void ckled2001_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); for (int i = 0; i < 24; i++) { - CKLED2001_write_register(addr, i, g_led_control_registers[index][i]); + ckled2001_write_register(addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; } -void CKLED2001_sw_return_normal(uint8_t addr) { +void ckled2001_sw_return_normal(uint8_t addr) { // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); } -void CKLED2001_sw_shutdown(uint8_t addr) { +void ckled2001_sw_shutdown(uint8_t addr) { // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); // Write SW Sleep Register - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE); + ckled2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE); } diff --git a/drivers/led/ckled2001-simple.h b/drivers/led/ckled2001-simple.h index a56cad3461..c94df62dd2 100644 --- a/drivers/led/ckled2001-simple.h +++ b/drivers/led/ckled2001-simple.h @@ -27,24 +27,24 @@ typedef struct ckled2001_led { extern const ckled2001_led PROGMEM g_ckled2001_leds[LED_MATRIX_LED_COUNT]; -void CKLED2001_init(uint8_t addr); -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void ckled2001_init(uint8_t addr); +bool ckled2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool ckled2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void CKLED2001_set_value(int index, uint8_t value); -void CKLED2001_set_value_all(uint8_t value); +void ckled2001_set_value(int index, uint8_t value); +void ckled2001_set_value_all(uint8_t value); -void CKLED2001_set_led_control_register(uint8_t index, bool value); +void ckled2001_set_led_control_register(uint8_t index, bool value); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index); -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index); +void ckled2001_update_pwm_buffers(uint8_t addr, uint8_t index); +void ckled2001_update_led_control_registers(uint8_t addr, uint8_t index); -void CKLED2001_sw_return_normal(uint8_t addr); -void CKLED2001_sw_shutdown(uint8_t addr); +void ckled2001_sw_return_normal(uint8_t addr); +void ckled2001_sw_shutdown(uint8_t addr); // Registers Page Define #define CONFIGURE_CMD_PAGE 0xFD diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c index da4f17b73d..f7f6980a3b 100644 --- a/drivers/led/issi/is31fl3731-simple.c +++ b/drivers/led/issi/is31fl3731-simple.c @@ -64,7 +64,7 @@ uint8_t g_twi_transfer_buffer[20]; // These buffers match the IS31FL3731 PWM registers 0x24-0xB3. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3731_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[LED_DRIVER_COUNT][144]; bool g_pwm_buffer_update_required[LED_DRIVER_COUNT] = {false}; @@ -95,7 +95,7 @@ bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false}; // 0x0E - R17,G15,G14,G13,G12,G11,G10,G09 // 0x10 - R16,R15,R14,R13,R12,R11,R10,R09 -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -110,7 +110,7 @@ void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { #endif } -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes bank is already selected // transmit PWM registers in 9 transfers of 16 bytes @@ -135,62 +135,62 @@ void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { } } -void IS31FL3731_init(uint8_t addr) { +void is31fl3731_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, first enable software shutdown, // then set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); // enable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); + is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); #ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array - IS31FL3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); + is31fl3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); #endif // this delay was copied from other drivers, might not be needed wait_ms(10); // picture mode - IS31FL3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); + is31fl3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); // display frame 0 - IS31FL3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); + is31fl3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); // audio sync off - IS31FL3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); + is31fl3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); // select bank 0 - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); // turn off all LEDs in the LED control register for (int i = 0x00; i <= 0x11; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // turn off all LEDs in the blink control register (not really needed) for (int i = 0x12; i <= 0x23; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // set PWM on all LEDs to 0 for (int i = 0x24; i <= 0xB3; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); // disable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); + is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); // select bank 0 and leave it selected. // most usage after initialization is just writing PWM buffers in bank 0 // as there's not much point in double-buffering - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); } -void IS31FL3731_set_value(int index, uint8_t value) { +void is31fl3731_set_value(int index, uint8_t value) { is31_led led; if (index >= 0 && index < LED_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -205,13 +205,13 @@ void IS31FL3731_set_value(int index, uint8_t value) { } } -void IS31FL3731_set_value_all(uint8_t value) { +void is31fl3731_set_value_all(uint8_t value) { for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_value(i, value); + is31fl3731_set_value(i, value); } } -void IS31FL3731_set_led_control_register(uint8_t index, bool value) { +void is31fl3731_set_led_control_register(uint8_t index, bool value) { is31_led led; memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -227,17 +227,17 @@ void IS31FL3731_set_led_control_register(uint8_t index, bool value) { g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - IS31FL3731_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]); g_pwm_buffer_update_required[index] = false; } } -void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { for (int i = 0; i < 18; i++) { - IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3731_write_register(addr, i, g_led_control_registers[index][i]); } g_led_control_registers_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h index 7834766b94..69fba14a0b 100644 --- a/drivers/led/issi/is31fl3731-simple.h +++ b/drivers/led/issi/is31fl3731-simple.h @@ -30,21 +30,21 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; -void IS31FL3731_init(uint8_t addr); -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3731_init(uint8_t addr); +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3731_set_value(int index, uint8_t value); -void IS31FL3731_set_value_all(uint8_t value); +void is31fl3731_set_value(int index, uint8_t value); +void is31fl3731_set_value_all(uint8_t value); -void IS31FL3731_set_led_control_register(uint8_t index, bool value); +void is31fl3731_set_led_control_register(uint8_t index, bool value); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -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_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index); #define C1_1 0x24 #define C1_2 0x25 diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index d90fd8587f..f9a0a271a8 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -81,7 +81,7 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[LED_DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[LED_DRIVER_COUNT] = {false}; @@ -98,7 +98,7 @@ uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}, {0}, {0}, {0}}; #endif bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false}; -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -117,7 +117,7 @@ bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { return true; } -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -146,7 +146,7 @@ bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void IS31FL3733_init(uint8_t addr, uint8_t sync) { +void is31fl3733_init(uint8_t addr, uint8_t sync) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -154,45 +154,45 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { // Sync is passed so set it according to the datasheet. // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); // Turn off all LEDs. for (int i = 0x00; i <= 0x17; i++) { - IS31FL3733_write_register(addr, i, 0x00); + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG1 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3733_write_register(addr, i, 0x00); + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG3 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); // Set global current to maximum. - IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); // Disable software shutdown. - IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); + is31fl3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3733_set_value(int index, uint8_t value) { +void is31fl3733_set_value(int index, uint8_t value) { is31_led led; if (index >= 0 && index < LED_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -205,13 +205,13 @@ void IS31FL3733_set_value(int index, uint8_t value) { } } -void IS31FL3733_set_value_all(uint8_t value) { +void is31fl3733_set_value_all(uint8_t value) { for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - IS31FL3733_set_value(i, value); + is31fl3733_set_value(i, value); } } -void IS31FL3733_set_led_control_register(uint8_t index, bool value) { +void is31fl3733_set_led_control_register(uint8_t index, bool value) { is31_led led; memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -227,28 +227,28 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool value) { g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { + if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } g_pwm_buffer_update_required[index] = false; } } -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); for (int i = 0; i < 24; i++) { - IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3733_write_register(addr, i, g_led_control_registers[index][i]); } g_led_control_registers_update_required[index] = false; } diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index bd61082f42..1458f7ac8d 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -32,21 +32,21 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; -void IS31FL3733_init(uint8_t addr, uint8_t sync); -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3733_init(uint8_t addr, uint8_t sync); +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3733_set_value(int index, uint8_t value); -void IS31FL3733_set_value_all(uint8_t value); +void is31fl3733_set_value(int index, uint8_t value); +void is31fl3733_set_value_all(uint8_t value); -void IS31FL3733_set_led_control_register(uint8_t index, bool value); +void is31fl3733_set_led_control_register(uint8_t index, bool value); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -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_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index); #define PUR_0R 0x00 // No PUR resistor #define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json index 360f2e0e04..e497594685 100644 --- a/keyboards/clueboard/66_hotswap/gen1/info.json +++ b/keyboards/clueboard/66_hotswap/gen1/info.json @@ -17,7 +17,7 @@ "nkro": true }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B10", "B2", "B1", "B0", "A7", "B4", "B3", "B7"], diff --git a/keyboards/fallacy/indicators.c b/keyboards/fallacy/indicators.c index 8686f292fc..b9a4a87056 100755 --- a/keyboards/fallacy/indicators.c +++ b/keyboards/fallacy/indicators.c @@ -23,20 +23,20 @@ */ void init_fallacy_leds(void) { i2c_init(); - IS31FL3731_init(LED_DRIVER_ADDR_1); + is31fl3731_init(LED_DRIVER_ADDR_1); for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_led_control_register(i, true); + is31fl3731_set_led_control_register(i, true); } - IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0); } /* update the buffer */ void update_fallacy_leds(void) { - IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); } @@ -44,10 +44,10 @@ void update_fallacy_leds(void) { */ void set_fallacy_led(int index, bool state) { if (state) { - IS31FL3731_set_value(index, 128); + is31fl3731_set_value(index, 128); } else { - IS31FL3731_set_value(index, 0); + is31fl3731_set_value(index, 0); } } diff --git a/keyboards/input_club/ergodox_infinity/info.json b/keyboards/input_club/ergodox_infinity/info.json index e3e0399bed..d69aeb5d0c 100644 --- a/keyboards/input_club/ergodox_infinity/info.json +++ b/keyboards/input_club/ergodox_infinity/info.json @@ -7,7 +7,7 @@ "device_version": "0.0.1" }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["D1", "D4", "D5", "D6", "D7"], diff --git a/keyboards/input_club/whitefox/info.json b/keyboards/input_club/whitefox/info.json index 02dd975752..cb578e99b4 100644 --- a/keyboards/input_club/whitefox/info.json +++ b/keyboards/input_club/whitefox/info.json @@ -8,7 +8,7 @@ "device_version": "0.0.1" }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B2", "B3", "B18", "B19", "C0", "C8", "C9", "C10", "C11"], diff --git a/keyboards/keychron/c1_pro/ansi/white/info.json b/keyboards/keychron/c1_pro/ansi/white/info.json index 78c672ac89..070ed6c427 100644 --- a/keyboards/keychron/c1_pro/ansi/white/info.json +++ b/keyboards/keychron/c1_pro/ansi/white/info.json @@ -105,7 +105,7 @@ } }, "led_matrix": { - "driver": "CKLED2001", + "driver": "ckled2001", "animations": { "none": true, "solid": true, diff --git a/keyboards/keychron/c2_pro/ansi/white/info.json b/keyboards/keychron/c2_pro/ansi/white/info.json index 3248e7c38a..dc58d1943b 100644 --- a/keyboards/keychron/c2_pro/ansi/white/info.json +++ b/keyboards/keychron/c2_pro/ansi/white/info.json @@ -122,7 +122,7 @@ } }, "led_matrix": { - "driver": "CKLED2001", + "driver": "ckled2001", "animations": { "none": true, "solid": true, diff --git a/keyboards/keychron/s1/ansi/white/info.json b/keyboards/keychron/s1/ansi/white/info.json index 6d4d90525c..ff0a6b69cb 100644 --- a/keyboards/keychron/s1/ansi/white/info.json +++ b/keyboards/keychron/s1/ansi/white/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "led_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], diff --git a/keyboards/mechlovin/olly/octagon/info.json b/keyboards/mechlovin/olly/octagon/info.json index 90695c1bc8..5ca113f062 100644 --- a/keyboards/mechlovin/olly/octagon/info.json +++ b/keyboards/mechlovin/olly/octagon/info.json @@ -17,7 +17,7 @@ "pin": "A7" }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B2", "B1", "A15", "B3", "B9", "B8", "B7", "B6", "B5", "B4"], diff --git a/keyboards/mechlovin/zed65/mono_led/info.json b/keyboards/mechlovin/zed65/mono_led/info.json index 72fc0ecf87..4cd4ccf5a5 100644 --- a/keyboards/mechlovin/zed65/mono_led/info.json +++ b/keyboards/mechlovin/zed65/mono_led/info.json @@ -18,7 +18,7 @@ "pin": "A7" }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B2", "B1", "A15", "B3", "B9", "B8", "B7", "B6", "B5", "B4"], diff --git a/keyboards/terrazzo/info.json b/keyboards/terrazzo/info.json index 6e099c6e46..279c0f3324 100644 --- a/keyboards/terrazzo/info.json +++ b/keyboards/terrazzo/info.json @@ -21,7 +21,7 @@ ] }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c index 2c09ba82b1..13c8935d11 100644 --- a/quantum/led_matrix/led_matrix_drivers.c +++ b/quantum/led_matrix/led_matrix_drivers.c @@ -32,13 +32,13 @@ static void init(void) { i2c_init(); # if defined(IS31FL3731) - IS31FL3731_init(LED_DRIVER_ADDR_1); + is31fl3731_init(LED_DRIVER_ADDR_1); # if defined(LED_DRIVER_ADDR_2) - IS31FL3731_init(LED_DRIVER_ADDR_2); + is31fl3731_init(LED_DRIVER_ADDR_2); # if defined(LED_DRIVER_ADDR_3) - IS31FL3731_init(LED_DRIVER_ADDR_3); + is31fl3731_init(LED_DRIVER_ADDR_3); # if defined(LED_DRIVER_ADDR_4) - IS31FL3731_init(LED_DRIVER_ADDR_4); + is31fl3731_init(LED_DRIVER_ADDR_4); # endif # endif # endif @@ -47,22 +47,22 @@ static void init(void) { # if !defined(LED_DRIVER_SYNC_1) # define LED_DRIVER_SYNC_1 0 # endif - IS31FL3733_init(LED_DRIVER_ADDR_1, LED_DRIVER_SYNC_1); + is31fl3733_init(LED_DRIVER_ADDR_1, LED_DRIVER_SYNC_1); # if defined(LED_DRIVER_ADDR_2) # if !defined(LED_DRIVER_SYNC_2) # define LED_DRIVER_SYNC_2 0 # endif - IS31FL3733_init(LED_DRIVER_ADDR_2, LED_DRIVER_SYNC_2); + is31fl3733_init(LED_DRIVER_ADDR_2, LED_DRIVER_SYNC_2); # if defined(LED_DRIVER_ADDR_3) # if !defined(LED_DRIVER_SYNC_3) # define LED_DRIVER_SYNC_3 0 # endif - IS31FL3733_init(LED_DRIVER_ADDR_3, LED_DRIVER_SYNC_3); + is31fl3733_init(LED_DRIVER_ADDR_3, LED_DRIVER_SYNC_3); # if defined(LED_DRIVER_ADDR_4) # if !defined(LED_DRIVER_SYNC_4) # define LED_DRIVER_SYNC_4 0 # endif - IS31FL3733_init(LED_DRIVER_ADDR_4, LED_DRIVER_SYNC_4); + is31fl3733_init(LED_DRIVER_ADDR_4, LED_DRIVER_SYNC_4); # endif # endif # endif @@ -84,13 +84,13 @@ static void init(void) { writePinHigh(LED_DRIVER_SHUTDOWN_PIN); # endif - CKLED2001_init(DRIVER_ADDR_1); + ckled2001_init(DRIVER_ADDR_1); # if defined(DRIVER_ADDR_2) - CKLED2001_init(DRIVER_ADDR_2); + ckled2001_init(DRIVER_ADDR_2); # if defined(DRIVER_ADDR_3) - CKLED2001_init(DRIVER_ADDR_3); + ckled2001_init(DRIVER_ADDR_3); # if defined(DRIVER_ADDR_4) - CKLED2001_init(DRIVER_ADDR_4); + ckled2001_init(DRIVER_ADDR_4); # endif # endif # endif @@ -98,37 +98,37 @@ static void init(void) { for (int index = 0; index < LED_MATRIX_LED_COUNT; index++) { # if defined(IS31FL3731) - IS31FL3731_set_led_control_register(index, true); + is31fl3731_set_led_control_register(index, true); # elif defined(IS31FL3733) - IS31FL3733_set_led_control_register(index, true); + is31fl3733_set_led_control_register(index, true); # elif defined(IS31FLCOMMON) IS31FL_simple_set_scaling_buffer(index, true); # elif defined(CKLED2001) - CKLED2001_set_led_control_register(index, true); + ckled2001_set_led_control_register(index, true); # endif } // This actually updates the LED drivers # if defined(IS31FL3731) - IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0); # if defined(LED_DRIVER_ADDR_2) - IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_2, 1); + is31fl3731_update_led_control_registers(LED_DRIVER_ADDR_2, 1); # if defined(LED_DRIVER_ADDR_3) - IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_3, 2); + is31fl3731_update_led_control_registers(LED_DRIVER_ADDR_3, 2); # if defined(LED_DRIVER_ADDR_4) - IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_4, 3); + is31fl3731_update_led_control_registers(LED_DRIVER_ADDR_4, 3); # endif # endif # endif # elif defined(IS31FL3733) - IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_1, 0); + is31fl3733_update_led_control_registers(LED_DRIVER_ADDR_1, 0); # if defined(LED_DRIVER_ADDR_2) - IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_2, 1); + is31fl3733_update_led_control_registers(LED_DRIVER_ADDR_2, 1); # if defined(LED_DRIVER_ADDR_3) - IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_3, 2); + is31fl3733_update_led_control_registers(LED_DRIVER_ADDR_3, 2); # if defined(LED_DRIVER_ADDR_4) - IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_4, 3); + is31fl3733_update_led_control_registers(LED_DRIVER_ADDR_4, 3); # endif # endif # endif @@ -148,13 +148,13 @@ static void init(void) { # endif # endif # elif defined(CKLED2001) - CKLED2001_update_led_control_registers(DRIVER_ADDR_1, 0); + ckled2001_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - CKLED2001_update_led_control_registers(DRIVER_ADDR_2, 1); + ckled2001_update_led_control_registers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - CKLED2001_update_led_control_registers(DRIVER_ADDR_3, 2); + ckled2001_update_led_control_registers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - CKLED2001_update_led_control_registers(DRIVER_ADDR_4, 3); + ckled2001_update_led_control_registers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -163,13 +163,13 @@ static void init(void) { # if defined(IS31FL3731) static void flush(void) { - IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); # if defined(LED_DRIVER_ADDR_2) - IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); + is31fl3731_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); # if defined(LED_DRIVER_ADDR_3) - IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); + is31fl3731_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); # if defined(LED_DRIVER_ADDR_4) - IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); + is31fl3731_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); # endif # endif # endif @@ -178,19 +178,19 @@ static void flush(void) { const led_matrix_driver_t led_matrix_driver = { .init = init, .flush = flush, - .set_value = IS31FL3731_set_value, - .set_value_all = IS31FL3731_set_value_all, + .set_value = is31fl3731_set_value, + .set_value_all = is31fl3731_set_value_all, }; # elif defined(IS31FL3733) static void flush(void) { - IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); + is31fl3733_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); # if defined(LED_DRIVER_ADDR_2) - IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); + is31fl3733_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); # if defined(LED_DRIVER_ADDR_3) - IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); + is31fl3733_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); # if defined(LED_DRIVER_ADDR_4) - IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); + is31fl3733_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); # endif # endif # endif @@ -199,8 +199,8 @@ static void flush(void) { const led_matrix_driver_t led_matrix_driver = { .init = init, .flush = flush, - .set_value = IS31FL3733_set_value, - .set_value_all = IS31FL3733_set_value_all, + .set_value = is31fl3733_set_value, + .set_value_all = is31fl3733_set_value_all, }; # elif defined(IS31FLCOMMON) @@ -225,13 +225,13 @@ const led_matrix_driver_t led_matrix_driver = { }; # elif defined(CKLED2001) static void flush(void) { - CKLED2001_update_pwm_buffers(DRIVER_ADDR_1, 0); + ckled2001_update_pwm_buffers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - CKLED2001_update_pwm_buffers(DRIVER_ADDR_2, 1); + ckled2001_update_pwm_buffers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - CKLED2001_update_pwm_buffers(DRIVER_ADDR_3, 2); + ckled2001_update_pwm_buffers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - CKLED2001_update_pwm_buffers(DRIVER_ADDR_4, 3); + ckled2001_update_pwm_buffers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -240,8 +240,8 @@ static void flush(void) { const led_matrix_driver_t led_matrix_driver = { .init = init, .flush = flush, - .set_value = CKLED2001_set_value, - .set_value_all = CKLED2001_set_value_all, + .set_value = ckled2001_set_value, + .set_value_all = ckled2001_set_value_all, }; # endif #endif -- cgit v1.3.1 From 0b802defd4ad81f38bdd3ae0192e2a834f7d99be Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 4 Aug 2023 10:16:16 +1000 Subject: haptic: further naming cleanups (#21682) --- docs/feature_haptic_feedback.md | 26 +- drivers/haptic/drv2605l.c | 94 ++--- drivers/haptic/drv2605l.h | 451 ++++++++++----------- keyboards/boston_meetup/2019/config.h | 58 +-- keyboards/buzzard/keymaps/crehmann/config.h | 4 +- .../keymaps/crehmann/features/haptic_utils.c | 10 +- keyboards/buzzard/keymaps/default/config.h | 4 +- keyboards/buzzard/rev1/rev1.c | 10 +- keyboards/hadron/ver3/config.h | 58 +-- .../swiftrax/bumblebee/keymaps/default/keymap.c | 10 +- .../swiftrax/bumblebee/keymaps/via/keymap.c | 10 +- .../5x6_right/keymaps/drashna/config.h | 6 +- keyboards/hillside/46/0_1/config.h | 18 +- keyboards/hillside/48/0_1/config.h | 18 +- keyboards/hillside/52/0_1/config.h | 18 +- keyboards/pearlboards/atlas/config.h | 10 +- keyboards/pearlboards/pearl/config.h | 10 +- keyboards/pearlboards/zeus/config.h | 10 +- keyboards/splitkb/zima/config.h | 14 +- layouts/community/ortho_4x12/drashna/config.h | 58 +-- quantum/haptic.c | 4 +- 21 files changed, 428 insertions(+), 473 deletions(-) (limited to 'drivers') diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index 02a231138d..68145edd6c 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -94,29 +94,29 @@ This driver supports 2 different feedback motors. Set the following in your `con Eccentric Rotating Mass vibration motors (ERM) is motor with a off-set weight attached so when drive signal is attached, the off-set weight spins and causes a sinusoidal wave that translate into vibrations. ```c -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 ``` ##### LRA Linear resonant actuators (LRA, also know as a linear vibrator) works different from a ERM. A LRA has a weight and magnet suspended by springs and a voice coil. When the drive signal is applied, the weight would be vibrate on a single axis (side to side or up and down). Since the weight is attached to a spring, there is a resonance effect at a specific frequency. This frequency is where the LRA will operate the most efficiently. Refer to the motor's datasheet for the recommanded range for this frequency. ```c -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define V_PEAK 2.1 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.1 +#define DRV2605L_F_LRA 205 /* resonance freq */ ``` #### DRV2605L waveform library diff --git a/drivers/haptic/drv2605l.c b/drivers/haptic/drv2605l.c index 7613dc59d1..1ad2ad385f 100644 --- a/drivers/haptic/drv2605l.c +++ b/drivers/haptic/drv2605l.c @@ -41,58 +41,58 @@ void drv2605l_init(void) { // drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL,0xB6); -#if FB_ERM_LRA == 0 +#if DRV2605L_FB_ERM_LRA == 0 /* ERM settings */ - drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, (RATED_VOLTAGE / 21.33) * 1000); -# if ERM_OPEN_LOOP == 0 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (((V_PEAK * (DRIVE_TIME + BLANKING_TIME + IDISS_TIME)) / 0.02133) / (DRIVE_TIME - 0.0003))); -# elif ERM_OPEN_LOOP == 1 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (V_PEAK / 0.02196)); + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, (DRV2605L_RATED_VOLTAGE / 21.33) * 1000); +# if DRV2605L_ERM_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (((DRV2605L_V_PEAK * (DRV2605L_DRIVE_TIME + DRV2605L_BLANKING_TIME + DRV2605L_IDISS_TIME)) / 0.02133) / (DRV2605L_DRIVE_TIME - 0.0003))); +# elif DRV2605L_ERM_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (DRV2605L_V_PEAK / 0.02196)); # endif -#elif FB_ERM_LRA == 1 - drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, ((V_RMS * sqrt(1 - ((4 * ((150 + (SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * F_LRA) / 0.02071))); -# if LRA_OPEN_LOOP == 0 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, ((V_PEAK / sqrt(1 - (F_LRA * 0.0008)) / 0.02133))); -# elif LRA_OPEN_LOOP == 1 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (V_PEAK / 0.02196)); +#elif DRV2605L_FB_ERM_LRA == 1 + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, ((DRV2605L_V_RMS * sqrt(1 - ((4 * ((150 + (DRV2605L_SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * DRV2605L_F_LRA) / 0.02071))); +# if DRV2605L_LRA_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, ((DRV2605L_V_PEAK / sqrt(1 - (DRV2605L_F_LRA * 0.0008)) / 0.02133))); +# elif DRV2605L_LRA_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (DRV2605L_V_PEAK / 0.02196)); # endif #endif - DRVREG_FBR FB_SET; - FB_SET.Bits.ERM_LRA = FB_ERM_LRA; - FB_SET.Bits.BRAKE_FACTOR = FB_BRAKEFACTOR; - FB_SET.Bits.LOOP_GAIN = FB_LOOPGAIN; - FB_SET.Bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ - drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL, (uint8_t)FB_SET.Byte); - - DRVREG_CTRL1 C1_SET; - C1_SET.Bits.C1_DRIVE_TIME = DRIVE_TIME; - C1_SET.Bits.C1_AC_COUPLE = AC_COUPLE; - C1_SET.Bits.C1_STARTUP_BOOST = STARTUP_BOOST; - drv2605l_write(DRV2605L_REG_CTRL1, (uint8_t)C1_SET.Byte); - - DRVREG_CTRL2 C2_SET; - C2_SET.Bits.C2_BIDIR_INPUT = BIDIR_INPUT; - C2_SET.Bits.C2_BRAKE_STAB = BRAKE_STAB; - C2_SET.Bits.C2_SAMPLE_TIME = SAMPLE_TIME; - C2_SET.Bits.C2_BLANKING_TIME = BLANKING_TIME; - C2_SET.Bits.C2_IDISS_TIME = IDISS_TIME; - drv2605l_write(DRV2605L_REG_CTRL2, (uint8_t)C2_SET.Byte); - - DRVREG_CTRL3 C3_SET; - C3_SET.Bits.C3_LRA_OPEN_LOOP = LRA_OPEN_LOOP; - C3_SET.Bits.C3_N_PWM_ANALOG = N_PWM_ANALOG; - C3_SET.Bits.C3_LRA_DRIVE_MODE = LRA_DRIVE_MODE; - C3_SET.Bits.C3_DATA_FORMAT_RTO = DATA_FORMAT_RTO; - C3_SET.Bits.C3_SUPPLY_COMP_DIS = SUPPLY_COMP_DIS; - C3_SET.Bits.C3_ERM_OPEN_LOOP = ERM_OPEN_LOOP; - C3_SET.Bits.C3_NG_THRESH = NG_THRESH; - drv2605l_write(DRV2605L_REG_CTRL3, (uint8_t)C3_SET.Byte); - - DRVREG_CTRL4 C4_SET; - C4_SET.Bits.C4_ZC_DET_TIME = ZC_DET_TIME; - C4_SET.Bits.C4_AUTO_CAL_TIME = AUTO_CAL_TIME; - drv2605l_write(DRV2605L_REG_CTRL4, (uint8_t)C4_SET.Byte); + drv2605l_reg_feedback_ctrl_t reg_feedback_ctrl; + reg_feedback_ctrl.bits.ERM_LRA = DRV2605L_FB_ERM_LRA; + reg_feedback_ctrl.bits.BRAKE_FACTOR = DRV2605L_FB_BRAKEFACTOR; + reg_feedback_ctrl.bits.LOOP_GAIN = DRV2605L_FB_LOOPGAIN; + reg_feedback_ctrl.bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ + drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL, (uint8_t)reg_feedback_ctrl.raw); + + drv2605l_reg_ctrl1_t reg_ctrl1; + reg_ctrl1.bits.C1_DRIVE_TIME = DRV2605L_DRIVE_TIME; + reg_ctrl1.bits.C1_AC_COUPLE = DRV2605L_AC_COUPLE; + reg_ctrl1.bits.C1_STARTUP_BOOST = DRV2605L_STARTUP_BOOST; + drv2605l_write(DRV2605L_REG_CTRL1, (uint8_t)reg_ctrl1.raw); + + drv2605l_reg_ctrl2_t reg_ctrl2; + reg_ctrl2.bits.C2_BIDIR_INPUT = DRV2605L_BIDIR_INPUT; + reg_ctrl2.bits.C2_BRAKE_STAB = DRV2605L_BRAKE_STAB; + reg_ctrl2.bits.C2_SAMPLE_TIME = DRV2605L_SAMPLE_TIME; + reg_ctrl2.bits.C2_BLANKING_TIME = DRV2605L_BLANKING_TIME; + reg_ctrl2.bits.C2_IDISS_TIME = DRV2605L_IDISS_TIME; + drv2605l_write(DRV2605L_REG_CTRL2, (uint8_t)reg_ctrl2.raw); + + drv2605l_reg_ctrl3_t reg_ctrl3; + reg_ctrl3.bits.C3_LRA_OPEN_LOOP = DRV2605L_LRA_OPEN_LOOP; + reg_ctrl3.bits.C3_N_PWM_ANALOG = DRV2605L_N_PWM_ANALOG; + reg_ctrl3.bits.C3_LRA_DRIVE_MODE = DRV2605L_LRA_DRIVE_MODE; + reg_ctrl3.bits.C3_DATA_FORMAT_RTO = DRV2605L_DATA_FORMAT_RTO; + reg_ctrl3.bits.C3_SUPPLY_COMP_DIS = DRV2605L_SUPPLY_COMP_DIS; + reg_ctrl3.bits.C3_ERM_OPEN_LOOP = DRV2605L_ERM_OPEN_LOOP; + reg_ctrl3.bits.C3_NG_THRESH = DRV2605L_NG_THRESH; + drv2605l_write(DRV2605L_REG_CTRL3, (uint8_t)reg_ctrl3.raw); + + drv2605l_reg_ctrl4_t reg_ctrl4; + reg_ctrl4.bits.C4_ZC_DET_TIME = DRV2605L_ZC_DET_TIME; + reg_ctrl4.bits.C4_AUTO_CAL_TIME = DRV2605L_AUTO_CAL_TIME; + drv2605l_write(DRV2605L_REG_CTRL4, (uint8_t)reg_ctrl4.raw); drv2605l_write(DRV2605L_REG_LIBRARY_SELECTION, DRV2605L_LIBRARY); diff --git a/drivers/haptic/drv2605l.h b/drivers/haptic/drv2605l.h index 796611edb6..a7cf856a86 100644 --- a/drivers/haptic/drv2605l.h +++ b/drivers/haptic/drv2605l.h @@ -22,42 +22,42 @@ /* Initialization settings * Feedback Control Settings */ -#ifndef FB_ERM_LRA -# define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#ifndef DRV2605L_FB_ERM_LRA +# define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ #endif -#ifndef FB_BRAKEFACTOR -# define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#ifndef DRV2605L_FB_BRAKEFACTOR +# define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ #endif -#ifndef FB_LOOPGAIN -# define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#ifndef DRV2605L_FB_LOOPGAIN +# define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ #endif /* LRA specific settings */ -#if FB_ERM_LRA == 1 -# ifndef V_RMS -# define V_RMS 2.0 +#if DRV2605L_FB_ERM_LRA == 1 +# ifndef DRV2605L_V_RMS +# define DRV2605L_V_RMS 2.0 # endif -# ifndef V_PEAK -# define V_PEAK 2.1 +# ifndef DRV2605L_V_PEAK +# define DRV2605L_V_PEAK 2.1 # endif -# ifndef F_LRA -# define F_LRA 205 +# ifndef DRV2605L_F_LRA +# define DRV2605L_F_LRA 205 # endif -# ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +# ifndef DRV2605L_RATED_VOLTAGE +# define DRV2605L_RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ # endif #endif -#ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +#ifndef DRV2605L_RATED_VOLTAGE +# define DRV2605L_RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ #endif -#ifndef V_PEAK -# define V_PEAK 2.8 +#ifndef DRV2605L_V_PEAK +# define DRV2605L_V_PEAK 2.8 #endif /* Library Selection */ #ifndef DRV2605L_LIBRARY -# if FB_ERM_LRA == 1 +# if DRV2605L_FB_ERM_LRA == 1 # define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ # else # define DRV2605L_LIBRARY 1 @@ -65,69 +65,69 @@ #endif #ifndef DRV2605L_GREETING -# define DRV2605L_GREETING alert_750ms +# define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 #endif #ifndef DRV2605L_DEFAULT_MODE -# define DRV2605L_DEFAULT_MODE strong_click1 +# define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_STRONG_CLICK_1_100 #endif /* Control 1 register settings */ -#ifndef DRIVE_TIME -# define DRIVE_TIME 25 +#ifndef DRV2605L_DRIVE_TIME +# define DRV2605L_DRIVE_TIME 25 #endif -#ifndef AC_COUPLE -# define AC_COUPLE 0 +#ifndef DRV2605L_AC_COUPLE +# define DRV2605L_AC_COUPLE 0 #endif -#ifndef STARTUP_BOOST -# define STARTUP_BOOST 1 +#ifndef DRV2605L_STARTUP_BOOST +# define DRV2605L_STARTUP_BOOST 1 #endif /* Control 2 Settings */ -#ifndef BIDIR_INPUT -# define BIDIR_INPUT 1 +#ifndef DRV2605L_BIDIR_INPUT +# define DRV2605L_BIDIR_INPUT 1 #endif -#ifndef BRAKE_STAB -# define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#ifndef DRV2605L_BRAKE_STAB +# define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ #endif -#ifndef SAMPLE_TIME -# define SAMPLE_TIME 3 +#ifndef DRV2605L_SAMPLE_TIME +# define DRV2605L_SAMPLE_TIME 3 #endif -#ifndef BLANKING_TIME -# define BLANKING_TIME 1 +#ifndef DRV2605L_BLANKING_TIME +# define DRV2605L_BLANKING_TIME 1 #endif -#ifndef IDISS_TIME -# define IDISS_TIME 1 +#ifndef DRV2605L_IDISS_TIME +# define DRV2605L_IDISS_TIME 1 #endif /* Control 3 settings */ -#ifndef NG_THRESH -# define NG_THRESH 2 +#ifndef DRV2605L_NG_THRESH +# define DRV2605L_NG_THRESH 2 #endif -#ifndef ERM_OPEN_LOOP -# define ERM_OPEN_LOOP 1 +#ifndef DRV2605L_ERM_OPEN_LOOP +# define DRV2605L_ERM_OPEN_LOOP 1 #endif -#ifndef SUPPLY_COMP_DIS -# define SUPPLY_COMP_DIS 0 +#ifndef DRV2605L_SUPPLY_COMP_DIS +# define DRV2605L_SUPPLY_COMP_DIS 0 #endif -#ifndef DATA_FORMAT_RTO -# define DATA_FORMAT_RTO 0 +#ifndef DRV2605L_DATA_FORMAT_RTO +# define DRV2605L_DATA_FORMAT_RTO 0 #endif -#ifndef LRA_DRIVE_MODE -# define LRA_DRIVE_MODE 0 +#ifndef DRV2605L_LRA_DRIVE_MODE +# define DRV2605L_LRA_DRIVE_MODE 0 #endif -#ifndef N_PWM_ANALOG -# define N_PWM_ANALOG 0 +#ifndef DRV2605L_N_PWM_ANALOG +# define DRV2605L_N_PWM_ANALOG 0 #endif -#ifndef LRA_OPEN_LOOP -# define LRA_OPEN_LOOP 0 +#ifndef DRV2605L_LRA_OPEN_LOOP +# define DRV2605L_LRA_OPEN_LOOP 0 #endif /* Control 4 settings */ -#ifndef ZC_DET_TIME -# define ZC_DET_TIME 0 +#ifndef DRV2605L_ZC_DET_TIME +# define DRV2605L_ZC_DET_TIME 0 #endif -#ifndef AUTO_CAL_TIME -# define AUTO_CAL_TIME 3 +#ifndef DRV2605L_AUTO_CAL_TIME +# define DRV2605L_AUTO_CAL_TIME 3 #endif #define DRV2605L_I2C_ADDRESS 0x5A @@ -175,203 +175,169 @@ void drv2605l_rtp_init(void); void drv2605l_amplitude(const uint8_t amplitude); void drv2605l_pulse(const uint8_t sequence); -typedef enum DRV_EFFECT { - clear_sequence, - strong_click, - strong_click_60, - strong_click_30, - sharp_click, - sharp_click_60, - sharp_click_30, - soft_bump, - soft_bump_60, - soft_bump_30, - dbl_click, - dbl_click_60, - trp_click, - soft_fuzz, - strong_buzz, - alert_750ms, - alert_1000ms, - strong_click1, - strong_click2_80, - strong_click3_60, - strong_click4_30, - medium_click1, - medium_click2_80, - medium_click3_60, - sharp_tick1, - sharp_tick2_80, - sharp_tick3_60, - sh_dblclick_str, - sh_dblclick_str_80, - sh_dblclick_str_60, - sh_dblclick_str_30, - sh_dblclick_med, - sh_dblclick_med_80, - sh_dblclick_med_60, - sh_dblsharp_tick, - sh_dblsharp_tick_80, - sh_dblsharp_tick_60, - lg_dblclick_str, - lg_dblclick_str_80, - lg_dblclick_str_60, - lg_dblclick_str_30, - lg_dblclick_med, - lg_dblclick_med_80, - lg_dblclick_med_60, - lg_dblsharp_tick, - lg_dblsharp_tick_80, - lg_dblsharp_tick_60, - buzz, - buzz_80, - buzz_60, - buzz_40, - buzz_20, - pulsing_strong, - pulsing_strong_80, - pulsing_medium, - pulsing_medium_80, - pulsing_sharp, - pulsing_sharp_80, - transition_click, - transition_click_80, - transition_click_60, - transition_click_40, - transition_click_20, - transition_click_10, - transition_hum, - transition_hum_80, - transition_hum_60, - transition_hum_40, - transition_hum_20, - transition_hum_10, - transition_rampdown_long_smooth1, - transition_rampdown_long_smooth2, - transition_rampdown_med_smooth1, - transition_rampdown_med_smooth2, - transition_rampdown_short_smooth1, - transition_rampdown_short_smooth2, - transition_rampdown_long_sharp1, - transition_rampdown_long_sharp2, - transition_rampdown_med_sharp1, - transition_rampdown_med_sharp2, - transition_rampdown_short_sharp1, - transition_rampdown_short_sharp2, - transition_rampup_long_smooth1, - transition_rampup_long_smooth2, - transition_rampup_med_smooth1, - transition_rampup_med_smooth2, - transition_rampup_short_smooth1, - transition_rampup_short_smooth2, - transition_rampup_long_sharp1, - transition_rampup_long_sharp2, - transition_rampup_med_sharp1, - transition_rampup_med_sharp2, - transition_rampup_short_sharp1, - transition_rampup_short_sharp2, - transition_rampdown_long_smooth1_50, - transition_rampdown_long_smooth2_50, - transition_rampdown_med_smooth1_50, - transition_rampdown_med_smooth2_50, - transition_rampdown_short_smooth1_50, - transition_rampdown_short_smooth2_50, - transition_rampdown_long_sharp1_50, - transition_rampdown_long_sharp2_50, - transition_rampdown_med_sharp1_50, - transition_rampdown_med_sharp2_50, - transition_rampdown_short_sharp1_50, - transition_rampdown_short_sharp2_50, - transition_rampup_long_smooth1_50, - transition_rampup_long_smooth2_50, - transition_rampup_med_smooth1_50, - transition_rampup_med_smooth2_50, - transition_rampup_short_smooth1_50, - transition_rampup_short_smooth2_50, - transition_rampup_long_sharp1_50, - transition_rampup_long_sharp2_50, - transition_rampup_med_sharp1_50, - transition_rampup_med_sharp2_50, - transition_rampup_short_sharp1_50, - transition_rampup_short_sharp2_50, - long_buzz_for_programmatic_stopping, - smooth_hum1_50, - smooth_hum2_40, - smooth_hum3_30, - smooth_hum4_20, - smooth_hum5_10, - drv_effect_max -} DRV_EFFECT; +typedef enum drv2605l_effect_t { + DRV2605L_EFFECT_CLEAR_SEQUENCE, + DRV2605L_EFFECT_STRONG_CLICK_100, + DRV2605L_EFFECT_STRONG_CLICK_60, + DRV2605L_EFFECT_STRONG_CLICK_30, + DRV2605L_EFFECT_SHARP_CLICK_100, + DRV2605L_EFFECT_SHARP_CLICK_60, + DRV2605L_EFFECT_SHARP_CLICK_30, + DRV2605L_EFFECT_SOFT_BUMP_100, + DRV2605L_EFFECT_SOFT_BUMP_60, + DRV2605L_EFFECT_SOFT_BUMP_30, + DRV2605L_EFFECT_DOUBLE_CLICK_100, + DRV2605L_EFFECT_DOUBLE_CLICK_60, + DRV2605L_EFFECT_TRIPLE_CLICK_100, + DRV2605L_EFFECT_SOFT_FUZZ_60, + DRV2605L_EFFECT_STRONG_BUZZ_100, + DRV2605L_EFFECT_750_MS_ALERT_100, + DRV2605L_EFFECT_1000_MS_ALERT_100, + DRV2605L_EFFECT_STRONG_CLICK_1_100, + DRV2605L_EFFECT_STRONG_CLICK_2_80, + DRV2605L_EFFECT_STRONG_CLICK_3_60, + DRV2605L_EFFECT_STRONG_CLICK_4_30, + DRV2605L_EFFECT_MEDIUM_CLICK_1_100, + DRV2605L_EFFECT_MEDIUM_CLICK_2_80, + DRV2605L_EFFECT_MEDIUM_CLICK_3_60, + DRV2605L_EFFECT_SHARP_TICK_1_100, + DRV2605L_EFFECT_SHARP_TICK_2_80, + DRV2605L_EFFECT_SHARP_TICK_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_4_30, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_4_30, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_3_60, + DRV2605L_EFFECT_BUZZ_1_100, + DRV2605L_EFFECT_BUZZ_2_80, + DRV2605L_EFFECT_BUZZ_3_60, + DRV2605L_EFFECT_BUZZ_4_40, + DRV2605L_EFFECT_BUZZ_5_20, + DRV2605L_EFFECT_PULSING_STRONG_1_100, + DRV2605L_EFFECT_PULSING_STRONG_2_60, + DRV2605L_EFFECT_PULSING_MEDIUM_1_100, + DRV2605L_EFFECT_PULSING_MEDIUM_2_60, + DRV2605L_EFFECT_PULSING_SHARP_1_100, + DRV2605L_EFFECT_PULSING_SHARP_2_60, + DRV2605L_EFFECT_TRANSITION_CLICK_1_100, + DRV2605L_EFFECT_TRANSITION_CLICK_2_80, + DRV2605L_EFFECT_TRANSITION_CLICK_3_60, + DRV2605L_EFFECT_TRANSITION_CLICK_4_40, + DRV2605L_EFFECT_TRANSITION_CLICK_5_20, + DRV2605L_EFFECT_TRANSITION_CLICK_6_10, + DRV2605L_EFFECT_TRANSITION_HUM_1_100, + DRV2605L_EFFECT_TRANSITION_HUM_2_80, + DRV2605L_EFFECT_TRANSITION_HUM_3_60, + DRV2605L_EFFECT_TRANSITION_HUM_4_40, + DRV2605L_EFFECT_TRANSITION_HUM_5_20, + DRV2605L_EFFECT_TRANSITION_HUM_6_10, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_2_50, + DRV2605L_EFFECT_LONG_BUZZ_FOR_PROGRAMMATIC_STOPPING, + DRV2605L_EFFECT_SMOOTH_HUM_1_50, + DRV2605L_EFFECT_SMOOTH_HUM_2_40, + DRV2605L_EFFECT_SMOOTH_HUM_3_30, + DRV2605L_EFFECT_SMOOTH_HUM_4_20, + DRV2605L_EFFECT_SMOOTH_HUM_5_10, + DRV2605L_EFFECT_COUNT +} drv2605l_effect_t; /* Register bit array unions */ -typedef union DRVREG_STATUS { /* register 0x00 */ - uint8_t Byte; - struct { - uint8_t OC_DETECT : 1; /* set to 1 when overcurrent event is detected */ - uint8_t OVER_TEMP : 1; /* set to 1 when device exceeds temp threshold */ - uint8_t FB_STS : 1; /* set to 1 when feedback controller has timed out */ - /* auto-calibration routine and diagnostic result - * result | auto-calibation | diagnostic | - * 0 | passed | actuator func normal | - * 1 | failed | actuator func fault* | - * * actuator is not present or is shorted, timing out, or giving out–of-range back-EMF */ - uint8_t DIAG_RESULT : 1; - uint8_t : 1; - uint8_t DEVICE_ID : 3; /* Device IDs 3: DRV2605 4: DRV2604 5: DRV2604L 6: DRV2605L */ - } Bits; -} DRVREG_STATUS; - -typedef union DRVREG_MODE { /* register 0x01 */ - uint8_t Byte; - struct { - uint8_t MODE : 3; /* Mode setting */ - uint8_t : 3; - uint8_t STANDBY : 1; /* 0:standby 1:ready */ - } Bits; -} DRVREG_MODE; - -typedef union DRVREG_WAIT { - uint8_t Byte; - struct { - uint8_t WAIT_MODE : 1; /* Set to 1 to interpret as wait for next 7 bits x10ms */ - uint8_t WAIT_TIME : 7; - } Bits; -} DRVREG_WAIT; - -typedef union DRVREG_FBR { /* register 0x1A */ - uint8_t Byte; +typedef union { /* register 0x1A */ + uint8_t raw; struct { uint8_t BEMF_GAIN : 2; uint8_t LOOP_GAIN : 2; uint8_t BRAKE_FACTOR : 3; uint8_t ERM_LRA : 1; - } Bits; -} DRVREG_FBR; + } bits; +} drv2605l_reg_feedback_ctrl_t; -typedef union DRVREG_CTRL1 { /* register 0x1B */ - uint8_t Byte; +typedef union { /* register 0x1B */ + uint8_t raw; struct { uint8_t C1_DRIVE_TIME : 5; uint8_t C1_AC_COUPLE : 1; uint8_t : 1; uint8_t C1_STARTUP_BOOST : 1; - } Bits; -} DRVREG_CTRL1; + } bits; +} drv2605l_reg_ctrl1_t; -typedef union DRVREG_CTRL2 { /* register 0x1C */ - uint8_t Byte; +typedef union { /* register 0x1C */ + uint8_t raw; struct { uint8_t C2_IDISS_TIME : 2; uint8_t C2_BLANKING_TIME : 2; uint8_t C2_SAMPLE_TIME : 2; uint8_t C2_BRAKE_STAB : 1; uint8_t C2_BIDIR_INPUT : 1; - } Bits; -} DRVREG_CTRL2; + } bits; +} drv2605l_reg_ctrl2_t; -typedef union DRVREG_CTRL3 { /* register 0x1D */ - uint8_t Byte; +typedef union { /* register 0x1D */ + uint8_t raw; struct { uint8_t C3_LRA_OPEN_LOOP : 1; uint8_t C3_N_PWM_ANALOG : 1; @@ -380,11 +346,11 @@ typedef union DRVREG_CTRL3 { /* register 0x1D */ uint8_t C3_SUPPLY_COMP_DIS : 1; uint8_t C3_ERM_OPEN_LOOP : 1; uint8_t C3_NG_THRESH : 2; - } Bits; -} DRVREG_CTRL3; + } bits; +} drv2605l_reg_ctrl3_t; -typedef union DRVREG_CTRL4 { /* register 0x1E */ - uint8_t Byte; +typedef union { /* register 0x1E */ + uint8_t raw; struct { uint8_t C4_OTP_PROGRAM : 1; uint8_t : 1; @@ -392,16 +358,5 @@ typedef union DRVREG_CTRL4 { /* register 0x1E */ uint8_t : 1; uint8_t C4_AUTO_CAL_TIME : 2; uint8_t C4_ZC_DET_TIME : 2; - } Bits; -} DRVREG_CTRL4; - -typedef union DRVREG_CTRL5 { /* register 0x1F */ - uint8_t Byte; - struct { - uint8_t C5_IDISS_TIME : 2; - uint8_t C5_BLANKING_TIME : 2; - uint8_t C5_PLAYBACK_INTERVAL : 1; - uint8_t C5_LRA_AUTO_OPEN_LOOP : 1; - uint8_t C5_AUTO_OL_CNT : 2; - } Bits; -} DRVREG_CTRL5; + } bits; +} drv2605l_reg_ctrl4_t; diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index d8888eb92f..7309021f09 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -38,52 +38,52 @@ /* Haptic Driver initialization settings * Feedback Control Settings */ -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -#define RATED_VOLTAGE 3 -#define V_RMS 2.3 -#define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_RMS 2.3 +#define DRV2605L_V_PEAK 3.30 /* Library Selection */ #define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -#define RATED_VOLTAGE 2 -#define V_RMS 2.0 -#define V_PEAK 2.85 -#define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.85 +#define DRV2605L_F_LRA 200 /* Library Selection */ #define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/buzzard/keymaps/crehmann/config.h b/keyboards/buzzard/keymaps/crehmann/config.h index ee3192e3fd..446ae01d34 100644 --- a/keyboards/buzzard/keymaps/crehmann/config.h +++ b/keyboards/buzzard/keymaps/crehmann/config.h @@ -25,8 +25,8 @@ #define NO_HAPTIC_PUNCTUATION #define NO_HAPTIC_NAV #define NO_HAPTIC_NUMERIC -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick1 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_1_100 #endif #ifdef PS2_MOUSE_ENABLE diff --git a/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c b/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c index 8f5aa0e662..941d559f42 100644 --- a/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c +++ b/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c @@ -23,19 +23,19 @@ void process_layer_pulse(layer_state_t state) { #ifdef HAPTIC_ENABLE switch (get_highest_layer(state)) { case 1: - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); break; case 2: - drv2605l_pulse(sh_dblsharp_tick); + drv2605l_pulse(DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100); break; case 3: - drv2605l_pulse(lg_dblclick_str); + drv2605l_pulse(DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100); break; case 4: - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); break; case 5: - drv2605l_pulse(pulsing_sharp); + drv2605l_pulse(DRV2605L_EFFECT_PULSING_SHARP_1_100); break; } #endif diff --git a/keyboards/buzzard/keymaps/default/config.h b/keyboards/buzzard/keymaps/default/config.h index d5bf3e4dc6..0a2776afd1 100644 --- a/keyboards/buzzard/keymaps/default/config.h +++ b/keyboards/buzzard/keymaps/default/config.h @@ -25,8 +25,8 @@ #define NO_HAPTIC_PUNCTUATION #define NO_HAPTIC_NAV #define NO_HAPTIC_NUMERIC -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick1 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_1_100 #endif diff --git a/keyboards/buzzard/rev1/rev1.c b/keyboards/buzzard/rev1/rev1.c index c26e4d5831..03c3269a7e 100644 --- a/keyboards/buzzard/rev1/rev1.c +++ b/keyboards/buzzard/rev1/rev1.c @@ -100,27 +100,27 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case 1: #ifdef HAPTIC_ENABLE - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); #endif break; case 2: #ifdef HAPTIC_ENABLE - drv2605l_pulse(sh_dblsharp_tick); + drv2605l_pulse(DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100); #endif break; case 3: #ifdef HAPTIC_ENABLE - drv2605l_pulse(lg_dblclick_str); + drv2605l_pulse(DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100); #endif break; case 4: #ifdef HAPTIC_ENABLE - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); #endif break; case 5: #ifdef HAPTIC_ENABLE - drv2605l_pulse(pulsing_sharp); + drv2605l_pulse(DRV2605L_EFFECT_PULSING_SHARP_1_100); #endif break; } diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index 675bd218f0..2c5bdfcaa8 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -60,52 +60,52 @@ /* Haptic Driver initialization settings * Feedback Control Settings */ -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -#define RATED_VOLTAGE 3 -#define V_RMS 2.3 -#define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_RMS 2.3 +#define DRV2605L_V_PEAK 3.30 /* Library Selection */ #define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -#define RATED_VOLTAGE 2 -#define V_RMS 2.0 -#define V_PEAK 2.85 -#define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.85 +#define DRV2605L_F_LRA 200 /* Library Selection */ #define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c index 7e7247c80f..fef24f402f 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c @@ -17,13 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #define SOLENOID_DEFAULT_BUZZ 1 -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c index a48f998100..12791a69dd 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c @@ -17,13 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #define SOLENOID_DEFAULT_BUZZ 1 -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h index 913c613c98..5cb2a76de2 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h @@ -31,6 +31,6 @@ #define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 5 -#define FB_ERM_LRA 0 -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE buzz +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_BUZZ_1_100 diff --git a/keyboards/hillside/46/0_1/config.h b/keyboards/hillside/46/0_1/config.h index dc8654b4bb..20c4deca40 100644 --- a/keyboards/hillside/46/0_1/config.h +++ b/keyboards/hillside/46/0_1/config.h @@ -10,16 +10,16 @@ /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/hillside/48/0_1/config.h b/keyboards/hillside/48/0_1/config.h index 3b432cf17b..150573c165 100644 --- a/keyboards/hillside/48/0_1/config.h +++ b/keyboards/hillside/48/0_1/config.h @@ -5,16 +5,16 @@ /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/hillside/52/0_1/config.h b/keyboards/hillside/52/0_1/config.h index dc8654b4bb..20c4deca40 100644 --- a/keyboards/hillside/52/0_1/config.h +++ b/keyboards/hillside/52/0_1/config.h @@ -10,16 +10,16 @@ /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/pearlboards/atlas/config.h b/keyboards/pearlboards/atlas/config.h index 65443961ea..1112168194 100644 --- a/keyboards/pearlboards/atlas/config.h +++ b/keyboards/pearlboards/atlas/config.h @@ -22,12 +22,12 @@ along with this program. If not, see . #define AUDIO_PIN C6 /* Haptic feedback */ -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 -#define FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +#define DRV2605L_FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 /* Motor settings */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 /*== all animations enabled ==*/ #define RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/pearlboards/pearl/config.h b/keyboards/pearlboards/pearl/config.h index 374e41284e..091ecfbd81 100644 --- a/keyboards/pearlboards/pearl/config.h +++ b/keyboards/pearlboards/pearl/config.h @@ -22,12 +22,12 @@ along with this program. If not, see . #define AUDIO_PIN C6 /* Haptic feedback */ -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 -#define FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +#define DRV2605L_FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 /* Motor settings */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 /*== all animations enabled ==*/ #define RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/pearlboards/zeus/config.h b/keyboards/pearlboards/zeus/config.h index b3a6188f50..d449a60697 100644 --- a/keyboards/pearlboards/zeus/config.h +++ b/keyboards/pearlboards/zeus/config.h @@ -26,12 +26,12 @@ along with this program. If not, see . #endif /* Haptic feedback */ -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 1 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 -#define FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 1 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +#define DRV2605L_FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 /* Motor settings */ -#define RATED_VOLTAGE 2 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 5 /*== all animations enabled ==*/ #define RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h index b031fca8dd..b3393d3e23 100644 --- a/keyboards/splitkb/zima/config.h +++ b/keyboards/splitkb/zima/config.h @@ -27,13 +27,13 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE buzz +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_BUZZ_1_100 diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index 071f7cb55b..7db0afa40f 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -105,49 +105,49 @@ /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ //#define MIDI_TONE_KEYCODE_OCTAVES 2 -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -# define RATED_VOLTAGE 3 -# define V_RMS 2.3 -# define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +# define DRV2605L_RATED_VOLTAGE 3 +# define DRV2605L_V_RMS 2.3 +# define DRV2605L_V_PEAK 3.30 /* Library Selection */ # define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -# define RATED_VOLTAGE 2 -# define V_RMS 2.0 -# define V_PEAK 2.85 -# define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +# define DRV2605L_RATED_VOLTAGE 2 +# define DRV2605L_V_RMS 2.0 +# define DRV2605L_V_PEAK 2.85 +# define DRV2605L_F_LRA 200 /* Library Selection */ # define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 diff --git a/quantum/haptic.c b/quantum/haptic.c index 13b2258eb8..5a700dca38 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -146,7 +146,7 @@ void haptic_buzz_toggle(void) { void haptic_mode_increase(void) { uint8_t mode = haptic_config.mode + 1; #ifdef HAPTIC_DRV2605L - if (haptic_config.mode >= drv_effect_max) { + if (haptic_config.mode >= DRV2605L_EFFECT_COUNT) { mode = 1; } #endif @@ -157,7 +157,7 @@ void haptic_mode_decrease(void) { uint8_t mode = haptic_config.mode - 1; #ifdef HAPTIC_DRV2605L if (haptic_config.mode < 1) { - mode = (drv_effect_max - 1); + mode = (DRV2605L_EFFECT_COUNT - 1); } #endif haptic_set_mode(mode); -- cgit v1.3.1 From 96d90a57d8a536667b3365b8250e6fd1a307a829 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 17 Aug 2023 17:39:16 -0700 Subject: [Bug] Fix compilation error for APA on ChibiOS (#21773) --- drivers/led/apa102.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 5cfa2f8c32..766d8cd2eb 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -22,8 +22,8 @@ # if defined(__AVR__) # define APA102_NOPS 0 // AVR at 16 MHz already spends 62.5 ns per clock, so no extra delay is needed # elif defined(PROTOCOL_CHIBIOS) - # include "hal.h" +# include "chibios_config.h" # if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(GD32VF103) # define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns # else -- cgit v1.3.1 From 37bc9499453f95e4e835faa751dbfffff9bfd644 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 23 Aug 2023 10:00:03 +1000 Subject: RGB Matrix: driver naming cleanups (#21594) --- builddefs/common_features.mk | 28 +-- docs/feature_rgb_matrix.md | 14 +- drivers/led/aw20216.c | 48 +++--- drivers/led/aw20216.h | 8 +- drivers/led/ckled2001.c | 76 ++++---- drivers/led/ckled2001.h | 20 +-- drivers/led/issi/is31fl3218.c | 28 +-- drivers/led/issi/is31fl3218.h | 8 +- drivers/led/issi/is31fl3731.c | 50 +++--- drivers/led/issi/is31fl3731.h | 16 +- drivers/led/issi/is31fl3733.c | 56 +++--- drivers/led/issi/is31fl3733.h | 16 +- drivers/led/issi/is31fl3736.c | 66 +++---- drivers/led/issi/is31fl3736.h | 22 +-- drivers/led/issi/is31fl3737.c | 56 +++--- drivers/led/issi/is31fl3737.h | 16 +- drivers/led/issi/is31fl3741.c | 58 +++---- drivers/led/issi/is31fl3741.h | 20 +-- keyboards/0xcb/splaytoraid/info.json | 2 +- keyboards/1upkeyboards/1upocarina/info.json | 2 +- keyboards/1upkeyboards/pi40/grid_v1_1/info.json | 2 +- keyboards/1upkeyboards/pi40/mit_v1_0/info.json | 2 +- .../pi40/mit_v1_0/keymaps/miketronic/rules.mk | 2 - keyboards/1upkeyboards/pi40/mit_v1_1/info.json | 2 +- keyboards/1upkeyboards/pi50/info.json | 2 +- keyboards/1upkeyboards/pi60/info.json | 2 +- keyboards/1upkeyboards/pi60_hse/info.json | 2 +- keyboards/1upkeyboards/pi60_rgb/info.json | 2 +- keyboards/1upkeyboards/super16/info.json | 2 +- keyboards/1upkeyboards/super16v2/info.json | 2 +- keyboards/1upkeyboards/sweet16v2/kb2040/info.json | 2 +- .../1upkeyboards/sweet16v2/pro_micro/info.json | 2 +- keyboards/25keys/zinc/info.json | 2 +- keyboards/3keyecosystem/2key2/info.json | 2 +- keyboards/4pplet/perk60_iso/rev_a/info.json | 2 +- keyboards/abatskeyboardclub/nayeon/info.json | 2 +- keyboards/abko/ak84bt/info.json | 2 +- keyboards/acheron/apollo/87h/delta/info.json | 2 +- keyboards/acheron/apollo/87h/gamma/info.json | 2 +- keyboards/acheron/apollo/87htsc/info.json | 2 +- keyboards/acheron/apollo/88htsc/info.json | 2 +- keyboards/adafruit/macropad/info.json | 2 +- keyboards/adm42/info.json | 2 +- keyboards/adpenrose/akemipad/info.json | 2 +- keyboards/aeboards/satellite/rev1/rev1.c | 18 +- keyboards/akko/5108/info.json | 2 +- keyboards/akko/acr87/info.json | 2 +- keyboards/akko/top40/info.json | 2 +- keyboards/aleblazer/zodiark/info.json | 2 +- keyboards/an_achronism/tetromino/info.json | 2 +- keyboards/atlantis/ak81_ve/info.json | 2 +- keyboards/atlantis/ps17/info.json | 2 +- keyboards/axolstudio/yeti/hotswap/info.json | 2 +- keyboards/bandominedoni/info.json | 2 +- .../bastardkb/charybdis/3x5/blackpill/info.json | 2 +- .../bastardkb/charybdis/3x5/v1/elitec/info.json | 2 +- .../bastardkb/charybdis/3x5/v2/elitec/info.json | 2 +- .../bastardkb/charybdis/3x5/v2/splinky_2/info.json | 2 +- .../bastardkb/charybdis/3x5/v2/splinky_3/info.json | 2 +- .../bastardkb/charybdis/3x5/v2/stemcell/info.json | 2 +- .../bastardkb/charybdis/3x6/blackpill/info.json | 2 +- .../bastardkb/charybdis/3x6/v1/elitec/info.json | 2 +- .../bastardkb/charybdis/3x6/v2/elitec/info.json | 2 +- .../bastardkb/charybdis/3x6/v2/splinky_2/info.json | 2 +- .../bastardkb/charybdis/3x6/v2/splinky_3/info.json | 2 +- .../bastardkb/charybdis/3x6/v2/stemcell/info.json | 2 +- .../bastardkb/charybdis/4x6/blackpill/info.json | 2 +- .../bastardkb/charybdis/4x6/v1/elitec/info.json | 2 +- .../bastardkb/charybdis/4x6/v2/elitec/info.json | 2 +- .../bastardkb/charybdis/4x6/v2/splinky_2/info.json | 2 +- .../bastardkb/charybdis/4x6/v2/splinky_3/info.json | 2 +- .../bastardkb/charybdis/4x6/v2/stemcell/info.json | 2 +- keyboards/bastardkb/dilemma/3x5_3/info.json | 2 +- keyboards/bastardkb/scylla/blackpill/info.json | 2 +- keyboards/bastardkb/scylla/v1/elitec/info.json | 2 +- keyboards/bastardkb/scylla/v2/elitec/info.json | 2 +- keyboards/bastardkb/scylla/v2/splinky_2/info.json | 2 +- keyboards/bastardkb/scylla/v2/splinky_3/info.json | 2 +- keyboards/bastardkb/scylla/v2/stemcell/info.json | 2 +- keyboards/bastardkb/skeletyl/blackpill/info.json | 2 +- keyboards/bastardkb/skeletyl/v1/elitec/info.json | 2 +- keyboards/bastardkb/skeletyl/v2/elitec/info.json | 2 +- .../bastardkb/skeletyl/v2/splinky_2/info.json | 2 +- .../bastardkb/skeletyl/v2/splinky_3/info.json | 2 +- keyboards/bastardkb/skeletyl/v2/stemcell/info.json | 2 +- keyboards/bastardkb/tbkmini/blackpill/info.json | 2 +- keyboards/bastardkb/tbkmini/v1/elitec/info.json | 2 +- keyboards/bastardkb/tbkmini/v2/elitec/info.json | 2 +- keyboards/bastardkb/tbkmini/v2/splinky_2/info.json | 2 +- keyboards/bastardkb/tbkmini/v2/splinky_3/info.json | 2 +- keyboards/bastardkb/tbkmini/v2/stemcell/info.json | 2 +- keyboards/binepad/bn006/info.json | 2 +- keyboards/black_hellebore/info.json | 2 +- keyboards/blockboy/ac980mini/info.json | 2 +- keyboards/boardsource/beiwagon/info.json | 2 +- keyboards/boardsource/lulu/info.json | 2 +- keyboards/boardsource/microdox/v2/info.json | 2 +- keyboards/boardsource/technik_o/info.json | 2 +- keyboards/boardsource/technik_s/info.json | 2 +- keyboards/boardsource/the_mark/info.json | 2 +- keyboards/boardsource/unicorne/info.json | 2 +- keyboards/boston_meetup/2019/info.json | 2 +- keyboards/bubble75/hotswap/info.json | 2 +- keyboards/canary/canary60rgb/info.json | 2 +- keyboards/capsunlocked/cu80/v2/info.json | 2 +- keyboards/checkerboards/quark_lp/info.json | 2 +- keyboards/cherrybstudio/cb87rgb/info.json | 2 +- keyboards/chosfox/cf81/info.json | 2 +- keyboards/chromatonemini/info.json | 2 +- keyboards/churrosoft/deck8/rgb/info.json | 2 +- keyboards/controllerworks/mini36/info.json | 2 +- keyboards/controllerworks/mini42/info.json | 2 +- keyboards/crkbd/info.json | 2 +- keyboards/cxt_studio/info.json | 2 +- keyboards/dekunukem/duckypad/info.json | 2 +- keyboards/deng/djam/info.json | 2 +- keyboards/deng/thirty/info.json | 2 +- keyboards/doio/kb16/rev1/info.json | 2 +- keyboards/doio/kb16/rev2/info.json | 2 +- keyboards/doio/kb30/info.json | 2 +- keyboards/doio/kb38/info.json | 2 +- keyboards/doro67/rgb/info.json | 2 +- keyboards/dotmod/dymium65/info.json | 2 +- keyboards/dp3000/info.json | 2 +- keyboards/dp60/info.json | 2 +- keyboards/drop/sense75/info.json | 2 +- keyboards/dtisaac/dosa40rgb/info.json | 2 +- keyboards/dumbpad/v3x/info.json | 2 +- keyboards/durgod/dgk6x/info.json | 2 +- keyboards/dztech/dz60rgb/v1/info.json | 2 +- keyboards/dztech/dz60rgb/v2/info.json | 2 +- keyboards/dztech/dz60rgb/v2_1/info.json | 2 +- keyboards/dztech/dz60rgb_ansi/v1/info.json | 2 +- keyboards/dztech/dz60rgb_ansi/v2/info.json | 2 +- keyboards/dztech/dz60rgb_ansi/v2_1/info.json | 2 +- keyboards/dztech/dz60rgb_wkl/v1/info.json | 2 +- keyboards/dztech/dz60rgb_wkl/v2/info.json | 2 +- keyboards/dztech/dz60rgb_wkl/v2_1/info.json | 2 +- keyboards/dztech/dz64rgb/info.json | 2 +- keyboards/dztech/dz65rgb/v1/info.json | 2 +- keyboards/dztech/dz65rgb/v2/info.json | 2 +- keyboards/dztech/dz65rgb/v3/info.json | 2 +- keyboards/dztech/tofu/ii/v1/info.json | 2 +- keyboards/dztech/tofu/jr/v1/info.json | 2 +- keyboards/eek/info.json | 2 +- keyboards/eggsworks/egg58/info.json | 2 +- keyboards/ein_60/info.json | 2 +- keyboards/elephant42/info.json | 2 +- keyboards/ergodox_ez/info.json | 2 +- keyboards/evyd13/atom47/rev5/info.json | 2 +- keyboards/exclusive/e6_rgb/info.json | 2 +- keyboards/fancytech/fancyalice66/info.json | 2 +- keyboards/feker/ik75/info.json | 2 +- keyboards/ferris/0_2/bling/info.json | 2 +- keyboards/flashquark/horizon_z/info.json | 2 +- keyboards/frooastboard/walnut/info.json | 2 +- keyboards/geekboards/macropad_v2/info.json | 2 +- keyboards/geekboards/tester/info.json | 2 +- keyboards/giabalanai/info.json | 2 +- keyboards/gizmo_engineering/gk6/info.json | 2 +- keyboards/gkeyboard/gpad8_2r/info.json | 2 +- .../gl516/j73gl/keymaps/via_rgb_matrix/rules.mk | 2 +- keyboards/gmmk/gmmk2/p65/ansi/info.json | 2 +- keyboards/gmmk/gmmk2/p65/iso/info.json | 2 +- keyboards/gmmk/gmmk2/p96/ansi/info.json | 2 +- keyboards/gmmk/gmmk2/p96/iso/info.json | 2 +- keyboards/gmmk/numpad/info.json | 2 +- keyboards/gmmk/pro/rev1/ansi/info.json | 2 +- keyboards/gmmk/pro/rev1/iso/info.json | 2 +- keyboards/gmmk/pro/rev2/ansi/info.json | 2 +- keyboards/gmmk/pro/rev2/iso/info.json | 2 +- keyboards/gopolar/gg86/info.json | 2 +- keyboards/hadron/ver3/info.json | 2 +- keyboards/handwired/6macro/info.json | 2 +- keyboards/handwired/alcor_dactyl/info.json | 2 +- keyboards/handwired/colorlice/info.json | 2 +- .../5x6/keymaps/thattolleyguy/rules.mk | 2 +- keyboards/handwired/dactyl_minidox/info.json | 2 +- .../dactyl_minidox/keymaps/dlford/rules.mk | 1 - keyboards/handwired/hnah108/info.json | 2 +- keyboards/handwired/hnah40rgb/info.json | 2 +- keyboards/handwired/orbweaver/info.json | 2 +- keyboards/handwired/p65rgb/info.json | 2 +- .../handwired/tractyl_manuform/4x6_right/info.json | 2 +- keyboards/heliotrope/info.json | 2 +- keyboards/helix/rev3_4rows/info.json | 2 +- keyboards/helix/rev3_5rows/info.json | 2 +- keyboards/hfdkb/ac001/info.json | 2 +- .../horrortroll/chinese_pcb/devil68_pro/info.json | 2 +- keyboards/horrortroll/handwired_k552/info.json | 2 +- keyboards/hotdox76v2/info.json | 2 +- keyboards/hs60/v1/info.json | 2 +- keyboards/hub20/info.json | 2 +- keyboards/idobao/id42/info.json | 2 +- keyboards/idobao/id61/info.json | 2 +- keyboards/idobao/id63/info.json | 2 +- keyboards/idobao/id67/info.json | 2 +- keyboards/idobao/id75/v2/info.json | 2 +- keyboards/idobao/id80/v3/ansi/info.json | 2 +- keyboards/idobao/id87/v2/info.json | 2 +- keyboards/idobao/montex/v1rgb/info.json | 2 +- keyboards/idobao/montex/v2/info.json | 2 +- keyboards/idyllic/tinny50_rgb/info.json | 2 +- keyboards/ilumkb/simpler61/info.json | 2 +- keyboards/ilumkb/simpler64/info.json | 2 +- keyboards/inett_studio/sqx/hotswap/info.json | 2 +- keyboards/inett_studio/sqx/universal/info.json | 2 +- keyboards/inland/kb83/info.json | 2 +- keyboards/input_club/k_type/is31fl3733-dual.c | 52 +++--- keyboards/input_club/k_type/is31fl3733-dual.h | 16 +- keyboards/input_club/k_type/k_type-rgbdriver.c | 18 +- keyboards/jacky_studio/bear_65/rev1/info.json | 2 +- keyboards/jacky_studio/bear_65/rev2/info.json | 2 +- keyboards/jacky_studio/piggy60/rev2/info.json | 2 +- keyboards/jadookb/jkb65/info.json | 2 +- keyboards/jkeys_design/gentleman65/info.json | 2 +- keyboards/jkeys_design/gentleman65_se_s/info.json | 2 +- keyboards/junco/info.json | 2 +- keyboards/kapl/rev1/info.json | 2 +- keyboards/kbdcraft/adam64/info.json | 2 +- keyboards/kbdfans/baguette66/rgb/info.json | 2 +- keyboards/kbdfans/bella/rgb/info.json | 2 +- keyboards/kbdfans/bella/rgb_iso/info.json | 2 +- keyboards/kbdfans/boop65/rgb/info.json | 2 +- keyboards/kbdfans/kbd67/mkiirgb/v1/info.json | 2 +- keyboards/kbdfans/kbd67/mkiirgb/v2/info.json | 2 +- keyboards/kbdfans/kbd67/mkiirgb/v3/info.json | 2 +- keyboards/kbdfans/kbd67/mkiirgb/v4/info.json | 2 +- keyboards/kbdfans/kbd67/mkiirgb_iso/info.json | 2 +- keyboards/kbdfans/kbd75rgb/info.json | 2 +- keyboards/kbdfans/kbdmini/info.json | 2 +- keyboards/kbdfans/kbdpad/mk3/info.json | 2 +- keyboards/kbdfans/maja/info.json | 2 +- keyboards/kbdfans/odin/rgb/info.json | 2 +- keyboards/keebio/bamfk4/info.json | 2 +- keyboards/keebio/bdn9/rev2/info.json | 2 +- keyboards/keebio/cepstrum/rev1/info.json | 2 +- keyboards/keebio/chocopad/rev2/info.json | 2 +- keyboards/keebio/convolution/rev1/info.json | 2 +- .../keebio/iris/keymaps/johnstegeman/rules.mk | 2 +- keyboards/keebio/iris/rev6/info.json | 2 +- keyboards/keebio/iris/rev7/info.json | 2 +- keyboards/keebio/iris/rev8/info.json | 2 +- keyboards/keebio/nyquist/rev4/info.json | 2 +- keyboards/keebio/sinc/rev3/info.json | 2 +- keyboards/keebio/sinc/rev4/info.json | 2 +- keyboards/keebio/stick/info.json | 2 +- keyboards/keebwerk/mega/ansi/ansi.c | 4 +- .../mega/ansi/keymaps/jesusvallejo/keymap.c | 20 +-- keyboards/keybee/keybee65/info.json | 2 +- keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk | 2 +- keyboards/keychron/c1_pro/ansi/rgb/info.json | 2 +- keyboards/keychron/c2_pro/ansi/rgb/info.json | 2 +- keyboards/keychron/q0/rev_0130/info.json | 2 +- keyboards/keychron/q0/rev_0131/info.json | 2 +- keyboards/keychron/q1/ansi/info.json | 2 +- keyboards/keychron/q1/ansi_encoder/info.json | 2 +- keyboards/keychron/q1/iso/info.json | 2 +- keyboards/keychron/q1/iso_encoder/info.json | 2 +- keyboards/keychron/q10/ansi_encoder/info.json | 2 +- keyboards/keychron/q10/iso_encoder/info.json | 2 +- keyboards/keychron/q11/info.json | 2 +- keyboards/keychron/q12/ansi_encoder/info.json | 2 +- keyboards/keychron/q12/iso_encoder/info.json | 2 +- keyboards/keychron/q2/ansi/info.json | 2 +- keyboards/keychron/q2/ansi_encoder/info.json | 2 +- keyboards/keychron/q2/iso/info.json | 2 +- keyboards/keychron/q2/iso_encoder/info.json | 2 +- keyboards/keychron/q2/jis/info.json | 2 +- keyboards/keychron/q2/jis_encoder/info.json | 2 +- keyboards/keychron/q3/ansi/info.json | 2 +- keyboards/keychron/q3/ansi_encoder/info.json | 2 +- keyboards/keychron/q3/iso/info.json | 2 +- keyboards/keychron/q3/iso_encoder/info.json | 2 +- keyboards/keychron/q3/jis/info.json | 2 +- keyboards/keychron/q3/jis_encoder/info.json | 2 +- keyboards/keychron/q4/ansi_v1/info.json | 2 +- keyboards/keychron/q4/ansi_v2/info.json | 2 +- keyboards/keychron/q4/iso/info.json | 2 +- keyboards/keychron/q5/ansi/info.json | 2 +- keyboards/keychron/q5/ansi_encoder/info.json | 2 +- keyboards/keychron/q5/iso/info.json | 2 +- keyboards/keychron/q5/iso_encoder/info.json | 2 +- keyboards/keychron/q6/ansi/info.json | 2 +- keyboards/keychron/q6/ansi_encoder/info.json | 2 +- keyboards/keychron/q6/iso/info.json | 2 +- keyboards/keychron/q6/iso_encoder/info.json | 2 +- keyboards/keychron/q60/ansi/info.json | 2 +- keyboards/keychron/q65/ansi_encoder/info.json | 2 +- keyboards/keychron/q7/ansi/info.json | 2 +- keyboards/keychron/q7/iso/info.json | 2 +- keyboards/keychron/q8/ansi/info.json | 2 +- keyboards/keychron/q8/ansi_encoder/info.json | 2 +- keyboards/keychron/q8/iso/info.json | 2 +- keyboards/keychron/q8/iso_encoder/info.json | 2 +- keyboards/keychron/q9/ansi/info.json | 2 +- keyboards/keychron/q9/ansi_encoder/info.json | 2 +- keyboards/keychron/q9/iso/info.json | 2 +- keyboards/keychron/q9/iso_encoder/info.json | 2 +- keyboards/keychron/s1/ansi/rgb/info.json | 2 +- keyboards/keychron/v1/ansi/info.json | 2 +- keyboards/keychron/v1/ansi_encoder/info.json | 2 +- keyboards/keychron/v1/iso/info.json | 2 +- keyboards/keychron/v1/iso_encoder/info.json | 2 +- keyboards/keychron/v1/jis/info.json | 2 +- keyboards/keychron/v1/jis_encoder/info.json | 2 +- keyboards/keychron/v10/ansi_encoder/info.json | 2 +- keyboards/keychron/v10/iso_encoder/info.json | 2 +- keyboards/keychron/v2/ansi/info.json | 2 +- keyboards/keychron/v2/ansi_encoder/info.json | 2 +- keyboards/keychron/v2/iso/info.json | 2 +- keyboards/keychron/v2/iso_encoder/info.json | 2 +- keyboards/keychron/v2/jis/info.json | 2 +- keyboards/keychron/v2/jis_encoder/info.json | 2 +- keyboards/keychron/v3/ansi/info.json | 2 +- keyboards/keychron/v3/ansi_encoder/info.json | 2 +- keyboards/keychron/v3/iso/info.json | 2 +- keyboards/keychron/v3/iso_encoder/info.json | 2 +- keyboards/keychron/v3/jis/info.json | 2 +- keyboards/keychron/v3/jis_encoder/info.json | 2 +- keyboards/keychron/v4/ansi/info.json | 2 +- keyboards/keychron/v4/iso/info.json | 2 +- keyboards/keychron/v5/ansi/info.json | 2 +- keyboards/keychron/v5/ansi_encoder/info.json | 2 +- keyboards/keychron/v5/iso/info.json | 2 +- keyboards/keychron/v5/iso_encoder/info.json | 2 +- keyboards/keychron/v6/ansi/info.json | 2 +- keyboards/keychron/v6/ansi_encoder/info.json | 2 +- keyboards/keychron/v6/iso/info.json | 2 +- keyboards/keychron/v6/iso_encoder/info.json | 2 +- keyboards/keychron/v7/ansi/info.json | 2 +- keyboards/keychron/v7/iso/info.json | 2 +- keyboards/keychron/v8/ansi/info.json | 2 +- keyboards/keychron/v8/ansi_encoder/info.json | 2 +- keyboards/keychron/v8/iso/info.json | 2 +- keyboards/keychron/v8/iso_encoder/info.json | 2 +- keyboards/kprepublic/bm16a/v2/info.json | 2 +- keyboards/kprepublic/bm40hsrgb/info.json | 2 +- keyboards/kprepublic/bm60hsrgb/rev1/info.json | 2 +- keyboards/kprepublic/bm60hsrgb/rev2/rev2.c | 12 +- keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json | 2 +- keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json | 2 +- keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json | 2 +- keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c | 12 +- .../kprepublic/bm60hsrgb_poker/rev1/info.json | 2 +- keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c | 12 +- keyboards/kprepublic/bm65hsrgb/rev1/info.json | 2 +- keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json | 2 +- keyboards/kprepublic/bm68hsrgb/rev1/info.json | 2 +- keyboards/kprepublic/bm68hsrgb/rev2/info.json | 2 +- keyboards/kprepublic/bm80hsrgb/info.json | 2 +- keyboards/kprepublic/bm80v2/info.json | 2 +- keyboards/kprepublic/bm80v2_iso/info.json | 2 +- keyboards/kprepublic/bm980hsrgb/info.json | 2 +- keyboards/kuro/kuro65/info.json | 2 +- .../labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk | 2 +- keyboards/laser_ninja/pumpkin_pad/info.json | 2 +- keyboards/latincompass/latin17rgb/info.json | 2 +- keyboards/latincompass/latin60rgb/info.json | 2 +- keyboards/latincompass/latin6rgb/info.json | 2 +- keyboards/latincompass/latinpad/info.json | 2 +- keyboards/lily58/r2g/info.json | 2 +- keyboards/linworks/fave65h/info.json | 2 +- keyboards/linworks/fave84h/info.json | 2 +- keyboards/linworks/fave87h/info.json | 2 +- .../launchpad/keymaps/drashna/rules.mk | 2 +- keyboards/marksard/rhymestone/rev1/info.json | 2 +- keyboards/matrix/m20add/rgb_ring.c | 54 +++--- keyboards/matrix/noah/info.json | 2 +- keyboards/mechlovin/adelais/rgb_led/rev1/info.json | 2 +- keyboards/mechlovin/adelais/rgb_led/rev2/info.json | 2 +- keyboards/mechlovin/adelais/rgb_led/rev3/info.json | 2 +- keyboards/mechlovin/delphine/rgb_led/info.json | 2 +- keyboards/mechlovin/hannah60rgb/rev1/info.json | 2 +- keyboards/mechlovin/hannah60rgb/rev2/info.json | 2 +- keyboards/mechlovin/infinity87/rgb_rev1/info.json | 2 +- keyboards/mechlovin/infinity875/info.json | 2 +- keyboards/melgeek/mach80/rev1/info.json | 2 +- keyboards/melgeek/mach80/rev1/rev1.c | 16 +- keyboards/melgeek/mach80/rev2/info.json | 2 +- keyboards/melgeek/mach80/rev2/rev2.c | 16 +- keyboards/melgeek/mj61/rev1/info.json | 2 +- keyboards/melgeek/mj61/rev2/info.json | 2 +- keyboards/melgeek/mj63/rev1/info.json | 2 +- keyboards/melgeek/mj63/rev2/info.json | 2 +- keyboards/melgeek/mj64/rev1/info.json | 2 +- keyboards/melgeek/mj64/rev2/info.json | 2 +- keyboards/melgeek/mj64/rev3/info.json | 2 +- keyboards/melgeek/mj65/info.json | 2 +- keyboards/melgeek/mojo68/info.json | 2 +- keyboards/melgeek/mojo68/rev1/rev1.c | 16 +- keyboards/melgeek/mojo75/info.json | 2 +- keyboards/melgeek/tegic/info.json | 2 +- keyboards/melgeek/z70ultra/info.json | 2 +- keyboards/melgeek/z70ultra/z70ultra.c | 28 +-- keyboards/miller/gm862/info.json | 2 +- keyboards/ml/gas75/info.json | 2 +- keyboards/momokai/tap_duo/info.json | 2 +- keyboards/momokai/tap_trio/info.json | 2 +- keyboards/monsgeek/m5/info.json | 2 +- keyboards/monsgeek/m6/info.json | 2 +- keyboards/monstargear/xo87/rgb/info.json | 2 +- keyboards/moonlander/info.json | 2 +- keyboards/mss_studio/m63_rgb/info.json | 2 +- keyboards/mss_studio/m64_rgb/info.json | 2 +- keyboards/mt/mt64rgb/info.json | 2 +- keyboards/mt/mt84/info.json | 2 +- keyboards/mwstudio/mw65_rgb/info.json | 2 +- keyboards/mwstudio/mw75/info.json | 2 +- keyboards/mwstudio/mw75r2/info.json | 2 +- keyboards/nack/info.json | 2 +- keyboards/neson_design/700e/700e.c | 40 ++--- keyboards/neson_design/n6/n6.c | 40 ++--- keyboards/ning/tiny_board/tb16_rgb/info.json | 2 +- keyboards/novelkeys/nk20/info.json | 2 +- keyboards/novelkeys/nk65/nk65.c | 6 +- keyboards/novelkeys/nk65b/info.json | 2 +- keyboards/novelkeys/nk87/nk87.c | 4 +- keyboards/novelkeys/nk87b/info.json | 2 +- keyboards/novelkeys/nk_plus/info.json | 2 +- keyboards/omkbd/runner3680/5x6_5x8/info.json | 2 +- keyboards/opendeck/32/rev1/info.json | 2 +- keyboards/owlab/voice65/hotswap/info.json | 2 +- keyboards/owlab/voice65/soldered/info.json | 2 +- keyboards/paprikman/albacore/info.json | 2 +- keyboards/percent/canoe_gen2/info.json | 2 +- keyboards/phage_studio/pila87/info.json | 2 +- keyboards/phase_studio/titan65/hotswap/info.json | 2 +- keyboards/planck/ez/info.json | 2 +- keyboards/planck/light/info.json | 2 +- keyboards/planck/rev6/info.json | 2 +- keyboards/planck/rev6_drop/info.json | 2 +- keyboards/planck/rev7/info.json | 2 +- keyboards/playkbtw/pk64rgb/info.json | 2 +- keyboards/plywrks/ply8x/info.json | 2 +- keyboards/preonic/rev3/info.json | 2 +- keyboards/preonic/rev3_drop/info.json | 2 +- keyboards/quarkeys/z40/info.json | 2 +- keyboards/rgbkb/mun/rev1/info.json | 2 +- keyboards/rgbkb/sol/rev1/info.json | 2 +- keyboards/rgbkb/sol/rev2/info.json | 2 +- keyboards/rgbkb/sol3/rev1/info.json | 2 +- keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk | 1 - keyboards/rgbkb/zygomorph/rev1/info.json | 2 +- keyboards/rura66/rev1/info.json | 2 +- keyboards/ryanskidmore/rskeys100/info.json | 2 +- keyboards/s_ol/0xc_pad/info.json | 2 +- keyboards/saevus/cor_tkl/info.json | 2 +- keyboards/salicylic_acid3/naked48/rev1/info.json | 2 +- keyboards/salicylic_acid3/setta21/rev1/info.json | 2 +- .../satxri6key/keymaps/default/rules.mk | 2 +- keyboards/senselessclay/ck60/info.json | 2 +- keyboards/silverbullet44/info.json | 2 +- keyboards/skeletonkbd/frost68/info.json | 2 +- keyboards/skmt/15k/info.json | 2 +- keyboards/skyloong/dt40/info.json | 2 +- keyboards/smallkeyboard/info.json | 2 +- keyboards/soda/mango/info.json | 2 +- keyboards/soda/pocket/info.json | 2 +- keyboards/sofle/keymaps/killmaster/rules.mk | 2 +- keyboards/sowbug/68keys/info.json | 2 +- keyboards/sowbug/ansi_tkl/info.json | 2 +- keyboards/spaceholdings/nebula12b/info.json | 2 +- keyboards/spaceholdings/nebula68b/info.json | 2 +- keyboards/splitkb/aurora/corne/rev1/info.json | 2 +- keyboards/splitkb/aurora/lily58/rev1/info.json | 2 +- keyboards/splitkb/aurora/sweep/rev1/info.json | 2 +- keyboards/splitkb/kyria/rev1/info.json | 2 +- keyboards/splitkb/kyria/rev2/info.json | 2 +- keyboards/splitkb/kyria/rev3/info.json | 2 +- keyboards/stront/info.json | 2 +- keyboards/synthlabs/060/info.json | 2 +- keyboards/system76/launch_1/info.json | 2 +- keyboards/teleport/native/info.json | 2 +- keyboards/tkc/portico/info.json | 2 +- keyboards/tkc/portico68v2/info.json | 2 +- keyboards/tkc/portico75/info.json | 2 +- keyboards/tominabox1/le_chiffre/info.json | 2 +- keyboards/tzarc/djinn/info.json | 2 +- keyboards/tzarc/ghoul/info.json | 2 +- keyboards/ungodly/launch_pad/info.json | 2 +- keyboards/wekey/we27/info.json | 2 +- keyboards/wilba_tech/wt_mono_backlight.c | 28 +-- keyboards/wilba_tech/wt_rgb_backlight.c | 144 ++++++++-------- keyboards/winry/winry315/info.json | 2 +- keyboards/wolf/m60_b/info.json | 2 +- keyboards/work_louder/loop/info.json | 2 +- keyboards/work_louder/micro/info.json | 2 +- keyboards/work_louder/nano/info.json | 2 +- keyboards/work_louder/numpad/info.json | 2 +- keyboards/work_louder/work_board/info.json | 2 +- keyboards/xbows/knight/info.json | 2 +- keyboards/xbows/knight_plus/info.json | 2 +- keyboards/xbows/nature/info.json | 2 +- keyboards/xbows/numpad/info.json | 2 +- keyboards/xbows/ranger/info.json | 2 +- keyboards/xbows/woody/info.json | 2 +- keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c | 18 +- keyboards/xelus/la_plus/info.json | 2 +- keyboards/xelus/pachi/rgb/rev1/rev1.c | 12 +- keyboards/xelus/pachi/rgb/rev2/rev2.c | 12 +- keyboards/xelus/valor/rev2/info.json | 2 +- keyboards/yandrstudio/nz64/info.json | 2 +- keyboards/yandrstudio/nz67v2/info.json | 2 +- keyboards/yandrstudio/tg67/info.json | 2 +- keyboards/yanghu/unicorne/info.json | 2 +- keyboards/ymdk/id75/info.json | 2 +- keyboards/ymdk/ymd09/info.json | 2 +- keyboards/ymdk/ymd40/air40/info.json | 2 +- keyboards/yncognito/batpad/info.json | 2 +- keyboards/yushakobo/quick17/info.json | 2 +- keyboards/zykrah/fuyu/info.json | 2 +- quantum/rgb_matrix/rgb_matrix_drivers.c | 192 ++++++++++----------- 513 files changed, 1166 insertions(+), 1170 deletions(-) (limited to 'drivers') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 63a69314e8..60fcdc6b93 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -416,7 +416,7 @@ endif RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3736 IS31FL3737 IS31FL3741 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A CKLED2001 WS2812 custom +VALID_RGB_MATRIX_TYPES := aw20216 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) @@ -437,89 +437,89 @@ endif CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes - ifeq ($(strip $(RGB_MATRIX_DRIVER)), AW20216) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216) OPT_DEFS += -DAW20216 -DSTM32_SPI -DHAL_USE_SPI=TRUE COMMON_VPATH += $(DRIVER_PATH)/led SRC += aw20216.c QUANTUM_LIB_SRC += spi_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3731) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731) OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3733) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733) OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3736) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736) OPT_DEFS += -DIS31FL3736 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3736.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3737) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737) OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3737.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3741) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741) OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3741.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3742A) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3743A) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3745) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3746A) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a) OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), CKLED2001) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), ckled2001) OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE COMMON_VPATH += $(DRIVER_PATH)/led SRC += ckled2001.c QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), WS2812) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812) OPT_DEFS += -DWS2812 WS2812_DRIVER_REQUIRED := yes endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), APA102) + ifeq ($(strip $(RGB_MATRIX_DRIVER)), apa102) OPT_DEFS += -DAPA102 APA102_DRIVER_REQUIRED := yes endif diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index cc802056bd..44899d70d9 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -12,7 +12,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3731 +RGB_MATRIX_DRIVER = is31fl3731 ``` You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: @@ -76,7 +76,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3733 +RGB_MATRIX_DRIVER = is31fl3733 ``` You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: @@ -162,7 +162,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3736 +RGB_MATRIX_DRIVER = is31fl3736 ``` You can use between 1 and 4 IS31FL3736 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. @@ -238,7 +238,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3737 +RGB_MATRIX_DRIVER = is31fl3737 ``` You can use between 1 and 4 IS31FL3737 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. @@ -428,7 +428,7 @@ There is basic support for addressable RGB matrix lighting with a WS2811/WS2812{ ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 ``` Configure the hardware via your `config.h`: @@ -450,7 +450,7 @@ There is basic support for APA102 based addressable LED strands. To enable it, a ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = APA102 +RGB_MATRIX_DRIVER = apa102 ``` Configure the hardware via your `config.h`: @@ -470,7 +470,7 @@ There is basic support for addressable RGB matrix lighting with the SPI AW20216 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = AW20216 +RGB_MATRIX_DRIVER = aw20216 ``` You can use up to 2 AW20216 IC's. Do not specify `DRIVER__xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c index 5fd25eed88..479643add4 100644 --- a/drivers/led/aw20216.c +++ b/drivers/led/aw20216.c @@ -71,7 +71,7 @@ uint8_t g_pwm_buffer[DRIVER_COUNT][AW_PWM_REGISTER_COUNT]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; -bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) { +bool aw20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) { static uint8_t s_spi_transfer_buffer[2] = {0}; if (!spi_start(cs_pin, false, AW_SPI_MODE, AW_SPI_DIVISOR)) { @@ -96,52 +96,52 @@ bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8 return true; } -static inline bool AW20216_write_register(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t value) { +static inline bool aw20216_write_register(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t value) { // Little wrapper so callers need not care about sending a buffer - return AW20216_write(cs_pin, page, reg, &value, 1); + return aw20216_write(cs_pin, page, reg, &value, 1); } -void AW20216_soft_reset(pin_t cs_pin) { - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_RESET, AW_RESET_CMD); +void aw20216_soft_reset(pin_t cs_pin) { + aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_RESET, AW_RESET_CMD); } -static void AW20216_init_scaling(pin_t cs_pin) { +static void aw20216_init_scaling(pin_t cs_pin) { // Set constant current to the max, control brightness with PWM for (uint8_t i = 0; i < AW_PWM_REGISTER_COUNT; i++) { - AW20216_write_register(cs_pin, AW_PAGE_SCALING, i, AW_SCALING_MAX); + aw20216_write_register(cs_pin, AW_PAGE_SCALING, i, AW_SCALING_MAX); } } -static inline void AW20216_init_current_limit(pin_t cs_pin) { +static inline void aw20216_init_current_limit(pin_t cs_pin) { // Push config - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_GLOBALCURRENT, AW_GLOBAL_CURRENT_MAX); + aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_GLOBALCURRENT, AW_GLOBAL_CURRENT_MAX); } -static inline void AW20216_soft_enable(pin_t cs_pin) { +static inline void aw20216_soft_enable(pin_t cs_pin) { // Push config - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_CONFIGURATION, AW_CONFIG_DEFAULT | AW_CHIPEN); + aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_CONFIGURATION, AW_CONFIG_DEFAULT | AW_CHIPEN); } -static inline void AW20216_auto_lowpower(pin_t cs_pin) { - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_MIXFUNCTION, AW_MIXCR_DEFAULT | AW_LPEN); +static inline void aw20216_auto_lowpower(pin_t cs_pin) { + aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_MIXFUNCTION, AW_MIXCR_DEFAULT | AW_LPEN); } -void AW20216_init(pin_t cs_pin, pin_t en_pin) { +void aw20216_init(pin_t cs_pin, pin_t en_pin) { setPinOutput(en_pin); writePinHigh(en_pin); - AW20216_soft_reset(cs_pin); + aw20216_soft_reset(cs_pin); wait_ms(2); // Drivers should start with all scaling and PWM registers as off - AW20216_init_current_limit(cs_pin); - AW20216_init_scaling(cs_pin); + aw20216_init_current_limit(cs_pin); + aw20216_init_scaling(cs_pin); - AW20216_soft_enable(cs_pin); - AW20216_auto_lowpower(cs_pin); + aw20216_soft_enable(cs_pin); + aw20216_auto_lowpower(cs_pin); } -void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void aw20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { aw_led led; memcpy_P(&led, (&g_aw_leds[index]), sizeof(led)); @@ -154,15 +154,15 @@ void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { g_pwm_buffer_update_required[led.driver] = true; } -void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void aw20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - AW20216_set_color(i, red, green, blue); + aw20216_set_color(i, red, green, blue); } } -void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index) { +void aw20216_update_pwm_buffers(pin_t cs_pin, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - AW20216_write(cs_pin, AW_PAGE_PWM, 0, g_pwm_buffer[index], AW_PWM_REGISTER_COUNT); + aw20216_write(cs_pin, AW_PAGE_PWM, 0, g_pwm_buffer[index], AW_PWM_REGISTER_COUNT); } g_pwm_buffer_update_required[index] = false; } diff --git a/drivers/led/aw20216.h b/drivers/led/aw20216.h index c6e71b4b4e..e342cb6bac 100644 --- a/drivers/led/aw20216.h +++ b/drivers/led/aw20216.h @@ -30,10 +30,10 @@ typedef struct aw_led { extern const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT]; -void AW20216_init(pin_t cs_pin, pin_t en_pin); -void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index); +void aw20216_init(pin_t cs_pin, pin_t en_pin); +void aw20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void aw20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void aw20216_update_pwm_buffers(pin_t cs_pin, uint8_t index); #define CS1_SW1 0x00 #define CS2_SW1 0x01 diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c index d0099163ee..6ababf55e9 100644 --- a/drivers/led/ckled2001.c +++ b/drivers/led/ckled2001.c @@ -42,7 +42,7 @@ uint8_t g_twi_transfer_buffer[65]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in CKLED2001_write_pwm_buffer() but it's +// buffers and the transfers in ckled2001_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -50,7 +50,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +bool ckled2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -69,7 +69,7 @@ bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { return true; } -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool ckled2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 3 transfers of 64 bytes. @@ -99,53 +99,53 @@ bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void CKLED2001_init(uint8_t addr) { +void ckled2001_init(uint8_t addr) { // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); // Setting internal channel pulldown/pullup - CKLED2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL); + ckled2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL); // Select number of scan phase - CKLED2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL); + ckled2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL); // Setting PWM Delay Phase - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE); + ckled2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE); // Setting Driving/Sinking Channel Slew Rate - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE); + ckled2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE); // Setting Iref - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE); + ckled2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE); // Set LED CONTROL PAGE (Page 0) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); + ckled2001_write_register(addr, i, 0x00); } // Set PWM PAGE (Page 1) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); + ckled2001_write_register(addr, i, 0x00); } // Set CURRENT PAGE (Page 4) uint8_t current_tuen_reg_list[LED_CURRENT_TUNE_LENGTH] = CKLED2001_CURRENT_TUNE; - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, current_tuen_reg_list[i]); + ckled2001_write_register(addr, i, current_tuen_reg_list[i]); } // Enable LEDs ON/OFF - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0xFF); + ckled2001_write_register(addr, i, 0xFF); } // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); } -void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void ckled2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { ckled2001_led led; if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); @@ -160,13 +160,13 @@ void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void ckled2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - CKLED2001_set_color(i, red, green, blue); + ckled2001_set_color(i, red, green, blue); } } -void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void ckled2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { ckled2001_led led; memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); @@ -196,41 +196,41 @@ void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, boo g_led_control_registers_update_required[led.driver] = true; } -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index) { +void ckled2001_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!CKLED2001_write_pwm_buffer(addr, g_pwm_buffer[index])) { + if (!ckled2001_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } } g_pwm_buffer_update_required[index] = false; } -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index) { +void ckled2001_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); for (int i = 0; i < 24; i++) { - CKLED2001_write_register(addr, i, g_led_control_registers[index][i]); + ckled2001_write_register(addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; } -void CKLED2001_sw_return_normal(uint8_t addr) { +void ckled2001_sw_return_normal(uint8_t addr) { // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); } -void CKLED2001_sw_shutdown(uint8_t addr) { +void ckled2001_sw_shutdown(uint8_t addr) { // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); + ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); + ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); // Write SW Sleep Register - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE); + ckled2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE); } diff --git a/drivers/led/ckled2001.h b/drivers/led/ckled2001.h index aa70a0623f..32da137fb7 100644 --- a/drivers/led/ckled2001.h +++ b/drivers/led/ckled2001.h @@ -29,24 +29,24 @@ typedef struct ckled2001_led { extern const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT]; -void CKLED2001_init(uint8_t addr); -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void ckled2001_init(uint8_t addr); +bool ckled2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool ckled2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void ckled2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void ckled2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void ckled2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index); -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index); +void ckled2001_update_pwm_buffers(uint8_t addr, uint8_t index); +void ckled2001_update_led_control_registers(uint8_t addr, uint8_t index); -void CKLED2001_sw_return_normal(uint8_t addr); -void CKLED2001_sw_shutdown(uint8_t addr); +void ckled2001_sw_return_normal(uint8_t addr); +void ckled2001_sw_shutdown(uint8_t addr); // Registers Page Define #define CONFIGURE_CMD_PAGE 0xFD diff --git a/drivers/led/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c index 1ed45c4558..970e9a0be9 100644 --- a/drivers/led/issi/is31fl3218.c +++ b/drivers/led/issi/is31fl3218.c @@ -37,41 +37,41 @@ uint8_t g_twi_transfer_buffer[20]; uint8_t g_pwm_buffer[18]; bool g_pwm_buffer_update_required = false; -void IS31FL3218_write_register(uint8_t reg, uint8_t data) { +void is31fl3218_write_register(uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); } -void IS31FL3218_write_pwm_buffer(uint8_t *pwm_buffer) { +void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) { g_twi_transfer_buffer[0] = ISSI_REG_PWM; memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18); i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 19, ISSI_TIMEOUT); } -void IS31FL3218_init(void) { +void is31fl3218_init(void) { // In case we ever want to reinitialize (?) - IS31FL3218_write_register(ISSI_REG_RESET, 0x00); + is31fl3218_write_register(ISSI_REG_RESET, 0x00); // Turn off software shutdown - IS31FL3218_write_register(ISSI_REG_SHUTDOWN, 0x01); + is31fl3218_write_register(ISSI_REG_SHUTDOWN, 0x01); // Set all PWM values to zero for (uint8_t i = 0; i < 18; i++) { - IS31FL3218_write_register(ISSI_REG_PWM + i, 0x00); + is31fl3218_write_register(ISSI_REG_PWM + i, 0x00); } // Enable all channels for (uint8_t i = 0; i < 3; i++) { - IS31FL3218_write_register(ISSI_REG_CONTROL + i, 0b00111111); + is31fl3218_write_register(ISSI_REG_CONTROL + i, 0b00111111); } // Load PWM registers and LED Control register data - IS31FL3218_write_register(ISSI_REG_UPDATE, 0x01); + is31fl3218_write_register(ISSI_REG_UPDATE, 0x01); } -void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (g_pwm_buffer[index * 3 + 0] == red && g_pwm_buffer[index * 3 + 1] == green && g_pwm_buffer[index * 3 + 2] == blue) { return; } @@ -81,17 +81,17 @@ void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { g_pwm_buffer_update_required = true; } -void IS31FL3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < 6; i++) { - IS31FL3218_set_color(i, red, green, blue); + is31fl3218_set_color(i, red, green, blue); } } -void IS31FL3218_update_pwm_buffers(void) { +void is31fl3218_update_pwm_buffers(void) { if (g_pwm_buffer_update_required) { - IS31FL3218_write_pwm_buffer(g_pwm_buffer); + is31fl3218_write_pwm_buffer(g_pwm_buffer); // Load PWM registers and LED Control register data - IS31FL3218_write_register(ISSI_REG_UPDATE, 0x01); + is31fl3218_write_register(ISSI_REG_UPDATE, 0x01); } g_pwm_buffer_update_required = false; } diff --git a/drivers/led/issi/is31fl3218.h b/drivers/led/issi/is31fl3218.h index 26bb01a014..2fe3768432 100644 --- a/drivers/led/issi/is31fl3218.h +++ b/drivers/led/issi/is31fl3218.h @@ -20,7 +20,7 @@ #include #include -void IS31FL3218_init(void); -void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3218_update_pwm_buffers(void); +void is31fl3218_init(void); +void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3218_update_pwm_buffers(void); diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index b8b520161e..15a01b6d75 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -63,7 +63,7 @@ uint8_t g_twi_transfer_buffer[20]; // These buffers match the IS31FL3731 PWM registers 0x24-0xB3. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3731_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][144]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -85,7 +85,7 @@ bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; // 0x0E - R17,G15,G14,G13,G12,G11,G10,G09 // 0x10 - R16,R15,R14,R13,R12,R11,R10,R09 -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -98,7 +98,7 @@ void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { #endif } -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes bank is already selected // transmit PWM registers in 9 transfers of 16 bytes @@ -123,62 +123,62 @@ void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { } } -void IS31FL3731_init(uint8_t addr) { +void is31fl3731_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, first enable software shutdown, // then set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); // enable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); + is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); #ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array - IS31FL3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); + is31fl3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); #endif // this delay was copied from other drivers, might not be needed wait_ms(10); // picture mode - IS31FL3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); + is31fl3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); // display frame 0 - IS31FL3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); + is31fl3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); // audio sync off - IS31FL3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); + is31fl3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); // select bank 0 - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); // turn off all LEDs in the LED control register for (int i = 0x00; i <= 0x11; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // turn off all LEDs in the blink control register (not really needed) for (int i = 0x12; i <= 0x23; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // set PWM on all LEDs to 0 for (int i = 0x24; i <= 0xB3; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); // disable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); + is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); // select bank 0 and leave it selected. // most usage after initialization is just writing PWM buffers in bank 0 // as there's not much point in double-buffering - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0); } -void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -194,13 +194,13 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_color(i, red, green, blue); + is31fl3731_set_color(i, red, green, blue); } } -void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { is31_led led; memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -230,17 +230,17 @@ void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - IS31FL3731_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]); } g_pwm_buffer_update_required[index] = false; } -void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { for (int i = 0; i < 18; i++) { - IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3731_write_register(addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index 4c79cb8146..bdf03de1ee 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -31,21 +31,21 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; -void IS31FL3731_init(uint8_t addr); -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3731_init(uint8_t addr); +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -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_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index); #define C1_1 0x24 #define C1_2 0x25 diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index b2b467ab9e..ca431838ef 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -80,7 +80,7 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -88,7 +88,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -107,7 +107,7 @@ bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { return true; } -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -138,7 +138,7 @@ bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void IS31FL3733_init(uint8_t addr, uint8_t sync) { +void is31fl3733_init(uint8_t addr, uint8_t sync) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -146,45 +146,45 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { // Sync is passed so set it according to the datasheet. // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); // Turn off all LEDs. for (int i = 0x00; i <= 0x17; i++) { - IS31FL3733_write_register(addr, i, 0x00); + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG1 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3733_write_register(addr, i, 0x00); + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG3 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); // Set global current to maximum. - IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); // Disable software shutdown. - IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); + is31fl3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -199,13 +199,13 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3733_set_color(i, red, green, blue); + is31fl3733_set_color(i, red, green, blue); } } -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { is31_led led; memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -235,28 +235,28 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { + if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } } g_pwm_buffer_update_required[index] = false; } -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); for (int i = 0; i < 24; i++) { - IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3733_write_register(addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index 29441846ac..f37a58de0f 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -32,21 +32,21 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; -void IS31FL3733_init(uint8_t addr, uint8_t sync); -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3733_init(uint8_t addr, uint8_t sync); +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -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_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index); #define PUR_0R 0x00 // No PUR resistor #define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index 45b34f2c8d..0de8b3bbae 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -74,7 +74,7 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3736_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3736_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -82,7 +82,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; bool g_led_control_registers_update_required = false; -void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -95,7 +95,7 @@ void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { #endif } -void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes PG1 is already selected // transmit PWM registers in 12 transfers of 16 bytes @@ -119,52 +119,52 @@ void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { } } -void IS31FL3736_init(uint8_t addr) { +void is31fl3736_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // Unlock the command register. - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG0 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); // Turn off all LEDs. for (int i = 0x00; i <= 0x17; i++) { - IS31FL3736_write_register(addr, i, 0x00); + is31fl3736_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG1 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3736_write_register(addr, i, 0x00); + is31fl3736_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG3 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3736_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3736_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3736_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3736_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); // Set global current to maximum. - IS31FL3736_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3736_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); // Disable software shutdown. - IS31FL3736_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); + is31fl3736_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -179,13 +179,13 @@ void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3736_set_color(i, red, green, blue); + is31fl3736_set_color(i, red, green, blue); } } -void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { is31_led led; memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -229,7 +229,7 @@ void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required = true; } -void IS31FL3736_mono_set_brightness(int index, uint8_t value) { +void is31fl3736_mono_set_brightness(int index, uint8_t value) { if (index >= 0 && index < 96) { // Index in range 0..95 -> A1..A8, B1..B8, etc. // Map index 0..95 to registers 0x00..0xBE (interleaved) @@ -239,13 +239,13 @@ void IS31FL3736_mono_set_brightness(int index, uint8_t value) { } } -void IS31FL3736_mono_set_brightness_all(uint8_t value) { +void is31fl3736_mono_set_brightness_all(uint8_t value) { for (int i = 0; i < 96; i++) { - IS31FL3736_mono_set_brightness(i, value); + is31fl3736_mono_set_brightness(i, value); } } -void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled) { +void is31fl3736_mono_set_led_control_register(uint8_t index, bool enabled) { // Index in range 0..95 -> A1..A8, B1..B8, etc. // Map index 0..95 to registers 0x00..0xBE (interleaved) @@ -263,25 +263,25 @@ void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled) { g_led_control_registers_update_required = true; } -void IS31FL3736_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); - IS31FL3736_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]); } g_pwm_buffer_update_required[index] = false; } -void IS31FL3736_update_led_control_registers(uint8_t addr1, uint8_t addr2) { +void is31fl3736_update_led_control_registers(uint8_t addr1, uint8_t addr2) { if (g_led_control_registers_update_required) { // Firstly we need to unlock the command register and select PG0 - IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3736_write_register(addr1, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); for (int i = 0; i < 24; i++) { - IS31FL3736_write_register(addr1, i, g_led_control_registers[0][i]); - // IS31FL3736_write_register(addr2, i, g_led_control_registers[1][i]); + is31fl3736_write_register(addr1, i, g_led_control_registers[0][i]); + // is31fl3736_write_register(addr2, i, g_led_control_registers[1][i]); } g_led_control_registers_update_required = false; } diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index 332b2035f3..32bdef4a80 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -42,25 +42,25 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; -void IS31FL3736_init(uint8_t addr); -void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3736_init(uint8_t addr); +void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue); -void IS31FL3736_mono_set_brightness(int index, uint8_t value); -void IS31FL3736_mono_set_brightness_all(uint8_t value); -void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled); +void is31fl3736_mono_set_brightness(int index, uint8_t value); +void is31fl3736_mono_set_brightness_all(uint8_t value); +void is31fl3736_mono_set_led_control_register(uint8_t index, bool enabled); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -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_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index); #define PUR_0R 0x00 // No PUR resistor #define PUR_05KR 0x01 // 0.5k Ohm resistor diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index e5e6c66e5a..947c0a1d1a 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -80,7 +80,7 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3737_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3737_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; @@ -89,7 +89,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; -void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -102,7 +102,7 @@ void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { #endif } -void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes PG1 is already selected // transmit PWM registers in 12 transfers of 16 bytes @@ -126,52 +126,52 @@ void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { } } -void IS31FL3737_init(uint8_t addr) { +void is31fl3737_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // Unlock the command register. - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG0 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); // Turn off all LEDs. for (int i = 0x00; i <= 0x17; i++) { - IS31FL3737_write_register(addr, i, 0x00); + is31fl3737_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG1 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3737_write_register(addr, i, 0x00); + is31fl3737_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG3 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3737_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3737_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3737_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3737_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); // Set global current to maximum. - IS31FL3737_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3737_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); // Disable software shutdown. - IS31FL3737_write_register(addr, ISSI_REG_CONFIGURATION, ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); + is31fl3737_write_register(addr, ISSI_REG_CONFIGURATION, ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -186,13 +186,13 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3737_set_color(i, red, green, blue); + is31fl3737_set_color(i, red, green, blue); } } -void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { is31_led led; memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -222,24 +222,24 @@ void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3737_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); - IS31FL3737_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]); } g_pwm_buffer_update_required[index] = false; } -void IS31FL3737_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); for (int i = 0; i < 24; i++) { - IS31FL3737_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3737_write_register(addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index ca9a917ee2..e7fc97872c 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -33,21 +33,21 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; -void IS31FL3737_init(uint8_t addr); -void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3737_init(uint8_t addr); +void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -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_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index); #define PUR_0R 0x00 // No PUR resistor #define PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index 65f0c3640b..70671c2a40 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c @@ -82,7 +82,7 @@ uint8_t g_twi_transfer_buffer[20] = {0xFF}; // The scaling buffers match the PG2 and PG3 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3741_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3741_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][ISSI_MAX_LEDS]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -90,7 +90,7 @@ bool g_scaling_registers_update_required[DRIVER_COUNT] = {false}; uint8_t g_scaling_registers[DRIVER_COUNT][ISSI_MAX_LEDS]; -void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -103,14 +103,14 @@ void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { #endif } -bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assume PG0 is already selected for (int i = 0; i < 342; i += 18) { if (i == 180) { // unlock the command register and select PG1 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM1); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM1); } g_twi_transfer_buffer[0] = i % 180; @@ -148,7 +148,7 @@ bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void IS31FL3741_init(uint8_t addr) { +void is31fl3741_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -156,26 +156,26 @@ void IS31FL3741_init(uint8_t addr) { // Unlock the command register. // Unlock the command register. - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG4 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); // Set to Normal operation - IS31FL3741_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); + is31fl3741_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); // Set Golbal Current Control Register - IS31FL3741_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3741_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); // Set Pull up & Down for SWx CSy - IS31FL3741_write_register(addr, ISSI_REG_PULLDOWNUP, ((ISSI_CSPULLUP << 4) | ISSI_SWPULLUP)); + is31fl3741_write_register(addr, ISSI_REG_PULLDOWNUP, ((ISSI_CSPULLUP << 4) | ISSI_SWPULLUP)); - // IS31FL3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF); + // is31fl3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -190,13 +190,13 @@ void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3741_set_color(i, red, green, blue); + is31fl3741_set_color(i, red, green, blue); } } -void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { is31_led led; memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); @@ -221,19 +221,19 @@ void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bo g_scaling_registers_update_required[led.driver] = true; } -void IS31FL3741_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // unlock the command register and select PG2 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM0); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM0); - IS31FL3741_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]); } g_pwm_buffer_update_required[index] = false; } -void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { g_pwm_buffer[pled->driver][pled->r] = red; g_pwm_buffer[pled->driver][pled->g] = green; g_pwm_buffer[pled->driver][pled->b] = blue; @@ -241,31 +241,31 @@ void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, g_pwm_buffer_update_required[pled->driver] = true; } -void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_scaling_registers_update_required[index]) { // unlock the command register and select PG2 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_0); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_0); // CS1_SW1 to CS30_SW6 are on PG2 for (int i = CS1_SW1; i <= CS30_SW6; ++i) { - IS31FL3741_write_register(addr, i, g_scaling_registers[index][i]); + is31fl3741_write_register(addr, i, g_scaling_registers[index][i]); } // unlock the command register and select PG3 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_1); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_1); // CS1_SW7 to CS39_SW9 are on PG3 for (int i = CS1_SW7; i <= CS39_SW9; ++i) { - IS31FL3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); + is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); } g_scaling_registers_update_required[index] = false; } } -void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { g_scaling_registers[pled->driver][pled->r] = red; g_scaling_registers[pled->driver][pled->g] = green; g_scaling_registers[pled->driver][pled->b] = blue; diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index b0089ea5ba..4ae84dc3c6 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -32,24 +32,24 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; -void IS31FL3741_init(uint8_t addr); -void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3741_init(uint8_t addr); +void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3741_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index); -void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index); +void is31fl3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); #define PUR_0R 0x00 // No PUR resistor #define PUR_05KR 0x01 // 0.5k Ohm resistor diff --git a/keyboards/0xcb/splaytoraid/info.json b/keyboards/0xcb/splaytoraid/info.json index 5b7334ff9d..c218d1ff78 100644 --- a/keyboards/0xcb/splaytoraid/info.json +++ b/keyboards/0xcb/splaytoraid/info.json @@ -36,7 +36,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 2], "x": 0, "y": 0}, {"flags": 4, "matrix": [1, 0], "x": 20, "y": 0}, diff --git a/keyboards/1upkeyboards/1upocarina/info.json b/keyboards/1upkeyboards/1upocarina/info.json index 6b37eef2b5..fccf9d8899 100644 --- a/keyboards/1upkeyboards/1upocarina/info.json +++ b/keyboards/1upkeyboards/1upocarina/info.json @@ -40,7 +40,7 @@ "pin": "GP24" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ { "flags": 4, "matrix": [0, 0], "x": 23, "y": 26 }, { "flags": 4, "matrix": [0, 1], "x": 62, "y": 26 }, diff --git a/keyboards/1upkeyboards/pi40/grid_v1_1/info.json b/keyboards/1upkeyboards/pi40/grid_v1_1/info.json index 695d5cb9b7..c7028f4a4e 100644 --- a/keyboards/1upkeyboards/pi40/grid_v1_1/info.json +++ b/keyboards/1upkeyboards/pi40/grid_v1_1/info.json @@ -40,7 +40,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/info.json b/keyboards/1upkeyboards/pi40/mit_v1_0/info.json index ebd5d64931..6b89f2c2ab 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_0/info.json +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/info.json @@ -40,7 +40,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk index e3e55077cb..b446776377 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk @@ -17,8 +17,6 @@ MOUSEKEY_ENABLE = no # Mouse keys LEADER_ENABLE = yes RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 -WS2812_DRIVER = vendor ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes OLED_ENABLE = yes diff --git a/keyboards/1upkeyboards/pi40/mit_v1_1/info.json b/keyboards/1upkeyboards/pi40/mit_v1_1/info.json index 3ee2e738f1..f19ef235d5 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_1/info.json +++ b/keyboards/1upkeyboards/pi40/mit_v1_1/info.json @@ -40,7 +40,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, diff --git a/keyboards/1upkeyboards/pi50/info.json b/keyboards/1upkeyboards/pi50/info.json index 1880c78d44..17345284ca 100644 --- a/keyboards/1upkeyboards/pi50/info.json +++ b/keyboards/1upkeyboards/pi50/info.json @@ -38,7 +38,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "max_brightness": 150, "animations": { "solid_color": true, diff --git a/keyboards/1upkeyboards/pi60/info.json b/keyboards/1upkeyboards/pi60/info.json index f599446e20..1f8bdb4592 100644 --- a/keyboards/1upkeyboards/pi60/info.json +++ b/keyboards/1upkeyboards/pi60/info.json @@ -41,7 +41,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 17, "y": 50}, {"flags": 2, "x": 37, "y": 50}, diff --git a/keyboards/1upkeyboards/pi60_hse/info.json b/keyboards/1upkeyboards/pi60_hse/info.json index 01b0236975..310ad3d94b 100644 --- a/keyboards/1upkeyboards/pi60_hse/info.json +++ b/keyboards/1upkeyboards/pi60_hse/info.json @@ -32,7 +32,7 @@ "rows": ["GP4", "GP3", "GP2", "GP1", "GP0", "GP21"] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 98, "y": 51}, {"flags": 2, "x": 68, "y": 51}, diff --git a/keyboards/1upkeyboards/pi60_rgb/info.json b/keyboards/1upkeyboards/pi60_rgb/info.json index d78705352a..68634f4da1 100644 --- a/keyboards/1upkeyboards/pi60_rgb/info.json +++ b/keyboards/1upkeyboards/pi60_rgb/info.json @@ -38,7 +38,7 @@ "enabled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [5, 5], "x": 103, "y": 58}, {"flags": 1, "matrix": [5, 10], "x": 159, "y": 58}, diff --git a/keyboards/1upkeyboards/super16/info.json b/keyboards/1upkeyboards/super16/info.json index 7937eff8da..3fd1e80a44 100644 --- a/keyboards/1upkeyboards/super16/info.json +++ b/keyboards/1upkeyboards/super16/info.json @@ -18,7 +18,7 @@ "sleep": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D4", "C6", "F6", "F7"], diff --git a/keyboards/1upkeyboards/super16v2/info.json b/keyboards/1upkeyboards/super16v2/info.json index 39a8eefcc4..c4bdc441ee 100644 --- a/keyboards/1upkeyboards/super16v2/info.json +++ b/keyboards/1upkeyboards/super16v2/info.json @@ -12,7 +12,7 @@ "pin": "B5" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D6", "C2", "D0"], diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/info.json b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json index b8705866c8..f1ac861c8c 100644 --- a/keyboards/1upkeyboards/sweet16v2/kb2040/info.json +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json @@ -41,7 +41,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12}, {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12}, diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json index fa98b70fbc..a8696ab64c 100644 --- a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json +++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json @@ -39,7 +39,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12}, {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12}, diff --git a/keyboards/25keys/zinc/info.json b/keyboards/25keys/zinc/info.json index 1efe467be9..2350242316 100644 --- a/keyboards/25keys/zinc/info.json +++ b/keyboards/25keys/zinc/info.json @@ -8,7 +8,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "atmega32u4", "bootloader": "caterina" diff --git a/keyboards/3keyecosystem/2key2/info.json b/keyboards/3keyecosystem/2key2/info.json index f2d712072e..35cc3ee3c4 100644 --- a/keyboards/3keyecosystem/2key2/info.json +++ b/keyboards/3keyecosystem/2key2/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "D7"], diff --git a/keyboards/4pplet/perk60_iso/rev_a/info.json b/keyboards/4pplet/perk60_iso/rev_a/info.json index e961253a23..527f3d5772 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/info.json +++ b/keyboards/4pplet/perk60_iso/rev_a/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["A1", "B12", "B14", "A2", "A0", "A3", "A4"], diff --git a/keyboards/abatskeyboardclub/nayeon/info.json b/keyboards/abatskeyboardclub/nayeon/info.json index d7e3718c0b..7a3b650ff1 100644 --- a/keyboards/abatskeyboardclub/nayeon/info.json +++ b/keyboards/abatskeyboardclub/nayeon/info.json @@ -25,7 +25,7 @@ "driver": "vendor" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "RP2040", "bootloader": "rp2040", diff --git a/keyboards/abko/ak84bt/info.json b/keyboards/abko/ak84bt/info.json index 30dd823575..657e17a90c 100644 --- a/keyboards/abko/ak84bt/info.json +++ b/keyboards/abko/ak84bt/info.json @@ -27,7 +27,7 @@ }, "processor": "STM32F103", "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "layout": [ {"matrix": [0, 0], "x": 7, "y": 2, "flags": 4}, {"matrix": [0, 2], "x": 34, "y": 2, "flags": 4}, diff --git a/keyboards/acheron/apollo/87h/delta/info.json b/keyboards/acheron/apollo/87h/delta/info.json index c2a702781b..b5b935ab58 100644 --- a/keyboards/acheron/apollo/87h/delta/info.json +++ b/keyboards/acheron/apollo/87h/delta/info.json @@ -8,7 +8,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], diff --git a/keyboards/acheron/apollo/87h/gamma/info.json b/keyboards/acheron/apollo/87h/gamma/info.json index f10a6adb67..0a3b28e31f 100644 --- a/keyboards/acheron/apollo/87h/gamma/info.json +++ b/keyboards/acheron/apollo/87h/gamma/info.json @@ -5,7 +5,7 @@ "device_version": "0.0.3" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B3", "A15", "A10", "A8", "B14", "B12", "B10", "B1", "B0", "A7", "A4", "A5", "A6", "C15", "A0", "A1"], diff --git a/keyboards/acheron/apollo/87htsc/info.json b/keyboards/acheron/apollo/87htsc/info.json index 5a140a7bdc..de0388176e 100644 --- a/keyboards/acheron/apollo/87htsc/info.json +++ b/keyboards/acheron/apollo/87htsc/info.json @@ -12,7 +12,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], diff --git a/keyboards/acheron/apollo/88htsc/info.json b/keyboards/acheron/apollo/88htsc/info.json index 9fc9210c80..adb2372e60 100644 --- a/keyboards/acheron/apollo/88htsc/info.json +++ b/keyboards/acheron/apollo/88htsc/info.json @@ -12,7 +12,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], diff --git a/keyboards/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json index febf1e61f6..bac0061f3e 100644 --- a/keyboards/adafruit/macropad/info.json +++ b/keyboards/adafruit/macropad/info.json @@ -14,7 +14,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "bootmagic": { "matrix": [1, 2] diff --git a/keyboards/adm42/info.json b/keyboards/adm42/info.json index b305eb2067..b2bdbc4dad 100644 --- a/keyboards/adm42/info.json +++ b/keyboards/adm42/info.json @@ -13,7 +13,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 24 }, "qmk": { diff --git a/keyboards/adpenrose/akemipad/info.json b/keyboards/adpenrose/akemipad/info.json index c1b6377e60..0484578571 100644 --- a/keyboards/adpenrose/akemipad/info.json +++ b/keyboards/adpenrose/akemipad/info.json @@ -11,7 +11,7 @@ "pin": "F4" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D3", "D2", "F5", "F6", "B2"], diff --git a/keyboards/aeboards/satellite/rev1/rev1.c b/keyboards/aeboards/satellite/rev1/rev1.c index aafd0e0848..785fa8af9f 100644 --- a/keyboards/aeboards/satellite/rev1/rev1.c +++ b/keyboards/aeboards/satellite/rev1/rev1.c @@ -145,30 +145,30 @@ led_config_t g_led_config = { { // Custom Driver static void init(void) { i2c_init(); - IS31FL3731_init(DRIVER_ADDR_1); - IS31FL3731_init(DRIVER_ADDR_2); + is31fl3731_init(DRIVER_ADDR_1); + is31fl3731_init(DRIVER_ADDR_2); for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { bool enabled = !( ( index == 18+5) || //B5 ( index == 36+17) || //C17 ( index == 54+13) //D13 ); - IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); + is31fl3731_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); - IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1); } static void flush(void) { - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1); } static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - IS31FL3731_set_color(index, red, green, 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 ); + is31fl3731_set_color_all( red, green, blue ); } diff --git a/keyboards/akko/5108/info.json b/keyboards/akko/5108/info.json index e9e99be69e..7049b20a64 100644 --- a/keyboards/akko/5108/info.json +++ b/keyboards/akko/5108/info.json @@ -31,7 +31,7 @@ "caps_lock": "C10" }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "max_brightness": 180, "animations": { "breathing": true, diff --git a/keyboards/akko/acr87/info.json b/keyboards/akko/acr87/info.json index bcc6b23cb0..5ff1926d0c 100644 --- a/keyboards/akko/acr87/info.json +++ b/keyboards/akko/acr87/info.json @@ -27,7 +27,7 @@ }, "diode_direction": "ROW2COL", "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "max_brightness": 180, "animations": { "breathing": true, diff --git a/keyboards/akko/top40/info.json b/keyboards/akko/top40/info.json index 8649ecb375..48252e6c77 100644 --- a/keyboards/akko/top40/info.json +++ b/keyboards/akko/top40/info.json @@ -27,7 +27,7 @@ }, "diode_direction": "ROW2COL", "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "max_brightness": 180, "animations": { "breathing": true, diff --git a/keyboards/aleblazer/zodiark/info.json b/keyboards/aleblazer/zodiark/info.json index 79f71d6ae8..7ad76758ff 100644 --- a/keyboards/aleblazer/zodiark/info.json +++ b/keyboards/aleblazer/zodiark/info.json @@ -19,7 +19,7 @@ "split_count": [34, 34] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/an_achronism/tetromino/info.json b/keyboards/an_achronism/tetromino/info.json index 6ff31fe1f4..8087c6489c 100644 --- a/keyboards/an_achronism/tetromino/info.json +++ b/keyboards/an_achronism/tetromino/info.json @@ -110,7 +110,7 @@ "led_count": 70 }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 17, "y": 0}, diff --git a/keyboards/atlantis/ak81_ve/info.json b/keyboards/atlantis/ak81_ve/info.json index 434e10c81f..1a2d1eebe1 100644 --- a/keyboards/atlantis/ak81_ve/info.json +++ b/keyboards/atlantis/ak81_ve/info.json @@ -9,7 +9,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "B2", "B7", "D3", "D2", "D1", "D0", "B3"], diff --git a/keyboards/atlantis/ps17/info.json b/keyboards/atlantis/ps17/info.json index 1b7ffa7785..5a85dec5b4 100644 --- a/keyboards/atlantis/ps17/info.json +++ b/keyboards/atlantis/ps17/info.json @@ -64,7 +64,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "center_point": [126, 126], "layout": [ {"flags": 4, "matrix": [1, 0], "x": 74, "y": 165}, diff --git a/keyboards/axolstudio/yeti/hotswap/info.json b/keyboards/axolstudio/yeti/hotswap/info.json index 732e9075cd..9b782c88c9 100644 --- a/keyboards/axolstudio/yeti/hotswap/info.json +++ b/keyboards/axolstudio/yeti/hotswap/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"], diff --git a/keyboards/bandominedoni/info.json b/keyboards/bandominedoni/info.json index 9f069f771c..aa5b2f9a2f 100644 --- a/keyboards/bandominedoni/info.json +++ b/keyboards/bandominedoni/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D1", "E6", "F7", "B1", "B3", "B2", "D0"], diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json index e5f0c233ba..89e181b8f9 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "A1", diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json index 80a68aea5d..bbb0fd66ba 100644 --- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F0", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json index ee2692fa06..4b69b244fb 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json index 3feffac0ab..2c0faa9567 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json index c80cd648c3..0a88daf352 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json index d1d2d8a463..c119df524c 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "D3", diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json index 8ad00c2e52..5ac7a1cdca 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "A1", diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json index 8fba6b33cd..69c8bd6fb4 100644 --- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json index 7822fbc36d..67ada55640 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json index f4b25121ef..9b44b3f336 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json index 8e9b413329..d1ac62e1ab 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json index 42eb9e895f..85b66277cf 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "D3", diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json index 41844167d4..b9fb103496 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "A1", diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json index 36f341e0e7..161d36f45d 100644 --- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json index 3043400b7b..2ee88c4f9e 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json index e6b47c984e..961a0b1420 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json index 7814c41976..28a1dee31f 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json index cdf13d9fd2..cfae56715f 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "D3", diff --git a/keyboards/bastardkb/dilemma/3x5_3/info.json b/keyboards/bastardkb/dilemma/3x5_3/info.json index 2ee5d5ea4a..4ab43d6a8e 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/info.json +++ b/keyboards/bastardkb/dilemma/3x5_3/info.json @@ -5,7 +5,7 @@ "pid": "0x1835" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP8", "GP9", "GP7", "GP6", "GP28"], diff --git a/keyboards/bastardkb/scylla/blackpill/info.json b/keyboards/bastardkb/scylla/blackpill/info.json index e9b8601495..24fb8bc701 100644 --- a/keyboards/bastardkb/scylla/blackpill/info.json +++ b/keyboards/bastardkb/scylla/blackpill/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "A1", diff --git a/keyboards/bastardkb/scylla/v1/elitec/info.json b/keyboards/bastardkb/scylla/v1/elitec/info.json index ffac558bbc..3984c69f2f 100644 --- a/keyboards/bastardkb/scylla/v1/elitec/info.json +++ b/keyboards/bastardkb/scylla/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], diff --git a/keyboards/bastardkb/scylla/v2/elitec/info.json b/keyboards/bastardkb/scylla/v2/elitec/info.json index 1a8643b27d..f9069afd91 100644 --- a/keyboards/bastardkb/scylla/v2/elitec/info.json +++ b/keyboards/bastardkb/scylla/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/info.json b/keyboards/bastardkb/scylla/v2/splinky_2/info.json index 8ba2d4d19a..0c7dc406b0 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_2/info.json +++ b/keyboards/bastardkb/scylla/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/info.json b/keyboards/bastardkb/scylla/v2/splinky_3/info.json index c0cd88672b..377fd4424a 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_3/info.json +++ b/keyboards/bastardkb/scylla/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/scylla/v2/stemcell/info.json b/keyboards/bastardkb/scylla/v2/stemcell/info.json index 80a8b6d1dc..d463418cf1 100644 --- a/keyboards/bastardkb/scylla/v2/stemcell/info.json +++ b/keyboards/bastardkb/scylla/v2/stemcell/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "D3", diff --git a/keyboards/bastardkb/skeletyl/blackpill/info.json b/keyboards/bastardkb/skeletyl/blackpill/info.json index 8e735d7bf9..1d25639281 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/info.json +++ b/keyboards/bastardkb/skeletyl/blackpill/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "A1", diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/info.json b/keyboards/bastardkb/skeletyl/v1/elitec/info.json index f81bca976e..f3eb68587d 100644 --- a/keyboards/bastardkb/skeletyl/v1/elitec/info.json +++ b/keyboards/bastardkb/skeletyl/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["E6", "C6", "B1", "B3", "B2"], diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/info.json b/keyboards/bastardkb/skeletyl/v2/elitec/info.json index 2c43204ace..5e5ccd2545 100644 --- a/keyboards/bastardkb/skeletyl/v2/elitec/info.json +++ b/keyboards/bastardkb/skeletyl/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json b/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json index 023c4d553e..e9c2b34592 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json +++ b/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json b/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json index 56a00a3c3d..a47464720c 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json +++ b/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json index b81ba9e943..b44d64a47a 100644 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json +++ b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "D3", diff --git a/keyboards/bastardkb/tbkmini/blackpill/info.json b/keyboards/bastardkb/tbkmini/blackpill/info.json index e96bbeeb77..dcdce8f63b 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/info.json +++ b/keyboards/bastardkb/tbkmini/blackpill/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "A1", diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/info.json b/keyboards/bastardkb/tbkmini/v1/elitec/info.json index a5a90811ec..f246ce0e7c 100644 --- a/keyboards/bastardkb/tbkmini/v1/elitec/info.json +++ b/keyboards/bastardkb/tbkmini/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/info.json b/keyboards/bastardkb/tbkmini/v2/elitec/info.json index 28c30f9ab7..07bf99658b 100644 --- a/keyboards/bastardkb/tbkmini/v2/elitec/info.json +++ b/keyboards/bastardkb/tbkmini/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json b/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json index 1dc6607f3d..3bcae1df60 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json +++ b/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json b/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json index 2c96b46c2a..e7f01c359d 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json +++ b/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json index 3b5db93b05..a75db584e7 100644 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json +++ b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "D3", diff --git a/keyboards/binepad/bn006/info.json b/keyboards/binepad/bn006/info.json index 2c2aecbf82..756b82e330 100755 --- a/keyboards/binepad/bn006/info.json +++ b/keyboards/binepad/bn006/info.json @@ -28,7 +28,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 112, "y": 0}, diff --git a/keyboards/black_hellebore/info.json b/keyboards/black_hellebore/info.json index 649bc63f23..bc70e3eb98 100644 --- a/keyboards/black_hellebore/info.json +++ b/keyboards/black_hellebore/info.json @@ -29,7 +29,7 @@ "vid": "0x3141" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5}, {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5}, diff --git a/keyboards/blockboy/ac980mini/info.json b/keyboards/blockboy/ac980mini/info.json index 1134d36aeb..36d6fe5ba9 100644 --- a/keyboards/blockboy/ac980mini/info.json +++ b/keyboards/blockboy/ac980mini/info.json @@ -19,7 +19,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/boardsource/beiwagon/info.json b/keyboards/boardsource/beiwagon/info.json index 08fcffc024..b02c528867 100644 --- a/keyboards/boardsource/beiwagon/info.json +++ b/keyboards/boardsource/beiwagon/info.json @@ -25,7 +25,7 @@ "vid": "0x4273" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 16, "y": 38}, {"flags": 2, "x": 16, "y": 113}, diff --git a/keyboards/boardsource/lulu/info.json b/keyboards/boardsource/lulu/info.json index 8272c16300..f0eb661d7b 100644 --- a/keyboards/boardsource/lulu/info.json +++ b/keyboards/boardsource/lulu/info.json @@ -22,7 +22,7 @@ "enabled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [35, 35], "max_brightness": 150, "animations": { diff --git a/keyboards/boardsource/microdox/v2/info.json b/keyboards/boardsource/microdox/v2/info.json index 8d68b964c1..dccecb4980 100644 --- a/keyboards/boardsource/microdox/v2/info.json +++ b/keyboards/boardsource/microdox/v2/info.json @@ -35,7 +35,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 12, "y": 11}, {"flags": 2, "x": 86, "y": 11}, diff --git a/keyboards/boardsource/technik_o/info.json b/keyboards/boardsource/technik_o/info.json index 79ade753b1..91840eeb4f 100644 --- a/keyboards/boardsource/technik_o/info.json +++ b/keyboards/boardsource/technik_o/info.json @@ -26,7 +26,7 @@ "vid": "0x4273" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 220, "y": 17}, {"flags": 2, "x": 172, "y": 17}, diff --git a/keyboards/boardsource/technik_s/info.json b/keyboards/boardsource/technik_s/info.json index 7c6086db74..0c8b101b20 100644 --- a/keyboards/boardsource/technik_s/info.json +++ b/keyboards/boardsource/technik_s/info.json @@ -26,7 +26,7 @@ "vid": "0x4273" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 220, "y": 17}, {"flags": 2, "x": 172, "y": 17}, diff --git a/keyboards/boardsource/the_mark/info.json b/keyboards/boardsource/the_mark/info.json index be130dc94d..c574f7ab66 100644 --- a/keyboards/boardsource/the_mark/info.json +++ b/keyboards/boardsource/the_mark/info.json @@ -43,7 +43,7 @@ "pin": "C6" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 224, "y": 42}, {"flags": 2, "x": 224, "y": 21}, diff --git a/keyboards/boardsource/unicorne/info.json b/keyboards/boardsource/unicorne/info.json index fe46ec13a6..aeeb348125 100644 --- a/keyboards/boardsource/unicorne/info.json +++ b/keyboards/boardsource/unicorne/info.json @@ -51,7 +51,7 @@ }, "max_brightness": 150, "split_count": [27, 27], - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"x": 85, "y": 16, "flags": 2}, {"x": 50, "y": 13, "flags": 2}, diff --git a/keyboards/boston_meetup/2019/info.json b/keyboards/boston_meetup/2019/info.json index 5260ffabe1..0f22fb7976 100644 --- a/keyboards/boston_meetup/2019/info.json +++ b/keyboards/boston_meetup/2019/info.json @@ -3,7 +3,7 @@ "device_version": "20.1.9" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A7", "A8", "B2", "B10"], diff --git a/keyboards/bubble75/hotswap/info.json b/keyboards/bubble75/hotswap/info.json index a12e4ca794..c9757847b0 100644 --- a/keyboards/bubble75/hotswap/info.json +++ b/keyboards/bubble75/hotswap/info.json @@ -13,7 +13,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "E6", "F0", "D0", "D1", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json index fada3f56f0..1eb235d965 100644 --- a/keyboards/canary/canary60rgb/info.json +++ b/keyboards/canary/canary60rgb/info.json @@ -18,7 +18,7 @@ "pin": "B6" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/capsunlocked/cu80/v2/info.json b/keyboards/capsunlocked/cu80/v2/info.json index f7036daa7f..c21572be66 100644 --- a/keyboards/capsunlocked/cu80/v2/info.json +++ b/keyboards/capsunlocked/cu80/v2/info.json @@ -19,7 +19,7 @@ "rows": ["D3", "D2", "B7", "F1", "C7", "D5"] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "animations": { "alphas_mods": true, "band_pinwheel_sat": true, diff --git a/keyboards/checkerboards/quark_lp/info.json b/keyboards/checkerboards/quark_lp/info.json index 201de629da..9712b63a38 100644 --- a/keyboards/checkerboards/quark_lp/info.json +++ b/keyboards/checkerboards/quark_lp/info.json @@ -12,7 +12,7 @@ "pin": "C2" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/cherrybstudio/cb87rgb/info.json b/keyboards/cherrybstudio/cb87rgb/info.json index 93eed31524..eefa7e73f0 100644 --- a/keyboards/cherrybstudio/cb87rgb/info.json +++ b/keyboards/cherrybstudio/cb87rgb/info.json @@ -12,7 +12,7 @@ "pin": "E6" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "F5", "C6", "C7", "F7"], diff --git a/keyboards/chosfox/cf81/info.json b/keyboards/chosfox/cf81/info.json index 8b09d5daf6..db9f3e1d52 100644 --- a/keyboards/chosfox/cf81/info.json +++ b/keyboards/chosfox/cf81/info.json @@ -35,7 +35,7 @@ ] }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "animations": { "breathing": true, "cycle_all": true, diff --git a/keyboards/chromatonemini/info.json b/keyboards/chromatonemini/info.json index e6f4333133..3dd10d7381 100644 --- a/keyboards/chromatonemini/info.json +++ b/keyboards/chromatonemini/info.json @@ -21,7 +21,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "diode_direction": "COL2ROW", "matrix_pins": { diff --git a/keyboards/churrosoft/deck8/rgb/info.json b/keyboards/churrosoft/deck8/rgb/info.json index 43f273be58..546c17ca13 100644 --- a/keyboards/churrosoft/deck8/rgb/info.json +++ b/keyboards/churrosoft/deck8/rgb/info.json @@ -11,7 +11,7 @@ "rgb_matrix": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "max_brightness": 200, "layout": [ {"flags": 4, "matrix": [0, 0], "x": 45, "y": 21}, diff --git a/keyboards/controllerworks/mini36/info.json b/keyboards/controllerworks/mini36/info.json index dcab8a1b97..534dee94f1 100644 --- a/keyboards/controllerworks/mini36/info.json +++ b/keyboards/controllerworks/mini36/info.json @@ -55,7 +55,7 @@ "oled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 71, "y": 4}, {"flags": 2, "x": 32, "y": 2}, diff --git a/keyboards/controllerworks/mini42/info.json b/keyboards/controllerworks/mini42/info.json index 4aa0b8eeaf..ae70408a9f 100644 --- a/keyboards/controllerworks/mini42/info.json +++ b/keyboards/controllerworks/mini42/info.json @@ -56,7 +56,7 @@ "oled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [27, 27], "layout": [ {"flags": 2, "x": 75, "y": 4}, diff --git a/keyboards/crkbd/info.json b/keyboards/crkbd/info.json index 198ef51d5f..fa9abc574e 100644 --- a/keyboards/crkbd/info.json +++ b/keyboards/crkbd/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "features": { "bootmagic": true, diff --git a/keyboards/cxt_studio/info.json b/keyboards/cxt_studio/info.json index 07b5ff17ea..6166ea2296 100644 --- a/keyboards/cxt_studio/info.json +++ b/keyboards/cxt_studio/info.json @@ -31,7 +31,7 @@ }, "processor": "atmega32u4", "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 3], "x": 3, "y": 0}, {"flags": 4, "matrix": [0, 2], "x": 2, "y": 0}, diff --git a/keyboards/dekunukem/duckypad/info.json b/keyboards/dekunukem/duckypad/info.json index 1c702e1b1b..9ca8e7bc93 100644 --- a/keyboards/dekunukem/duckypad/info.json +++ b/keyboards/dekunukem/duckypad/info.json @@ -17,7 +17,7 @@ "pin": "A10" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, diff --git a/keyboards/deng/djam/info.json b/keyboards/deng/djam/info.json index c78e814505..c7fe59ff0a 100644 --- a/keyboards/deng/djam/info.json +++ b/keyboards/deng/djam/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/deng/thirty/info.json b/keyboards/deng/thirty/info.json index 59f3616215..8836273865 100644 --- a/keyboards/deng/thirty/info.json +++ b/keyboards/deng/thirty/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B13", "B14", "B3", "A4", "A6"], diff --git a/keyboards/doio/kb16/rev1/info.json b/keyboards/doio/kb16/rev1/info.json index 4d2852fe05..bcf2c2eb0e 100644 --- a/keyboards/doio/kb16/rev1/info.json +++ b/keyboards/doio/kb16/rev1/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F5", "F4", "F1", "F0", "B7"], diff --git a/keyboards/doio/kb16/rev2/info.json b/keyboards/doio/kb16/rev2/info.json index 1e83ca77cc..c3cf6b9a12 100644 --- a/keyboards/doio/kb16/rev2/info.json +++ b/keyboards/doio/kb16/rev2/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B14", "B13", "B12", "B0", "A7"], diff --git a/keyboards/doio/kb30/info.json b/keyboards/doio/kb30/info.json index 71a300b9cd..cd3c772994 100644 --- a/keyboards/doio/kb30/info.json +++ b/keyboards/doio/kb30/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B14", "B13", "B12", "B0", "A7", "A9", "A8"], diff --git a/keyboards/doio/kb38/info.json b/keyboards/doio/kb38/info.json index a0bbbae894..95d3be13d3 100644 --- a/keyboards/doio/kb38/info.json +++ b/keyboards/doio/kb38/info.json @@ -36,7 +36,7 @@ "pin": "F6" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 62.2, "y": 0}, diff --git a/keyboards/doro67/rgb/info.json b/keyboards/doro67/rgb/info.json index 83d642ab0b..ad7661830a 100644 --- a/keyboards/doro67/rgb/info.json +++ b/keyboards/doro67/rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F5", "F6", "F7"], diff --git a/keyboards/dotmod/dymium65/info.json b/keyboards/dotmod/dymium65/info.json index 83e2951baa..650260483c 100644 --- a/keyboards/dotmod/dymium65/info.json +++ b/keyboards/dotmod/dymium65/info.json @@ -38,7 +38,7 @@ "pin": "D7" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "animations": { "breathing": true, "band_val": true, diff --git a/keyboards/dp3000/info.json b/keyboards/dp3000/info.json index c7348c81a8..cdb9fe4547 100644 --- a/keyboards/dp3000/info.json +++ b/keyboards/dp3000/info.json @@ -34,7 +34,7 @@ "pin": "B5" }, "rgb_matrix":{ - "driver":"WS2812", + "driver":"ws2812", "max_brightness": 180, "animations": { "alphas_mods": true, diff --git a/keyboards/dp60/info.json b/keyboards/dp60/info.json index 4433544708..ffe613f66f 100644 --- a/keyboards/dp60/info.json +++ b/keyboards/dp60/info.json @@ -17,7 +17,7 @@ "pin": "D7" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/drop/sense75/info.json b/keyboards/drop/sense75/info.json index d54c4eb656..2df7b0ae5a 100644 --- a/keyboards/drop/sense75/info.json +++ b/keyboards/drop/sense75/info.json @@ -116,7 +116,7 @@ } }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "animations": { "alphas_mods": true, "gradient_up_down": true, diff --git a/keyboards/dtisaac/dosa40rgb/info.json b/keyboards/dtisaac/dosa40rgb/info.json index 27b5240194..e90d21725a 100644 --- a/keyboards/dtisaac/dosa40rgb/info.json +++ b/keyboards/dtisaac/dosa40rgb/info.json @@ -15,7 +15,7 @@ "pin": "D0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D1", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"], diff --git a/keyboards/dumbpad/v3x/info.json b/keyboards/dumbpad/v3x/info.json index 463fa5ec9c..24c16ac0af 100644 --- a/keyboards/dumbpad/v3x/info.json +++ b/keyboards/dumbpad/v3x/info.json @@ -6,7 +6,7 @@ "device_version": "0.1.0" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "timeout": 300000 }, "matrix_pins": { diff --git a/keyboards/durgod/dgk6x/info.json b/keyboards/durgod/dgk6x/info.json index df4c004ab5..a52d0a9b8f 100644 --- a/keyboards/durgod/dgk6x/info.json +++ b/keyboards/durgod/dgk6x/info.json @@ -5,7 +5,7 @@ "on_state": 0 }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "processor": "STM32F072", // F070 "bootloader": "stm32-dfu", diff --git a/keyboards/dztech/dz60rgb/v1/info.json b/keyboards/dztech/dz60rgb/v1/info.json index 56a70183f5..0033c3acc7 100644 --- a/keyboards/dztech/dz60rgb/v1/info.json +++ b/keyboards/dztech/dz60rgb/v1/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"], diff --git a/keyboards/dztech/dz60rgb/v2/info.json b/keyboards/dztech/dz60rgb/v2/info.json index 0b263d8099..4801792d98 100644 --- a/keyboards/dztech/dz60rgb/v2/info.json +++ b/keyboards/dztech/dz60rgb/v2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz60rgb/v2_1/info.json b/keyboards/dztech/dz60rgb/v2_1/info.json index 796b1bc4a3..9028f69d4f 100644 --- a/keyboards/dztech/dz60rgb/v2_1/info.json +++ b/keyboards/dztech/dz60rgb/v2_1/info.json @@ -4,7 +4,7 @@ "device_version": "2.1.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz60rgb_ansi/v1/info.json b/keyboards/dztech/dz60rgb_ansi/v1/info.json index 77a9e801c6..9c8b271cc9 100644 --- a/keyboards/dztech/dz60rgb_ansi/v1/info.json +++ b/keyboards/dztech/dz60rgb_ansi/v1/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"], diff --git a/keyboards/dztech/dz60rgb_ansi/v2/info.json b/keyboards/dztech/dz60rgb_ansi/v2/info.json index 734d07db31..cc239f74b3 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2/info.json +++ b/keyboards/dztech/dz60rgb_ansi/v2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/info.json b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json index 1d72dc44ee..edd27d4577 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2_1/info.json +++ b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json @@ -4,7 +4,7 @@ "device_version": "2.1.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz60rgb_wkl/v1/info.json b/keyboards/dztech/dz60rgb_wkl/v1/info.json index 65bb086dc3..0a61ae0d83 100644 --- a/keyboards/dztech/dz60rgb_wkl/v1/info.json +++ b/keyboards/dztech/dz60rgb_wkl/v1/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"], diff --git a/keyboards/dztech/dz60rgb_wkl/v2/info.json b/keyboards/dztech/dz60rgb_wkl/v2/info.json index b9a2126e3d..adc6fb3b4c 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2/info.json +++ b/keyboards/dztech/dz60rgb_wkl/v2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/info.json b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json index ce830f6b01..cea77d59cf 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2_1/info.json +++ b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json @@ -4,7 +4,7 @@ "device_version": "2.1.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz64rgb/info.json b/keyboards/dztech/dz64rgb/info.json index aa69238191..ca2dd46bd2 100644 --- a/keyboards/dztech/dz64rgb/info.json +++ b/keyboards/dztech/dz64rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz65rgb/v1/info.json b/keyboards/dztech/dz65rgb/v1/info.json index 19279921a4..6b418b8cd6 100644 --- a/keyboards/dztech/dz65rgb/v1/info.json +++ b/keyboards/dztech/dz65rgb/v1/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"], diff --git a/keyboards/dztech/dz65rgb/v2/info.json b/keyboards/dztech/dz65rgb/v2/info.json index b449f4979a..e52584f724 100644 --- a/keyboards/dztech/dz65rgb/v2/info.json +++ b/keyboards/dztech/dz65rgb/v2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/dztech/dz65rgb/v3/info.json b/keyboards/dztech/dz65rgb/v3/info.json index e4e4dd6581..ccc24b724e 100644 --- a/keyboards/dztech/dz65rgb/v3/info.json +++ b/keyboards/dztech/dz65rgb/v3/info.json @@ -4,7 +4,7 @@ "device_version": "3.0.0" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/dztech/tofu/ii/v1/info.json b/keyboards/dztech/tofu/ii/v1/info.json index d8216891cd..2eac06f6fd 100644 --- a/keyboards/dztech/tofu/ii/v1/info.json +++ b/keyboards/dztech/tofu/ii/v1/info.json @@ -16,7 +16,7 @@ }, "processor": "RP2040", "rgb_matrix": { - "driver": "IS31FL3737", + "driver": "is31fl3737", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, diff --git a/keyboards/dztech/tofu/jr/v1/info.json b/keyboards/dztech/tofu/jr/v1/info.json index ef9bc6b903..1460350d73 100644 --- a/keyboards/dztech/tofu/jr/v1/info.json +++ b/keyboards/dztech/tofu/jr/v1/info.json @@ -16,7 +16,7 @@ "rows": ["GP29", "GP28", "GP27", "GP26", "GP22"] }, "rgb_matrix": { - "driver": "IS31FL3737", + "driver": "is31fl3737", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json index 0a293c514d..fae5212543 100644 --- a/keyboards/eek/info.json +++ b/keyboards/eek/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.4" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D4", "C6", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], diff --git a/keyboards/eggsworks/egg58/info.json b/keyboards/eggsworks/egg58/info.json index 14e62cdf59..6f3fa04a67 100644 --- a/keyboards/eggsworks/egg58/info.json +++ b/keyboards/eggsworks/egg58/info.json @@ -33,7 +33,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split": true, "split_count": [29, 29], "max_brightness": 160, diff --git a/keyboards/ein_60/info.json b/keyboards/ein_60/info.json index a316542605..ccc0446043 100644 --- a/keyboards/ein_60/info.json +++ b/keyboards/ein_60/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "hue_steps": 4, diff --git a/keyboards/elephant42/info.json b/keyboards/elephant42/info.json index 005735556b..f71247caca 100644 --- a/keyboards/elephant42/info.json +++ b/keyboards/elephant42/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 8 diff --git a/keyboards/ergodox_ez/info.json b/keyboards/ergodox_ez/info.json index 6a9541a426..4716c556b0 100644 --- a/keyboards/ergodox_ez/info.json +++ b/keyboards/ergodox_ez/info.json @@ -18,7 +18,7 @@ "pin": "D7" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "processor": "atmega32u4", "bootloader": "halfkay", diff --git a/keyboards/evyd13/atom47/rev5/info.json b/keyboards/evyd13/atom47/rev5/info.json index c442c74549..bb068b1536 100644 --- a/keyboards/evyd13/atom47/rev5/info.json +++ b/keyboards/evyd13/atom47/rev5/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "D7", "B4", "B5", "B6", "C6", "C7"], diff --git a/keyboards/exclusive/e6_rgb/info.json b/keyboards/exclusive/e6_rgb/info.json index 167ce46917..49e3337804 100644 --- a/keyboards/exclusive/e6_rgb/info.json +++ b/keyboards/exclusive/e6_rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.6.2" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["D7", "B4", "B5", "B6", "C6", "C7", "F7", "F0", "B0", "B1", "D2", "D3", "B3", "B2"], diff --git a/keyboards/fancytech/fancyalice66/info.json b/keyboards/fancytech/fancyalice66/info.json index 525a19d32c..21c89849fd 100644 --- a/keyboards/fancytech/fancyalice66/info.json +++ b/keyboards/fancytech/fancyalice66/info.json @@ -66,7 +66,7 @@ "solid_splash": true, "splash": true }, - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, diff --git a/keyboards/feker/ik75/info.json b/keyboards/feker/ik75/info.json index 339a5cde50..0da1ff08ea 100644 --- a/keyboards/feker/ik75/info.json +++ b/keyboards/feker/ik75/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["E6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "E2"], diff --git a/keyboards/ferris/0_2/bling/info.json b/keyboards/ferris/0_2/bling/info.json index 28ed4f90e3..1e9703f599 100644 --- a/keyboards/ferris/0_2/bling/info.json +++ b/keyboards/ferris/0_2/bling/info.json @@ -4,6 +4,6 @@ "pid": "0x0002" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" } } diff --git a/keyboards/flashquark/horizon_z/info.json b/keyboards/flashquark/horizon_z/info.json index 3e299442c5..9127042f71 100755 --- a/keyboards/flashquark/horizon_z/info.json +++ b/keyboards/flashquark/horizon_z/info.json @@ -20,7 +20,7 @@ }, "processor": "atmega32u4", "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "layout": [ { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 }, { "flags": 4, "matrix": [0, 1], "x": 16, "y": 0 }, diff --git a/keyboards/frooastboard/walnut/info.json b/keyboards/frooastboard/walnut/info.json index ee18003f57..fc8ca2130f 100644 --- a/keyboards/frooastboard/walnut/info.json +++ b/keyboards/frooastboard/walnut/info.json @@ -15,7 +15,7 @@ "nkro": true }, "rgb_matrix": { - "driver": "IS31FL3737" + "driver": "is31fl3737" }, "build": { "lto": true diff --git a/keyboards/geekboards/macropad_v2/info.json b/keyboards/geekboards/macropad_v2/info.json index 52db89c06a..95b1ca94d7 100644 --- a/keyboards/geekboards/macropad_v2/info.json +++ b/keyboards/geekboards/macropad_v2/info.json @@ -16,7 +16,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json index 16f3496a13..363ab895a5 100644 --- a/keyboards/geekboards/tester/info.json +++ b/keyboards/geekboards/tester/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "D2", "D3"], diff --git a/keyboards/giabalanai/info.json b/keyboards/giabalanai/info.json index 44482a2c0c..592d7a6966 100644 --- a/keyboards/giabalanai/info.json +++ b/keyboards/giabalanai/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "led_count": 123, diff --git a/keyboards/gizmo_engineering/gk6/info.json b/keyboards/gizmo_engineering/gk6/info.json index d738d31d3d..c958147971 100644 --- a/keyboards/gizmo_engineering/gk6/info.json +++ b/keyboards/gizmo_engineering/gk6/info.json @@ -9,7 +9,7 @@ "device_version": "30.3.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B5", "C6", "C7", "F7", "F6", "D5", "D3", "D2", "F1", "F4", "B7", "F5"], diff --git a/keyboards/gkeyboard/gpad8_2r/info.json b/keyboards/gkeyboard/gpad8_2r/info.json index 81ac15251f..2111d58cc4 100644 --- a/keyboards/gkeyboard/gpad8_2r/info.json +++ b/keyboards/gkeyboard/gpad8_2r/info.json @@ -33,7 +33,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [1, 0], "x": 28, "y": 12}, {"flags": 4, "matrix": [1, 1], "x": 84, "y": 12}, diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk index 294015d80b..d93c728213 100644 --- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk +++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk @@ -1,6 +1,6 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 VIA_ENABLE = yes LTO_ENABLE = yes SPACE_CADET_ENABLE = no diff --git a/keyboards/gmmk/gmmk2/p65/ansi/info.json b/keyboards/gmmk/gmmk2/p65/ansi/info.json index 983bf8d6f2..902d1b6b5d 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/info.json +++ b/keyboards/gmmk/gmmk2/p65/ansi/info.json @@ -12,7 +12,7 @@ "tap_keycode_delay": 10 }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gmmk/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json index c036ffa306..5abe800d2c 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/info.json +++ b/keyboards/gmmk/gmmk2/p65/iso/info.json @@ -12,7 +12,7 @@ "tap_keycode_delay": 10 }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gmmk/gmmk2/p96/ansi/info.json b/keyboards/gmmk/gmmk2/p96/ansi/info.json index 3b5caf5d54..5bc007f5db 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/info.json +++ b/keyboards/gmmk/gmmk2/p96/ansi/info.json @@ -12,7 +12,7 @@ "tap_keycode_delay": 10 }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gmmk/gmmk2/p96/iso/info.json b/keyboards/gmmk/gmmk2/p96/iso/info.json index dd747478d9..6534d28027 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/info.json +++ b/keyboards/gmmk/gmmk2/p96/iso/info.json @@ -12,7 +12,7 @@ "tap_keycode_delay": 10 }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gmmk/numpad/info.json b/keyboards/gmmk/numpad/info.json index 195d4fa710..604a49b503 100644 --- a/keyboards/gmmk/numpad/info.json +++ b/keyboards/gmmk/numpad/info.json @@ -14,7 +14,7 @@ ] }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", diff --git a/keyboards/gmmk/pro/rev1/ansi/info.json b/keyboards/gmmk/pro/rev1/ansi/info.json index 80cab4dfe3..7e0adbdb05 100644 --- a/keyboards/gmmk/pro/rev1/ansi/info.json +++ b/keyboards/gmmk/pro/rev1/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gmmk/pro/rev1/iso/info.json b/keyboards/gmmk/pro/rev1/iso/info.json index b1c17fe805..52ea4538c8 100644 --- a/keyboards/gmmk/pro/rev1/iso/info.json +++ b/keyboards/gmmk/pro/rev1/iso/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gmmk/pro/rev2/ansi/info.json b/keyboards/gmmk/pro/rev2/ansi/info.json index ae9086af43..082b5f8656 100644 --- a/keyboards/gmmk/pro/rev2/ansi/info.json +++ b/keyboards/gmmk/pro/rev2/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gmmk/pro/rev2/iso/info.json b/keyboards/gmmk/pro/rev2/iso/info.json index b1b85b7af5..a4aef24e65 100644 --- a/keyboards/gmmk/pro/rev2/iso/info.json +++ b/keyboards/gmmk/pro/rev2/iso/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], diff --git a/keyboards/gopolar/gg86/info.json b/keyboards/gopolar/gg86/info.json index dbdf673f3e..470709ca75 100644 --- a/keyboards/gopolar/gg86/info.json +++ b/keyboards/gopolar/gg86/info.json @@ -13,7 +13,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "E6", "D2", "D3"], diff --git a/keyboards/hadron/ver3/info.json b/keyboards/hadron/ver3/info.json index 466dafbc53..45e92cbc71 100644 --- a/keyboards/hadron/ver3/info.json +++ b/keyboards/hadron/ver3/info.json @@ -3,7 +3,7 @@ "device_version": "0.0.3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B8", "B2", "B10", "A0", "A1", "A2", "B0", "A3", "B1", "A6", "A7", "B12", "C13", "B11", "B9"], diff --git a/keyboards/handwired/6macro/info.json b/keyboards/handwired/6macro/info.json index 8f41316cd8..3e8c0afed6 100644 --- a/keyboards/handwired/6macro/info.json +++ b/keyboards/handwired/6macro/info.json @@ -16,7 +16,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2"], diff --git a/keyboards/handwired/alcor_dactyl/info.json b/keyboards/handwired/alcor_dactyl/info.json index 8d59a107f7..405436b6f5 100644 --- a/keyboards/handwired/alcor_dactyl/info.json +++ b/keyboards/handwired/alcor_dactyl/info.json @@ -27,7 +27,7 @@ "rows": ["GP5", "GP4", "GP3", "GP2", "GP1", "GP0"] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"x": 0, "y": 0.375}, {"x": 16.5, "y": 0.38} diff --git a/keyboards/handwired/colorlice/info.json b/keyboards/handwired/colorlice/info.json index 0cba448703..0f8383a2aa 100644 --- a/keyboards/handwired/colorlice/info.json +++ b/keyboards/handwired/colorlice/info.json @@ -12,7 +12,7 @@ "pin": "B1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B6", "B5", "B4", "D7", "D6", "D4", "E6", "B0", "B3"], diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk index 53ca4b51d0..09e4c42d69 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk @@ -1,5 +1,5 @@ RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 DYNAMIC_MACRO_ENABLE = yes # CONSOLE_ENABLE = yes diff --git a/keyboards/handwired/dactyl_minidox/info.json b/keyboards/handwired/dactyl_minidox/info.json index 0a1c6a56bb..a0bb416ce4 100644 --- a/keyboards/handwired/dactyl_minidox/info.json +++ b/keyboards/handwired/dactyl_minidox/info.json @@ -12,7 +12,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk index f40ace9606..d24f7a0cbd 100644 --- a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk @@ -6,7 +6,6 @@ SRC += features/caps_word.c # # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly -RGB_MATRIX_DRIVER = WS2812 INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. # TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times # KEY_OVERRIDE_ENABLE = yes # Override key combos diff --git a/keyboards/handwired/hnah108/info.json b/keyboards/handwired/hnah108/info.json index 4d7d3e0386..a399ffedf5 100644 --- a/keyboards/handwired/hnah108/info.json +++ b/keyboards/handwired/hnah108/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "E6", "B0", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"], diff --git a/keyboards/handwired/hnah40rgb/info.json b/keyboards/handwired/hnah40rgb/info.json index 9f952d685a..fce74cefef 100644 --- a/keyboards/handwired/hnah40rgb/info.json +++ b/keyboards/handwired/hnah40rgb/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"], diff --git a/keyboards/handwired/orbweaver/info.json b/keyboards/handwired/orbweaver/info.json index 9db6243a69..489a7e2888 100644 --- a/keyboards/handwired/orbweaver/info.json +++ b/keyboards/handwired/orbweaver/info.json @@ -13,7 +13,7 @@ "nkro": true }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], diff --git a/keyboards/handwired/p65rgb/info.json b/keyboards/handwired/p65rgb/info.json index a9ec2634ef..2fa35c2cbf 100644 --- a/keyboards/handwired/p65rgb/info.json +++ b/keyboards/handwired/p65rgb/info.json @@ -12,7 +12,7 @@ "pin": "B4" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "max_brightness": 180 diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/info.json b/keyboards/handwired/tractyl_manuform/4x6_right/info.json index 0a3a77c91d..9e172c8089 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/info.json +++ b/keyboards/handwired/tractyl_manuform/4x6_right/info.json @@ -7,7 +7,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C0", "C1", "C2", "C3", "C4", "C5"], diff --git a/keyboards/heliotrope/info.json b/keyboards/heliotrope/info.json index b443c4d54c..3b382c7bc9 100644 --- a/keyboards/heliotrope/info.json +++ b/keyboards/heliotrope/info.json @@ -28,7 +28,7 @@ "pin": "A4" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5}, {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5}, diff --git a/keyboards/helix/rev3_4rows/info.json b/keyboards/helix/rev3_4rows/info.json index 7c8042bb5e..c18fc1bbd7 100644 --- a/keyboards/helix/rev3_4rows/info.json +++ b/keyboards/helix/rev3_4rows/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/helix/rev3_5rows/info.json b/keyboards/helix/rev3_5rows/info.json index 12a4b618e2..0ac2aa0f10 100644 --- a/keyboards/helix/rev3_5rows/info.json +++ b/keyboards/helix/rev3_5rows/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/hfdkb/ac001/info.json b/keyboards/hfdkb/ac001/info.json index 229bee6ff4..0a361d63ed 100644 --- a/keyboards/hfdkb/ac001/info.json +++ b/keyboards/hfdkb/ac001/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A5", "A6", "A7", "C4", "C5"], diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json index 192e9285fc..7f8a448d07 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B1", "B0", "B5", "B6", "C6", "C7", "E2", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], diff --git a/keyboards/horrortroll/handwired_k552/info.json b/keyboards/horrortroll/handwired_k552/info.json index 6bdd2ee2fc..d137a03a52 100644 --- a/keyboards/horrortroll/handwired_k552/info.json +++ b/keyboards/horrortroll/handwired_k552/info.json @@ -13,7 +13,7 @@ "pin": "C14" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"], diff --git a/keyboards/hotdox76v2/info.json b/keyboards/hotdox76v2/info.json index 007e7f2354..c66bd5eb8a 100644 --- a/keyboards/hotdox76v2/info.json +++ b/keyboards/hotdox76v2/info.json @@ -19,7 +19,7 @@ "lto": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6"], diff --git a/keyboards/hs60/v1/info.json b/keyboards/hs60/v1/info.json index 798d889bd7..c87ca19e3b 100644 --- a/keyboards/hs60/v1/info.json +++ b/keyboards/hs60/v1/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F1", "F4", "F5", "E6", "F0", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], diff --git a/keyboards/hub20/info.json b/keyboards/hub20/info.json index 3b9cec99c2..92aa3605a9 100644 --- a/keyboards/hub20/info.json +++ b/keyboards/hub20/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A6", "A7", "B7", "B6"], diff --git a/keyboards/idobao/id42/info.json b/keyboards/idobao/id42/info.json index 03a6f1724b..b874f51806 100644 --- a/keyboards/idobao/id42/info.json +++ b/keyboards/idobao/id42/info.json @@ -18,7 +18,7 @@ "pin": "B3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B4", "D7", "D6", "D4", "B5", "C7", "F0", "F7", "F6", "F1", "F4", "F5"], diff --git a/keyboards/idobao/id61/info.json b/keyboards/idobao/id61/info.json index 57f9e520a3..cf7892ec9f 100644 --- a/keyboards/idobao/id61/info.json +++ b/keyboards/idobao/id61/info.json @@ -18,7 +18,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7"], diff --git a/keyboards/idobao/id63/info.json b/keyboards/idobao/id63/info.json index 048e187018..32651f918f 100644 --- a/keyboards/idobao/id63/info.json +++ b/keyboards/idobao/id63/info.json @@ -18,7 +18,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F6", "F5", "F4", "F1", "B3", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7"], diff --git a/keyboards/idobao/id67/info.json b/keyboards/idobao/id67/info.json index 55f19ba9cc..eff8333a80 100644 --- a/keyboards/idobao/id67/info.json +++ b/keyboards/idobao/id67/info.json @@ -18,7 +18,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7", "B4"], diff --git a/keyboards/idobao/id75/v2/info.json b/keyboards/idobao/id75/v2/info.json index 5275c54dbb..4cb46c2564 100644 --- a/keyboards/idobao/id75/v2/info.json +++ b/keyboards/idobao/id75/v2/info.json @@ -12,7 +12,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "F4", "F1", "E6", "D5", "D3", "D2", "D1", "D0", "D4", "D6", "D7", "B4", "B5"], diff --git a/keyboards/idobao/id80/v3/ansi/info.json b/keyboards/idobao/id80/v3/ansi/info.json index 816e55208f..cf21d3abb1 100644 --- a/keyboards/idobao/id80/v3/ansi/info.json +++ b/keyboards/idobao/id80/v3/ansi/info.json @@ -15,7 +15,7 @@ "rgblight": false }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F1", "F4", "F5", "F6", "F7"], diff --git a/keyboards/idobao/id87/v2/info.json b/keyboards/idobao/id87/v2/info.json index aace4915a1..783cd04a03 100644 --- a/keyboards/idobao/id87/v2/info.json +++ b/keyboards/idobao/id87/v2/info.json @@ -18,7 +18,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], diff --git a/keyboards/idobao/montex/v1rgb/info.json b/keyboards/idobao/montex/v1rgb/info.json index 5980cab117..31c06d0809 100755 --- a/keyboards/idobao/montex/v1rgb/info.json +++ b/keyboards/idobao/montex/v1rgb/info.json @@ -7,7 +7,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D3", "D2", "D1", "D0"], diff --git a/keyboards/idobao/montex/v2/info.json b/keyboards/idobao/montex/v2/info.json index f034db3c03..74a69d60fe 100755 --- a/keyboards/idobao/montex/v2/info.json +++ b/keyboards/idobao/montex/v2/info.json @@ -18,7 +18,7 @@ "pin": "B1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D3", "D2", "D1", "D0"], diff --git a/keyboards/idyllic/tinny50_rgb/info.json b/keyboards/idyllic/tinny50_rgb/info.json index fad9c3c730..f02e88f459 100644 --- a/keyboards/idyllic/tinny50_rgb/info.json +++ b/keyboards/idyllic/tinny50_rgb/info.json @@ -27,7 +27,7 @@ "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP20", "GP19", "GP1", "GP6", "GP5"] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "GP10", diff --git a/keyboards/ilumkb/simpler61/info.json b/keyboards/ilumkb/simpler61/info.json index 4b3a067522..80a738f4cf 100644 --- a/keyboards/ilumkb/simpler61/info.json +++ b/keyboards/ilumkb/simpler61/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], diff --git a/keyboards/ilumkb/simpler64/info.json b/keyboards/ilumkb/simpler64/info.json index 0db9d79c22..a793907148 100644 --- a/keyboards/ilumkb/simpler64/info.json +++ b/keyboards/ilumkb/simpler64/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], diff --git a/keyboards/inett_studio/sqx/hotswap/info.json b/keyboards/inett_studio/sqx/hotswap/info.json index 271af5e5b0..305e9d15c7 100644 --- a/keyboards/inett_studio/sqx/hotswap/info.json +++ b/keyboards/inett_studio/sqx/hotswap/info.json @@ -12,7 +12,7 @@ "pin": "D7" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/inett_studio/sqx/universal/info.json b/keyboards/inett_studio/sqx/universal/info.json index 8f574769f0..7234fec56c 100644 --- a/keyboards/inett_studio/sqx/universal/info.json +++ b/keyboards/inett_studio/sqx/universal/info.json @@ -12,7 +12,7 @@ "pin": "D7" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/inland/kb83/info.json b/keyboards/inland/kb83/info.json index ecd274cef7..ce577fb029 100644 --- a/keyboards/inland/kb83/info.json +++ b/keyboards/inland/kb83/info.json @@ -9,7 +9,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c index 3898016875..2dec2b0a26 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.c +++ b/keyboards/input_club/k_type/is31fl3733-dual.c @@ -65,7 +65,7 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -73,7 +73,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; -bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) { +bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -92,7 +92,7 @@ bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t return true; } -bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -123,7 +123,7 @@ bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffe return true; } -void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { +void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -131,35 +131,35 @@ void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { // Sync is passed so set it according to the datasheet. // Unlock the command register. - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG0 - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); // Turn off all LEDs. for (int i = 0x00; i <= 0x17; i++) { - IS31FL3733_write_register(bus, addr, i, 0x00); + is31fl3733_write_register(bus, addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG1 - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3733_write_register(bus, addr, i, 0x00); + is31fl3733_write_register(bus, addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG3 - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); // Set global current to maximum. - IS31FL3733_write_register(bus, addr, ISSI_REG_GLOBALCURRENT, 0xFF); + is31fl3733_write_register(bus, addr, ISSI_REG_GLOBALCURRENT, 0xFF); // Disable software shutdown. - IS31FL3733_write_register(bus, addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01); + is31fl3733_write_register(bus, addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[index]; @@ -170,13 +170,13 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3733_set_color(i, red, green, blue); + is31fl3733_set_color(i, red, green, blue); } } -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { is31_led led = g_is31_leds[index]; uint8_t control_register_r = led.r / 8; @@ -205,28 +205,28 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1. - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!IS31FL3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) { + if (!is31fl3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } } g_pwm_buffer_update_required[index] = false; } -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); for (int i = 0; i < 24; i++) { - IS31FL3733_write_register(index, addr, i, g_led_control_registers[index][i]); + is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h index 16586714b8..1becefbf93 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.h +++ b/keyboards/input_club/k_type/is31fl3733-dual.h @@ -31,21 +31,21 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; -void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync); -bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer); +void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync); +bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -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_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); #define A_1 0x00 #define A_2 0x01 diff --git a/keyboards/input_club/k_type/k_type-rgbdriver.c b/keyboards/input_club/k_type/k_type-rgbdriver.c index 6529f98201..dc5d4abd67 100644 --- a/keyboards/input_club/k_type/k_type-rgbdriver.c +++ b/keyboards/input_club/k_type/k_type-rgbdriver.c @@ -23,34 +23,34 @@ static void init(void) { i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN); - IS31FL3733_init(0, DRIVER_ADDR_1, 0); + is31fl3733_init(0, DRIVER_ADDR_1, 0); # ifdef USE_I2C2 i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN); - IS31FL3733_init(1, DRIVER_ADDR_2, 0); + is31fl3733_init(1, DRIVER_ADDR_2, 0); # endif for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { bool enabled = true; // This only caches it for later - IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); + is31fl3733_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0); # ifdef USE_I2C2 - IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3733_update_led_control_registers(DRIVER_ADDR_2, 1); # endif } static void flush(void) { - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0); # ifdef USE_I2C2 - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_2, 1); # endif } const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3733_set_color, - .set_color_all = IS31FL3733_set_color_all, + .set_color = is31fl3733_set_color, + .set_color_all = is31fl3733_set_color_all, }; #endif diff --git a/keyboards/jacky_studio/bear_65/rev1/info.json b/keyboards/jacky_studio/bear_65/rev1/info.json index 42b397ce73..74446d8206 100644 --- a/keyboards/jacky_studio/bear_65/rev1/info.json +++ b/keyboards/jacky_studio/bear_65/rev1/info.json @@ -11,7 +11,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/jacky_studio/bear_65/rev2/info.json b/keyboards/jacky_studio/bear_65/rev2/info.json index 50e53c3564..bad2fb0191 100644 --- a/keyboards/jacky_studio/bear_65/rev2/info.json +++ b/keyboards/jacky_studio/bear_65/rev2/info.json @@ -11,7 +11,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/jacky_studio/piggy60/rev2/info.json b/keyboards/jacky_studio/piggy60/rev2/info.json index f824945aa0..50f2849e73 100644 --- a/keyboards/jacky_studio/piggy60/rev2/info.json +++ b/keyboards/jacky_studio/piggy60/rev2/info.json @@ -24,7 +24,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "animations": { "alphas_mods": true, "gradient_up_down": true, diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json index 46e499237a..e097b47ce5 100644 --- a/keyboards/jadookb/jkb65/info.json +++ b/keyboards/jadookb/jkb65/info.json @@ -10,7 +10,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "timeout": 90000 }, "processor": "atmega32u4", diff --git a/keyboards/jkeys_design/gentleman65/info.json b/keyboards/jkeys_design/gentleman65/info.json index 3586c8ed19..1af0527410 100644 --- a/keyboards/jkeys_design/gentleman65/info.json +++ b/keyboards/jkeys_design/gentleman65/info.json @@ -15,7 +15,7 @@ "pin": "F4" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "D5", "C7", "F0", "B2", "B1", "B3", "B0", "B7", "D0"], diff --git a/keyboards/jkeys_design/gentleman65_se_s/info.json b/keyboards/jkeys_design/gentleman65_se_s/info.json index 2108bad6d2..0579d57b4f 100644 --- a/keyboards/jkeys_design/gentleman65_se_s/info.json +++ b/keyboards/jkeys_design/gentleman65_se_s/info.json @@ -15,7 +15,7 @@ "pin": "F7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D3", "D2", "D1", "D0", "B7", "B2", "B3", "D4", "D6", "D7", "C7", "C6", "B6", "B5", "B4"], diff --git a/keyboards/junco/info.json b/keyboards/junco/info.json index 3762433765..4c9b3ae6ba 100644 --- a/keyboards/junco/info.json +++ b/keyboards/junco/info.json @@ -18,7 +18,7 @@ "driver": "vendor" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "encoder": { "rotary": [ diff --git a/keyboards/kapl/rev1/info.json b/keyboards/kapl/rev1/info.json index 07ab869a44..2f79c130ef 100644 --- a/keyboards/kapl/rev1/info.json +++ b/keyboards/kapl/rev1/info.json @@ -12,7 +12,7 @@ "pin": "D4" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "speed_steps": 10 }, "rgblight": { diff --git a/keyboards/kbdcraft/adam64/info.json b/keyboards/kbdcraft/adam64/info.json index cc33c26cc1..be24ef4c19 100644 --- a/keyboards/kbdcraft/adam64/info.json +++ b/keyboards/kbdcraft/adam64/info.json @@ -25,7 +25,7 @@ "rgb_matrix": true }, "rgb_matrix": { - "driver": "IS31FL3741", + "driver": "is31fl3741", "max_brightness": 150, "animations": { "alphas_mods": true, diff --git a/keyboards/kbdfans/baguette66/rgb/info.json b/keyboards/kbdfans/baguette66/rgb/info.json index 9ac27f950a..519afbcc48 100644 --- a/keyboards/kbdfans/baguette66/rgb/info.json +++ b/keyboards/kbdfans/baguette66/rgb/info.json @@ -14,7 +14,7 @@ "pin": "E6" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/kbdfans/bella/rgb/info.json b/keyboards/kbdfans/bella/rgb/info.json index ba39628688..b3b4e385f1 100644 --- a/keyboards/kbdfans/bella/rgb/info.json +++ b/keyboards/kbdfans/bella/rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], diff --git a/keyboards/kbdfans/bella/rgb_iso/info.json b/keyboards/kbdfans/bella/rgb_iso/info.json index ffdf11155a..d407cb0f7b 100644 --- a/keyboards/kbdfans/bella/rgb_iso/info.json +++ b/keyboards/kbdfans/bella/rgb_iso/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], diff --git a/keyboards/kbdfans/boop65/rgb/info.json b/keyboards/kbdfans/boop65/rgb/info.json index 8f9028305e..cc780177dc 100644 --- a/keyboards/kbdfans/boop65/rgb/info.json +++ b/keyboards/kbdfans/boop65/rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json index 733d68cc59..7b6795f07f 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json @@ -5,7 +5,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"], diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json index 441c543913..e0fe90b6f3 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json @@ -5,7 +5,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json index 378ffa7845..165db96293 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json @@ -5,7 +5,7 @@ "device_version": "0.0.3" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json index f66a39d799..7a62b96488 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json @@ -11,7 +11,7 @@ "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json index 222742ed8f..cb8912f9a4 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json @@ -12,7 +12,7 @@ "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/kbdfans/kbd75rgb/info.json b/keyboards/kbdfans/kbd75rgb/info.json index bf2f596f3a..84b2a212d0 100644 --- a/keyboards/kbdfans/kbd75rgb/info.json +++ b/keyboards/kbdfans/kbd75rgb/info.json @@ -15,7 +15,7 @@ "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/kbdfans/kbdmini/info.json b/keyboards/kbdfans/kbdmini/info.json index 533f52f012..99aa4a4113 100644 --- a/keyboards/kbdfans/kbdmini/info.json +++ b/keyboards/kbdfans/kbdmini/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["B3", "B2", "B1", "B0", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/kbdfans/kbdpad/mk3/info.json b/keyboards/kbdfans/kbdpad/mk3/info.json index 01837a1d82..8ba02f8fa1 100644 --- a/keyboards/kbdfans/kbdpad/mk3/info.json +++ b/keyboards/kbdfans/kbdpad/mk3/info.json @@ -23,7 +23,7 @@ }, "processor": "atmega32u4", "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 75, "y": 0}, diff --git a/keyboards/kbdfans/maja/info.json b/keyboards/kbdfans/maja/info.json index 68dc1d16e6..8ee6118452 100644 --- a/keyboards/kbdfans/maja/info.json +++ b/keyboards/kbdfans/maja/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"], diff --git a/keyboards/kbdfans/odin/rgb/info.json b/keyboards/kbdfans/odin/rgb/info.json index 46d9756ae9..308e9870cc 100644 --- a/keyboards/kbdfans/odin/rgb/info.json +++ b/keyboards/kbdfans/odin/rgb/info.json @@ -12,7 +12,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B12", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "C13", "C14", "C15", "A0"], diff --git a/keyboards/keebio/bamfk4/info.json b/keyboards/keebio/bamfk4/info.json index 52e072dcf9..061eef9df2 100644 --- a/keyboards/keebio/bamfk4/info.json +++ b/keyboards/keebio/bamfk4/info.json @@ -12,7 +12,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/keebio/bdn9/rev2/info.json b/keyboards/keebio/bdn9/rev2/info.json index c7dd5d6bcd..88d0083406 100644 --- a/keyboards/keebio/bdn9/rev2/info.json +++ b/keyboards/keebio/bdn9/rev2/info.json @@ -14,7 +14,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "encoder": { "rotary": [ diff --git a/keyboards/keebio/cepstrum/rev1/info.json b/keyboards/keebio/cepstrum/rev1/info.json index df98f9f12e..b5bf188c92 100644 --- a/keyboards/keebio/cepstrum/rev1/info.json +++ b/keyboards/keebio/cepstrum/rev1/info.json @@ -124,7 +124,7 @@ "pin": "GP18" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [48, 48], "layout": [ {"flags":2, "x":46, "y":0}, diff --git a/keyboards/keebio/chocopad/rev2/info.json b/keyboards/keebio/chocopad/rev2/info.json index cb29d0e83c..a615aac7ad 100644 --- a/keyboards/keebio/chocopad/rev2/info.json +++ b/keyboards/keebio/chocopad/rev2/info.json @@ -21,7 +21,7 @@ "driver": "vendor" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "animations": { "alphas_mods": true, "gradient_up_down": true, diff --git a/keyboards/keebio/convolution/rev1/info.json b/keyboards/keebio/convolution/rev1/info.json index 7a8b88e7dc..5255f00ab9 100644 --- a/keyboards/keebio/convolution/rev1/info.json +++ b/keyboards/keebio/convolution/rev1/info.json @@ -29,7 +29,7 @@ "driver": "vendor" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 12, "y": 13}, {"flags": 2, "x": 40, "y": 13}, diff --git a/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk b/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk index 73761f8e6f..56c422e572 100644 --- a/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk +++ b/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk @@ -18,7 +18,7 @@ CONSOLE_ENABLE = no # Console for debug RGBLIGHT_ENABLE = yes RGB_MATRIX_ENABLE = no #RGB_MATRIX_ENABLE = yes -#RGB_MATRIX_DRIVER = WS2812 +#RGB_MATRIX_DRIVER = ws2812 LTO_ENABLE = yes VIA_ENABLE = yes KEY_OVERRIDE_ENABLE = yes diff --git a/keyboards/keebio/iris/rev6/info.json b/keyboards/keebio/iris/rev6/info.json index c2e1d2158d..8a5072d39b 100644 --- a/keyboards/keebio/iris/rev6/info.json +++ b/keyboards/keebio/iris/rev6/info.json @@ -5,7 +5,7 @@ "device_version": "6.2.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F1", "F4", "B5", "C7", "D4", "D6"], diff --git a/keyboards/keebio/iris/rev7/info.json b/keyboards/keebio/iris/rev7/info.json index aa8e4ffc43..72b56ac8d3 100644 --- a/keyboards/keebio/iris/rev7/info.json +++ b/keyboards/keebio/iris/rev7/info.json @@ -5,7 +5,7 @@ "device_version": "7.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F1", "F4", "B5", "C7", "D4", "D6"], diff --git a/keyboards/keebio/iris/rev8/info.json b/keyboards/keebio/iris/rev8/info.json index 198e4fd56f..7d75640801 100644 --- a/keyboards/keebio/iris/rev8/info.json +++ b/keyboards/keebio/iris/rev8/info.json @@ -156,7 +156,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "WS2812", + "driver": "ws2812", "split_count": [34, 34], "max_brightness": 120, "layout": [ diff --git a/keyboards/keebio/nyquist/rev4/info.json b/keyboards/keebio/nyquist/rev4/info.json index 1788f3427f..d18af71952 100644 --- a/keyboards/keebio/nyquist/rev4/info.json +++ b/keyboards/keebio/nyquist/rev4/info.json @@ -180,7 +180,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [36, 36], "max_brightness": 120, "animations": { diff --git a/keyboards/keebio/sinc/rev3/info.json b/keyboards/keebio/sinc/rev3/info.json index 76dfd88b3e..8ba35fd158 100644 --- a/keyboards/keebio/sinc/rev3/info.json +++ b/keyboards/keebio/sinc/rev3/info.json @@ -44,7 +44,7 @@ "driver": "vendor" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [56, 57], "layout": [ {"flags": 4, "matrix": [5, 2], "x": 30, "y": 0}, diff --git a/keyboards/keebio/sinc/rev4/info.json b/keyboards/keebio/sinc/rev4/info.json index f985f64e48..31d402c42e 100644 --- a/keyboards/keebio/sinc/rev4/info.json +++ b/keyboards/keebio/sinc/rev4/info.json @@ -42,7 +42,7 @@ "driver": "vendor" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [58, 59], "layout": [ {"flags": 4, "matrix": [5, 2], "x": 30, "y": 0}, diff --git a/keyboards/keebio/stick/info.json b/keyboards/keebio/stick/info.json index c5d88a746c..08bf76423b 100644 --- a/keyboards/keebio/stick/info.json +++ b/keyboards/keebio/stick/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "encoder": { "rotary": [ diff --git a/keyboards/keebwerk/mega/ansi/ansi.c b/keyboards/keebwerk/mega/ansi/ansi.c index 532cdec9aa..4494ffd9ff 100755 --- a/keyboards/keebwerk/mega/ansi/ansi.c +++ b/keyboards/keebwerk/mega/ansi/ansi.c @@ -36,7 +36,7 @@ uint8_t B = 0; // } else { // G = 0; // } -// IS31FL3733_set_color( 6+64-1, R, G, B ); +// is31fl3733_set_color( 6+64-1, R, G, B ); // } // return res; // } @@ -54,6 +54,6 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { if (IS_LAYER_ON_STATE(layer_state, 3)) { B = 255; } - IS31FL3733_set_color( 6+64-1, R, G, B ); + is31fl3733_set_color( 6+64-1, R, G, B ); return state; } diff --git a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c index a9b1dec281..2b5d658f02 100644 --- a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c +++ b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c @@ -77,25 +77,25 @@ bool bootAnimation(void){ G = 255; R = 0; B = 0; - IS31FL3733_set_color( 6+64-1, R, G, B ); + 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 ); + 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 ); + 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 ); + is31fl3733_set_color( 6+64-1, R, G, B ); ledTimer = timer_read(); bootFirst--; } @@ -105,13 +105,13 @@ bool bootAnimation(void){ G = 255; R = 255; B = 255; - IS31FL3733_set_color( 6+64-1, R, G, B ); + 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 ); + is31fl3733_set_color( 6+64-1, R, G, B ); ledTimer = timer_read(); bootSec--; } @@ -129,7 +129,7 @@ void breathing(void) { G+=fadeStep; R+=fadeStep; B+=fadeStep; - IS31FL3733_set_color( 6+64-1, R, G, B ); + is31fl3733_set_color( 6+64-1, R, G, B ); previousTime = time; } } @@ -139,7 +139,7 @@ void breathing(void) { G-=fadeStep; R-=fadeStep; B-=fadeStep; - IS31FL3733_set_color( 6+64-1, R, G, B ); + is31fl3733_set_color( 6+64-1, R, G, B ); previousTime = time; } } @@ -147,7 +147,7 @@ void breathing(void) { R=0; G=0; B=0; - IS31FL3733_set_color( 6+64-1, R, G, B ); + is31fl3733_set_color( 6+64-1, R, G, B ); previousTime = 0; time = 0; ledTimer=timer_read(); @@ -169,7 +169,7 @@ void matrix_scan_user(void){ G = 0; R = 0; B = 0; - IS31FL3733_set_color( 6+64-1, R, G, B ); + is31fl3733_set_color( 6+64-1, R, G, B ); prevCapsState = capsState; } } diff --git a/keyboards/keybee/keybee65/info.json b/keyboards/keybee/keybee65/info.json index af92a14a68..7ec1979c08 100644 --- a/keyboards/keybee/keybee65/info.json +++ b/keyboards/keybee/keybee65/info.json @@ -12,7 +12,7 @@ "pin": "B0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "max_brightness": 96 diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk index 96b99cdff0..46cb8d8a94 100644 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk @@ -9,7 +9,7 @@ LTO_ENABLE = yes #ENABLE RGB MATRIX WITH DRIVER WS2812 RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 #DEFINE SPLIT KEYBOARD AND SPLIT TRANSPORT MIRROR SPLIT_KEYBOARD = yes diff --git a/keyboards/keychron/c1_pro/ansi/rgb/info.json b/keyboards/keychron/c1_pro/ansi/rgb/info.json index e5f964a96a..c6011a2837 100644 --- a/keyboards/keychron/c1_pro/ansi/rgb/info.json +++ b/keyboards/keychron/c1_pro/ansi/rgb/info.json @@ -105,7 +105,7 @@ } }, "rgb_matrix": { - "driver": "CKLED2001", + "driver": "ckled2001", "animations": { "breathing": true, "band_spiral_val": true, diff --git a/keyboards/keychron/c2_pro/ansi/rgb/info.json b/keyboards/keychron/c2_pro/ansi/rgb/info.json index eab0e9bdc4..e527af3371 100644 --- a/keyboards/keychron/c2_pro/ansi/rgb/info.json +++ b/keyboards/keychron/c2_pro/ansi/rgb/info.json @@ -122,7 +122,7 @@ } }, "rgb_matrix": { - "driver": "CKLED2001", + "driver": "ckled2001", "animations": { "breathing": true, "band_spiral_val": true, diff --git a/keyboards/keychron/q0/rev_0130/info.json b/keyboards/keychron/q0/rev_0130/info.json index bb901c4220..f6225c884a 100644 --- a/keyboards/keychron/q0/rev_0130/info.json +++ b/keyboards/keychron/q0/rev_0130/info.json @@ -29,7 +29,7 @@ "processor": "STM32L432", "bootloader": "stm32-dfu", "rgb_matrix": { - "driver": "CKLED2001", + "driver": "ckled2001", "animations": { "band_spiral_val": true, "breathing": true, diff --git a/keyboards/keychron/q0/rev_0131/info.json b/keyboards/keychron/q0/rev_0131/info.json index 5f8d6219de..c569e498f4 100644 --- a/keyboards/keychron/q0/rev_0131/info.json +++ b/keyboards/keychron/q0/rev_0131/info.json @@ -38,7 +38,7 @@ "processor": "STM32L432", "bootloader": "stm32-dfu", "rgb_matrix": { - "driver": "CKLED2001", + "driver": "ckled2001", "animations": { "band_spiral_val": true, "breathing": true, diff --git a/keyboards/keychron/q1/ansi/info.json b/keyboards/keychron/q1/ansi/info.json index b48eaee03e..8ff2075747 100644 --- a/keyboards/keychron/q1/ansi/info.json +++ b/keyboards/keychron/q1/ansi/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/keychron/q1/ansi_encoder/info.json b/keyboards/keychron/q1/ansi_encoder/info.json index f520724989..ef361257f0 100644 --- a/keyboards/keychron/q1/ansi_encoder/info.json +++ b/keyboards/keychron/q1/ansi_encoder/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/keychron/q1/iso/info.json b/keyboards/keychron/q1/iso/info.json index 9caf6d6183..424ed021e1 100644 --- a/keyboards/keychron/q1/iso/info.json +++ b/keyboards/keychron/q1/iso/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/keychron/q1/iso_encoder/info.json b/keyboards/keychron/q1/iso_encoder/info.json index a3aba1aed3..250cd1ffb4 100644 --- a/keyboards/keychron/q1/iso_encoder/info.json +++ b/keyboards/keychron/q1/iso_encoder/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/keychron/q10/ansi_encoder/info.json b/keyboards/keychron/q10/ansi_encoder/info.json index 6b44fdbfdb..8a8a624154 100644 --- a/keyboards/keychron/q10/ansi_encoder/info.json +++ b/keyboards/keychron/q10/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q10/iso_encoder/info.json b/keyboards/keychron/q10/iso_encoder/info.json index 14910d2939..d7e1bf2885 100644 --- a/keyboards/keychron/q10/iso_encoder/info.json +++ b/keyboards/keychron/q10/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json index 43029ebbc3..cd2864979d 100755 --- a/keyboards/keychron/q11/info.json +++ b/keyboards/keychron/q11/info.json @@ -59,7 +59,7 @@ ] }, "rgb_matrix": { - "driver": "CKLED2001", + "driver": "ckled2001", "animations": { "breathing": true, "band_spiral_val": true, diff --git a/keyboards/keychron/q12/ansi_encoder/info.json b/keyboards/keychron/q12/ansi_encoder/info.json index 007c2cafea..97c1334ffd 100644 --- a/keyboards/keychron/q12/ansi_encoder/info.json +++ b/keyboards/keychron/q12/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q12/iso_encoder/info.json b/keyboards/keychron/q12/iso_encoder/info.json index 33c719f26b..cd848c86b6 100644 --- a/keyboards/keychron/q12/iso_encoder/info.json +++ b/keyboards/keychron/q12/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q2/ansi/info.json b/keyboards/keychron/q2/ansi/info.json index 8683144f89..8ed601fe8f 100644 --- a/keyboards/keychron/q2/ansi/info.json +++ b/keyboards/keychron/q2/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q2/ansi_encoder/info.json b/keyboards/keychron/q2/ansi_encoder/info.json index b05c2e68d2..c9587d20ea 100644 --- a/keyboards/keychron/q2/ansi_encoder/info.json +++ b/keyboards/keychron/q2/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q2/iso/info.json b/keyboards/keychron/q2/iso/info.json index 17905eb872..e3cad79b14 100644 --- a/keyboards/keychron/q2/iso/info.json +++ b/keyboards/keychron/q2/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q2/iso_encoder/info.json b/keyboards/keychron/q2/iso_encoder/info.json index f5a2976bd3..5030e6be42 100644 --- a/keyboards/keychron/q2/iso_encoder/info.json +++ b/keyboards/keychron/q2/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q2/jis/info.json b/keyboards/keychron/q2/jis/info.json index 09092873eb..d0af24b29d 100644 --- a/keyboards/keychron/q2/jis/info.json +++ b/keyboards/keychron/q2/jis/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q2/jis_encoder/info.json b/keyboards/keychron/q2/jis_encoder/info.json index af22479aa0..e409fb63a6 100644 --- a/keyboards/keychron/q2/jis_encoder/info.json +++ b/keyboards/keychron/q2/jis_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q3/ansi/info.json b/keyboards/keychron/q3/ansi/info.json index 3f18242e45..124ac1bdcc 100644 --- a/keyboards/keychron/q3/ansi/info.json +++ b/keyboards/keychron/q3/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/q3/ansi_encoder/info.json b/keyboards/keychron/q3/ansi_encoder/info.json index b536bb235e..2dd2f18bf9 100644 --- a/keyboards/keychron/q3/ansi_encoder/info.json +++ b/keyboards/keychron/q3/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q3/iso/info.json b/keyboards/keychron/q3/iso/info.json index e858ee2245..c9618c5b47 100644 --- a/keyboards/keychron/q3/iso/info.json +++ b/keyboards/keychron/q3/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/q3/iso_encoder/info.json b/keyboards/keychron/q3/iso_encoder/info.json index 6790d8b06f..8571445087 100644 --- a/keyboards/keychron/q3/iso_encoder/info.json +++ b/keyboards/keychron/q3/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q3/jis/info.json b/keyboards/keychron/q3/jis/info.json index 772b8f4c18..6f17a7cf9d 100644 --- a/keyboards/keychron/q3/jis/info.json +++ b/keyboards/keychron/q3/jis/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/q3/jis_encoder/info.json b/keyboards/keychron/q3/jis_encoder/info.json index 2bb4242c1b..fd1f361f57 100644 --- a/keyboards/keychron/q3/jis_encoder/info.json +++ b/keyboards/keychron/q3/jis_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q4/ansi_v1/info.json b/keyboards/keychron/q4/ansi_v1/info.json index 4de9da9c8d..8ee286c481 100644 --- a/keyboards/keychron/q4/ansi_v1/info.json +++ b/keyboards/keychron/q4/ansi_v1/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], diff --git a/keyboards/keychron/q4/ansi_v2/info.json b/keyboards/keychron/q4/ansi_v2/info.json index 4de9da9c8d..8ee286c481 100644 --- a/keyboards/keychron/q4/ansi_v2/info.json +++ b/keyboards/keychron/q4/ansi_v2/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], diff --git a/keyboards/keychron/q4/iso/info.json b/keyboards/keychron/q4/iso/info.json index 5d675ff3b5..f8945cda61 100644 --- a/keyboards/keychron/q4/iso/info.json +++ b/keyboards/keychron/q4/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], diff --git a/keyboards/keychron/q5/ansi/info.json b/keyboards/keychron/q5/ansi/info.json index 7be2a38367..55d7ae0165 100644 --- a/keyboards/keychron/q5/ansi/info.json +++ b/keyboards/keychron/q5/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/q5/ansi_encoder/info.json b/keyboards/keychron/q5/ansi_encoder/info.json index a1a12f17ed..468261b1e9 100644 --- a/keyboards/keychron/q5/ansi_encoder/info.json +++ b/keyboards/keychron/q5/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q5/iso/info.json b/keyboards/keychron/q5/iso/info.json index 786fa4a67e..3b0b2ea1a0 100644 --- a/keyboards/keychron/q5/iso/info.json +++ b/keyboards/keychron/q5/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/q5/iso_encoder/info.json b/keyboards/keychron/q5/iso_encoder/info.json index 650af582af..eefa6dc693 100644 --- a/keyboards/keychron/q5/iso_encoder/info.json +++ b/keyboards/keychron/q5/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q6/ansi/info.json b/keyboards/keychron/q6/ansi/info.json index f12809d8d0..fdec220e80 100644 --- a/keyboards/keychron/q6/ansi/info.json +++ b/keyboards/keychron/q6/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/q6/ansi_encoder/info.json b/keyboards/keychron/q6/ansi_encoder/info.json index ce1ffbb294..df3902f44a 100644 --- a/keyboards/keychron/q6/ansi_encoder/info.json +++ b/keyboards/keychron/q6/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q6/iso/info.json b/keyboards/keychron/q6/iso/info.json index 77285ad1b9..dfaa20aa93 100644 --- a/keyboards/keychron/q6/iso/info.json +++ b/keyboards/keychron/q6/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/q6/iso_encoder/info.json b/keyboards/keychron/q6/iso_encoder/info.json index db795c312a..4590616831 100644 --- a/keyboards/keychron/q6/iso_encoder/info.json +++ b/keyboards/keychron/q6/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q60/ansi/info.json b/keyboards/keychron/q60/ansi/info.json index 5c915ea1a9..95b1c4e472 100644 --- a/keyboards/keychron/q60/ansi/info.json +++ b/keyboards/keychron/q60/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], diff --git a/keyboards/keychron/q65/ansi_encoder/info.json b/keyboards/keychron/q65/ansi_encoder/info.json index ce150f5a61..0f7679945a 100644 --- a/keyboards/keychron/q65/ansi_encoder/info.json +++ b/keyboards/keychron/q65/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/q7/ansi/info.json b/keyboards/keychron/q7/ansi/info.json index 6912d48a9e..2549e329f2 100644 --- a/keyboards/keychron/q7/ansi/info.json +++ b/keyboards/keychron/q7/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], diff --git a/keyboards/keychron/q7/iso/info.json b/keyboards/keychron/q7/iso/info.json index 6b5c9ec668..27262eb4f3 100644 --- a/keyboards/keychron/q7/iso/info.json +++ b/keyboards/keychron/q7/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], diff --git a/keyboards/keychron/q8/ansi/info.json b/keyboards/keychron/q8/ansi/info.json index 6ef7d5fee1..7ee5b6c21f 100644 --- a/keyboards/keychron/q8/ansi/info.json +++ b/keyboards/keychron/q8/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q8/ansi_encoder/info.json b/keyboards/keychron/q8/ansi_encoder/info.json index a8838ae8d1..a4c3ac77e1 100644 --- a/keyboards/keychron/q8/ansi_encoder/info.json +++ b/keyboards/keychron/q8/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q8/iso/info.json b/keyboards/keychron/q8/iso/info.json index bf7405cce2..03a6cd1fdd 100644 --- a/keyboards/keychron/q8/iso/info.json +++ b/keyboards/keychron/q8/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q8/iso_encoder/info.json b/keyboards/keychron/q8/iso_encoder/info.json index f55ccaf202..eb9dc22503 100644 --- a/keyboards/keychron/q8/iso_encoder/info.json +++ b/keyboards/keychron/q8/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/q9/ansi/info.json b/keyboards/keychron/q9/ansi/info.json index 736467f42f..952d3158c8 100644 --- a/keyboards/keychron/q9/ansi/info.json +++ b/keyboards/keychron/q9/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], diff --git a/keyboards/keychron/q9/ansi_encoder/info.json b/keyboards/keychron/q9/ansi_encoder/info.json index 95e2a1a2fb..4fd5352638 100644 --- a/keyboards/keychron/q9/ansi_encoder/info.json +++ b/keyboards/keychron/q9/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], diff --git a/keyboards/keychron/q9/iso/info.json b/keyboards/keychron/q9/iso/info.json index a28b47dcf0..3e9a7690c1 100644 --- a/keyboards/keychron/q9/iso/info.json +++ b/keyboards/keychron/q9/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], diff --git a/keyboards/keychron/q9/iso_encoder/info.json b/keyboards/keychron/q9/iso_encoder/info.json index f7f1ed8529..ecf944744d 100644 --- a/keyboards/keychron/q9/iso_encoder/info.json +++ b/keyboards/keychron/q9/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], diff --git a/keyboards/keychron/s1/ansi/rgb/info.json b/keyboards/keychron/s1/ansi/rgb/info.json index de3fdef573..3bef5f343c 100644 --- a/keyboards/keychron/s1/ansi/rgb/info.json +++ b/keyboards/keychron/s1/ansi/rgb/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], diff --git a/keyboards/keychron/v1/ansi/info.json b/keyboards/keychron/v1/ansi/info.json index 696f434622..f4c526bfdc 100644 --- a/keyboards/keychron/v1/ansi/info.json +++ b/keyboards/keychron/v1/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v1/ansi_encoder/info.json b/keyboards/keychron/v1/ansi_encoder/info.json index 6829cd7f76..9beffb9f6a 100644 --- a/keyboards/keychron/v1/ansi_encoder/info.json +++ b/keyboards/keychron/v1/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v1/iso/info.json b/keyboards/keychron/v1/iso/info.json index 871358a86b..5a4c74234c 100644 --- a/keyboards/keychron/v1/iso/info.json +++ b/keyboards/keychron/v1/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v1/iso_encoder/info.json b/keyboards/keychron/v1/iso_encoder/info.json index bffa90acad..106b43b5e7 100644 --- a/keyboards/keychron/v1/iso_encoder/info.json +++ b/keyboards/keychron/v1/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v1/jis/info.json b/keyboards/keychron/v1/jis/info.json index 173794430c..16365ccd9e 100644 --- a/keyboards/keychron/v1/jis/info.json +++ b/keyboards/keychron/v1/jis/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v1/jis_encoder/info.json b/keyboards/keychron/v1/jis_encoder/info.json index 73313eb64d..702e579758 100644 --- a/keyboards/keychron/v1/jis_encoder/info.json +++ b/keyboards/keychron/v1/jis_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v10/ansi_encoder/info.json b/keyboards/keychron/v10/ansi_encoder/info.json index 813a076bdc..2a7dc307cb 100644 --- a/keyboards/keychron/v10/ansi_encoder/info.json +++ b/keyboards/keychron/v10/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v10/iso_encoder/info.json b/keyboards/keychron/v10/iso_encoder/info.json index 9cf0add090..455b375472 100644 --- a/keyboards/keychron/v10/iso_encoder/info.json +++ b/keyboards/keychron/v10/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v2/ansi/info.json b/keyboards/keychron/v2/ansi/info.json index 7d844d0c1d..d07fba97b8 100644 --- a/keyboards/keychron/v2/ansi/info.json +++ b/keyboards/keychron/v2/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v2/ansi_encoder/info.json b/keyboards/keychron/v2/ansi_encoder/info.json index 8de781ab9c..c733b389e6 100644 --- a/keyboards/keychron/v2/ansi_encoder/info.json +++ b/keyboards/keychron/v2/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v2/iso/info.json b/keyboards/keychron/v2/iso/info.json index 45ba9503e4..0d8376f7b7 100644 --- a/keyboards/keychron/v2/iso/info.json +++ b/keyboards/keychron/v2/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v2/iso_encoder/info.json b/keyboards/keychron/v2/iso_encoder/info.json index d517e341df..0241cdb21e 100644 --- a/keyboards/keychron/v2/iso_encoder/info.json +++ b/keyboards/keychron/v2/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v2/jis/info.json b/keyboards/keychron/v2/jis/info.json index 6a705e7f8c..f65e2b51d2 100644 --- a/keyboards/keychron/v2/jis/info.json +++ b/keyboards/keychron/v2/jis/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v2/jis_encoder/info.json b/keyboards/keychron/v2/jis_encoder/info.json index 028432f7f7..263e403167 100644 --- a/keyboards/keychron/v2/jis_encoder/info.json +++ b/keyboards/keychron/v2/jis_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v3/ansi/info.json b/keyboards/keychron/v3/ansi/info.json index e0d7fdb63d..6572066329 100644 --- a/keyboards/keychron/v3/ansi/info.json +++ b/keyboards/keychron/v3/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v3/ansi_encoder/info.json b/keyboards/keychron/v3/ansi_encoder/info.json index 3232da0fba..cffbc85158 100644 --- a/keyboards/keychron/v3/ansi_encoder/info.json +++ b/keyboards/keychron/v3/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v3/iso/info.json b/keyboards/keychron/v3/iso/info.json index 3ba7acb322..18c73a8f58 100644 --- a/keyboards/keychron/v3/iso/info.json +++ b/keyboards/keychron/v3/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v3/iso_encoder/info.json b/keyboards/keychron/v3/iso_encoder/info.json index 5cd2631c12..60c56a6b87 100644 --- a/keyboards/keychron/v3/iso_encoder/info.json +++ b/keyboards/keychron/v3/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v3/jis/info.json b/keyboards/keychron/v3/jis/info.json index 4680d5e0b5..9b97707b2f 100644 --- a/keyboards/keychron/v3/jis/info.json +++ b/keyboards/keychron/v3/jis/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v3/jis_encoder/info.json b/keyboards/keychron/v3/jis_encoder/info.json index 2cc5207006..585cf4519e 100644 --- a/keyboards/keychron/v3/jis_encoder/info.json +++ b/keyboards/keychron/v3/jis_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v4/ansi/info.json b/keyboards/keychron/v4/ansi/info.json index b55717243e..812aec53a7 100644 --- a/keyboards/keychron/v4/ansi/info.json +++ b/keyboards/keychron/v4/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], diff --git a/keyboards/keychron/v4/iso/info.json b/keyboards/keychron/v4/iso/info.json index 6c481ed18f..7d4a8eae1d 100644 --- a/keyboards/keychron/v4/iso/info.json +++ b/keyboards/keychron/v4/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], diff --git a/keyboards/keychron/v5/ansi/info.json b/keyboards/keychron/v5/ansi/info.json index 7b087b7033..bc5eec2ca5 100644 --- a/keyboards/keychron/v5/ansi/info.json +++ b/keyboards/keychron/v5/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v5/ansi_encoder/info.json b/keyboards/keychron/v5/ansi_encoder/info.json index 32824efe6b..8a4aec4e36 100644 --- a/keyboards/keychron/v5/ansi_encoder/info.json +++ b/keyboards/keychron/v5/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v5/iso/info.json b/keyboards/keychron/v5/iso/info.json index 0fac99cd38..02db87e9ac 100644 --- a/keyboards/keychron/v5/iso/info.json +++ b/keyboards/keychron/v5/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v5/iso_encoder/info.json b/keyboards/keychron/v5/iso_encoder/info.json index 1c650cdf50..b0be43fc50 100644 --- a/keyboards/keychron/v5/iso_encoder/info.json +++ b/keyboards/keychron/v5/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v6/ansi/info.json b/keyboards/keychron/v6/ansi/info.json index 3c1a0eb817..3f12305f06 100644 --- a/keyboards/keychron/v6/ansi/info.json +++ b/keyboards/keychron/v6/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v6/ansi_encoder/info.json b/keyboards/keychron/v6/ansi_encoder/info.json index 4f14dea8ca..ad0ea78318 100644 --- a/keyboards/keychron/v6/ansi_encoder/info.json +++ b/keyboards/keychron/v6/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v6/iso/info.json b/keyboards/keychron/v6/iso/info.json index adbebecda6..0840ee9cc8 100644 --- a/keyboards/keychron/v6/iso/info.json +++ b/keyboards/keychron/v6/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "processor": "STM32L432", "bootloader": "stm32-dfu", diff --git a/keyboards/keychron/v6/iso_encoder/info.json b/keyboards/keychron/v6/iso_encoder/info.json index 177c48b912..a40d4d66b6 100644 --- a/keyboards/keychron/v6/iso_encoder/info.json +++ b/keyboards/keychron/v6/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "encoder": { "rotary": [ diff --git a/keyboards/keychron/v7/ansi/info.json b/keyboards/keychron/v7/ansi/info.json index 6e831d2607..26f31786b5 100644 --- a/keyboards/keychron/v7/ansi/info.json +++ b/keyboards/keychron/v7/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], diff --git a/keyboards/keychron/v7/iso/info.json b/keyboards/keychron/v7/iso/info.json index d3ae4f75e5..f29d9d9a32 100644 --- a/keyboards/keychron/v7/iso/info.json +++ b/keyboards/keychron/v7/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], diff --git a/keyboards/keychron/v8/ansi/info.json b/keyboards/keychron/v8/ansi/info.json index 38e8be2c00..02780ffcde 100644 --- a/keyboards/keychron/v8/ansi/info.json +++ b/keyboards/keychron/v8/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v8/ansi_encoder/info.json b/keyboards/keychron/v8/ansi_encoder/info.json index c2325070aa..c3fc389780 100644 --- a/keyboards/keychron/v8/ansi_encoder/info.json +++ b/keyboards/keychron/v8/ansi_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v8/iso/info.json b/keyboards/keychron/v8/iso/info.json index 585dcc979c..5f30af5b1a 100644 --- a/keyboards/keychron/v8/iso/info.json +++ b/keyboards/keychron/v8/iso/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/keychron/v8/iso_encoder/info.json b/keyboards/keychron/v8/iso_encoder/info.json index a0ddfcbeea..e13261a2d6 100644 --- a/keyboards/keychron/v8/iso_encoder/info.json +++ b/keyboards/keychron/v8/iso_encoder/info.json @@ -9,7 +9,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "CKLED2001" + "driver": "ckled2001" }, "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], diff --git a/keyboards/kprepublic/bm16a/v2/info.json b/keyboards/kprepublic/bm16a/v2/info.json index 8d65ee51f4..e922d0b9ee 100644 --- a/keyboards/kprepublic/bm16a/v2/info.json +++ b/keyboards/kprepublic/bm16a/v2/info.json @@ -55,7 +55,7 @@ }, "community_layouts": ["ortho_4x4"], "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "animations": { "alphas_mods": true, "gradient_up_down": true, diff --git a/keyboards/kprepublic/bm40hsrgb/info.json b/keyboards/kprepublic/bm40hsrgb/info.json index 4007cc7360..c0ba89dbab 100644 --- a/keyboards/kprepublic/bm40hsrgb/info.json +++ b/keyboards/kprepublic/bm40hsrgb/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "max_brightness": 180 diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/info.json b/keyboards/kprepublic/bm60hsrgb/rev1/info.json index f73af590d3..589f4310f7 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev1/info.json +++ b/keyboards/kprepublic/bm60hsrgb/rev1/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "max_brightness": 180 diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c index 869db0368a..bbc3e8db52 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c @@ -153,16 +153,16 @@ LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; static void rgb_matrix_driver_init(void) { i2c_init(); - IS31FL3733_init(DRIVER_ADDR_1, 0); + is31fl3733_init(DRIVER_ADDR_1, 0); for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) { bool enabled = true; - IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); + is31fl3733_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0); } static void rgb_matrix_driver_flush(void) { - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0); # if WS2812_LED_TOTAL > 0 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); # endif @@ -170,7 +170,7 @@ static void rgb_matrix_driver_flush(void) { static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < ISSI_LED_TOTAL) { - IS31FL3733_set_color(index, red, green, blue); + is31fl3733_set_color(index, red, green, blue); } else { # if WS2812_LED_TOTAL > 0 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red; @@ -181,7 +181,7 @@ static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, u } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - IS31FL3733_set_color_all(red, green, blue); + is31fl3733_set_color_all(red, green, blue); # if WS2812_LED_TOTAL > 0 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { rgb_matrix_ws2812_array[i].r = red; diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json index 3849e5a338..a18aa9d4f5 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json index 0b0b5c749d..42ad9d6a6a 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json @@ -12,7 +12,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json index 800ff0de31..ad67cc28c3 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c index fb38180b4d..c4ac03e447 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c @@ -153,16 +153,16 @@ LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; static void rgb_matrix_driver_init(void) { i2c_init(); - IS31FL3733_init(DRIVER_ADDR_1, 0); + is31fl3733_init(DRIVER_ADDR_1, 0); for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) { bool enabled = true; - IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); + is31fl3733_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0); } static void rgb_matrix_driver_flush(void) { - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0); # if WS2812_LED_TOTAL > 0 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); # endif @@ -170,7 +170,7 @@ static void rgb_matrix_driver_flush(void) { static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < ISSI_LED_TOTAL) { - IS31FL3733_set_color(index, red, green, blue); + is31fl3733_set_color(index, red, green, blue); } else { # if WS2812_LED_TOTAL > 0 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red; @@ -181,7 +181,7 @@ static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, u } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - IS31FL3733_set_color_all(red, green, blue); + is31fl3733_set_color_all(red, green, blue); # if WS2812_LED_TOTAL > 0 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { rgb_matrix_ws2812_array[i].r = red; diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json index c323a31dea..796792082d 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c index ee95726e16..bd976f315a 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c @@ -149,16 +149,16 @@ LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; static void rgb_matrix_driver_init(void) { i2c_init(); - IS31FL3733_init(DRIVER_ADDR_1, 0); + is31fl3733_init(DRIVER_ADDR_1, 0); for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) { bool enabled = true; - IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); + is31fl3733_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0); } static void rgb_matrix_driver_flush(void) { - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0); # if WS2812_LED_TOTAL > 0 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); # endif @@ -166,7 +166,7 @@ static void rgb_matrix_driver_flush(void) { static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < ISSI_LED_TOTAL) { - IS31FL3733_set_color(index, red, green, blue); + is31fl3733_set_color(index, red, green, blue); } else { # if WS2812_LED_TOTAL > 0 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red; @@ -177,7 +177,7 @@ static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, u } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - IS31FL3733_set_color_all(red, green, blue); + is31fl3733_set_color_all(red, green, blue); # if WS2812_LED_TOTAL > 0 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { rgb_matrix_ws2812_array[i].r = red; diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/info.json b/keyboards/kprepublic/bm65hsrgb/rev1/info.json index d88f3b8177..563d90ce32 100644 --- a/keyboards/kprepublic/bm65hsrgb/rev1/info.json +++ b/keyboards/kprepublic/bm65hsrgb/rev1/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json index c73c2cca8e..61bff7700d 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json @@ -19,7 +19,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/info.json b/keyboards/kprepublic/bm68hsrgb/rev1/info.json index a965121f64..ac3dcdf508 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/info.json +++ b/keyboards/kprepublic/bm68hsrgb/rev1/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/info.json b/keyboards/kprepublic/bm68hsrgb/rev2/info.json index 7df0c1e4e3..a6d78da7e6 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/info.json +++ b/keyboards/kprepublic/bm68hsrgb/rev2/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/kprepublic/bm80hsrgb/info.json b/keyboards/kprepublic/bm80hsrgb/info.json index d3989e3615..0feaa9a99a 100644 --- a/keyboards/kprepublic/bm80hsrgb/info.json +++ b/keyboards/kprepublic/bm80hsrgb/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "D7", "D6", "D4", "D5", "D3", "D2", "F5", "F6", "F7", "D1", "D0", "B4", "B5", "B6"], diff --git a/keyboards/kprepublic/bm80v2/info.json b/keyboards/kprepublic/bm80v2/info.json index cbad2ee816..a30886a988 100644 --- a/keyboards/kprepublic/bm80v2/info.json +++ b/keyboards/kprepublic/bm80v2/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"], diff --git a/keyboards/kprepublic/bm80v2_iso/info.json b/keyboards/kprepublic/bm80v2_iso/info.json index 064af02128..6f8bdc5fd9 100644 --- a/keyboards/kprepublic/bm80v2_iso/info.json +++ b/keyboards/kprepublic/bm80v2_iso/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"], diff --git a/keyboards/kprepublic/bm980hsrgb/info.json b/keyboards/kprepublic/bm980hsrgb/info.json index badd7d6458..29944ba474 100644 --- a/keyboards/kprepublic/bm980hsrgb/info.json +++ b/keyboards/kprepublic/bm980hsrgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "E6", "F0", "F1", "F4", "F5", "D6"], diff --git a/keyboards/kuro/kuro65/info.json b/keyboards/kuro/kuro65/info.json index eacb0a3ce6..c91a34f55c 100644 --- a/keyboards/kuro/kuro65/info.json +++ b/keyboards/kuro/kuro65/info.json @@ -115,7 +115,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [4, 6], "x": 96, "y": 64}, {"flags": 1, "matrix": [4, 10], "x": 150, "y": 64}, diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk index cfdb94059b..0a6437f0ef 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk @@ -1,2 +1,2 @@ RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 \ No newline at end of file +RGB_MATRIX_DRIVER = ws2812 \ No newline at end of file diff --git a/keyboards/laser_ninja/pumpkin_pad/info.json b/keyboards/laser_ninja/pumpkin_pad/info.json index 9b11f873a1..cb76145388 100644 --- a/keyboards/laser_ninja/pumpkin_pad/info.json +++ b/keyboards/laser_ninja/pumpkin_pad/info.json @@ -46,7 +46,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 36, "y": 3}, {"flags": 2, "x": 86, "y": 2}, diff --git a/keyboards/latincompass/latin17rgb/info.json b/keyboards/latincompass/latin17rgb/info.json index ad61a4f354..5c8e869840 100644 --- a/keyboards/latincompass/latin17rgb/info.json +++ b/keyboards/latincompass/latin17rgb/info.json @@ -19,7 +19,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4"], diff --git a/keyboards/latincompass/latin60rgb/info.json b/keyboards/latincompass/latin60rgb/info.json index 3c32ccf76b..f11f6ac3d5 100644 --- a/keyboards/latincompass/latin60rgb/info.json +++ b/keyboards/latincompass/latin60rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6", "B0", "B1", "B2", "B3", "D6", "D4", "D3"], diff --git a/keyboards/latincompass/latin6rgb/info.json b/keyboards/latincompass/latin6rgb/info.json index dd7cfc232d..0c43da36e4 100644 --- a/keyboards/latincompass/latin6rgb/info.json +++ b/keyboards/latincompass/latin6rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "F5"], diff --git a/keyboards/latincompass/latinpad/info.json b/keyboards/latincompass/latinpad/info.json index 3705550a60..6c54145723 100644 --- a/keyboards/latincompass/latinpad/info.json +++ b/keyboards/latincompass/latinpad/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D4", "C6", "D7", "E6"], diff --git a/keyboards/lily58/r2g/info.json b/keyboards/lily58/r2g/info.json index e445d1d48f..c7fe3e011e 100644 --- a/keyboards/lily58/r2g/info.json +++ b/keyboards/lily58/r2g/info.json @@ -104,7 +104,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [37, 37], "layout": [ {"flags": 4, "matrix": [0, 5], "x": 72, "y": 4}, // L SW06 diff --git a/keyboards/linworks/fave65h/info.json b/keyboards/linworks/fave65h/info.json index c0fbdd6903..3bcfcb0116 100644 --- a/keyboards/linworks/fave65h/info.json +++ b/keyboards/linworks/fave65h/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/linworks/fave84h/info.json b/keyboards/linworks/fave84h/info.json index 96e432e5ee..01619e7bc6 100644 --- a/keyboards/linworks/fave84h/info.json +++ b/keyboards/linworks/fave84h/info.json @@ -23,7 +23,7 @@ "rows": ["B1", "B2", "B3", "D3", "D1", "D0"] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [3, 13], "x": 190, "y": 40}, {"flags": 4, "matrix": [3, 11], "x": 167, "y": 40}, diff --git a/keyboards/linworks/fave87h/info.json b/keyboards/linworks/fave87h/info.json index 4b7aff9ae3..c2008c4bb2 100644 --- a/keyboards/linworks/fave87h/info.json +++ b/keyboards/linworks/fave87h/info.json @@ -12,7 +12,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "B0", "B7", "E6"], diff --git a/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk b/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk index c3b1e0a8b9..9fa73f2406 100644 --- a/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk +++ b/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk @@ -4,4 +4,4 @@ RGBLIGHT_ENABLE = no AUDIO_ENABLE = no BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 diff --git a/keyboards/marksard/rhymestone/rev1/info.json b/keyboards/marksard/rhymestone/rev1/info.json index ba13c35b88..17be92c44c 100644 --- a/keyboards/marksard/rhymestone/rev1/info.json +++ b/keyboards/marksard/rhymestone/rev1/info.json @@ -9,7 +9,7 @@ "device_version": "0.2.0" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c index 4466ec3bea..4567f0348d 100644 --- a/keyboards/matrix/m20add/rgb_ring.c +++ b/keyboards/matrix/m20add/rgb_ring.c @@ -135,13 +135,13 @@ static void testing_mode(void) if (timer_elapsed(animation_status.last_timer) > EFFECT_TEST_INTERVAL) { HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; RGB c = hsv_to_rgb(h); - //IS31FL3731_set_color_all(c.r, c.g, c.b); - IS31FL3731_set_color_all(0, 0, 0); - IS31FL3731_set_color(rgb_ring.outer_index+RING_OUTER_BEGIN, c.r, c.g, c.b); + //is31fl3731_set_color_all(c.r, c.g, c.b); + is31fl3731_set_color_all(0, 0, 0); + is31fl3731_set_color(rgb_ring.outer_index+RING_OUTER_BEGIN, c.r, c.g, c.b); h.v = EFFECT_TEST_VAL_STEP*rgb_ring.outer_index; c = hsv_to_rgb(h); for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { - IS31FL3731_set_color(i, c.r, c.g, c.b); + is31fl3731_set_color(i, c.r, c.g, c.b); } rgb_ring.outer_index = (rgb_ring.outer_index + 1) % RING_OUTER_SIZE; //rgb_ring.inner_index = (rgb_ring.inner_index + 1) % RING_INNER_SIZE; @@ -183,7 +183,7 @@ static void ring_effect_no_1(void) HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(i, c.r, c.g, c.b); + is31fl3731_set_color(i, c.r, c.g, c.b); } rgblight_config.hue += EFFECT_1_HUE_STEP; rgb_ring.effect_count++; @@ -200,12 +200,12 @@ static void ring_effect_no_1(void) static void ring_effect_no_2(void) { if (need_update(EFFECT_2_INTERVAL)) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); - IS31FL3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); + is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); + is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); rgb_ring.led_begin = (rgb_ring.led_begin + 1) % RING_OUTER_SIZE; rgb_ring.led_end = (rgb_ring.led_end + RING_OUTER_SIZE - 1) % RING_OUTER_SIZE; @@ -225,19 +225,19 @@ static void ring_effect_no_2(void) static void ring_effect_no_3(void) { if (rgb_ring.effect_count == 0) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); } if (need_update(EFFECT_3_INTERVAL)) { HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; if (rgb_ring.led_clear) { - IS31FL3731_set_color(rgb_ring.led_begin, 0, 0, 0); - IS31FL3731_set_color(rgb_ring.led_end, 0, 0, 0); + is31fl3731_set_color(rgb_ring.led_begin, 0, 0, 0); + is31fl3731_set_color(rgb_ring.led_end, 0, 0, 0); } else { RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); - IS31FL3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); + is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); + is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); } rgb_ring.led_begin = (rgb_ring.led_begin + 1) % RING_OUTER_SIZE; @@ -273,12 +273,12 @@ static void ring_effect_no_3(void) static void ring_effect_no_4(void) { if (need_update(EFFECT_4_INTERVAL)) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); - IS31FL3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); + is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); + is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); rgb_ring.led_begin = (rgb_ring.led_begin + EFFECT_4_STEP) % RING_OUTER_SIZE; rgb_ring.led_end = (rgb_ring.led_end + RING_OUTER_SIZE - EFFECT_4_STEP) % RING_OUTER_SIZE; @@ -297,16 +297,16 @@ static void ring_effect_no_4(void) static void ring_effect_no_5(void) { if (need_update(EFFECT_5_INTERVAL)) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(i, c.r, c.g, c.b); + is31fl3731_set_color(i, c.r, c.g, c.b); } for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { HSV h = {rgblight_config.hue+EFFECT_5_HUE_STEP, rgblight_config.sat, rgblight_config.val}; RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(i, c.r, c.g, c.b); + is31fl3731_set_color(i, c.r, c.g, c.b); } rgblight_config.hue += EFFECT_5_HUE_STEP; rgb_ring.effect_count++; @@ -323,16 +323,16 @@ static void ring_effect_no_5(void) static void ring_effect_no_6(void) { if (need_update(EFFECT_6_INTERVAL)) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { HSV h = {rgblight_config.hue+i*EFFECT_I_HUE_STEP, rgblight_config.sat, rgblight_config.val}; RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(i, c.r, c.g, c.b); + is31fl3731_set_color(i, c.r, c.g, c.b); } for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { HSV h = {rgblight_config.hue+i*EFFECT_O_HUE_STEP, rgblight_config.sat, rgblight_config.val}; RGB c = hsv_to_rgb(h); - IS31FL3731_set_color(i, c.r, c.g, c.b); + is31fl3731_set_color(i, c.r, c.g, c.b); } rgblight_config.hue += EFFECT_I_HUE_STEP; rgb_ring.effect_count++; @@ -364,7 +364,7 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) } for (uint8_t i = 0; i < num_leds; i++) { - IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); + is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); } } @@ -372,12 +372,12 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) void rgb_ring_init(void) { i2c_init(); - IS31FL3731_init(DRIVER_ADDR_1); + is31fl3731_init(DRIVER_ADDR_1); for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { bool enabled = true; - IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); + is31fl3731_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0); } void rgb_ring_task(void) @@ -396,7 +396,7 @@ void rgb_ring_task(void) break; }; - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0); } bool process_record_kb(uint16_t keycode, keyrecord_t *record) diff --git a/keyboards/matrix/noah/info.json b/keyboards/matrix/noah/info.json index 4550f7d70a..192be4a9b5 100644 --- a/keyboards/matrix/noah/info.json +++ b/keyboards/matrix/noah/info.json @@ -16,7 +16,7 @@ "pin": "B1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "community_layouts": ["65_iso_blocker"], "layouts": { diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/info.json b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json index 816b9414c1..bdf9e7fdf5 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev1/info.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json @@ -4,7 +4,7 @@ "pid": "0xAEC1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A15"], diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json index c7e662c008..b086d9ce95 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json @@ -4,7 +4,7 @@ "pid": "0xAEC2" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A7"], diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json index d745503c27..ba6f31b83e 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json @@ -4,7 +4,7 @@ "pid": "0xAEC3" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B10", "B11", "B2", "B1", "B0", "A6", "A5", "A10", "A9", "A15", "B3", "B4", "B5", "B8", "B9"], diff --git a/keyboards/mechlovin/delphine/rgb_led/info.json b/keyboards/mechlovin/delphine/rgb_led/info.json index dc604d5382..6beba9038c 100644 --- a/keyboards/mechlovin/delphine/rgb_led/info.json +++ b/keyboards/mechlovin/delphine/rgb_led/info.json @@ -13,6 +13,6 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" } } diff --git a/keyboards/mechlovin/hannah60rgb/rev1/info.json b/keyboards/mechlovin/hannah60rgb/rev1/info.json index 5e82c00c66..3eeba2ab7e 100644 --- a/keyboards/mechlovin/hannah60rgb/rev1/info.json +++ b/keyboards/mechlovin/hannah60rgb/rev1/info.json @@ -12,7 +12,7 @@ "pin": "A15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"], diff --git a/keyboards/mechlovin/hannah60rgb/rev2/info.json b/keyboards/mechlovin/hannah60rgb/rev2/info.json index c81c908174..b3ee526e1b 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/info.json +++ b/keyboards/mechlovin/hannah60rgb/rev2/info.json @@ -17,7 +17,7 @@ "pin": "A15" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"], diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/info.json b/keyboards/mechlovin/infinity87/rgb_rev1/info.json index b3fc9f63d3..347ea1b311 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/info.json +++ b/keyboards/mechlovin/infinity87/rgb_rev1/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B12", "B13", "B14", "B15", "A8", "A9", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A2", "A1", "A0"], diff --git a/keyboards/mechlovin/infinity875/info.json b/keyboards/mechlovin/infinity875/info.json index fcec3c2afa..bb249cf39b 100644 --- a/keyboards/mechlovin/infinity875/info.json +++ b/keyboards/mechlovin/infinity875/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "indicators": { "caps_lock": "D6", diff --git a/keyboards/melgeek/mach80/rev1/info.json b/keyboards/melgeek/mach80/rev1/info.json index 3a1a27847d..1d7d87b76f 100644 --- a/keyboards/melgeek/mach80/rev1/info.json +++ b/keyboards/melgeek/mach80/rev1/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"], diff --git a/keyboards/melgeek/mach80/rev1/rev1.c b/keyboards/melgeek/mach80/rev1/rev1.c index bb04eddd5b..da4c6b73d8 100755 --- a/keyboards/melgeek/mach80/rev1/rev1.c +++ b/keyboards/melgeek/mach80/rev1/rev1.c @@ -153,21 +153,21 @@ const is31_led g_is31_indicator_leds[3] = { bool led_update_kb(led_t led_state) { if (led_update_user(led_state)) { if (led_state.caps_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); } if (led_state.num_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); } if (led_state.scroll_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); } } return true; @@ -176,10 +176,10 @@ bool led_update_kb(led_t led_state) { void matrix_init_kb(void) { for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { is31_led led = g_is31_indicator_leds[i]; - IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); + is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); } - IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0); matrix_init_user(); } diff --git a/keyboards/melgeek/mach80/rev2/info.json b/keyboards/melgeek/mach80/rev2/info.json index 3a1a27847d..1d7d87b76f 100644 --- a/keyboards/melgeek/mach80/rev2/info.json +++ b/keyboards/melgeek/mach80/rev2/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"], diff --git a/keyboards/melgeek/mach80/rev2/rev2.c b/keyboards/melgeek/mach80/rev2/rev2.c index 7e578c78b5..632466376d 100755 --- a/keyboards/melgeek/mach80/rev2/rev2.c +++ b/keyboards/melgeek/mach80/rev2/rev2.c @@ -151,21 +151,21 @@ const is31_led g_is31_indicator_leds[3] = { bool led_update_kb(led_t led_state) { if (led_update_user(led_state)) { if (led_state.caps_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); } if (led_state.num_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); } if (led_state.scroll_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); } } return true; @@ -174,10 +174,10 @@ bool led_update_kb(led_t led_state) { void matrix_init_kb(void) { for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { is31_led led = g_is31_indicator_leds[i]; - IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); + is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); } - IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0); matrix_init_user(); } diff --git a/keyboards/melgeek/mj61/rev1/info.json b/keyboards/melgeek/mj61/rev1/info.json index c146adef04..705023fb8e 100644 --- a/keyboards/melgeek/mj61/rev1/info.json +++ b/keyboards/melgeek/mj61/rev1/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/mj61/rev2/info.json b/keyboards/melgeek/mj61/rev2/info.json index 330137a02a..62b2c58f15 100644 --- a/keyboards/melgeek/mj61/rev2/info.json +++ b/keyboards/melgeek/mj61/rev2/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/mj63/rev1/info.json b/keyboards/melgeek/mj63/rev1/info.json index c146adef04..705023fb8e 100644 --- a/keyboards/melgeek/mj63/rev1/info.json +++ b/keyboards/melgeek/mj63/rev1/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/mj63/rev2/info.json b/keyboards/melgeek/mj63/rev2/info.json index 330137a02a..62b2c58f15 100644 --- a/keyboards/melgeek/mj63/rev2/info.json +++ b/keyboards/melgeek/mj63/rev2/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/mj64/rev1/info.json b/keyboards/melgeek/mj64/rev1/info.json index c146adef04..705023fb8e 100644 --- a/keyboards/melgeek/mj64/rev1/info.json +++ b/keyboards/melgeek/mj64/rev1/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/mj64/rev2/info.json b/keyboards/melgeek/mj64/rev2/info.json index c146adef04..705023fb8e 100644 --- a/keyboards/melgeek/mj64/rev2/info.json +++ b/keyboards/melgeek/mj64/rev2/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/mj64/rev3/info.json b/keyboards/melgeek/mj64/rev3/info.json index 330137a02a..62b2c58f15 100644 --- a/keyboards/melgeek/mj64/rev3/info.json +++ b/keyboards/melgeek/mj64/rev3/info.json @@ -1,6 +1,6 @@ { "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/mj65/info.json b/keyboards/melgeek/mj65/info.json index 71fce4cf7a..061b4bc83e 100644 --- a/keyboards/melgeek/mj65/info.json +++ b/keyboards/melgeek/mj65/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1", "B14"], diff --git a/keyboards/melgeek/mojo68/info.json b/keyboards/melgeek/mojo68/info.json index c5dcb5d410..7e160d0c59 100755 --- a/keyboards/melgeek/mojo68/info.json +++ b/keyboards/melgeek/mojo68/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], diff --git a/keyboards/melgeek/mojo68/rev1/rev1.c b/keyboards/melgeek/mojo68/rev1/rev1.c index cadc625adb..bea523c84e 100755 --- a/keyboards/melgeek/mojo68/rev1/rev1.c +++ b/keyboards/melgeek/mojo68/rev1/rev1.c @@ -121,21 +121,21 @@ const is31_led g_is31_indicator_leds[3] = { bool led_update_kb(led_t led_state) { if (led_update_user(led_state)) { if (led_state.caps_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); } if (led_state.num_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); } if (led_state.scroll_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); } } return true; @@ -144,10 +144,10 @@ bool led_update_kb(led_t led_state) { void matrix_init_kb(void) { for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { is31_led led = g_is31_indicator_leds[i]; - IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); + is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); } - IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0); matrix_init_user(); } diff --git a/keyboards/melgeek/mojo75/info.json b/keyboards/melgeek/mojo75/info.json index 7d7c6db3ff..c22c5710a5 100644 --- a/keyboards/melgeek/mojo75/info.json +++ b/keyboards/melgeek/mojo75/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B12", "B13", "B14", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], diff --git a/keyboards/melgeek/tegic/info.json b/keyboards/melgeek/tegic/info.json index 31aa067323..c54f53ca61 100644 --- a/keyboards/melgeek/tegic/info.json +++ b/keyboards/melgeek/tegic/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], diff --git a/keyboards/melgeek/z70ultra/info.json b/keyboards/melgeek/z70ultra/info.json index 697d107a4f..ae555e046b 100644 --- a/keyboards/melgeek/z70ultra/info.json +++ b/keyboards/melgeek/z70ultra/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B11", "B10", "B1", "A10", "B5", "B4", "B3", "A15", "A2", "A1", "A0", "C15", "C14", "C13"], diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/z70ultra.c index 9ff2e778c6..d0b23c3bf8 100644 --- a/keyboards/melgeek/z70ultra/z70ultra.c +++ b/keyboards/melgeek/z70ultra/z70ultra.c @@ -129,27 +129,27 @@ const is31_led g_is31_indicator_leds[6] = { bool led_update_kb(led_t led_state) { if (led_update_user(led_state)) { if (led_state.caps_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00); - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0xff, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0xff, 0x00, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0x00, 0x00, 0x00); } if (led_state.num_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00); - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0xff, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0xff, 0x00); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0x00, 0x00); } if (led_state.scroll_lock) { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff); - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0xff); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0xff); } else { - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); - IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); + is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0x00); } } return true; @@ -158,10 +158,10 @@ bool led_update_kb(led_t led_state) { void matrix_init_kb(void) { for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { is31_led led = g_is31_indicator_leds[i]; - IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); + is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); } - IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0); matrix_init_user(); } diff --git a/keyboards/miller/gm862/info.json b/keyboards/miller/gm862/info.json index c66bba782f..952bb34397 100644 --- a/keyboards/miller/gm862/info.json +++ b/keyboards/miller/gm862/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"], diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json index a72db33f25..9831c7beb6 100644 --- a/keyboards/ml/gas75/info.json +++ b/keyboards/ml/gas75/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D1", "D2", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "E6", "B0", "B1", "B2", "B3"], diff --git a/keyboards/momokai/tap_duo/info.json b/keyboards/momokai/tap_duo/info.json index 96f600b3aa..262576b31a 100644 --- a/keyboards/momokai/tap_duo/info.json +++ b/keyboards/momokai/tap_duo/info.json @@ -12,7 +12,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["E6", "B2", "D1", "D2", "D3"], diff --git a/keyboards/momokai/tap_trio/info.json b/keyboards/momokai/tap_trio/info.json index e3f2f2965e..afc5aa2015 100644 --- a/keyboards/momokai/tap_trio/info.json +++ b/keyboards/momokai/tap_trio/info.json @@ -12,7 +12,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["E6", "B2", "B7", "D1", "D2", "D3"], diff --git a/keyboards/monsgeek/m5/info.json b/keyboards/monsgeek/m5/info.json index 03711c9a1b..4e504b8663 100644 --- a/keyboards/monsgeek/m5/info.json +++ b/keyboards/monsgeek/m5/info.json @@ -30,7 +30,7 @@ "caps_lock": "C10" }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "max_brightness": 180, "animations": { "breathing": true, diff --git a/keyboards/monsgeek/m6/info.json b/keyboards/monsgeek/m6/info.json index 78d6c1bf94..d23d2f8322 100644 --- a/keyboards/monsgeek/m6/info.json +++ b/keyboards/monsgeek/m6/info.json @@ -26,7 +26,7 @@ }, "diode_direction": "ROW2COL", "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "max_brightness": 200, "val_steps": 20, "animations": { diff --git a/keyboards/monstargear/xo87/rgb/info.json b/keyboards/monstargear/xo87/rgb/info.json index ebbfa848c1..96b0319945 100644 --- a/keyboards/monstargear/xo87/rgb/info.json +++ b/keyboards/monstargear/xo87/rgb/info.json @@ -12,7 +12,7 @@ "pin": "D7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "max_brightness": 100 diff --git a/keyboards/moonlander/info.json b/keyboards/moonlander/info.json index fc09859f82..acbb278a33 100644 --- a/keyboards/moonlander/info.json +++ b/keyboards/moonlander/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "processor": "STM32F303", "bootloader": "stm32-dfu", diff --git a/keyboards/mss_studio/m63_rgb/info.json b/keyboards/mss_studio/m63_rgb/info.json index 16577a21e8..197a78a924 100644 --- a/keyboards/mss_studio/m63_rgb/info.json +++ b/keyboards/mss_studio/m63_rgb/info.json @@ -13,7 +13,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"], diff --git a/keyboards/mss_studio/m64_rgb/info.json b/keyboards/mss_studio/m64_rgb/info.json index 6f300fbbb2..c1850d1191 100644 --- a/keyboards/mss_studio/m64_rgb/info.json +++ b/keyboards/mss_studio/m64_rgb/info.json @@ -13,7 +13,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"], diff --git a/keyboards/mt/mt64rgb/info.json b/keyboards/mt/mt64rgb/info.json index fe3be4503c..baadcc0db7 100644 --- a/keyboards/mt/mt64rgb/info.json +++ b/keyboards/mt/mt64rgb/info.json @@ -19,7 +19,7 @@ "pin": "B0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"], diff --git a/keyboards/mt/mt84/info.json b/keyboards/mt/mt84/info.json index 95131d535a..4d934b97f2 100644 --- a/keyboards/mt/mt84/info.json +++ b/keyboards/mt/mt84/info.json @@ -18,7 +18,7 @@ "pin": "B0" }, "rgb_matrix": { - "driver": "IS31FL3737" + "driver": "is31fl3737" }, "matrix_pins": { "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7", "E6"], diff --git a/keyboards/mwstudio/mw65_rgb/info.json b/keyboards/mwstudio/mw65_rgb/info.json index cb2e62c6e9..73e3c0ea24 100644 --- a/keyboards/mwstudio/mw65_rgb/info.json +++ b/keyboards/mwstudio/mw65_rgb/info.json @@ -12,7 +12,7 @@ "pin": "B3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"], diff --git a/keyboards/mwstudio/mw75/info.json b/keyboards/mwstudio/mw75/info.json index 95e536a57e..197a58d7ab 100644 --- a/keyboards/mwstudio/mw75/info.json +++ b/keyboards/mwstudio/mw75/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"], diff --git a/keyboards/mwstudio/mw75r2/info.json b/keyboards/mwstudio/mw75r2/info.json index 44850a8655..8f9d19e016 100644 --- a/keyboards/mwstudio/mw75r2/info.json +++ b/keyboards/mwstudio/mw75r2/info.json @@ -18,7 +18,7 @@ "pin": "B3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D4", "D6", "F7", "F6", "E6", "F0", "F1", "F4", "F5"], diff --git a/keyboards/nack/info.json b/keyboards/nack/info.json index 0c65f81961..4fd9981145 100644 --- a/keyboards/nack/info.json +++ b/keyboards/nack/info.json @@ -13,7 +13,7 @@ "driver": "spi" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "hue_steps": 10, "sat_steps": 10, "val_steps": 10 diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c index a5a5ad9120..cf31b6b72b 100644 --- a/keyboards/neson_design/700e/700e.c +++ b/keyboards/neson_design/700e/700e.c @@ -107,12 +107,12 @@ static void self_testing(void) switch(rgb_state.testing) { case ST_STAGE_1: if (rgb_state.index !=0 ) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); } if (rgb_state.index >= ST_LEFT_END) { for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } if (rgb_state.index == ST_LEFT_END) { rgb_state.index = ST_LEFT_BEGIN; @@ -131,20 +131,20 @@ static void self_testing(void) break; case ST_STAGE_2: { // clear all - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); int i = 0; // light left and right for (i = 0; i < ST_LEFT_SIZE; i++) { - IS31FL3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b); + is31fl3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b); } for (i = 0; i < ST_RIGHT_SIZE; i++) { - IS31FL3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b); + is31fl3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b); } if (rgb_state.dir) { // left to right for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE; if (rgb_state.index == ST_RIGHT_BEGIN) { @@ -154,7 +154,7 @@ static void self_testing(void) } else { // right to left for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE; if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) { @@ -174,7 +174,7 @@ static void self_testing(void) break; case ST_STAGE_3: if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); } // light left and right @@ -193,11 +193,11 @@ static void self_testing(void) } else { // left for (int i = 0; i < rgb_state.index+1; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } // right for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } rgb_state.index ++; } @@ -295,16 +295,16 @@ void matrix_init_kb(void) writePinLow(LED_CAPS_LOCK_PIN); i2c_init(); - IS31FL3731_init(DRIVER_ADDR_1); + is31fl3731_init(DRIVER_ADDR_1); #ifdef DRIVER_ADDR_2 - IS31FL3731_init(DRIVER_ADDR_2); + is31fl3731_init(DRIVER_ADDR_2); #endif for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { - IS31FL3731_set_led_control_register(index, true, true, true); + is31fl3731_set_led_control_register(index, true, true, true); } - IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0); #ifdef DRIVER_ADDR_2 - IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1); #endif update_ticks(); matrix_init_user(); @@ -321,7 +321,7 @@ void housekeeping_task_kb(void) self_testing(); } else if (rgb_state.state == CAPS_ALERT) { if (rgb_state.alert) { - IS31FL3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B); + is31fl3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B); LED_TYPE leds[4]; for (int i = 0; i < 4; i++) { leds[i].r = ALERM_LED_G; @@ -330,7 +330,7 @@ void housekeeping_task_kb(void) } ws2812_setleds(leds, 4); } else { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); LED_TYPE leds[4] = {0}; ws2812_setleds(leds, 4); } @@ -341,9 +341,9 @@ void housekeeping_task_kb(void) } } - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0); #ifdef DRIVER_ADDR_2 - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1); #endif housekeeping_task_user(); @@ -354,7 +354,7 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) if (rgb_state.state != NORMAL) return; for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); + is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); } LED_TYPE leds[4]; for (int i = 0; i < 4; i++) { diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index 5727ab655f..cf99404641 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -111,12 +111,12 @@ static void self_testing(void) switch(rgb_state.testing) { case ST_STAGE_1: if (rgb_state.index !=0 ) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); } if (rgb_state.index >= ST_LEFT_END) { for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } if (rgb_state.index == ST_LEFT_END) { rgb_state.index = ST_LEFT_BEGIN; @@ -135,20 +135,20 @@ static void self_testing(void) break; case ST_STAGE_2: { // clear all - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); int i = 0; // light left and right for (i = 0; i < ST_LEFT_SIZE; i++) { - IS31FL3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b); + is31fl3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b); } for (i = 0; i < ST_RIGHT_SIZE; i++) { - IS31FL3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b); + is31fl3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b); } if (rgb_state.dir) { // left to right for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE; if (rgb_state.index == ST_RIGHT_BEGIN) { @@ -158,7 +158,7 @@ static void self_testing(void) } else { // right to left for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE; if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) { @@ -178,7 +178,7 @@ static void self_testing(void) break; case ST_STAGE_3: if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) { - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); } // light left and right @@ -197,11 +197,11 @@ static void self_testing(void) } else { // left for (int i = 0; i < rgb_state.index+1; i++) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } // right for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) { - IS31FL3731_set_color(i, led.r, led.g, led.b); + is31fl3731_set_color(i, led.r, led.g, led.b); } rgb_state.index ++; } @@ -299,16 +299,16 @@ void matrix_init_kb(void) writePinLow(LED_CAPS_LOCK_PIN); i2c_init(); - IS31FL3731_init(DRIVER_ADDR_1); + is31fl3731_init(DRIVER_ADDR_1); #ifdef DRIVER_ADDR_2 - IS31FL3731_init(DRIVER_ADDR_2); + is31fl3731_init(DRIVER_ADDR_2); #endif for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { - IS31FL3731_set_led_control_register(index, true, true, true); + is31fl3731_set_led_control_register(index, true, true, true); } - IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0); #ifdef DRIVER_ADDR_2 - IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1); #endif update_ticks(); matrix_init_user(); @@ -327,13 +327,13 @@ void housekeeping_task_kb(void) .b = 0x00, }; if (rgb_state.alert) { - IS31FL3731_set_color_all(led.r, led.g, led.b); + is31fl3731_set_color_all(led.r, led.g, led.b); ws2812_setleds(&led, 1); } else { led.r = 0; led.g = 0; led.b = 0; - IS31FL3731_set_color_all(0, 0, 0); + is31fl3731_set_color_all(0, 0, 0); ws2812_setleds(&led, 1); } @@ -343,9 +343,9 @@ void housekeeping_task_kb(void) } } - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0); #ifdef DRIVER_ADDR_2 - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1); #endif housekeeping_task_user(); @@ -356,7 +356,7 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) if (rgb_state.state != NORMAL) return; for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); + is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); } ws2812_setleds(start_led+RGB_MATRIX_LED_COUNT, 1); } diff --git a/keyboards/ning/tiny_board/tb16_rgb/info.json b/keyboards/ning/tiny_board/tb16_rgb/info.json index 3a6cfe3f77..337c61fabe 100644 --- a/keyboards/ning/tiny_board/tb16_rgb/info.json +++ b/keyboards/ning/tiny_board/tb16_rgb/info.json @@ -13,7 +13,7 @@ "rgb_matrix": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B6", "B1", "B3", "B2"], diff --git a/keyboards/novelkeys/nk20/info.json b/keyboards/novelkeys/nk20/info.json index 2befadb5d0..3ad31f8a33 100644 --- a/keyboards/novelkeys/nk20/info.json +++ b/keyboards/novelkeys/nk20/info.json @@ -13,7 +13,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B13", "B14", "B15", "A4"], diff --git a/keyboards/novelkeys/nk65/nk65.c b/keyboards/novelkeys/nk65/nk65.c index 0e6fe08b5c..2c325e453a 100755 --- a/keyboards/novelkeys/nk65/nk65.c +++ b/keyboards/novelkeys/nk65/nk65.c @@ -27,9 +27,9 @@ */ void led_update_ports(led_t led_state) { if (led_state.caps_lock) { - IS31FL3733_set_color( 7+64-1, 0, 255, 0 ); + is31fl3733_set_color( 7+64-1, 0, 255, 0 ); } else { - IS31FL3733_set_color( 7+64-1, 0, 0, 0 ); + is31fl3733_set_color( 7+64-1, 0, 0, 0 ); } } @@ -45,6 +45,6 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { G = 255; } - IS31FL3733_set_color( 6+64-1, R, G, B ); + is31fl3733_set_color( 6+64-1, R, G, B ); return state; } diff --git a/keyboards/novelkeys/nk65b/info.json b/keyboards/novelkeys/nk65b/info.json index 93700e6851..eb6565aea6 100755 --- a/keyboards/novelkeys/nk65b/info.json +++ b/keyboards/novelkeys/nk65b/info.json @@ -13,7 +13,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B12", "B13", "B14", "B15", "A8", "A9"], diff --git a/keyboards/novelkeys/nk87/nk87.c b/keyboards/novelkeys/nk87/nk87.c index c90ba02ea4..c75fff450b 100755 --- a/keyboards/novelkeys/nk87/nk87.c +++ b/keyboards/novelkeys/nk87/nk87.c @@ -38,8 +38,8 @@ bool led_update_kb(led_t led_state) { CAPS = 0; } } - IS31FL3733_set_color( 63+64-1, FN1, FN1, CAPS ); - IS31FL3733_set_color( 48+64-1, 0, 0, FN2 ); + is31fl3733_set_color( 63+64-1, FN1, FN1, CAPS ); + is31fl3733_set_color( 48+64-1, 0, 0, FN2 ); return res; } diff --git a/keyboards/novelkeys/nk87b/info.json b/keyboards/novelkeys/nk87b/info.json index 965c2f8b04..269db89ed3 100755 --- a/keyboards/novelkeys/nk87b/info.json +++ b/keyboards/novelkeys/nk87b/info.json @@ -13,7 +13,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"], diff --git a/keyboards/novelkeys/nk_plus/info.json b/keyboards/novelkeys/nk_plus/info.json index 4fdbf80f5c..f6fad60b01 100755 --- a/keyboards/novelkeys/nk_plus/info.json +++ b/keyboards/novelkeys/nk_plus/info.json @@ -27,7 +27,7 @@ "processor": "STM32F072", "bootloader": "stm32-dfu", "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 1, "matrix": [0, 1], "x": 13, "y": 0}, diff --git a/keyboards/omkbd/runner3680/5x6_5x8/info.json b/keyboards/omkbd/runner3680/5x6_5x8/info.json index 19430d76c9..7b717f7a3d 100644 --- a/keyboards/omkbd/runner3680/5x6_5x8/info.json +++ b/keyboards/omkbd/runner3680/5x6_5x8/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.5" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], diff --git a/keyboards/opendeck/32/rev1/info.json b/keyboards/opendeck/32/rev1/info.json index e2491c8ef1..2d72d9d0b4 100644 --- a/keyboards/opendeck/32/rev1/info.json +++ b/keyboards/opendeck/32/rev1/info.json @@ -4,7 +4,7 @@ "rows": ["C7", "C6", "B6", "B5"] }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "diode_direction": "COL2ROW", "processor": "atmega32u4", diff --git a/keyboards/owlab/voice65/hotswap/info.json b/keyboards/owlab/voice65/hotswap/info.json index cf6c2503b6..3db8cc6d15 100644 --- a/keyboards/owlab/voice65/hotswap/info.json +++ b/keyboards/owlab/voice65/hotswap/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"], diff --git a/keyboards/owlab/voice65/soldered/info.json b/keyboards/owlab/voice65/soldered/info.json index 7e9d0be514..7cb5e3cdc3 100644 --- a/keyboards/owlab/voice65/soldered/info.json +++ b/keyboards/owlab/voice65/soldered/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"], diff --git a/keyboards/paprikman/albacore/info.json b/keyboards/paprikman/albacore/info.json index 8d62d0a247..5fad6237fa 100644 --- a/keyboards/paprikman/albacore/info.json +++ b/keyboards/paprikman/albacore/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C6", "B6", "B5", "B4"], diff --git a/keyboards/percent/canoe_gen2/info.json b/keyboards/percent/canoe_gen2/info.json index df0c309266..0cdb8f9819 100644 --- a/keyboards/percent/canoe_gen2/info.json +++ b/keyboards/percent/canoe_gen2/info.json @@ -12,7 +12,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "D0", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "F6", "F7"], diff --git a/keyboards/phage_studio/pila87/info.json b/keyboards/phage_studio/pila87/info.json index 522cd9c548..c7157bc573 100644 --- a/keyboards/phage_studio/pila87/info.json +++ b/keyboards/phage_studio/pila87/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "STM32F103", "bootloader": "stm32duino", diff --git a/keyboards/phase_studio/titan65/hotswap/info.json b/keyboards/phase_studio/titan65/hotswap/info.json index 380c0c271a..a455235168 100644 --- a/keyboards/phase_studio/titan65/hotswap/info.json +++ b/keyboards/phase_studio/titan65/hotswap/info.json @@ -12,7 +12,7 @@ "pin": "E6" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "F0", "F1", "C7", "F4", "F5", "F6"], diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json index 0bb9d35ca2..6848239279 100644 --- a/keyboards/planck/ez/info.json +++ b/keyboards/planck/ez/info.json @@ -7,7 +7,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3737" + "driver": "is31fl3737" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], diff --git a/keyboards/planck/light/info.json b/keyboards/planck/light/info.json index 64d9fdcd85..b6f3df8fe6 100644 --- a/keyboards/planck/light/info.json +++ b/keyboards/planck/light/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["E6", "E3", "E4", "D3", "D4", "D5", "C0", "A7", "A6", "E1", "E0", "D7"], diff --git a/keyboards/planck/rev6/info.json b/keyboards/planck/rev6/info.json index ac0691721c..59e7ba6635 100644 --- a/keyboards/planck/rev6/info.json +++ b/keyboards/planck/rev6/info.json @@ -16,7 +16,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], diff --git a/keyboards/planck/rev6_drop/info.json b/keyboards/planck/rev6_drop/info.json index c5450f45c0..d04bb0d6aa 100644 --- a/keyboards/planck/rev6_drop/info.json +++ b/keyboards/planck/rev6_drop/info.json @@ -16,7 +16,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], diff --git a/keyboards/planck/rev7/info.json b/keyboards/planck/rev7/info.json index e4d7433423..1d57732b4f 100644 --- a/keyboards/planck/rev7/info.json +++ b/keyboards/planck/rev7/info.json @@ -13,7 +13,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], diff --git a/keyboards/playkbtw/pk64rgb/info.json b/keyboards/playkbtw/pk64rgb/info.json index b37183af53..03bca52889 100644 --- a/keyboards/playkbtw/pk64rgb/info.json +++ b/keyboards/playkbtw/pk64rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"], diff --git a/keyboards/plywrks/ply8x/info.json b/keyboards/plywrks/ply8x/info.json index 8c5766e2c1..7c0717ade0 100644 --- a/keyboards/plywrks/ply8x/info.json +++ b/keyboards/plywrks/ply8x/info.json @@ -74,7 +74,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 8, "matrix": [3, 0], "x":2, "y":27}, {"flags": 8, "matrix": [0,15], "x":211, "y":0}, diff --git a/keyboards/preonic/rev3/info.json b/keyboards/preonic/rev3/info.json index 05d9b1cbd9..69e09079d1 100644 --- a/keyboards/preonic/rev3/info.json +++ b/keyboards/preonic/rev3/info.json @@ -14,7 +14,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], diff --git a/keyboards/preonic/rev3_drop/info.json b/keyboards/preonic/rev3_drop/info.json index f700d848bc..bfa5f8c895 100644 --- a/keyboards/preonic/rev3_drop/info.json +++ b/keyboards/preonic/rev3_drop/info.json @@ -14,7 +14,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], diff --git a/keyboards/quarkeys/z40/info.json b/keyboards/quarkeys/z40/info.json index 0ce1a64214..e61fad6d92 100644 --- a/keyboards/quarkeys/z40/info.json +++ b/keyboards/quarkeys/z40/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json index e948f27a59..32d6c09e9b 100644 --- a/keyboards/rgbkb/mun/rev1/info.json +++ b/keyboards/rgbkb/mun/rev1/info.json @@ -17,7 +17,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A0", "B11", "B0", "B10", "B12", "B2", "A8"], diff --git a/keyboards/rgbkb/sol/rev1/info.json b/keyboards/rgbkb/sol/rev1/info.json index ebd23f4e1d..e044c42cfe 100644 --- a/keyboards/rgbkb/sol/rev1/info.json +++ b/keyboards/rgbkb/sol/rev1/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7"], diff --git a/keyboards/rgbkb/sol/rev2/info.json b/keyboards/rgbkb/sol/rev2/info.json index 508ba1ea05..c852051504 100644 --- a/keyboards/rgbkb/sol/rev2/info.json +++ b/keyboards/rgbkb/sol/rev2/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7"], diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json index 619acd4588..cce760792d 100644 --- a/keyboards/rgbkb/sol3/rev1/info.json +++ b/keyboards/rgbkb/sol3/rev1/info.json @@ -17,7 +17,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B2", "B1", "B9", "B3", "B4"], diff --git a/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk index ca9d0bc9a5..69d469b1e9 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk +++ b/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk @@ -11,7 +11,6 @@ NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: ht RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix RGBLIGHT_SPLIT_ENABLE = no # Split RGBLight Support RGB_MATRIX_ENABLE = yes # Enable per-key coordinate based RGB effects. Do not enable with RGBlight -RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. SPLIT_RGB_MATRIX_ENABLE = yes # For split RGB Matrix support RGBLIGHT_FULL_POWER = yes # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port diff --git a/keyboards/rgbkb/zygomorph/rev1/info.json b/keyboards/rgbkb/zygomorph/rev1/info.json index 893e5ff589..dd75bd1c99 100644 --- a/keyboards/rgbkb/zygomorph/rev1/info.json +++ b/keyboards/rgbkb/zygomorph/rev1/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "F6", "C7", "C6", "B6", "D4"], diff --git a/keyboards/rura66/rev1/info.json b/keyboards/rura66/rev1/info.json index 4165a8abec..970308009a 100644 --- a/keyboards/rura66/rev1/info.json +++ b/keyboards/rura66/rev1/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/ryanskidmore/rskeys100/info.json b/keyboards/ryanskidmore/rskeys100/info.json index 90b739b7d1..1e7bf80828 100644 --- a/keyboards/ryanskidmore/rskeys100/info.json +++ b/keyboards/ryanskidmore/rskeys100/info.json @@ -11,7 +11,7 @@ "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/s_ol/0xc_pad/info.json b/keyboards/s_ol/0xc_pad/info.json index a35c054900..9809230260 100644 --- a/keyboards/s_ol/0xc_pad/info.json +++ b/keyboards/s_ol/0xc_pad/info.json @@ -10,7 +10,7 @@ "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "layouts": { "LAYOUT": { diff --git a/keyboards/saevus/cor_tkl/info.json b/keyboards/saevus/cor_tkl/info.json index 54451c1077..98880e4834 100644 --- a/keyboards/saevus/cor_tkl/info.json +++ b/keyboards/saevus/cor_tkl/info.json @@ -35,7 +35,7 @@ "rows": ["GP0", "GP1", "GP2", "GP21", "GP3", "GP4"] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "GP19", diff --git a/keyboards/salicylic_acid3/naked48/rev1/info.json b/keyboards/salicylic_acid3/naked48/rev1/info.json index d1209310c2..7fc4bddc09 100644 --- a/keyboards/salicylic_acid3/naked48/rev1/info.json +++ b/keyboards/salicylic_acid3/naked48/rev1/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/salicylic_acid3/setta21/rev1/info.json b/keyboards/salicylic_acid3/setta21/rev1/info.json index af491489d5..69829b6f02 100644 --- a/keyboards/salicylic_acid3/setta21/rev1/info.json +++ b/keyboards/salicylic_acid3/setta21/rev1/info.json @@ -16,7 +16,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3"], diff --git a/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk b/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk index 70b7f6921f..3d821b064a 100644 --- a/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk +++ b/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk @@ -1,4 +1,4 @@ VIA_ENABLE = no RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 diff --git a/keyboards/senselessclay/ck60/info.json b/keyboards/senselessclay/ck60/info.json index 0e27424dac..f05d94c9de 100644 --- a/keyboards/senselessclay/ck60/info.json +++ b/keyboards/senselessclay/ck60/info.json @@ -12,7 +12,7 @@ "pin": "B1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "D5", "D3", "D2", "D1", "D0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/silverbullet44/info.json b/keyboards/silverbullet44/info.json index 11edcee166..e55a8ccc59 100644 --- a/keyboards/silverbullet44/info.json +++ b/keyboards/silverbullet44/info.json @@ -12,7 +12,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 8 diff --git a/keyboards/skeletonkbd/frost68/info.json b/keyboards/skeletonkbd/frost68/info.json index e609f8e191..742daf8d57 100644 --- a/keyboards/skeletonkbd/frost68/info.json +++ b/keyboards/skeletonkbd/frost68/info.json @@ -26,7 +26,7 @@ "pin": "GP0" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4}, {"matrix": [0, 1], "x": 45.7, "y": 3.7, "flags": 4}, diff --git a/keyboards/skmt/15k/info.json b/keyboards/skmt/15k/info.json index 38215ef661..0f33362092 100644 --- a/keyboards/skmt/15k/info.json +++ b/keyboards/skmt/15k/info.json @@ -47,7 +47,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [2, 4], "x": 224, "y": 64}, {"flags": 4, "matrix": [2, 3], "x": 168, "y": 64}, diff --git a/keyboards/skyloong/dt40/info.json b/keyboards/skyloong/dt40/info.json index 96c4131796..b6172465e6 100644 --- a/keyboards/skyloong/dt40/info.json +++ b/keyboards/skyloong/dt40/info.json @@ -48,7 +48,7 @@ "raindrops": true, "ranbow_beacon": true }, - "driver": "WS2812", + "driver": "ws2812", "hue_steps": 20, "layout": [ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, diff --git a/keyboards/smallkeyboard/info.json b/keyboards/smallkeyboard/info.json index a19bf29597..9fb889d28e 100644 --- a/keyboards/smallkeyboard/info.json +++ b/keyboards/smallkeyboard/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "F5"], diff --git a/keyboards/soda/mango/info.json b/keyboards/soda/mango/info.json index 1524d99da3..9de040efba 100644 --- a/keyboards/soda/mango/info.json +++ b/keyboards/soda/mango/info.json @@ -72,7 +72,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 1, "matrix": [0, 1], "x": 75, "y": 0}, diff --git a/keyboards/soda/pocket/info.json b/keyboards/soda/pocket/info.json index b15447c75e..9ae9f1b0de 100644 --- a/keyboards/soda/pocket/info.json +++ b/keyboards/soda/pocket/info.json @@ -16,7 +16,7 @@ "pin": "C15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A2", "A1", "B14", "B4", "B5", "B6", "B7"], diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk index 38d6114506..95b415488c 100644 --- a/keyboards/sofle/keymaps/killmaster/rules.mk +++ b/keyboards/sofle/keymaps/killmaster/rules.mk @@ -1,4 +1,4 @@ EXTRAKEY_ENABLE = yes LTO_ENABLE = yes RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 diff --git a/keyboards/sowbug/68keys/info.json b/keyboards/sowbug/68keys/info.json index 3b4525e9f8..641ed0aa06 100644 --- a/keyboards/sowbug/68keys/info.json +++ b/keyboards/sowbug/68keys/info.json @@ -12,7 +12,7 @@ "pin": "B9" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"], diff --git a/keyboards/sowbug/ansi_tkl/info.json b/keyboards/sowbug/ansi_tkl/info.json index 221c591738..39cc57a8f3 100644 --- a/keyboards/sowbug/ansi_tkl/info.json +++ b/keyboards/sowbug/ansi_tkl/info.json @@ -12,7 +12,7 @@ "pin": "B9" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15", "B3"], diff --git a/keyboards/spaceholdings/nebula12b/info.json b/keyboards/spaceholdings/nebula12b/info.json index 9cbfcd1f86..f7ba574efc 100755 --- a/keyboards/spaceholdings/nebula12b/info.json +++ b/keyboards/spaceholdings/nebula12b/info.json @@ -12,7 +12,7 @@ "pin": "D5" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "F5", "D7"], diff --git a/keyboards/spaceholdings/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json index 89ee727172..8523662976 100755 --- a/keyboards/spaceholdings/nebula68b/info.json +++ b/keyboards/spaceholdings/nebula68b/info.json @@ -12,7 +12,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/splitkb/aurora/corne/rev1/info.json b/keyboards/splitkb/aurora/corne/rev1/info.json index b6f05cfbcb..7d82577b00 100644 --- a/keyboards/splitkb/aurora/corne/rev1/info.json +++ b/keyboards/splitkb/aurora/corne/rev1/info.json @@ -108,7 +108,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 93, "y": 17}, // L RGB1 {"flags": 2, "x": 59, "y": 3}, // L RGB2 diff --git a/keyboards/splitkb/aurora/lily58/rev1/info.json b/keyboards/splitkb/aurora/lily58/rev1/info.json index 76b0edc116..2d251b96b2 100644 --- a/keyboards/splitkb/aurora/lily58/rev1/info.json +++ b/keyboards/splitkb/aurora/lily58/rev1/info.json @@ -119,7 +119,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 51, "y": 13}, // L RGB1 {"flags": 2, "x": 22, "y": 18}, // L RGB2 diff --git a/keyboards/splitkb/aurora/sweep/rev1/info.json b/keyboards/splitkb/aurora/sweep/rev1/info.json index ec85447084..7d7fec921f 100644 --- a/keyboards/splitkb/aurora/sweep/rev1/info.json +++ b/keyboards/splitkb/aurora/sweep/rev1/info.json @@ -105,7 +105,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 71, "y": 15}, {"flags": 2, "x": 51, "y": 8}, diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json index cf849b0430..aa38a7dd0c 100644 --- a/keyboards/splitkb/kyria/rev1/info.json +++ b/keyboards/splitkb/kyria/rev1/info.json @@ -9,7 +9,7 @@ "split_count": [10, 10] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json index b498147ffd..6e362d9548 100644 --- a/keyboards/splitkb/kyria/rev2/info.json +++ b/keyboards/splitkb/kyria/rev2/info.json @@ -9,7 +9,7 @@ "split_count": [10, 10] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"], diff --git a/keyboards/splitkb/kyria/rev3/info.json b/keyboards/splitkb/kyria/rev3/info.json index a6f6d8df0f..29bea95323 100644 --- a/keyboards/splitkb/kyria/rev3/info.json +++ b/keyboards/splitkb/kyria/rev3/info.json @@ -123,7 +123,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 75, "y": 2}, // L RGB1 {"flags": 2, "x": 50, "y": 1}, // L RGB2 diff --git a/keyboards/stront/info.json b/keyboards/stront/info.json index 97df3477af..c3435b1f5d 100644 --- a/keyboards/stront/info.json +++ b/keyboards/stront/info.json @@ -94,7 +94,7 @@ "split_count": [19, 19] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "led_count": 38, "split_count": [19, 19], "layout": [ diff --git a/keyboards/synthlabs/060/info.json b/keyboards/synthlabs/060/info.json index 1953af10e7..b816b18027 100644 --- a/keyboards/synthlabs/060/info.json +++ b/keyboards/synthlabs/060/info.json @@ -30,7 +30,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 16, "y": 0}, diff --git a/keyboards/system76/launch_1/info.json b/keyboards/system76/launch_1/info.json index 21a8c1fbd9..eba3a115b8 100644 --- a/keyboards/system76/launch_1/info.json +++ b/keyboards/system76/launch_1/info.json @@ -11,7 +11,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D7", "C7", "C6", "B6", "B5", "B4", "D6", "D4", "E6", "D5", "D3", "D2", "B7", "B0"], diff --git a/keyboards/teleport/native/info.json b/keyboards/teleport/native/info.json index 9b27514e7d..7aec5f77ed 100644 --- a/keyboards/teleport/native/info.json +++ b/keyboards/teleport/native/info.json @@ -11,7 +11,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "features": { "bootmagic": true, diff --git a/keyboards/tkc/portico/info.json b/keyboards/tkc/portico/info.json index f4f2e15e84..6eb15efb73 100644 --- a/keyboards/tkc/portico/info.json +++ b/keyboards/tkc/portico/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"], diff --git a/keyboards/tkc/portico68v2/info.json b/keyboards/tkc/portico68v2/info.json index b37f02ecc9..7a11cb6172 100644 --- a/keyboards/tkc/portico68v2/info.json +++ b/keyboards/tkc/portico68v2/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"], diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/info.json index 171228cb28..5a90036972 100644 --- a/keyboards/tkc/portico75/info.json +++ b/keyboards/tkc/portico75/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "B3", "B7"], diff --git a/keyboards/tominabox1/le_chiffre/info.json b/keyboards/tominabox1/le_chiffre/info.json index 688d9d8fa5..8ebc0778e6 100644 --- a/keyboards/tominabox1/le_chiffre/info.json +++ b/keyboards/tominabox1/le_chiffre/info.json @@ -31,7 +31,7 @@ "led_count": 11 }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "animations": { "gradient_up_down": true, "gradient_left_right": true, diff --git a/keyboards/tzarc/djinn/info.json b/keyboards/tzarc/djinn/info.json index 2a50e5762d..f0904b8578 100644 --- a/keyboards/tzarc/djinn/info.json +++ b/keyboards/tzarc/djinn/info.json @@ -38,7 +38,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "split": { "enabled": true, diff --git a/keyboards/tzarc/ghoul/info.json b/keyboards/tzarc/ghoul/info.json index fe6de66470..bf07f122c3 100644 --- a/keyboards/tzarc/ghoul/info.json +++ b/keyboards/tzarc/ghoul/info.json @@ -16,7 +16,7 @@ "rgb_matrix": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "rows": ["NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN"], diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json index c94b2eb1c9..5474bc5279 100644 --- a/keyboards/ungodly/launch_pad/info.json +++ b/keyboards/ungodly/launch_pad/info.json @@ -9,7 +9,7 @@ "device_version": "99.9.9" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/wekey/we27/info.json b/keyboards/wekey/we27/info.json index 481546804c..4d4081faf0 100644 --- a/keyboards/wekey/we27/info.json +++ b/keyboards/wekey/we27/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "F5", "C7", "D6", "D4"], diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c index c79fc02cd9..28ee5fae81 100644 --- a/keyboards/wilba_tech/wt_mono_backlight.c +++ b/keyboards/wilba_tech/wt_mono_backlight.c @@ -64,12 +64,12 @@ void backlight_init_drivers(void) { // Initialize I2C i2c_init(); - IS31FL3736_init( ISSI_ADDR_DEFAULT ); + is31fl3736_init( ISSI_ADDR_DEFAULT ); for ( uint8_t index = 0; index < 96; index++ ) { - IS31FL3736_mono_set_led_control_register( index, true ); + is31fl3736_mono_set_led_control_register( index, true ); } - IS31FL3736_update_led_control_registers( ISSI_ADDR_DEFAULT, 0x00 ); + is31fl3736_update_led_control_registers( ISSI_ADDR_DEFAULT, 0x00 ); } void backlight_set_key_hit(uint8_t row, uint8_t column) @@ -119,17 +119,17 @@ void backlight_set_suspend_state(bool state) void backlight_set_brightness_all( uint8_t value ) { - IS31FL3736_mono_set_brightness_all( value ); + is31fl3736_mono_set_brightness_all( value ); } void backlight_effect_all_off(void) { - IS31FL3736_mono_set_brightness_all( 0 ); + is31fl3736_mono_set_brightness_all( 0 ); } void backlight_effect_all_on(void) { - IS31FL3736_mono_set_brightness_all( g_config.brightness ); + is31fl3736_mono_set_brightness_all( g_config.brightness ); } void backlight_effect_raindrops(bool initialize) @@ -143,7 +143,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_mono_set_brightness(i, rand() & 0xFF ); } } } @@ -165,9 +165,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_mono_set_brightness(55, rgb.r); + is31fl3736_mono_set_brightness(63, rgb.g); + is31fl3736_mono_set_brightness(71, rgb.b); #endif // MONO_BACKLIGHT_WT75_A // This pairs with "All Off" already setting zero brightness, @@ -181,19 +181,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_mono_set_brightness(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_mono_set_brightness(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_mono_set_brightness(55, 255); } #endif } @@ -361,7 +361,7 @@ void backlight_config_save(void) void backlight_update_pwm_buffers(void) { - IS31FL3736_update_pwm_buffers(ISSI_ADDR_DEFAULT,0x00); + is31fl3736_update_pwm_buffers(ISSI_ADDR_DEFAULT,0x00); } bool process_record_backlight(uint16_t keycode, keyrecord_t *record) diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index 1cd00ae41f..6c57416622 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -1771,36 +1771,36 @@ void map_row_column_to_led( uint8_t row, uint8_t column, uint8_t *led ) void backlight_update_pwm_buffers(void) { #if defined(RGB_BACKLIGHT_M6_B) - IS31FL3218_update_pwm_buffers(); + is31fl3218_update_pwm_buffers(); #elif defined(RGB_BACKLIGHT_PORTICO75) - IS31FL3741_update_pwm_buffers( ISSI_ADDR_1, 0 ); - IS31FL3741_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3741_update_pwm_buffers( ISSI_ADDR_1, 0 ); + is31fl3741_update_led_control_registers( ISSI_ADDR_1, 0 ); #elif defined(RGB_BACKLIGHT_M10_C) - IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); - IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); + is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 ); #elif defined(RGB_BACKLIGHT_HS60) - IS31FL3733_update_pwm_buffers( ISSI_ADDR_1, 0 ); - IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3733_update_pwm_buffers( ISSI_ADDR_1, 0 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 ); #elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_KW_MEGA) - IS31FL3733_update_pwm_buffers( ISSI_ADDR_1, 0 ); - IS31FL3733_update_pwm_buffers( ISSI_ADDR_2, 1 ); - IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); - IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); + is31fl3733_update_pwm_buffers( ISSI_ADDR_1, 0 ); + is31fl3733_update_pwm_buffers( ISSI_ADDR_2, 1 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 ); #elif defined(RGB_BACKLIGHT_NEBULA12) - IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); - IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); + is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 ); #elif defined(RGB_BACKLIGHT_U80_A) static uint8_t driver = 0; switch ( driver ) { case 0: - IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); + is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); break; case 1: - IS31FL3731_update_pwm_buffers( ISSI_ADDR_2, 1 ); + is31fl3731_update_pwm_buffers( ISSI_ADDR_2, 1 ); break; case 2: - IS31FL3731_update_pwm_buffers( ISSI_ADDR_3, 2 ); + is31fl3731_update_pwm_buffers( ISSI_ADDR_3, 2 ); break; } if ( ++driver > 2 ) @@ -1808,31 +1808,31 @@ void backlight_update_pwm_buffers(void) driver = 0; } #else - IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); - IS31FL3731_update_pwm_buffers( ISSI_ADDR_2, 1 ); - IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); - IS31FL3731_update_led_control_registers( ISSI_ADDR_2, 1 ); + is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); + is31fl3731_update_pwm_buffers( ISSI_ADDR_2, 1 ); + is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3731_update_led_control_registers( ISSI_ADDR_2, 1 ); #endif } void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue ) { #if defined(RGB_BACKLIGHT_M6_B) - IS31FL3218_set_color( index, red, green, blue ); + is31fl3218_set_color( index, red, green, blue ); #elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_KW_MEGA) - IS31FL3733_set_color( index, red, green, blue ); + is31fl3733_set_color( index, red, green, blue ); #elif defined (RGB_BACKLIGHT_PORTICO) - IS31FL3731_set_color( index, red, green, blue ); + is31fl3731_set_color( index, red, green, blue ); #elif defined (RGB_BACKLIGHT_PORTICO75) - IS31FL3741_set_color( index, red, green, blue ); + is31fl3741_set_color( index, red, green, blue ); #elif defined(RGB_BACKLIGHT_NK87) // This is done to avoid indicator LEDs being set if (( index != 63+64-1 ) && ( index != 48+64-1 )) { - IS31FL3733_set_color( index, red, green, blue ); + is31fl3733_set_color( index, red, green, blue ); } #elif defined(RGB_BACKLIGHT_DAWN60) if( index < RGB_MATRIX_LED_COUNT ) { - IS31FL3731_set_color( index, red, green, blue ); + is31fl3731_set_color( index, red, green, blue ); } else { g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].r = red; g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].g = green; @@ -1840,38 +1840,38 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue ) ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); } #else - IS31FL3731_set_color( index, red, green, blue ); + is31fl3731_set_color( index, red, green, blue ); #endif } void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue ) { #if defined(RGB_BACKLIGHT_M6_B) - IS31FL3218_set_color_all( red, green, blue ); + is31fl3218_set_color_all( red, green, blue ); #elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_KW_MEGA) // This is done to avoid indicator LEDs being set for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { - IS31FL3733_set_color(i, red, green, blue); + is31fl3733_set_color(i, red, green, blue); } #elif defined (RGB_BACKLIGHT_PORTICO) // This is done to avoid indicator LEDs being set for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { - IS31FL3731_set_color(i, red, green, blue); + is31fl3731_set_color(i, red, green, blue); } #elif defined (RGB_BACKLIGHT_PORTICO75) // This is done to avoid indicator LEDs being set for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { - IS31FL3741_set_color(i, red, green, blue); + is31fl3741_set_color(i, red, green, blue); } #elif defined(RGB_BACKLIGHT_NK87) // This is done to avoid indicator LEDs being set for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { if (( i != 63+64-1 ) && ( i != 48+64-1 )) { - IS31FL3733_set_color(i, red, green, blue); + is31fl3733_set_color(i, red, green, blue); } } #elif defined(RGB_BACKLIGHT_DAWN60) - IS31FL3731_set_color_all( red, green, blue ); + is31fl3731_set_color_all( red, green, blue ); for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { g_ws2812_leds[i].r = red; g_ws2812_leds[i].g = green; @@ -1879,7 +1879,7 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue ) } ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); #else - IS31FL3731_set_color_all( red, green, blue ); + is31fl3731_set_color_all( red, green, blue ); #endif } @@ -2914,9 +2914,9 @@ void backlight_init_drivers(void) i2c_init(); #if defined(RGB_BACKLIGHT_M6_B) - IS31FL3218_init(); + is31fl3218_init(); #elif defined(RGB_BACKLIGHT_HS60) - IS31FL3733_init( ISSI_ADDR_1, 0 ); + is31fl3733_init( ISSI_ADDR_1, 0 ); for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { @@ -2932,28 +2932,28 @@ void backlight_init_drivers(void) ( index == 61-1 ) ); //LA61 #endif // This only caches it for later - IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); + is31fl3733_set_led_control_register( index, enabled, enabled, enabled ); } // This actually updates the LED drivers - IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 ); #elif defined(RGB_BACKLIGHT_NK65) - IS31FL3733_init( ISSI_ADDR_1, 0 ); - IS31FL3733_init( ISSI_ADDR_2, 0 ); + is31fl3733_init( ISSI_ADDR_1, 0 ); + is31fl3733_init( ISSI_ADDR_2, 0 ); for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { bool enabled = !( ( index == 61-1 ) || //LA61 ( index > 6+64-1 ) ); //LB7-LB64 // This only caches it for later - IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); + is31fl3733_set_led_control_register( index, enabled, enabled, enabled ); } - IS31FL3733_set_led_control_register( 7+64-1, 0, 1, 0 ); //Enable LB7 green enable for indicators + is31fl3733_set_led_control_register( 7+64-1, 0, 1, 0 ); //Enable LB7 green enable for indicators // This actually updates the LED drivers - IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); - IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 ); #elif defined(RGB_BACKLIGHT_NK87) - IS31FL3733_init( ISSI_ADDR_1, 0 ); - IS31FL3733_init( ISSI_ADDR_2, 0 ); + is31fl3733_init( ISSI_ADDR_1, 0 ); + is31fl3733_init( ISSI_ADDR_2, 0 ); for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { @@ -2975,59 +2975,59 @@ void backlight_init_drivers(void) ( index == 58+64-1 ) || ( index == 62+64-1 ) ); // This only caches it for later - IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); + is31fl3733_set_led_control_register( index, enabled, enabled, enabled ); } - IS31FL3733_set_led_control_register( 48+64-1, 0, 0, 1 ); //Enable LB48 blue enable for indicators + is31fl3733_set_led_control_register( 48+64-1, 0, 0, 1 ); //Enable LB48 blue enable for indicators // This actually updates the LED drivers - IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); - IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 ); #elif defined(RGB_BACKLIGHT_NEBULA68) - IS31FL3733_init( ISSI_ADDR_1, 0 ); - IS31FL3733_init( ISSI_ADDR_2, 0 ); + is31fl3733_init( ISSI_ADDR_1, 0 ); + is31fl3733_init( ISSI_ADDR_2, 0 ); for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { bool enabled = !( ( index == 61-1 ) || //LA61 ( index > 5+64-1 ) ); //LB6-LB64 // This only caches it for later - IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); + is31fl3733_set_led_control_register( index, enabled, enabled, enabled ); } // This actually updates the LED drivers - IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); - IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 ); #elif defined(RGB_BACKLIGHT_PORTICO75) - IS31FL3741_init( ISSI_ADDR_1 ); + is31fl3741_init( ISSI_ADDR_1 ); bool enabled = true; for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { - IS31FL3741_set_led_control_register( index, enabled, enabled, enabled ); + is31fl3741_set_led_control_register( index, enabled, enabled, enabled ); } // This actually updates the LED drivers - IS31FL3741_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3741_update_led_control_registers( ISSI_ADDR_1, 0 ); #elif defined(RGB_BACKLIGHT_KW_MEGA) - IS31FL3733_init( ISSI_ADDR_1, 0 ); - IS31FL3733_init( ISSI_ADDR_2, 0 ); + is31fl3733_init( ISSI_ADDR_1, 0 ); + is31fl3733_init( ISSI_ADDR_2, 0 ); for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { bool enabled = !( ( index == 61-1 ) || //LA61 ( index > 6+64-1 ) ); //LB7-LB64 // This only caches it for later - IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); + is31fl3733_set_led_control_register( index, enabled, enabled, enabled ); } // This actually updates the LED drivers - IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); - IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 ); #else // Init the #1 driver - IS31FL3731_init( ISSI_ADDR_1 ); + is31fl3731_init( ISSI_ADDR_1 ); // Init the #2 driver (if used) #if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C) - IS31FL3731_init( ISSI_ADDR_2 ); + is31fl3731_init( ISSI_ADDR_2 ); #endif // Init the #3 driver (if used) #if defined(RGB_BACKLIGHT_U80_A) - IS31FL3731_init( ISSI_ADDR_3 ); + is31fl3731_init( ISSI_ADDR_3 ); #endif // Experimental feature, not in configuration yet @@ -3156,16 +3156,16 @@ void backlight_init_drivers(void) bool enabled = true; #endif // This only caches it for later - IS31FL3731_set_led_control_register( index, enabled, enabled, enabled ); + is31fl3731_set_led_control_register( index, enabled, enabled, enabled ); } // This actually updates the LED drivers // TODO: refactor this to use DRIVER_COUNT - IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); + is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 ); #if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C) - IS31FL3731_update_led_control_registers( ISSI_ADDR_2, 1 ); + is31fl3731_update_led_control_registers( ISSI_ADDR_2, 1 ); #endif #if defined(RGB_BACKLIGHT_U80_A) - IS31FL3731_update_led_control_registers( ISSI_ADDR_3, 2 ); + is31fl3731_update_led_control_registers( ISSI_ADDR_3, 2 ); #endif #endif @@ -3399,11 +3399,11 @@ void backlight_test_led( uint8_t index, bool red, bool green, bool blue ) { if ( i == index ) { - IS31FL3731_set_led_control_register( i, red, green, blue ); + is31fl3731_set_led_control_register( i, red, green, blue ); } else { - IS31FL3731_set_led_control_register( i, false, false, false ); + is31fl3731_set_led_control_register( i, false, false, false ); } } } diff --git a/keyboards/winry/winry315/info.json b/keyboards/winry/winry315/info.json index 2c98f3bd53..de600c3f01 100644 --- a/keyboards/winry/winry315/info.json +++ b/keyboards/winry/winry315/info.json @@ -9,7 +9,7 @@ "vid": "0xF1F1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/wolf/m60_b/info.json b/keyboards/wolf/m60_b/info.json index 87ec3f8900..2c3b4a3b0d 100644 --- a/keyboards/wolf/m60_b/info.json +++ b/keyboards/wolf/m60_b/info.json @@ -23,7 +23,7 @@ }, "processor": "atmega32u4", "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [2, 0], "x": 7, "y": 32}, {"flags": 4, "matrix": [1, 0], "x": 4, "y": 16}, diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json index 458066fc15..19eef12c53 100644 --- a/keyboards/work_louder/loop/info.json +++ b/keyboards/work_louder/loop/info.json @@ -9,7 +9,7 @@ "max_power": 100 }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B3", "B2", "B1", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], diff --git a/keyboards/work_louder/micro/info.json b/keyboards/work_louder/micro/info.json index d003fcad38..d76e7aa049 100644 --- a/keyboards/work_louder/micro/info.json +++ b/keyboards/work_louder/micro/info.json @@ -44,7 +44,7 @@ "pin": "D1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "url": "https://worklouder.cc/", "usb": { diff --git a/keyboards/work_louder/nano/info.json b/keyboards/work_louder/nano/info.json index 5b95e7d2aa..9056ac1f14 100644 --- a/keyboards/work_louder/nano/info.json +++ b/keyboards/work_louder/nano/info.json @@ -10,7 +10,7 @@ "max_power": 100 }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B5", "B6", "C6"], diff --git a/keyboards/work_louder/numpad/info.json b/keyboards/work_louder/numpad/info.json index 4fa9c1442c..0fa2bf2565 100644 --- a/keyboards/work_louder/numpad/info.json +++ b/keyboards/work_louder/numpad/info.json @@ -29,7 +29,7 @@ "lto": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [3, 3], "x": 141, "y": 64}, {"flags": 1, "matrix": [3, 2], "x": 122, "y": 64}, diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json index 99ddfd5e65..c58df36de1 100644 --- a/keyboards/work_louder/work_board/info.json +++ b/keyboards/work_louder/work_board/info.json @@ -9,7 +9,7 @@ "max_power": 100 }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "E6"], diff --git a/keyboards/xbows/knight/info.json b/keyboards/xbows/knight/info.json index 3d507b38a9..7684ca6b39 100644 --- a/keyboards/xbows/knight/info.json +++ b/keyboards/xbows/knight/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], diff --git a/keyboards/xbows/knight_plus/info.json b/keyboards/xbows/knight_plus/info.json index 7aa1fe74f5..695ef03672 100644 --- a/keyboards/xbows/knight_plus/info.json +++ b/keyboards/xbows/knight_plus/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], diff --git a/keyboards/xbows/nature/info.json b/keyboards/xbows/nature/info.json index 0287c13ee4..892dda8878 100644 --- a/keyboards/xbows/nature/info.json +++ b/keyboards/xbows/nature/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], diff --git a/keyboards/xbows/numpad/info.json b/keyboards/xbows/numpad/info.json index 34744625d8..2f5f5f4cd8 100644 --- a/keyboards/xbows/numpad/info.json +++ b/keyboards/xbows/numpad/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["D4", "D6", "B2", "B1"], diff --git a/keyboards/xbows/ranger/info.json b/keyboards/xbows/ranger/info.json index ec3fcb0fb3..edbb5fc504 100644 --- a/keyboards/xbows/ranger/info.json +++ b/keyboards/xbows/ranger/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F0", "F1", "F4", "F5", "D7", "F6", "F7", "D4", "D5", "D3"], diff --git a/keyboards/xbows/woody/info.json b/keyboards/xbows/woody/info.json index 7e4e25357f..8212f31034 100644 --- a/keyboards/xbows/woody/info.json +++ b/keyboards/xbows/woody/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B6", "C6", "C7", "F4", "F5", "F6", "F7", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c index f153c9ef9d..7b77807326 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c +++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c @@ -167,28 +167,28 @@ led_config_t g_led_config = { { //Custom Driver static void init(void) { i2c_init(); - IS31FL3731_init(DRIVER_ADDR_1); - IS31FL3731_init(DRIVER_ADDR_2); + is31fl3731_init(DRIVER_ADDR_1); + is31fl3731_init(DRIVER_ADDR_2); for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { bool enabled = true; - IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); + is31fl3731_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); - IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1); //RGB Underglow ws2812 } static void flush(void) { - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1); ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); } static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < ISSI_DRIVER_TOTAL) { - IS31FL3731_set_color(index, red, green, blue); + is31fl3731_set_color(index, red, green, blue); } else { rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].r = red; rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].g = green; @@ -197,7 +197,7 @@ static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - IS31FL3731_set_color_all( red, green, blue ); + is31fl3731_set_color_all( red, green, blue ); for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { rgb_matrix_ws2812_array[i].r = red; rgb_matrix_ws2812_array[i].g = green; diff --git a/keyboards/xelus/la_plus/info.json b/keyboards/xelus/la_plus/info.json index 24f84a7d80..be1fa11584 100644 --- a/keyboards/xelus/la_plus/info.json +++ b/keyboards/xelus/la_plus/info.json @@ -12,7 +12,7 @@ "pin": "F1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["E6", "D5", "B2", "B3", "D3", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/xelus/pachi/rgb/rev1/rev1.c b/keyboards/xelus/pachi/rgb/rev1/rev1.c index 856cdc1302..156c5228da 100644 --- a/keyboards/xelus/pachi/rgb/rev1/rev1.c +++ b/keyboards/xelus/pachi/rgb/rev1/rev1.c @@ -188,7 +188,7 @@ led_config_t g_led_config = { { static void init(void) { i2c_init(); - IS31FL3741_init(DRIVER_ADDR_1); + is31fl3741_init(DRIVER_ADDR_1); for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { bool enabled = !( ( index == -1+0+13) || //A13 ( index == -1+13+3) || //B3 @@ -221,19 +221,19 @@ static void init(void) { ( index == -1+104+12) || //I12 ( index == -1+104+13) //I13 ); - IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); + is31fl3741_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0); } static void flush(void) { - IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3741_update_pwm_buffers(DRIVER_ADDR_1, 0); } const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3741_set_color, - .set_color_all = IS31FL3741_set_color_all + .set_color = is31fl3741_set_color, + .set_color_all = is31fl3741_set_color_all }; #endif diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.c b/keyboards/xelus/pachi/rgb/rev2/rev2.c index da5bb96a75..d7c74730f8 100644 --- a/keyboards/xelus/pachi/rgb/rev2/rev2.c +++ b/keyboards/xelus/pachi/rgb/rev2/rev2.c @@ -194,7 +194,7 @@ led_config_t g_led_config = { { static void init(void) { i2c_init(); - IS31FL3741_init(DRIVER_ADDR_1); + is31fl3741_init(DRIVER_ADDR_1); for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { bool enabled = !( ( index == -1+0+13) || //A13 ( index == -1+13+3) || //B3 @@ -227,20 +227,20 @@ static void init(void) { ( index == -1+104+12) || //I12 ( index == -1+104+13) //I13 ); - IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); + is31fl3741_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0); } static void flush(void) { - IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3741_update_pwm_buffers(DRIVER_ADDR_1, 0); } const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3741_set_color, - .set_color_all = IS31FL3741_set_color_all + .set_color = is31fl3741_set_color, + .set_color_all = is31fl3741_set_color_all }; #ifdef VIA_ENABLE diff --git a/keyboards/xelus/valor/rev2/info.json b/keyboards/xelus/valor/rev2/info.json index d3f134fdf8..a8068eff89 100644 --- a/keyboards/xelus/valor/rev2/info.json +++ b/keyboards/xelus/valor/rev2/info.json @@ -13,7 +13,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B2", "B1", "B0", "A7", "A6", "A5", "A4", "A13", "B7", "B6", "B5", "B4", "B3", "A15", "A14"], diff --git a/keyboards/yandrstudio/nz64/info.json b/keyboards/yandrstudio/nz64/info.json index 332f940305..1ac32fe9a4 100644 --- a/keyboards/yandrstudio/nz64/info.json +++ b/keyboards/yandrstudio/nz64/info.json @@ -12,7 +12,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A15", "B3", "B4", "B6", "B7", "B5", "C13", "A5", "A4", "B14", "B15", "A8", "A9", "A10"], diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/info.json index b351aed1ee..3cd784934a 100644 --- a/keyboards/yandrstudio/nz67v2/info.json +++ b/keyboards/yandrstudio/nz67v2/info.json @@ -11,7 +11,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B9", "A3", "A4", "A5", "A6", "A7", "B0", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8"], diff --git a/keyboards/yandrstudio/tg67/info.json b/keyboards/yandrstudio/tg67/info.json index 925d6c1d94..a82f58300b 100644 --- a/keyboards/yandrstudio/tg67/info.json +++ b/keyboards/yandrstudio/tg67/info.json @@ -11,7 +11,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B2", "B10", "B11", "A8", "A9", "A10", "B5", "A15", "B3", "A2", "A3", "B4", "A4", "A5", "A6"], diff --git a/keyboards/yanghu/unicorne/info.json b/keyboards/yanghu/unicorne/info.json index 9a6f4c9e80..ff41bf8a5a 100644 --- a/keyboards/yanghu/unicorne/info.json +++ b/keyboards/yanghu/unicorne/info.json @@ -16,7 +16,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A14", "A15", "B13", "B14", "B15", "A13", "A0", "A1", "A2", "A3", "A6", "A7"], diff --git a/keyboards/ymdk/id75/info.json b/keyboards/ymdk/id75/info.json index 17b50e8e46..692ef7e8b7 100644 --- a/keyboards/ymdk/id75/info.json +++ b/keyboards/ymdk/id75/info.json @@ -67,7 +67,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [4, 14], "x": 224, "y": 64}, {"flags": 4, "matrix": [4, 13], "x": 208, "y": 64}, diff --git a/keyboards/ymdk/ymd09/info.json b/keyboards/ymdk/ymd09/info.json index d9cb9f5086..11552ae5b2 100644 --- a/keyboards/ymdk/ymd09/info.json +++ b/keyboards/ymdk/ymd09/info.json @@ -46,7 +46,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 2], "x": 64, "y": 0}, //7 {"flags": 4, "matrix": [0, 1], "x": 32, "y": 0}, //8 diff --git a/keyboards/ymdk/ymd40/air40/info.json b/keyboards/ymdk/ymd40/air40/info.json index cfa103de9a..daf104ebfe 100644 --- a/keyboards/ymdk/ymd40/air40/info.json +++ b/keyboards/ymdk/ymd40/air40/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F1", "F0", "B0", "C7", "F4", "F5", "F6", "F7", "D4", "D6", "B4", "D7"], diff --git a/keyboards/yncognito/batpad/info.json b/keyboards/yncognito/batpad/info.json index ec57403a66..4ec1dc045f 100644 --- a/keyboards/yncognito/batpad/info.json +++ b/keyboards/yncognito/batpad/info.json @@ -12,7 +12,7 @@ "pin": "B5" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F1", "F0", "D5", "D3"], diff --git a/keyboards/yushakobo/quick17/info.json b/keyboards/yushakobo/quick17/info.json index aef48120bd..f6406acf94 100644 --- a/keyboards/yushakobo/quick17/info.json +++ b/keyboards/yushakobo/quick17/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "sat_steps": 8, "val_steps": 8, "speed_steps": 10 diff --git a/keyboards/zykrah/fuyu/info.json b/keyboards/zykrah/fuyu/info.json index 5ac93424db..874114bfca 100644 --- a/keyboards/zykrah/fuyu/info.json +++ b/keyboards/zykrah/fuyu/info.json @@ -24,7 +24,7 @@ "cols": ["GP29", "GP28", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP27", "GP9", "GP1", "GP0"] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "pin": "GP2", diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 7bd274ee99..695ecc78a4 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -38,13 +38,13 @@ static void init(void) { i2c_init(); # if defined(IS31FL3731) - IS31FL3731_init(DRIVER_ADDR_1); + is31fl3731_init(DRIVER_ADDR_1); # if defined(DRIVER_ADDR_2) - IS31FL3731_init(DRIVER_ADDR_2); + is31fl3731_init(DRIVER_ADDR_2); # if defined(DRIVER_ADDR_3) - IS31FL3731_init(DRIVER_ADDR_3); + is31fl3731_init(DRIVER_ADDR_3); # if defined(DRIVER_ADDR_4) - IS31FL3731_init(DRIVER_ADDR_4); + is31fl3731_init(DRIVER_ADDR_4); # endif # endif # endif @@ -53,58 +53,58 @@ static void init(void) { # if !defined(DRIVER_SYNC_1) # define DRIVER_SYNC_1 0 # endif - IS31FL3733_init(DRIVER_ADDR_1, DRIVER_SYNC_1); + is31fl3733_init(DRIVER_ADDR_1, DRIVER_SYNC_1); # if defined(DRIVER_ADDR_2) # if !defined(DRIVER_SYNC_2) # define DRIVER_SYNC_2 0 # endif - IS31FL3733_init(DRIVER_ADDR_2, DRIVER_SYNC_2); + is31fl3733_init(DRIVER_ADDR_2, DRIVER_SYNC_2); # if defined(DRIVER_ADDR_3) # if !defined(DRIVER_SYNC_3) # define DRIVER_SYNC_3 0 # endif - IS31FL3733_init(DRIVER_ADDR_3, DRIVER_SYNC_3); + is31fl3733_init(DRIVER_ADDR_3, DRIVER_SYNC_3); # if defined(DRIVER_ADDR_4) # if !defined(DRIVER_SYNC_4) # define DRIVER_SYNC_4 0 # endif - IS31FL3733_init(DRIVER_ADDR_4, DRIVER_SYNC_4); + is31fl3733_init(DRIVER_ADDR_4, DRIVER_SYNC_4); # endif # endif # endif # elif defined(IS31FL3736) - IS31FL3736_init(DRIVER_ADDR_1); + is31fl3736_init(DRIVER_ADDR_1); # if defined(DRIVER_ADDR_2) - IS31FL3736_init(DRIVER_ADDR_2); + is31fl3736_init(DRIVER_ADDR_2); # if defined(DRIVER_ADDR_3) - IS31FL3736_init(DRIVER_ADDR_3); + is31fl3736_init(DRIVER_ADDR_3); # if defined(DRIVER_ADDR_4) - IS31FL3736_init(DRIVER_ADDR_4); + is31fl3736_init(DRIVER_ADDR_4); # endif # endif # endif # elif defined(IS31FL3737) - IS31FL3737_init(DRIVER_ADDR_1); + is31fl3737_init(DRIVER_ADDR_1); # if defined(DRIVER_ADDR_2) - IS31FL3737_init(DRIVER_ADDR_2); + is31fl3737_init(DRIVER_ADDR_2); # if defined(DRIVER_ADDR_3) - IS31FL3737_init(DRIVER_ADDR_3); + is31fl3737_init(DRIVER_ADDR_3); # if defined(DRIVER_ADDR_4) - IS31FL3737_init(DRIVER_ADDR_4); + is31fl3737_init(DRIVER_ADDR_4); # endif # endif # endif # elif defined(IS31FL3741) - IS31FL3741_init(DRIVER_ADDR_1); + is31fl3741_init(DRIVER_ADDR_1); # if defined(DRIVER_ADDR_2) - IS31FL3741_init(DRIVER_ADDR_2); + is31fl3741_init(DRIVER_ADDR_2); # if defined(DRIVER_ADDR_3) - IS31FL3741_init(DRIVER_ADDR_3); + is31fl3741_init(DRIVER_ADDR_3); # if defined(DRIVER_ADDR_4) - IS31FL3741_init(DRIVER_ADDR_4); + is31fl3741_init(DRIVER_ADDR_4); # endif # endif # endif @@ -122,13 +122,13 @@ static void init(void) { # endif # elif defined(CKLED2001) - CKLED2001_init(DRIVER_ADDR_1); + ckled2001_init(DRIVER_ADDR_1); # if defined(DRIVER_ADDR_2) - CKLED2001_init(DRIVER_ADDR_2); + ckled2001_init(DRIVER_ADDR_2); # if defined(DRIVER_ADDR_3) - CKLED2001_init(DRIVER_ADDR_3); + ckled2001_init(DRIVER_ADDR_3); # if defined(DRIVER_ADDR_4) - CKLED2001_init(DRIVER_ADDR_4); + ckled2001_init(DRIVER_ADDR_4); # endif # endif # endif @@ -139,79 +139,79 @@ static void init(void) { // This only caches it for later # if defined(IS31FL3731) - IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); + is31fl3731_set_led_control_register(index, enabled, enabled, enabled); # elif defined(IS31FL3733) - IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); + is31fl3733_set_led_control_register(index, enabled, enabled, enabled); # elif defined(IS31FL3736) - IS31FL3736_set_led_control_register(index, enabled, enabled, enabled); + is31fl3736_set_led_control_register(index, enabled, enabled, enabled); # elif defined(IS31FL3737) - IS31FL3737_set_led_control_register(index, enabled, enabled, enabled); + is31fl3737_set_led_control_register(index, enabled, enabled, enabled); # elif defined(IS31FL3741) - IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); + is31fl3741_set_led_control_register(index, enabled, enabled, enabled); # elif defined(IS31FLCOMMON) IS31FL_RGB_set_scaling_buffer(index, enabled, enabled, enabled); # elif defined(CKLED2001) - CKLED2001_set_led_control_register(index, enabled, enabled, enabled); + ckled2001_set_led_control_register(index, enabled, enabled, enabled); # endif } // This actually updates the LED drivers # if defined(IS31FL3731) - IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3731_update_led_control_registers(DRIVER_ADDR_3, 2); + is31fl3731_update_led_control_registers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3731_update_led_control_registers(DRIVER_ADDR_4, 3); + is31fl3731_update_led_control_registers(DRIVER_ADDR_4, 3); # endif # endif # endif # elif defined(IS31FL3733) - IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3733_update_led_control_registers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3733_update_led_control_registers(DRIVER_ADDR_3, 2); + is31fl3733_update_led_control_registers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3733_update_led_control_registers(DRIVER_ADDR_4, 3); + is31fl3733_update_led_control_registers(DRIVER_ADDR_4, 3); # endif # endif # endif # elif defined(IS31FL3736) - IS31FL3736_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3736_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3736_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3736_update_led_control_registers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3736_update_led_control_registers(DRIVER_ADDR_3, 2); + is31fl3736_update_led_control_registers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3736_update_led_control_registers(DRIVER_ADDR_4, 3); + is31fl3736_update_led_control_registers(DRIVER_ADDR_4, 3); # endif # endif # endif # elif defined(IS31FL3737) - IS31FL3737_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3737_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3737_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3737_update_led_control_registers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3737_update_led_control_registers(DRIVER_ADDR_3, 2); + is31fl3737_update_led_control_registers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3737_update_led_control_registers(DRIVER_ADDR_4, 3); + is31fl3737_update_led_control_registers(DRIVER_ADDR_4, 3); # endif # endif # endif # elif defined(IS31FL3741) - IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3741_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3741_update_led_control_registers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3741_update_led_control_registers(DRIVER_ADDR_3, 2); + is31fl3741_update_led_control_registers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3741_update_led_control_registers(DRIVER_ADDR_4, 3); + is31fl3741_update_led_control_registers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -232,13 +232,13 @@ static void init(void) { # endif # elif defined(CKLED2001) - CKLED2001_update_led_control_registers(DRIVER_ADDR_1, 0); + ckled2001_update_led_control_registers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - CKLED2001_update_led_control_registers(DRIVER_ADDR_2, 1); + ckled2001_update_led_control_registers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - CKLED2001_update_led_control_registers(DRIVER_ADDR_3, 2); + ckled2001_update_led_control_registers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - CKLED2001_update_led_control_registers(DRIVER_ADDR_4, 3); + ckled2001_update_led_control_registers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -247,13 +247,13 @@ static void init(void) { # if defined(IS31FL3731) static void flush(void) { - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_3, 2); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_4, 3); + is31fl3731_update_pwm_buffers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -262,19 +262,19 @@ static void flush(void) { const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3731_set_color, - .set_color_all = IS31FL3731_set_color_all, + .set_color = is31fl3731_set_color, + .set_color_all = is31fl3731_set_color_all, }; # elif defined(IS31FL3733) static void flush(void) { - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_3, 2); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_4, 3); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -283,19 +283,19 @@ static void flush(void) { const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3733_set_color, - .set_color_all = IS31FL3733_set_color_all, + .set_color = is31fl3733_set_color, + .set_color_all = is31fl3733_set_color_all, }; # elif defined(IS31FL3736) static void flush(void) { - IS31FL3736_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3736_update_pwm_buffers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3736_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3736_update_pwm_buffers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3736_update_pwm_buffers(DRIVER_ADDR_3, 2); + is31fl3736_update_pwm_buffers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3736_update_pwm_buffers(DRIVER_ADDR_4, 3); + is31fl3736_update_pwm_buffers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -304,19 +304,19 @@ static void flush(void) { const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3736_set_color, - .set_color_all = IS31FL3736_set_color_all, + .set_color = is31fl3736_set_color, + .set_color_all = is31fl3736_set_color_all, }; # elif defined(IS31FL3737) static void flush(void) { - IS31FL3737_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3737_update_pwm_buffers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3737_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3737_update_pwm_buffers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3737_update_pwm_buffers(DRIVER_ADDR_3, 2); + is31fl3737_update_pwm_buffers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3737_update_pwm_buffers(DRIVER_ADDR_4, 3); + is31fl3737_update_pwm_buffers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -325,19 +325,19 @@ static void flush(void) { const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3737_set_color, - .set_color_all = IS31FL3737_set_color_all, + .set_color = is31fl3737_set_color, + .set_color_all = is31fl3737_set_color_all, }; # elif defined(IS31FL3741) static void flush(void) { - IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3741_update_pwm_buffers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - IS31FL3741_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3741_update_pwm_buffers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - IS31FL3741_update_pwm_buffers(DRIVER_ADDR_3, 2); + is31fl3741_update_pwm_buffers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - IS31FL3741_update_pwm_buffers(DRIVER_ADDR_4, 3); + is31fl3741_update_pwm_buffers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -346,8 +346,8 @@ static void flush(void) { const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3741_set_color, - .set_color_all = IS31FL3741_set_color_all, + .set_color = is31fl3741_set_color, + .set_color_all = is31fl3741_set_color_all, }; # elif defined(IS31FLCOMMON) @@ -373,13 +373,13 @@ const rgb_matrix_driver_t rgb_matrix_driver = { # elif defined(CKLED2001) static void flush(void) { - CKLED2001_update_pwm_buffers(DRIVER_ADDR_1, 0); + ckled2001_update_pwm_buffers(DRIVER_ADDR_1, 0); # if defined(DRIVER_ADDR_2) - CKLED2001_update_pwm_buffers(DRIVER_ADDR_2, 1); + ckled2001_update_pwm_buffers(DRIVER_ADDR_2, 1); # if defined(DRIVER_ADDR_3) - CKLED2001_update_pwm_buffers(DRIVER_ADDR_3, 2); + ckled2001_update_pwm_buffers(DRIVER_ADDR_3, 2); # if defined(DRIVER_ADDR_4) - CKLED2001_update_pwm_buffers(DRIVER_ADDR_4, 3); + ckled2001_update_pwm_buffers(DRIVER_ADDR_4, 3); # endif # endif # endif @@ -388,8 +388,8 @@ static void flush(void) { const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = CKLED2001_set_color, - .set_color_all = CKLED2001_set_color_all, + .set_color = ckled2001_set_color, + .set_color_all = ckled2001_set_color_all, }; # endif @@ -399,24 +399,24 @@ const rgb_matrix_driver_t rgb_matrix_driver = { static void init(void) { spi_init(); - AW20216_init(DRIVER_1_CS, DRIVER_1_EN); + aw20216_init(DRIVER_1_CS, DRIVER_1_EN); # if defined(DRIVER_2_CS) - AW20216_init(DRIVER_2_CS, DRIVER_2_EN); + aw20216_init(DRIVER_2_CS, DRIVER_2_EN); # endif } static void flush(void) { - AW20216_update_pwm_buffers(DRIVER_1_CS, 0); + aw20216_update_pwm_buffers(DRIVER_1_CS, 0); # if defined(DRIVER_2_CS) - AW20216_update_pwm_buffers(DRIVER_2_CS, 1); + aw20216_update_pwm_buffers(DRIVER_2_CS, 1); # endif } const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = AW20216_set_color, - .set_color_all = AW20216_set_color_all, + .set_color = aw20216_set_color, + .set_color_all = aw20216_set_color_all, }; #elif defined(WS2812) -- cgit v1.3.1