no check version progress on manual firmware update
This commit is contained in:
parent
9ca6f0f210
commit
96ff27760e
|
|
@ -115,7 +115,7 @@ void GotEthIF(void);
|
|||
void GetRFC3339Time(char *t);
|
||||
void StartTimeGet(void);
|
||||
|
||||
esp_err_t StartOTA(void);
|
||||
esp_err_t StartOTA(bool isManual);
|
||||
char* GetAvailVersion();
|
||||
char* GetUpdateStatus();
|
||||
|
||||
|
|
|
|||
|
|
@ -537,7 +537,7 @@ static HTTP_IO_RESULT HTTPPostSystemSettings(httpd_req_t *req, char *PostData)
|
|||
{
|
||||
if (!strcmp(tmp, (const char*) "prs"))
|
||||
{
|
||||
StartOTA();
|
||||
StartOTA(true);
|
||||
}
|
||||
}
|
||||
if (httpd_query_key_value(PostData, "rtos", tmp, sizeof(tmp)) == ESP_OK)
|
||||
|
|
|
|||
15
src/OTA.c
15
src/OTA.c
|
|
@ -48,6 +48,8 @@ char FwUpdStatus[64] = "<span class='clok'>Updated</span>";
|
|||
#define HASH_LEN 32
|
||||
#define REPORT_PACKETS_EVERY 100
|
||||
|
||||
static bool isManualUpdate = false;
|
||||
|
||||
void (*HookBeforeUpdate)(void);
|
||||
void regHookBeforeUpdate(void (*before_update)(void))
|
||||
{
|
||||
|
|
@ -177,9 +179,17 @@ esp_err_t my_esp_https_ota(const esp_http_client_config_t *config)
|
|||
GetBuildNumber(new_app_info.version));
|
||||
bool need_to_update = GetBuildNumber(new_app_info.version) > GetBuildNumber(cur_app_info.version);
|
||||
|
||||
if (isManualUpdate)
|
||||
{
|
||||
need_to_update = true;
|
||||
}
|
||||
|
||||
if (need_to_update)
|
||||
{
|
||||
ESP_LOGW(TAG, "New firmware has newer build, START update firmware");
|
||||
if (!isManualUpdate)
|
||||
ESP_LOGI(TAG, "New firmware has newer build, START update firmware");
|
||||
else
|
||||
ESP_LOGW(TAG, "Manual update, no checking version, START update firmware");
|
||||
if (HookBeforeUpdate != NULL)
|
||||
HookBeforeUpdate();
|
||||
int countPackets = 0;
|
||||
|
|
@ -303,7 +313,7 @@ static void OTATask(void *pvParameter)
|
|||
* ESP_ERR_NOT_FINISHED on attempt rerun existing thread
|
||||
*/
|
||||
|
||||
esp_err_t StartOTA(void)
|
||||
esp_err_t StartOTA(bool isManual)
|
||||
{
|
||||
if (xTaskGetHandle("OTATask") != NULL)
|
||||
{
|
||||
|
|
@ -311,6 +321,7 @@ esp_err_t StartOTA(void)
|
|||
return ESP_ERR_NOT_FINISHED;
|
||||
}
|
||||
ESP_LOGI(TAG, "Starting OTA Task");
|
||||
isManualUpdate = isManual;
|
||||
strcpy(FwUpdStatus, "<span class='clwarn'>Start update...</span>");
|
||||
xTaskCreate(OTATask, "OTATask", 1024 * 8, (void*) 0, 5, NULL);
|
||||
return ESP_OK;
|
||||
|
|
|
|||
|
|
@ -270,7 +270,7 @@ static void funct_ota_state(char *argres, int rw)
|
|||
|
||||
static void funct_ota_start(char *argres, int rw)
|
||||
{
|
||||
StartOTA();
|
||||
StartOTA(true);
|
||||
}
|
||||
static void funct_ota_newver(char *argres, int rw)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user