Optimize ota transfer function

This commit is contained in:
wgzAIIT 2023-09-07 17:04:15 +08:00
parent bad8dc0fc2
commit 117789121e
2 changed files with 23 additions and 13 deletions

View File

@ -167,7 +167,7 @@ static int Ec200tIoctl(struct Adapter *adapter, int cmd, void *args)
serial_cfg.serial_timeout = OTA_RX_TIMEOUT; serial_cfg.serial_timeout = OTA_RX_TIMEOUT;
#else #else
//serial receive timeout 10s //serial receive timeout 10s
serial_cfg.serial_timeout = 100000; serial_cfg.serial_timeout = 10000;
#endif #endif
serial_cfg.is_ext_uart = 0; serial_cfg.is_ext_uart = 0;
#ifdef ADAPTER_EC200T_DRIVER_EXT_PORT #ifdef ADAPTER_EC200T_DRIVER_EXT_PORT

View File

@ -852,6 +852,10 @@ reconnect:
{ {
KPrintf("Failed to get ota information!\n"); KPrintf("Failed to get ota information!\n");
ret = -1; ret = -1;
ota_info.status = OTA_STATUS_ERROR;
memset(ota_info.error_message,0,sizeof(ota_info.error_message));
strncpy(ota_info.error_message, "Failed to get ota information!",sizeof(ota_info.error_message));
UpdateOTAFlag(&ota_info);
break; break;
} }
} }
@ -864,6 +868,10 @@ reconnect:
{ {
KPrintf("current frame[%d] flash failed.\n",platform_ota.num-1); KPrintf("current frame[%d] flash failed.\n",platform_ota.num-1);
ret = -1; ret = -1;
ota_info.status = OTA_STATUS_ERROR;
memset(ota_info.error_message,0,sizeof(ota_info.error_message));
sprintf(ota_info.error_message,"current frame[%d] flash failed.",platform_ota.num-1);
UpdateOTAFlag(&ota_info);
break; break;
} }
else else
@ -938,19 +946,16 @@ reconnect:
strncpy(ota_info.error_message, "No error message!",sizeof(ota_info.error_message)); strncpy(ota_info.error_message, "No error message!",sizeof(ota_info.error_message));
UpdateOTAFlag(&ota_info); UpdateOTAFlag(&ota_info);
} KPrintf("ota file transfer complete,start reboot!\n");
}
else else
{ {
ota_info.status = OTA_STATUS_ERROR; KPrintf("ota file transfer failed,start reboot!\n");
memset(ota_info.error_message,0,sizeof(ota_info.error_message));
strncpy(ota_info.error_message, "Failed to download firmware to download partition!",sizeof(ota_info.error_message));
UpdateOTAFlag(&ota_info);
} }
MQTT_UnSubscribeTopic(topicdatabuff[0]); MQTT_UnSubscribeTopic(topicdatabuff[0]);
MQTT_UnSubscribeTopic(topicdatabuff[1]); MQTT_UnSubscribeTopic(topicdatabuff[1]);
MQTT_Disconnect(); MQTT_Disconnect();
mcuboot.flash_deinit(); mcuboot.flash_deinit();
KPrintf("ota file transfer complete,start reboot!\n");
MdelayKTask(2000); MdelayKTask(2000);
mcuboot.op_reset(); mcuboot.op_reset();
} }
@ -1074,6 +1079,10 @@ reconnect:
{ {
KPrintf("Failed to get ota information!\n"); KPrintf("Failed to get ota information!\n");
ret = -1; ret = -1;
ota_info.status = OTA_STATUS_ERROR;
memset(ota_info.error_message,0,sizeof(ota_info.error_message));
strncpy(ota_info.error_message, "Failed to get ota information!",sizeof(ota_info.error_message));
UpdateOTAFlag(&ota_info);
break; break;
} }
} }
@ -1086,6 +1095,10 @@ reconnect:
{ {
KPrintf("current frame[%d] flash failed.\n",platform_ota.num-1); KPrintf("current frame[%d] flash failed.\n",platform_ota.num-1);
ret = -1; ret = -1;
ota_info.status = OTA_STATUS_ERROR;
memset(ota_info.error_message,0,sizeof(ota_info.error_message));
sprintf(ota_info.error_message,"current frame[%d] flash failed.",platform_ota.num-1);
UpdateOTAFlag(&ota_info);
break; break;
} }
else else
@ -1160,18 +1173,15 @@ reconnect:
strncpy(ota_info.error_message, "No error message!",sizeof(ota_info.error_message)); strncpy(ota_info.error_message, "No error message!",sizeof(ota_info.error_message));
UpdateOTAFlag(&ota_info); UpdateOTAFlag(&ota_info);
} KPrintf("ota file transfer complete,start reboot!\n");
}
else else
{ {
ota_info.status = OTA_STATUS_ERROR; KPrintf("ota file transfer failed,start reboot!\n");
memset(ota_info.error_message,0,sizeof(ota_info.error_message));
strncpy(ota_info.error_message, "Failed to download firmware to download partition!",sizeof(ota_info.error_message));
UpdateOTAFlag(&ota_info);
} }
MQTT_UnSubscribeTopic(topicdatabuff); MQTT_UnSubscribeTopic(topicdatabuff);
MQTT_Disconnect(); MQTT_Disconnect();
mcuboot.flash_deinit(); mcuboot.flash_deinit();
KPrintf("ota file transfer complete,start reboot!\n");
MdelayKTask(2000); MdelayKTask(2000);
mcuboot.op_reset(); mcuboot.op_reset();
} }