Split out lighting funcs
parent
321cc56ea4
commit
00010e432a
@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
extern rgb_config_t rgb_matrix_config;
|
||||
|
||||
void write_hsv_matrix(void);
|
||||
void hsv_matrix_set_color(int, const uint8_t[3]);
|
||||
void set_layer_color(int);
|
@ -0,0 +1,39 @@
|
||||
#include "keymap.h"
|
||||
#include "lighting.h"
|
||||
#include "lighting_layers.h"
|
||||
|
||||
void hsv_matrix_set_color(int index, const uint8_t hsv_color[3]) {
|
||||
if (index >= DRIVER_LED_TOTAL)
|
||||
return;
|
||||
|
||||
HSV hsv = {
|
||||
.h = hsv_color[0],
|
||||
.s = hsv_color[1],
|
||||
.v = hsv_color[2],
|
||||
};
|
||||
|
||||
RGB rgb = hsv_to_rgb(hsv);
|
||||
float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
|
||||
rgb_matrix_set_color(index, f * rgb.r, f * rgb.g, f * rgb.b);
|
||||
}
|
||||
|
||||
void set_layer_color(int layer) {
|
||||
for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
|
||||
HSV hsv = {
|
||||
.h = pgm_read_byte(&ledmap[layer][i][0]),
|
||||
.s = pgm_read_byte(&ledmap[layer][i][1]),
|
||||
.v = pgm_read_byte(&ledmap[layer][i][2]),
|
||||
};
|
||||
|
||||
if(hsv.h || hsv.s || hsv.v) {
|
||||
hsv_matrix_set_color(i, ledmap[layer][i]);
|
||||
} else if (
|
||||
layer == _GAME_LAYER ||
|
||||
layer == _POM_LAYER ||
|
||||
layer == _POM_LAYER2
|
||||
) {
|
||||
// Allow lights to be blanked
|
||||
hsv_matrix_set_color(i, (uint8_t[3]) {0, 0, 0});
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,179 @@
|
||||
#include "keymap.h"
|
||||
#include "lighting.h"
|
||||
|
||||
#ifdef _______
|
||||
#undef _______
|
||||
#endif
|
||||
|
||||
#define _______ {0, 0, 0}
|
||||
|
||||
const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
|
||||
[_TYPING_LAYER] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_PRIM, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_PRIM, C_PRIM, C_PRIM,
|
||||
//UnderGlow
|
||||
C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM
|
||||
},
|
||||
[_TEAMS_LAYER] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_TALI,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_PRIM, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_PRIM, C_PRIM, C_PRIM,
|
||||
//UnderGlow
|
||||
C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM
|
||||
},
|
||||
[_FUNCTION_LAYER] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, C_TALI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, C_SECO, C_SECO, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, C_PRIM, _______, _______, _______, C_PRIM, _______, _______, _______, _______, _______, _______, C_MODI, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_MODI, C_MODI, C_MODI,
|
||||
//UnderGlow
|
||||
C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI,
|
||||
C_MODI, C_MODI,
|
||||
C_MODI, C_MODI,
|
||||
C_MODI, C_MODI,
|
||||
C_MODI, C_MODI,
|
||||
C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI, C_MODI
|
||||
},
|
||||
[_WIN_LAYER] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, C_TALI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_PRIM, C_PRIM, C_PRIM, C_PRIM, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_PRIM, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_PRIM, C_PRIM, C_PRIM,
|
||||
//UnderGlow
|
||||
C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3
|
||||
},
|
||||
[_TALI_LAYER] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//UnderGlow
|
||||
C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI,
|
||||
C_TALI, C_TALI,
|
||||
C_TALI, C_TALI,
|
||||
C_TALI, C_TALI,
|
||||
C_TALI, C_TALI,
|
||||
C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI, C_TALI
|
||||
},
|
||||
[_TALI_LAYER2] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//UnderGlow
|
||||
C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2,
|
||||
C_TAL2, C_TAL2,
|
||||
C_TAL2, C_TAL2,
|
||||
C_TAL2, C_TAL2,
|
||||
C_TAL2, C_TAL2,
|
||||
C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2, C_TAL2
|
||||
},
|
||||
[_TALI_LAYER3] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//UnderGlow
|
||||
C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3,
|
||||
C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3, C_TAL3
|
||||
},
|
||||
[_GAME_LAYER] = {
|
||||
_______, C_MODI, C_MODI, C_SECO, C_SECO, C_PRIM, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
C_PRIM, C_PRIM, C_SECO, C_PRIM, C_PRIM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, C_SECO, C_SECO, C_SECO, C_PRIM, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
C_PRIM, C_PRIM, _______, C_PRIM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, C_PRIM, _______, _______, _______, _______, _______,
|
||||
//UnderGlow
|
||||
C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO
|
||||
},
|
||||
[_UNB_W_LAY] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, C_MODI, C_MODI, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_PRIM, C_PRIM, C_PRIM, C_PRIM, _______, _______, C_TALI, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, C_TAL3, C_TAL3, C_TAL3, _______, _______, _______, _______,
|
||||
//UnderGlow
|
||||
C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO,
|
||||
C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO, C_SECO
|
||||
},
|
||||
[_UNB_W_LAY_2] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_TAL2, C_PRIM, C_PRIM, C_TAL2, _______, _______, C_TALI, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, C_TALI, C_TAL3, C_TALI, _______, _______, _______, _______,
|
||||
//UnderGlow
|
||||
C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM,
|
||||
C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM, C_PRIM
|
||||
},
|
||||
[_POM_LAYER] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, C_RED, C_RED, C_SECO, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, C_GRN, _______, _______, _______, _______, _______,
|
||||
//UnderGlow
|
||||
C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG
|
||||
},
|
||||
[_POM_LAYER2] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, C_RED, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//UnderGlow (67)
|
||||
C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG,
|
||||
C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG, C_ORNG
|
||||
},
|
||||
};
|
Loading…
Reference in New Issue