|
|
@ -3,6 +3,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
KeyboardioScanner Model01::leftHand(0);
|
|
|
|
KeyboardioScanner Model01::leftHand(0);
|
|
|
|
KeyboardioScanner Model01::rightHand(3);
|
|
|
|
KeyboardioScanner Model01::rightHand(3);
|
|
|
|
|
|
|
|
bool Model01::isLEDChanged;
|
|
|
|
|
|
|
|
|
|
|
|
static constexpr uint8_t key_led_map[4][16] = {
|
|
|
|
static constexpr uint8_t key_led_map[4][16] = {
|
|
|
|
{3,4,11,12,19,20,26,27, 36,37,43,44,51,52,59,60},
|
|
|
|
{3,4,11,12,19,20,26,27, 36,37,43,44,51,52,59,60},
|
|
|
@ -59,8 +60,14 @@ void Model01::setup(void) {
|
|
|
|
|
|
|
|
|
|
|
|
void Model01::led_set_crgb_at(uint8_t i, cRGB crgb) {
|
|
|
|
void Model01::led_set_crgb_at(uint8_t i, cRGB crgb) {
|
|
|
|
if(i<32) {
|
|
|
|
if(i<32) {
|
|
|
|
|
|
|
|
cRGB oldColor = led_get_crgb_at(i);
|
|
|
|
|
|
|
|
isLEDChanged |= !(oldColor.r == crgb.r && oldColor.g == crgb.g && oldColor.b == crgb.b);
|
|
|
|
|
|
|
|
|
|
|
|
leftHand.ledData.leds[i] = crgb;
|
|
|
|
leftHand.ledData.leds[i] = crgb;
|
|
|
|
} else if (i<64) {
|
|
|
|
} else if (i<64) {
|
|
|
|
|
|
|
|
cRGB oldColor = led_get_crgb_at(i);
|
|
|
|
|
|
|
|
isLEDChanged |= !(oldColor.r == crgb.r && oldColor.g == crgb.g && oldColor.b == crgb.b);
|
|
|
|
|
|
|
|
|
|
|
|
rightHand.ledData.leds[i-32] = crgb;
|
|
|
|
rightHand.ledData.leds[i-32] = crgb;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// TODO how do we want to handle debugging assertions about crazy user
|
|
|
|
// TODO how do we want to handle debugging assertions about crazy user
|
|
|
@ -83,6 +90,9 @@ cRGB Model01::led_get_crgb_at(uint8_t i) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Model01::led_sync() {
|
|
|
|
void Model01::led_sync() {
|
|
|
|
|
|
|
|
if (!isLEDChanged)
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
leftHand.sendLEDData();
|
|
|
|
leftHand.sendLEDData();
|
|
|
|
rightHand.sendLEDData();
|
|
|
|
rightHand.sendLEDData();
|
|
|
|
|
|
|
|
|
|
|
@ -95,6 +105,7 @@ void Model01::led_sync() {
|
|
|
|
leftHand.sendLEDData();
|
|
|
|
leftHand.sendLEDData();
|
|
|
|
rightHand.sendLEDData();
|
|
|
|
rightHand.sendLEDData();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
isLEDChanged = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
boolean Model01::led_power_fault() {
|
|
|
|
boolean Model01::led_power_fault() {
|
|
|
|