Retry when Upload TFT fails
This commit is contained in:
@@ -90,15 +90,52 @@ script:
|
|||||||
- lambda: |-
|
- lambda: |-
|
||||||
static const char *const TAG = "script.upload_tft";
|
static const char *const TAG = "script.upload_tft";
|
||||||
ESP_LOGVV(TAG, "Starting...");
|
ESP_LOGVV(TAG, "Starting...");
|
||||||
ESP_LOGV(TAG, "Setting Nextion protocol reparse mode to passive");
|
|
||||||
id(disp1).set_protocol_reparse_mode(false);
|
|
||||||
ESP_LOGV(TAG, "Setting TFT url: %s", url.c_str());
|
ESP_LOGV(TAG, "Setting TFT url: %s", url.c_str());
|
||||||
id(disp1)->set_tft_url(url.c_str());
|
id(disp1)->set_tft_url(url.c_str());
|
||||||
|
unsigned int upload_tries = 0;
|
||||||
|
while (upload_tries < 5) {
|
||||||
|
upload_tries++;
|
||||||
|
ESP_LOGD(TAG, "Try #%i", upload_tries);
|
||||||
|
ESP_LOGD(TAG, "Setting Nextion protocol reparse mode to passive");
|
||||||
|
id(disp1).set_protocol_reparse_mode(false);
|
||||||
ESP_LOGV(TAG, "Calling upload from Nextion component");
|
ESP_LOGV(TAG, "Calling upload from Nextion component");
|
||||||
id(disp1)->upload_tft();
|
if (id(disp1)->upload_tft()) id(restart_nspanel).press();
|
||||||
ESP_LOGVV(TAG, "Finished");
|
ESP_LOGD(TAG, "Turn off Nextion");
|
||||||
|
id(screen_power).turn_off();
|
||||||
|
#ifdef ARDUINO
|
||||||
|
delay(1500);
|
||||||
|
#elif defined(ESP_PLATFORM)
|
||||||
|
vTaskDelay(pdMS_TO_TICKS(1500));
|
||||||
|
#endif
|
||||||
|
ESP_LOGD(TAG, "Turn on Nextion");
|
||||||
|
id(screen_power).turn_on();
|
||||||
|
#ifdef ARDUINO
|
||||||
|
delay(1500);
|
||||||
|
#elif defined(ESP_PLATFORM)
|
||||||
|
vTaskDelay(pdMS_TO_TICKS(1500));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
ESP_LOGE(TAG, "TFT upload failed.");
|
||||||
|
ESP_LOGD(TAG, "Turn off Nextion");
|
||||||
|
id(screen_power).turn_off();
|
||||||
|
#ifdef ARDUINO
|
||||||
|
delay(1500);
|
||||||
|
#elif defined(ESP_PLATFORM)
|
||||||
|
vTaskDelay(pdMS_TO_TICKS(1500));
|
||||||
|
#endif
|
||||||
|
ESP_LOGD(TAG, "Turn on Nextion");
|
||||||
|
id(screen_power).turn_on();
|
||||||
|
ESP_LOGD(TAG, "Restarting esphome");
|
||||||
|
#ifdef ARDUINO
|
||||||
|
delay(1500);
|
||||||
|
#elif defined(ESP_PLATFORM)
|
||||||
|
vTaskDelay(pdMS_TO_TICKS(1500));
|
||||||
|
#endif
|
||||||
|
id(restart_nspanel).press();
|
||||||
|
ESP_LOGV(TAG, "Finished!");
|
||||||
|
|
||||||
- id: upload_tft_working
|
|
||||||
|
- id: upload_tft_legacy # Not in use - To be removed when Nextion component is updated
|
||||||
mode: single
|
mode: single
|
||||||
parameters:
|
parameters:
|
||||||
url: string
|
url: string
|
||||||
|
|||||||
Reference in New Issue
Block a user