#include <stdint.h>
#include <stdbool.h>
+#include "color.h"
#if defined(__GNUC__)
#define PACKED __attribute__ ((__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)
#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;