Fix repeated get hosted MCU fw version

This commit is contained in:
Theo Arends 2025-07-16 14:27:01 +02:00
parent 3c0e71c290
commit 6e7e483a70
2 changed files with 29 additions and 18 deletions

View File

@ -3172,12 +3172,12 @@ const mytmplt kModules[] PROGMEM = {
AGPIO(GPIO_USER), // 11 IO GPIO11, TOUCH9, LP_GPIO11
AGPIO(GPIO_USER), // 12 IO GPIO12, TOUCH10, LP_GPIO12
AGPIO(GPIO_USER), // 13 IO GPIO13, TOUCH11, LP_GPIO13
AGPIO(GPIO_USER), // 14 IO GPIO14, TOUCH12, LP_GPIO14
AGPIO(GPIO_USER), // 15 IO GPIO15, TOUCH13, LP_GPIO15
AGPIO(GPIO_USER), // 16 IO GPIO16, ADC1_CH0
AGPIO(GPIO_USER), // 17 IO GPIO17, ADC1_CH1
AGPIO(GPIO_USER), // 18 IO GPIO18, ADC1_CH2
AGPIO(GPIO_USER), // 19 IO GPIO19, ADC1_CH3
AGPIO(GPIO_USER), // 14 IO GPIO14, TOUCH12, LP_GPIO14, SDIO2_D0 ESPHosted (ESP32C6 GPIO20)
AGPIO(GPIO_USER), // 15 IO GPIO15, TOUCH13, LP_GPIO15, SDIO2_D1 ESPHosted (ESP32C6 GPIO21)
AGPIO(GPIO_USER), // 16 IO GPIO16, ADC1_CH0, SDIO2_D2 ESPHosted (ESP32C6 GPIO22)
AGPIO(GPIO_USER), // 17 IO GPIO17, ADC1_CH1, SDIO2_D3 ESPHosted (ESP32C6 GPIO23)
AGPIO(GPIO_USER), // 18 IO GPIO18, ADC1_CH2, SDIO2_CLK ESPHosted (ESP32C6 GPIO19)
AGPIO(GPIO_USER), // 19 IO GPIO19, ADC1_CH3, SDIO2_CMD ESPHosted (ESP32C6 GPIO18)
AGPIO(GPIO_USER), // 20 IO GPIO20, ADC1_CH4
AGPIO(GPIO_USER), // 21 IO GPIO21, ADC1_CH5
AGPIO(GPIO_USER), // 22 IO GPIO22, ADC1_CH6

View File

@ -25,21 +25,32 @@
#include "esp_hosted_api_types.h"
#include "esp_hosted_ota.h"
String GetHostedMCUFwVersion()
{
String GetHostedMCUFwVersion(void) {
static int major1 = -1;
static int minor1;
static int patch1;
if (!esp_hosted_is_config_valid()) {
return String("");
}
if (-1 == major1) {
major1 = 0;
minor1 = 0;
patch1 = 6;
esp_hosted_coprocessor_fwver_t ver_info;
esp_err_t err = esp_hosted_get_coprocessor_fwversion(&ver_info);
esp_err_t err = esp_hosted_get_coprocessor_fwversion(&ver_info); // This takes almost 4 seconds
if (err == ESP_OK) {
char data[40];
snprintf_P(data, sizeof(data), PSTR("%d.%d.%d"), ver_info.major1,ver_info.minor1,ver_info.patch1);
// AddLog(LOG_LEVEL_DEBUG, PSTR("Fw: %d.%d.%d"), ver_info.major1, ver_info.minor1, ver_info.patch1);
return String(data);
major1 = ver_info.major1;
minor1 = ver_info.minor1;
patch1 = ver_info.patch1;
} else {
// We can not know exactly, as API was added after 0.0.6
AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("HST: Error %d, hosted version 0.0.6 or older"), err);
}
AddLog(LOG_LEVEL_DEBUG, PSTR("Err: %d, version 0.0..6 or older"), err);
return String(PSTR("0.0.6")); // we can not know exactly, but API was added after 0.0.6
}
char data[40];
snprintf_P(data, sizeof(data), PSTR("%d.%d.%d"), major1, minor1, patch1);
return String(data);
}
void OTAHostedMCU(const char* image_url) {