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