From db7c8562eddb22350fc9849685bf82aa6dc6f31a Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun, 28 Feb 2021 14:15:38 +0800 Subject: [PATCH] Add RGB Matrix support for Preonic rev3 (#12008) * Add g_led_config for RGB Matrix support * Corrected indentation * Undo indentation on existing rev3.c code Co-authored-by: filterpaper --- keyboards/preonic/rev3/config.h | 3 ++- keyboards/preonic/rev3/rev3.c | 23 +++++++++++++++++++++++ keyboards/preonic/rev3/rules.mk | 4 ++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h index e8b09e848..b336477a3 100644 --- a/keyboards/preonic/rev3/config.h +++ b/keyboards/preonic/rev3/config.h @@ -124,6 +124,7 @@ #define RGB_DI_PIN A1 #define RGBLED_NUM 9 #define RGBLIGHT_ANIMATIONS - +// RGB Matrix support +#define DRIVER_LED_TOTAL RGBLED_NUM #endif diff --git a/keyboards/preonic/rev3/rev3.c b/keyboards/preonic/rev3/rev3.c index 04b691f40..a8bfd8bdb 100644 --- a/keyboards/preonic/rev3/rev3.c +++ b/keyboards/preonic/rev3/rev3.c @@ -15,6 +15,29 @@ */ #include "rev3.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 6, NO_LED, NO_LED, 5, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 4, NO_LED, NO_LED, 3, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 7, NO_LED, NO_LED, 2, NO_LED }, + { NO_LED, 1, NO_LED, NO_LED, 8, NO_LED }, +}, { + // LED Index to Physical Position + {112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; +#endif + void matrix_init_kb(void) { matrix_init_user(); } diff --git a/keyboards/preonic/rev3/rules.mk b/keyboards/preonic/rev3/rules.mk index 1f62fa55e..249d13705 100644 --- a/keyboards/preonic/rev3/rules.mk +++ b/keyboards/preonic/rev3/rules.mk @@ -25,6 +25,10 @@ API_SYSEX_ENABLE = no SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend #SLEEP_LED_ENABLE = yes +# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + # SERIAL_LINK_ENABLE = yes ENCODER_ENABLE = yes DIP_SWITCH_ENABLE = yes