1.合并rtos下emmc修改
This commit is contained in:
parent
11152df385
commit
9baa65f8d5
|
@ -102,6 +102,11 @@ static lfqueue_t write_queue = {0};
|
||||||
|
|
||||||
//local variable
|
//local variable
|
||||||
static DCF_HANDLE g_dcf_hdl = 0;
|
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 ID MOVIEFAST_FLG_ID = 0;
|
||||||
static UINT32 g_moviefast_tsk_run = 1;
|
static UINT32 g_moviefast_tsk_run = 1;
|
||||||
static UINT32 g_moviefast_poweroff_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)
|
static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
|
||||||
{
|
{
|
||||||
//1. The FileID and DirID is set at booting.
|
//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");
|
DBG_ERR("Exceed max dcf file!\r\n");
|
||||||
pFileName[0] = '\0';
|
pFileName[0] = '\0';
|
||||||
} else {
|
} else {
|
||||||
DCF_GetNextID(&nextFolderID,&nextFileID);
|
DCF_HANDLE handle = MovieFast_Get_DCF_Handle();
|
||||||
|
DCF_GetNextIDEx(handle, &nextFolderID,&nextFileID);
|
||||||
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2)
|
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2)
|
||||||
{
|
{
|
||||||
Movie2_nextFolderID = nextFolderID;
|
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_MakeObjPathEx(handle, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
|
||||||
DCF_AddDBfile(pFileName);
|
DCF_AddDBfileEx(handle, pFileName);
|
||||||
DBG_DUMP("%s added to DCF\r\n", pFileName);
|
DBG_DUMP("%s added to DCF\r\n", pFileName);
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
|
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
|
||||||
|
@ -1198,6 +1214,26 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
|
||||||
DCF_SetDirFreeChars(DCF_DIR_NAME);
|
DCF_SetDirFreeChars(DCF_DIR_NAME);
|
||||||
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
|
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
|
||||||
DCF_ScanObj();
|
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 HUNTING_CAMERA_MCU == ENABLE
|
||||||
if(TRUE != sf_is_card_full())
|
if(TRUE != sf_is_card_full())
|
||||||
#endif
|
#endif
|
||||||
|
@ -1894,6 +1930,11 @@ static void MovieFast_Close(void)
|
||||||
EXIT:
|
EXIT:
|
||||||
|
|
||||||
DCF_Close(g_dcf_hdl);
|
DCF_Close(g_dcf_hdl);
|
||||||
|
|
||||||
|
#if (FS_MULTI_STRG_FUNC)
|
||||||
|
DCF_Close(g_dcf_hdl2);
|
||||||
|
#endif
|
||||||
|
|
||||||
DCF_UnInstallID();
|
DCF_UnInstallID();
|
||||||
|
|
||||||
vos_flag_destroy(MOVIEFAST_FLG_ID);
|
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 INT32 g_photo_fast_id_mapping[PHOTO_CAP_ID_MAX] = {-1,-1};
|
||||||
static PHOTO_FILENAME_CB *g_fpPhotoFastFileNameCB = NULL;
|
static PHOTO_FILENAME_CB *g_fpPhotoFastFileNameCB = NULL;
|
||||||
static DCF_HANDLE g_dcf_hdl = 0;
|
static DCF_HANDLE g_dcf_hdl = 0;
|
||||||
|
|
||||||
|
#if (FS_MULTI_STRG_FUNC)
|
||||||
static DCF_HANDLE g_dcf_hdl2 = 0;
|
static DCF_HANDLE g_dcf_hdl2 = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
static HD_PATH_ID g_video_enc_path[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0};
|
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 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};
|
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);
|
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);
|
DCF_ScanObjEx(g_dcf_hdl2);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -761,8 +759,10 @@ INT32 PhotoFast_FileNaming_Close(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (FS_MULTI_STRG_FUNC)
|
#if (FS_MULTI_STRG_FUNC)
|
||||||
DCF_Close(g_dcf_hdl2);
|
if(g_dcf_hdl2 >= 0){
|
||||||
g_dcf_hdl2 = -1;
|
DCF_Close(g_dcf_hdl2);
|
||||||
|
g_dcf_hdl2 = -1;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DCF_UnInstallID();
|
DCF_UnInstallID();
|
||||||
|
@ -881,23 +881,29 @@ void PhotoFast_FileNaming_SetSortBySN(CHAR *pDelimStr, UINT32 nDelimCount, UINT3
|
||||||
DBG_ERR("No set Delim String!!\r\n");
|
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)
|
INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, char* Path)
|
||||||
{
|
{
|
||||||
FST_FILE fp;
|
FST_FILE fp;
|
||||||
INT32 rt;
|
INT32 rt;
|
||||||
UINT32 Length;
|
UINT32 Length;
|
||||||
CHAR FilePath[NMC_TOTALFILEPATH_MAX_LEN];
|
CHAR FilePath[NMC_TOTALFILEPATH_MAX_LEN];
|
||||||
|
|
||||||
#if FS_MULTI_STRG_FUNC
|
|
||||||
CHAR FilePath2[NMC_TOTALFILEPATH_MAX_LEN];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
UINT32 fileType;
|
UINT32 fileType;
|
||||||
UINT32 open_flag;
|
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(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");
|
DBG_ERR("Exceed max dcf file!\r\n");
|
||||||
return FST_STA_NOFREE_SPACE;
|
return FST_STA_NOFREE_SPACE;
|
||||||
}
|
}
|
||||||
|
@ -908,7 +914,7 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
|
||||||
else{
|
else{
|
||||||
fileType = DCF_FILE_TYPE_JPG;
|
fileType = DCF_FILE_TYPE_JPG;
|
||||||
}
|
}
|
||||||
DCF_GetNextID(&nextFolderID,&nextFileID);
|
DCF_GetNextIDEx(handle, &nextFolderID,&nextFileID);
|
||||||
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2)
|
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2)
|
||||||
{
|
{
|
||||||
nextFolderID = Movie2_nextFolderID;
|
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_MakeObjPathEx(handle, nextFolderID, nextFileID, fileType, FilePath);
|
||||||
DCF_AddDBfile(FilePath);
|
DCF_AddDBfileEx(handle, FilePath);
|
||||||
DBG_DUMP("%s added to DCF\r\n", 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");
|
DBG_ERR("FileSys_OpenFile fail\r\n");
|
||||||
rt =FST_STA_ERROR;
|
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;
|
return rt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include "hd_common.h"
|
#include "hd_common.h"
|
||||||
#include "UIAppPhoto.h"
|
#include "UIAppPhoto.h"
|
||||||
#include <vf_gfx.h>
|
#include <vf_gfx.h>
|
||||||
|
#include "DCF.h"
|
||||||
|
|
||||||
#define FLGPHOTOFAST_CHGMODE 0x00000001
|
#define FLGPHOTOFAST_CHGMODE 0x00000001
|
||||||
#define FLGPHOTOFAST_SHUTDOWN 0x00000002
|
#define FLGPHOTOFAST_SHUTDOWN 0x00000002
|
||||||
|
@ -62,5 +63,6 @@ extern BOOL PhotoFast_SetTriggerFrmCnt(UINT32 cnt); /* trigger vcap frame count
|
||||||
UINT32 PhotoFast_GetTriggerFrmCnt(VOID);
|
UINT32 PhotoFast_GetTriggerFrmCnt(VOID);
|
||||||
extern UINT32 PhotoFast_GetTickBufSize(void);
|
extern UINT32 PhotoFast_GetTickBufSize(void);
|
||||||
ER PhotoFast_Movie_Init(void);
|
ER PhotoFast_Movie_Init(void);
|
||||||
|
DCF_HANDLE PhotoFast_Get_DCF_Handle(void);
|
||||||
|
|
||||||
#endif //_UIAPP_PHOTO_H_
|
#endif //_UIAPP_PHOTO_H_
|
||||||
|
|
|
@ -153,10 +153,10 @@ ER AppInit_ModeUSBMSDC(void)
|
||||||
MSDCInfo.msdc_vendor_cb = NULL;
|
MSDCInfo.msdc_vendor_cb = NULL;
|
||||||
//#NT#2016/12/20#Niven Cho -begin
|
//#NT#2016/12/20#Niven Cho -begin
|
||||||
//#NT#MULTI_DRIVE
|
//#NT#MULTI_DRIVE
|
||||||
// #if (FS_MULTI_STRG_FUNC == ENABLE)
|
//#if (FS_MULTI_STRG_FUNC == ENABLE)
|
||||||
// char *pDxName2 = NULL;
|
// char *pDxName2 = NULL;
|
||||||
// DX_HANDLE pStrgDev2 = 0;
|
// DX_HANDLE pStrgDev2 = 0;
|
||||||
// #endif
|
//#endif
|
||||||
|
|
||||||
pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A);
|
pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user