nt9856x/code/application/source/cardv/SrcCode/UIApp/Setup/UISetup_Exe.c
2023-07-11 14:23:40 +08:00

1354 lines
37 KiB
C

////////////////////////////////////////////////////////////////////////////////
#include "PrjInc.h"
#include "sys_mempool.h"
#include "vendor_isp.h"
#if(WIFI_FUNC==ENABLE)
#include "UIApp/Network/UIAppNetwork.h"
#include "UIApp/WifiCmdParser/WifiCmdParser.h"
#endif
#if 0
#include "HwClock.h"
#include "ae_ui_info.h"
#include "MovieStamp.h"
#else
#include "UIApp/MovieStamp/MovieStamp.h"
#endif
#if(WIFI_FUNC==ENABLE)
static UINT32 bExeWiFiStart = FALSE;
#endif
#if HUNTING_CAMERA_MCU == ENABLE
#include <sf_common.h>
#include "sf_led.h"
#endif
///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ UISetupExe
#define __DBGLVL__ 1 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h>
#include <kwrap/stdio.h>
#if(UI_FUNC == ENABLE)
#if (WIFI_FUNC==ENABLE)
// To store Wi-Fi HotSopt SSID and passphrase for station mode.
static char gHotSpot_SSID[NVT_WSC_MAX_SSID_LEN] = {0};
static char gHotSpot_PASSPHRASE[NVT_MAX_WEP_KEY_LEN] = {0};
#endif
///////////////////////////////////////////////////////////////////////////////
UINT32 Get_VolumeValue(UINT32 uhIndex)
{
//#NT#2013/03/05#Lily Kao -begin
//#NT# new volume range 0 ~ 100
//#NT# previous setting should not use "AUDIO_GAIN_x"
#if 1
switch (uhIndex) {
case BEEP_VOL_1:
return 25;
case BEEP_VOL_2:
return 50;
case BEEP_VOL_3:
return 75;
case BEEP_VOL_MUTE:
return 0;
default:
return 50;
}
#else
switch (uhIndex) {
case BEEP_VOL_1:
#if BEEP_VOLUME_LOUDER
return AUDIO_GAIN_4;
#else
return AUDIO_GAIN_3;
#endif
case BEEP_VOL_2:
#if BEEP_VOLUME_LOUDER
return AUDIO_GAIN_6;
#else
return AUDIO_GAIN_5;
#endif
case BEEP_VOL_3:
#if BEEP_VOLUME_SMALLER
return AUDIO_GAIN_6;
#else
return AUDIO_GAIN_7;
#endif
case BEEP_VOL_MUTE:
return AUDIO_GAIN_MUTE;
default:
return AUDIO_GAIN_5;
}
#endif
//#NT#2013/03/05#Lily Kao -end
}
///////////////////////////////////////////////////////////////////////////
//#NT#2016/06/27#Lincy Lin -begin
//#NT#Reduce IPCAM used memory pool size
#if USE_FILEDB
#include "FileDB.h"
#include "NamingRule/NameRule_Custom.h"
static FILEDB_INIT_OBJ gSetupFDBInitObj = {
"A:\\", //rootPath
NULL, //defaultfolder
NULL, //filterfolder
TRUE, //bIsRecursive
TRUE, //bIsCyclic
TRUE, //bIsMoveToLastFile
TRUE, //bIsSupportLongName
FALSE, //bIsDCFFileOnly
TRUE, //bIsFilterOutSameDCFNumFolder
{'N', 'V', 'T', 'I', 'M'}, //OurDCFDirName[5]
{'I', 'M', 'A', 'G'}, //OurDCFFileName[4]
FALSE, //bIsFilterOutSameDCFNumFile
TRUE, //bIsChkHasFile
60, //u32MaxFilePathLen
5000, //u32MaxFileNum
(FILEDB_FMT_JPG | FILEDB_FMT_AVI | FILEDB_FMT_MOV | FILEDB_FMT_MP4 | FILEDB_FMT_TS), //fileFilter
0, //u32MemAddr
0, //u32MemSize
NULL //fpChkAbort
};
#endif
//#NT#2016/06/27#Lincy Lin -end
BOOL SetupExe_IsNoFile(void)
{
DBG_FUNC_BEGIN("\r\n");
#if (USE_FILEDB == ENABLE)
PFILEDB_INIT_OBJ pFDBInitObj = &gSetupFDBInitObj;
FILEDB_HANDLE FileDBHandle = 0;
UINT32 fileCount = 0;
pFDBInitObj->u32MemAddr = SxCmd_GetTempMem(POOL_SIZE_FILEDB);
if (!pFDBInitObj->u32MemAddr) {
return TRUE;
}
pFDBInitObj->u32MemSize = POOL_SIZE_FILEDB;
FileDBHandle = FileDB_Create(pFDBInitObj);
fileCount = FileDB_GetTotalFileNum(FileDBHandle);
//FileDB_DumpInfo(FileDBHandle);
FileDB_Release(FileDBHandle);
SxCmd_RelTempMem(pFDBInitObj->u32MemAddr);
if (!fileCount) {
return TRUE;
} else {
return FALSE;
}
#else
DBG_FUNC_END("ret FALSE\r\n");
return FALSE;
#endif
}
INT32 SetupExe_OnFILEDB_FILEID_RESET(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
#if (USE_FILEDB == ENABLE)
PFILEDB_FILE_ATTR pFileAttr = NULL;
int curfilenameLen;
CHAR FileIndex[8] = {0};
INT32 uiTotalFileNum, i;
if (System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_MOVIE) {
if (0 != ImageApp_MovieMulti_FMRefresh('A')) {
DBG_ERR("[MOVIE] file manage refresh fail\r\n");
} else {
DBG_DUMP("[MOVIE] file manage refresh done\r\n");
}
}
FileDB_Refresh(0);
uiTotalFileNum = FileDB_GetTotalFileNum(0);
if (uiTotalFileNum) {
// search Movie file name
for (i = uiTotalFileNum - 1; i >= 0; i--) {
pFileAttr = FileDB_SearhFile(0, i);
if (pFileAttr == NULL) {
DBG_ERR("pFileAttr is NULL, i=%d\r\n", i);
NH_FileDB_SetFileID(0);
NH_Custom_SetFileID(0);
return NVTEVT_CONSUME;
}
//DBG_DUMP("file name:%s\r\n",pFileAttr->filename);
if ((pFileAttr->fileType == FILEDB_FMT_MP4) || (pFileAttr->fileType == FILEDB_FMT_MOV) ||
(pFileAttr->fileType == FILEDB_FMT_TS) || (pFileAttr->fileType == FILEDB_FMT_JPG)) {
break;
}
}
//pFileAttr = FileDB_CurrFile(0);
curfilenameLen = strlen(pFileAttr->filename);
strncpy(FileIndex, pFileAttr->filename + curfilenameLen - 7, 3);
DBG_IND("fileid:%d\r\n", atoi(FileIndex));
NH_FileDB_SetFileID(atoi(FileIndex));
NH_Custom_SetFileID(atoi(FileIndex));
} else {
DBG_IND("fileid:%d\r\n", 0);
NH_FileDB_SetFileID(0);
NH_Custom_SetFileID(0);
}
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
////////////////////////////////////////////////////////////////////////
INT32 SetupExe_OnFormat(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
#if 1
DBG_DUMP("Do Format storage\r\n");
#if (PHOTO_MODE==ENABLE)
#if (_TODO)
UIStorageCheck_ResetFileReachMax();
#endif
#endif
#if(UI_FUNC == ENABLE)
BKG_PostEvent(NVTEVT_BKW_FORMAT);
#endif
#else
Ux_PostEvent(NVTEVT_BACKGROUND_DONE, 1, NVTEVT_BKW_FORMAT);
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnBeepVolume(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_BeepVolumnIndex, uhSelect);
#if (AUDIO_FUNC == ENABLE)
//#Set volumn
GxSound_SetVolume(Get_VolumeValue(uhSelect));
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnBeepKey(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_BEEP, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnLanguage(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_LANGUAGE, uhSelect);
#if(UI_FUNC == ENABLE)
#if defined(_UI_STYLE_LVGL_)
lv_plugin_res_id lang_id = LV_PLUGIN_RES_ID_NONE;
switch(uhSelect)
{
case LANG_EN:
default:
lang_id = LV_PLUGIN_LANGUAGE_ID_EN;
break;
case LANG_FR:
lang_id = LV_PLUGIN_LANGUAGE_ID_FR;
break;
case LANG_ES:
lang_id = LV_PLUGIN_LANGUAGE_ID_ES;
break;
case LANG_PO:
lang_id = LV_PLUGIN_LANGUAGE_ID_PO;
break;
case LANG_DE:
lang_id = LV_PLUGIN_LANGUAGE_ID_DE;
break;
case LANG_IT:
lang_id = LV_PLUGIN_LANGUAGE_ID_IT;
break;
case LANG_SC:
lang_id = LV_PLUGIN_LANGUAGE_ID_SC;
break;
case LANG_TC:
lang_id = LV_PLUGIN_LANGUAGE_ID_TC;
break;
case LANG_RU:
lang_id = LV_PLUGIN_LANGUAGE_ID_RU;
break;
case LANG_JP:
lang_id = LV_PLUGIN_LANGUAGE_ID_JP;
break;
}
lv_plugin_set_active_language(lang_id);
#else
extern UINT32 Get_LanguageValue(UINT32 uiIndex);
GxGfx_SetStringTable((const STRING_TABLE *)Get_LanguageValue(uhSelect));
#endif
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
#if (PHOTO_MODE==ENABLE)
extern void PhotoExe_AE_SetUIInfo(UINT32 index, UINT32 value);
#endif
extern void MovieExe_AE_SetUIInfo(UINT32 index, UINT32 value);
#if (PHOTO_MODE==ENABLE)
INT32 SetupExe_OnFreq(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_FREQUENCY, uhSelect);
#if (PHOTO_MODE==ENABLE)
PhotoExe_AE_SetUIInfo(AET_ITEM_FREQUENCY, uhSelect);
#endif
MovieExe_AE_SetUIInfo(AE_UI_FREQUENCY, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
#endif
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnChangeDSCMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
#if _TODO
UINT32 uiCurMode, uiChangeTo = 0;
UINT32 uiType = DSCMODE_CHGTO_NEXT;
if (paramNum > 0) {
uiType = paramArray[0];
}
DBG_IND("uiType %d \r\n", uiType);
uiCurMode = UI_GetData(FL_NextMode);
switch (uiType) {
case DSCMODE_CHGTO_NEXT:
#if (PHOTO_MODE==ENABLE)
if (PRIMARY_MODE_PHOTO == (INT32)uiCurMode) {
uiChangeTo = PRIMARY_MODE_PLAYBACK;
} else
#endif
if (PRIMARY_MODE_MOVIE == (INT32)uiCurMode) {
#if (PHOTO_MODE==ENABLE)
uiChangeTo = PRIMARY_MODE_PHOTO;
#endif
} else
#if (PLAY_MODE==ENABLE)
if (PRIMARY_MODE_PLAYBACK == (INT32)uiCurMode) {
uiChangeTo = PRIMARY_MODE_MOVIE;
} else
#endif
{
DBG_ERR("UISystemObj: Unknown current DSC mode 0x%x\r\n", uiCurMode);
}
break;
case DSCMODE_CHGTO_PREV:
uiChangeTo = UI_GetData(FL_PreMode);
break;
case DSCMODE_CHGTO_CURR:
uiChangeTo = uiCurMode;
break;
}
if (1) { //(KeyScan_IsHDMIPlugIn()==FALSE)
UI_SetData(FL_PreMode, uiCurMode);
UI_SetData(FL_NextMode, uiChangeTo);
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, uiChangeTo);
}
#endif
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnForceToLivedMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uiCurrMode;
#if((UI_FUNC==ENABLE)&&(MOVIE_MODE==ENABLE))||((UI_FUNC==ENABLE)&&(PHOTO_MODE==ENABLE))
VControl *pCloseWnd = NULL;
#endif
uiCurrMode = UI_GetData(FL_NextMode);
#if (PHOTO_MODE==ENABLE)
if ((INT32)uiCurrMode == PRIMARY_MODE_PHOTO) {
/* Close all the window upper than root */
#if(UI_FUNC==ENABLE)
Ux_GetWindowByIndex(&pCloseWnd, UX_2NDLAYER_WND_IDX);
if (pCloseWnd) {
Ux_CloseWindow(pCloseWnd, 0);
}
#endif
} else
#endif
#if (MOVIE_MODE==ENABLE)
if ((INT32)uiCurrMode == PRIMARY_MODE_MOVIE) {
#if(UI_FUNC==ENABLE)
/* Close all the window upper than root */
Ux_GetWindowByIndex(&pCloseWnd, UX_2NDLAYER_WND_IDX);
if (pCloseWnd) {
Ux_CloseWindow(pCloseWnd, 0);
}
#endif
} else
#endif
#if (PLAY_MODE==ENABLE)
if ((INT32)uiCurrMode == PRIMARY_MODE_PLAYBACK) {
/* Switch to the previous liveview mode before playback mode */
/* switch to the previous mode only unpluging HDMI */
if (1) { //(KeyScan_IsHDMIPlugIn()==FALSE)
UI_SetData(FL_PreMode, PRIMARY_MODE_PLAYBACK);
UI_SetData(FL_NextMode, PRIMARY_MODE_MOVIE);
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_MOVIE);
}
} else
#endif
{
DBG_ERR("UISetupObj: Unknown current DSC mode 0x%x\r\n", uiCurrMode);
}
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnForceToPlaybackMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
#if (PLAY_MODE==ENABLE)
UINT32 uiCurrMode;
uiCurrMode = UI_GetData(FL_NextMode);
if ((INT32)uiCurrMode != PRIMARY_MODE_PLAYBACK) {
UI_SetData(FL_PreMode, uiCurrMode);
UI_SetData(FL_NextMode, PRIMARY_MODE_PLAYBACK);
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PLAYBACK);
}
#endif
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnLCDOff(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_LCD_OFF, uhSelect);
switch (uhSelect) {
case LCDOFF_ON:
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_EN, FALSE);
break;
#if (AUTOSLEEP_FUNCTION == ENABLE)
case LCDOFF_1MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_EN, TRUE);
//GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 10);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 60);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME, 60);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_D, 60);
break;
case LCDOFF_3MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_EN, TRUE);
//GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 10);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 180);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME, 180);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_D, 180);
break;
case LCDOFF_5MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_EN, TRUE);
//GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 10);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 300);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME, 300);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_D, 300);
break;
case LCDOFF_10MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_EN, TRUE);
//GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 10);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_L, 600);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME, 600);
GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_TIME_D, 600);
break;
#else
//Please use GPIO or PWM to control LCD backlight at here.
#endif
default:
DBG_ERR("Error parameter (%d) with SetupExe_OnLCDOff\r\n", uhSelect);
break;
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
#include "GxPower.h"
INT32 SetupExe_OnPowerOff(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_IND("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_AUTO_POWER_OFF, uhSelect);
switch (uhSelect) {
case POWER_ON:
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_EN, FALSE);
break;
#if (AUTOPWROFF_FUNCTION == ENABLE)
case POWER_1MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_EN, TRUE);
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_TIME, 60);
break;
case POWER_2MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_EN, TRUE);
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_TIME, 120);
break;
case POWER_3MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_EN, TRUE);
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_TIME, 180);
break;
case POWER_5MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_EN, TRUE);
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_TIME, 300);
break;
case POWER_10MIN:
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_EN, TRUE);
GxPower_SetControl(GXPWR_CTRL_AUTOPOWEROFF_TIME, 600);
break;
#endif
default:
DBG_ERR("Error parameter (%d) with SetupExe_OnPowerOff\r\n", uhSelect);
break;
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnSysReset(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
#if(UI_FUNC==ENABLE)
DBG_ERR("To Do Setup_Menu\r\n");
#if (PST_FUNC == ENABLE)
AppBKW_SetData(BKW_WAIT_TIME, 1000);//show wait window for 2 second
BKG_PostEvent(NVTEVT_BKW_DUMMY_WAIT);
//#NT#For menu reset flag,for FlowPhoto_InitSettingParams
UI_SetData(FL_ResetFlag, TRUE);
//#NT#2010/09/10#Lincy Lin -begin
//#NT#For special key reset function
#if SPECIAL_KEY_RESET_FUNC
if ((GxKey_GetData(GXKEY_NORMAL_KEY) & FLGKEY_ZOOMIN)) {
UI_SetData(FL_TakePictCnt, 0);
UI_SetData(FL_ModeIndex, 0);
//System_PowerOff(SYS_POWEROFF_NORMAL);
}
#endif
//#NT#2010/09/10#Lincy Lin -end
DBG_FUNC("Call Reset_MenuInfo()\r\n");
Reset_MenuInfo();
//save to nand
DBG_FUNC("Call Save_MenuInfo()\r\n");
Save_MenuInfo();
#else
Ux_PostEvent(NVTEVT_BACKGROUND_DONE, 1, NVTEVT_BKW_DUMMY_WAIT);
#endif
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnSysResetNoWin(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
#if HUNTING_CAMERA_MCU == ENABLE
sf_sys_status_led_set(SF_LED_SYS_STATE_RESET);
vos_util_delay_ms(3000);
#endif
DBG_FUNC_BEGIN("\r\n");
UI_SetData(FL_ResetFlag, TRUE);
Reset_MenuInfo();
Save_MenuInfo();
exam_msg("SysReset ret=%d\r\n", 0);
DBG_FUNC_END("\r\n");
#if HUNTING_CAMERA_MCU == ENABLE
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0);
#endif
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnNumReset(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
#if(UI_FUNC==ENABLE)
BKG_PostEvent(NVTEVT_BKW_NUM_RESET);
#endif
DBG_FUNC_BEGIN("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
#include "GxDisplay.h"
INT32 SetupExe_OnBrightAdj(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_BrightAdjIndex, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnBrightLvl(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
GxVideo_SetDeviceCtrl(DOUT1, DISPLAY_DEVCTRL_BRIGHTLVL, uhSelect);
UI_SetData(FL_LCD_BRIGHTNESS, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnUSBMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_USB_MODE, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
//#if (TV_FUNC == ENABLE) //Setup_Menu
extern UINT32 gDevTVObj;
INT32 SetupExe_OnTVFormat(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_TV_MODE, uhSelect);
#if 1 // to do ==>TV_FUNC == ENABLE
DBG_ERR("To Do Setup_Menu FL_TV_MODE\r\n");
#else // to do ==>TV_FUNC == ENABLE
switch (uhSelect) {
case VIDEOOUT_NTSC:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevTVObj, DISP_TVMODE_NTSC); //change to NTSC mode
break;
case VIDEOOUT_PAL:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevTVObj, DISP_TVMODE_PAL); //change to PAL mode
break;
default:
DBG_ERR("Error parameter (%d) with SetupExe_OnTVFormat\r\n", uhSelect);
break;
}
#endif // to do ==>TV_FUNC == ENABLE
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
//#endif //to do TV_FUNC == ENABLE
#if (HDMI_FUNC == ENABLE)
extern UINT32 gDevHDMIObj;
INT32 SetupExe_OnHDMIFormat(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_HDMI_MODE, uhSelect);
switch (uhSelect) {
case VIDEOOUT2_AUTO:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_MAX); //change to max resoluition
break;
case VIDEOOUT2_4K2KP30:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_4096X2160P30); //change to 4K2K mode
break;
case VIDEOOUT2_4K2KP25:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_4096X2160P25); //change to 4K2K mode
break;
case VIDEOOUT2_4K2KP24:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_4096X2160P24); //change to 4K2K mode
break;
case VIDEOOUT2_UHDP30:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_3840X2160P30); //change to UHD mode
break;
case VIDEOOUT2_UHDP25:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_3840X2160P25); //change to UHD mode
break;
case VIDEOOUT2_UHDP24:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_3840X2160P24); //change to UHD mode
break;
case VIDEOOUT2_FHDI60:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_1920X1080I60); //change to FHD mode
break;
case VIDEOOUT2_FHDP30:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_1920X1080P30); //change to FHD mode
break;
case VIDEOOUT2_HD:
Ux_PostEvent(NVTEVT_VIDEO_MODE, 2, gDevHDMIObj, DISP_HDMIMODE_720X480P60); //change to HD mode
break;
default:
DBG_ERR("Error parameter (%d) with SetupExe_OnHDMIFormat\r\n", uhSelect);
break;
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
#endif
INT32 SetupExe_OnDualDisp(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_DualDisp, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
#if(WIFI_FUNC==ENABLE)
INT32 SetupExe_OnWifiMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
UIMenuStoreInfo *ptMenuStoreInfo = UI_GetMenuInfo();
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_DUMP("OnWiFiMode uhSelect %d\r\n", uhSelect);
UI_SetData(FL_NetWorkMode, uhSelect);
if (UI_GetData(FL_NetWorkMode) == NET_AP_MODE || UI_GetData(FL_NetWorkMode) == NET_WPS_AP_PBC_MODE) {
if (ptMenuStoreInfo->strSSID[0]) {
UINet_SetSSID(ptMenuStoreInfo->strSSID, strlen(ptMenuStoreInfo->strSSID)); // SSID of AP
} else {
UINet_SetSSID(UINet_GetDefaultAPSSID(), strlen(UINet_GetDefaultAPSSID())); // SSID of AP
}
if (ptMenuStoreInfo->strPASSPHRASE[0]) {
UINet_SetPASSPHRASE(ptMenuStoreInfo->strPASSPHRASE, strlen(ptMenuStoreInfo->strPASSPHRASE)); // passwd of AP
} else {
UINet_SetPASSPHRASE(UINet_GetDefaultAPPASSPHRASE(), strlen(UINet_GetDefaultAPPASSPHRASE())); // passwd of AP
}
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
#if !defined(_NVT_SDIO_WIFI_NONE_) || !defined(_NVT_USB_WIFI_NONE_)
INT32 SetupExe_OnWifiStart(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 result = 0;
DBG_FUNC_BEGIN("\r\n");
if (bExeWiFiStart) {
DBG_WRN("is start\r\n");
return NVTEVT_CONSUME;
}
#if (defined(_CPU2_ECOS_) && (POWERON_FAST_CPU2_BOOT != ENABLE))
//UINet_CPU2_Init();
System_CPU2_Start(); //try to download FW of CPU2, and start CPU2
System_CPU2_WaitReady();
#endif
UINet_AppIpc_Init();
//#if defined(_CPU2_ECOS_) || (defined(_CPU2_LINUX_) && WIFI_AP_FUNC==ENABLE)
//#if !defined(_NVT_SDIO_WIFI_NONE_)
DBG_DUMP("Network mod:%d \r\n", UI_GetData(FL_NetWorkMode));
//#NT#2016/07/14#Charlie Chang -begin
//#NT# support 4g module
#if (NETWORK_4G_MODULE == ENABLE)
UI_SetData(FL_NetWorkMode, NET_STATION_MODE);
UINet_SetAuthType(NET_AUTH_WPA2);
UINet_IotP2PInit();
UINet_HFSInit();
#if ONVIF_FUNC
UINet_OnvifInit();
#endif
UI_SetData(FL_WIFI_LINK, WIFI_LINK_OK);
SxTimer_SetFuncActive(SX_TIMER_DET_AUTOPOWEROFF_ID, FALSE);
bExeWiFiStart = TRUE;
return NVTEVT_CONSUME;
#endif
//#NT#2016/07/14#Charlie Chang -end
if (UI_GetData(FL_NetWorkMode) == NET_AP_MODE || UI_GetData(FL_NetWorkMode) == NET_WPS_AP_PBC_MODE) {
//#NT#2016/07/05#Charlie Chang -begin
//#NT# reset ssid name if IOT_P2P_FUNC enable
#if (IOT_P2P_FUNC == ENABLE)
char ssid_buf[NVT_WSC_MAX_SSID_LEN] = {0};
sprintf(ssid_buf, "BRONCI_AP_10001");
UINet_SetSSID(ssid_buf, strlen(ssid_buf));
#endif
//#NT#2016/06/20#Charlie Chang -end
UINet_SetAuthType(NET_AUTH_WPA2);
} else if (UI_GetData(FL_NetWorkMode) == NET_STATION_MODE) { // Station Mode.
#if 0
UINet_SetSSID("MyAP", strlen("MyAP")); // SSID of AP
UINet_SetAuthType(NET_AUTH_WPA2);
UINet_SetPASSPHRASE("123456780", strlen("12345678")); // Password of AP
UI_SetData(FL_NetWorkMode, NETWORK_STATION_MODE);
#else
if (gHotSpot_SSID[0] && gHotSpot_PASSPHRASE[0]) {
UINet_SetSSID(gHotSpot_SSID, strlen(gHotSpot_SSID)); // SSID of AP
UINet_SetAuthType(NET_AUTH_WPA2);
UINet_SetPASSPHRASE(gHotSpot_PASSPHRASE, strlen(gHotSpot_PASSPHRASE)); // Password of AP
} else {
DBG_ERR("SSID or passphrase error!\r\n");
}
#endif
} else {
DBG_ERR("Neither Wi-Fi AP nor Station mode!\r\n");
}
//#elif defined(_NETWORK_SPI_EVB_ETHERNET_)
// UI_SetData(FL_NetWorkMode,NET_AP_MODE);
//#endif
UINet_SetAuthType(NET_AUTH_WPA2);
result = UINet_WifiInit(UI_GetData(FL_NetWorkMode), UINet_GetAuthType());
//#else
// UINet_HFSInit();
//#endif
#if ONVIF_FUNC
UINet_OnvifInit();
#endif
if (result == 0) {
UI_SetData(FL_WIFI_LINK, WIFI_LINK_OK);
SxTimer_SetFuncActive(SX_TIMER_DET_AUTOPOWEROFF_ID, FALSE);
#if !defined(_NVT_SDIO_WIFI_NONE_)
if (UINet_GetMode() == NET_STATION_MODE) {
#if _TODO
UINet_CliReConnect(1);
#endif
}
#endif
} else {
UI_SetData(FL_WIFI_LINK, WIFI_LINK_NG);
}
// start live555 service
ImageApp_Common_RtspStart(0);
DBG_DUMP("BackgroundWiFiOn %d result %d\r\n", UI_GetData(FL_NetWorkMode), result);
bExeWiFiStart = TRUE;
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
void System_WifiStart(void)
{
SetupExe_OnWifiStart(0, 0, 0);
}
INT32 SetupExe_OnWifiStop(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
if (!bExeWiFiStart) {
DBG_WRN("not start\r\n");
return NVTEVT_CONSUME;
}
// stop live555 service
// ImageApp_Common_RtspStop(0);
UINet_WifiUnInit(UI_GetData(FL_NetWorkMode));
#if ONVIF_FUNC
UINet_OnvifUnInit();
#endif
SxTimer_SetFuncActive(SX_TIMER_DET_AUTOPOWEROFF_ID, TRUE);
UINet_AppIpc_UnInit();
UI_SetData(FL_COMMON_LOCAL, WIFI_OFF);
#if (defined(_CPU2_ECOS_) && (POWERON_FAST_CPU2_BOOT != ENABLE))
System_CPU2_Stop();
#endif
bExeWiFiStart = FALSE;
UI_SetData(FL_WIFI_LINK, WIFI_LINK_NG);
if (UI_GetData(FL_MOVIE_DATEIMPRINT) == MOVIE_DATEIMPRINT_ON) {
MovieStamp_Disable();
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
#endif
INT32 SetupExe_OnWifiSetSSID(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
char *Data = 0;
DBG_FUNC_BEGIN("\r\n");
UIMenuStoreInfo *ptMenuStoreInfo = UI_GetMenuInfo();
if (paramNum) {
Data = (char *)paramArray[0];
DBG_IND(" %s %d\r\n", Data, strlen(Data));
UINet_SetSSID(Data, strlen(Data));
if (strlen(Data) <= NVT_WSC_MAX_SSID_LEN - 1) {
strncpy(ptMenuStoreInfo->strSSID, UINet_GetSSID(), (NVT_WSC_MAX_SSID_LEN - 1)); // Save Wi-Fi SSID.
ptMenuStoreInfo->strSSID[strlen(ptMenuStoreInfo->strSSID)] = '\0';
}
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnWifiSetPassPhrase(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
char *Data = 0;
DBG_FUNC_BEGIN("\r\n");
UIMenuStoreInfo *ptMenuStoreInfo = UI_GetMenuInfo();
if (paramNum) {
Data = (char *)paramArray[0];
DBG_IND(" %s %d\r\n", Data, strlen(Data));
UINet_SetPASSPHRASE(Data, strlen(Data));
if (strlen(Data) <= NVT_MAX_WEP_KEY_LEN - 1) {
strncpy(ptMenuStoreInfo->strPASSPHRASE, UINet_GetPASSPHRASE(), (NVT_MAX_WEP_KEY_LEN - 1)); // Save Wi-Fi PASSWORD.
ptMenuStoreInfo->strPASSPHRASE[strlen(ptMenuStoreInfo->strPASSPHRASE)] = '\0';
}
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnWifiSetAuthType(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
if (paramNum) {
DBG_IND("uhSelect %d \r\n", paramArray[0]);
UINet_SetAuthType(paramArray[0]);
}
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnDHCPStart(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
if (paramNum) {
DBG_IND("uhSelect %d \r\n", paramArray[0]);
UINet_DHCP_Start(paramArray[0]);
}
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnWifiReInit(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINet_WifiP2PReInit();
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnWifiBack2Dev(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINet_WifiBack2Dev();
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnWifiSendSSIDPassPhrase(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
char *Data = 0;
UIMenuStoreInfo *ptMenuStoreInfo = UI_GetMenuInfo();
DBG_IND("%s %s\r\n", __FUNCTION__, paramArray[0]);
if (paramNum) {
Data = (char *)paramArray[0];
DBG_DUMP("%d\r\n", strlen(Data));
if (2 == sscanf_s(Data, "%[^:]:%s", gHotSpot_SSID, gHotSpot_PASSPHRASE, sizeof(gHotSpot_SSID) + sizeof(gHotSpot_PASSPHRASE))) {
WifiCmd_UnlockString(Data);//setDate cost time,unlock string before rtc_setDate
DBG_DUMP("SSID:%s, Passphrase:%s\r\n", gHotSpot_SSID, gHotSpot_PASSPHRASE);
if (strlen(gHotSpot_SSID) <= NVT_WSC_MAX_SSID_LEN - 1) {
strncpy(ptMenuStoreInfo->strSSID_hotspot_1, gHotSpot_SSID, (NVT_WSC_MAX_SSID_LEN - 1)); // Save Wi-Fi SSID for station mode.
ptMenuStoreInfo->strSSID_hotspot_1[strlen(ptMenuStoreInfo->strSSID_hotspot_1)] = '\0';
}
if (strlen(gHotSpot_PASSPHRASE) <= NVT_MAX_WEP_KEY_LEN - 1) {
strncpy(ptMenuStoreInfo->strPASSPHRASE_hotspot_1, gHotSpot_PASSPHRASE, (NVT_MAX_WEP_KEY_LEN - 1)); // Save Wi-Fi passwd for station mode.
ptMenuStoreInfo->strPASSPHRASE_hotspot_1[strlen(ptMenuStoreInfo->strPASSPHRASE_hotspot_1)] = '\0';
}
} else {
WifiCmd_UnlockString(Data);
}
}
return NVTEVT_CONSUME;
}
#endif
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnDateFormat(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_IND("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_DateFormatIndex, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnTimeFormat(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 uhSelect = 0;
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_FUNC("uhSelect %d \r\n", uhSelect);
UI_SetData(FL_TimeFormatIndex, uhSelect);
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnDate(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
if (paramNum == 3) {
#if 1 // Todo elvis
DBG_ERR("To Do Setup_Menu\r\n");
#else // Todo elvis
struct tm Curr_DateTime;
DBG_IND("%d %d %d\r\n", paramArray[0], paramArray[1], paramArray[2]);
Curr_DateTime = HwClock_GetTime(TIME_ID_CURRENT);
Curr_DateTime.tm_year = paramArray[0];
Curr_DateTime.tm_mon = paramArray[1];
Curr_DateTime.tm_mday = paramArray[2];
HwClock_SetTime(TIME_ID_CURRENT, Curr_DateTime, 0);
#endif // Todo elvis
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnTime(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
if (paramNum == 3) {
#if 1 // Todo elvis
DBG_ERR("To Do Setup_Menu\r\n");
#else // Todo elvis
struct tm Curr_DateTime;
DBG_IND("%d %d %d\r\n", paramArray[0], paramArray[1], paramArray[2]);
Curr_DateTime = HwClock_GetTime(TIME_ID_CURRENT);
Curr_DateTime.tm_hour = paramArray[0];
Curr_DateTime.tm_min = paramArray[1];
Curr_DateTime.tm_sec = paramArray[2];
HwClock_SetTime(TIME_ID_CURRENT, Curr_DateTime, 0);
#endif // Todo elvis
}
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnFWUpdate(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
DBG_DUMP("Do FW Update\r\n");
#if (_TODO)
System_OnStrg_UploadFW(0);
#else
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
///////////////////////////////////////////////////////////////////
INT32 SetupExe_OnPreviewMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
#if (PLAY_MODE==ENABLE)
int curMode = System_GetState(SYS_STATE_CURRMODE);
DBG_IND("Cur:%d, Previous:%d\r\n", curMode, UI_GetData(FL_PreMode));
#if 0
UI_Switch_DscMode(UI_GetData(FL_PreMode), DSCMODE_SWITCH_FORCE, DSCMODE_SWITCHDIR_DONT_CARE);
#else
if (curMode == PRIMARY_MODE_PLAYBACK) {
#if 1 // Todo elvis
DBG_ERR("To Do\r\n");
#else // Todo elvis
UI_Switch_DscMode(UI_GetData(FL_PreMode), DSCMODE_SWITCH_FORCE, DSCMODE_SWITCHDIR_DONT_CARE);
#endif // Todo elvis
} else
#endif
{
VControl *previewWnd;
Ux_GetWindowByIndex(&previewWnd, 1);
//close wind untill root window
Ux_CloseWindow(previewWnd, 0);
}
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnCopy2Card(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_DUMP("Do copy to card\r\n");
#if(UI_FUNC==ENABLE)
BKG_PostEvent(NVTEVT_BKW_COPY2CARD);
#endif
return NVTEVT_CONSUME;
}
INT32 SetupExe_OnPbRetractLens(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
DBG_FUNC_BEGIN("\r\n");
#if 1 // Todo elvis
DBG_ERR("To Do Setup_Menu\r\n");
#else // Todo elvis
#if (IPCAM_FUNC != ENABLE)
DevCtrl_Lens_Playback_Retract();
#endif
#endif // Todo elvis
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
//#NT#2023/01/11#Eric - begin //#NT#Support
INT32 SetupExe_OnSysBootWorkMode(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)///Eric
{
UINT32 uhSelect = 0;
#if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif
DBG_FUNC_BEGIN("\r\n");
if (paramNum > 0) {
uhSelect = paramArray[0];
}
DBG_IND("uhSelect %d \r\n", uhSelect);
#if HUNTING_CAMERA_MCU == ENABLE
puiPara->CamMode = uhSelect;
#else
UI_SetData(CamMode, uhSelect);
#endif
DBG_FUNC_END("\r\n");
return NVTEVT_CONSUME;
}
//#NT#2023/01/11#Eric - end
#endif
EVENT_ENTRY UISetupObjCmdMap[] = {
//Mode
#if(UI_FUNC==ENABLE)
{NVTEVT_EXE_CHANGEDSCMODE, SetupExe_OnChangeDSCMode },
#if (MOVIE_MODE==ENABLE)
{NVTEVT_FORCETO_LIVEVIEW_MODE, SetupExe_OnForceToLivedMode },
#endif
#if (PLAY_MODE==ENABLE)
{NVTEVT_FORCETO_PLAYBACK_MODE, SetupExe_OnForceToPlaybackMode},
#endif
{NVTEVT_FILEID_RESET, SetupExe_OnFILEDB_FILEID_RESET},
{NVTEVT_PREVIEWMODE, SetupExe_OnPreviewMode },
//Status
{NVTEVT_EXE_FWUPDATE, SetupExe_OnFWUpdate },
{NVTEVT_EXE_SYSRESET, SetupExe_OnSysReset },
{NVTEVT_EXE_SYSRESET_NO_WIN, SetupExe_OnSysResetNoWin },
//Time
{NVTEVT_EXE_DATEFORMAT, SetupExe_OnDateFormat },
{NVTEVT_EXE_TIMEFORMAT, SetupExe_OnTimeFormat },
{NVTEVT_EXE_DATE, SetupExe_OnDate },
{NVTEVT_EXE_TIME, SetupExe_OnTime },
//Power
{NVTEVT_EXE_LCDOFF, SetupExe_OnLCDOff },
{NVTEVT_EXE_POWEROFF, SetupExe_OnPowerOff },
//Sound
{NVTEVT_EXE_BEEPVOLUME, SetupExe_OnBeepVolume },
//Display
#if (TV_FUNC == ENABLE) // setup_menu
{NVTEVT_EXE_TVFORMAT, SetupExe_OnTVFormat },
#endif
#if (HDMI_FUNC == ENABLE)
{NVTEVT_EXE_HDMIFORMAT, SetupExe_OnHDMIFormat },
#endif
{NVTEVT_EXE_DUALDISP, SetupExe_OnDualDisp },
#if !defined(_NVT_SDIO_WIFI_NONE_) || !defined(_NVT_USB_WIFI_NONE_)
#if(WIFI_AP_FUNC==ENABLE)
{NVTEVT_EXE_WIFI_MODE, SetupExe_OnWifiMode },
{NVTEVT_EXE_WIFI_START, SetupExe_OnWifiStart },
{NVTEVT_EXE_WIFI_STOP, SetupExe_OnWifiStop },
{NVTEVT_EXE_WIFI_SET_SSID, SetupExe_OnWifiSetSSID },
{NVTEVT_EXE_WIFI_SET_PASSPHRASE, SetupExe_OnWifiSetPassPhrase },
{NVTEVT_EXE_WIFI_SET_AUTHTYPE, SetupExe_OnWifiSetAuthType },
{NVTEVT_EXE_WIFI_DHCP_START, SetupExe_OnDHCPStart },
{NVTEVT_EXE_WIFI_REINIT, SetupExe_OnWifiReInit },
{NVTEVT_EXE_WIFI_BACK2DEV, SetupExe_OnWifiBack2Dev },
{NVTEVT_EXE_WIFI_SEND_SSID_PASSPHRASE, SetupExe_OnWifiSendSSIDPassPhrase },
// for IPCam
#else
#if (defined(_BSP_NA51023_) && _TODO)
{NVTEVT_EXE_WIFI_START, SetupExe_OnWifiStart },
{NVTEVT_EXE_WIFI_STOP, SetupExe_OnWifiStop },
#endif
#endif
#endif
{NVTEVT_EXE_BRIGHTADJ, SetupExe_OnBrightAdj },
{NVTEVT_EXE_BRIGHTLVL, SetupExe_OnBrightLvl },
//FileSys
{NVTEVT_EXE_FORMAT, SetupExe_OnFormat },
{NVTEVT_EXE_SETUPCOPY2CARD, SetupExe_OnCopy2Card },
//USB
{NVTEVT_EXE_USBMODE, SetupExe_OnUSBMode },
//Lens
{NVTEVT_EXE_PB_RETRACT_LENS, SetupExe_OnPbRetractLens },
//DCF manage
{NVTEVT_EXE_NUMRESET, SetupExe_OnNumReset },
{NVTEVT_EXE_BEEPKEY, SetupExe_OnBeepKey },
{NVTEVT_EXE_LANGUAGE, SetupExe_OnLanguage },
#if (PHOTO_MODE==ENABLE)
{NVTEVT_EXE_FREQ, SetupExe_OnFreq },
#if (IQ_FUNC)
{NVTEVT_EXE_AFWINDOW, PhotoExe_OnAFWindow },
{NVTEVT_EXE_AFBEAM, PhotoExe_OnAFBeam },
{NVTEVT_EXE_CONTAF, PhotoExe_OnContAF },
{NVTEVT_EXE_METERING, PhotoExe_OnMetering },
{NVTEVT_EXE_PREVIEW, PhotoExe_OnPreview },
{NVTEVT_EXE_DIGITAL_ZOOM, PhotoExe_OnDigitalZoom },
{NVTEVT_EXE_DATE_PRINT, PhotoExe_OnDatePrint },
#endif
#endif
//#NT#2023/01/11#Eric - begin
//#NT#as NVTEVT_EXE_CYCLIC_REC, for menu UI setting flag
{NVTEVT_EXE_BOOTWORKMODE, SetupExe_OnSysBootWorkMode },///Eric
//#NT#2023/01/11#Eric - end
//Movie
#if(MOVIE_MODE==ENABLE)
//To Do {NVTEVT_EXE_MOVIEDIS, MovieExe_OnDis },
//To Do {NVTEVT_EXE_MOVIEGDC, MovieExe_OnGdc },
//To Do {NVTEVT_EXE_MOVIESMEAR, MovieExe_OnSmear },
#endif
#endif
{NVTEVT_NULL, 0}, //End of Command Map
};
#if(WIFI_AP_FUNC==ENABLE)
CREATE_APP(UISetupObj, APP_WIFICMD)
#else
CREATE_APP(UISetupObj, APP_BASE)
#endif