Skip to content

Commit

Permalink
Merge pull request qmk#813 from fredizzimo/add_cluecard_rgb_effects
Browse files Browse the repository at this point in the history
Add a Cluecard keymap for testing the RGB effects
  • Loading branch information
jackhumbert authored Oct 10, 2016
2 parents a9df99b + db4dce7 commit 4859be0
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 0 deletions.
4 changes: 4 additions & 0 deletions keyboards/cluecard/keymaps/default/readme.md
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
# The default keymap for cluecard

Note that this keymap has audio enabled, so the RGB mode button does not go through the different effects.
So the LEDs will still show a static light, that is configurable with the hue, staturation and brightness
buttons. You can of course also turn them on and off with the on/off button.
21 changes: 21 additions & 0 deletions keyboards/cluecard/keymaps/rgb_effects/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
CONSOLE_ENABLE = yes # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

ifndef QUANTUM_DIR
include ../../../../Makefile
endif
12 changes: 12 additions & 0 deletions keyboards/cluecard/keymaps/rgb_effects/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H

#include "../../config.h"

// place overrides here
#define RGBLIGHT_TIMER
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 2

#endif
28 changes: 28 additions & 0 deletions keyboards/cluecard/keymaps/rgb_effects/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#include "cluecard.h"

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP(
RGB_TOG, RGB_SAI, RGB_VAI, \
RGB_HUD, RGB_HUI, \
RGB_MOD, RGB_SAD, RGB_VAD, \
BL_STEP, \
KC_NO, KC_NO, KC_NO \
)
};

const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {255, 170, 85};
const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {255, 170, 85};

void matrix_init_user(void) {
}

void matrix_scan_user(void) {

}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}

void led_set_user(uint8_t usb_led) {
}
7 changes: 7 additions & 0 deletions keyboards/cluecard/keymaps/rgb_effects/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# RGB effect test keymap for cluecard

This keymap is made for testing the RGB effects. Audio is disabled and the mode buttons goes through each
effect. If you run HID-listen you will be able to see which effect is active. For a list of effects, check
the `rgblight.c` file.

The hue, saturation and brightness buttons will work depending on which effect is active.
6 changes: 6 additions & 0 deletions quantum/rgblight.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,16 @@ const uint8_t RGBLED_BREATHING_TABLE[] PROGMEM = {
37, 35, 33, 31, 29, 27, 25, 23, 21, 20, 18, 17, 15, 14, 12, 11,
10, 9, 7, 6, 5, 5, 4, 3, 2, 2, 1, 1, 1, 0, 0, 0
};

__attribute__ ((weak))
const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5};
__attribute__ ((weak))
const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {120, 60, 30};
__attribute__ ((weak))
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {100, 50, 20};
__attribute__ ((weak))
const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 50, 20};
__attribute__ ((weak))
const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {100, 50, 20};

rgblight_config_t rgblight_config;
Expand Down
6 changes: 6 additions & 0 deletions quantum/rgblight.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@
#include "eeconfig.h"
#include "light_ws2812.h"

extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM;
extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM;
extern const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[3] PROGMEM;
extern const uint8_t RGBLED_SNAKE_INTERVALS[3] PROGMEM;
extern const uint8_t RGBLED_KNIGHT_INTERVALS[3] PROGMEM;

typedef union {
uint32_t raw;
struct {
Expand Down

0 comments on commit 4859be0

Please sign in to comment.