From 787ee85bbd83d34998e17335cfdad679ad3009cd Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Mon, 18 Dec 2023 19:48:22 +0800 Subject: [PATCH 1/5] Gui Megre emmc branch. --- .../UIFlowPhoto/UIFlowPhotoEventCallback.c | 21 +++++++++++++++++++ .../sf_app/code/include/sf_commu_mcu_reg.h | 12 +++++++---- .../sf_app/code/include/sf_param_enum.h | 1 + .../source/sf_app/code/source/4gMng/sf_ftp.c | 8 ++++++- .../code/source/systemMng/sf_commu_mcu_reg.c | 8 +++++++ .../lib/source/sifar/code/include/sf_common.h | 8 +++++++ .../sifar/code/source/common/sf_common.c | 13 ++++++++++++ 7 files changed, 66 insertions(+), 5 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index bc02098b3..95734847e 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -642,6 +642,14 @@ static void update_gps_status(void) sf_show_send_text(UIFlowPhoto, FILE_SENDING_GUI_START_SENDING); return; } + if (FTP_CONNECTING_FTP_CONNECTING == sf_cardv_get_ftp_status()) + { + sf_show_send_text(UIFlowPhoto, FTP_CONNECTING_FTP_CONNECTING); + return; + } + else if (FTP_CONNECTING_END != sf_cardv_get_ftp_status()) { + sf_show_send_text(UIFlowPhoto, sf_cardv_get_ftp_status()); + } SF_GPS_STATUS_E status = sf_cardv_get_gps_status(); switch (status) { @@ -1764,6 +1772,19 @@ static void sf_show_send_text(lv_obj_t* obj, const unsigned short status) SendMsgShow = SENDING_KEEP_SHOW_TIME_S; break; } + case FTP_CONNECTING_FTP_CONNECTING: + { + lv_obj_set_hidden(label_sim_scr_uiflowphoto, false); + lv_label_set_text(label_sim_scr_uiflowphoto, "Connecting ... "); + SendMsgShow = SENDING_KEEP_SHOW; + break; + } + case FTP_CONNECTING_FTP_CONNECT_SUCCESSFUL: + case FTP_CONNECTING_FTP_CONNECT_FAILED: + { + SendMsgShow = SENDING_NOT_SHOW; + break; + } default: break; } diff --git a/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h b/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h index 168b4f990..315c88769 100755 --- a/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h +++ b/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h @@ -357,11 +357,15 @@ void sf_set_module_sleep_flag(UINT8 flag); UINT8 sf_get_module_sleep_flag(void); int sf_app_while_flag(void); void sf_set_sim_insert(INT32 sim); - #define GPS_SEARCHING_START 0 - #define GPS_SEARCHING_STOP 1 - #define GPS_SEARCHING_SUCCESSFUL 2 - #define GPS_SEARCHING_FAILED 3 +#define GPS_SEARCHING_START 0 +#define GPS_SEARCHING_STOP 1 +#define GPS_SEARCHING_SUCCESSFUL 2 +#define GPS_SEARCHING_FAILED 3 void sf_set_gps_status(const short status); +#define FTP_CONNECTING 4 +#define FTP_CONNECT_SUCCESSFUL 5 +#define FTP_CONNECT_FAILED 6 +void sf_set_ftp_status(const short status); void sf_set_usb_init(int flag); UINT32 sf_get_sim_insert(void); int sf_get_signal_ready(void); 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 0e39a30f5..b337a9a7e 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 @@ -487,6 +487,7 @@ typedef enum sf_PARA_MESSAGE_TYPE_E SF_PARA_CMD_ISESIM = 0x1F07, SF_PARA_CMD_USB_INIT = 0x1F08, SF_PARA_CMD_GPS_STATUS = 0X1F09, + SF_PARA_CMD_FTP_CONNECT_STATUS= 0X1F0A, }SF_PARA_MESSAGE_TYPE_E; typedef enum sf_WIFI_MESSAGE_TYPE_E diff --git a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c index e372ae237..cb06c5105 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c @@ -1415,6 +1415,7 @@ SINT32 sf_4g_module_ota_ftp(void) *************************************************/ SINT32 sf_connect_ftps_server(void) { + sf_set_ftp_status(FTP_CONNECTING); SINT32 ret = SF_SUCCESS;//0:success; else:fail; UINT8 ssl = 0; UINT8 gprsMode = 0; @@ -1441,8 +1442,13 @@ SINT32 sf_connect_ftps_server(void) if(FTP_MANAGER_SERVICE_AVAILABLE == result) { FtpOpenOk = SUCCESS; + sf_set_ftp_status(FTP_CONNECT_SUCCESSFUL); } - //ret = sf_ftp_stop(ssl, gprsMode); + else + { + sf_set_ftp_status(FTP_CONNECT_FAILED); + } + ret = sf_ftp_stop(ssl, gprsMode); //SF_FTP_CONNECT_END: //printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret); 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 38036be30..1ae43890e 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 @@ -1256,6 +1256,14 @@ void sf_set_gps_status(const short status) stMessageBuf.cmdId = CMD_PARA; sf_com_message_send_to_cardv(&stMessageBuf); } +void sf_set_ftp_status(const short status) +{ + SF_MESSAGE_BUF_S stMessageBuf = {0}; + stMessageBuf.arg2 = status; + stMessageBuf.arg1 = SF_PARA_CMD_FTP_CONNECT_STATUS; + stMessageBuf.cmdId = CMD_PARA; + sf_com_message_send_to_cardv(&stMessageBuf); +} void sf_set_usb_init(int flag) { SF_MESSAGE_BUF_S stMessageBuf = {0}; diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index 47409f9ca..4694c25be 100755 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -40,6 +40,12 @@ typedef enum{ FILE_SENDING_GUI_SEND_FAILED, FILE_SENDING_GUI_END } FILE_SENDING_GUI_E; +typedef enum{ + FTP_CONNECTING_FTP_CONNECTING = FILE_SENDING_GUI_END, + FTP_CONNECTING_FTP_CONNECT_SUCCESSFUL, + FTP_CONNECTING_FTP_CONNECT_FAILED, + FTP_CONNECTING_END +} FTP_CONNECTING_E; #define DEFAULT_GO_TO_WORK_MODE_TIME_S 85 #define PASSWORD_SCREEN_GO_TO_WORK_MODE_TIME_S 61 #define MENU_SCREEN_GO_TO_WORK_MODE_TIME_S 60 @@ -126,6 +132,8 @@ BOOL sf_is_preview(void); short sf_cardv_get_cq_signal(void); void sf_cardv_set_gps_status(const SF_GPS_STATUS_E status); const SF_GPS_STATUS_E sf_cardv_get_gps_status(void); +void sf_cardv_set_ftp_status(const FTP_CONNECTING_E status); +const FTP_CONNECTING_E sf_cardv_get_ftp_status(void); void sf_cardv_4G_status_set(UINT8 status); UINT8 sf_cardv_4G_status_get(void); void sf_cardv_set_sim_insert(INT8 sim); 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 2b63c91ca..7d8f1a314 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -100,6 +100,7 @@ static UINT8 UiparaFlag = 0; static SF_BLE_STATUS_E BleStatus = SF_BLE_OK; static UINT8 McuUpdateFlag = 0; static SF_GPS_STATUS_E gGpsSearching = SF_GPS_SEARCHING_UNKNOW; +static FTP_CONNECTING_E gFtpConnectingStatus = FTP_CONNECTING_END; static char CamMode = 0; static CHAR netGeneration = SF_NET_NO; static SF_THREAD_S UpgradeTskParam = @@ -1542,6 +1543,15 @@ const SF_GPS_STATUS_E sf_cardv_get_gps_status(void) { return gGpsSearching; } +void sf_cardv_set_ftp_status(const FTP_CONNECTING_E status) +{ + printf("sf_cardv_set_ftp_status = %d\n", status); + gFtpConnectingStatus = status; +} +const FTP_CONNECTING_E sf_cardv_get_ftp_status(void) +{ + return gFtpConnectingStatus; +} /************************************************* Function: sf_cardv_adc_value_get @@ -1784,6 +1794,9 @@ static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf) break; case SF_PARA_CMD_GPS_STATUS: sf_cardv_set_gps_status(pMessageBuf->arg2); + break; + case SF_PARA_CMD_FTP_CONNECT_STATUS: + sf_cardv_set_ftp_status(pMessageBuf->arg2); break; default: break; From 60a77deb0d4bce58ce84d00de066a10b850a6009 Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Tue, 19 Dec 2023 10:38:42 +0800 Subject: [PATCH 2/5] Fixed bug number 10539. --- .../UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index c9dc59fba..1503713f0 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -115,7 +115,7 @@ static void UIFlowPlay_IconImageSize(BOOL bShow) if (bShow == FALSE) { // UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_SizeCtrl, FALSE); lv_obj_set_hidden(label_file_size_scr_uiflowplay, true); - lv_obj_set_hidden(container_play_scr_uiflowplay, true); + // lv_obj_set_hidden(container_play_scr_uiflowplay, true); return; } //show icon From 488c4c1e34598012fb4b7ce51d1cdccac77f787a Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Tue, 19 Dec 2023 14:52:25 +0800 Subject: [PATCH 3/5] Fixed bug number 10204. --- .../UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c | 2 +- .../UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 95734847e..823315129 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1398,7 +1398,7 @@ static void UIFlowPhoto_ScrOpen(lv_obj_t* obj) /* never closed */ gPhotoData.State = PHOTO_ST_WARNING_MENU; - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 1000); + // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 1000); // UIFlowMenuCommonConfirmAPI_Open(IDM_FORMAT); // return; #endif diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index 1503713f0..5d183fd8c 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -110,6 +110,11 @@ static void UIFlowPlay_IconImageSize(BOOL bShow) } else { OriImgHeight = (UINT32)hd_vdoframe_info.dim.h; } + if (uiFileFmt & (PBFMT_MOVMJPG | PBFMT_AVI | PBFMT_MP4 | PBFMT_TS)) { + lv_obj_set_hidden(container_play_scr_uiflowplay, false); + } else { + lv_obj_set_hidden(container_play_scr_uiflowplay, true); + } //hide icon if (bShow == FALSE) { @@ -988,6 +993,7 @@ static void UIFlowPlay_ScrOpen(lv_obj_t* obj) update_playicons(g_PlbData.State); // Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO); UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, 3000); + lv_obj_set_hidden(container_play_scr_uiflowplay, true); return; } From 9741bf7716d236a63966c0d99abf810f8e5468f4 Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Wed, 20 Dec 2023 10:17:03 +0800 Subject: [PATCH 4/5] Fixed bug:show review screen when power off. --- .../source/cardv/SrcCode/System/SysMain_Exe.c | 24 +++++++++++++++---- .../UIFlowPhoto/UIFlowPhotoEventCallback.c | 4 ++++ .../sifar/code/source/common/sf_common.c | 1 - 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c index a479a460c..aa392aacc 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c @@ -422,6 +422,7 @@ BOOL System_GetShutdownBegin(void) INT32 System_OnShutdown(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) { UINT32 displayShow = SHOW_POWER_OFF; + BOOL isMenu = sf_is_menu_open(); if ( paramNum >= 2) { DBG_DUMP("^MOn Shutdown begin paramNum:%d paramArray[0]:%d paramArray[1]:%d\r\n",paramNum, paramArray[0], paramArray[1]); @@ -479,11 +480,24 @@ INT32 System_OnShutdown(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) if(sf_get_mode_flag() && SHOW_POWER_OFF == displayShow) #endif { - GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 - GxDisplay_Flush(LAYER_OSD1); - - Display_ShowSplash(SPLASH_POWEROFF); - SwTimer_DelayMs(500); + if (FALSE == isMenu) + { + GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 + GxDisplay_Flush(LAYER_OSD1); + Display_ShowSplash(SPLASH_POWEROFF); + SwTimer_DelayMs(500); + } + else + { + Display_ShowSplash(SPLASH_POWEROFF); + SwTimer_DelayMs(500); + GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 + GxDisplay_Flush(LAYER_OSD1); + } + // Display_ShowSplash(SPLASH_POWEROFF); + // SwTimer_DelayMs(500); + // GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 + // GxDisplay_Flush(LAYER_OSD1); } #endif } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 823315129..eb3c68ce3 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1383,6 +1383,8 @@ void UIFlowPhoto_OnBatteryLow(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* ms static void UIFlowPhoto_ScrOpen(lv_obj_t* obj) { + lv_obj_set_hidden(container_photo_scr_uiflowphoto, false); + lv_obj_set_hidden(label_line_scr_uiflowphoto, false); set_indev_keypad_group(obj); update_fd_frame(); //#NT#2016/10/04#Lincy Lin -begin @@ -1489,6 +1491,8 @@ static void UIFlowPhoto_ScrClose(lv_obj_t* obj) /* Reset key press/release/continue mask to default */ Ux_FlushEventByRange(NVTEVT_KEY_EVT_START, NVTEVT_KEY_EVT_END); + lv_obj_set_hidden(container_photo_scr_uiflowphoto, true); + lv_obj_set_hidden(label_line_scr_uiflowphoto, true); return; } 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 7d8f1a314..b8eb1eaa9 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -2018,7 +2018,6 @@ 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); } BOOL sf_is_menu_open(void) From cc78dae655a5c68d064b67a07bdc9da17c3f3914 Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Wed, 20 Dec 2023 16:29:46 +0800 Subject: [PATCH 5/5] Improve:Can not show delete comfirm screen when no file. --- .../UIFlowPlay/UIFlowPlayEventCallback.c | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index 5d183fd8c..d1b0a01c1 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -2023,16 +2023,26 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) break; } case LV_USER_KEY_LEFT: + { + UINT32 uiFileSeq; + PB_GetParam(PBPRMID_CURR_FILESEQ, &uiFileSeq); + if (0 != uiFileSeq) { stop_play(); UIFlowPlay_OnKeyUp(obj); - break; + } + break; } case LV_USER_KEY_RIGHT: + { + UINT32 uiFileSeq; + PB_GetParam(PBPRMID_CURR_FILESEQ, &uiFileSeq); + if (0 != uiFileSeq) { stop_play(); UIFlowPlay_OnKeyDown(obj); - break; + } + break; } case LV_USER_KEY_UP: @@ -2045,13 +2055,18 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_DOWN: case LV_USER_KEY_NEXT: { + UINT32 uiFileSeq; + PB_GetParam(PBPRMID_CURR_FILESEQ, &uiFileSeq); + if (0 != uiFileSeq) + { stop_play(); UIFlowMenuCommonConfirmAPI_Open(IDM_DELETE_THIS); break; UIFlowPlay_OnKeyNext(obj); break; } - + break; + } case LV_USER_KEY_ZOOMIN: { break;