aboutsummaryrefslogtreecommitdiff
path: root/keyboards/matrix/noah
diff options
context:
space:
mode:
authorRyan <[email protected]>2024-10-06 19:01:07 +1100
committerGitHub <[email protected]>2024-10-06 21:01:07 +1300
commit208ebf54a905ce6e4e563a6811eca8c8dc8b17e1 (patch)
tree7bb6a8bdb5a641263c39236d0b655825ac37307b /keyboards/matrix/noah
parent43e82ed5c72b7386ca91d1bd363ee092f77c1b9a (diff)
downloadqmk_firmware-208ebf54a905ce6e4e563a6811eca8c8dc8b17e1.tar.gz
qmk_firmware-208ebf54a905ce6e4e563a6811eca8c8dc8b17e1.zip
WS2812 API rework (#24364)
* Begin WS2812 API rework * Move RGBW conversion, clean up color.h, fix RGBW for AVR bitbang * Formatting & update PS2AVRGB I2C driver (untested) * Tested ARM bitbang RGB+RGBW * Tested ARM SPI RGB - RGBW not working * Tested ARM PWM RGB+RGBW * Tested RP2040 PIO driver RGB+RGBW * Update RGBLight * Formatting * Fix BM60HSRGB rev2 * Fix oddforge/vea * Fix 1k and XD002 RGBLite * Fix model_m/mschwingen * Fix handwired/promethium * Rename `WS2812_LED_TOTAL` for BM60HSRGB * Fix work_louder boards * Fix dawn60 * Fix rgbkb/pan * Fix neson_design/700e and n6 * Fix ergodox_ez/shine * ergodox_ez/shine: invert indices for left half * Fix matrix/abelx * Fix matrix/m20add * Remove custom rgblight driver for matrix/noah - should be done with lighting layers * Fix LED indexes for RGBLight split * Rename `convert_rgb_to_rgbw()` to `ws2812_rgb_to_rgbw()` * Update WS2812 API docs * `ergodox_ez/shine`: simplify LED index calculation * LED/RGB Matrix: Add weak function for LED index resolution * Bandaid fix for RGB Matrix splits not using WS2812 * `steelseries/prime_plus`: redo custom RGBLight driver * Update keyboards/steelseries/prime_plus/rgblight_custom.c Co-authored-by: Dasky <[email protected]> --------- Co-authored-by: Dasky <[email protected]>
Diffstat (limited to 'keyboards/matrix/noah')
-rw-r--r--keyboards/matrix/noah/keyboard.json2
-rw-r--r--keyboards/matrix/noah/noah.c57
2 files changed, 1 insertions, 58 deletions
diff --git a/keyboards/matrix/noah/keyboard.json b/keyboards/matrix/noah/keyboard.json
index 3ba9be21eb..53c8dc2458 100644
--- a/keyboards/matrix/noah/keyboard.json
+++ b/keyboards/matrix/noah/keyboard.json
@@ -10,7 +10,7 @@
"no_startup_check": true
},
"rgblight": {
- "driver": "custom",
+ "driver": "ws2812",
"led_count": 7,
"animations": {
"breathing": true,
diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c
index 99f4e063d1..22d159328a 100644
--- a/keyboards/matrix/noah/noah.c
+++ b/keyboards/matrix/noah/noah.c
@@ -9,57 +9,6 @@ void bootloader_jump(void) {
NVIC_SystemReset();
}
-#ifdef RGBLIGHT_ENABLE
-#include <string.h>
-#include "rgblight.h"
-#include "ws2812.h"
-extern rgblight_config_t rgblight_config;
-
-// led 0 for caps lock, led 1 for scroll lock, led 3 for num lock
-// led 4 for layer 1, led 5 for layer 2, led 6 for layer 3, led 7 for layer 4
-#if RGBLIGHT_LED_COUNT < 7
-#error "MUST set the RGBLIGHT_LED_COUNT bigger than 7"
-#endif
-rgb_led_t noah_leds[RGBLIGHT_LED_COUNT];
-static bool noah_led_mode = false;
-void setleds_custom(rgb_led_t *ledarray, uint16_t num_leds) {
- memset(&noah_leds[0], 0, sizeof(noah_leds));
- if (!rgblight_config.enable) {
- for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) {
- ledarray[i].r = 0;
- ledarray[i].g = 0;
- ledarray[i].b = 0;
- }
- }
- if (noah_led_mode) {
- led_t led_state = host_keyboard_led_state();
- if (led_state.caps_lock) {
- noah_leds[0] = ledarray[0];
- }
- if (led_state.scroll_lock) {
- noah_leds[1] = ledarray[1];
- }
- if (led_state.num_lock) {
- noah_leds[2] = ledarray[2];
- }
- for (int32_t i = 0; i < 4; i++) {
- if(layer_state_is(i+1)) {
- noah_leds[i + 3] = ledarray[i + 3];
- }
- }
- } else {
- memcpy(&noah_leds[0], &ledarray[0], sizeof(noah_leds));
- }
-
- ws2812_setleds(noah_leds, RGBLIGHT_LED_COUNT);
-}
-
-const rgblight_driver_t rgblight_driver = {
- .init = ws2812_init,
- .setleds = setleds_custom,
-};
-#endif
-
#ifdef RGB_MATRIX_ENABLE
const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
/* Refer to IS31 manual for these locations
@@ -150,11 +99,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch(keycode) {
- #ifdef RGBLIGHT_ENABLE
- case KC_F24: // switch the led mode on or off
- noah_led_mode = !noah_led_mode;
- return false;
-
#ifdef RGB_MATRIX_ENABLE
case KC_F13: // toggle rgb matrix
rgb_matrix_toggle();
@@ -163,7 +107,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
rgb_matrix_step();
return false;
#endif
- #endif
default:
break;
}