]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
RGB Support for Panc60 (#4253)
authorMechMerlin <30334081+mechmerlin@users.noreply.github.com>
Sat, 27 Oct 2018 04:20:00 +0000 (21:20 -0700)
committerDrashna Jaelre <drashna@live.com>
Sat, 27 Oct 2018 04:20:00 +0000 (21:20 -0700)
* add RGB underglow support

* enable RGB underglow and backlighting

keyboards/panc60/panc60.c
keyboards/panc60/rules.mk

index 4828cb9cfea34494e776acb92b092dadecd527ad..9ac087dbf2466f62302442f5d7dc8a824612e6b6 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 #include "panc60.h"
+#ifdef BACKLIGHT_ENABLE
+#include "backlight.h"
+#endif
+#ifdef RGBLIGHT_ENABLE
+#include "rgblight.h"
+#endif
 
 #include <avr/pgmspace.h>
+
 #include "action_layer.h"
 #include "i2c.h"
 #include "quantum.h"
 __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);
+       }
+}
index fcb14d0ae0acee7ad9b3df3810d4b673e482dd31..588562a95b40e95a83984be009f55c969eccd7dc 100644 (file)
@@ -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