X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Frgb_matrix_types.h;h=04a84f4ac753bf9d9a55516730789155b238444f;hb=cf215487ba35c6754cd1c52bb900a46bb52ed3a3;hp=7a3bc6714f5b79fd9bcdf1965c6ce9ba7bb5dcad;hpb=a7113c8ed090d0ac647f30ee9b8ef41252e568ed;p=qmk_firmware.git diff --git a/quantum/rgb_matrix_types.h b/quantum/rgb_matrix_types.h index 7a3bc6714..04a84f4ac 100644 --- a/quantum/rgb_matrix_types.h +++ b/quantum/rgb_matrix_types.h @@ -2,6 +2,7 @@ #include #include +#include "color.h" #if defined(__GNUC__) #define PACKED __attribute__ ((__packed__)) @@ -59,14 +60,6 @@ typedef struct PACKED { uint8_t y; } point_t; -typedef union { - uint8_t raw; - struct { - uint8_t row:4; // 16 max - uint8_t col:4; // 16 max - }; -} matrix_co_t; - #define HAS_FLAGS(bits, flags) ((bits & flags) == flags) #define HAS_ANY_FLAGS(bits, flags) ((bits & flags) != 0x00) @@ -76,21 +69,21 @@ typedef union { #define LED_FLAG_UNDERGLOW 0x02 #define LED_FLAG_KEYLIGHT 0x04 +#define NO_LED 255 + typedef struct PACKED { - matrix_co_t matrix_co; - point_t point; - uint8_t flags; -} rgb_led; + uint8_t matrix_co[MATRIX_ROWS][MATRIX_COLS]; + point_t point[DRIVER_LED_TOTAL]; + uint8_t flags[DRIVER_LED_TOTAL]; +} led_config_t; typedef union { uint32_t raw; struct PACKED { uint8_t enable :2; uint8_t mode :6; - uint8_t hue :8; - uint8_t sat :8; - uint8_t val :8; - uint8_t speed :8;//EECONFIG needs to be increased to support this + HSV hsv; + uint8_t speed; //EECONFIG needs to be increased to support this }; } rgb_config_t;