Added Device Profiles

Allows the pin assignment during runtime.
Pin settings will be read from a json file called "pin_mapping.json"
This commit is contained in:
Thomas Basler
2023-01-16 21:09:24 +01:00
parent 587de2e3be
commit 5f699f4927
11 changed files with 293 additions and 25 deletions

View File

@@ -80,6 +80,9 @@ bool ConfigurationClass::write()
security["password"] = config.Security_Password;
security["allow_readonly"] = config.Security_AllowReadonly;
JsonObject device = doc.createNestedObject("device");
device["pinmapping"] = config.Dev_PinMapping;
JsonArray inverters = doc.createNestedArray("inverters");
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
JsonObject inv = inverters.createNestedObject();
@@ -201,6 +204,9 @@ bool ConfigurationClass::read()
strlcpy(config.Security_Password, security["password"] | ACCESS_POINT_PASSWORD, sizeof(config.Security_Password));
config.Security_AllowReadonly = security["allow_readonly"] | SECURITY_ALLOW_READONLY;
JsonObject device = doc["device"];
strlcpy(config.Dev_PinMapping, device["pinmapping"] | DEV_PINMAPPING, sizeof(config.Dev_PinMapping));
JsonArray inverters = doc["inverters"];
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
JsonObject inv = inverters[i].as<JsonObject>();