diff --git a/src/hasp_http.cpp b/src/hasp_http.cpp index e8b5a647..f6844a67 100644 --- a/src/hasp_http.cpp +++ b/src/hasp_http.cpp @@ -1174,12 +1174,16 @@ void webHandleGpioConfig() httpMessage += F("
"); httpMessage += F(""); - httpMessage += F(""); - httpMessage += F(""); - httpMessage += F(""); + // httpMessage += F(""); + // httpMessage += F(""); + // httpMessage += F(""); for(uint8_t i = 0; i < NUM_DIGITAL_PINS; i++) { - httpMessage += F(""); + httpMessage += F(""); } httpMessage += F("
PinTypeChannelNormalOptions
D1Button1HighOptions
D2Switch2HighOptions
D4Backligth15LowOptions
D1Button1HighOptions
D2Switch2HighOptions
D4Backligth15LowOptions
D4Backligth15LowOptions
"); + httpMessage += String(i); + httpMessage += F("None15LowOptions
"); @@ -1197,6 +1201,58 @@ void webHandleGpioConfig() webSendFooter(); } +//////////////////////////////////////////////////////////////////////////////////////////////////// +void webHandleGpioOptions() +{ // http://plate01/config/gpio/options + if(!httpIsAuthenticated(F("config/gui"))) return; + + { + DynamicJsonDocument settings(256); + guiGetConfig(settings.to()); + + String httpMessage((char *)0); + httpMessage.reserve(HTTP_PAGE_SIZE); + httpMessage += F("

"); + httpMessage += httpGetNodename(); + httpMessage += F("


"); + + httpMessage += F(""); + + httpMessage += F("

GPIO >"); + httpMessage += webServer.arg(0); + httpMessage += F("< Options

"); + + httpMessage += F("

Type

"); + + httpMessage += F("

Channel

"); + + httpMessage += F("

State

"); + + httpMessage += F("

"); + + httpMessage += + PSTR("

"); + + webSendPage(httpGetNodename(), httpMessage.length(), false); + webServer.sendContent(httpMessage); + } + webSendFooter(); + + if(webServer.hasArg(F("action"))) dispatchCommand(webServer.arg(F("action"))); +} + //////////////////////////////////////////////////////////////////////////////////////////////////// void webHandleDebugConfig() { // http://plate01/config/debug @@ -1599,6 +1655,7 @@ void httpSetup() #endif #if HASP_USE_GPIO > 0 webServer.on(F("/config/gpio"), webHandleGpioConfig); + webServer.on(F("/config/gpio/options"), webHandleGpioOptions); #endif webServer.on(F("/screenshot"), webHandleScreenshot); webServer.on(F("/saveConfig"), webHandleSaveConfig);