]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/rgb_matrix_types.h
Switching rgb_config_t to use HSV struct
[qmk_firmware.git] / quantum / rgb_matrix_types.h
index 7a3bc6714f5b79fd9bcdf1965c6ce9ba7bb5dcad..04a84f4ac753bf9d9a55516730789155b238444f 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <stdint.h>
 #include <stdbool.h>
+#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;