Helper functions for color arrays
This commit is contained in:
parent
7514380bcd
commit
aece22f9a8
|
@ -47,6 +47,22 @@ namespace preferences {
|
||||||
bool disable_capslock { true };
|
bool disable_capslock { true };
|
||||||
bool run_on_indicator { false };
|
bool run_on_indicator { false };
|
||||||
|
|
||||||
|
// Array help functions
|
||||||
|
void add_array(JsonDocument& doc, const char* name, int* array, int size) {
|
||||||
|
JsonArray jarr = doc.createNestedArray(name);
|
||||||
|
for(size_t i = 0; i < size; ++i) {
|
||||||
|
jarr.add(array[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void read_array(JsonDocument& doc, const char* name, int* array, int size) {
|
||||||
|
JsonArray jarr = doc[name].as<JsonArray>();
|
||||||
|
|
||||||
|
for (size_t i = 0; i<jarr.size() && i<size; ++i) {
|
||||||
|
array[i] = jarr[i].as<int>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void toJson(JsonDocument& root) {
|
void toJson(JsonDocument& root) {
|
||||||
root["enable_msc"] = enable_msc;
|
root["enable_msc"] = enable_msc;
|
||||||
root["enable_led"] = enable_led;
|
root["enable_led"] = enable_led;
|
||||||
|
@ -64,20 +80,9 @@ namespace preferences {
|
||||||
|
|
||||||
root["main_script"] = main_script;
|
root["main_script"] = main_script;
|
||||||
|
|
||||||
JsonArray attack_color_arr = root.createNestedArray("attack_color");
|
add_array(root, "attack_color", attack_color, 3);
|
||||||
attack_color_arr.add(attack_color[0]);
|
add_array(root, "setup_color", setup_color, 3);
|
||||||
attack_color_arr.add(attack_color[1]);
|
add_array(root, "idle_color", idle_color, 3);
|
||||||
attack_color_arr.add(attack_color[2]);
|
|
||||||
|
|
||||||
JsonArray setup_color_arr = root.createNestedArray("setup_color");
|
|
||||||
setup_color_arr.add(setup_color[0]);
|
|
||||||
setup_color_arr.add(setup_color[1]);
|
|
||||||
setup_color_arr.add(setup_color[2]);
|
|
||||||
|
|
||||||
JsonArray idle_color_arr = root.createNestedArray("idle_color");
|
|
||||||
idle_color_arr.add(idle_color[0]);
|
|
||||||
idle_color_arr.add(idle_color[1]);
|
|
||||||
idle_color_arr.add(idle_color[2]);
|
|
||||||
|
|
||||||
root["disable_capslock"] = disable_capslock;
|
root["disable_capslock"] = disable_capslock;
|
||||||
root["run_on_indicator"] = run_on_indicator;
|
root["run_on_indicator"] = run_on_indicator;
|
||||||
|
@ -122,26 +127,9 @@ namespace preferences {
|
||||||
|
|
||||||
if (!config_doc.containsKey("main_script")) config_doc["main_script"] = main_script;
|
if (!config_doc.containsKey("main_script")) config_doc["main_script"] = main_script;
|
||||||
|
|
||||||
if (!config_doc.containsKey("attack_color")) {
|
if (!config_doc.containsKey("attack_color")) add_array(config_doc, "attack_color", attack_color, 3);
|
||||||
JsonArray arr = config_doc.createNestedArray("attack_color");
|
if (!config_doc.containsKey("setup_color")) add_array(config_doc, "setup_color", setup_color, 3);
|
||||||
arr.add(attack_color[0]);
|
if (!config_doc.containsKey("idle_color")) add_array(config_doc, "idle_color", idle_color, 3);
|
||||||
arr.add(attack_color[1]);
|
|
||||||
arr.add(attack_color[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!config_doc.containsKey("setup_color")) {
|
|
||||||
JsonArray arr = config_doc.createNestedArray("setup_color");
|
|
||||||
arr.add(setup_color[0]);
|
|
||||||
arr.add(setup_color[1]);
|
|
||||||
arr.add(setup_color[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!config_doc.containsKey("idle_color")) {
|
|
||||||
JsonArray arr = config_doc.createNestedArray("idle_color");
|
|
||||||
arr.add(idle_color[0]);
|
|
||||||
arr.add(idle_color[1]);
|
|
||||||
arr.add(idle_color[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!config_doc.containsKey("disable_capslock")) config_doc["disable_capslock"] = disable_capslock;
|
if (!config_doc.containsKey("disable_capslock")) config_doc["disable_capslock"] = disable_capslock;
|
||||||
if (!config_doc.containsKey("run_on_indicator")) config_doc["run_on_indicator"] = run_on_indicator;
|
if (!config_doc.containsKey("run_on_indicator")) config_doc["run_on_indicator"] = run_on_indicator;
|
||||||
|
@ -163,26 +151,9 @@ namespace preferences {
|
||||||
|
|
||||||
main_script = config_doc["main_script"].as<std::string>();
|
main_script = config_doc["main_script"].as<std::string>();
|
||||||
|
|
||||||
// Attack LED Color
|
read_array(config_doc, "attack_color", attack_color, 3);
|
||||||
JsonArray attack_color_array = config_doc["attack_color"].as<JsonArray>();
|
read_array(config_doc, "setup_color", setup_color, 3);
|
||||||
|
read_array(config_doc, "idle_color", idle_color, 3);
|
||||||
for (size_t i = 0; i<attack_color_array.size() && i<3; ++i) {
|
|
||||||
attack_color[i] = attack_color_array[i].as<int>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Setup LED Color
|
|
||||||
JsonArray setup_color_array = config_doc["setup_color"].as<JsonArray>();
|
|
||||||
|
|
||||||
for (size_t i = 0; i<setup_color_array.size() && i<3; ++i) {
|
|
||||||
setup_color[i] = setup_color_array[i].as<int>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Idle LED Color
|
|
||||||
JsonArray idle_color_array = config_doc["idle_color"].as<JsonArray>();
|
|
||||||
|
|
||||||
for (size_t i = 0; i<idle_color_array.size() && i<3; ++i) {
|
|
||||||
idle_color[i] = idle_color_array[i].as<int>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Format Flash (Drive name/Disk label max 11 characters)
|
// Format Flash (Drive name/Disk label max 11 characters)
|
||||||
format = config_doc.containsKey("format");
|
format = config_doc.containsKey("format");
|
||||||
|
|
Loading…
Reference in New Issue