1.合并rtos下emmc修改
This commit is contained in:
		
							parent
							
								
									11152df385
								
							
						
					
					
						commit
						9baa65f8d5
					
				| 
						 | 
				
			
			@ -102,6 +102,11 @@ static lfqueue_t write_queue = {0};
 | 
			
		|||
 | 
			
		||||
//local variable
 | 
			
		||||
static DCF_HANDLE g_dcf_hdl = 0;
 | 
			
		||||
 | 
			
		||||
#if	(FS_MULTI_STRG_FUNC)
 | 
			
		||||
static DCF_HANDLE g_dcf_hdl2 = 0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static ID MOVIEFAST_FLG_ID = 0;
 | 
			
		||||
static UINT32 g_moviefast_tsk_run = 1;
 | 
			
		||||
static UINT32 g_moviefast_poweroff_tsk_run = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -852,6 +857,16 @@ static void MovieFast_OnRecStop(void)
 | 
			
		|||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static DCF_HANDLE MovieFast_Get_DCF_Handle(void)
 | 
			
		||||
{
 | 
			
		||||
#if	(FS_MULTI_STRG_FUNC)
 | 
			
		||||
	/* check free space here */
 | 
			
		||||
	return g_dcf_hdl2;
 | 
			
		||||
#else
 | 
			
		||||
	return g_dcf_hdl;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
 | 
			
		||||
{
 | 
			
		||||
    //1. The FileID and DirID is set at booting.
 | 
			
		||||
| 
						 | 
				
			
			@ -863,7 +878,8 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
 | 
			
		|||
		DBG_ERR("Exceed max dcf file!\r\n");
 | 
			
		||||
		pFileName[0] = '\0';
 | 
			
		||||
	} else {
 | 
			
		||||
		DCF_GetNextID(&nextFolderID,&nextFileID);
 | 
			
		||||
		DCF_HANDLE handle = MovieFast_Get_DCF_Handle();
 | 
			
		||||
		DCF_GetNextIDEx(handle, &nextFolderID,&nextFileID);
 | 
			
		||||
        if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2)
 | 
			
		||||
        {
 | 
			
		||||
            Movie2_nextFolderID = nextFolderID;
 | 
			
		||||
| 
						 | 
				
			
			@ -900,8 +916,8 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
 | 
			
		|||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
		DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
 | 
			
		||||
        DCF_AddDBfile(pFileName);
 | 
			
		||||
		DCF_MakeObjPathEx(handle, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
 | 
			
		||||
        DCF_AddDBfileEx(handle, pFileName);
 | 
			
		||||
        DBG_DUMP("%s added to DCF\r\n", pFileName);
 | 
			
		||||
        #if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
        char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
 | 
			
		||||
| 
						 | 
				
			
			@ -1198,6 +1214,26 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
 | 
			
		|||
		DCF_SetDirFreeChars(DCF_DIR_NAME);
 | 
			
		||||
		DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
 | 
			
		||||
		DCF_ScanObj();
 | 
			
		||||
 | 
			
		||||
#if	(FS_MULTI_STRG_FUNC)
 | 
			
		||||
		{
 | 
			
		||||
			DCF_OPEN_PARM dcfParm = {
 | 
			
		||||
				.Drive = 'B',
 | 
			
		||||
				.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER,
 | 
			
		||||
				.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
 | 
			
		||||
			};
 | 
			
		||||
			g_dcf_hdl2 = DCF_Open(&dcfParm);
 | 
			
		||||
			if(g_dcf_hdl2 < 0){
 | 
			
		||||
				DBG_ERR("get dcf handle error!\n");
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			DBG_WRN("DCF_ScanObjEx emmc handle=%d\n", g_dcf_hdl2);
 | 
			
		||||
			DCF_ScanObjEx(g_dcf_hdl2);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        #if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
        if(TRUE != sf_is_card_full())
 | 
			
		||||
        #endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1894,6 +1930,11 @@ static void MovieFast_Close(void)
 | 
			
		|||
EXIT:
 | 
			
		||||
 | 
			
		||||
	DCF_Close(g_dcf_hdl);
 | 
			
		||||
 | 
			
		||||
#if	(FS_MULTI_STRG_FUNC)
 | 
			
		||||
	DCF_Close(g_dcf_hdl2);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	DCF_UnInstallID();
 | 
			
		||||
 | 
			
		||||
	vos_flag_destroy(MOVIEFAST_FLG_ID);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -88,7 +88,11 @@ static CHAR                g_photo_fast_write_file_Path[NMC_TOTALFILEPATH_MAX_LE
 | 
			
		|||
static INT32               g_photo_fast_id_mapping[PHOTO_CAP_ID_MAX]             = {-1,-1};
 | 
			
		||||
static PHOTO_FILENAME_CB   *g_fpPhotoFastFileNameCB = NULL;
 | 
			
		||||
static DCF_HANDLE g_dcf_hdl = 0;
 | 
			
		||||
 | 
			
		||||
#if	(FS_MULTI_STRG_FUNC)
 | 
			
		||||
static DCF_HANDLE g_dcf_hdl2 = 0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static HD_PATH_ID      g_video_enc_path[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0};
 | 
			
		||||
static UINT32          g_bVideoEncPathStart[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0};
 | 
			
		||||
static HD_VIDEOENC_BUFINFO g_enc_buf_info[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0};
 | 
			
		||||
| 
						 | 
				
			
			@ -737,12 +741,6 @@ INT32 PhotoFast_FileNaming_Open(void)
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
		DBG_WRN("DCF_ScanObjEx emmc handle=%d\n", g_dcf_hdl2);
 | 
			
		||||
//		DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FOLDER, TRUE);
 | 
			
		||||
//		DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE);
 | 
			
		||||
//		DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV);
 | 
			
		||||
//		DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO);
 | 
			
		||||
//		DCF_SetDirFreeChars(DCF_DIR_NAME);
 | 
			
		||||
//		DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
 | 
			
		||||
		DCF_ScanObjEx(g_dcf_hdl2);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -761,8 +759,10 @@ INT32 PhotoFast_FileNaming_Close(void)
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
#if	(FS_MULTI_STRG_FUNC)
 | 
			
		||||
		DCF_Close(g_dcf_hdl2);
 | 
			
		||||
		g_dcf_hdl2 = -1;
 | 
			
		||||
		if(g_dcf_hdl2 >= 0){
 | 
			
		||||
			DCF_Close(g_dcf_hdl2);
 | 
			
		||||
			g_dcf_hdl2 = -1;
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		DCF_UnInstallID();
 | 
			
		||||
| 
						 | 
				
			
			@ -881,23 +881,29 @@ void PhotoFast_FileNaming_SetSortBySN(CHAR *pDelimStr, UINT32 nDelimCount, UINT3
 | 
			
		|||
        DBG_ERR("No set Delim String!!\r\n");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DCF_HANDLE PhotoFast_Get_DCF_Handle()
 | 
			
		||||
{
 | 
			
		||||
#if	(FS_MULTI_STRG_FUNC)
 | 
			
		||||
	/* check free space here */
 | 
			
		||||
	return g_dcf_hdl2;
 | 
			
		||||
#else
 | 
			
		||||
	return g_dcf_hdl;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, char* Path)
 | 
			
		||||
{
 | 
			
		||||
	FST_FILE fp;
 | 
			
		||||
	INT32    rt;
 | 
			
		||||
	UINT32   Length;
 | 
			
		||||
	CHAR     FilePath[NMC_TOTALFILEPATH_MAX_LEN];
 | 
			
		||||
 | 
			
		||||
#if	FS_MULTI_STRG_FUNC
 | 
			
		||||
	CHAR     FilePath2[NMC_TOTALFILEPATH_MAX_LEN];
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	UINT32   fileType;
 | 
			
		||||
	UINT32   open_flag;
 | 
			
		||||
	UINT32 nextFolderID = 0, nextFileID = 0;
 | 
			
		||||
	UINT32   nextFolderID = 0, nextFileID = 0;
 | 
			
		||||
	DCF_HANDLE handle = PhotoFast_Get_DCF_Handle(); /* handle determines which storage would be written */
 | 
			
		||||
 | 
			
		||||
	if(Path == NULL){
 | 
			
		||||
        if (DCF_GetDBInfo(DCF_INFO_IS_9999)) {
 | 
			
		||||
        if (DCF_GetDBInfoEx(handle, DCF_INFO_IS_9999)) {
 | 
			
		||||
            DBG_ERR("Exceed max dcf file!\r\n");
 | 
			
		||||
            return FST_STA_NOFREE_SPACE;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -908,7 +914,7 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
 | 
			
		|||
            else{
 | 
			
		||||
                fileType = DCF_FILE_TYPE_JPG;
 | 
			
		||||
            }
 | 
			
		||||
            DCF_GetNextID(&nextFolderID,&nextFileID);
 | 
			
		||||
            DCF_GetNextIDEx(handle, &nextFolderID,&nextFileID);
 | 
			
		||||
            if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2)
 | 
			
		||||
            {
 | 
			
		||||
                nextFolderID = Movie2_nextFolderID;
 | 
			
		||||
| 
						 | 
				
			
			@ -933,8 +939,8 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
 | 
			
		|||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            DCF_MakeObjPath(nextFolderID, nextFileID, fileType, FilePath);
 | 
			
		||||
            DCF_AddDBfile(FilePath);
 | 
			
		||||
            DCF_MakeObjPathEx(handle, nextFolderID, nextFileID, fileType, FilePath);
 | 
			
		||||
            DCF_AddDBfileEx(handle, FilePath);
 | 
			
		||||
            DBG_DUMP("%s added to DCF\r\n", FilePath);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,30 +1010,6 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
 | 
			
		|||
		DBG_ERR("FileSys_OpenFile fail\r\n");
 | 
			
		||||
		rt =FST_STA_ERROR;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#if	FS_MULTI_STRG_FUNC
 | 
			
		||||
 | 
			
		||||
	DBG_WRN("write %s\n", FilePath2);
 | 
			
		||||
	if ((fp = FileSys_OpenFile(FilePath2, open_flag)) != NULL) {
 | 
			
		||||
		Length = Size;
 | 
			
		||||
 | 
			
		||||
		rt = FileSys_WriteFile(fp, (UINT8 *)Addr, &Length, 0, NULL);
 | 
			
		||||
        FileSys_FlushFile(fp);
 | 
			
		||||
		FileSys_CloseFile(fp);
 | 
			
		||||
		if (rt == FST_STA_OK) {
 | 
			
		||||
		// DCF_AddDBfile(FilePath);
 | 
			
		||||
		// DBG_DUMP("%s added to DCF\r\n", FilePath);
 | 
			
		||||
		} else {
 | 
			
		||||
			DBG_ERR("Addr=0x%x,Size=0x%x,Fmt=%d\r\n", Addr, Size, Fmt);
 | 
			
		||||
		}
 | 
			
		||||
	}else{
 | 
			
		||||
		DBG_ERR("FileSys_OpenFile fail\r\n");
 | 
			
		||||
		rt =FST_STA_ERROR;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	return rt;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@
 | 
			
		|||
#include "hd_common.h"
 | 
			
		||||
#include "UIAppPhoto.h"
 | 
			
		||||
#include <vf_gfx.h>
 | 
			
		||||
#include "DCF.h"
 | 
			
		||||
 | 
			
		||||
#define FLGPHOTOFAST_CHGMODE       0x00000001
 | 
			
		||||
#define FLGPHOTOFAST_SHUTDOWN      0x00000002
 | 
			
		||||
| 
						 | 
				
			
			@ -62,5 +63,6 @@ extern BOOL PhotoFast_SetTriggerFrmCnt(UINT32 cnt); /* trigger vcap frame count
 | 
			
		|||
UINT32 PhotoFast_GetTriggerFrmCnt(VOID);
 | 
			
		||||
extern UINT32 PhotoFast_GetTickBufSize(void);
 | 
			
		||||
ER PhotoFast_Movie_Init(void);
 | 
			
		||||
DCF_HANDLE PhotoFast_Get_DCF_Handle(void);
 | 
			
		||||
 | 
			
		||||
#endif //_UIAPP_PHOTO_H_
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -153,10 +153,10 @@ ER AppInit_ModeUSBMSDC(void)
 | 
			
		|||
	MSDCInfo.msdc_vendor_cb = NULL;
 | 
			
		||||
	//#NT#2016/12/20#Niven Cho -begin
 | 
			
		||||
	//#NT#MULTI_DRIVE
 | 
			
		||||
// #if (FS_MULTI_STRG_FUNC == ENABLE)
 | 
			
		||||
// 	char *pDxName2 = NULL;
 | 
			
		||||
// 	DX_HANDLE pStrgDev2 = 0;
 | 
			
		||||
// #endif
 | 
			
		||||
//#if (FS_MULTI_STRG_FUNC == ENABLE)
 | 
			
		||||
//	char *pDxName2 = NULL;
 | 
			
		||||
//	DX_HANDLE pStrgDev2 = 0;
 | 
			
		||||
//#endif
 | 
			
		||||
 | 
			
		||||
	pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user