From e074dd96c4c832ff8258225cc684f8c2c39f0980 Mon Sep 17 00:00:00 2001 From: payton Date: Mon, 29 Jan 2024 14:13:29 +0800 Subject: [PATCH 1/3] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9lpa=E6=B5=8B=E8=AF=95cm?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../source/cardv/SrcCode/System/SysMain_cmd.c | 2 ++ .../lib/source/sifar/code/include/sf_common.h | 2 ++ .../sifar/code/source/common/sf_common.c | 19 ++++++++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/code/application/source/cardv/SrcCode/System/SysMain_cmd.c b/code/application/source/cardv/SrcCode/System/SysMain_cmd.c index 2748365f5..55e72f686 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_cmd.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_cmd.c @@ -284,6 +284,8 @@ SXCMD_ITEM("wifisw %", cmd_wifi_switch, "wifisw 0/1") SXCMD_ITEM("lcdbk %", sf_set_backlight_status, "lcdbk 0/1") SXCMD_ITEM("sfdump %", sf_vos_perf_list_dump, "sfdump") SXCMD_ITEM("sdfilesw %", sf_cmd_sd_file_switch, "sdfilesw") +SXCMD_ITEM("lpatest %", sf_cmd_lpa_test, "lpatest") +SXCMD_ITEM("fwup %", sf_cmd_fw_upgrade, "fwup") #endif #if FS_MULTI_STRG_FUNC /* test cmd */ diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index 2a9928ef3..4223c03af 100755 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -183,6 +183,7 @@ UINT32 sf_cardv_wifi_send(void); void sf_set_ui_para_flag(UINT8 flag); UINT8 sf_get_ui_para_flag(void); BOOL sf_cmd_ftp_ota(unsigned char argc, char **argv); +BOOL sf_cmd_fw_upgrade(unsigned char argc, char **argv); BOOL sf_cmd_switch_esim(unsigned char argc, char **argv); void sf_set_debug_mode(void); void sf_set_wifi_socket(int fd); @@ -214,4 +215,5 @@ INT32 sf_mem_write_photo(UINT32 buf, UINT32 size); void sf_set_wifi_en(UINT32 cnt); void sf_set_bt_en(UINT32 cnt); void sf_dev_en(void); +BOOL sf_cmd_lpa_test(unsigned char argc, char **argv); #endif diff --git a/code/lib/source/sifar/code/source/common/sf_common.c b/code/lib/source/sifar/code/source/common/sf_common.c index e4053b2ce..4c59cc6ef 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -1400,7 +1400,12 @@ BOOL sf_cmd_ftp_ota(unsigned char argc, char **argv) return TRUE; } - +BOOL sf_cmd_fw_upgrade(unsigned char argc, char **argv) +{ + printf("[%s:%d] s\n", __FUNCTION__, __LINE__); + BKG_PostEvent(NVTEVT_BKW_CAMERA_FW_UPGRADE); + printf("[%s:%d] e\n", __FUNCTION__, __LINE__); +} BOOL sf_cmd_switch_esim(unsigned char argc, char **argv) { //UINT32 value; @@ -3662,4 +3667,16 @@ void sf_dev_en(void) sf_usb_mux_s(1); } } +} + +BOOL sf_cmd_lpa_test(unsigned char argc, char **argv) +{ + //UINT32 value; + + SF_MESSAGE_BUF_S stMessageBuf = {0}; + stMessageBuf.arg1 = SF_DEV_CMD_LPA; + stMessageBuf.cmdId = CMD_DEV; + sf_com_message_send_to_app(&stMessageBuf); + + return TRUE; } \ No newline at end of file From dde2efee233f9314db6bf3701269b49fb290e74e Mon Sep 17 00:00:00 2001 From: payton Date: Mon, 29 Jan 2024 14:14:06 +0800 Subject: [PATCH 2/3] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=86=99mcu=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E6=9C=89=E5=AF=84=E5=AD=98=E5=99=A8=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c index 58f9d8dee..60210d0fd 100755 --- a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c +++ b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c @@ -472,7 +472,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val) sf_sleep_ms(100); } } - + i = 0; if(attrId == SF_MCU_POWEROFF) { //printf("SynMcuSet = %x\n", statisPara->SynMcuSet); From e24a164ac4500d4128ca011aaa85af5d9ad55565 Mon Sep 17 00:00:00 2001 From: payton Date: Mon, 29 Jan 2024 14:14:35 +0800 Subject: [PATCH 3/3] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E5=90=8Emcu=E6=95=B4=E6=9C=BA=E9=87=8D=E5=90=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c | 4 -- .../sf_app/code/include/sf_param_common.h | 2 +- .../sf_app/code/include/sf_param_enum.h | 1 + .../source/sf_app/code/include/sf_system.h | 1 + .../source/sf_app/code/source/4gMng/sf_sms.c | 17 +++--- .../source/sf_app/code/source/app/sf_common.c | 4 +- .../source/sf_app/code/source/app/sf_system.c | 58 +++++++++++++++++-- .../code/source/paramMng/sf_param_common.c | 6 +- 8 files changed, 69 insertions(+), 24 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index 448516d31..ec3981652 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -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; diff --git a/code/application/source/sf_app/code/include/sf_param_common.h b/code/application/source/sf_app/code/include/sf_param_common.h index 28de0b0e9..18da12947 100644 --- a/code/application/source/sf_app/code/include/sf_param_common.h +++ b/code/application/source/sf_app/code/include/sf_param_common.h @@ -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 } diff --git a/code/application/source/sf_app/code/include/sf_param_enum.h b/code/application/source/sf_app/code/include/sf_param_enum.h index eaa34cdfd..84cdf2b9a 100755 --- a/code/application/source/sf_app/code/include/sf_param_enum.h +++ b/code/application/source/sf_app/code/include/sf_param_enum.h @@ -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; diff --git a/code/application/source/sf_app/code/include/sf_system.h b/code/application/source/sf_app/code/include/sf_system.h index e3fe05f9a..52fc50e73 100755 --- a/code/application/source/sf_app/code/include/sf_system.h +++ b/code/application/source/sf_app/code/include/sf_system.h @@ -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 } diff --git a/code/application/source/sf_app/code/source/4gMng/sf_sms.c b/code/application/source/sf_app/code/source/4gMng/sf_sms.c index facf454fa..c29c47a4e 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_sms.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_sms.c @@ -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 { diff --git a/code/application/source/sf_app/code/source/app/sf_common.c b/code/application/source/sf_app/code/source/app/sf_common.c index b2239180e..e013b63d2 100755 --- a/code/application/source/sf_app/code/source/app/sf_common.c +++ b/code/application/source/sf_app/code/source/app/sf_common.c @@ -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; } diff --git a/code/application/source/sf_app/code/source/app/sf_system.c b/code/application/source/sf_app/code/source/app/sf_system.c index 7c81ebd72..b38f581a7 100755 --- a/code/application/source/sf_app/code/source/app/sf_system.c +++ b/code/application/source/sf_app/code/source/app/sf_system.c @@ -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; +} diff --git a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c index 8b75f5554..0b781c1b9 100755 --- a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c +++ b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c @@ -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; }