aboutsummaryrefslogtreecommitdiff
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)
downloadqmk_firmware-b8679bbe045a2285d6ab6bbc420121b26f516b9a.tar.gz
qmk_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 @@
1#ifndef KEYBOARDS_ERGODOX_CONFIG_H_ 1#ifndef KEYBOARDS_ERGODOX_CONFIG_H_
2#define KEYBOARDS_ERGODOX_CONFIG_H_ 2#define KEYBOARDS_ERGODOX_CONFIG_H_
3 3
4#include "config_common.h"
5
4#define MOUSEKEY_DELAY 100 6#define MOUSEKEY_DELAY 100
5#define MOUSEKEY_INTERVAL 20 7#define MOUSEKEY_INTERVAL 20
6#define MOUSEKEY_MAX_SPEED 3 8#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 @@
1RGBLIGHT_ENABLE = yes
2
3ifndef QUANTUM_DIR
4 include ../../../../Makefile
5endif
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 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6/* ws2812 RGB LED */
7#define RGB_DI_PIN D7
8// #define RGBLIGHT_TIMER
9#define RGBLED_NUM 20 // Number of LEDs
10#define RGBLIGHT_HUE_STEP 8
11#define RGBLIGHT_SAT_STEP 8
12#define RGBLIGHT_VAL_STEP 8
13
14#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] = {
24 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 24 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
25 KC_NO, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_ENT, 25 KC_NO, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_ENT,
26 MO(1), KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, 26 MO(1), KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,
27 KC_NO, KC_NO, 27 RGB_TOG, RGB_HUI,
28 KC_PGUP, 28 KC_PGUP,
29 KC_PGDN, KC_SPC,KC_SPC 29 KC_PGDN, KC_SPC,KC_SPC
30 ), 30 ),
@@ -90,7 +90,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
90 90
91// Runs just one time when the keyboard initializes. 91// Runs just one time when the keyboard initializes.
92void matrix_init_user(void) { 92void matrix_init_user(void) {
93 93
94}; 94};
95 95
96// Runs constantly in the background, in a loop. 96// 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};
50 50
51rgblight_config_t rgblight_config; 51rgblight_config_t rgblight_config;
52rgblight_config_t inmem_config; 52rgblight_config_t inmem_config;
53struct cRGB led[RGBLED_NUM]; 53#ifdef RGBW
54 struct cRGBW led[RGBLED_NUM];
55#else
56 struct cRGB led[RGBLED_NUM];
57#endif
54uint8_t rgblight_inited = 0; 58uint8_t rgblight_inited = 0;
55 59
56 60
@@ -334,14 +338,22 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) {
334 338
335void rgblight_set(void) { 339void rgblight_set(void) {
336 if (rgblight_config.enable) { 340 if (rgblight_config.enable) {
337 ws2812_setleds(led, RGBLED_NUM); 341 #ifdef RGBW
342 ws2812_setleds_rgbw(led, RGBLED_NUM);
343 #else
344 ws2812_setleds(led, RGBLED_NUM);
345 #endif
338 } else { 346 } else {
339 for (uint8_t i = 0; i < RGBLED_NUM; i++) { 347 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
340 led[i].r = 0; 348 led[i].r = 0;
341 led[i].g = 0; 349 led[i].g = 0;
342 led[i].b = 0; 350 led[i].b = 0;
343 } 351 }
344 ws2812_setleds(led, RGBLED_NUM); 352 #ifdef RGBW
353 ws2812_setleds_rgbw(led, RGBLED_NUM);
354 #else
355 ws2812_setleds(led, RGBLED_NUM);
356 #endif
345 } 357 }
346} 358}
347 359
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 @@
1#ifndef RGBLIGHT_H 1#ifndef RGBLIGHT_H
2#define RGBLIGHT_H 2#define RGBLIGHT_H
3 3
4#define RGBW 1
4 5
5#if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER) 6#if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
6 #define RGBLIGHT_MODES 23 7 #define RGBLIGHT_MODES 23