#include "debug.h"
#include "led_tables.h"
-
__attribute__ ((weak))
const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5};
__attribute__ ((weak))
__attribute__ ((weak))
const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 50, 20};
__attribute__ ((weak))
-const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {100, 50, 20};
+const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {127, 63, 31};
__attribute__ ((weak))
const uint16_t RGBLED_GRADIENT_RANGES[] PROGMEM = {360, 240, 180, 120, 90};
rgblight_mode(mode);
}
+uint32_t rgblight_get_mode(void) {
+ if (!rgblight_config.enable) {
+ return false;
+ }
+
+ return rgblight_config.mode;
+}
+
void rgblight_mode(uint8_t mode) {
if (!rgblight_config.enable) {
return;
// MODE 9-14, rainbow swirl
// MODE 15-20, snake
// MODE 21-23, knight
+ // MODE 24, xmas
+ // MODE 25-34, static rainbow
#ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_enable();
rgblight_set();
}
-__attribute__ ((weak))
+#ifndef RGBLIGHT_CUSTOM_DRIVER
void rgblight_set(void) {
if (rgblight_config.enable) {
#ifdef RGBW
#endif
}
}
+#endif
#ifdef RGBLIGHT_ANIMATIONS
static uint16_t last_timer = 0;
uint16_t hue;
uint8_t i;
- if (timer_elapsed(last_timer) < pgm_read_byte(&RGBLED_RAINBOW_MOOD_INTERVALS[interval / 2])) {
+ if (timer_elapsed(last_timer) < pgm_read_byte(&RGBLED_RAINBOW_SWIRL_INTERVALS[interval / 2])) {
return;
}
last_timer = timer_read();
static int8_t increment = 1;
uint8_t i, cur;
+ // Set all the LEDs to 0
for (i = 0; i < RGBLED_NUM; i++) {
+ led[i].r = 0;
+ led[i].g = 0;
+ led[i].b = 0;
+ }
+ // Determine which LEDs should be lit up
+ for (i = 0; i < RGBLIGHT_EFFECT_KNIGHT_LED_NUM; i++) {
cur = (i + RGBLIGHT_EFFECT_KNIGHT_OFFSET) % RGBLED_NUM;
if (i >= low_bound && i <= high_bound) {
}
rgblight_set();
+ // Move from low_bound to high_bound changing the direction we increment each
+ // time a boundary is hit.
low_bound += increment;
high_bound += increment;
- if (high_bound <= 0 || low_bound >= RGBLED_NUM - 1) {
+ if (high_bound <= 0 || low_bound >= RGBLIGHT_EFFECT_KNIGHT_LED_NUM - 1) {
increment = -increment;
}
}