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 GetRFC3339Time(char *t);
|
||||||
void StartTimeGet(void);
|
void StartTimeGet(void);
|
||||||
|
|
||||||
esp_err_t StartOTA(void);
|
esp_err_t StartOTA(bool isManual);
|
||||||
char* GetAvailVersion();
|
char* GetAvailVersion();
|
||||||
char* GetUpdateStatus();
|
char* GetUpdateStatus();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -537,7 +537,7 @@ static HTTP_IO_RESULT HTTPPostSystemSettings(httpd_req_t *req, char *PostData)
|
||||||
{
|
{
|
||||||
if (!strcmp(tmp, (const char*) "prs"))
|
if (!strcmp(tmp, (const char*) "prs"))
|
||||||
{
|
{
|
||||||
StartOTA();
|
StartOTA(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (httpd_query_key_value(PostData, "rtos", tmp, sizeof(tmp)) == ESP_OK)
|
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 HASH_LEN 32
|
||||||
#define REPORT_PACKETS_EVERY 100
|
#define REPORT_PACKETS_EVERY 100
|
||||||
|
|
||||||
|
static bool isManualUpdate = false;
|
||||||
|
|
||||||
void (*HookBeforeUpdate)(void);
|
void (*HookBeforeUpdate)(void);
|
||||||
void regHookBeforeUpdate(void (*before_update)(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));
|
GetBuildNumber(new_app_info.version));
|
||||||
bool need_to_update = GetBuildNumber(new_app_info.version) > GetBuildNumber(cur_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)
|
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)
|
if (HookBeforeUpdate != NULL)
|
||||||
HookBeforeUpdate();
|
HookBeforeUpdate();
|
||||||
int countPackets = 0;
|
int countPackets = 0;
|
||||||
|
|
@ -303,7 +313,7 @@ static void OTATask(void *pvParameter)
|
||||||
* ESP_ERR_NOT_FINISHED on attempt rerun existing thread
|
* ESP_ERR_NOT_FINISHED on attempt rerun existing thread
|
||||||
*/
|
*/
|
||||||
|
|
||||||
esp_err_t StartOTA(void)
|
esp_err_t StartOTA(bool isManual)
|
||||||
{
|
{
|
||||||
if (xTaskGetHandle("OTATask") != NULL)
|
if (xTaskGetHandle("OTATask") != NULL)
|
||||||
{
|
{
|
||||||
|
|
@ -311,6 +321,7 @@ esp_err_t StartOTA(void)
|
||||||
return ESP_ERR_NOT_FINISHED;
|
return ESP_ERR_NOT_FINISHED;
|
||||||
}
|
}
|
||||||
ESP_LOGI(TAG, "Starting OTA Task");
|
ESP_LOGI(TAG, "Starting OTA Task");
|
||||||
|
isManualUpdate = isManual;
|
||||||
strcpy(FwUpdStatus, "<span class='clwarn'>Start update...</span>");
|
strcpy(FwUpdStatus, "<span class='clwarn'>Start update...</span>");
|
||||||
xTaskCreate(OTATask, "OTATask", 1024 * 8, (void*) 0, 5, NULL);
|
xTaskCreate(OTATask, "OTATask", 1024 * 8, (void*) 0, 5, NULL);
|
||||||
return ESP_OK;
|
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)
|
static void funct_ota_start(char *argres, int rw)
|
||||||
{
|
{
|
||||||
StartOTA();
|
StartOTA(true);
|
||||||
}
|
}
|
||||||
static void funct_ota_newver(char *argres, int rw)
|
static void funct_ota_newver(char *argres, int rw)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user