diff --git a/Software/ChainLube/data/index.htm b/Software/ChainLube/data/index.htm index bef0bdc..a60db98 100644 --- a/Software/ChainLube/data/index.htm +++ b/Software/ChainLube/data/index.htm @@ -89,10 +89,15 @@ </div> <div class="form-group row"> <div class="col-xs-offset-5 col-xs-7"> - <button name="submit" type="submit" class="btn btn-primary">Submit</button> + <button name="sourcesave" type="submit" class="btn btn-primary">Übernehmen</button> </div> </div> </form> + <div class="alert alert-warning col-xs-offset-5 col-xs-7"> + <strong>Achtung!</strong><br> + Bei Änderung der Wegstrecken-Quelle wird der CAN-Oiler neu gestartet.<br> + Dadurch wird die WiFi-Verbindung getrennt und muss neu aufgebaut werden. + </div> </p> <!-- Div Source:Impulse Settings--> <div %SHOW_IMPULSE_SETTINGS%> @@ -134,14 +139,14 @@ <div class="col-xs-7"> <div class="input-group"> <input id="pulserev" name="pulserev" type="text" required="required" class="form-control" - value="PULSE_PER_REV"> + value="%PULSE_PER_REV%"> <div class="input-group-addon"></div> </div> </div> </div> <div class="form-group row"> <div class="col-xs-offset-5 col-xs-7"> - <button name="submit" type="submit" class="btn btn-primary">Submit</button> + <button name="pulsesave" type="submit" class="btn btn-primary">Speichern</button> </div> </div> </form> @@ -163,7 +168,7 @@ </div> <div class="form-group row"> <div class="col-xs-offset-5 col-xs-7"> - <button name="submit" type="submit" class="btn btn-primary">Submit</button> + <button name="cansave" type="submit" class="btn btn-primary">Speichern</button> </div> </div> </form> @@ -185,7 +190,7 @@ </div> <div class="form-group row"> <div class="col-xs-offset-5 col-xs-7"> - <button name="submit" type="submit" class="btn btn-primary">Submit</button> + <button name="gpssave" type="submit" class="btn btn-primary">Speichern</button> </div> </div> </form> @@ -210,17 +215,36 @@ <p> <form action="\post.htm" method="POST" class="form-horizontal"> <div class="form-group"> - <label for="purgepulse" class="control-label col-xs-5">Impulse</label> + <label for="purgepulse" class="control-label col-xs-5">Entlüftung Impulse</label> <div class="col-xs-7"> <div class="input-group"> - <input id="purgepulse" name="purgepulse" placeholder="25" type="text" class="form-control"> + <input id="purgepulse" name="purgepulse" value="%BLEEDING_PULSES%" type="text" class="form-control"> <div class="input-group-addon"></div> </div> </div> </div> <div class="form-group row"> <div class="col-xs-offset-5 col-xs-7"> - <button name="submit" type="submit" class="btn btn-primary">Submit</button> + <button name="maintsave" type="submit" class="btn btn-primary">Speichern</button> + </div> + </div> + </form> + </p> + <p> + <form action="\post.htm" method="POST" class="form-horizontal"> + <div class="form-group"> + <label for="tankremain" class="control-label col-xs-5">Tankinhalt verbleibend</label> + <div class="col-xs-7"> + <div class="input-group"> + <input id="tankremain" name="tankremain" value="%TANK_REMAIN_CAPACITY%" type="text" + class="form-control"> + <div class="input-group-addon">%</div> + </div> + </div> + </div> + <div class="form-group row"> + <div class="col-xs-offset-5 col-xs-7"> + <button name="resettank" type="submit" class="btn btn-primary">Tank zurücksetzen</button> </div> </div> </form> @@ -237,7 +261,8 @@ <label for="tankcap" class="control-label col-xs-5">Tankkapazität</label> <div class="col-xs-7"> <div class="input-group"> - <input id="tankcap" name="tankcap" type="text" class="form-control" required="required"> + <input id="tankcap" name="tankcap" value="%TANK_CAPACITY%" type="text" class="form-control" + required="required"> <div class="input-group-addon">ml</div> </div> </div> @@ -246,8 +271,9 @@ <label for="tankwarn" class="control-label col-xs-5">Leer-Warnung</label> <div class="col-xs-7"> <div class="input-group"> - <input id="tankwarn" name="tankwarn" type="text" class="form-control" required="required"> - <div class="input-group-addon">%</div> + <input id="tankwarn" name="tankwarn" value="%TANK_REMIND%" type="text" class="form-control" + required="required"> + <div class="input-group-addon">%</div> </div> </div> </div> @@ -255,14 +281,15 @@ <label for="pumppulse" class="control-label col-xs-5">Menge pro Puls</label> <div class="col-xs-7"> <div class="input-group"> - <input id="pumppulse" name="pumppulse" type="text" class="form-control" required="required"> + <input id="pumppulse" name="pumppulse" value="%AMOUNT_PER_DOSE%" type="text" class="form-control" + required="required"> <div class="input-group-addon">µl</div> </div> </div> </div> <div class="form-group row"> <div class="col-xs-offset-5 col-xs-7"> - <button name="submit" type="submit" class="btn btn-primary">Submit</button> + <button name="oilsave" type="submit" class="btn btn-primary">Speichern</button> </div> </div> </form> diff --git a/Software/ChainLube/data/post.htm b/Software/ChainLube/data/post.htm index 17a7795..a9c73c6 100644 --- a/Software/ChainLube/data/post.htm +++ b/Software/ChainLube/data/post.htm @@ -1,9 +1,28 @@ <!DOCTYPE html> <html> - <head> - <meta http-equiv="refresh" content="3; url='/index.htm'" /> - </head> - <body> - <p>Processing...</p> - </body> + +<head> + <meta charset="utf-8" /> + <title>KTM CAN Chain Oiler</title> + <meta http-equiv="content-type" content="text/html;charset=UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="stylesheet" href="static/css/bootstrap.min.css"> + <link rel="stylesheet" href="static/css/custom.css"> + <script src="static/js/jquery.min.js"></script> + <script src="static/js/bootstrap.min.js"></script> + <link rel="apple-touch-icon" sizes="180x180" href="static/img/apple-touch-icon.png"> + <link rel="icon" type="image/png" sizes="32x32" href="static/img/favicon-32x32.png"> + <link rel="icon" type="image/png" sizes="16x16" href="static/img/favicon-16x16.png"> + <link rel="manifest" href="static/img/site.webmanifest"> + <meta http-equiv="refresh" content="3; url='/index.htm'" /> +</head> + +<body> + <div class="container" style="display: flex; justify-content: center; align-items: center; height: 100vh"> + <div class="alert alert-success"> + <strong>Bitte warten!</strong> Änderungen werden übernommen. + </div> + </div> +</body> + </html> \ No newline at end of file diff --git a/Software/ChainLube/src/webui.cpp b/Software/ChainLube/src/webui.cpp index 2126035..6cf16c2 100644 --- a/Software/ChainLube/src/webui.cpp +++ b/Software/ChainLube/src/webui.cpp @@ -66,7 +66,11 @@ String processor(const String &var) return String(CANSourceString[LubeConfig.CANSource]); #endif if (var == "CONFIG_CHECKSUM") - return String(LubeConfig.checksum, 16); + { + char buffer[7]; + sprintf(buffer, "0x%04X", LubeConfig.checksum); + return String(buffer); + } if (var == "WRITE_CYCLE_COUNT") return String(PersistenceData.writeCycleCounter); if (var == "TANK_REMAIN_UL") @@ -74,8 +78,11 @@ String processor(const String &var) if (var == "TRAVEL_DISTANCE_HIGHRES") return String(PersistenceData.TravelDistance_highRes); if (var == "PERSISTANCE_CHECKSUM") - return String(PersistenceData.checksum, 16); - + { + char buffer[7]; + sprintf(buffer, "0x%04X", PersistenceData.checksum); + return String(buffer); + } if (var == "SHOW_IMPULSE_SETTINGS") return LubeConfig.SpeedSource == SOURCE_IMPULSE ? "" : "hidden"; if (var == "SHOW_CAN_SETTINGS") @@ -137,8 +144,45 @@ void WebserverPOST_Callback(AsyncWebServerRequest *request) { AsyncWebParameter *p = request->getParam(i); Serial.printf("%s : %s\n", p->name().c_str(), p->value().c_str()); - } + // begin: POST Form Source Changed + if (p->name() == "sourceselect") + { + SpeedSource_t temp = (SpeedSource_t)p->value().toInt(); + Serial.printf("temp: %d", temp); + Serial.printf("SpeedSource: %d", LubeConfig.SpeedSource); + if (LubeConfig.SpeedSource != temp) + { + LubeConfig.SpeedSource = temp; + globals.systemStatus = sysStat_Shutdown; + } + } + // end: POST Form Source Changed + // begin: POST Form Source Pulse Settings + if (p->name() == "tirewidth") + LubeConfig.TireWidth_mm = p->value().toInt(); + if (p->name() == "tireratio") + LubeConfig.TireWidthHeight_Ratio = p->value().toInt(); + if (p->name() == "tiredia") + LubeConfig.RimDiameter_Inch = p->value().toInt(); + if (p->name() == "pulserev") + LubeConfig.PulsePerRevolution = p->value().toInt(); + if (p->name() == "pulsesave") + globals.requestEEAction = EE_CFG_SAVE; + // end: POST Form Source Pulse Settings + // begin: POST Form Source GPS Settings + if (p->name() == "gpsbaud") + LubeConfig.GPSBaudRate = (GPSBaudRate_t)p->value().toInt(); + if (p->name() == "gpssave") + globals.requestEEAction = EE_CFG_SAVE; + // end: POST Form Source GPS Settings + // begin: POST Form Source CAN Settings + if (p->name() == "cansource") + LubeConfig.CANSource = (CANSource_t)p->value().toInt(); + if (p->name() == "cansave") + globals.requestEEAction = EE_CFG_SAVE; + // end: POST Form Source CAN Settings + } request->send(LittleFS, "/post.htm", String(), false, processor); }