]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
RGBW lights
authorJack Humbert <jack.humb@gmail.com>
Thu, 6 Oct 2016 00:41:33 +0000 (20:41 -0400)
committerJack Humbert <jack.humb@gmail.com>
Thu, 6 Oct 2016 00:41:38 +0000 (20:41 -0400)
keyboards/ergodox/config.h
keyboards/ergodox/keymaps/jack/Makefile [new file with mode: 0644]
keyboards/ergodox/keymaps/jack/config.h [new file with mode: 0644]
keyboards/ergodox/keymaps/jack/keymap.c
quantum/rgblight.c
quantum/rgblight.h

index edc60caae1234b2577679e74c2ff23d9ea5e0f9d..049c707a561343c1c8ebfbdfc4f35aa5965b372f 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef KEYBOARDS_ERGODOX_CONFIG_H_
 #define KEYBOARDS_ERGODOX_CONFIG_H_
 
+#include "config_common.h"
+
 #define MOUSEKEY_DELAY          100
 #define MOUSEKEY_INTERVAL       20
 #define MOUSEKEY_MAX_SPEED      3
diff --git a/keyboards/ergodox/keymaps/jack/Makefile b/keyboards/ergodox/keymaps/jack/Makefile
new file mode 100644 (file)
index 0000000..1e57612
--- /dev/null
@@ -0,0 +1,5 @@
+RGBLIGHT_ENABLE = yes
+
+ifndef QUANTUM_DIR
+       include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/jack/config.h b/keyboards/ergodox/keymaps/jack/config.h
new file mode 100644 (file)
index 0000000..01ccfb3
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D7
+// #define RGBLIGHT_TIMER
+#define RGBLED_NUM 20     // Number of LEDs
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#endif
\ No newline at end of file
index dda253fa4538ff940198766b2bf5690d64cb7f8b..1dd5a76187f0945bb4a480ef2b40c765554af429 100644 (file)
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                         KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN,          KC_QUOT,
              KC_NO,     KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,          KC_ENT,
                                   MO(1), KC_LEFT,KC_DOWN,KC_UP,  KC_RGHT,  
-             KC_NO,        KC_NO,
+             RGB_TOG,        RGB_HUI,
              KC_PGUP,
              KC_PGDN, KC_SPC,KC_SPC
     ),
@@ -90,7 +90,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
 // Runs just one time when the keyboard initializes.
 void matrix_init_user(void) {
-
+  
 };
 
 // Runs constantly in the background, in a loop.
index f82e3ec5589a268a8ca4f410b990346c9f1e10a3..801ca1d0d902615bf735d55e20801079e6f5a310 100644 (file)
@@ -50,7 +50,11 @@ const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {100, 50, 20};
 
 rgblight_config_t rgblight_config;
 rgblight_config_t inmem_config;
-struct cRGB led[RGBLED_NUM];
+#ifdef RGBW
+  struct cRGBW led[RGBLED_NUM];
+#else
+  struct cRGB led[RGBLED_NUM];
+#endif
 uint8_t rgblight_inited = 0;
 
 
@@ -334,14 +338,22 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) {
 
 void rgblight_set(void) {
   if (rgblight_config.enable) {
-    ws2812_setleds(led, RGBLED_NUM);
+    #ifdef RGBW
+      ws2812_setleds_rgbw(led, RGBLED_NUM);
+    #else
+      ws2812_setleds(led, RGBLED_NUM);
+    #endif
   } else {
     for (uint8_t i = 0; i < RGBLED_NUM; i++) {
       led[i].r = 0;
       led[i].g = 0;
       led[i].b = 0;
     }
-    ws2812_setleds(led, RGBLED_NUM);
+    #ifdef RGBW
+      ws2812_setleds_rgbw(led, RGBLED_NUM);
+    #else
+      ws2812_setleds(led, RGBLED_NUM);
+    #endif
   }
 }
 
index def26c428cdf270ba14dc7f7e75ac4ed8fa25010..2a712d8be430658f191f6edf731940567f6401b2 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef RGBLIGHT_H
 #define RGBLIGHT_H
 
+#define RGBW 1
 
 #if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
        #define RGBLIGHT_MODES 23