diff options
| author | XScorpion2 <rcalt2vt@gmail.com> | 2019-05-10 18:55:02 -0500 |
|---|---|---|
| committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-05-10 16:55:02 -0700 |
| commit | 62ba66d61821fec6a5ad3bdccdf738e15e082461 (patch) | |
| tree | 4b0fb100299a7a7e9a51cbbe96da94df8a57483f /quantum/rgb_matrix.h | |
| parent | febaf9dec42ce4d4ade316f811145a291137ee94 (diff) | |
| download | qmk_firmware-62ba66d61821fec6a5ad3bdccdf738e15e082461.tar.gz qmk_firmware-62ba66d61821fec6a5ad3bdccdf738e15e082461.zip | |
Cleanup/rgb matrix (#5811)
* clean up rgb matrix extern usage
Moved rgb matrix boiler plate into macros
Rebased onto typing heatmap pr
* Fixing the reversed frame buffer access in digital rain
* Fixing digital rain & typing heatmap if keyreactive effects are not enabled
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Adding parenthesizes to DRIVER_LED_TOTAL where necessary
* Updated docs
* added notes about parentheses
Diffstat (limited to 'quantum/rgb_matrix.h')
| -rw-r--r-- | quantum/rgb_matrix.h | 103 |
1 files changed, 20 insertions, 83 deletions
diff --git a/quantum/rgb_matrix.h b/quantum/rgb_matrix.h index add0715d9..96a8b7662 100644 --- a/quantum/rgb_matrix.h +++ b/quantum/rgb_matrix.h | |||
| @@ -64,89 +64,12 @@ typedef struct | |||
| 64 | 64 | ||
| 65 | enum rgb_matrix_effects { | 65 | enum rgb_matrix_effects { |
| 66 | RGB_MATRIX_NONE = 0, | 66 | RGB_MATRIX_NONE = 0, |
| 67 | RGB_MATRIX_SOLID_COLOR = 1, | 67 | |
| 68 | #ifndef DISABLE_RGB_MATRIX_ALPHAS_MODS | 68 | // -------------------------------------- |
| 69 | RGB_MATRIX_ALPHAS_MODS, | 69 | // -----Begin rgb effect enum macros----- |
| 70 | #endif // DISABLE_RGB_MATRIX_ALPHAS_MODS | 70 | #define RGB_MATRIX_EFFECT(name, ...) RGB_MATRIX_##name, |
| 71 | #ifndef DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN | 71 | #include "rgb_matrix_animations/rgb_matrix_effects.inc" |
| 72 | RGB_MATRIX_GRADIENT_UP_DOWN, | 72 | #undef RGB_MATRIX_EFFECT |
| 73 | #endif // DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
| 74 | #ifndef DISABLE_RGB_MATRIX_BREATHING | ||
| 75 | RGB_MATRIX_BREATHING, | ||
| 76 | #endif // DISABLE_RGB_MATRIX_BREATHING | ||
| 77 | #ifndef DISABLE_RGB_MATRIX_CYCLE_ALL | ||
| 78 | RGB_MATRIX_CYCLE_ALL, | ||
| 79 | #endif // DISABLE_RGB_MATRIX_CYCLE_ALL | ||
| 80 | #ifndef DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
| 81 | RGB_MATRIX_CYCLE_LEFT_RIGHT, | ||
| 82 | #endif // DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
| 83 | #ifndef DISABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
| 84 | RGB_MATRIX_CYCLE_UP_DOWN, | ||
| 85 | #endif // DISABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
| 86 | #ifndef DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
| 87 | RGB_MATRIX_RAINBOW_MOVING_CHEVRON, | ||
| 88 | #endif // DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
| 89 | #ifndef DISABLE_RGB_MATRIX_DUAL_BEACON | ||
| 90 | RGB_MATRIX_DUAL_BEACON, | ||
| 91 | #endif // DISABLE_RGB_MATRIX_DUAL_BEACON | ||
| 92 | #ifndef DISABLE_RGB_MATRIX_RAINBOW_BEACON | ||
| 93 | RGB_MATRIX_RAINBOW_BEACON, | ||
| 94 | #endif // DISABLE_RGB_MATRIX_RAINBOW_BEACON | ||
| 95 | #ifndef DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
| 96 | RGB_MATRIX_RAINBOW_PINWHEELS, | ||
| 97 | #endif // DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
| 98 | #ifndef DISABLE_RGB_MATRIX_RAINDROPS | ||
| 99 | RGB_MATRIX_RAINDROPS, | ||
| 100 | #endif // DISABLE_RGB_MATRIX_RAINDROPS | ||
| 101 | #ifndef DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
| 102 | RGB_MATRIX_JELLYBEAN_RAINDROPS, | ||
| 103 | #endif // DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
| 104 | #ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
| 105 | #ifndef DISABLE_RGB_MATRIX_TYPING_HEATMAP | ||
| 106 | RGB_MATRIX_TYPING_HEATMAP, | ||
| 107 | #endif // DISABLE_RGB_MATRIX_TYPING_HEATMAP | ||
| 108 | #ifndef DISABLE_RGB_MATRIX_DIGITAL_RAIN | ||
| 109 | RGB_MATRIX_DIGITAL_RAIN, | ||
| 110 | #endif // DISABLE_RGB_MATRIX_DIGITAL_RAIN | ||
| 111 | #endif // RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
| 112 | #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED | ||
| 113 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
| 114 | RGB_MATRIX_SOLID_REACTIVE_SIMPLE, | ||
| 115 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
| 116 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE | ||
| 117 | RGB_MATRIX_SOLID_REACTIVE, | ||
| 118 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE | ||
| 119 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
| 120 | RGB_MATRIX_SOLID_REACTIVE_WIDE, | ||
| 121 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
| 122 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
| 123 | RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE, | ||
| 124 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
| 125 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
| 126 | RGB_MATRIX_SOLID_REACTIVE_CROSS, | ||
| 127 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
| 128 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
| 129 | RGB_MATRIX_SOLID_REACTIVE_MULTICROSS, | ||
| 130 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
| 131 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
| 132 | RGB_MATRIX_SOLID_REACTIVE_NEXUS, | ||
| 133 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
| 134 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
| 135 | RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, | ||
| 136 | #endif // DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
| 137 | #ifndef DISABLE_RGB_MATRIX_SPLASH | ||
| 138 | RGB_MATRIX_SPLASH, | ||
| 139 | #endif // DISABLE_RGB_MATRIX_SPLASH | ||
| 140 | #ifndef DISABLE_RGB_MATRIX_MULTISPLASH | ||
| 141 | RGB_MATRIX_MULTISPLASH, | ||
| 142 | #endif // DISABLE_RGB_MATRIX_MULTISPLASH | ||
| 143 | #ifndef DISABLE_RGB_MATRIX_SOLID_SPLASH | ||
| 144 | RGB_MATRIX_SOLID_SPLASH, | ||
| 145 | #endif // DISABLE_RGB_MATRIX_SOLID_SPLASH | ||
| 146 | #ifndef DISABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
| 147 | RGB_MATRIX_SOLID_MULTISPLASH, | ||
| 148 | #endif // DISABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
| 149 | #endif // RGB_MATRIX_KEYREACTIVE_ENABLED | ||
| 150 | 73 | ||
| 151 | #if defined(RGB_MATRIX_CUSTOM_KB) || defined(RGB_MATRIX_CUSTOM_USER) | 74 | #if defined(RGB_MATRIX_CUSTOM_KB) || defined(RGB_MATRIX_CUSTOM_USER) |
| 152 | #define RGB_MATRIX_EFFECT(name, ...) RGB_MATRIX_CUSTOM_##name, | 75 | #define RGB_MATRIX_EFFECT(name, ...) RGB_MATRIX_CUSTOM_##name, |
| @@ -158,6 +81,8 @@ enum rgb_matrix_effects { | |||
| 158 | #endif | 81 | #endif |
| 159 | #undef RGB_MATRIX_EFFECT | 82 | #undef RGB_MATRIX_EFFECT |
| 160 | #endif | 83 | #endif |
| 84 | // -------------------------------------- | ||
| 85 | // -----End rgb effect enum macros------- | ||
| 161 | 86 | ||
| 162 | RGB_MATRIX_EFFECT_MAX | 87 | RGB_MATRIX_EFFECT_MAX |
| 163 | }; | 88 | }; |
| @@ -257,4 +182,16 @@ typedef struct { | |||
| 257 | 182 | ||
| 258 | extern const rgb_matrix_driver_t rgb_matrix_driver; | 183 | extern const rgb_matrix_driver_t rgb_matrix_driver; |
| 259 | 184 | ||
| 185 | extern rgb_config_t rgb_matrix_config; | ||
| 186 | |||
| 187 | extern bool g_suspend_state; | ||
| 188 | extern rgb_counters_t g_rgb_counters; | ||
| 189 | extern led_config_t g_led_config; | ||
| 190 | #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED | ||
| 191 | extern last_hit_t g_last_hit_tracker; | ||
| 192 | #endif | ||
| 193 | #ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
| 194 | extern uint8_t rgb_frame_buffer[MATRIX_ROWS][MATRIX_COLS]; | ||
| 195 | #endif | ||
| 196 | |||
| 260 | #endif | 197 | #endif |
