diff --git a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit index 5f4a0f70e..f3321cff6 100755 --- a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit +++ b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit @@ -72,6 +72,7 @@ insmod /etc/lib/modules/$KERVER/extra/fs/exfat/exfat.ko #mdev -s + if [ -d "/sys/class/block/mmcblk0p1" ]; then mknod /dev/mmcblk0p1 b `cat /sys/class/block/mmcblk0p1/dev | sed "s/:/\ /g"` fi @@ -86,4 +87,6 @@ if [ ! -f /tmp/.nvt_mounts ]; then rm -rf /tmp/.nvt_mounts; fi -mount /dev/mmcblk1p1 /mnt/sd2 +# mount emmc node mmcblk1p1 to sd2 +mount -t vfat -o rw,errors=continue /dev/mmcblk1p1 /mnt/sd2 + diff --git a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c index 8de16a676..93fcb4dc1 100755 --- a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c +++ b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c @@ -374,7 +374,7 @@ static void* mmc_monitoring_thread(void *arg) } } - sf_sleep_ms(5000); + sf_sleep_ms(1000); } return NULL; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c index 29e9d4b90..7d007e0f4 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c @@ -363,23 +363,52 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) printf("[LV_MenuCommonOption_UpdateContent]s_SelOption: %d\n", s_SelOption); if (IDM_FORMAT_SD == pItem->ItemId) { - if (0 == SelOption && i == 0) { - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT2;//> - lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 288, 0); - ui_hidden = false; - } else if (1 == SelOption && i == 1) { - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT2;//> - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); - ui_hidden = false; - } else if (0 == SelOption && i == 1) { - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//> - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); - ui_hidden = false; - } else if (1 == SelOption && i == 0) { - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//> - lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 288, 0); - ui_hidden = false; + UINT32 cardStatus = System_GetState(SYS_STATE_CARD); + if (cardStatus == CARD_REMOVED) + { + if (i == 0) + { + itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT2;//> + lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 288, 0); + ui_hidden = false; + } + else if (i == 1) + { + lv_plugin_menu_select_item(menu_option, 0); + s_SelOption = 0; + SelOption = 0; + lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); + ui_hidden = true; + } } + else + { + if (0 == SelOption && i == 0) + { + itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT2;//> + lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 288, 0); + ui_hidden = false; + } + else if (1 == SelOption && i == 1) + { + itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT2;//> + lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); + ui_hidden = false; + } + else if (0 == SelOption && i == 1) + { + itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//> + lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); + ui_hidden = false; + } + else if (1 == SelOption && i == 0) + { + itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//> + lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 288, 0); + ui_hidden = false; + } + } + } else if (s_SelOption == 100){//first init page add select icon if (enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption) { @@ -437,13 +466,14 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) default: { itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ - if(i == 1) + if(i == 0) + { + lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 272, 0); + } + else if (i == 1) { lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 272, 0); } - else if (i == 0){ - lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 272, 0); - } else if (i == 2) { lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 272, 0); @@ -910,6 +940,14 @@ static void LV_MenuOption_OnOpen(lv_obj_t* obj, TM_MENU *data) lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); } } + if (IDM_FORMAT_SD == pItem->ItemId) + { + UINT32 cardStatus = System_GetState(SYS_STATE_CARD); + if (cardStatus == CARD_REMOVED) + { + lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); + } + } lv_plugin_menu_select_item(menu_option, SelOption); } @@ -951,7 +989,17 @@ static void LV_MenuOption_OnNext(lv_obj_t* obj) lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); } return; - } + } + if (IDM_FORMAT_SD == pItem->ItemId) + { + UINT32 cardStatus = System_GetState(SYS_STATE_CARD); + if (cardStatus == CARD_REMOVED) + { + SelOption = 0; + lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); + return; + } + } if (SelOption >= pItem->Count){ // Close current UI Window now //SysSetFlag(pItem->SysFlag, PrevOption); @@ -1002,7 +1050,17 @@ static void LV_MenuOption_OnPrev(lv_obj_t* obj) lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); } return; - } + } + if (IDM_FORMAT_SD == pItem->ItemId) + { + UINT32 cardStatus = System_GetState(SYS_STATE_CARD); + if (cardStatus == CARD_REMOVED) + { + SelOption = 0; + lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); + return; + } + } if (SelOption == 0) { // Close current UI Window now 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 194a684cf..9db5ab4e3 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 @@ -70,6 +70,9 @@ static BOOL g_PlayBgInitFileSys = FALSE; #if 1 static lv_group_t* gp_btns = NULL; extern uint16_t warn_msgbox_auto_close_ms; +static lv_obj_t *label_msgbox = NULL; +static lv_obj_t *no_file_msgbox = NULL; +int is_no_file = 0; #define PLB_BTN_FWD (1) #define PLB_BTN_CUR (0) @@ -81,17 +84,6 @@ extern uint16_t warn_msgbox_auto_close_ms; #define ITEMS_PER_PAGE 5 -void init_bar(void) -{ - lv_obj_set_state(container_option_title_scr_uiflowplay, LV_STATE_DEFAULT); - lv_obj_set_hidden(container_option_title_scr_uiflowplay, false); -} - -void hidde_bar(void) -{ - lv_obj_set_hidden(container_option_title_scr_uiflowplay, true); -} - static void update_play_Selection_msg(lv_obj_t* obj) { for(int i = 0; i < ITEMS_PER_PAGE; i++) @@ -269,7 +261,6 @@ void hidde_Selection_page(void) { gSeletionShow = SELECTION_SHOW_FALSE; gOptionPage = OPTION_PAGE_SELECT_FUNCTION; - hidde_bar(); lv_obj_set_hidden(container_main_menu_scr_uiflowplay,true); } void Option_play_Selection_Key(lv_obj_t* obj, uint32_t key) @@ -353,6 +344,13 @@ void Option_play_Selection_Key(lv_obj_t* obj, uint32_t key) Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PLAYBACK); } + else + { + if (1 == is_no_file) + { + lv_obj_set_hidden(no_file_msgbox, false); + } + } ProfileFocused = 0; hidde_Selection_page(); } @@ -1243,7 +1241,10 @@ static void UIFlowPlay_OpenFile(lv_obj_t* obj) g_PlbData.State = PLB_ST_IDLE; update_playicons(g_PlbData.State); PBView_DrawNoFile(); - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); + //UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); + lv_obj_set_hidden(no_file_msgbox, false); + is_no_file = 1; + lv_obj_set_hidden(container_play_scr_uiflowplay, true); g_bUIFlowWndPlayNoImgWndOpened = TRUE; } else @@ -1289,13 +1290,24 @@ static void set_indev_keypad_group(lv_obj_t* obj) static void UIFlowPlay_ScrOpen(lv_obj_t* obj) { - if (FirstHandle == -1) + if (-1 == FirstHandle) { FirstHandle = System_Get_DCF_Handle(); printf("[UIFlowPlay_ScrOpen][*x] select handle: %d.\n", FirstHandle); ProfileSelected = FirstHandle; } + if (NULL == no_file_msgbox) + { + no_file_msgbox = lv_btn_create(obj, button_msg_bg_scr_uiflowwrnmsg); + lv_obj_set_hidden(no_file_msgbox, true); + is_no_file = 0; + label_msgbox = lv_label_create(no_file_msgbox, label_msg_scr_uiflowwrnmsg); + lv_label_set_align(label_msgbox, LV_LABEL_ALIGN_CENTER); + lv_obj_align(label_msgbox, no_file_msgbox, LV_ALIGN_CENTER, 0, 0); + lv_label_set_text(label_msgbox, "No File"); + } + DBG_IND("UIFlowPlay_ScrOpen\r\n"); @@ -1308,7 +1320,9 @@ static void UIFlowPlay_ScrOpen(lv_obj_t* obj) g_PlbData.State = PLB_ST_IDLE; 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); + //UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, 3000); + lv_obj_set_hidden(no_file_msgbox, false); + is_no_file = 1; lv_obj_set_hidden(container_play_scr_uiflowplay, true); return; } @@ -1365,7 +1379,10 @@ static void UIFlowPlay_ChildScrClose(lv_obj_t* obj, const void * data) //#NT#Support IVOT_N12144_CO-148_A PBView_DrawNoFile(); //#NT#2023/11/14#Eric - end - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); + //UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); + lv_obj_set_hidden(no_file_msgbox, false); + is_no_file = 1; + lv_obj_set_hidden(container_play_scr_uiflowplay, true); g_bUIFlowWndPlayNoImgWndOpened = TRUE; } } else { @@ -1389,8 +1406,11 @@ static void UIFlowPlay_ChildScrClose(lv_obj_t* obj, const void * data) //#NT#Support IVOT_N12144_CO-148_A PBView_DrawNoFile(); //#NT#2023/11/14#Eric - end - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); - g_bUIFlowWndPlayNoImgWndOpened = TRUE; + //UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); + lv_obj_set_hidden(no_file_msgbox, false); + is_no_file = 1; + lv_obj_set_hidden(container_play_scr_uiflowplay, true); + g_bUIFlowWndPlayNoImgWndOpened = TRUE; } }else{ //#NT#2023/11/03#Eric - end @@ -1415,7 +1435,10 @@ static void UIFlowPlay_ChildScrClose(lv_obj_t* obj, const void * data) //#NT#Support IVOT_N12144_CO-148_A PBView_DrawNoFile(); //#NT#2023/11/14#Eric - end - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); + //UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, warn_msgbox_auto_close_ms); + lv_obj_set_hidden(no_file_msgbox, false); + is_no_file = 1; + lv_obj_set_hidden(container_play_scr_uiflowplay, true); g_bUIFlowWndPlayNoImgWndOpened = TRUE; } else { g_PlbData.State = PLB_ST_MENU; @@ -2368,7 +2391,8 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) { if (SELECTION_SHOW_FALSE == gSeletionShow) { show_Selection_page(obj); - init_bar(); + + lv_obj_set_hidden(no_file_msgbox, true); } else { } @@ -2380,6 +2404,16 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_UP: case LV_USER_KEY_PREV: { + if (NULL != no_file_msgbox) + { + lv_obj_del(no_file_msgbox); + no_file_msgbox = NULL; + } + if(NULL != label_msgbox) + { + lv_obj_del(label_msgbox); + label_msgbox = NULL; + } printf("[UIFlowPlay_Key]exit play handle change: %d. \n", FirstHandle); ChangeHandle = FirstHandle; FirstHandle = -1; diff --git a/code/application/source/sf_app/code/include/sf_systemMng.h b/code/application/source/sf_app/code/include/sf_systemMng.h index 06d91321c..b47282ebe 100644 --- a/code/application/source/sf_app/code/include/sf_systemMng.h +++ b/code/application/source/sf_app/code/include/sf_systemMng.h @@ -17,7 +17,7 @@ extern "C" { // following define must be same to "kernel\drivers\sstar\include\mdrv_msys_io.h" -#define SF_VER_FILE_PATH SF_SD_ROOT"CAM_INFO.txt" +#define SF_VER_FILE_PATH "CAM_INFO.txt" typedef enum sfUPGRADE_STATUS_E { diff --git a/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c b/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c index 58ff8a309..078cd184d 100644 --- a/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c +++ b/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c @@ -281,11 +281,20 @@ SINT32 sf_sys_software_version_get(SF_CHAR* version) SINT32 sf_sys_camera_about(void) { SF_CHAR Temp[128] = {0}; + + char *file_path = sf_root_path_strcat(SF_VER_FILE_PATH); + if(file_path == NULL) + { + free(file_path); + return SF_FAILURE; + } + SF_PDT_PARAM_STATISTICS_S *pstaticparam = sf_statistics_param_get(); FILE *fp; - if((fp =fopen(SF_VER_FILE_PATH,"w+")) == NULL) + if((fp =fopen(file_path,"w+")) == NULL) { - MLOGE("open [%s] failed!!!\n",SF_VER_FILE_PATH); + MLOGE("open [%s] failed!!!\n",file_path); + free(file_path); return SF_FAILURE; } memset(Temp,'\0',sizeof(Temp)/sizeof(char)); @@ -321,7 +330,7 @@ SINT32 sf_sys_camera_about(void) fwrite(Temp,sizeof(char), strlen(Temp),fp); fflush(fp); fclose(fp); - + free(file_path); return SUCCESS; }