aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-10-05 20:41:33 -0400
committerJack Humbert <jack.humb@gmail.com>2016-10-05 20:41:38 -0400
commitb8679bbe045a2285d6ab6bbc420121b26f516b9a (patch)
tree1303c1e74649194ca7f8056dc91b386cbf6684fc
parentd465e3f0c384654b4e65f4dc031a0c7422cdf853 (diff)
downloadfirmware-b8679bbe045a2285d6ab6bbc420121b26f516b9a.tar.gz
firmware-b8679bbe045a2285d6ab6bbc420121b26f516b9a.tar.bz2
firmware-b8679bbe045a2285d6ab6bbc420121b26f516b9a.zip
RGBW lights
-rw-r--r--keyboards/ergodox/config.h2
-rw-r--r--keyboards/ergodox/keymaps/jack/Makefile5
-rw-r--r--keyboards/ergodox/keymaps/jack/config.h14
-rw-r--r--keyboards/ergodox/keymaps/jack/keymap.c4
-rw-r--r--quantum/rgblight.c18
-rw-r--r--quantum/rgblight.h1
6 files changed, 39 insertions, 5 deletions
diff --git a/keyboards/ergodox/config.h b/keyboards/ergodox/config.h
index edc60caae..049c707a5 100644
--- a/keyboards/ergodox/config.h
+++ b/keyboards/ergodox/config.h
@@ -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
index 000000000..1e5761278
--- /dev/null
+++ b/keyboards/ergodox/keymaps/jack/Makefile
@@ -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
index 000000000..01ccfb3a2
--- /dev/null
+++ b/keyboards/ergodox/keymaps/jack/config.h
@@ -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
diff --git a/keyboards/ergodox/keymaps/jack/keymap.c b/keyboards/ergodox/keymaps/jack/keymap.c
index dda253fa4..1dd5a7618 100644
--- a/keyboards/ergodox/keymaps/jack/keymap.c
+++ b/keyboards/ergodox/keymaps/jack/keymap.c
@@ -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.
diff --git a/quantum/rgblight.c b/quantum/rgblight.c
index f82e3ec55..801ca1d0d 100644
--- a/quantum/rgblight.c
+++ b/quantum/rgblight.c
@@ -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
}
}
diff --git a/quantum/rgblight.h b/quantum/rgblight.h
index def26c428..2a712d8be 100644
--- a/quantum/rgblight.h
+++ b/quantum/rgblight.h
@@ -1,6 +1,7 @@
#ifndef RGBLIGHT_H
#define RGBLIGHT_H
+#define RGBW 1
#if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
#define RGBLIGHT_MODES 23