diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index 9b7ddfa53..37a9b345d 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -29,7 +29,6 @@ default_envs = ; tasmota32 ; tasmota32-bluetooth ; tasmota32-webcam -; tasmota32-minimal ; tasmota32-lite ; tasmota32-knx ; tasmota32-sensors diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 4cf662f8e..c857f5ec9 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -7,10 +7,10 @@ default_envs = ${build_envs.default_envs} ; *** Uncomment by deleting ";" in the line(s) below to select version(s) ; tasmota32 +; tasmota32-bluetooth ; tasmota32-webcam ; tasmota32-odroidgo ; tasmota32-core2 -; tasmota32-minimal ; tasmota32-lite ; tasmota32-knx ; tasmota32-sensors diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini index d0b4e97c3..5a1b1ec93 100644 --- a/platformio_tasmota_env32.ini +++ b/platformio_tasmota_env32.ini @@ -63,11 +63,6 @@ extends = env:tasmota32 build_flags = ${common32.build_flags} -DFIRMWARE_BLUETOOTH lib_extra_dirs = lib/libesp32, lib/lib_basic, lib/lib_i2c, lib/lib_ssl -[env:tasmota32-minimal] -extends = env:tasmota32 -build_flags = ${common32.build_flags} -DFIRMWARE_MINIMAL -lib_extra_dirs = lib/libesp32 - [env:tasmota32-lite] extends = env:tasmota32 build_flags = ${common32.build_flags} -DFIRMWARE_LITE diff --git a/tasmota/support_tasmota.ino b/tasmota/support_tasmota.ino index be533ede8..033af4bf6 100644 --- a/tasmota/support_tasmota.ino +++ b/tasmota/support_tasmota.ino @@ -1019,23 +1019,23 @@ void Every250mSeconds(void) if (TasmotaGlobal.ota_state_flag && BACKLOG_EMPTY) { TasmotaGlobal.ota_state_flag--; if (2 == TasmotaGlobal.ota_state_flag) { - RtcSettings.ota_loader = 0; // Try requested image first + RtcSettings.ota_loader = 0; // Try requested image first ota_retry_counter = OTA_ATTEMPTS; ESPhttpUpdate.rebootOnUpdate(false); - SettingsSave(1); // Free flash for OTA update + SettingsSave(1); // Free flash for OTA update } if (TasmotaGlobal.ota_state_flag <= 0) { #ifdef USE_BLE_ESP32 ExtStopBLE(); #endif // USE_BLE_ESP32 #ifdef USE_COUNTER - CounterInterruptDisable(true); // Prevent OTA failures on 100Hz counter interrupts + CounterInterruptDisable(true); // Prevent OTA failures on 100Hz counter interrupts #endif // USE_COUNTER #ifdef USE_WEBSERVER if (Settings.webserver) StopWebserver(); #endif // USE_WEBSERVER #ifdef USE_ARILUX_RF - AriluxRfDisable(); // Prevent restart exception on Arilux Interrupt routine + AriluxRfDisable(); // Prevent restart exception on Arilux Interrupt routine #endif // USE_ARILUX_RF TasmotaGlobal.ota_state_flag = 92; ota_result = 0; @@ -1043,6 +1043,7 @@ void Every250mSeconds(void) if (ota_retry_counter) { char ota_url[TOPSZ]; strlcpy(TasmotaGlobal.mqtt_data, GetOtaUrl(ota_url, sizeof(ota_url)), sizeof(TasmotaGlobal.mqtt_data)); +#ifdef ESP8266 #ifndef FIRMWARE_MINIMAL if (RtcSettings.ota_loader) { // OTA File too large so try OTA minimal version @@ -1061,8 +1062,8 @@ void Every250mSeconds(void) // Replace http://192.168.2.17:80/api/arduino/tasmota.bin with http://192.168.2.17:80/api/arduino/tasmota-minimal.bin // Replace http://192.168.2.17/api/arduino/tasmota.bin.gz with http://192.168.2.17/api/arduino/tasmota-minimal.bin.gz - char *bch = strrchr(TasmotaGlobal.mqtt_data, '/'); // Only consider filename after last backslash prevent change of urls having "-" in it - if (bch == nullptr) { bch = TasmotaGlobal.mqtt_data; } // No path found so use filename only + char *bch = strrchr(TasmotaGlobal.mqtt_data, '/'); // Only consider filename after last backslash prevent change of urls having "-" in it + if (bch == nullptr) { bch = TasmotaGlobal.mqtt_data; } // No path found so use filename only char *ech = strchr(bch, '.'); // Find file type in filename (none, .ino.bin, .ino.bin.gz, .bin, .bin.gz or .gz) if (ech == nullptr) { ech = TasmotaGlobal.mqtt_data + strlen(TasmotaGlobal.mqtt_data); } // Point to '/0' at end of mqtt_data becoming an empty string @@ -1077,7 +1078,6 @@ void Every250mSeconds(void) snprintf_P(TasmotaGlobal.mqtt_data, sizeof(TasmotaGlobal.mqtt_data), PSTR("%s-" D_JSON_MINIMAL "%s"), TasmotaGlobal.mqtt_data, ota_url_type); // Minimal filename must be filename-minimal } #endif // FIRMWARE_MINIMAL -#ifdef ESP8266 if (ota_retry_counter < OTA_ATTEMPTS / 2) { if (!strcasecmp_P(TasmotaGlobal.mqtt_data, PSTR(".gz"))) { ota_retry_counter = 1; @@ -1093,26 +1093,28 @@ void Every250mSeconds(void) #ifndef FIRMWARE_MINIMAL int ota_error = ESPhttpUpdate.getLastError(); DEBUG_CORE_LOG(PSTR("OTA: Error %d"), ota_error); +#ifdef ESP8266 if ((HTTP_UE_TOO_LESS_SPACE == ota_error) || (HTTP_UE_BIN_FOR_WRONG_FLASH == ota_error)) { - RtcSettings.ota_loader = 1; // Try minimal image next + RtcSettings.ota_loader = 1; // Try minimal image next } +#endif // ESP8266 #endif // FIRMWARE_MINIMAL - TasmotaGlobal.ota_state_flag = 2; // Upgrade failed - retry + TasmotaGlobal.ota_state_flag = 2; // Upgrade failed - retry } } } - if (90 == TasmotaGlobal.ota_state_flag) { // Allow MQTT to reconnect + if (90 == TasmotaGlobal.ota_state_flag) { // Allow MQTT to reconnect TasmotaGlobal.ota_state_flag = 0; Response_P(PSTR("{\"" D_CMND_UPGRADE "\":\"")); if (ota_result) { -// SetFlashModeDout(); // Force DOUT for both ESP8266 and ESP8285 +// SetFlashModeDout(); // Force DOUT for both ESP8266 and ESP8285 ResponseAppend_P(PSTR(D_JSON_SUCCESSFUL ". " D_JSON_RESTARTING)); TasmotaGlobal.restart_flag = 2; } else { ResponseAppend_P(PSTR(D_JSON_FAILED " %s"), ESPhttpUpdate.getLastErrorString().c_str()); } ResponseAppend_P(PSTR("\"}")); -// TasmotaGlobal.restart_flag = 2; // Restart anyway to keep memory clean webserver +// TasmotaGlobal.restart_flag = 2; // Restart anyway to keep memory clean webserver MqttPublishPrefixTopic_P(STAT, PSTR(D_CMND_UPGRADE)); #ifdef USE_COUNTER CounterInterruptDisable(false); diff --git a/tasmota/tasmota_globals.h b/tasmota/tasmota_globals.h index 71e345b2b..2ac6a2343 100644 --- a/tasmota/tasmota_globals.h +++ b/tasmota/tasmota_globals.h @@ -132,6 +132,8 @@ String EthernetMacAddress(void); #define USE_UFILESYS +#undef FIRMWARE_MINIMAL // Minimal is not supported as not needed + // Hardware has no ESP32 #undef USE_TUYA_DIMMER #undef USE_PWM_DIMMER