diff options
author | Ryan <fauxpark@gmail.com> | 2021-02-14 12:15:08 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-14 12:15:08 +1100 |
commit | 7ce5ba645abcbf3d859a418d4456a1cc80c73e64 (patch) | |
tree | 32de70337d61f36be88d142314a78ba6e8df6300 /quantum/led_matrix.h | |
parent | de8caf708c1a9a80527a04be620ed3969262e50b (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.h | 42 |
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; |