Retry when Upload TFT fails
This commit is contained in:
@@ -90,15 +90,52 @@ script:
|
||||
- lambda: |-
|
||||
static const char *const TAG = "script.upload_tft";
|
||||
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());
|
||||
id(disp1)->set_tft_url(url.c_str());
|
||||
ESP_LOGV(TAG, "Calling upload from Nextion component");
|
||||
id(disp1)->upload_tft();
|
||||
ESP_LOGVV(TAG, "Finished");
|
||||
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");
|
||||
if (id(disp1)->upload_tft()) id(restart_nspanel).press();
|
||||
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
|
||||
parameters:
|
||||
url: string
|
||||
|
||||
Reference in New Issue
Block a user