diff --git a/plugins/Kaleidoscope-Hardware-Keyboardio-Model100/src/kaleidoscope/driver/keyboardio/Model100Side.cpp b/plugins/Kaleidoscope-Hardware-Keyboardio-Model100/src/kaleidoscope/driver/keyboardio/Model100Side.cpp index ea018285..1a156e62 100644 --- a/plugins/Kaleidoscope-Hardware-Keyboardio-Model100/src/kaleidoscope/driver/keyboardio/Model100Side.cpp +++ b/plugins/Kaleidoscope-Hardware-Keyboardio-Model100/src/kaleidoscope/driver/keyboardio/Model100Side.cpp @@ -214,6 +214,7 @@ void Model100Side::sendLEDData() { } } +auto constexpr gamma8 = kaleidoscope::driver::color::gamma_correction; void Model100Side::sendLEDBank(uint8_t bank) { uint8_t data[LED_BYTES_PER_BANK + 1]; @@ -229,25 +230,25 @@ void Model100Side::sendLEDBank(uint8_t bank) { else c = 0; - data[i + 1] = c; + data[i + 1] = pgm_read_byte(&gamma8[c]); } uint8_t result = writeData(data, ELEMENTS(data)); } void Model100Side::setAllLEDsTo(cRGB color) { uint8_t data[] = {TWI_CMD_LED_SET_ALL_TO, - color.b, - color.g, - color.r}; + pgm_read_byte(&gamma8[color.b]), + pgm_read_byte(&gamma8[color.g]), + pgm_read_byte(&gamma8[color.r])}; uint8_t result = writeData(data, ELEMENTS(data)); } void Model100Side::setOneLEDTo(uint8_t led, cRGB color) { uint8_t data[] = {TWI_CMD_LED_SET_ONE_TO, led, - color.b, - color.g, - color.r}; + pgm_read_byte(&gamma8[color.b]), + pgm_read_byte(&gamma8[color.g]), + pgm_read_byte(&gamma8[color.r])}; uint8_t result = writeData(data, ELEMENTS(data)); }