From 5632552558fc5e032e89c62d578dff7d3c3cb800 Mon Sep 17 00:00:00 2001
From: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
Date: Fri, 26 Oct 2018 21:20:00 -0700
Subject: [PATCH] RGB Support for Panc60 (#4253)
* add RGB underglow support
* enable RGB underglow and backlighting
---
keyboards/panc60/panc60.c | 39 +++++++++++++++++++++++++++++++++++++++
keyboards/panc60/rules.mk | 4 ++--
2 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/keyboards/panc60/panc60.c b/keyboards/panc60/panc60.c
index 4828cb9cf..9ac087dbf 100644
--- a/keyboards/panc60/panc60.c
+++ b/keyboards/panc60/panc60.c
@@ -14,8 +14,15 @@
* along with this program. If not, see .
*/
#include "panc60.h"
+#ifdef BACKLIGHT_ENABLE
+#include "backlight.h"
+#endif
+#ifdef RGBLIGHT_ENABLE
+#include "rgblight.h"
+#endif
#include
+
#include "action_layer.h"
#include "i2c.h"
#include "quantum.h"
@@ -23,3 +30,35 @@
__attribute__ ((weak))
void matrix_scan_user(void) {
}
+
+#ifdef RGBLIGHT_ENABLE
+extern rgblight_config_t rgblight_config;
+
+void rgblight_set(void) {
+ if (!rgblight_config.enable) {
+ for (uint8_t i = 0; i < RGBLED_NUM; i++) {
+ led[i].r = 0;
+ led[i].g = 0;
+ led[i].b = 0;
+ }
+ }
+
+ i2c_init();
+ i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
+}
+#endif
+
+void backlight_init_ports(void) {
+ DDRD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
+ PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
+}
+
+void backlight_set(uint8_t level) {
+ if (level == 0) {
+ // Turn out the lights
+ PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
+ } else {
+ // Turn on the lights
+ PORTD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
+ }
+}
diff --git a/keyboards/panc60/rules.mk b/keyboards/panc60/rules.mk
index fcb14d0ae..588562a95 100644
--- a/keyboards/panc60/rules.mk
+++ b/keyboards/panc60/rules.mk
@@ -36,8 +36,8 @@ MOUSEKEY_ENABLE = yes
EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = yes
COMMAND_ENABLE = yes
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = no
+BACKLIGHT_ENABLE = yes
+RGBLIGHT_ENABLE = yes
RGBLIGHT_CUSTOM_DRIVER = yes
OPT_DEFS = -DDEBUG_LEVEL=0