aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/rgblight.c
diff options
context:
space:
mode:
authorWilba <Jason.S.Williams@gmail.com>2020-01-21 05:18:25 +1100
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2020-01-20 10:18:25 -0800
commit484a9b12bc3961fc0dd9481d3cb734959db42191 (patch)
treeca2e4219b6514c1033be3ab3a975bd24f723f2ba /quantum/rgblight.c
parentce81c4f89b61560ee35436b351b27fd23568c32f (diff)
downloadfirmware-484a9b12bc3961fc0dd9481d3cb734959db42191.tar.gz
firmware-484a9b12bc3961fc0dd9481d3cb734959db42191.tar.bz2
firmware-484a9b12bc3961fc0dd9481d3cb734959db42191.zip
Add VIA support for QMK backlight, QMK RGBLight (#7911)
* Add VIA support for QMK backlight, QMK RGBLight * clang-format changes
Diffstat (limited to 'quantum/rgblight.c')
-rw-r--r--quantum/rgblight.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/quantum/rgblight.c b/quantum/rgblight.c
index 26887f057..85b319110 100644
--- a/quantum/rgblight.c
+++ b/quantum/rgblight.c
@@ -160,6 +160,10 @@ void eeconfig_update_rgblight(uint32_t val) {
#endif
}
+void eeconfig_update_rgblight_current(void) {
+ eeconfig_update_rgblight(rgblight_config.raw);
+}
+
void eeconfig_update_rgblight_default(void) {
rgblight_config.enable = 1;
rgblight_config.mode = RGBLIGHT_MODE_STATIC_LIGHT;
@@ -501,6 +505,22 @@ void rgblight_sethsv(uint8_t hue, uint8_t sat, uint8_t val) { rgblight_sethsv_ee
void rgblight_sethsv_noeeprom(uint8_t hue, uint8_t sat, uint8_t val) { rgblight_sethsv_eeprom_helper(hue, sat, val, false); }
+uint8_t rgblight_get_speed(void) { return rgblight_config.speed; }
+
+void rgblight_set_speed_eeprom_helper(uint8_t speed, bool write_to_eeprom) {
+ rgblight_config.speed = speed;
+ if (write_to_eeprom) {
+ eeconfig_update_rgblight(rgblight_config.raw); // EECONFIG needs to be increased to support this
+ dprintf("rgblight set speed [EEPROM]: %u\n", rgblight_config.speed);
+ } else {
+ dprintf("rgblight set speed [NOEEPROM]: %u\n", rgblight_config.speed);
+ }
+}
+
+void rgblight_set_speed(uint8_t speed) { rgblight_set_speed_eeprom_helper(speed, true); }
+
+void rgblight_set_speed_noeeprom(uint8_t speed) { rgblight_set_speed_eeprom_helper(speed, false); }
+
uint8_t rgblight_get_hue(void) { return rgblight_config.hue; }
uint8_t rgblight_get_sat(void) { return rgblight_config.sat; }