diff options
| author | Jack Humbert <jack.humb@gmail.com> | 2016-10-05 20:41:33 -0400 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2016-10-05 20:41:38 -0400 |
| commit | b8679bbe045a2285d6ab6bbc420121b26f516b9a (patch) | |
| tree | 1303c1e74649194ca7f8056dc91b386cbf6684fc | |
| parent | d465e3f0c384654b4e65f4dc031a0c7422cdf853 (diff) | |
| download | qmk_firmware-b8679bbe045a2285d6ab6bbc420121b26f516b9a.tar.gz qmk_firmware-b8679bbe045a2285d6ab6bbc420121b26f516b9a.zip | |
RGBW lights
| -rw-r--r-- | keyboards/ergodox/config.h | 2 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/jack/Makefile | 5 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/jack/config.h | 14 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/jack/keymap.c | 4 | ||||
| -rw-r--r-- | quantum/rgblight.c | 18 | ||||
| -rw-r--r-- | quantum/rgblight.h | 1 |
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 @@ | |||
| 1 | RGBLIGHT_ENABLE = yes | ||
| 2 | |||
| 3 | ifndef QUANTUM_DIR | ||
| 4 | include ../../../../Makefile | ||
| 5 | 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 @@ | |||
| 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. |
| 92 | void matrix_init_user(void) { | 92 | void 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 | ||
| 51 | rgblight_config_t rgblight_config; | 51 | rgblight_config_t rgblight_config; |
| 52 | rgblight_config_t inmem_config; | 52 | rgblight_config_t inmem_config; |
| 53 | struct cRGB led[RGBLED_NUM]; | 53 | #ifdef RGBW |
| 54 | struct cRGBW led[RGBLED_NUM]; | ||
| 55 | #else | ||
| 56 | struct cRGB led[RGBLED_NUM]; | ||
| 57 | #endif | ||
| 54 | uint8_t rgblight_inited = 0; | 58 | uint8_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 | ||
| 335 | void rgblight_set(void) { | 339 | void 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 |
