From 7bc729bb55c36fff05f67fa0ac9c466631eb6786 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 16 Mar 2021 09:36:49 -0600 Subject: [PATCH] Add LED_SAVE command --- keyboards/system76/system76_ec.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c index d64a325a70d..2b827a8477e 100644 --- a/keyboards/system76/system76_ec.c +++ b/keyboards/system76/system76_ec.c @@ -32,6 +32,8 @@ enum Command { CMD_LED_SET_MODE = 16, // Get currently pressed keys CMD_MATRIX_GET = 17, + // Save LED settings to ROM + CMD_LED_SAVE = 18, }; #define CMD_LED_INDEX_ALL 0xFF @@ -284,7 +286,6 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { layer_rgb[layer].hsv.v = value; data[1] = 0; system76_ec_rgb_layer(layer_state); - system76_ec_rgb_eeprom(true); // TODO: instead use command for save/load break; } } @@ -330,7 +331,6 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { // Ignore rgb.b data[1] = 0; system76_ec_rgb_layer(layer_state); - system76_ec_rgb_eeprom(true); // TODO: instead use command for save/load break; } } @@ -363,10 +363,15 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { layer_rgb[layer].speed = speed; data[1] = 0; system76_ec_rgb_layer(layer_state); - system76_ec_rgb_eeprom(true); // TODO: instead use command for save/load } } break; + case CMD_LED_SAVE: + if (!bootloader_unlocked) { + system76_ec_rgb_eeprom(true); + data[1] = 0; + } + break; #endif // defined(RGB_MATRIX_CUSTOM_KB) case CMD_MATRIX_GET: {