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_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.cmdId = CMD_MCU;
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();
}
if((1 == sf_get_fw_update())){
sf_do_upgrade_thread();//update
}
#endif
break;

View File

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

View File

@ -79,7 +79,7 @@ void sf_set_module_update(UINT8 flag)
SF_MESSAGE_BUF_S stMessageBuf = {0};
if(ModuleUpdating != flag)
{
stMessageBuf.arg1 = flag;
stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_MOUP;
stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_cardv(&stMessageBuf);
@ -98,13 +98,25 @@ void sf_set_fw_update(UINT8 flag)
if(FwUpdate != flag)
{
stMessageBuf.arg1 = flag;
stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_FWUP;
stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_cardv(&stMessageBuf);
}
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)
{
@ -711,7 +723,7 @@ static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
case SF_MCU_CMD_POWERON:
sf_get_power_on_mode();
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.cmdId = CMD_MCU;
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();
break;
case SF_PARA_CMD_FWUP:
ModuleUpdating = pMessageBuf->arg2;
FwUpdate = pMessageBuf->arg2;
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, FwUpdate);
break;
case SF_PARA_CMD_MOUP:
FwUpdate = pMessageBuf->arg2;
ModuleUpdating = pMessageBuf->arg2;
break;
case SF_PARA_CMD_IR_LED_STATUS:
IsNightLedOn = pMessageBuf->arg2;

View File

@ -201,7 +201,6 @@ void sf_mode_detect(void)
pirDelay = 0;
}
}
}
time++;
@ -253,8 +252,9 @@ void sf_mode_detect(void)
AutoOfftime=0;
}
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)))
//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)))
if(sf_is_preview())
{
//printf("----AutoOfftime=%d\n",AutoOfftime);
if(AutoOfftime<185)
@ -280,7 +280,7 @@ void sf_mode_detect(void)
AutoOfftime=0;
}
}
//printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
}
UINT8 sf_get_module_update(void)
@ -293,7 +293,7 @@ void sf_set_module_update(UINT8 flag)
SF_MESSAGE_BUF_S stMessageBuf = {0};
if(ModuleUpdating != flag)
{
stMessageBuf.arg1 = flag;
stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_MOUP;
stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_app(&stMessageBuf);
@ -311,7 +311,7 @@ void sf_set_fw_update(UINT8 flag)
SF_MESSAGE_BUF_S stMessageBuf = {0};
if(FwUpdate != flag)
{
stMessageBuf.arg1 = flag;
stMessageBuf.arg2 = flag;
stMessageBuf.arg1 = SF_PARA_CMD_FWUP;
stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_app(&stMessageBuf);
@ -1226,7 +1226,7 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
puiPara->DigitPirSensitivity = digPirLevel[pirs];
puiPara->DigitPirCnt = digPirCount[pirs];
puiPara->DigitPirWindowTime = 0;
#if SF_IS_RELEASE == ENABLE
//#if SF_IS_RELEASE == ENABLE
if(puiPara->PirSensitivity)
{
puiPara->TimelapseSwitch = SF_OFF;
@ -1235,7 +1235,7 @@ UINT32 sf_set_pir_sensitivity(UINT8 pirs)
puiPara->TimelapseTime.Sec = 0;
//Save_MenuInfo();
}
#endif
//#endif
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_ver(pMessageBuf->arg3);
if((sf_get_mode_flag()) && (0 == wifistart))
if((0 == sf_get_fw_update()) && (sf_get_mode_flag()) && (0 == wifistart))
{
wifistart = 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
}
break;
case SF_EVENT_KEY_TEST:
sf_do_upgrade_thread();//update
break;
default:
break;
@ -1661,10 +1664,10 @@ static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
Reset_MenuInfo();
break;
case SF_PARA_CMD_FWUP:
ModuleUpdating = pMessageBuf->arg2;
FwUpdate = pMessageBuf->arg2;
break;
case SF_PARA_CMD_MOUP:
FwUpdate = pMessageBuf->arg2;
ModuleUpdating = pMessageBuf->arg2;
break;
case SF_PARA_CMD_NET_STATUS:
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_NextMode, 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)
{
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)
{
printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu);
//printf("[%s]:%d IsMenu:%d\n", __FUNCTION__, __LINE__, IsMenu);
return IsMenu;
}
void sf_set_cap_statu(BOOL 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)
{
printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
//printf("[%s]:%d IsCap:%d\n", __FUNCTION__, __LINE__,IsCap);
return IsCap;
}
@ -2107,14 +2110,17 @@ void* sf_sys_do_upgrade(void *arg)
sf_set_fw_update(1);
sf_set_send_statu(TRUE);
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);
if(0 != sf_fwupdate()){
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_fw_update(0);
vos_util_delay_ms(1000);
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0);
}
UpgradeTskParam.IsRun = 2;