From c49d794649d79233df69c28a24b255745193d840 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 26 Jul 2025 15:24:18 +0200 Subject: [PATCH] Add Hosted MCU message at restart --- tasmota/tasmota_support/support_command.ino | 4 ++-- tasmota/tasmota_support/support_hosted_mcu.ino | 8 ++++++++ tasmota/tasmota_support/support_tasmota.ino | 5 +++++ tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/tasmota/tasmota_support/support_command.ino b/tasmota/tasmota_support/support_command.ino index 8e50013e3..a43c12f86 100644 --- a/tasmota/tasmota_support/support_command.ino +++ b/tasmota/tasmota_support/support_command.ino @@ -987,7 +987,7 @@ void CmndStatus(void) ",\"" D_JSON_COREVERSION "\":\"" ARDUINO_CORE_RELEASE "\",\"" D_JSON_SDKVERSION "\":\"%s\"," "\"CpuFrequency\":%d,\"Hardware\":\"%s\"" #ifdef CONFIG_ESP_WIFI_REMOTE_ENABLED - ",\"HostedMCU\":{\"Hardware\":\"" CONFIG_ESP_HOSTED_IDF_SLAVE_TARGET"\",\"Version\":\"%s\"}" + ",\"HostedMCU\":{\"Hardware\":\"%s\",\"Version\":\"%s\"}" #endif // CONFIG_ESP_WIFI_REMOTE_ENABLED "%s}}"), TasmotaGlobal.version, TasmotaGlobal.image_name, GetCodeCores().c_str(), GetBuildDateAndTime().c_str() @@ -997,7 +997,7 @@ void CmndStatus(void) , ESP.getSdkVersion(), ESP.getCpuFreqMHz(), GetDeviceHardwareRevision().c_str(), #ifdef CONFIG_ESP_WIFI_REMOTE_ENABLED - GetHostedMCUFwVersion().c_str(), + GetHostedMCU().c_str(), GetHostedMCUFwVersion().c_str(), #endif // CONFIG_ESP_WIFI_REMOTE_ENABLED GetStatistics().c_str()); CmndStatusResponse(2); diff --git a/tasmota/tasmota_support/support_hosted_mcu.ino b/tasmota/tasmota_support/support_hosted_mcu.ino index ef9b85fa3..40eff679a 100644 --- a/tasmota/tasmota_support/support_hosted_mcu.ino +++ b/tasmota/tasmota_support/support_hosted_mcu.ino @@ -24,6 +24,14 @@ #include "esp_hosted_api_types.h" #include "esp_hosted_ota.h" +String GetHostedMCU(void) { + // Function is not yet implemented in Arduino Core so emulate it here + if (0 == strcasecmp_P(CONFIG_ESP_HOSTED_IDF_SLAVE_TARGET, PSTR("esp32c6"))) { + return String("ESP32-C6"); + } + return String("Unknown"); +} + int GetFwVersionNumber(void) { // Function is not yet implemented in Arduino Core so emulate it here return 0x0200000E; // v2.0.14 diff --git a/tasmota/tasmota_support/support_tasmota.ino b/tasmota/tasmota_support/support_tasmota.ino index 07d3ce058..a9b457bef 100644 --- a/tasmota/tasmota_support/support_tasmota.ino +++ b/tasmota/tasmota_support/support_tasmota.ino @@ -1120,6 +1120,11 @@ void PerformEverySecond(void) Settings->last_module = Settings->module; +#ifndef SOC_WIFI_SUPPORTED + // Needs to be delayed after Tasmota restart because of HostedMCU reset by Core + AddLog(LOG_LEVEL_INFO, PSTR("HDW: %s Hosted MCU v%s"), GetHostedMCU().c_str(), GetHostedMCUFwVersion().c_str()); +#endif + #ifdef USE_DEEPSLEEP if (!(DeepSleepEnabled() && !Settings->flag3.bootcount_update)) { // SetOption76 - (Deepsleep) Enable incrementing bootcount (1) when deepsleep is enabled #endif diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino index d9b07c251..90ebdda9d 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -2984,7 +2984,7 @@ void HandleInformation(void) { } WSContentSeparatorIFat(); #ifdef CONFIG_ESP_WIFI_REMOTE_ENABLED - WSContentSend_P(PSTR("}1 Hosted MCU }2 " CONFIG_ESP_HOSTED_IDF_SLAVE_TARGET "")); + WSContentSend_P(PSTR("}1 Hosted MCU }2%s"), GetHostedMCU().c_str()); WSContentSend_P(PSTR("}1 Hosted Remote Fw }2%s"), GetHostedMCUFwVersion().c_str()); WSContentSeparatorIFat(); #endif // CONFIG_ESP_WIFI_REMOTE_ENABLED