From 601b72da9f790f7794a640a2c3da376312a8f90a Mon Sep 17 00:00:00 2001 From: richonguzman Date: Wed, 26 Jun 2024 18:13:02 -0400 Subject: [PATCH] funciona --- data_embed/index.html | 32 ++++++++++++++++++++++---------- data_embed/script.js | 17 +++++++++++++++-- src/configuration.cpp | 18 +++++++++--------- src/web_utils.cpp | 26 ++++++++++---------------- 4 files changed, 56 insertions(+), 37 deletions(-) diff --git a/data_embed/index.html b/data_embed/index.html index e976c76..ea4919e 100644 --- a/data_embed/index.html +++ b/data_embed/index.html @@ -107,7 +107,7 @@ Station >Add your ham callsign and SSID. Optionally, + >Add your ham callsign and SSID. Optionally, you can leave a comment describing your station. In the bottom there is a field for personal note that can only be seen in WEB GUI. @@ -940,13 +940,9 @@ Battery - Battery Monitor & Health -
-
- Max Voltage on input pin is 3.3V. -
- Calculate voltage divider accordingly. -
+ Battery Monitor & Health
+ Max Voltage on input pin is 3.3V. + Calculate voltage divider accordingly.
@@ -1010,6 +1006,15 @@ >
+
+ +
+ + kOhm +
+
@@ -1058,6 +1063,13 @@ >volts
+
+ +
+ + kOhm +
+
@@ -1723,4 +1735,4 @@ - + \ No newline at end of file diff --git a/data_embed/script.js b/data_embed/script.js index 0fedac3..8f012ab 100644 --- a/data_embed/script.js +++ b/data_embed/script.js @@ -162,6 +162,8 @@ function loadSettings(settings) { document.getElementById("battery.internalSleepVoltage").value = settings.battery.internalSleepVoltage.toFixed(1); document.getElementById("battery.sendExternalVoltage").checked = settings.battery.sendExternalVoltage; document.getElementById("battery.externalVoltagePin").value = settings.battery.externalVoltagePin; + document.getElementById("battery.voltageDividerR1").value = settings.battery.voltageDividerR1; + document.getElementById("battery.voltageDividerR2").value = settings.battery.voltageDividerR2; document.getElementById("battery.monitorExternalVoltage").checked = settings.battery.monitorExternalVoltage; document.getElementById("battery.externalSleepVoltage").value = settings.battery.externalSleepVoltage.toFixed(1); @@ -271,8 +273,9 @@ function toggleFields() { 'input[name="battery.externalVoltagePin"]' ); - externalVoltagePinInput.disabled = - !sendExternalVoltageCheckbox.checked; + externalVoltagePinInput.disabled = !sendExternalVoltageCheckbox.checked; + voltageDividerR1.disabled = !sendExternalVoltageCheckbox.checked; + voltageDividerR2.disabled = !sendExternalVoltageCheckbox.checked; } const sendExternalVoltageCheckbox = document.querySelector( @@ -282,8 +285,18 @@ const externalVoltagePinInput = document.querySelector( 'input[name="battery.externalVoltagePin"]' ); +const voltageDividerR1 = document.querySelector( + 'input[name="battery.voltageDividerR1"]' +); + +const voltageDividerR2 = document.querySelector( + 'input[name="battery.voltageDividerR2"]' +); + sendExternalVoltageCheckbox.addEventListener("change", function () { externalVoltagePinInput.disabled = !this.checked; + voltageDividerR1.disabled = !this.checked; + voltageDividerR2.disabled = !this.checked; }); document.querySelector(".new button").addEventListener("click", function () { diff --git a/src/configuration.cpp b/src/configuration.cpp index 95a4bf1..607d86b 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -73,8 +73,9 @@ void Configuration::writeFile() { data["battery"]["externalVoltagePin"] = battery.externalVoltagePin; data["battery"]["monitorExternalVoltage"] = battery.monitorExternalVoltage; data["battery"]["externalSleepVoltage"] = battery.externalSleepVoltage; - data["battery"]["voltageDividerR1"] = battery.voltageDividerR1; - data["battery"]["voltageDividerR2"] = battery.voltageDividerR2; + data["battery"]["voltageDividerR1"] = battery.voltageDividerR1; + data["battery"]["voltageDividerR2"] = battery.voltageDividerR2; + data["bme"]["active"] = bme.active; data["bme"]["heightCorrection"] = bme.heightCorrection; @@ -101,7 +102,7 @@ void Configuration::writeFile() { data["other"]["lowPowerMode"] = lowPowerMode; data["other"]["lowVoltageCutOff"] = lowVoltageCutOff; - data["personalNote"] = personalNote; + data["personalNote"] = personalNote; serializeJson(data, configFile); @@ -146,8 +147,8 @@ bool Configuration::readFile() { battery.externalVoltagePin = data["battery"]["externalVoltagePin"].as(); battery.monitorExternalVoltage = data["battery"]["monitorExternalVoltage"].as(); battery.externalSleepVoltage = data["battery"]["externalSleepVoltage"].as(); - battery.voltageDividerR1 = data["battery"]["voltageDividerR1"].as(); - battery.voltageDividerR2 = data["battery"]["voltageDividerR2"].as(); + battery.voltageDividerR1 = data["battery"]["voltageDividerR1"].as(); + battery.voltageDividerR2 = data["battery"]["voltageDividerR2"].as(); aprs_is.passcode = data["aprs_is"]["passcode"].as(); aprs_is.server = data["aprs_is"]["server"].as(); @@ -185,7 +186,7 @@ bool Configuration::readFile() { rebootMode = data["other"]["rebootMode"].as(); rebootModeTime = data["other"]["rebootModeTime"].as(); - personalNote = data["personalNote"].as(); + personalNote = data["personalNote"].as(); int stationMode = data["stationMode"].as(); // deprecated but need to specify config version @@ -338,7 +339,6 @@ void Configuration::init() { ota.username = ""; ota.password = ""; - rememberStationTime = 30; battery.sendInternalVoltage = false; @@ -349,8 +349,8 @@ void Configuration::init() { battery.externalVoltagePin = 34; battery.monitorExternalVoltage = false; battery.externalSleepVoltage = 3.0; - battery.voltageDividerR1 = 100.0; - battery.voltageDividerR2 = 27.0; + battery.voltageDividerR1 = 100.0; + battery.voltageDividerR2 = 27.0; lowPowerMode = false; lowVoltageCutOff = 0; diff --git a/src/web_utils.cpp b/src/web_utils.cpp index 560e1f5..6f5fcdf 100644 --- a/src/web_utils.cpp +++ b/src/web_utils.cpp @@ -29,7 +29,6 @@ extern const char web_bootstrap_js[] asm("_binary_data_embed_bootstrap_js_gz_sta extern const char web_bootstrap_js_end[] asm("_binary_data_embed_bootstrap_js_gz_end"); extern const size_t web_bootstrap_js_len = web_bootstrap_js_end - web_bootstrap_js; - namespace WEB_Utils { AsyncWebServer server(80); @@ -141,16 +140,17 @@ namespace WEB_Utils { Config.battery.sendInternalVoltage = request->hasParam("battery.sendInternalVoltage", true); Config.battery.monitorInternalVoltage = request->hasParam("battery.monitorInternalVoltage", true); - Config.battery.internalSleepVoltage = request->getParam("battery.internalSleepVoltage", true)->value().toFloat(); + Config.battery.internalSleepVoltage = request->getParam("battery.internalSleepVoltage", true)->value().toFloat(); Config.battery.sendExternalVoltage = request->hasParam("battery.sendExternalVoltage", true); if (Config.battery.sendExternalVoltage) { Config.battery.externalVoltagePin = request->getParam("battery.externalVoltagePin", true)->value().toInt(); + Config.battery.voltageDividerR1 = request->getParam("battery.voltageDividerR1", true)->value().toFloat(); + Config.battery.voltageDividerR2 = request->getParam("battery.voltageDividerR2", true)->value().toFloat(); } Config.battery.monitorExternalVoltage = request->hasParam("battery.monitorExternalVoltage", true); - Config.battery.externalSleepVoltage = request->getParam("battery.externalSleepVoltage", true)->value().toFloat(); - - + Config.battery.externalSleepVoltage = request->getParam("battery.externalSleepVoltage", true)->value().toFloat(); + Config.bme.active = request->hasParam("bme.active", true); Config.bme.heightCorrection = request->getParam("bme.heightCorrection", true)->value().toInt(); Config.bme.temperatureCorrection = request->getParam("bme.temperatureCorrection", true)->value().toFloat(); @@ -158,31 +158,25 @@ namespace WEB_Utils { Config.beacon.symbol = "_"; } - Config.syslog.active = request->hasParam("syslog.active", true); if (Config.syslog.active) { - Config.syslog.server = request->getParam("syslog.server", true)->value(); - Config.syslog.port = request->getParam("syslog.port", true)->value().toInt(); + Config.syslog.server = request->getParam("syslog.server", true)->value(); + Config.syslog.port = request->getParam("syslog.port", true)->value().toInt(); } + Config.tnc.enableServer = request->hasParam("tnc.enableServer", true); + Config.tnc.enableSerial = request->hasParam("tnc.enableSerial", true); + Config.tnc.acceptOwn = request->hasParam("tnc.acceptOwn", true); - Config.tnc.enableServer = request->hasParam("tnc.enableServer", true); - Config.tnc.enableSerial = request->hasParam("tnc.enableSerial", true); - Config.tnc.acceptOwn = request->hasParam("tnc.acceptOwn", true); - - Config.rebootMode = request->hasParam("other.rebootMode", true); Config.rebootModeTime = request->getParam("other.rebootModeTime", true)->value().toInt(); - Config.ota.username = request->getParam("ota.username", true)->value(); Config.ota.password = request->getParam("ota.password", true)->value(); - Config.rememberStationTime = request->getParam("other.rememberStationTime", true)->value().toInt(); Config.backupDigiMode = request->hasParam("other.backupDigiMode", true); - Config.lowPowerMode = request->hasParam("other.lowPowerMode", true); Config.lowVoltageCutOff = request->getParam("other.lowVoltageCutOff", true)->value().toDouble();