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,
|
||||
"maxD": 72.5,
|
||||
"current": 45.0,
|
||||
"name": "Solar",
|
||||
"unit": "W",
|
||||
"rangeMin": 0.0,
|
||||
|
||||
+1
-14
@@ -89,7 +89,6 @@ static void loadConfig() {
|
||||
JsonObject m = arr[i];
|
||||
meters[i].pin = m["pin"] | 0;
|
||||
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].unit, m["unit"] | "", sizeof(meters[i].unit));
|
||||
meters[i].rangeMin = m["rangeMin"] | m["range"] | 0.0f;
|
||||
@@ -119,7 +118,6 @@ static void saveConfig() {
|
||||
JsonObject m = arr.add<JsonObject>();
|
||||
m["pin"] = meters[i].pin;
|
||||
m["maxD"] = meters[i].maxDuty;
|
||||
m["current"] = meters[i].currentValue;
|
||||
m["name"] = meters[i].name;
|
||||
m["unit"] = meters[i].unit;
|
||||
m["rangeMin"] = meters[i].rangeMin;
|
||||
@@ -622,11 +620,9 @@ static void factoryReset() {
|
||||
int count = meterCount;
|
||||
int pins[MAX_METERS];
|
||||
float maxD[MAX_METERS];
|
||||
float cur[MAX_METERS];
|
||||
for (int i = 0; i < count; i++) {
|
||||
pins[i] = meters[i].pin;
|
||||
maxD[i] = meters[i].maxDuty;
|
||||
cur[i] = meters[i].currentValue;
|
||||
}
|
||||
|
||||
// Reset hostname, auth, MQTT, meter metadata
|
||||
@@ -653,11 +649,10 @@ static void factoryReset() {
|
||||
meters[i].rangeMax = 100.0;
|
||||
}
|
||||
|
||||
// Restore pins, calibration, current state
|
||||
// Restore pins and calibration
|
||||
for (int i = 0; i < count; i++) {
|
||||
meters[i].pin = pins[i];
|
||||
meters[i].maxDuty = maxD[i];
|
||||
meters[i].currentValue = cur[i];
|
||||
}
|
||||
|
||||
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...");
|
||||
delay(200);
|
||||
ESP.restart();
|
||||
|
||||
Reference in New Issue
Block a user