summaryrefslogtreecommitdiffstats
path: root/quantum/led_matrix.h
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2021-02-14 12:15:08 +1100
committerGitHub <noreply@github.com>2021-02-14 12:15:08 +1100
commit7ce5ba645abcbf3d859a418d4456a1cc80c73e64 (patch)
tree32de70337d61f36be88d142314a78ba6e8df6300 /quantum/led_matrix.h
parentde8caf708c1a9a80527a04be620ed3969262e50b (diff)
LED Matrix: add led_matrix_types.h and implement g_led_config (#11741)
* LED Matrix: add led_matrix_types.h and implement g_led_config * Set correct flags for non-"modifier" LEDs * Clean up docs a little * Add license headers for [led,rgb]_matrix_types.h
Diffstat (limited to 'quantum/led_matrix.h')
-rw-r--r--quantum/led_matrix.h42
1 files changed, 6 insertions, 36 deletions
diff --git a/quantum/led_matrix.h b/quantum/led_matrix.h
index 7dcdf1d482..85bae43c15 100644
--- a/quantum/led_matrix.h
+++ b/quantum/led_matrix.h
@@ -19,46 +19,12 @@
#pragma once
+#include "led_matrix_types.h"
+
#ifndef BACKLIGHT_ENABLE
# error You must define BACKLIGHT_ENABLE with LED_MATRIX_ENABLE
#endif
-typedef struct Point {
- uint8_t x;
- uint8_t y;
-} __attribute__((packed)) Point;
-
-typedef struct led_matrix {
- union {
- uint8_t raw;
- struct {
- uint8_t row : 4; // 16 max
- uint8_t col : 4; // 16 max
- };
- } matrix_co;
- Point point;
- uint8_t modifier : 1;
-} __attribute__((packed)) led_matrix;
-
-extern const led_matrix g_leds[LED_DRIVER_LED_COUNT];
-
-typedef struct {
- uint8_t index;
- uint8_t value;
-} led_indicator;
-
-typedef union {
- uint32_t raw;
- struct {
- bool enable : 1;
- uint8_t mode : 6;
- uint8_t hue : 8; // Unused by led_matrix
- uint8_t sat : 8; // Unused by led_matrix
- uint8_t val : 8;
- uint8_t speed : 8; // EECONFIG needs to be increased to support this
- };
-} led_config_t;
-
enum led_matrix_effects {
LED_MATRIX_UNIFORM_BRIGHTNESS = 1,
// All new effects go above this line
@@ -122,3 +88,7 @@ typedef struct {
} led_matrix_driver_t;
extern const led_matrix_driver_t led_matrix_driver;
+
+extern led_eeconfig_t led_matrix_eeconfig;
+
+extern led_config_t g_led_config;