diff --git a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp index b53f0fa749..c2a1919083 100644 --- a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp +++ b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp @@ -8,9 +8,15 @@ static const char serverIndex[] PROGMEM = - R"(
+ R"( + - + +
+
+ + +
)"; static const char successResponse[] PROGMEM = @@ -44,7 +50,8 @@ void ESP8266HTTPUpdateServer::setup(ESP8266WebServer *server, const String& path return _server->requestAuthentication(); if (Update.hasError()) { _server->send(200, F("text/html"), String(F("Update error: ")) + _updaterError); - } else { + } else { + _command = _server->arg("cmd").toInt(); _server->client().setNoDelay(true); _server->send_P(200, PSTR("text/html"), successResponse); delay(100); @@ -71,8 +78,9 @@ void ESP8266HTTPUpdateServer::setup(ESP8266WebServer *server, const String& path WiFiUDP::stopAll(); if (_serial_output) Serial.printf("Update: %s\n", upload.filename.c_str()); - uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000; - if(!Update.begin(maxSketchSpace)){//start with max available size + uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000; + _command = _server->arg("cmd").toInt(); + if(!Update.begin(maxSketchSpace, _command)){//start with max available size _setUpdaterError(); } } else if(_authenticated && upload.status == UPLOAD_FILE_WRITE && !_updaterError.length()){ diff --git a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h index a0faa46758..aa75385b1d 100644 --- a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h +++ b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h @@ -41,6 +41,7 @@ class ESP8266HTTPUpdateServer String _password; bool _authenticated; String _updaterError; + int _command; };