diff options
Diffstat (limited to 'quantum/rgblight.h')
| -rw-r--r-- | quantum/rgblight.h | 147 |
1 files changed, 141 insertions, 6 deletions
diff --git a/quantum/rgblight.h b/quantum/rgblight.h index ba010dfae..65dda3f52 100644 --- a/quantum/rgblight.h +++ b/quantum/rgblight.h | |||
| @@ -16,11 +16,69 @@ | |||
| 16 | #ifndef RGBLIGHT_H | 16 | #ifndef RGBLIGHT_H |
| 17 | #define RGBLIGHT_H | 17 | #define RGBLIGHT_H |
| 18 | 18 | ||
| 19 | #ifdef RGBLIGHT_ANIMATIONS | 19 | #include "rgblight_reconfig.h" |
| 20 | #define RGBLIGHT_MODES 36 | 20 | |
| 21 | #else | 21 | /***** rgblight_mode(mode)/rgblight_mode_noeeprom(mode) **** |
| 22 | #define RGBLIGHT_MODES 1 | 22 | |
| 23 | #endif | 23 | old mode number (before 0.6.117) to new mode name table |
| 24 | |||
| 25 | |-----------------|-----------------------------------| | ||
| 26 | | old mode number | new mode name | | ||
| 27 | |-----------------|-----------------------------------| | ||
| 28 | | 1 | RGBLIGHT_MODE_STATIC_LIGHT | | ||
| 29 | | 2 | RGBLIGHT_MODE_BREATHING | | ||
| 30 | | 3 | RGBLIGHT_MODE_BREATHING + 1 | | ||
| 31 | | 4 | RGBLIGHT_MODE_BREATHING + 2 | | ||
| 32 | | 5 | RGBLIGHT_MODE_BREATHING + 3 | | ||
| 33 | | 6 | RGBLIGHT_MODE_RAINBOW_MOOD | | ||
| 34 | | 7 | RGBLIGHT_MODE_RAINBOW_MOOD + 1 | | ||
| 35 | | 8 | RGBLIGHT_MODE_RAINBOW_MOOD + 2 | | ||
| 36 | | 9 | RGBLIGHT_MODE_RAINBOW_SWIRL | | ||
| 37 | | 10 | RGBLIGHT_MODE_RAINBOW_SWIRL + 1 | | ||
| 38 | | 11 | RGBLIGHT_MODE_RAINBOW_SWIRL + 2 | | ||
| 39 | | 12 | RGBLIGHT_MODE_RAINBOW_SWIRL + 3 | | ||
| 40 | | 13 | RGBLIGHT_MODE_RAINBOW_SWIRL + 4 | | ||
| 41 | | 14 | RGBLIGHT_MODE_RAINBOW_SWIRL + 5 | | ||
| 42 | | 15 | RGBLIGHT_MODE_SNAKE | | ||
| 43 | | 16 | RGBLIGHT_MODE_SNAKE + 1 | | ||
| 44 | | 17 | RGBLIGHT_MODE_SNAKE + 2 | | ||
| 45 | | 18 | RGBLIGHT_MODE_SNAKE + 3 | | ||
| 46 | | 19 | RGBLIGHT_MODE_SNAKE + 4 | | ||
| 47 | | 20 | RGBLIGHT_MODE_SNAKE + 5 | | ||
| 48 | | 21 | RGBLIGHT_MODE_KNIGHT | | ||
| 49 | | 22 | RGBLIGHT_MODE_KNIGHT + 1 | | ||
| 50 | | 23 | RGBLIGHT_MODE_KNIGHT + 2 | | ||
| 51 | | 24 | RGBLIGHT_MODE_CHRISTMAS | | ||
| 52 | | 25 | RGBLIGHT_MODE_STATIC_GRADIENT | | ||
| 53 | | 26 | RGBLIGHT_MODE_STATIC_GRADIENT + 1 | | ||
| 54 | | 27 | RGBLIGHT_MODE_STATIC_GRADIENT + 2 | | ||
| 55 | | 28 | RGBLIGHT_MODE_STATIC_GRADIENT + 3 | | ||
| 56 | | 29 | RGBLIGHT_MODE_STATIC_GRADIENT + 4 | | ||
| 57 | | 30 | RGBLIGHT_MODE_STATIC_GRADIENT + 5 | | ||
| 58 | | 31 | RGBLIGHT_MODE_STATIC_GRADIENT + 6 | | ||
| 59 | | 32 | RGBLIGHT_MODE_STATIC_GRADIENT + 7 | | ||
| 60 | | 33 | RGBLIGHT_MODE_STATIC_GRADIENT + 8 | | ||
| 61 | | 34 | RGBLIGHT_MODE_STATIC_GRADIENT + 9 | | ||
| 62 | | 35 | RGBLIGHT_MODE_RGB_TEST | | ||
| 63 | | 36 | RGBLIGHT_MODE_ALTERNATING | | ||
| 64 | |-----------------|-----------------------------------| | ||
| 65 | *****/ | ||
| 66 | |||
| 67 | #define _RGBM_SINGLE_STATIC(sym) RGBLIGHT_MODE_ ## sym, | ||
| 68 | #define _RGBM_SINGLE_DYNAMIC(sym) RGBLIGHT_MODE_ ## sym, | ||
| 69 | #define _RGBM_MULTI_STATIC(sym) RGBLIGHT_MODE_ ## sym, | ||
| 70 | #define _RGBM_MULTI_DYNAMIC(sym) RGBLIGHT_MODE_ ## sym, | ||
| 71 | #define _RGBM_TMP_STATIC(sym) RGBLIGHT_MODE_ ## sym, | ||
| 72 | #define _RGBM_TMP_DYNAMIC(sym) RGBLIGHT_MODE_ ## sym, | ||
| 73 | enum RGBLIGHT_EFFECT_MODE { | ||
| 74 | RGBLIGHT_MODE_zero = 0, | ||
| 75 | #include "rgblight.h" | ||
| 76 | RGBLIGHT_MODE_last | ||
| 77 | }; | ||
| 78 | |||
| 79 | #ifndef RGBLIGHT_H_DUMMY_DEFINE | ||
| 80 | |||
| 81 | #define RGBLIGHT_MODES (RGBLIGHT_MODE_last-1) | ||
| 24 | 82 | ||
| 25 | #ifndef RGBLIGHT_EFFECT_BREATHE_CENTER | 83 | #ifndef RGBLIGHT_EFFECT_BREATHE_CENTER |
| 26 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1-2.7 | 84 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1-2.7 |
| @@ -109,7 +167,7 @@ void rgblight_enable(void); | |||
| 109 | void rgblight_disable(void); | 167 | void rgblight_disable(void); |
| 110 | void rgblight_step(void); | 168 | void rgblight_step(void); |
| 111 | void rgblight_step_reverse(void); | 169 | void rgblight_step_reverse(void); |
| 112 | uint32_t rgblight_get_mode(void); | 170 | uint8_t rgblight_get_mode(void); |
| 113 | void rgblight_mode(uint8_t mode); | 171 | void rgblight_mode(uint8_t mode); |
| 114 | void rgblight_set(void); | 172 | void rgblight_set(void); |
| 115 | void rgblight_update_dword(uint32_t dword); | 173 | void rgblight_update_dword(uint32_t dword); |
| @@ -145,6 +203,14 @@ void rgblight_mode_noeeprom(uint8_t mode); | |||
| 145 | void rgblight_toggle_noeeprom(void); | 203 | void rgblight_toggle_noeeprom(void); |
| 146 | void rgblight_enable_noeeprom(void); | 204 | void rgblight_enable_noeeprom(void); |
| 147 | void rgblight_disable_noeeprom(void); | 205 | void rgblight_disable_noeeprom(void); |
| 206 | void rgblight_step_noeeprom(void); | ||
| 207 | void rgblight_step_reverse_noeeprom(void); | ||
| 208 | void rgblight_increase_hue_noeeprom(void); | ||
| 209 | void rgblight_decrease_hue_noeeprom(void); | ||
| 210 | void rgblight_increase_sat_noeeprom(void); | ||
| 211 | void rgblight_decrease_sat_noeeprom(void); | ||
| 212 | void rgblight_increase_val_noeeprom(void); | ||
| 213 | void rgblight_decrease_val_noeeprom(void); | ||
| 148 | 214 | ||
| 149 | void rgblight_sethsv_eeprom_helper(uint16_t hue, uint8_t sat, uint8_t val, bool write_to_eeprom); | 215 | void rgblight_sethsv_eeprom_helper(uint16_t hue, uint8_t sat, uint8_t val, bool write_to_eeprom); |
| 150 | void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom); | 216 | void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom); |
| @@ -168,4 +234,73 @@ void rgblight_effect_christmas(void); | |||
| 168 | void rgblight_effect_rgbtest(void); | 234 | void rgblight_effect_rgbtest(void); |
| 169 | void rgblight_effect_alternating(void); | 235 | void rgblight_effect_alternating(void); |
| 170 | 236 | ||
| 237 | #endif // #ifndef RGBLIGHT_H_DUMMY_DEFINE | ||
| 238 | #endif // RGBLIGHT_H | ||
| 239 | |||
| 240 | #ifdef _RGBM_SINGLE_STATIC | ||
| 241 | _RGBM_SINGLE_STATIC( STATIC_LIGHT ) | ||
| 242 | #ifdef RGBLIGHT_EFFECT_BREATHING | ||
| 243 | _RGBM_MULTI_DYNAMIC( BREATHING ) | ||
| 244 | _RGBM_TMP_DYNAMIC( breathing_3 ) | ||
| 245 | _RGBM_TMP_DYNAMIC( breathing_4 ) | ||
| 246 | _RGBM_TMP_DYNAMIC( BREATHING_end ) | ||
| 247 | #endif | ||
| 248 | #ifdef RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
| 249 | _RGBM_MULTI_DYNAMIC( RAINBOW_MOOD ) | ||
| 250 | _RGBM_TMP_DYNAMIC( rainbow_mood_7 ) | ||
| 251 | _RGBM_TMP_DYNAMIC( RAINBOW_MOOD_end ) | ||
| 252 | #endif | ||
| 253 | #ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
| 254 | _RGBM_MULTI_DYNAMIC( RAINBOW_SWIRL ) | ||
| 255 | _RGBM_TMP_DYNAMIC( rainbow_swirl_10 ) | ||
| 256 | _RGBM_TMP_DYNAMIC( rainbow_swirl_11 ) | ||
| 257 | _RGBM_TMP_DYNAMIC( rainbow_swirl_12 ) | ||
| 258 | _RGBM_TMP_DYNAMIC( rainbow_swirl_13 ) | ||
| 259 | _RGBM_TMP_DYNAMIC( RAINBOW_SWIRL_end ) | ||
| 260 | #endif | ||
| 261 | #ifdef RGBLIGHT_EFFECT_SNAKE | ||
| 262 | _RGBM_MULTI_DYNAMIC( SNAKE ) | ||
| 263 | _RGBM_TMP_DYNAMIC( snake_16 ) | ||
| 264 | _RGBM_TMP_DYNAMIC( snake_17 ) | ||
| 265 | _RGBM_TMP_DYNAMIC( snake_18 ) | ||
| 266 | _RGBM_TMP_DYNAMIC( snake_19 ) | ||
| 267 | _RGBM_TMP_DYNAMIC( SNAKE_end ) | ||
| 268 | #endif | ||
| 269 | #ifdef RGBLIGHT_EFFECT_KNIGHT | ||
| 270 | _RGBM_MULTI_DYNAMIC( KNIGHT ) | ||
| 271 | _RGBM_TMP_DYNAMIC( knight_22 ) | ||
| 272 | _RGBM_TMP_DYNAMIC( KNIGHT_end ) | ||
| 273 | #endif | ||
| 274 | #ifdef RGBLIGHT_EFFECT_CHRISTMAS | ||
| 275 | _RGBM_SINGLE_DYNAMIC( CHRISTMAS ) | ||
| 276 | #endif | ||
| 277 | #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
| 278 | _RGBM_MULTI_STATIC( STATIC_GRADIENT ) | ||
| 279 | _RGBM_TMP_STATIC( static_gradient_26 ) | ||
| 280 | _RGBM_TMP_STATIC( static_gradient_27 ) | ||
| 281 | _RGBM_TMP_STATIC( static_gradient_28 ) | ||
| 282 | _RGBM_TMP_STATIC( static_gradient_29 ) | ||
| 283 | _RGBM_TMP_STATIC( static_gradient_30 ) | ||
| 284 | _RGBM_TMP_STATIC( static_gradient_31 ) | ||
| 285 | _RGBM_TMP_STATIC( static_gradient_32 ) | ||
| 286 | _RGBM_TMP_STATIC( static_gradient_33 ) | ||
| 287 | _RGBM_TMP_STATIC( STATIC_GRADIENT_end ) | ||
| 288 | #endif | ||
| 289 | #ifdef RGBLIGHT_EFFECT_RGB_TEST | ||
| 290 | _RGBM_SINGLE_DYNAMIC( RGB_TEST ) | ||
| 291 | #endif | ||
| 292 | #ifdef RGBLIGHT_EFFECT_ALTERNATING | ||
| 293 | _RGBM_SINGLE_DYNAMIC( ALTERNATING ) | ||
| 294 | #endif | ||
| 295 | //// Add a new mode here. | ||
| 296 | // #ifdef RGBLIGHT_EFFECT_<name> | ||
| 297 | // _RGBM_<SINGLE|MULTI>_<STATIC|DYNAMIC>( <name> ) | ||
| 298 | // #endif | ||
| 171 | #endif | 299 | #endif |
| 300 | |||
| 301 | #undef _RGBM_SINGLE_STATIC | ||
| 302 | #undef _RGBM_SINGLE_DYNAMIC | ||
| 303 | #undef _RGBM_MULTI_STATIC | ||
| 304 | #undef _RGBM_MULTI_DYNAMIC | ||
| 305 | #undef _RGBM_TMP_STATIC | ||
| 306 | #undef _RGBM_TMP_DYNAMIC | ||
