Remove currentValue from MeterConfig and related factory reset logic
This commit is contained in:
@@ -229,7 +229,6 @@ Config is stored as JSON in LittleFS at `/config.json`.
|
|||||||
{
|
{
|
||||||
"pin": 4,
|
"pin": 4,
|
||||||
"maxD": 72.5,
|
"maxD": 72.5,
|
||||||
"current": 45.0,
|
|
||||||
"name": "Solar",
|
"name": "Solar",
|
||||||
"unit": "W",
|
"unit": "W",
|
||||||
"rangeMin": 0.0,
|
"rangeMin": 0.0,
|
||||||
|
|||||||
+1
-14
@@ -89,7 +89,6 @@ static void loadConfig() {
|
|||||||
JsonObject m = arr[i];
|
JsonObject m = arr[i];
|
||||||
meters[i].pin = m["pin"] | 0;
|
meters[i].pin = m["pin"] | 0;
|
||||||
meters[i].maxDuty = m["maxD"] | 0.0f;
|
meters[i].maxDuty = m["maxD"] | 0.0f;
|
||||||
meters[i].currentValue = m["current"] | 0.0f;
|
|
||||||
strlcpy(meters[i].name, m["name"] | "", sizeof(meters[i].name));
|
strlcpy(meters[i].name, m["name"] | "", sizeof(meters[i].name));
|
||||||
strlcpy(meters[i].unit, m["unit"] | "", sizeof(meters[i].unit));
|
strlcpy(meters[i].unit, m["unit"] | "", sizeof(meters[i].unit));
|
||||||
meters[i].rangeMin = m["rangeMin"] | m["range"] | 0.0f;
|
meters[i].rangeMin = m["rangeMin"] | m["range"] | 0.0f;
|
||||||
@@ -119,7 +118,6 @@ static void saveConfig() {
|
|||||||
JsonObject m = arr.add<JsonObject>();
|
JsonObject m = arr.add<JsonObject>();
|
||||||
m["pin"] = meters[i].pin;
|
m["pin"] = meters[i].pin;
|
||||||
m["maxD"] = meters[i].maxDuty;
|
m["maxD"] = meters[i].maxDuty;
|
||||||
m["current"] = meters[i].currentValue;
|
|
||||||
m["name"] = meters[i].name;
|
m["name"] = meters[i].name;
|
||||||
m["unit"] = meters[i].unit;
|
m["unit"] = meters[i].unit;
|
||||||
m["rangeMin"] = meters[i].rangeMin;
|
m["rangeMin"] = meters[i].rangeMin;
|
||||||
@@ -622,11 +620,9 @@ static void factoryReset() {
|
|||||||
int count = meterCount;
|
int count = meterCount;
|
||||||
int pins[MAX_METERS];
|
int pins[MAX_METERS];
|
||||||
float maxD[MAX_METERS];
|
float maxD[MAX_METERS];
|
||||||
float cur[MAX_METERS];
|
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
pins[i] = meters[i].pin;
|
pins[i] = meters[i].pin;
|
||||||
maxD[i] = meters[i].maxDuty;
|
maxD[i] = meters[i].maxDuty;
|
||||||
cur[i] = meters[i].currentValue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset hostname, auth, MQTT, meter metadata
|
// Reset hostname, auth, MQTT, meter metadata
|
||||||
@@ -653,11 +649,10 @@ static void factoryReset() {
|
|||||||
meters[i].rangeMax = 100.0;
|
meters[i].rangeMax = 100.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restore pins, calibration, current state
|
// Restore pins and calibration
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
meters[i].pin = pins[i];
|
meters[i].pin = pins[i];
|
||||||
meters[i].maxDuty = maxD[i];
|
meters[i].maxDuty = maxD[i];
|
||||||
meters[i].currentValue = cur[i];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
saveConfig();
|
saveConfig();
|
||||||
@@ -685,14 +680,6 @@ static void factoryReset() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restore current values
|
|
||||||
for (int i = 0; i < count && i < 8; i++) {
|
|
||||||
if (meters[i].pin > 0 && meters[i].maxDuty > 0) {
|
|
||||||
float pct = cur[i] / 100.0f * meters[i].maxDuty / 100.0f;
|
|
||||||
ledcWrite(i, constrain((int)(pct * 1023), 0, 1023));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Serial.println("[BOOT] factory reset complete, restarting...");
|
Serial.println("[BOOT] factory reset complete, restarting...");
|
||||||
delay(200);
|
delay(200);
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
|
|||||||
Reference in New Issue
Block a user