1.开机按teset键升级功能

2.修复一些消息交互错误问题
3.修复超时关机问题
4.修改pir设置
5.修复get CAPTURE模式切换太短未完成即拍摄问题
This commit is contained in:
payton 2023-07-11 14:30:20 +08:00
parent 2d4ecca1b3
commit 6fa4fa0f3a
5 changed files with 154 additions and 126 deletions

View File

@ -377,6 +377,10 @@ int NvtMain(void)
sf_cardv_para_check_start(); sf_cardv_para_check_start();
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
if(!sf_gpio_get_status(GPIO_KEY_TEST)){
sf_set_fw_update(1);//update
}
stMessageBuf.arg1 = SF_MCU_CMD_POWERON; stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
stMessageBuf.cmdId = CMD_MCU; stMessageBuf.cmdId = CMD_MCU;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);

View File

@ -1289,6 +1289,9 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event)
{ {
sf_rtsp_restart(); sf_rtsp_restart();
} }
if((1 == sf_get_fw_update())){
sf_do_upgrade_thread();//update
}
#endif #endif
break; break;

View File

@ -81,6 +81,8 @@ void sf_set_module_update(UINT8 flag);
UINT8 sf_get_fw_update(void); UINT8 sf_get_fw_update(void);
void sf_set_fw_update(UINT8 flag); void sf_set_fw_update(UINT8 flag);
UINT8 sf_app_get_night_led_flag(void); UINT8 sf_app_get_night_led_flag(void);
void sf_set_key_fw_update(UINT8 flag);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -79,7 +79,7 @@ void sf_set_module_update(UINT8 flag)
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
if(ModuleUpdating != flag) if(ModuleUpdating != flag)
{ {
stMessageBuf.arg1 = flag; stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_MOUP; stMessageBuf.arg1 = SF_PARA_CMD_MOUP;
stMessageBuf.cmdId = CMD_PARA; stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
@ -98,13 +98,25 @@ void sf_set_fw_update(UINT8 flag)
if(FwUpdate != flag) if(FwUpdate != flag)
{ {
stMessageBuf.arg1 = flag; stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_FWUP; stMessageBuf.arg1 = SF_PARA_CMD_FWUP;
stMessageBuf.cmdId = CMD_PARA; stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
} }
FwUpdate = flag; FwUpdate = flag;
} }
void sf_set_key_fw_update(UINT8 flag)
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
if(1 == flag)
{
stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_EVENT_KEY_TEST;
stMessageBuf.cmdId = CMD_KEY;
sf_com_message_send_to_cardv(&stMessageBuf);
}
}
const SF_CHAR* app_process_SD_getstatusstring(SF_MESSAGE_CMD_SD_E enType) const SF_CHAR* app_process_SD_getstatusstring(SF_MESSAGE_CMD_SD_E enType)
{ {
@ -711,7 +723,7 @@ static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
case SF_MCU_CMD_POWERON: case SF_MCU_CMD_POWERON:
sf_get_power_on_mode(); sf_get_power_on_mode();
stMessageBuf.arg1 = SF_MCU_CMD_POWERON; stMessageBuf.arg1 = SF_MCU_CMD_POWERON;
stMessageBuf.arg2 = (SINT32)sf_convert_power_on_mode(); stMessageBuf.arg2 = (SINT32)sf_poweron_type_get();
stMessageBuf.arg3 = (SINT32)sf_mcu_get_irshtter(); stMessageBuf.arg3 = (SINT32)sf_mcu_get_irshtter();
stMessageBuf.cmdId = CMD_MCU; stMessageBuf.cmdId = CMD_MCU;
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
@ -744,10 +756,11 @@ static SINT32 sf_app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
sf_share_mem_customer_update(); sf_share_mem_customer_update();
break; break;
case SF_PARA_CMD_FWUP: case SF_PARA_CMD_FWUP:
ModuleUpdating = pMessageBuf->arg2; FwUpdate = pMessageBuf->arg2;
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, FwUpdate);
break; break;
case SF_PARA_CMD_MOUP: case SF_PARA_CMD_MOUP:
FwUpdate = pMessageBuf->arg2; ModuleUpdating = pMessageBuf->arg2;
break; break;
case SF_PARA_CMD_IR_LED_STATUS: case SF_PARA_CMD_IR_LED_STATUS:
IsNightLedOn = pMessageBuf->arg2; IsNightLedOn = pMessageBuf->arg2;

View File

@ -201,7 +201,6 @@ void sf_mode_detect(void)
pirDelay = 0; pirDelay = 0;
} }
} }
}
time++; time++;
@ -253,8 +252,9 @@ void sf_mode_detect(void)
AutoOfftime=0; AutoOfftime=0;
} }
if(((System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_PHOTO)&& (gPhotoData.State == PHOTO_ST_VIEW)) //if(((System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_PHOTO)&& (gPhotoData.State == PHOTO_ST_VIEW))
|| ((System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_MOVIE) && (FlowMovie_GetMovDataState() == MOV_ST_VIEW))) // || ((System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_MOVIE) && (FlowMovie_GetMovDataState() == MOV_ST_VIEW)))
if(sf_is_preview())
{ {
//printf("----AutoOfftime=%d\n",AutoOfftime); //printf("----AutoOfftime=%d\n",AutoOfftime);
if(AutoOfftime<185) if(AutoOfftime<185)
@ -280,7 +280,7 @@ void sf_mode_detect(void)
AutoOfftime=0; AutoOfftime=0;
} }
}
//printf("[%s:%d] e\n", __FUNCTION__, __LINE__); //printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
} }
UINT8 sf_get_module_update(void) UINT8 sf_get_module_update(void)
@ -293,7 +293,7 @@ void sf_set_module_update(UINT8 flag)
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
if(ModuleUpdating != flag) if(ModuleUpdating != flag)
{ {
stMessageBuf.arg1 = flag; stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_MOUP; stMessageBuf.arg1 = SF_PARA_CMD_MOUP;
stMessageBuf.cmdId = CMD_PARA; stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
@ -311,7 +311,7 @@ void sf_set_fw_update(UINT8 flag)
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
if(FwUpdate != flag) if(FwUpdate != flag)
{ {
stMessageBuf.arg1 = flag; stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_FWUP; stMessageBuf.arg1 = SF_PARA_CMD_FWUP;
stMessageBuf.cmdId = CMD_PARA; stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
@ -1226,7 +1226,7 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
puiPara->DigitPirSensitivity = digPirLevel[pirs]; puiPara->DigitPirSensitivity = digPirLevel[pirs];
puiPara->DigitPirCnt = digPirCount[pirs]; puiPara->DigitPirCnt = digPirCount[pirs];
puiPara->DigitPirWindowTime = 0; puiPara->DigitPirWindowTime = 0;
#if SF_IS_RELEASE == ENABLE //#if SF_IS_RELEASE == ENABLE
if(puiPara->PirSensitivity) if(puiPara->PirSensitivity)
{ {
puiPara->TimelapseSwitch = SF_OFF; puiPara->TimelapseSwitch = SF_OFF;
@ -1235,7 +1235,7 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
puiPara->TimelapseTime.Sec = 0; puiPara->TimelapseTime.Sec = 0;
//Save_MenuInfo(); //Save_MenuInfo();
} }
#endif //#endif
return SUCCESS; return SUCCESS;
} }
@ -1600,7 +1600,7 @@ static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
sf_set_mcu_sub_ver(pMessageBuf->arg2); sf_set_mcu_sub_ver(pMessageBuf->arg2);
sf_set_mcu_ver(pMessageBuf->arg3); sf_set_mcu_ver(pMessageBuf->arg3);
if((sf_get_mode_flag()) && (0 == wifistart)) if((0 == sf_get_fw_update()) && (sf_get_mode_flag()) && (0 == wifistart))
{ {
wifistart = 1; wifistart = 1;
GOIO_Turn_Onoff_IRCUT(1); GOIO_Turn_Onoff_IRCUT(1);
@ -1638,6 +1638,9 @@ static SINT32 sf_cardv_proccess_cmd_key(SF_MESSAGE_BUF_S *pMessageBuf)
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
} }
break; break;
case SF_EVENT_KEY_TEST:
sf_do_upgrade_thread();//update
break;
default: default:
break; break;
@ -1661,10 +1664,10 @@ static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
Reset_MenuInfo(); Reset_MenuInfo();
break; break;
case SF_PARA_CMD_FWUP: case SF_PARA_CMD_FWUP:
ModuleUpdating = pMessageBuf->arg2; FwUpdate = pMessageBuf->arg2;
break; break;
case SF_PARA_CMD_MOUP: case SF_PARA_CMD_MOUP:
FwUpdate = pMessageBuf->arg2; ModuleUpdating = pMessageBuf->arg2;
break; break;
case SF_PARA_CMD_NET_STATUS: case SF_PARA_CMD_NET_STATUS:
NetWorkFlag = pMessageBuf->arg2; NetWorkFlag = pMessageBuf->arg2;
@ -1729,7 +1732,7 @@ static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
UI_SetData(FL_PreMode, iCurrMode); UI_SetData(FL_PreMode, iCurrMode);
UI_SetData(FL_NextMode, iNextMode); UI_SetData(FL_NextMode, iNextMode);
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode);
vos_util_delay_ms(200); vos_util_delay_ms(400);
} }
} }
@ -1937,24 +1940,24 @@ void sf_cardv_message_thread_init(void)
void sf_set_menu_open(BOOL is) void sf_set_menu_open(BOOL is)
{ {
IsMenu = is; IsMenu = is;
printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu); //printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu);
} }
BOOL sf_is_menu_open(void) BOOL sf_is_menu_open(void)
{ {
printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu); //printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu);
return IsMenu; return IsMenu;
} }
void sf_set_cap_statu(BOOL is) void sf_set_cap_statu(BOOL is)
{ {
IsCap = is; IsCap = is;
printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap); //printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
} }
BOOL sf_get_cap_statu(void) BOOL sf_get_cap_statu(void)
{ {
printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap); //printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
return IsCap; return IsCap;
} }
@ -2107,14 +2110,17 @@ void* sf_sys_do_upgrade(void *arg)
sf_set_fw_update(1); sf_set_fw_update(1);
sf_set_send_statu(TRUE); sf_set_send_statu(TRUE);
sf_sys_status_led_set(SF_LED_SYS_STATE_UPDATE); sf_sys_status_led_set(SF_LED_SYS_STATE_UPDATE);
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 1);
//BKG_PostEvent(NVTEVT_BKW_FW_UPDATE); //BKG_PostEvent(NVTEVT_BKW_FW_UPDATE);
if(0 != sf_fwupdate()){ if(0 != sf_fwupdate()){
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR); sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
} }
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0); else {
SysResetFlag();
}
sf_set_send_statu(FALSE); sf_set_send_statu(FALSE);
sf_set_fw_update(0); sf_set_fw_update(0);
vos_util_delay_ms(1000);
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0);
} }
UpgradeTskParam.IsRun = 2; UpgradeTskParam.IsRun = 2;