使用sd卡时录像拔出sd卡异常

This commit is contained in:
xiehongyan 2024-01-25 19:19:31 +08:00
parent cf3d4f91d4
commit 3c10835157

View File

@ -30,6 +30,10 @@ static BOOL g_BgInitFileSys = FALSE;
uint16_t warn_msgbox_auto_close_ms = 1000 * 3; uint16_t warn_msgbox_auto_close_ms = 1000 * 3;
uint32_t warn_msgbox_auto_infinite_ms = 0xffffffff; uint32_t warn_msgbox_auto_infinite_ms = 0xffffffff;
UINT32 dcf_handle = -1;
static void UIFlowMovie_REC_FINISH(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg);
extern DCF_HANDLE System_Get_DCF_Handle(void);
//MOVIE_SIZE_TAG //MOVIE_SIZE_TAG
static CHAR *resolution_Buf[MOVIE_SIZE_ID_MAX] = { static CHAR *resolution_Buf[MOVIE_SIZE_ID_MAX] = {
@ -705,6 +709,7 @@ static void set_indev_keypad_group(lv_obj_t* obj)
static void UIFlowMovie_ScrOpen(lv_obj_t* obj) static void UIFlowMovie_ScrOpen(lv_obj_t* obj)
{ {
dcf_handle = (UINT32)System_Get_DCF_Handle();/* 0 emmc 1 sd*/
DBG_DUMP("%s\r\n", __func__); DBG_DUMP("%s\r\n", __func__);
// #if HUNTING_CAMERA_MCU == ENABLE // #if HUNTING_CAMERA_MCU == ENABLE
@ -904,13 +909,10 @@ static void UIFlowMovie_ScrClose(lv_obj_t* obj)
static void UIFlowMovie_OnExeRecord(lv_obj_t* obj) static void UIFlowMovie_OnExeRecord(lv_obj_t* obj)
{ {
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_SAFE) { if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_SAFE) {
if (1 == dcf_handle && System_GetState(SYS_STATE_CARD) == CARD_REMOVED) {
// if (System_GetState(SYS_STATE_CARD) == CARD_REMOVED) { //UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, warn_msgbox_auto_close_ms);
printf("[%s:%d] card removed\n", __FUNCTION__, __LINE__);
// UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, warn_msgbox_auto_close_ms); }
// return;
// }
} else if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) { } else if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
if (GxStrg_GetDeviceCtrl(0, CARD_READONLY)) { // card lock if (GxStrg_GetDeviceCtrl(0, CARD_READONLY)) { // card lock
@ -920,11 +922,10 @@ static void UIFlowMovie_OnExeRecord(lv_obj_t* obj)
} }
// if (System_GetState(SYS_STATE_CARD) == CARD_REMOVED) { if (1 == dcf_handle && System_GetState(SYS_STATE_CARD) == CARD_REMOVED) {
//UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, warn_msgbox_auto_close_ms);
// UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, warn_msgbox_auto_close_ms); printf("[%s:%d] card removed\n", __FUNCTION__, __LINE__);
// return; }
// }
} }
@ -1178,10 +1179,17 @@ static void UIFlowMovie_WR_ERROR(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA*
set_rec_status(false); set_rec_status(false);
update_max_rec_time(); update_max_rec_time();
lv_obj_set_hidden(image_rec_ellipse_scr_uiflowmovie, true); lv_obj_set_hidden(image_rec_ellipse_scr_uiflowmovie, true);
if (1 == dcf_handle && System_GetState(SYS_STATE_CARD) == CARD_REMOVED) {
//UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, warn_msgbox_auto_close_ms);
printf("[%s:%d] card removed\n", __FUNCTION__, __LINE__);
lv_group_send_data(gp, LV_KEY_ENTER);
return;
}
if (System_GetState(SYS_STATE_CARD) == CARD_LOCKED) { if (System_GetState(SYS_STATE_CARD) == CARD_LOCKED) {
gMovData.State = MOV_ST_WARNING_MENU; gMovData.State = MOV_ST_WARNING_MENU;
UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_IMG_ID_ICON_SD_LOCK, warn_msgbox_auto_close_ms); UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_IMG_ID_ICON_SD_LOCK, warn_msgbox_auto_close_ms);
} else { } else {
gMovData.State = MOV_ST_WARNING_MENU; gMovData.State = MOV_ST_WARNING_MENU;
UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_MEMORYERROR, warn_msgbox_auto_close_ms); UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_MEMORYERROR, warn_msgbox_auto_close_ms);
} }