From 7e80c81ea12215013ab24473cf2fc786d444850e Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Sat, 15 May 2021 12:40:02 +0200 Subject: [PATCH] Separate input and output config pages --- src/sys/svc/hasp_http.cpp | 240 +++++++++++++++++++++++++++++++------- 1 file changed, 197 insertions(+), 43 deletions(-) diff --git a/src/sys/svc/hasp_http.cpp b/src/sys/svc/hasp_http.cpp index 64139f74..466c4f4b 100644 --- a/src/sys/svc/hasp_http.cpp +++ b/src/sys/svc/hasp_http.cpp @@ -1516,15 +1516,16 @@ void webHandleGpioConfig() if(webServer.hasArg(PSTR("save"))) { uint8_t id = webServer.arg(F("id")).toInt(); uint8_t pin = webServer.arg(F("pin")).toInt(); - uint8_t type = webServer.arg(F("type")).toInt() + webServer.arg(F("state")).toInt(); + uint8_t type = webServer.arg(F("type")).toInt(); uint8_t group = webServer.arg(F("group")).toInt(); uint8_t pinfunc = webServer.arg(F("func")).toInt(); - gpioSavePinConfig(id, pin, type, group, pinfunc); + bool inverted = webServer.arg(F("state")).toInt(); + gpioSavePinConfig(id, pin, type, group, pinfunc, inverted); } if(webServer.hasArg(PSTR("del"))) { uint8_t id = webServer.arg(F("id")).toInt(); uint8_t pin = webServer.arg(F("pin")).toInt(); - gpioSavePinConfig(id, pin, HASP_GPIO_FREE, 0, 0); + gpioSavePinConfig(id, pin, hasp_gpio_type_t::FREE, 0, 0, false); } { @@ -1546,54 +1547,72 @@ void webHandleGpioConfig() httpMessage += F("
Default State
"); + + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); + webServer.sendContent(httpMessage); + } + webSendFooter(); + + // if(webServer.hasArg(F("action"))) dispatch_text_line(webServer.arg(F("action")).c_str()); // Security check +} #endif // HASP_USE_GPIO //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -2184,6 +2336,7 @@ void httpSetup() #if HASP_USE_GPIO > 0 webServer.on(F("/config/gpio"), webHandleGpioConfig); webServer.on(F("/config/gpio/options"), webHandleGpioOptions); + webServer.on(F("/config/gpio/input"), webHandleGpioInput); #endif webServer.on(F("/saveConfig"), webHandleSaveConfig); webServer.on(F("/resetConfig"), httpHandleResetConfig); @@ -2223,7 +2376,8 @@ void httpReconnect() //////////////////////////////////////////////////////////////////////////////////////////////////// IRAM_ATTR void httpLoop(void) { - if(http_config.enable) webServer.handleClient(); + // if(http_config.enable) + webServer.handleClient(); } ////////////////////////////////////////////////////////////////////////////////////////////////////