From dc83853d2e1050f02089644e77fe0b020a344c89 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Sun, 3 May 2020 21:27:19 +0200 Subject: [PATCH] Fixed some GPIO and Vcc configuration issues --- src/AmsConfiguration.cpp | 6 ++++-- src/web/AmsWebServer.cpp | 26 +++++++++++++------------- web/configsystem.html | 4 ++-- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/AmsConfiguration.cpp b/src/AmsConfiguration.cpp index 0d7ae63d..c9ab9877 100644 --- a/src/AmsConfiguration.cpp +++ b/src/AmsConfiguration.cpp @@ -442,11 +442,11 @@ void AmsConfiguration::setVccPin(uint8_t vccPin) { } double AmsConfiguration::getVccMultiplier() { - return config.vccMultiplier / 100.0; + return config.vccMultiplier / 1000.0; } void AmsConfiguration::setVccMultiplier(double vccMultiplier) { - config.vccMultiplier = max(0.01, min(vccMultiplier, 655.5)) * 100; + config.vccMultiplier = max(1, min((int) (vccMultiplier * 1000), 65535)); } double AmsConfiguration::getVccBootLimit() { @@ -803,9 +803,11 @@ void AmsConfiguration::print(Print* debugger) debugger->printf("HAN pin: %i\r\n", this->getHanPin()); debugger->printf("LED pin: %i\r\n", this->getLedPin()); + debugger->printf("LED inverted: %s\r\n", this->isLedInverted() ? "Yes" : "No"); debugger->printf("LED red pin: %i\r\n", this->getLedPinRed()); debugger->printf("LED green pin: %i\r\n", this->getLedPinGreen()); debugger->printf("LED blue pin: %i\r\n", this->getLedPinBlue()); + debugger->printf("LED inverted: %s\r\n", this->isLedRgbInverted() ? "Yes" : "No"); debugger->printf("AP pin: %i\r\n", this->getApPin()); debugger->printf("Temperature pin: %i\r\n", this->getTempSensorPin()); diff --git a/src/web/AmsWebServer.cpp b/src/web/AmsWebServer.cpp index 6cb7e675..63a9cf44 100644 --- a/src/web/AmsWebServer.cpp +++ b/src/web/AmsWebServer.cpp @@ -701,17 +701,17 @@ void AmsWebServer::handleSave() { if(server.hasArg("sysConfig") && server.arg("sysConfig") == "true") { config->setHanPin(server.arg("hanPin").toInt()); - config->setLedPin(server.arg("ledPin").toInt()); + config->setLedPin(server.hasArg("ledPin") && !server.arg("ledPin").isEmpty() ? server.arg("ledPin").toInt() : 0xFF); config->setLedInverted(server.hasArg("ledInverted") && server.arg("ledInverted") == "true"); - config->setLedPinRed(server.arg("ledPinRed").toInt()); - config->setLedPinGreen(server.arg("ledPinGreen").toInt()); - config->setLedPinBlue(server.arg("ledPinBlue").toInt()); + config->setLedPinRed(server.hasArg("ledPinRed") && !server.arg("ledPinRed").isEmpty() ? server.arg("ledPinRed").toInt() : 0xFF); + config->setLedPinGreen(server.hasArg("ledPinGreen") && !server.arg("ledPinGreen").isEmpty() ? server.arg("ledPinGreen").toInt() : 0xFF); + config->setLedPinBlue(server.hasArg("ledPinBlue") && !server.arg("ledPinBlue").isEmpty() ? server.arg("ledPinBlue").toInt() : 0xFF); config->setLedRgbInverted(server.hasArg("ledRgbInverted") && server.arg("ledRgbInverted") == "true"); - config->setApPin(server.arg("apPin").toInt()); - config->setTempSensorPin(server.arg("tempSensorPin").toInt()); - config->setVccPin(server.arg("vccPin").toInt()); - config->setVccMultiplier(server.arg("vccMultiplier").toDouble()); - config->setVccBootLimit(server.arg("vccBootLimit").toDouble()); + config->setApPin(server.hasArg("apPin") && !server.arg("apPin").isEmpty() ? server.arg("apPin").toInt() : 0xFF); + config->setTempSensorPin(server.hasArg("tempSensorPin") && !server.arg("tempSensorPin").isEmpty() ?server.arg("tempSensorPin").toInt() : 0xFF); + config->setVccPin(server.hasArg("vccPin") && !server.arg("vccPin").isEmpty() ? server.arg("vccPin").toInt() : 0xFF); + config->setVccMultiplier(server.hasArg("vccMultiplier") && !server.arg("vccMultiplier").isEmpty() ? server.arg("vccMultiplier").toDouble() : 1.0); + config->setVccBootLimit(server.hasArg("vccBootLimit") && !server.arg("vccBootLimit").isEmpty() ? server.arg("vccBootLimit").toDouble() : 0.0); config->setDebugTelnet(server.hasArg("debugTelnet") && server.arg("debugTelnet") == "true"); config->setDebugSerial(server.hasArg("debugSerial") && server.arg("debugSerial") == "true"); @@ -774,17 +774,17 @@ void AmsWebServer::configSystemHtml() { html.replace("${options.han}", getSerialSelectOptions(config->getHanPin())); html.replace("${config.ledPin}", config->getLedPin() == 0xFF ? "" : String(config->getLedPin())); - html.replace("${config.ledInverted}", String(config->isLedInverted()) ? "checked" : ""); + html.replace("${config.ledInverted}", config->isLedInverted() ? "checked" : ""); html.replace("${config.ledPinRed}", config->getLedPinRed() == 0xFF ? "" : String(config->getLedPinRed())); html.replace("${config.ledPinGreen}", config->getLedPinGreen() == 0xFF ? "" : String(config->getLedPinGreen())); html.replace("${config.ledPinBlue}", config->getLedPinBlue() == 0xFF ? "" : String(config->getLedPinBlue())); - html.replace("${config.ledRgbInverted}", String(config->isLedRgbInverted() ? "checked" : "")); + html.replace("${config.ledRgbInverted}", config->isLedRgbInverted() ? "checked" : ""); html.replace("${config.apPin}", config->getApPin() == 0xFF ? "" : String(config->getApPin())); html.replace("${config.tempSensorPin}", config->getTempSensorPin() == 0xFF ? "" : String(config->getTempSensorPin())); html.replace("${config.vccPin}", config->getVccPin() == 0xFF ? "" : String(config->getVccPin())); - html.replace("${config.vccMultiplier}", config->getVccMultiplier() > 0 ? String(config->getVccMultiplier()) : ""); - html.replace("${config.vccBootLimit}", config->getVccBootLimit() > 0.0 ? String(config->getVccBootLimit()) : ""); + html.replace("${config.vccMultiplier}", config->getVccMultiplier() > 0 ? String(config->getVccMultiplier(), 2) : ""); + html.replace("${config.vccBootLimit}", config->getVccBootLimit() > 0.0 ? String(config->getVccBootLimit(), 1) : ""); html.replace("${config.debugTelnet}", config->isDebugTelnet() ? "checked" : ""); html.replace("${config.debugSerial}", config->isDebugSerial() ? "checked" : ""); diff --git a/web/configsystem.html b/web/configsystem.html index 2ed05662..647623a7 100644 --- a/web/configsystem.html +++ b/web/configsystem.html @@ -61,7 +61,7 @@
@@ -76,7 +76,7 @@