aboutsummaryrefslogtreecommitdiff
path: root/quantum/rgb_matrix.h
diff options
context:
space:
mode:
authorXScorpion2 <rcalt2vt@gmail.com>2019-05-10 18:55:02 -0500
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-05-10 16:55:02 -0700
commit62ba66d61821fec6a5ad3bdccdf738e15e082461 (patch)
tree4b0fb100299a7a7e9a51cbbe96da94df8a57483f /quantum/rgb_matrix.h
parentfebaf9dec42ce4d4ade316f811145a291137ee94 (diff)
downloadqmk_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.h103
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
65enum rgb_matrix_effects { 65enum 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
258extern const rgb_matrix_driver_t rgb_matrix_driver; 183extern const rgb_matrix_driver_t rgb_matrix_driver;
259 184
185extern rgb_config_t rgb_matrix_config;
186
187extern bool g_suspend_state;
188extern rgb_counters_t g_rgb_counters;
189extern led_config_t g_led_config;
190#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED
191extern last_hit_t g_last_hit_tracker;
192#endif
193#ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS
194extern uint8_t rgb_frame_buffer[MATRIX_ROWS][MATRIX_COLS];
195#endif
196
260#endif 197#endif