|
|
@ -245,17 +245,12 @@ void rgblight_mode(uint8_t mode) { |
|
|
|
} |
|
|
|
|
|
|
|
void rgblight_toggle(void) { |
|
|
|
rgblight_config.enable ^= 1; |
|
|
|
eeconfig_update_rgblight(rgblight_config.raw); |
|
|
|
xprintf("rgblight toggle: rgblight_config.enable = %u\n", rgblight_config.enable); |
|
|
|
xprintf("rgblight toggle: rgblight_config.enable = %u\n", !rgblight_config.enable); |
|
|
|
if (rgblight_config.enable) { |
|
|
|
rgblight_mode(rgblight_config.mode); |
|
|
|
} else { |
|
|
|
#ifdef RGBLIGHT_ANIMATIONS |
|
|
|
rgblight_timer_disable(); |
|
|
|
#endif |
|
|
|
_delay_ms(50); |
|
|
|
rgblight_set(); |
|
|
|
rgblight_disable(); |
|
|
|
} |
|
|
|
else { |
|
|
|
rgblight_enable(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -266,6 +261,17 @@ void rgblight_enable(void) { |
|
|
|
rgblight_mode(rgblight_config.mode); |
|
|
|
} |
|
|
|
|
|
|
|
void rgblight_disable(void) { |
|
|
|
rgblight_config.enable = 0; |
|
|
|
eeconfig_update_rgblight(rgblight_config.raw); |
|
|
|
xprintf("rgblight disable: rgblight_config.enable = %u\n", rgblight_config.enable); |
|
|
|
#ifdef RGBLIGHT_ANIMATIONS |
|
|
|
rgblight_timer_disable(); |
|
|
|
#endif |
|
|
|
_delay_ms(50); |
|
|
|
rgblight_set(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void rgblight_increase_hue(void) { |
|
|
|
uint16_t hue; |
|
|
@ -365,7 +371,8 @@ void rgblight_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { |
|
|
|
} |
|
|
|
|
|
|
|
void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) { |
|
|
|
// dprintf("rgblight set rgb: %u,%u,%u\n", r,g,b); |
|
|
|
if (!rgblight_config.enable) { return; } |
|
|
|
|
|
|
|
for (uint8_t i = 0; i < RGBLED_NUM; i++) { |
|
|
|
led[i].r = r; |
|
|
|
led[i].g = g; |
|
|
@ -374,6 +381,23 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) { |
|
|
|
rgblight_set(); |
|
|
|
} |
|
|
|
|
|
|
|
void rgblight_setrgb_at(uint8_t r, uint8_t g, uint8_t b, uint8_t index) { |
|
|
|
if (!rgblight_config.enable || index >= RGBLED_NUM) { return; } |
|
|
|
|
|
|
|
led[index].r = r; |
|
|
|
led[index].g = g; |
|
|
|
led[index].b = b; |
|
|
|
rgblight_set(); |
|
|
|
} |
|
|
|
|
|
|
|
void rgblight_sethsv_at(uint16_t hue, uint8_t sat, uint8_t val, uint8_t index) { |
|
|
|
if (!rgblight_config.enable) { return; } |
|
|
|
|
|
|
|
LED_TYPE tmp_led; |
|
|
|
sethsv(hue, sat, val, &tmp_led); |
|
|
|
rgblight_setrgb_at(tmp_led.r, tmp_led.g, tmp_led.b, index); |
|
|
|
} |
|
|
|
|
|
|
|
#ifndef RGBLIGHT_CUSTOM_DRIVER |
|
|
|
void rgblight_set(void) { |
|
|
|
if (rgblight_config.enable) { |
|
|
|