diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index 629f03e67..e78d20cdb 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -36,6 +36,7 @@ default_envs = ; tasmota32solo1 ; tasmota32c3 ; tasmota32s2 +; tasmota32s3 ; tasmota32-odroidgo ; tasmota32-core2 @@ -90,8 +91,8 @@ lib_extra_dirs = ${library.lib_extra_dirs} [env:tasmota32_base] ; *** Uncomment next lines ";" to enable development Tasmota Arduino version ESP32 -;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip -;platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/825/framework-arduinoespressif32-v4.4_work-c4b83228a5.tar.gz +;platform = https://github.com/tasmota/platform-espressif32/releases/download/v.2.0.3/platform-espressif32-v.2.0.3.zip +;platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/837/framework-arduinoespressif32-v4.4_dev-6fa4526c0d.tar.gz build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} diff --git a/tasmota/xdrv_01_webserver.ino b/tasmota/xdrv_01_webserver.ino index 518b48ef3..ebd73199c 100644 --- a/tasmota/xdrv_01_webserver.ino +++ b/tasmota/xdrv_01_webserver.ino @@ -353,18 +353,22 @@ const char HTTP_FORM_UPG[] PROGMEM = "

" "
 " D_UPGRADE_BY_FILE_UPLOAD " "; const char HTTP_FORM_RST_UPG[] PROGMEM = - "
" + "" "

" - "
" + "
" "
" "" ""; // upload via factory partition const char HTTP_FORM_RST_UPG_FCT[] PROGMEM = - "
" + "" "

" - "
" + "
" "" "" "" @@ -436,6 +440,7 @@ ESP8266WebServer *Webserver; struct WEB { String chunk_buffer = ""; // Could be max 2 * CHUNKED_BUFFER_SIZE + uint32_t upload_size = 0; uint16_t upload_error = 0; uint8_t state = HTTP_OFF; uint8_t upload_file_type; @@ -2775,11 +2780,15 @@ void HandleUploadLoop(void) { return; } if (0xE9 == upload.buf[0]) { - uint32_t bin_flash_size = ESP.magicFlashChipSize((upload.buf[3] & 0xf0) >> 4); #ifdef ESP8266 + uint32_t bin_flash_size = ESP.magicFlashChipSize((upload.buf[3] & 0xf0) >> 4); if (bin_flash_size > ESP.getFlashChipRealSize()) { #else - if (bin_flash_size > ESP.getFlashChipSize()) { // TODO revisit this test + char tmp[16]; + WebGetArg("fsz", tmp, sizeof(tmp)); // filesize + uint32_t upload_size = (!strlen(tmp)) ? 0 : atoi(tmp); + AddLog(LOG_LEVEL_DEBUG, D_LOG_UPLOAD "freespace=%i filesize=%i", ESP.getFreeSketchSpace(), upload_size); + if (upload_size > ESP.getFreeSketchSpace()) { // TODO revisit this test #endif Web.upload_error = 4; // Program flash size is larger than real flash size return;