aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--quantum/rgblight.c12
-rw-r--r--quantum/rgblight.h44
-rw-r--r--quantum/rgblight_reconfig.h29
-rw-r--r--tmk_core/common/avr/suspend.c22
-rw-r--r--tmk_core/common/avr/suspend_avr.h33
-rw-r--r--tmk_core/common/chibios/suspend.c4
-rw-r--r--tmk_core/common/keyboard.c2
-rw-r--r--tmk_core/protocol/chibios/main.c3
-rw-r--r--tmk_core/protocol/lufa/lufa.c3
-rw-r--r--tmk_core/protocol/vusb/main.c3
10 files changed, 62 insertions, 93 deletions
diff --git a/quantum/rgblight.c b/quantum/rgblight.c
index 67d601af7..f072ae8ca 100644
--- a/quantum/rgblight.c
+++ b/quantum/rgblight.c
@@ -211,9 +211,7 @@ void rgblight_init(void) {
211 211
212 eeconfig_debug_rgblight(); // display current eeprom values 212 eeconfig_debug_rgblight(); // display current eeprom values
213 213
214#ifdef RGBLIGHT_USE_TIMER
215 rgblight_timer_init(); // setup the timer 214 rgblight_timer_init(); // setup the timer
216#endif
217 215
218 if (rgblight_config.enable) { 216 if (rgblight_config.enable) {
219 rgblight_mode_noeeprom(rgblight_config.mode); 217 rgblight_mode_noeeprom(rgblight_config.mode);
@@ -230,9 +228,7 @@ void rgblight_update_dword(uint32_t dword) {
230 if (rgblight_config.enable) 228 if (rgblight_config.enable)
231 rgblight_mode_noeeprom(rgblight_config.mode); 229 rgblight_mode_noeeprom(rgblight_config.mode);
232 else { 230 else {
233#ifdef RGBLIGHT_USE_TIMER
234 rgblight_timer_disable(); 231 rgblight_timer_disable();
235#endif
236 rgblight_set(); 232 rgblight_set();
237 } 233 }
238} 234}
@@ -300,13 +296,9 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) {
300 dprintf("rgblight mode [NOEEPROM]: %u\n", rgblight_config.mode); 296 dprintf("rgblight mode [NOEEPROM]: %u\n", rgblight_config.mode);
301 } 297 }
302 if (is_static_effect(rgblight_config.mode)) { 298 if (is_static_effect(rgblight_config.mode)) {
303#ifdef RGBLIGHT_USE_TIMER
304 rgblight_timer_disable(); 299 rgblight_timer_disable();
305#endif
306 } else { 300 } else {
307#ifdef RGBLIGHT_USE_TIMER
308 rgblight_timer_enable(); 301 rgblight_timer_enable();
309#endif
310 } 302 }
311#ifdef RGBLIGHT_USE_TIMER 303#ifdef RGBLIGHT_USE_TIMER
312 animation_status.restart = true; 304 animation_status.restart = true;
@@ -354,9 +346,7 @@ void rgblight_disable(void) {
354 rgblight_config.enable = 0; 346 rgblight_config.enable = 0;
355 eeconfig_update_rgblight(rgblight_config.raw); 347 eeconfig_update_rgblight(rgblight_config.raw);
356 dprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); 348 dprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
357#ifdef RGBLIGHT_USE_TIMER
358 rgblight_timer_disable(); 349 rgblight_timer_disable();
359#endif
360 RGBLIGHT_SPLIT_SET_CHANGE_MODE; 350 RGBLIGHT_SPLIT_SET_CHANGE_MODE;
361 wait_ms(50); 351 wait_ms(50);
362 rgblight_set(); 352 rgblight_set();
@@ -365,9 +355,7 @@ void rgblight_disable(void) {
365void rgblight_disable_noeeprom(void) { 355void rgblight_disable_noeeprom(void) {
366 rgblight_config.enable = 0; 356 rgblight_config.enable = 0;
367 dprintf("rgblight disable [NOEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); 357 dprintf("rgblight disable [NOEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
368#ifdef RGBLIGHT_USE_TIMER
369 rgblight_timer_disable(); 358 rgblight_timer_disable();
370#endif
371 RGBLIGHT_SPLIT_SET_CHANGE_MODE; 359 RGBLIGHT_SPLIT_SET_CHANGE_MODE;
372 wait_ms(50); 360 wait_ms(50);
373 rgblight_set(); 361 rgblight_set();
diff --git a/quantum/rgblight.h b/quantum/rgblight.h
index c0fc0f3c6..39c4c2784 100644
--- a/quantum/rgblight.h
+++ b/quantum/rgblight.h
@@ -16,8 +16,6 @@
16#ifndef RGBLIGHT_H 16#ifndef RGBLIGHT_H
17#define RGBLIGHT_H 17#define RGBLIGHT_H
18 18
19#include "rgblight_reconfig.h"
20
21/***** rgblight_mode(mode)/rgblight_mode_noeeprom(mode) **** 19/***** rgblight_mode(mode)/rgblight_mode_noeeprom(mode) ****
22 20
23 old mode number (before 0.6.117) to new mode name table 21 old mode number (before 0.6.117) to new mode name table
@@ -64,6 +62,39 @@
64|-----------------|-----------------------------------| 62|-----------------|-----------------------------------|
65 *****/ 63 *****/
66 64
65#ifdef RGBLIGHT_ANIMATIONS
66// for backward compatibility
67# define RGBLIGHT_EFFECT_BREATHING
68# define RGBLIGHT_EFFECT_RAINBOW_MOOD
69# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
70# define RGBLIGHT_EFFECT_SNAKE
71# define RGBLIGHT_EFFECT_KNIGHT
72# define RGBLIGHT_EFFECT_CHRISTMAS
73# define RGBLIGHT_EFFECT_STATIC_GRADIENT
74# define RGBLIGHT_EFFECT_RGB_TEST
75# define RGBLIGHT_EFFECT_ALTERNATING
76#endif
77
78#ifdef RGBLIGHT_STATIC_PATTERNS
79# define RGBLIGHT_EFFECT_STATIC_GRADIENT
80#endif
81
82// clang-format off
83
84// check dynamic animation effects chose ?
85#if defined(RGBLIGHT_EFFECT_BREATHING) \
86 || defined(RGBLIGHT_EFFECT_RAINBOW_MOOD) \
87 || defined(RGBLIGHT_EFFECT_RAINBOW_SWIRL) \
88 || defined(RGBLIGHT_EFFECT_SNAKE) \
89 || defined(RGBLIGHT_EFFECT_KNIGHT) \
90 || defined(RGBLIGHT_EFFECT_CHRISTMAS) \
91 || defined(RGBLIGHT_EFFECT_RGB_TEST) \
92 || defined(RGBLIGHT_EFFECT_ALTERNATING)
93# define RGBLIGHT_USE_TIMER
94#endif
95
96// clang-format on
97
67#define _RGBM_SINGLE_STATIC(sym) RGBLIGHT_MODE_##sym, 98#define _RGBM_SINGLE_STATIC(sym) RGBLIGHT_MODE_##sym,
68#define _RGBM_SINGLE_DYNAMIC(sym) RGBLIGHT_MODE_##sym, 99#define _RGBM_SINGLE_DYNAMIC(sym) RGBLIGHT_MODE_##sym,
69#define _RGBM_MULTI_STATIC(sym) RGBLIGHT_MODE_##sym, 100#define _RGBM_MULTI_STATIC(sym) RGBLIGHT_MODE_##sym,
@@ -263,12 +294,19 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom);
263# define EZ_RGB(val) rgblight_show_solid_color((val >> 16) & 0xFF, (val >> 8) & 0xFF, val & 0xFF) 294# define EZ_RGB(val) rgblight_show_solid_color((val >> 16) & 0xFF, (val >> 8) & 0xFF, val & 0xFF)
264void rgblight_show_solid_color(uint8_t r, uint8_t g, uint8_t b); 295void rgblight_show_solid_color(uint8_t r, uint8_t g, uint8_t b);
265 296
297#ifdef RGBLIGHT_USE_TIMER
266void rgblight_task(void); 298void rgblight_task(void);
267
268void rgblight_timer_init(void); 299void rgblight_timer_init(void);
269void rgblight_timer_enable(void); 300void rgblight_timer_enable(void);
270void rgblight_timer_disable(void); 301void rgblight_timer_disable(void);
271void rgblight_timer_toggle(void); 302void rgblight_timer_toggle(void);
303#else
304#define rgblight_task()
305#define rgblight_timer_init()
306#define rgblight_timer_enable()
307#define rgblight_timer_disable()
308#define rgblight_timer_toggle()
309#endif
272 310
273# ifdef RGBLIGHT_SPLIT 311# ifdef RGBLIGHT_SPLIT
274# define RGBLIGHT_STATUS_CHANGE_MODE (1 << 0) 312# define RGBLIGHT_STATUS_CHANGE_MODE (1 << 0)
diff --git a/quantum/rgblight_reconfig.h b/quantum/rgblight_reconfig.h
deleted file mode 100644
index 4b9d6c4c2..000000000
--- a/quantum/rgblight_reconfig.h
+++ /dev/null
@@ -1,29 +0,0 @@
1#ifndef RGBLIGHT_RECONFIG_H
2#define RGBLIGHT_RECONFIG_H
3
4#ifdef RGBLIGHT_ANIMATIONS
5// for backward compatibility
6# define RGBLIGHT_EFFECT_BREATHING
7# define RGBLIGHT_EFFECT_RAINBOW_MOOD
8# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
9# define RGBLIGHT_EFFECT_SNAKE
10# define RGBLIGHT_EFFECT_KNIGHT
11# define RGBLIGHT_EFFECT_CHRISTMAS
12# define RGBLIGHT_EFFECT_STATIC_GRADIENT
13# define RGBLIGHT_EFFECT_RGB_TEST
14# define RGBLIGHT_EFFECT_ALTERNATING
15#endif
16
17#ifdef RGBLIGHT_STATIC_PATTERNS
18# define RGBLIGHT_EFFECT_STATIC_GRADIENT
19#endif
20
21// check dynamic animation effects chose ?
22#if defined(RGBLIGHT_EFFECT_BREATHING) || defined(RGBLIGHT_EFFECT_RAINBOW_MOOD) || defined(RGBLIGHT_EFFECT_RAINBOW_SWIRL) || defined(RGBLIGHT_EFFECT_SNAKE) || defined(RGBLIGHT_EFFECT_KNIGHT) || defined(RGBLIGHT_EFFECT_CHRISTMAS) || defined(RGBLIGHT_EFFECT_RGB_TEST) || defined(RGBLIGHT_EFFECT_ALTERNATING)
23# define RGBLIGHT_USE_TIMER
24# ifndef RGBLIGHT_ANIMATIONS
25# define RGBLIGHT_ANIMATIONS // for backward compatibility
26# endif
27#endif
28
29#endif // RGBLIGHT_RECONFIG_H
diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c
index c59c19688..11ac146eb 100644
--- a/tmk_core/common/avr/suspend.c
+++ b/tmk_core/common/avr/suspend.c
@@ -9,7 +9,6 @@
9#include "timer.h" 9#include "timer.h"
10#include "led.h" 10#include "led.h"
11#include "host.h" 11#include "host.h"
12#include "rgblight_reconfig.h"
13 12
14#ifdef PROTOCOL_LUFA 13#ifdef PROTOCOL_LUFA
15# include "lufa.h" 14# include "lufa.h"
@@ -30,23 +29,6 @@ static bool rgblight_enabled;
30static bool is_suspended; 29static bool is_suspended;
31#endif 30#endif
32 31
33#define wdt_intr_enable(value) \
34 __asm__ __volatile__("in __tmp_reg__,__SREG__" \
35 "\n\t" \
36 "cli" \
37 "\n\t" \
38 "wdr" \
39 "\n\t" \
40 "sts %0,%1" \
41 "\n\t" \
42 "out __SREG__,__tmp_reg__" \
43 "\n\t" \
44 "sts %0,%2" \
45 "\n\t" \
46 : /* no outputs */ \
47 : "M"(_SFR_MEM_ADDR(_WD_CONTROL_REG)), "r"(_BV(_WD_CHANGE_BIT) | _BV(WDE)), "r"((uint8_t)((value & 0x08 ? _WD_PS3_MASK : 0x00) | _BV(WDIE) | (value & 0x07))) \
48 : "r0")
49
50/** \brief Suspend idle 32/** \brief Suspend idle
51 * 33 *
52 * FIXME: needs doc 34 * FIXME: needs doc
@@ -122,9 +104,7 @@ static void power_down(uint8_t wdto) {
122 // stop_all_notes(); 104 // stop_all_notes();
123# endif /* AUDIO_ENABLE */ 105# endif /* AUDIO_ENABLE */
124# if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE) 106# if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
125# ifdef RGBLIGHT_ANIMATIONS
126 rgblight_timer_disable(); 107 rgblight_timer_disable();
127# endif
128 if (!is_suspended) { 108 if (!is_suspended) {
129 is_suspended = true; 109 is_suspended = true;
130 rgblight_enabled = rgblight_config.enable; 110 rgblight_enabled = rgblight_config.enable;
@@ -204,9 +184,7 @@ void suspend_wakeup_init(void) {
204# endif 184# endif
205 rgblight_enable_noeeprom(); 185 rgblight_enable_noeeprom();
206 } 186 }
207# ifdef RGBLIGHT_ANIMATIONS
208 rgblight_timer_enable(); 187 rgblight_timer_enable();
209# endif
210#endif 188#endif
211 suspend_wakeup_init_kb(); 189 suspend_wakeup_init_kb();
212} 190}
diff --git a/tmk_core/common/avr/suspend_avr.h b/tmk_core/common/avr/suspend_avr.h
index d73852ba1..e4cc0be50 100644
--- a/tmk_core/common/avr/suspend_avr.h
+++ b/tmk_core/common/avr/suspend_avr.h
@@ -7,21 +7,22 @@
7#include <avr/wdt.h> 7#include <avr/wdt.h>
8#include <avr/interrupt.h> 8#include <avr/interrupt.h>
9 9
10#define wdt_intr_enable(value) \ 10// clang-format off
11 __asm__ __volatile__("in __tmp_reg__,__SREG__" \ 11#define wdt_intr_enable(value) \
12 "\n\t" \ 12__asm__ __volatile__ ( \
13 "cli" \ 13 "in __tmp_reg__,__SREG__" "\n\t" \
14 "\n\t" \ 14 "cli" "\n\t" \
15 "wdr" \ 15 "wdr" "\n\t" \
16 "\n\t" \ 16 "sts %0,%1" "\n\t" \
17 "sts %0,%1" \ 17 "out __SREG__,__tmp_reg__" "\n\t" \
18 "\n\t" \ 18 "sts %0,%2" "\n\t" \
19 "out __SREG__,__tmp_reg__" \ 19 : /* no outputs */ \
20 "\n\t" \ 20 : "M" (_SFR_MEM_ADDR(_WD_CONTROL_REG)), \
21 "sts %0,%2" \ 21 "r" (_BV(_WD_CHANGE_BIT) | _BV(WDE)), \
22 "\n\t" \ 22 "r" ((uint8_t) ((value & 0x08 ? _WD_PS3_MASK : 0x00) | \
23 : /* no outputs */ \ 23 _BV(WDIE) | (value & 0x07)) ) \
24 : "M"(_SFR_MEM_ADDR(_WD_CONTROL_REG)), "r"(_BV(_WD_CHANGE_BIT) | _BV(WDE)), "r"((uint8_t)((value & 0x08 ? _WD_PS3_MASK : 0x00) | _BV(WDIE) | (value & 0x07))) \ 24 : "r0" \
25 : "r0") 25)
26// clang-format on
26 27
27#endif 28#endif
diff --git a/tmk_core/common/chibios/suspend.c b/tmk_core/common/chibios/suspend.c
index 5be1b7677..8c071e7a0 100644
--- a/tmk_core/common/chibios/suspend.c
+++ b/tmk_core/common/chibios/suspend.c
@@ -51,9 +51,7 @@ void suspend_power_down(void) {
51 // shouldn't power down TPM/FTM if we want a breathing LED 51 // shouldn't power down TPM/FTM if we want a breathing LED
52 // also shouldn't power down USB 52 // also shouldn't power down USB
53#if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE) 53#if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
54# ifdef RGBLIGHT_ANIMATIONS
55 rgblight_timer_disable(); 54 rgblight_timer_disable();
56# endif
57 if (!is_suspended) { 55 if (!is_suspended) {
58 is_suspended = true; 56 is_suspended = true;
59 rgblight_enabled = rgblight_config.enable; 57 rgblight_enabled = rgblight_config.enable;
@@ -126,9 +124,7 @@ void suspend_wakeup_init(void) {
126 if (rgblight_enabled) { 124 if (rgblight_enabled) {
127 rgblight_enable_noeeprom(); 125 rgblight_enable_noeeprom();
128 } 126 }
129# ifdef RGBLIGHT_ANIMATIONS
130 rgblight_timer_enable(); 127 rgblight_timer_enable();
131# endif
132#endif 128#endif
133 suspend_wakeup_init_kb(); 129 suspend_wakeup_init_kb();
134} 130}
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c
index cb4e7637f..a767d9c87 100644
--- a/tmk_core/common/keyboard.c
+++ b/tmk_core/common/keyboard.c
@@ -335,7 +335,7 @@ MATRIX_LOOP_END:
335 matrix_scan_perf_task(); 335 matrix_scan_perf_task();
336#endif 336#endif
337 337
338#if defined(RGBLIGHT_ANIMATIONS) && defined(RGBLIGHT_ENABLE) 338#if defined(RGBLIGHT_ENABLE)
339 rgblight_task(); 339 rgblight_task();
340#endif 340#endif
341 341
diff --git a/tmk_core/protocol/chibios/main.c b/tmk_core/protocol/chibios/main.c
index a61ffad12..218a79f8b 100644
--- a/tmk_core/protocol/chibios/main.c
+++ b/tmk_core/protocol/chibios/main.c
@@ -32,9 +32,8 @@
32#include "sendchar.h" 32#include "sendchar.h"
33#include "debug.h" 33#include "debug.h"
34#include "printf.h" 34#include "printf.h"
35#include "rgblight_reconfig.h"
36 35
37#if (defined(RGB_MIDI) || defined(RGBLIGHT_ANIMATIONS)) && defined(RGBLIGHT_ENABLE) 36#if defined(RGBLIGHT_ENABLE)
38# include "rgblight.h" 37# include "rgblight.h"
39#endif 38#endif
40#ifdef SLEEP_LED_ENABLE 39#ifdef SLEEP_LED_ENABLE
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index 738c2a6d3..ca75a91d0 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -54,7 +54,6 @@
54#include "quantum.h" 54#include "quantum.h"
55#include <util/atomic.h> 55#include <util/atomic.h>
56#include "outputselect.h" 56#include "outputselect.h"
57#include "rgblight_reconfig.h"
58 57
59#ifdef NKRO_ENABLE 58#ifdef NKRO_ENABLE
60# include "keycode_config.h" 59# include "keycode_config.h"
@@ -78,7 +77,7 @@ extern keymap_config_t keymap_config;
78# include "virtser.h" 77# include "virtser.h"
79#endif 78#endif
80 79
81#if (defined(RGB_MIDI) || defined(RGBLIGHT_ANIMATIONS)) && defined(RGBLIGHT_ENABLE) 80#if defined(RGBLIGHT_ENABLE)
82# include "rgblight.h" 81# include "rgblight.h"
83#endif 82#endif
84 83
diff --git a/tmk_core/protocol/vusb/main.c b/tmk_core/protocol/vusb/main.c
index 1e9d65be0..6b3f09bc3 100644
--- a/tmk_core/protocol/vusb/main.c
+++ b/tmk_core/protocol/vusb/main.c
@@ -20,9 +20,8 @@
20#include "timer.h" 20#include "timer.h"
21#include "uart.h" 21#include "uart.h"
22#include "debug.h" 22#include "debug.h"
23#include "rgblight_reconfig.h"
24 23
25#if (defined(RGB_MIDI) || defined(RGBLIGHT_ANIMATIONS)) && defined(RGBLIGHT_ENABLE) 24#if defined(RGBLIGHT_ENABLE)
26# include "rgblight.h" 25# include "rgblight.h"
27#endif 26#endif
28 27