Merge branch 'Branch_S550_Fast_Emmc' of 192.168.6.216:linux-em-group/s530-ntk into S550_Base
This commit is contained in:
commit
44407ba04b
|
@ -22,7 +22,9 @@
|
||||||
#if (USE_DCF == ENABLE)
|
#if (USE_DCF == ENABLE)
|
||||||
#include "DCF.h"
|
#include "DCF.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "kwrap/flag.h"
|
||||||
|
#include "kwrap/debug.h"
|
||||||
|
#include "kwrap/util.h"
|
||||||
|
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
#include <sf_message_queue.h>
|
#include <sf_message_queue.h>
|
||||||
|
@ -51,6 +53,49 @@ SF_ST_MMC_DEV *sf_mmc_dev[MMC_DEV_MAX_NUM] = {NULL};
|
||||||
|
|
||||||
SF_ST_MMC_DEV *pMMCDev = NULL;
|
SF_ST_MMC_DEV *pMMCDev = NULL;
|
||||||
|
|
||||||
|
static ID sf_dev_flag_id = 0;
|
||||||
|
|
||||||
|
void sf_dev_flag_init(void)
|
||||||
|
{
|
||||||
|
ER ret = E_OK;
|
||||||
|
T_CFLG cflg;
|
||||||
|
if ((ret |= vos_flag_create(&sf_dev_flag_id, &cflg, "sf_dev_flag_id")) != E_OK)
|
||||||
|
{
|
||||||
|
SYS_SLOGE("sf_dev_flag_id fail\r\n");
|
||||||
|
}
|
||||||
|
vos_flag_clr(sf_dev_flag_id, (FLGPTN)-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sf_dev_flag_set_done(DEV_FLAG_INIT boot_init)
|
||||||
|
{
|
||||||
|
vos_flag_set(sf_dev_flag_id, (FLGPTN)(1 << boot_init));
|
||||||
|
}
|
||||||
|
|
||||||
|
void sf_dev_flag_wait_done(DEV_FLAG_INIT boot_init)
|
||||||
|
{
|
||||||
|
FLGPTN flgptn;
|
||||||
|
vos_flag_wait(&flgptn, sf_dev_flag_id, (FLGPTN)(1 << boot_init), TWF_ANDW);
|
||||||
|
}
|
||||||
|
|
||||||
|
int sf_dev_flag_wait_done_timeout(DEV_FLAG_INIT boot_init, int timeout_ms)
|
||||||
|
{
|
||||||
|
ER ret = E_OK;
|
||||||
|
FLGPTN flgptn;
|
||||||
|
|
||||||
|
ret = vos_flag_wait_timeout(&flgptn, sf_dev_flag_id, (FLGPTN)(1 << boot_init), TWF_ANDW, vos_util_msec_to_tick(timeout_ms));
|
||||||
|
if(unlikely(ret != E_OK)){
|
||||||
|
printf("wait(%lu) init timeout(%ld ms)!\n", boot_init, timeout_ms);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sf_dev_flag_clear_done(DEV_FLAG_INIT boot_init)
|
||||||
|
{
|
||||||
|
//vos_flag_clr(sf_mcu_flag_id, (FLGPTN)(1 << boot_init));
|
||||||
|
vos_flag_clr(sf_dev_flag_id, (FLGPTN)-1);
|
||||||
|
}
|
||||||
|
|
||||||
void SF_SetMMCDev(SF_ST_MMC_DEV *pDev)
|
void SF_SetMMCDev(SF_ST_MMC_DEV *pDev)
|
||||||
{
|
{
|
||||||
if(pDev == NULL)
|
if(pDev == NULL)
|
||||||
|
@ -144,6 +189,10 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev)
|
||||||
if(diskFree < MIN_FREE_SIZE_MB) /* 30MB*/
|
if(diskFree < MIN_FREE_SIZE_MB) /* 30MB*/
|
||||||
{
|
{
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = 0;
|
||||||
if(mmc_dev == MMC_DEV_SD){
|
if(mmc_dev == MMC_DEV_SD){
|
||||||
sf_set_sd_card_full(1);
|
sf_set_sd_card_full(1);
|
||||||
}
|
}
|
||||||
|
@ -151,10 +200,6 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev)
|
||||||
sf_set_emmc_card_full(1);
|
sf_set_emmc_card_full(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
ret = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(sf_mmc_dev != NULL) {
|
if(sf_mmc_dev != NULL) {
|
||||||
sf_mmc_dev[mmc_dev]->space_state = ret == 0 ? MMC_DEV_SPACE_STATE_ENOUGH : MMC_DEV_SPACE_STATE_NO_ENOUGH;
|
sf_mmc_dev[mmc_dev]->space_state = ret == 0 ? MMC_DEV_SPACE_STATE_ENOUGH : MMC_DEV_SPACE_STATE_NO_ENOUGH;
|
||||||
|
@ -315,7 +360,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
|
||||||
{
|
{
|
||||||
if(puiPara->SdLoopSwitch == 1)
|
if(puiPara->SdLoopSwitch == 1)
|
||||||
{
|
{
|
||||||
workable_dev = MMC_DEV_SD;
|
workable_dev = MMC_DEV_EMMC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -338,7 +383,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
|
||||||
{
|
{
|
||||||
if(puiPara->SdLoopSwitch == 1)
|
if(puiPara->SdLoopSwitch == 1)
|
||||||
{
|
{
|
||||||
workable_dev = MMC_DEV_SD;
|
workable_dev = MMC_DEV_EMMC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -382,6 +427,7 @@ static void* mmc_monitoring_thread(void *arg)
|
||||||
static MMC_DEV_TYPE current_id = MMC_DEV_NO;
|
static MMC_DEV_TYPE current_id = MMC_DEV_NO;
|
||||||
while(MMCMonitorTskCfg.IsRun)
|
while(MMCMonitorTskCfg.IsRun)
|
||||||
{
|
{
|
||||||
|
sf_dev_flag_wait_done_timeout(DEV_FLAG_INIT_FILENAMINGOK, 5000);
|
||||||
pMMCDev = SF_StrgCheckWorkableDev();
|
pMMCDev = SF_StrgCheckWorkableDev();
|
||||||
|
|
||||||
if(pMMCDev != NULL) {
|
if(pMMCDev != NULL) {
|
||||||
|
@ -401,7 +447,7 @@ static void* mmc_monitoring_thread(void *arg)
|
||||||
int sf_mmc_dev_check_start(void)
|
int sf_mmc_dev_check_start(void)
|
||||||
{
|
{
|
||||||
SF_StrgInit();// 初始化sf_mmc设备Obj
|
SF_StrgInit();// 初始化sf_mmc设备Obj
|
||||||
|
sf_dev_flag_init();
|
||||||
int ret = pthread_create(&MMCMonitorTskCfg.TskId, NULL, mmc_monitoring_thread, NULL);
|
int ret = pthread_create(&MMCMonitorTskCfg.TskId, NULL, mmc_monitoring_thread, NULL);
|
||||||
if(ret != SF_SUCCESS)
|
if(ret != SF_SUCCESS)
|
||||||
{
|
{
|
||||||
|
@ -413,3 +459,34 @@ int sf_mmc_dev_check_start(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sf_file_sys_int_status(void)
|
||||||
|
{
|
||||||
|
MLOGD("s\n");
|
||||||
|
|
||||||
|
SF_MESSAGE_BUF_S stMessageBuf = {0};
|
||||||
|
stMessageBuf.arg1 = CMD_SD_FILESYS_INIT_STATUS;
|
||||||
|
stMessageBuf.cmdId = CMD_SD;
|
||||||
|
sf_com_message_send_to_app(&stMessageBuf);
|
||||||
|
sf_thumb_dir();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sf_thumb_dir(void)
|
||||||
|
{
|
||||||
|
MLOGD("s\n");
|
||||||
|
char thumb_dir[128] = {'\0'};
|
||||||
|
|
||||||
|
sprintf(thumb_dir, "%c%s", 'A', PHOTO_THUMB_PATH);
|
||||||
|
FileSys_MakeDir(thumb_dir);
|
||||||
|
|
||||||
|
#if SF_IQ_TEST != ENABLE
|
||||||
|
FileSys_SetAttrib(thumb_dir, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if FS_MULTI_STRG_FUNC
|
||||||
|
sprintf(thumb_dir, "%c%s", 'B', PHOTO_THUMB_PATH);
|
||||||
|
FileSys_MakeDir(thumb_dir);
|
||||||
|
#if SF_IQ_TEST != ENABLE
|
||||||
|
FileSys_SetAttrib(thumb_dir, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
|
@ -71,6 +71,13 @@ typedef enum
|
||||||
MMC_DEV_LOOP_STATE_OFF = 2,
|
MMC_DEV_LOOP_STATE_OFF = 2,
|
||||||
}MMC_DEV_LOOP_STATE;
|
}MMC_DEV_LOOP_STATE;
|
||||||
|
|
||||||
|
typedef enum DEV_FLAG_INIT {
|
||||||
|
DEV_FLAG_INIT_FILESYSOK = 0x00,
|
||||||
|
DEV_FLAG_INIT_FILENAMINGOK,
|
||||||
|
DEV_FLAG_GET,
|
||||||
|
DEV_FLAG_INIT_MAX_CNT = 32, //flag max bit cnt is 32
|
||||||
|
} DEV_FLAG_INIT;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
MMC_DEV_TYPE dev_type;
|
MMC_DEV_TYPE dev_type;
|
||||||
|
@ -90,8 +97,8 @@ void SF_SetMMCDev(SF_ST_MMC_DEV *pDev);
|
||||||
SF_ST_MMC_DEV *SF_GetMMCDev(void);
|
SF_ST_MMC_DEV *SF_GetMMCDev(void);
|
||||||
int sf_mmc_dev_check_start(void);
|
int sf_mmc_dev_check_start(void);
|
||||||
int SF_GetMMCDevHandle(MMC_DEV_TYPE dev_type);
|
int SF_GetMMCDevHandle(MMC_DEV_TYPE dev_type);
|
||||||
|
void sf_dev_flag_set_done(DEV_FLAG_INIT boot_init);
|
||||||
|
void sf_file_sys_int_status(void);
|
||||||
|
void sf_thumb_dir(void);
|
||||||
#endif //_SF_SYS_STRG_MNG_H_
|
#endif //_SF_SYS_STRG_MNG_H_
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <sf_param_enum.h>
|
#include <sf_param_enum.h>
|
||||||
#include <sf_message_queue.h>
|
#include <sf_message_queue.h>
|
||||||
#include <sf_commMng.h>
|
#include <sf_commMng.h>
|
||||||
|
#include "SF_SysStrgMng.h"
|
||||||
#endif
|
#endif
|
||||||
#if (LOGFILE_FUNC==ENABLE)
|
#if (LOGFILE_FUNC==ENABLE)
|
||||||
#include "LogFile.h"
|
#include "LogFile.h"
|
||||||
|
@ -1298,6 +1299,11 @@ void System_WaitFS(void)
|
||||||
TM_BOOT_END("Fs", "WaitAttach");
|
TM_BOOT_END("Fs", "WaitAttach");
|
||||||
is_fs_ready = TRUE;
|
is_fs_ready = TRUE;
|
||||||
|
|
||||||
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_dev_flag_set_done(DEV_FLAG_INIT_FILENAMINGOK);
|
||||||
|
sf_file_sys_int_status();
|
||||||
|
#endif
|
||||||
|
|
||||||
BKG_PostEvent(NVTEVT_BKW_INIT_FILESYS);
|
BKG_PostEvent(NVTEVT_BKW_INIT_FILESYS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2705,22 +2705,6 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
||||||
g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx];
|
g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx];
|
||||||
|
|
||||||
// g_photo_ImageRatioSize = IMAGERATIO_SIZE[4];
|
// g_photo_ImageRatioSize = IMAGERATIO_SIZE[4];
|
||||||
char thumb_dir[128] = {'\0'};
|
|
||||||
|
|
||||||
sprintf(thumb_dir, "%c%s", 'A', PHOTO_THUMB_PATH);
|
|
||||||
FileSys_MakeDir(thumb_dir);
|
|
||||||
|
|
||||||
#if SF_IQ_TEST != ENABLE
|
|
||||||
FileSys_SetAttrib(thumb_dir, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if FS_MULTI_STRG_FUNC
|
|
||||||
sprintf(thumb_dir, "%c%s", 'B', PHOTO_THUMB_PATH);
|
|
||||||
FileSys_MakeDir(thumb_dir);
|
|
||||||
#if SF_IQ_TEST != ENABLE
|
|
||||||
FileSys_SetAttrib(thumb_dir, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
GOIO_Turn_Onoff_IRCUT(1);
|
GOIO_Turn_Onoff_IRCUT(1);
|
||||||
|
|
||||||
|
|
|
@ -405,6 +405,7 @@ typedef enum sf_MESSAGE_CMD_SD_e
|
||||||
CMD_SD_FULL = 5,
|
CMD_SD_FULL = 5,
|
||||||
CMD_SD_FORMAT = 6,
|
CMD_SD_FORMAT = 6,
|
||||||
CMD_SD_STRG_WORKABLE_DEV = 7,
|
CMD_SD_STRG_WORKABLE_DEV = 7,
|
||||||
|
CMD_SD_FILESYS_INIT_STATUS = 8,
|
||||||
CMD_SD_SYSTEM_CB_CONFIG = 0xFFFFFFFF,
|
CMD_SD_SYSTEM_CB_CONFIG = 0xFFFFFFFF,
|
||||||
|
|
||||||
}SF_MESSAGE_CMD_SD_E;
|
}SF_MESSAGE_CMD_SD_E;
|
||||||
|
|
|
@ -604,7 +604,7 @@ static SINT32 sf_app_process_cmd_keyctrl(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
|
|
||||||
static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
|
static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
|
||||||
{
|
{
|
||||||
SINT16 startup = sf_poweron_type_get();
|
// SINT16 startup = sf_poweron_type_get();
|
||||||
UINT32 status = 0;
|
UINT32 status = 0;
|
||||||
status = result;
|
status = result;
|
||||||
switch (status)
|
switch (status)
|
||||||
|
@ -612,32 +612,33 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
|
||||||
case FST_STA_OK:
|
case FST_STA_OK:
|
||||||
sf_set_card(1);
|
sf_set_card(1);
|
||||||
sf_sd_status_set(SF_SD_OK);
|
sf_sd_status_set(SF_SD_OK);
|
||||||
|
if(dev_id == MMC_DEV_EMMC)
|
||||||
if(SF_MCU_STARTUP_ONKEY == startup)
|
|
||||||
{
|
|
||||||
SF_STORE_ATTR_S storeattrs = {0};
|
|
||||||
sf_activity_info_get(&storeattrs);
|
|
||||||
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
|
||||||
if (storeattrs.SDFree < 30) /* 30MB */
|
|
||||||
{
|
|
||||||
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FULL);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sf_statistics_param_load(sf_statistics_param_get());
|
|
||||||
MLOGI("card-%d mount OK\r\n", dev_id + 1);
|
|
||||||
sf_set_key_fw_update(sf_get_fw_update());//up fw
|
|
||||||
if(sf_get_mcu_update_flag())//up mcu
|
|
||||||
{
|
|
||||||
sf_app_mcu_updata_start();
|
|
||||||
}
|
|
||||||
if(dev_id == MMC_DEV_EMMC)
|
|
||||||
{
|
{
|
||||||
printf("EMMC has Mounted!\r\n");
|
printf("EMMC has Mounted!\r\n");
|
||||||
|
sf_strg_dev_register(MMC_DEV_EMMC, MMC_DEV_MOUNT_STATE_MOUNTED);
|
||||||
}
|
}
|
||||||
|
// if(SF_MCU_STARTUP_ONKEY == startup)
|
||||||
|
// {
|
||||||
|
// SF_STORE_ATTR_S storeattrs = {0};
|
||||||
|
// sf_activity_info_get(&storeattrs);
|
||||||
|
// printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
||||||
|
// if (storeattrs.SDFree < 30) /* 30MB */
|
||||||
|
// {
|
||||||
|
// sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FULL);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// sf_statistics_param_load(sf_statistics_param_get());
|
||||||
|
// MLOGI("card-%d mount OK\r\n", dev_id + 1);
|
||||||
|
// sf_set_key_fw_update(sf_get_fw_update());//up fw
|
||||||
|
// if(sf_get_mcu_update_flag())//up mcu
|
||||||
|
// {
|
||||||
|
// sf_app_mcu_updata_start();
|
||||||
|
// }
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case FST_STA_DISK_UNFORMAT:
|
case FST_STA_DISK_UNFORMAT:
|
||||||
sf_statistics_param_load(sf_statistics_param_get());
|
sf_statistics_param_load(sf_statistics_param_get());
|
||||||
|
@ -716,6 +717,7 @@ static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result)
|
||||||
static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
|
static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
{
|
{
|
||||||
MLOGD("[dev_id:%d,evt:%d]\n",pMessageBuf->arg2,pMessageBuf->arg1);
|
MLOGD("[dev_id:%d,evt:%d]\n",pMessageBuf->arg2,pMessageBuf->arg1);
|
||||||
|
SINT16 startup = sf_poweron_type_get();
|
||||||
|
|
||||||
if(pMessageBuf->arg2 == MMC_DEV_SD)
|
if(pMessageBuf->arg2 == MMC_DEV_SD)
|
||||||
{
|
{
|
||||||
|
@ -743,6 +745,29 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
case CMD_SD_STRG_WORKABLE_DEV:
|
case CMD_SD_STRG_WORKABLE_DEV:
|
||||||
sf_strg_dev_register(pMessageBuf->arg2, pMessageBuf->arg3);
|
sf_strg_dev_register(pMessageBuf->arg2, pMessageBuf->arg3);
|
||||||
break;
|
break;
|
||||||
|
case CMD_SD_FILESYS_INIT_STATUS:
|
||||||
|
if(SF_MCU_STARTUP_ONKEY == startup)
|
||||||
|
{
|
||||||
|
SF_STORE_ATTR_S storeattrs = {0};
|
||||||
|
sf_activity_info_get(&storeattrs);
|
||||||
|
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
||||||
|
if (storeattrs.SDFree < 30) /* 30MB */
|
||||||
|
{
|
||||||
|
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sf_statistics_param_load(sf_statistics_param_get());
|
||||||
|
MLOGI("FILESYS mount OK\r\n");
|
||||||
|
sf_set_key_fw_update(sf_get_fw_update());//up fw
|
||||||
|
if(sf_get_mcu_update_flag())//up mcu
|
||||||
|
{
|
||||||
|
sf_app_mcu_updata_start();
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,8 +47,8 @@
|
||||||
|
|
||||||
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
|
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
|
||||||
static int formatSD = CMD_FORMAT_SD_ERR;
|
static int formatSD = CMD_FORMAT_SD_ERR;
|
||||||
static BOOL IsCardFull = FALSE;
|
static BOOL IsCardFull = TRUE;
|
||||||
static BOOL IsEmmcFull = FALSE;
|
static BOOL IsEmmcFull = TRUE;
|
||||||
|
|
||||||
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
|
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
|
||||||
{
|
{
|
||||||
|
|
|
@ -981,6 +981,8 @@ static void fastboot(void)
|
||||||
VK_TASK_HANDLE handle_movie_filenaming = 0;
|
VK_TASK_HANDLE handle_movie_filenaming = 0;
|
||||||
VK_TASK_HANDLE handle_movie_filenaming2 = 0;
|
VK_TASK_HANDLE handle_movie_filenaming2 = 0;
|
||||||
VK_TASK_HANDLE handle_movie_moviemode = 0;
|
VK_TASK_HANDLE handle_movie_moviemode = 0;
|
||||||
|
VK_TASK_HANDLE handle_moviefast_power_off_tsk_id = 0;
|
||||||
|
|
||||||
#if (FASTBOOT_USB_FUNC == ENABLE)
|
#if (FASTBOOT_USB_FUNC == ENABLE)
|
||||||
VK_TASK_HANDLE handle_usb_msdcmode = 0;
|
VK_TASK_HANDLE handle_usb_msdcmode = 0;
|
||||||
VK_TASK_HANDLE handle_usb_uvacmode = 0;
|
VK_TASK_HANDLE handle_usb_uvacmode = 0;
|
||||||
|
@ -1101,6 +1103,13 @@ static void fastboot(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
vos_task_resume(handle_movie_moviemode);
|
vos_task_resume(handle_movie_moviemode);
|
||||||
|
|
||||||
|
handle_moviefast_power_off_tsk_id = vos_task_create(MovieFast_PowerOffTsk, 0, "MovieFastPwrTsk", 10, 8192);
|
||||||
|
if (!handle_moviefast_power_off_tsk_id) {
|
||||||
|
DBG_ERR("MovieFast_PowerOffTsk create failed.\r\n");
|
||||||
|
} else {
|
||||||
|
vos_task_resume(handle_moviefast_power_off_tsk_id);
|
||||||
|
}
|
||||||
|
|
||||||
/* GxTime, for stamp */
|
/* GxTime, for stamp */
|
||||||
fwload_wait_done(CODE_SECTION_10);
|
fwload_wait_done(CODE_SECTION_10);
|
||||||
|
|
|
@ -113,7 +113,7 @@ static UINT32 g_moviefast_tsk_run = 1;
|
||||||
static UINT32 g_moviefast_poweroff_tsk_run = 1;
|
static UINT32 g_moviefast_poweroff_tsk_run = 1;
|
||||||
static THREAD_HANDLE g_moviefast_tsk_id = 0;
|
static THREAD_HANDLE g_moviefast_tsk_id = 0;
|
||||||
static THREAD_HANDLE g_moviefast_raw_tsk_id = 0;
|
static THREAD_HANDLE g_moviefast_raw_tsk_id = 0;
|
||||||
static THREAD_HANDLE g_moviefast_power_off_tsk_id = 0;
|
// static THREAD_HANDLE g_moviefast_power_off_tsk_id = 0;
|
||||||
static THREAD_HANDLE g_moviefast_write_tsk_id = 0;
|
static THREAD_HANDLE g_moviefast_write_tsk_id = 0;
|
||||||
static BOOL g_bIsRecStatus = FALSE;
|
static BOOL g_bIsRecStatus = FALSE;
|
||||||
static BOOL g_manual_raw_tsk_running = FALSE;
|
static BOOL g_manual_raw_tsk_running = FALSE;
|
||||||
|
@ -135,6 +135,7 @@ static void MovieFast_Close(void);
|
||||||
static void MovieFast_Load_Sen_Cfg(MOVIEFAST_IQ_CFG cfg);
|
static void MovieFast_Load_Sen_Cfg(MOVIEFAST_IQ_CFG cfg);
|
||||||
|
|
||||||
extern void sf_log_sava(void);
|
extern void sf_log_sava(void);
|
||||||
|
extern void MovieFast_Set_Shutdown_flag(void);
|
||||||
static VOID MovieFast_Set_RecStartTick(VOS_TICK tick)
|
static VOID MovieFast_Set_RecStartTick(VOS_TICK tick)
|
||||||
{
|
{
|
||||||
g_rec_start_tick = tick;
|
g_rec_start_tick = tick;
|
||||||
|
@ -170,15 +171,16 @@ static ER MovieFast_InstallID(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static THREAD_RETTYPE MovieFast_PowerOffTsk(void)
|
THREAD_RETTYPE MovieFast_PowerOffTsk(void *arg)
|
||||||
{
|
{
|
||||||
const BOOL delay_ms = 200;
|
const BOOL delay_ms = 200;
|
||||||
|
VOS_TICK t1, t2;
|
||||||
THREAD_ENTRY();
|
THREAD_ENTRY();
|
||||||
|
|
||||||
DBG_DUMP("MovieFast_PowerOffTsk started\n");
|
DBG_DUMP("MovieFast_PowerOffTsk started\n");
|
||||||
|
|
||||||
g_moviefast_poweroff_tsk_run = TRUE;
|
g_moviefast_poweroff_tsk_run = TRUE;
|
||||||
|
vos_perf_mark(&t1);
|
||||||
|
|
||||||
while(g_moviefast_poweroff_tsk_run)
|
while(g_moviefast_poweroff_tsk_run)
|
||||||
{
|
{
|
||||||
|
@ -187,6 +189,13 @@ static THREAD_RETTYPE MovieFast_PowerOffTsk(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vos_perf_mark(&t2);
|
||||||
|
if((vos_perf_duration(t1, t2) / 1000) > (30*1000))
|
||||||
|
{
|
||||||
|
fastboot_msg_en(ENABLE);
|
||||||
|
DBG_ERR("failed timeout ID:%d\n", MOVIEFAST_FLG_ID);
|
||||||
|
break;
|
||||||
|
}
|
||||||
vos_util_delay_ms(delay_ms);
|
vos_util_delay_ms(delay_ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1221,6 +1230,27 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MOVIE_USER_CB_ERROR_CARD_SLOW:
|
||||||
|
{
|
||||||
|
DBG_ERR("Slow card!, id %d\r\n", value);
|
||||||
|
MovieFast_Set_Shutdown_flag();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MOVIE_USER_CB_ERROR_CARD_WR_ERR:
|
||||||
|
{
|
||||||
|
DBG_ERR("EVENT %d: card write error!\r\n", event_id);
|
||||||
|
MovieFast_Set_Shutdown_flag();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case MOVIE_USER_CB_EVENT_CARD_FULL:
|
||||||
|
{
|
||||||
|
DBG_ERR("EVENT %d: card full!\r\n", event_id);
|
||||||
|
MovieFast_Set_Shutdown_flag();
|
||||||
|
}
|
||||||
|
break;
|
||||||
#if 0
|
#if 0
|
||||||
case MOVIE_USER_CB_EVENT_REC_ONE_SECOND: {
|
case MOVIE_USER_CB_EVENT_REC_ONE_SECOND: {
|
||||||
u32Cnt++;
|
u32Cnt++;
|
||||||
|
@ -1665,10 +1695,10 @@ static INT32 MovieFast_Mode2_Get_Cont_Shot(UINT32* max_cnt, UINT32* duration)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
if(FALSE == (gpio_getPin(GPIO_CARD_DETECT) == 0 ? TRUE : FALSE))
|
// if(FALSE == (gpio_getPin(GPIO_CARD_DETECT) == 0 ? TRUE : FALSE))
|
||||||
{
|
// {
|
||||||
*max_cnt = 1;
|
// *max_cnt = 1;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel)
|
if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel)
|
||||||
{
|
{
|
||||||
|
@ -2028,11 +2058,11 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
|
||||||
}
|
}
|
||||||
vos_util_delay_ms(33);
|
vos_util_delay_ms(33);
|
||||||
|
|
||||||
if ((g_moviefast_power_off_tsk_id = vos_task_create(MovieFast_PowerOffTsk, 0, "MovieFastPwrTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) {
|
// if ((g_moviefast_power_off_tsk_id = vos_task_create(MovieFast_PowerOffTsk, 0, "MovieFastPwrTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) {
|
||||||
DBG_ERR("MovieFast_PowerOffTsk create failed.\r\n");
|
// DBG_ERR("MovieFast_PowerOffTsk create failed.\r\n");
|
||||||
} else {
|
// } else {
|
||||||
vos_task_resume(g_moviefast_power_off_tsk_id);
|
// vos_task_resume(g_moviefast_power_off_tsk_id);
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ((g_moviefast_tsk_id = vos_task_create(MovieFast_CmdTsk, 0, "MovieFastTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) {
|
if ((g_moviefast_tsk_id = vos_task_create(MovieFast_CmdTsk, 0, "MovieFastTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) {
|
||||||
DBG_ERR("MovieFast_CmdTsk create failed.\r\n");
|
DBG_ERR("MovieFast_CmdTsk create failed.\r\n");
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
extern THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg);
|
extern THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg);
|
||||||
extern THREAD_RETTYPE MovieFast_InitFileNamingThread2(void *arg);
|
extern THREAD_RETTYPE MovieFast_InitFileNamingThread2(void *arg);
|
||||||
extern THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg);
|
extern THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg);
|
||||||
|
extern THREAD_RETTYPE MovieFast_PowerOffTsk(void *arg);
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
EAC_CONFIG_AD_DMIC_EN, ///< Configure AD(Record) Digital Microphone Enable/Disable.
|
EAC_CONFIG_AD_DMIC_EN, ///< Configure AD(Record) Digital Microphone Enable/Disable.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user