Merge branch 'Branch_S550_Fast_Emmc' of 192.168.6.216:linux-em-group/s530-ntk into S550_Base

This commit is contained in:
xiehongyan 2024-01-24 10:47:22 +08:00
commit 44407ba04b
10 changed files with 205 additions and 66 deletions

View File

@ -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
}

View File

@ -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_

View File

@ -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);
} }

View File

@ -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);

View File

@ -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;

View File

@ -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;
} }

View File

@ -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)
{ {

View File

@ -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);

View File

@ -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");

View File

@ -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.