|
|
|
@ -23,6 +23,10 @@
|
|
|
|
|
#include "debug.h"
|
|
|
|
|
#include "led_tables.h"
|
|
|
|
|
|
|
|
|
|
#ifndef RGBLIGHT_LIMIT_VAL
|
|
|
|
|
#define RGBLIGHT_LIMIT_VAL 255
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
__attribute__ ((weak))
|
|
|
|
|
const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5};
|
|
|
|
|
__attribute__ ((weak))
|
|
|
|
@ -46,11 +50,9 @@ bool rgblight_timer_enabled = false;
|
|
|
|
|
void sethsv(uint16_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) {
|
|
|
|
|
uint8_t r = 0, g = 0, b = 0, base, color;
|
|
|
|
|
|
|
|
|
|
#ifdef RGBLIGHT_LIMIT_VAL
|
|
|
|
|
if (val > RGBLIGHT_LIMIT_VAL) {
|
|
|
|
|
if (val > RGBLIGHT_LIMIT_VAL) {
|
|
|
|
|
val=RGBLIGHT_LIMIT_VAL; // limit the val
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sat == 0) { // Acromatic color (gray). Hue doesn't mind.
|
|
|
|
|
r = val;
|
|
|
|
@ -119,7 +121,7 @@ void eeconfig_update_rgblight_default(void) {
|
|
|
|
|
rgblight_config.mode = 1;
|
|
|
|
|
rgblight_config.hue = 0;
|
|
|
|
|
rgblight_config.sat = 255;
|
|
|
|
|
rgblight_config.val = 255;
|
|
|
|
|
rgblight_config.val = RGBLIGHT_LIMIT_VAL;
|
|
|
|
|
eeconfig_update_rgblight(rgblight_config.raw);
|
|
|
|
|
}
|
|
|
|
|
void eeconfig_debug_rgblight(void) {
|
|
|
|
@ -313,8 +315,8 @@ void rgblight_decrease_sat(void) {
|
|
|
|
|
}
|
|
|
|
|
void rgblight_increase_val(void) {
|
|
|
|
|
uint8_t val;
|
|
|
|
|
if (rgblight_config.val + RGBLIGHT_VAL_STEP > 255) {
|
|
|
|
|
val = 255;
|
|
|
|
|
if (rgblight_config.val + RGBLIGHT_VAL_STEP > RGBLIGHT_LIMIT_VAL) {
|
|
|
|
|
val = RGBLIGHT_LIMIT_VAL;
|
|
|
|
|
} else {
|
|
|
|
|
val = rgblight_config.val + RGBLIGHT_VAL_STEP;
|
|
|
|
|
}
|
|
|
|
|