1.调整升级后mcu整机重启

This commit is contained in:
payton 2024-01-29 14:14:35 +08:00
parent dde2efee23
commit e24a164ac4
8 changed files with 69 additions and 24 deletions

View File

@ -519,10 +519,6 @@ void Load_MenuInfo(void)
#if HUNTING_CAMERA_MCU == ENABLE
sf_power_on_para_check_init();
Save_MenuInfo();
if(!sf_is_usb_flag())
{
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
}
#endif
#if HUNTING_CAMERA_MCU == ENABLE
//origInfo = currentInfo;

View File

@ -63,7 +63,7 @@ UINT8 sf_signal_level_get(UINT8 netFlagG, UINT8 cqSignal);
BOOL sf_get_para_check_flag(void);
void sf_sys_check_flag(void);
BOOL sf_Check_OTA(void);
BOOL sf_check_ota(void);
#ifdef __cplusplus
#if __cplusplus
}

View File

@ -531,6 +531,7 @@ typedef enum _SF_DEV_CMD_STEP_e{
SF_DEV_CMD_OTA = 0x6,
SF_DEV_CMD_BLU_START = 0x7,
SF_DEV_CMD_ESIM_OPERATION_SELECT_RESP = 0x8,
SF_DEV_CMD_LPA,
SF_DEV_CMD_BUTT
} SF_DEV_CMD_STEP_e;

View File

@ -67,6 +67,7 @@ void sf_power_off_msg_to_cardv(void);
SINT32 sf_app_mcu_para_power_no_start(void);
SINT32 sf_app_mcu_updata_start(void);
UINT8 sf_app_get_mcu_init_flag(void);
SINT32 sf_app_lpa_start(void);
#ifdef __cplusplus
#if __cplusplus
}

View File

@ -1207,7 +1207,7 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s
{
if((strValue[i][4] - '0') == 1)
{
CameraCmd.cameraRestart = 1;
sf_cmd_camera_restart(1);
Readmmsok = SMS_STATUS_RECIEV;
}
else
@ -2493,7 +2493,7 @@ SINT32 sf_power_off_module_ota(void)
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
sf_cmd_camera_restart(1);//usb error,need restart
}
else
{
@ -2573,7 +2573,7 @@ SINT32 sf_power_off_module_sd_update(void)
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
sf_cmd_camera_restart(1);//usb error,need restart
}
else
{
@ -2828,7 +2828,7 @@ SINT32 sf_power_off_check_gprs(void)
}
else
{
CameraCmd.cameraRestart = 1; //usb error,need restart
sf_cmd_camera_restart(1);//usb error,need restart
}
}
}
@ -2855,14 +2855,13 @@ SINT32 sf_power_off_check_fw_update(void)
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
sf_cmd_camera_restart(1);//usb error,need restart
}
else
{
if(sf_camera_ota_ftp() == SUCCESS)
{
CameraCmd.setPara = 0;
CameraCmd.cameraRestart = 1;
}
else
{
@ -2876,7 +2875,7 @@ SINT32 sf_power_off_check_fw_update(void)
}
else
{
CameraCmd.cameraRestart = 1; //usb error,need restart
sf_cmd_camera_restart(1);//usb error,need restart
}
}
}
@ -2912,7 +2911,7 @@ SINT32 sf_power_off_check_module_sleep(void)
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
sf_cmd_camera_restart(1);//usb error,need restart
}
else
{
@ -2924,7 +2923,7 @@ SINT32 sf_power_off_check_module_sleep(void)
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
sf_cmd_camera_restart(1);//usb error,need restart
}
else
{

View File

@ -989,7 +989,9 @@ static SINT32 sf_app_proccess_cmd_dev(SF_MESSAGE_BUF_S *pMessageBuf)
sf_blue_app_start();
}
break;
case SF_DEV_CMD_LPA:
sf_app_lpa_start();
break;
default:
break;
}

View File

@ -54,6 +54,9 @@ static SINT32 AutoPowerOffTime = 0;
static SINT32 sfusbstatus = 0;
extern SF_PARA_TIME_S rtcTime;
pthread_cond_t condition;
extern pthread_mutex_t Param_mutexLock;
int shared_condition = 1;
SINT32 bUpdateEnble = 0;
SINT32 s32ThreeWaySwitch = 0;
@ -146,6 +149,13 @@ SF_THREAD_S PowerOffTskCfg =
.IsRun = 0,
.TskId = -1,
};
SF_THREAD_S LpaTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
SINT8 debugFlag = 0;
UINT8 McuInitFlag = 0;
@ -956,9 +966,6 @@ void sf_power_off(void)
sf_power_off_msg_to_cardv();
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
}
pthread_cond_t condition;
extern pthread_mutex_t Param_mutexLock;
int shared_condition = 1;
void* sf_para_signaling_thread(void* arg)
{
@ -1422,9 +1429,10 @@ UINT8 sf_check_power_on_mode(void)
FILE *fp = NULL;
UINT32 u32ize = 0;
char *pStrSrc = NULL;
char *pStrOtsOk = "Mode=";
char *pStrMode = "Mode=";
char *pStrUpFw = "UpFw=";
char *pStrUpMcu = "mcu=";
char *pStrOtsOk = "ota_flag=0x1";
char *temp = NULL;
UINT8 startup = 0;
@ -1443,7 +1451,7 @@ UINT8 sf_check_power_on_mode(void)
pStrSrc = (char *)malloc(u32ize*sizeof(char));
if (pStrSrc) {
fread(pStrSrc, 1, u32ize, fp);
temp = strstr(pStrSrc, pStrOtsOk);
temp = strstr(pStrSrc, pStrMode);
if ( temp != NULL) {
temp += strlen("Mode=");
sscanf(temp, "%hhd", &startup);
@ -1463,7 +1471,12 @@ UINT8 sf_check_power_on_mode(void)
sscanf(temp, "%hhd", &Upmcu);
sf_set_mcu_update_flag(Upmcu);
}
SLOGI("StartMode=%d,UpFw=%d Upmcu=%d\r\n", startup, UpFw, Upmcu);
temp = strstr(pStrSrc, pStrOtsOk);
if ( temp != NULL) {
SLOGI(": ota upgrade success\r\n");
sf_cmd_camera_restart(1);
}
SLOGI("StartMode=%d,UpFw=%d Upmcu=%d ota=%d\r\n", startup, UpFw, Upmcu, sf_get_camera_restart());
free(pStrSrc);
}
@ -1486,6 +1499,10 @@ void* sf_app_mcu_para_thread(void *arg)
if((SF_MCU_STARTUP_NORMAL != sf_poweron_type_get()) && (!isUsb)){
sf_get_power_on_mode();
sf_mcu_wdg_set(5);
if(sf_get_camera_restart())
{
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
}
}
McuInitFlag = 1;
McuParaTskCfg.IsRun = 0;
@ -1715,3 +1732,32 @@ SINT32 sf_app_mcu_updata_start(void)
}
void* sf_lpa_thread(void *arg)
{
SLOGI("thread run\n");
sf_poweroff_check_lpa_excute_cmd();
sf_poweroff_check_lpa_enable_profile();
LpaTskCfg.IsRun = 0;
SLOGI("thread end\n");
return NULL;
}
SINT32 sf_app_lpa_start(void)
{
SINT32 ret = SF_FAILURE;
if(LpaTskCfg.IsRun)
{
SLOGE("thread has already run !!!\n");
return SF_FAILURE;
}
LpaTskCfg.IsRun = 1;
SLOGI("thread run\n");
ret = pthread_create(&LpaTskCfg.TskId, NULL, sf_lpa_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread creat fail!\n");
return ret;
}
return SF_SUCCESS;
}

View File

@ -88,7 +88,7 @@ void sf_sys_check_flag(void)
#endif
}
BOOL sf_Check_OTA(void)
BOOL sf_check_ota(void)
{
FILE *fp = NULL;
UINT32 u32ize = 0;
@ -96,8 +96,8 @@ BOOL sf_Check_OTA(void)
char *pStrOtsOk = "ota_flag=0x1";
BOOL ret = FALSE;
system("cat /proc/cmdline > /tmp/sf_ota.txt");
fp = fopen("/tmp/sf_ota.txt","r");
system("cat /proc/cmdline > /tmp/ota.txt");
fp = fopen("/tmp/ota.txt","r");
if(fp == NULL){
return FALSE;
}