- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
UiSys.c
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:169k
源码类别:
压缩解压
开发平台:
C++ Builder
- /*==========================================================================
- Copyright (c) 2004 ALi Corporation. All Rights Reserved
- File: UiCommon.c
- content: user interface for system module
- History: Created by TNE 2004/8/17
- ==========================================================================*/
- #define _UI_SYS_H_
- #include <DP8051XP.H>
- #include "TypeDef.h"
- #include "Const.h"
- #include "Reg5661.h"
- #include "Common.h"
- #include "UiCommon.h"
- #include "SysStrDef.h"
- #include "UiSysStr.h"
- #include "OledString.h"
- #include "Key.h"
- #include "NandFlash.h"
- #include "UiSys.h"
- #include "SD.h"
- #include "FileSystem.h"
- #include "SaveSetting.h"
- #if(ENABLE_HOST_FUNCTION) //allen050720
- #include "UsbHostCommon.h"
- #include "UsbHost.h"
- #endif
- #include "Oled.h"
- #include "IconDefine.h"
- #include "ClassDatabase.h"
- #include "License.h" //Walace060323#1
- void UiSysMenuRedrawAll(void) ;
- XBYTE gxbEditPSaveSwitch;
- XBYTE gxbEditPSaveNotPlay;
- XBYTE gxbStringEditPSaveTime[3]; // When edit time, time number ex. 106
- bit gfFormatType;
- XBYTE gxbLastUIFormatSts; //Vicky060929#1
- XBYTE gxbSetFlag = FALSE;
- //extern CBYTE gcbKernalVer[],gcbKernalDate[];
- //XBYTE gxbEditTimeAmPm;
- //XBYTE gxbStringEditTime[6]; // show time string
- //XDWORD gxdwNowTime;
- //XDWORD gxdwLastNowTime;
- void UiGoSysMenu(void);
- void UiShowTimeBox(BYTE bStartPage,BYTE bEndPage) large;
- void UiGoSysTimeMenu(void) large;
- void UiSysSetTime(void) large;
- void UiShowTimeEditCursor(BYTE bEditLocate) large;
- void UiTimeEditUp(BYTE bTimeEditLocate) large;
- void UiTimeEditDown(BYTE bTimeEditLocate) large;
- void UiAlarmSwitchMenu(void) large;
- void UiGoSysEditPSave(void) large;
- void UiGetPSaveTime(void) large;
- void UiShowPSaveEditCursor(BYTE bEditLocate) large;
- void UiCheckPSaveTime(void) large;
- void UiGoSysLangMenu(void) large;
- void UiGoDispMenu(void) large;
- void UiShowContrast(BYTE bVoltage) large;
- void UiSetContrast(void) large;
- void UiSetBackLight(void) large;
- void UiShowBackLight(BYTE bBackLightTime) large;
- void UiRecMenuForSys(void) large;
- void UiGoStorMenu(void) large;
- void UiSysSetAlarm(void) large;
- void UiShowAlarmTime(BYTE bTimeEditLocate) large;
- void UiShowAlarmEditCursor(BYTE bEditLocate) large;
- #if(UI_USE_USER_EQ)
- void UiGoUserDefEqMenu(void) large;
- #endif
- void UiSysGetAlarmTime(void) large;
- void UiShwCardRemoved(void) large;
- void UiGoSysFileMenu(void) large;
- bit UiGoSysDeleteMenu(void) large;
- //void UiGoRestoreSureMenu(void) large
- void UiGoFuncMakeSureMenu(BYTE bFunCmd) large; //Walace060323#1
- void UiGoDeleteLicenseSureMenu(void);//Walace060323#1
- //void UiGoRefreshSureMenu(void) large;
- void UiGoToolMenu(void) large;
- void UiGoSysFormatMenu(void) large;
- void UiGoFormatSureMenu(void) large;
- void UiGoSysDrmMenu(void) large;
- void UiGoSysInfo(void) large;
- //void UiFsRecInit(void) large;//vicky050203 //Vicky060216 Move to UiCommon.h
- void UiShowFormatBar(BYTE bProgress);
- void UiGoSysSetZoneMenu(void) large; //Tne050325
- void UiShowSetTime(BYTE bTimeEditLocate) large;
- //API void UiWriteLabelName(void) large; //tne 2005/12/19 //Walace060725#1 remove to Filesystem.h
- void UiShowFormatWarning(void) large; // Jeff070312#1
- //Sys information
- CBYTE cbStringFW[]={'F','W',':',' ',' ','.',' ',' ','.'};
- CBYTE cbStringChip[]={'C','H','I','P',':'};
- CBYTE cbStringFree[]={'F','R','E','E',':'};
- //CBYTE cbStringDate[]={'D','A','T','E',':',' ',' ','/',' ',' ','/'};
- CBYTE cbStringMB[]={'M','B'};
- CBYTE cbStringKB[]={'K','B'};
- //CBYTE cbStringByte[]={'b','y','t','e'};
- code CWORD *pcbSetupListStr[] ={
- cwStringSystemList,
- cwStringSysDrmList,
- cwStringSysTimeList,
- cwStringSysPowerOffList,
- cwStringSysLanguageList,
- cwStringSysDisplayList,
- cwStringRecList,
- cwStringSysToolList,
- cwStringSysStorageList,
- cwStringSysYesNoList,
- cwStringSysYesNoList,
- cwStringFormatList,
- cwStringSysYesNoList,
- //#if( (_PM_SYS_|_PM_DVR_) & (UI_USE_REC_SOURCE) )
- cwStringRecFormList,
- //#endif
- cwStringQtyList,
- cwStringPsave,
- cwStringBLight,
- cwStringContrast,
- #if(_PEDOMETER_Mode_)
- cwStringPedoMeterMenuList,
- cwStringPedoMeterPowerList,
- cwStringPedoMeterIntroList,
- cwStringPedoMeterSettingList,
- #endif
- };
- code BYTE cbSetupListMaxNum[]={
- UI_SYS_MENU_MAX_ITEM,
- UI_SYS_MENU_USB_MODE_MAX_ITEM,
- UI_SYS_MENU_TIME_MAX_ITEM,
- UI_SYS_MENU_TIME_MAX_ITEM,
- UI_SYS_MENU_LANGUAGE_MAX_ITEM,
- UI_SYS_MENU_DISPLAY_MAX_ITEM,
- UI_SYS_MENU_REC_MAX_ITEM,
- UI_SYS_MENU_TOOL_MAX_ITEM,
- UI_SYS_MENU_STORAGE_MAX_ITEM,
- UI_SYS_MENU_YESNO_MAX_ITEM,
- UI_SYS_MENU_YESNO_MAX_ITEM,
- UI_SYS_MENU_FORMAT_MAX_ITEM,
- UI_SYS_MENU_YESNO_MAX_ITEM,
- UI_SYS_MENU_REC_FROM_MAX_ITEM,
- UI_SYS_MENU_REC_QTY_MAX_ITEM,
- UI_SYS_MENU_PSAVE_MAX_ITEM,
- UI_SYS_MENU_BLIGHT_MAX_ITEM,
- UI_SYS_MENU_CONTRAST_MAX_ITEM,
- #if(_PEDOMETER_Mode_)
- UI_SYS_MENU_PODEMETER_MAX_ITEM,
- UI_SYS_MENU_PODEMETER_Power_MAX_ITEM,
- UI_SYS_MENU_PODEMETER_Intro_MAX_ITEM,
- UI_SYS_MENU_PODEMETER_Setting_MAX_ITEM,
- #endif
- };
- ////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////// Ui Header End ///////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////
- /*--------------------------------------------------------------------------
- Description:
- Main program for TARGET System
- Arguments:
- Global arguments:
- Returns:
- --------------------------------------------------------------------------*/
- //TONY070104 Start
- void ShowSetupItemUnSelect( WORD wStrNum,BYTE BMenuSubStates) large
- {
- gfTransparent = TRUE;
- if(gxbUiMenuMainStates&0x1f)
- {
- OledShowIconNew(1, IM_EXPLORE_BUTTON_CLEAR_STRING, 20, ITEM_START_ROW+ITEM_ROW_OFF*((BMenuSubStates%ITEM_SUB_NUM_OPAGE)+1));
- OledShowIconNew(1, IM_ITEM_UNSELECT, 8,4+ITEM_START_ROW+ITEM_ROW_OFF*((BMenuSubStates%ITEM_SUB_NUM_OPAGE)+1));
- StrShowSysString(wStrNum, ITEM_START_COL,2+ITEM_START_ROW+ITEM_ROW_OFF*((BMenuSubStates%ITEM_SUB_NUM_OPAGE)+1));
- }
- else
- {
- OledShowIconNew(1, IM_EXPLORE_BUTTON_CLEAR_STRING, 20, ITEM_START_ROW+ITEM_ROW_OFF*(BMenuSubStates%ITEM_NUM_OPAGE));
- OledShowIconNew(1, IM_ITEM_UNSELECT, 8, 4+ ITEM_START_ROW+ITEM_ROW_OFF*(BMenuSubStates%ITEM_NUM_OPAGE));
- StrShowSysString(wStrNum, ITEM_START_COL,2+ITEM_START_ROW+ITEM_ROW_OFF*(BMenuSubStates%ITEM_NUM_OPAGE));
- }
- gfTransparent =FALSE;
- }
- void ShowSetupItemSelect( WORD wStrNum,BYTE BMenuSubStates) large
- {
- gfTransparent = TRUE;
- if(gxbUiMenuMainStates&0x1f)
- {
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01,20,ITEM_START_ROW+ITEM_ROW_OFF*((BMenuSubStates%ITEM_SUB_NUM_OPAGE)+1));
- OledShowIconNew(1, IM_ITEM_SELECT ,8, 4+ITEM_START_ROW+ITEM_ROW_OFF*((BMenuSubStates%ITEM_SUB_NUM_OPAGE)+1));
- StrShowSysString(wStrNum, ITEM_START_COL,2+ITEM_START_ROW+ITEM_ROW_OFF*((BMenuSubStates%ITEM_SUB_NUM_OPAGE)+1));
- }
- else
- {
- OledShowIconNew(1, IM_EXPLORE_BUTTON_01,20,ITEM_START_ROW+ITEM_ROW_OFF*(BMenuSubStates%ITEM_NUM_OPAGE));
- OledShowIconNew(1, IM_ITEM_SELECT, 8, 4+ ITEM_START_ROW+ITEM_ROW_OFF*(BMenuSubStates%ITEM_NUM_OPAGE));
- StrShowSysString(wStrNum, ITEM_START_COL,2+ITEM_START_ROW+ITEM_ROW_OFF*(BMenuSubStates%ITEM_NUM_OPAGE));
- }
- gfTransparent =FALSE;
- }
- void UiShowSubMenuItem(BYTE bCurrentNum,BYTE bTotalNum) large
- {
- BYTE bI,bOffset;
- BYTE bItemNum,bFirstItem;
- BYTE bTotalPage,bCurrentPage;
- BYTE bItemNumPerPage;
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW);//Clear Menu Item Area;
- if(gxbUiMenuMainStates&0x1f)
- {
- bItemNumPerPage = ITEM_SUB_NUM_OPAGE;
- bOffset = 1;
- }
- else
- {
- bItemNumPerPage = ITEM_NUM_OPAGE;
- bOffset = 0;
- }
- bTotalPage = bTotalNum/bItemNumPerPage;
- bCurrentPage = bCurrentNum/bItemNumPerPage;
- if(bTotalPage==bCurrentPage) //Last page
- {
- bItemNum = (bTotalNum% bItemNumPerPage);
- }
- else
- {
- bItemNum = bItemNumPerPage;
- }
- if(bCurrentNum)
- bFirstItem = bCurrentNum-( bCurrentNum%bItemNumPerPage);
- else
- bFirstItem = 0;
- for(bI=0;bI<bItemNum;bI++)
- {
- OledShowIconNew(1,IM_ITEM_UNSELECT,8,3+ITEM_START_ROW+(bI+bOffset)*ITEM_ROW_OFF);
- gfTransparent = TRUE;
- StrShowSysString(pcbSetupListStr[(gxbUiMenuMainStates&0x1f)][bFirstItem+bI],ITEM_START_COL,2+ITEM_START_ROW+(bI+bOffset)*ITEM_ROW_OFF);
- }
- ShowSetupItemSelect(pcbSetupListStr[(gxbUiMenuMainStates&0x1f)][bCurrentNum],bCurrentNum);
- gfTransparent = FALSE;
- }
- //TONY070104 End
- main(void)
- {
- BYTE bKey;
- //tne 2005/08/24 //use bKey for temp variable to get RTC counter
- //bKey=obDCV_INT_FLAG; //tne 2006/08/08 #1
- #if(SETTING_FOR_ICE_START)
- SettingForIceStart();
- //SM Clock
- obCLKSMDIVF=0x01;
- obCLKSMCTRL=0xc8; //147/3=49
- NandInit();
- KeyInit();
- FsInit(); //Vicky050303#1
- #if(!OLED_USE_SM_INTERFEACE)
- OledCtrlEn();
- obPARLCD = 0x31; //Select Parallel Mode & Give CS Hight
- obMODSEL2 |= LCD_PAR_EN; //LCD Parallel mode enable
- obCLKLCDCTRL |= (LCD_CLK_EN | LCD_CLK_3000); //LCD Enable & Set Clock 3MHz
- OledCtrlDis();
- #endif
- OledInit() ;
- FontTableInit();
- LoadStringTableIndex();
- LoadTransTableIndex();
- EnableTimer0();
- gxbDeviceMode=DEV_SYS;
- gxwAutoOff=0;
- gxbStorage=STOR_NAND;
- #if(ENABLE_SD_FUNCTION)
- SdDefaultSetting();
- #endif
- LoadRecInfo();
- gxdwSClockOffset=0;
- #endif
- SetSysSpeed(SYS_SPEED_NORMAL);//Nick060808
- //use bKey for temp counter
- #if(SETTING_FOR_ICE_START)
- for(bKey=0;bKey<=5;bKey++)
- gxbUserDefEq[bKey]=8;
- #endif
- OLED_DISP_MASK_INIT();
- bKey=KEY_INVALID;
- EX0=1;
- EA=1;
- #if(ICE_REAL_MODE) //vicky061001#2 Debug Play
- EnableTimer0();
- IE=0x83;
- #endif
- #if(ENABLE_SD_FUNCTION&&SD_DET_USE_INT1) //Nick060808
- EX1=1;
- gbDdmCheck = obGPIO_INT_FLAG&obGPIO_INT_MASK;//use gbDdmCheck as temp, ok la
- if(gbDdmCheck&0x20)//gpiod5 // sd init flase anyway, even SD/MMC plug in
- gfSDinit = FALSE;
- #endif
- //disable cdc to save power
- //ClkCdcDis();
- // set default common value
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_UNICODE;
- #else
- gxfSourceUnicode=STRING_TYPE_ASCII;
- #endif
- #if(SYS_USE_KEY_HOLD)
- gfLastKeyLocked=KEY_UNLOCK;
- #endif
- UI_SET_DEFAULT();
- gfFormatType=UI_QUICK_FORMAT_MENU;
- gfDelFile=FALSE; //vicky050203
- gfRtcUpdate=FALSE;
- gxbExceptFileAttrib=(FILE_ATTR_LABEL|FILE_ATTR_SYSTEM|FILE_ATTR_HIDDEN); //tne del with mtp
- NandPrivateEn();
- ReadSettingData(FS_DATA_0_0);
- NandPrivateDis();
- gxbRecOption=gxbFsData[SRAM_VAD_MODE+gxwOffsetDataSec]; //tne 2006/01/16
- gxbTimeZone=(gxbFsData[SRAM_TIME_ZONE+gxwOffsetDataSec]&0x7F); //tne 2005/11/23 #3
- gpstFileIndex=&stUiFileListData;
- gpstFileIndex->pbFileName=gxbFileName;
- gpstFileIndex->pbLongFileName=gxbLongFileName;
- gpstFileIndex->bPathDepth=0;
- gpstFileIndex->dwDirStartSec=gxdwRoot;
- gpstFileIndex->dwDirSec[0]=gxdwRoot;
- gpstFileIndex->wDirOffset[0]=0;
- //tne 2006/10/03 #1 start
- #if(UI_USE_CLASS_LIST)
- if( ((gxbStorage==STOR_NAND)&&(gxbFsData[SRAM_MSC_MODIFY_FLAG+gxwOffsetDataSec]==MSC_DATA_NOT_MODIFIED)) ||
- ((gxbStorage!=STOR_NAND)&&(gxbFsData[SRAM_SD_MODIFY_FLAG+gxwOffsetDataSec]==SD_DATA_NOT_MODIFIED)) )
- { gdwCdbAddPoint=CDB_INIT_POINT; }
- else
- { gdwCdbAddPoint=CDB_NULL_POINT; }
- #endif
- //tne 2006/10/03 #1 end
- //OLED_CLEAR_ALL();
- // Walace050928
- #if(ENABLE_SD_FUNCTION&UI_USE_CHK_CARD)
- if(gxbStorage!=STOR_NAND)
- UiCheckCardRemoved();
- #endif
- //card removed, not use init error handle
- #if(_PM_SYS_&UI_USE_CHK_CARD)
- if(gxbLastErrCode==ERR_CARD_REMOVED)
- {
- UiShwCardRemoved();
- }
- #endif
- #if(USE_ERR_MSG_DISPLAY)
- UiCheckIniErr();
- #endif
- gxbSelUserDefEq=5;
- //Ui for class
- #if(UI_USE_CLASS_LIST)
- CdbGetDbSector();
- //tne 2006/10/03 #1 start //check CDB Ready
- NandPrivateEn();
- if(gdwCdbAddPoint!=CDB_NULL_POINT)
- {
- if(CdbGetDataBaseHeader(CDB_HEADER_GENRE_STRAT_ADD)==CDB_NULL_POINT)
- gdwCdbAddPoint=CDB_NULL_POINT;
- }
- NandPrivateDis();
- //tne 2006/10/03 #1 end
- #endif
- #if(DRM_MODE_EN)
- UiSearchMtpPropFile();
- #else
- gxbExceptFileAttrib=(FILE_ATTR_LABEL|FILE_ATTR_SYSTEM|FILE_ATTR_HIDDEN);
- #endif
- if(gxbDeviceMode==DEV_FILE_CTRL) //tne 2007/01/12 #1
- {
- UiGoSysFileMenu();
- gxbSettingBuffer[SETTING_DISPLAY_SWAPING]=TRUE;
- gxbSettingBuffer[SETTING_NEXT_MODE]=SAVE_AND_SEL_MODE;
- gxbLastErrCode=ERR_NO_ERROR;
- SaveSetting();
- }
- //bUiMenuMainStates=UI_SYS_MENU;//TONY 070104
- gxbUiMenuMainStates=UI_SYS_ROOT_MENU;
- gxbUiMenuSubStates=UI_SYS_MENU_USB_MODE;
- UiSysMenuRedrawAll() ;
- // modify by tne 2004/11/17 BL
- //UiFirstBackLight();
- bKey=obDCV_INT_FLAG; //tne 2006/08/08 #1
- UiGoSysMenu();
- while(1)
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- if(((gxbUiMenuSubStates%ITEM_NUM_OPAGE)==0)||(gxbUiMenuSubStates==0))
- {
- if(gxbUiMenuSubStates)
- gxbUiMenuSubStates--;
- else
- gxbUiMenuSubStates=UI_SYS_MENU_MAX_ITEM-1;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_MAX_ITEM);
- }
- else
- {
- gxbUiMenuSubStates--;
- ShowSetupItemUnSelect(cwStringSystemList[gxbUiMenuSubStates+1],gxbUiMenuSubStates+1);
- ShowSetupItemSelect( cwStringSystemList[gxbUiMenuSubStates],gxbUiMenuSubStates);
- }
- break;
- case KEY_RIGHT_BREAK:
- if(((gxbUiMenuSubStates+1)%ITEM_NUM_OPAGE==0)||(gxbUiMenuSubStates==(UI_SYS_MENU_MAX_ITEM-1)))
- {
- if(gxbUiMenuSubStates==(UI_SYS_MENU_MAX_ITEM-1))
- gxbUiMenuSubStates =0;
- else
- gxbUiMenuSubStates++;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_MAX_ITEM);
- }
- else
- {
- gxbUiMenuSubStates++;
- ShowSetupItemUnSelect(cwStringSystemList[gxbUiMenuSubStates-1],gxbUiMenuSubStates-1);
- ShowSetupItemSelect( cwStringSystemList[gxbUiMenuSubStates],gxbUiMenuSubStates);
- }
- break;
- case KEY_UP_BREAK:
- //UI_SHOW_MENU_TITLE_STRING(cwStringSystemList[gxbUiMenuSubStates]);
- switch(gxbUiMenuSubStates)
- {
- case UI_SYS_MENU_USB_MODE:
- UiGoSysDrmMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_USB_MODE;
- //UiGoSysMenu();
- break;
- case UI_SYS_MENU_TIME:
- UiGoSysTimeMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_TIME;
- //UiGoSysMenu();
- break;
- case UI_SYS_MENU_POWER:
- UiGoSysEditPSave();
- gxbUiMenuSubStates=UI_SYS_MENU_POWER;
- //UiSysMenuRedrawAll() ;
- break;
- case UI_SYS_MENU_LANG:
- UiGoSysLangMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_LANG;
- //UiGoSysMenu();
- break;
- case UI_SYS_MENU_DISPLAY:
- UiGoDispMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_DISPLAY;
- //UiGoSysMenu();
- break;
- case UI_SYS_MENU_REC:
- /* //TONY 070104
- #if(UI_USE_REC_SOURCE|UI_USE_REC_VAD)
- UiDrawSubMenu(cwStringSystemList[UI_SYS_MENU_REC]);
- UiGoRecMenuFrom();
- #else
- #if(UI_USE_LINE_REC_QTY)
- //Walace060914#1 start
- //OledClearArea(SEG2,LINE0,SEG8,LINE1) ;
- //OledClearArea(SEG0,LINE1,OLED_MAX_COL-SEG0,OLED_MAX_ROW-LINE1) ;
- OledClearArea(SEG0,UI_MENU_FRAME_ROW,OLED_MAX_COL-SEG0,OLED_MAX_ROW-UI_MENU_FRAME_ROW);//LcdClearBlock(2,0,6,MAX_COLNUM+1);
- //Walace060914#1 end
- StrShowSysString(SYS_STR_MENU_REC_QUALITY,SEG2,PAGE0);
- #else
- UiDrawSubMenu(SYS_STR_MENU_REC_QUALITY);
- #endif
- gxbUiMenuSubStates=gxbRecQuality;
- gxbUiMenuMainStates=UI_QTY_MENU;
- UiGoRecQtyMenu();
- #endif
- */
- UiRecMenuForSys();
- gxbUiMenuSubStates=UI_SYS_MENU_REC;
- //UiGoSysMenu();
- break;
- case UI_SYS_MENU_TOOL:
- UiGoToolMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_TOOL;
- //UiGoSysMenu();
- break;
- #if(UI_USE_USER_EQ)
- case UI_SYS_MENU_USER_EQ:
- UiGoUserDefEqMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_USER_EQ;
- UiSysMenuRedrawAll() ;
- break;
- #endif
- #if(UI_USE_STORAGE_SOURCE)
- case UI_SYS_MENU_STORAGE:
- UiGoStorMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_STORAGE;
- //UiGoSysMenu();
- break;
- #endif
- #if(_PEDOMETER_Mode_)
- case UI_SYS_MENU_PEDOMETER:
- UiGoPedoMeterMenu();
- gxbUiMenuSubStates=UI_SYS_MENU_PEDOMETER;
- //UiGoSysMenu();
- break;
- #endif
- }
- gxbUiMenuMainStates=UI_SYS_ROOT_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_MAX_ITEM);
- break;
- //#if(!UI_USE_MODE_KEY)
- //tne 2007/01/13 #1
- case KEY_FUNC_BREAK:
- gxbSettingBuffer[SETTING_DISPLAY_SWAPING]=TRUE;
- gxbSettingBuffer[SETTING_NEXT_MODE]=SAVE_AND_SEL_MODE;
- gxbLastErrCode=ERR_NO_ERROR;
- SaveSetting();
- break;
- //#endif
- }
- }
- }
- void UiGoSysDrmMenu(void) large
- {
- BYTE bKey;
- //UI_SHOW_MENU_TITLE_STRING(SYS_STR_SMP_TITLE_USBMODE); //tne 2005/11/25 #1
- gxbUiMenuMainStates=UI_SYS_MENU;
- #if(!DRM_MODE_EN) // modify by Rojam 2007-04-16 15:28
- gxbDrmOptionMode=0;
- #endif
- gxbUiMenuSubStates=(gxbDrmOptionMode&DRM_OPTION_MTP_MODE);
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_USB_MODE_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_SMP_TITLE_USBMODE);
- while(1)
- {
- //UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_USB_MODE_MAX_ITEM);
- //UI_SHOW_MENU_TAG_STRING(cwStringSysDrmList[gxbUiMenuSubStates]);
- #if(DRM_MODE_EN) // modify by Rojam 2007-04-16 15:28
- ShowSetupItemUnSelect(cwStringSysDrmList[!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- #endif
- ShowSetupItemSelect(cwStringSysDrmList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- #if(DRM_MODE_EN) // modify by Rojam 2007-04-16 15:28
- case KEY_LEFT_BREAK:
- case KEY_LEFT_LONG_BREAK:
- case KEY_RIGHT_BREAK:
- case KEY_RIGHT_LONG_BREAK:
- gxbUiMenuSubStates ^= 1;
- break;
- #endif
- case KEY_UP_BREAK:
- //case KEY_UP_LONG_BREAK:
- gxbDrmOptionMode=gxbUiMenuSubStates;
- //SramWrite(SRAM_DRM_OPTION_MODE,&gxbDrmOptionMode); //tne 2006/05/10 #3
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- void UiGoToolMenu(void) large
- {
- BYTE bKey;
- //ToolMenuStart:
- // UI_SHOW_MENU_TITLE_STRING(SYS_STR_SMP_TITLE_SYSTOOL); //tne 2005/11/25 #1
- gxbUiMenuSubStates=UI_SYSTOOL_DEL_MENU;
- gxbUiMenuMainStates=UI_SYSTOOL_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_TOOL_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_SMP_TITLE_SYSTOOL);
- while(1)
- {
- // UI_SHOW_MENU_TAG_STRING(cwStringSysToolList[gxbUiMenuSubStates]);
- // UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_TOOL_MAX_ITEM);
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- if((gxbUiMenuSubStates%ITEM_SUB_NUM_OPAGE==0)||(gxbUiMenuSubStates==0))
- {
- if(gxbUiMenuSubStates)
- gxbUiMenuSubStates--;
- else
- #if(0)//#if(UI_USE_CLASS_LIST) //TONY070308
- gxbUiMenuSubStates=UI_SYSTOOL_REFRESH_MENU;
- #else
- //gxbUiMenuSubStates=UI_SYSTOOL_INFO_MENU; //Walace060323#1
- gxbUiMenuSubStates=UI_SYSTOOL_DEL_LICENSE_MENU;
- #endif
- #if(0)//#if(UI_USE_CLASS_LIST) //TONY070308
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYSTOOL_REFRESH_MENU+1);
- #else
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYSTOOL_DEL_LICENSE_MENU+1);
- #endif
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_SMP_TITLE_SYSTOOL);
- }
- else
- {
- gxbUiMenuSubStates--;
- ShowSetupItemUnSelect(cwStringSysToolList [gxbUiMenuSubStates+1],gxbUiMenuSubStates+1);
- ShowSetupItemSelect( cwStringSysToolList[gxbUiMenuSubStates],gxbUiMenuSubStates);
- }
- break;
- case KEY_RIGHT_BREAK:
- #if(0)//#if(UI_USE_CLASS_LIST) //TONY070308
- if((((gxbUiMenuSubStates+1)%ITEM_SUB_NUM_OPAGE)==0)||(gxbUiMenuSubStates==UI_SYSTOOL_REFRESH_MENU))
- #else
- if((((gxbUiMenuSubStates+1)%ITEM_SUB_NUM_OPAGE)==0)||(gxbUiMenuSubStates==UI_SYSTOOL_DEL_LICENSE_MENU))
- #endif
- {
- #if(0)//#if(UI_USE_CLASS_LIST) //TONY070308
- if(gxbUiMenuSubStates==UI_SYSTOOL_REFRESH_MENU)
- #else
- if(gxbUiMenuSubStates==UI_SYSTOOL_DEL_LICENSE_MENU)
- #endif
- gxbUiMenuSubStates =0;
- else
- gxbUiMenuSubStates++;
- #if(0)// #if(UI_USE_CLASS_LIST)
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYSTOOL_REFRESH_MENU+1);
- #else
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYSTOOL_DEL_LICENSE_MENU+1);
- #endif
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_SMP_TITLE_SYSTOOL);
- }
- else
- {
- ShowSetupItemUnSelect(cwStringSysToolList[gxbUiMenuSubStates],gxbUiMenuSubStates);
- gxbUiMenuSubStates++;
- ShowSetupItemSelect( cwStringSysToolList[gxbUiMenuSubStates],gxbUiMenuSubStates);
- }
- break;
- case KEY_UP_BREAK:
- // if(gxbUiMenuSubStates!=UI_SYSTOOL_DEL_MENU) //Tne060912#1
- // UI_SHOW_MENU_TITLE_STRING(cwStringSysToolList[gxbUiMenuSubStates]);
- UI_SHOW_MENU_TITLE_ITEM_STRING(cwStringSysToolList[gxbUiMenuSubStates]);
- switch(gxbUiMenuSubStates)
- {
- case UI_SYSTOOL_DEL_MENU:
- UiGoSysFileMenu();
- gxbUiMenuSubStates=UI_SYSTOOL_DEL_MENU;
- //UiSysMenuRedrawAll(); // WHH070311#1 start
- UiShowLargeBackground(5,IM_BROWSER_BG_03_S1); //tne 2007/01/10 #2
- gfTransparent =TRUE;
- StrShowSysString(SYS_STR_SYSTEM_MODE, LCD_AUTO_CENTER_COL,(ITEM_START_ROW-18));
- gfTransparent =FALSE;
- UiShowNormalTitleInfo();
- break; // WHH070311#1 end
- case UI_SYSTOOL_FORMAT_MENU:
- UiGoSysFormatMenu();
- gxbUiMenuSubStates=UI_SYSTOOL_FORMAT_MENU;
- break;
- //goto ToolMenuStart;
- case UI_SYSTOOL_RESTOR_MENU:
- //UiGoRestoreSureMenu(); //Walace060323#1
- UiGoFuncMakeSureMenu(UI_SYSTOOL_RESTOR_MENU);
- gxbUiMenuSubStates=UI_SYSTOOL_RESTOR_MENU;
- break;
- case UI_SYSTOOL_INFO_MENU:
- UiGoSysInfo();
- break;
- #if(UI_USE_CLASS_LIST)
- case UI_SYSTOOL_REFRESH_MENU:
- // UiGoRefreshSureMenu();
- UiGoFuncMakeSureMenu(UI_SYSTOOL_REFRESH_MENU); //TONY070106
- gxbUiMenuSubStates=UI_SYSTOOL_REFRESH_MENU;
- break;
- #endif
- case UI_SYSTOOL_DEL_LICENSE_MENU: //Walace060323#1
- //UiGoDeleteLicenseSureMenu(); //TONY070108
- UiGoFuncMakeSureMenu(UI_SYSTOOL_DEL_LICENSE_MENU);
- gxbUiMenuSubStates=UI_SYSTOOL_DEL_LICENSE_MENU;
- break;
- }
- gxbUiMenuMainStates=UI_SYSTOOL_MENU;
- // UiDrawSubMenu(SYS_STR_SMP_TITLE_SYSTOOL); //tne 2005/11/25 #1
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_TOOL_MAX_ITEM) ;
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_SYS_TOOLS);
- break;
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- //UI for class //tne 2007/01/14 #3
- #if(UI_USE_CLASS_LIST & 0)
- void UiGoRefreshSureMenu(void) large
- {
- BYTE bKey;
- UiDrawSubMenu(SYS_STR_TOOLS_REFRESH);
- gxbUiMenuSubStates=FALSE;
- //Walace060629#2 start
- if(gbFsUnableUse)
- {
- gxbLastErrCode=ERR_INIT_FS_ERR;
- OLED_CLEAR_ALL();
- #if(USE_ERR_MSG_DISPLAY)
- UiCheckIniErr();
- #endif
- return;
- }
- //Walace060629#2 end
- while(1)
- {
- //UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_YESNO_MAX_ITEM);
- UI_SHOW_MENU_TAG_STRING(cwStringSysYesNoList[gxbUiMenuSubStates]);
- do
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_RIGHT_BREAK:
- gxbUiMenuSubStates ^= 0x01;
- break;
- case KEY_UP_BREAK:
- if(gxbUiMenuSubStates)
- UiGoSysRefreshCdb();
- case KEY_FUNC_BREAK:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- #endif
- BYTE UiSysInfoFreeNum(WORD wFreeSize) large
- {
- BYTE bI,bJ;
- if(wFreeSize>=1000)
- bI=8;
- else if(wFreeSize>=100)
- bI=7;
- else if(wFreeSize>=10)
- bI=6;
- else
- bI=5;
- for(bJ=bI;bJ>4;bJ--)
- {
- gxbStringBuffer[bJ]=(wFreeSize%10)+0x30;
- wFreeSize = wFreeSize/10;
- }
- return bI;
- }
- void UiGoSysInfo(void) large
- {
- BYTE bKey,bI;
- DWORD dwFreeSize;
- gxbUiMenuMainStates=UI_SYSINFO_MENU; //tne 2006/08/07 #2
- // OLED_CLEAR_ALL();
- // OledShowIcon(ICON_LAB_SETUP,SEG0,LINE0) ;
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW);
- // UI_SHOW_MENU_TITLE_STRING(cwStringSysToolList[UI_SYSTOOL_INFO_MENU]);
- UI_SHOW_MENU_TITLE_ITEM_STRING(cwStringSysToolList[UI_SYSTOOL_INFO_MENU]);
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_ASCII;
- #endif
- for(bI=0;bI<sizeof(cbStringFW);bI++)
- gxbStringBuffer[bI]=cbStringFW[bI];
- //Walace060616#1 Vender ID start
- gxbStringBuffer[3]=((VENDER_1&0xF0)>>4)+0x30;
- gxbStringBuffer[4]=(VENDER_1&0x0F)+0x30;
- gxbStringBuffer[6]=((VENDER_2&0xF0)>>4)+0x30;
- gxbStringBuffer[7]=(VENDER_2&0x0F)+0x30;
- gxbStringBuffer[9]=((VENDER_3&0xF0)>>4)+0x30;
- gxbStringBuffer[10]=(VENDER_3&0x0F)+0x30;
- /*
- gxbStringBuffer[3]=((KERNALVER_1&0xF0)>>4)+0x30;
- gxbStringBuffer[4]=(KERNALVER_1&0x0F)+0x30;
- gxbStringBuffer[6]=((KERNALVER_2&0xF0)>>4)+0x30;
- gxbStringBuffer[7]=(KERNALVER_2&0x0F)+0x30;
- gxbStringBuffer[9]=((KERNALVER_3&0xF0)>>4)+0x30;
- gxbStringBuffer[10]=(KERNALVER_3&0x0F)+0x30;
- */
- //Walace060616#1 Vender ID end
- gfTransparent =TRUE;
- //StrShowString(gxbStringBuffer,ITEM_START_COL+0,ITEM_START_ROW+ITEM_ROW_OFF,11); // modify by Rojam 2007-04-17 10:8
- StrShowString(gxbStringBuffer,ITEM_START_COL-16,ITEM_START_ROW+ITEM_ROW_OFF,11);
- for(bI=0;bI<sizeof(cbStringChip);bI++)
- gxbStringBuffer[bI]=cbStringChip[bI];
- gxbStringBuffer[5]=((gxbChipVerCode&0xF0)>>4)+0x30;
- gxbStringBuffer[6]=(gxbChipVerCode&0x0F)+0x30;
- //StrShowString(gxbStringBuffer,ITEM_START_COL+0,ITEM_START_ROW+ITEM_ROW_OFF*2,7); // modify by Rojam 2007-04-17 10:9
- StrShowString(gxbStringBuffer,ITEM_START_COL-16,ITEM_START_ROW+ITEM_ROW_OFF*2,7);
- for(bI=0;bI<sizeof(cbStringFree);bI++)
- gxbStringBuffer[bI]=cbStringFree[bI];
- //Display free size
- dwFreeSize=gxdwNumFreeClu*gbSecPerClu; //(wFreeSize*512=byte)
- if(dwFreeSize>=2048) //display MB (1024*1024/512=2048)
- {
- dwFreeSize=dwFreeSize>>11;
- bI=UiSysInfoFreeNum(dwFreeSize);
- gxbStringBuffer[bI+1]=cbStringMB[0];
- gxbStringBuffer[bI+2]=cbStringMB[1];
- //StrShowString(gxbStringBuffer,ITEM_START_COL+0,ITEM_START_ROW+ITEM_ROW_OFF*3,bI+3); // modify by Rojam 2007-04-17 10:9
- StrShowString(gxbStringBuffer,ITEM_START_COL-16,ITEM_START_ROW+ITEM_ROW_OFF*3,bI+3);
- }
- else// if(dwFreeSize>=2) //display KB (1024/512=2)
- {
- dwFreeSize=dwFreeSize>>1;
- bI=UiSysInfoFreeNum(dwFreeSize);
- gxbStringBuffer[bI+1]=cbStringKB[0];
- gxbStringBuffer[bI+2]=cbStringKB[1];
- //StrShowString(gxbStringBuffer,ITEM_START_COL+0,ITEM_START_ROW+ITEM_ROW_OFF*3,bI+3);// modify by Rojam 2007-04-17 10:9
- StrShowString(gxbStringBuffer,ITEM_START_COL-16,ITEM_START_ROW+ITEM_ROW_OFF*3,bI+3);
- }
- gfTransparent =FALSE;
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_UNICODE;
- #endif
- while(1)
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- for(bI=0;bI<255;bI++) //delay for key detect
- { };
- if((bKey==KEY_UP_BREAK)||(bKey==KEY_FUNC_BREAK)||(bKey==KEY_FUNC_LONG))
- return;
- }
- }
- void UiGoSysFormatMenu(void) large
- {
- BYTE bKey;
- gxbUiMenuMainStates=UI_FORMAT_MENU;
- gxbUiMenuSubStates=gfFormatType;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_FORMAT_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_TOOLS_FORMAT);
- while(1)
- {
- // UI_SHOW_MENU_TAG_STRING(cwStringFormatList[gxbUiMenuSubStates]);
- // UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_FORMAT_MAX_ITEM);
- ShowSetupItemUnSelect(cwStringFormatList [!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- ShowSetupItemSelect(cwStringFormatList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_RIGHT_BREAK:
- gxbUiMenuSubStates ^= 0x01;
- break;
- case KEY_UP_BREAK:
- gfFormatType=gxbUiMenuSubStates;
- UiGoFormatSureMenu();
- gxbUiMenuSubStates=gfFormatType;
- break;
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- void UiGoFormatProcess(void) //Walace060323#1
- {
- gxbLastUIFormatSts=0xFF; //vicky060929#1
- //if(gfFormatType==UI_QUICK_FORMAT_MENU) //Walace060629#2
- if(gfFormatType==UI_QUICK_FORMAT_MENU&&gxbFatType!=FAT_UNKNOW) //Walace060629#2
- {
- FsQuickFormat();
- }
- else
- {
- gfFormatType = UI_COMPLETE_FORMAT_MENU; //Walace060726#1
- //vicky060928#1
- if(BattCheck()>BATTERY_LV_LOW_FOR_REC)
- {
- FsFullFormat();
- }
- else
- {
- // OLED_CLEAR_ALL();
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW+ITEM_ROW_OFF);
- //OledShowIcon(ICON_BATT_WARRING,SEG3+ITEM_START_COL,ITEM_ROW_OFF+ITEM_START_ROW);
- OledShowIconNew(1,ICON_BATT_WARRING,(OLED_MAX_COL-48)/2,(OLED_MAX_ROW-48)/2);
- gxbLcdCounter=0;
- while(gxbLcdCounter<UI_SHW_WAKE_UP_DELAY_TIME) { };
- }
- //End
- }
- FsWriteLabelName(); //tne 2005/12/19 //Walace060725#1
- LoadRecInfo(); //vicky050214 #1
- UiFsRecInit(); //vicky050203
- FsInfoUpdate(); //tne 2005/05/10
- if(gxbStorType==STOR_NAND) //Walace060904#1
- NandFinishJob();
- #if(USE_ERR_MSG_DISPLAY)
- // OLED_CLEAR_ALL();
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW+ITEM_ROW_OFF);
- UiCheckIniErr();
- #endif
- }
- void UiGoFormatSureMenu(void) large
- {
- BYTE bKey;
- // UiDrawSubMenu(cwStringSysToolList[UI_SYSTOOL_FORMAT_MENU]);
- // UI_SHOW_MENU_TITLE_STRING(cwStringSysToolList[UI_SYSTOOL_FORMAT_MENU]); //tne 2005/11/25 #1
- gxbUiMenuMainStates =UI_DEL_YES_NO_MENU;
- gxbUiMenuSubStates =FALSE ;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_YESNO_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(cwStringSysToolList[UI_SYSTOOL_FORMAT_MENU]);
- UiShowFormatWarning(); // Jeff070312#1
- //gxbUiMenuSubStates=FALSE;
- while(1)
- {
- ShowSetupItemUnSelect(cwStringSysYesNoList[!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- ShowSetupItemSelect(cwStringSysYesNoList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_LEFT_LONG_BREAK:
- case KEY_RIGHT_BREAK:
- case KEY_RIGHT_LONG_BREAK:
- gxbUiMenuSubStates ^= 0x01;
- break;
- case KEY_UP_BREAK:
- //case KEY_UP_LONG_BREAK:
- if(gxbUiMenuSubStates)
- {
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW+ITEM_ROW_OFF);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_FORMATING);
- //Walace060323#1 start
- UiGoFormatProcess();
- /*
- if(gfFormatType==UI_QUICK_FORMAT_MENU)
- FsQuickFormat();
- else
- FsFullFormat();
- UiWriteLabelName(); //tne 2005/12/19
- LoadRecInfo(); //vicky050214 #1
- UiFsRecInit(); //vicky050203
- FsInfoUpdate(); //tne 2005/05/10
- NandFinishJob();
- #if(USE_ERR_MSG_DISPLAY)
- OLED_CLEAR_ALL();
- UiCheckIniErr();
- #endif
- */
- //Walace060323#1 end
- // UiDrawSubMenu(cwStringSysToolList[UI_SYSTOOL_FORMAT_MENU]);
- gxbUiMenuMainStates =UI_DEL_YES_NO_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_YESNO_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(cwStringSysToolList[UI_SYSTOOL_FORMAT_MENU]);
- }
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- //UI_SHOW_MENU_TAG_STRING(cwStringSysYesNoList[gxbUiMenuSubStates]);
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW+ITEM_ROW_OFF); // Jeff070312#1
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- gpstFileIndex=&stUiFileListData; //Vicky050321#3
- }
- void UiRestoreProcess(void) //Walace060323#1
- {
- BYTE bTemp;
- NandPrivateEn();
- ReadSettingData(FS_DATA_0_0);
- RestoreDefaultSetting();
- NandFinishJob();
- NandPrivateDis();
- //tne 2005/04/26
- //Disable alarm clock 050920
- obDCVARRD=0x03;
- obDCVWRDATA=(obDCVRDDATA&RTC_ALARM_DIS);
- obDCV_INT_MASK &= 0xF7; //disable alarm mask
- for(bTemp=0;bTemp<8;bTemp++) //reset clock and alarm
- {
- obDCVARRD=bTemp+0x15;
- obDCVWRDATA=0;
- }
- gfAlarmTimeUp = FALSE;
- gxbTimeZone=TIME_ZONE_DEFAULT;
- gxbRecOption=REC_VAD_DEFAULT; //tne 2006/01/16
- gxbPlaybackRate=0;
- LoadStringTableIndex();
- LoadTransTableIndex();
- // Jeff070309#3 start
- gxbStorType=STOR_NAND;
- #if(NEW_FLASH)
- NandInit(NDINIT_DONE);
- #else
- NandInit();
- #endif
- FsInit();
- if(!FsInfoCheck())
- {
- FsRecInit();
- }
- // Jeff070309#3 end
- //UI for class
- #if(UI_USE_CLASS_LIST)
- UiGoSysRefreshCdb();
- #endif
- //LCD_CTRL_EN();
- }
- //Walace060323#1
- void SetPrivateArea(WORD wStartSec,WORD wByteLen,BYTE bValue)
- {
- // WORD wSecIndex;
- WORD wByteIndex;
- WORD wProcessLen;
- NandPrivateEn();
- while(wByteLen)
- {
- if(wByteLen>=512)
- wProcessLen=512;
- else
- wProcessLen=wByteLen;
- FsRead(wStartSec, 1, FS_DATA_0_0);
- for(wByteIndex=0;wByteIndex<wProcessLen;wByteIndex++)
- *(gxbFsData+gxwOffsetDataSec+wByteIndex)=bValue;
- wByteLen-=wProcessLen;
- if(!wByteLen)
- FsWrite(wStartSec, 1, FS_DATA_0_0);
- wStartSec++;
- gfKeptDataModified=TRUE;
- }
- NandPrivateDis();
- }
- //Walace060323#1
- void UiDelLicenseProcess(void)
- {
- WORD wLicIndexStartSec;
- WORD wLicValidStartSec;
- WORD wLicStoreStartSec;
- WORD wLicMaxNum;
- #if MTP_SUPPORT_METERING
- WORD wMidIndexStartSec;//Chris add 060919 #1 Clean MID
- WORD wMidMaxSec;//Chris add 060919 #1 Clean MID
- #endif
- NandPrivateEn();
- FsRead(0, 1, FS_DATA_0_0);
- wLicIndexStartSec = (((WORD)gxbFsData[7]<<8)|gxbFsData[6]);
- wLicValidStartSec = (((WORD)gxbFsData[9]<<8)|gxbFsData[8]);
- wLicStoreStartSec = (((WORD)gxbFsData[11]<<8)|gxbFsData[10]);
- #if MTP_SUPPORT_METERING
- wMidIndexStartSec = (((WORD)gxbFsData[21]<<8)|gxbFsData[20]);//Chris add 060919 #1 Clean MID
- #endif
- wLicMaxNum= (((WORD)gxbFsData[509]<<8)|gxbFsData[508]);
- #if MTP_SUPPORT_METERING
- wMidMaxSec= 313;//Chris add 060919 #1 Clean MID
- #endif
- NandPrivateDis();
- SetPrivateArea(wLicIndexStartSec,wLicMaxNum*LIC_INDEX_LENGTH,0x00);
- SetPrivateArea(wLicValidStartSec,(wLicMaxNum+7)/8,0xFF); //Walace060920#3
- SetPrivateArea(wLicStoreStartSec,wLicMaxNum*LIC_STORE_LENGTH,0x00);
- #if MTP_SUPPORT_METERING
- SetPrivateArea(wMidIndexStartSec,wMidMaxSec<<9,0x00); //Chris add 060919 #1 Clean MID
- #endif
- }
- #if(0) //tne 2007/01/14 #3
- void UiGoDeleteLicenseSureMenu(void)
- {
- BYTE bKey;
- //tne 2006/11/20 #2 start
- gxbUiMenuMainStates=UI_DEL_LIC_YES_NO_MENU;
- OLED_CLEAR_ALL();
- StrShowSysString(cwStringSysToolList[UI_SYSTOOL_DEL_LICENSE_MENU],LCD_AUTO_CENTER_COL,PAGE0);
- //OledClearArea(WORD0,LINE1,OLED_MAX_COL-WORD0,OLED_MAX_ROW-LINE1);
- //tne 2006/11/20 #2 end
- gxwFGColor=OLED_RED;
- StrShowSysString(SYS_STR_LICENSE_ALL_FILES,LCD_AUTO_CENTER_COL,LINE1);
- StrShowSysString(SYS_STR_LICENSE_WILL_BE_DELETED,LCD_AUTO_CENTER_COL,LINE2);
- gxwFGColor=OLED_FG_COLOR;
- StrShowSysString(SYS_STR_YES,WORD1,LINE3);
- StrShowSysString(SYS_STR_NO,WORD4,LINE3);
- gxbUiMenuSubStates=0x00;
- OledReverse(SEG1,LINE3,WORD2,LINE1); //Walace060504#2
- while(TRUE)
- {
- OledReverse(SEG7,LINE3,WORD2,LINE1); //Walace060504#2
- OledReverse(SEG1,LINE3,WORD2,LINE1); //Walace060504#2
- do
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_RIGHT_BREAK:
- gxbUiMenuSubStates ^= 0x01;
- break;
- case KEY_UP_BREAK:
- case KEY_UP_LONG_BREAK:
- if(gxbUiMenuSubStates)
- {
- OLED_CLEAR_ALL();
- StrShowSysString(SYS_STR_LICENSE_DELETTING,LCD_AUTO_CENTER_COL,PAGE2);
- UiDelLicenseProcess();
- OLED_CLEAR_ALL();
- StrShowSysString(SYS_STR_FORMATING,LCD_AUTO_CENTER_COL,PAGE2);
- gfFormatType=UI_QUICK_FORMAT_MENU;
- UiGoFormatProcess();
- }
- case KEY_FUNC_BREAK:
- return;
- }
- }while(!(bKey&KEY_BREAK));
- }
- }
- #endif
- //void UiGoRestoreSureMenu(void) large
- void UiGoFuncMakeSureMenu(BYTE bFunCmd) large //Walace060323#1
- {
- BYTE bKey;
- // StrShowSysString(cwStringSysToolList[bFunCmd],SEG2,PAGE0);
- gxbUiMenuMainStates =UI_DEL_YES_NO_MENU;
- gxbUiMenuSubStates=FALSE;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_YESNO_MAX_ITEM);
- if(bFunCmd ==UI_SYSTOOL_RESTOR_MENU)
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_TOOLS_RESET);
- if(bFunCmd ==UI_SYSTOOL_DEL_LICENSE_MENU)
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_TOOLS_DEL_LICENSE);
- #if(UI_USE_CLASS_LIST)
- if(bFunCmd ==UI_SYSTOOL_REFRESH_MENU)
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_TOOLS_REFRESH);
- #endif
- if(bFunCmd ==UI_SYSTOOL_DEL_LICENSE_MENU||bFunCmd ==UI_SYSTOOL_FORMAT_MENU)
- { UiShowFormatWarning(); } // Jeff070312#1
- while(1)
- {
- // UI_SHOW_MENU_TAG_STRING(cwStringSysYesNoList[gxbUiMenuSubStates]);
- // UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_YESNO_MAX_ITEM);
- ShowSetupItemUnSelect(cwStringSysYesNoList[!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- ShowSetupItemSelect(cwStringSysYesNoList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_RIGHT_BREAK:
- gxbUiMenuSubStates ^= 0x01;
- break;
- case KEY_UP_BREAK:
- //case KEY_UP_LONG_BREAK:
- if(gxbUiMenuSubStates)
- { //Walace060323#1 //original code moved to UiRestoreProcess()
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW);
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW+16); // modify by Rojam for clear Icon 2007-04-17-10:58
- switch(bFunCmd)
- {
- case UI_SYSTOOL_RESTOR_MENU:
- UiRestoreProcess();
- break;
- case UI_SYSTOOL_DEL_LICENSE_MENU:
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_LICENSE_DELETTING);
- UiDelLicenseProcess();
- gfFormatType=UI_QUICK_FORMAT_MENU;//TONY070108
- UiGoFormatProcess();
- break;
- #if(UI_USE_CLASS_LIST)
- case UI_SYSTOOL_REFRESH_MENU:
- UiGoSysRefreshCdb(); //WHH070307#2
- break;
- #endif
- }
- }
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- void UiGoSysMenu(void)
- {
- // UI_SHOW_MENU_TAG_STRING(cwStringSystemList[gxbUiMenuSubStates]);
- // UI_SHOW_MENU_TITLE_STRING(SYS_STR_MENU);
- // UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_MAX_ITEM);
- }
- void UiSysMenuRedrawAll(void)
- {
- #if 0 //TONY070104
- UiDrawSubMenu(SYS_STR_MENU);
- UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_MAX_ITEM);
- StrShowSysString(cwStringSystemList[gxbUiMenuSubStates],LCD_AUTO_CENTER_COL,OLED_TAG_ROW);
- #endif
- //OledShowIconNew(1,IM_SETUP_BROWSER_BG,0,0);
- UiShowLargeBackground(5,IM_BROWSER_BG_03_S1); //tne 2007/01/10 #2
- gfTransparent =TRUE;
- StrShowSysString(SYS_STR_SYSTEM_MODE, LCD_AUTO_CENTER_COL,(ITEM_START_ROW-18));
- gfTransparent =FALSE;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_MAX_ITEM);
- UiShowNormalTitleInfo(); //tne 2007/01/10 #1
- /*
- UI_SHOW_BATTERY();
- UiShowAlarmPic();
- #if(SYS_USE_KEY_HOLD)
- UiShowKeyHold(); //tne 2006/07/14 #1
- #endif
- UiShowStorageSts();
- */
- }
- /*
- void UiSysMenuRedrawAll(void)
- {
- UiDrawSubMenu(SYS_STR_MENU);
- UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_SYS_MENU_MAX_ITEM);
- StrShowSysString(cwStringSystemList[gxbUiMenuSubStates],LCD_AUTO_CENTER_COL,OLED_TAG_ROW);
- }
- */
- /*
- API void UiGoNoMenu(void) large
- {
- gxbUiMenuMainStates=UI_SYS_MENU;
- }
- */
- void UiGoSysAlarmMenu(void) large
- {
- BYTE bKey;
- gxbUiMenuMainStates=UI_ALARM_MENU;
- gxbUiMenuSubStates=UI_ALARM_SET_MENU;
- #if(SYS_USE_KEY_HOLD)
- UiShowKeyHold();
- #endif
- UiShowStorageSts();
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_YESNO_MAX_ITEM) ;
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_TIME_ALARM);
- while(1)
- {
- // UiShowSubMenuNum(gxbUiMenuSubStates+1,2);
- // UI_SHOW_MENU_TAG_STRING(cwStringAlarmList[gxbUiMenuSubStates]);
- //fix by tne 2004/12/18 #1
- UiShowAlarmPic();
- ShowSetupItemUnSelect(cwStringAlarmList[!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- ShowSetupItemSelect(cwStringAlarmList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_LEFT_LONG_BREAK:
- case KEY_RIGHT_BREAK:
- case KEY_RIGHT_LONG_BREAK:
- gxbUiMenuSubStates ^= 1;
- break;
- case KEY_UP_BREAK:
- //case KEY_UP_LONG_BREAK:
- switch(gxbUiMenuSubStates)
- {
- case UI_ALARM_SET_MENU:
- UiSysSetAlarm();
- gxbUiMenuSubStates=UI_ALARM_SET_MENU;
- gxbUiMenuMainStates=UI_ALARM_MENU;
- break;
- case UI_ALARM_SWITCH_MENU:
- UiAlarmSwitchMenu();
- gxbUiMenuSubStates=UI_ALARM_SWITCH_MENU;
- break;
- }
- // UiDrawSubMenu(cwStringSysTimeList[UI_TIME_ALARM_MENU]);
- gxbUiMenuMainStates=UI_ALARM_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_YESNO_MAX_ITEM) ;
- UI_SHOW_MENU_TITLE_ITEM_STRING(cwStringSysTimeList[UI_TIME_ALARM_MENU])
- break;
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- //Tne050325
- //*************TEST For S-Clock, **************
- #if(0) //modify by Rojam 2007-03-28 16:55
- void UiShowSecureTime(void) large
- {
- DWORD dwSTime;
- BYTE bTimeEditLocate=UI_TIME_EDIT_HOUR_H,bKey;
- dwSTime=(LONG)gxdwNowTime+gxdwSClockOffset;
- OLED_CLEAR_ALL();
- //OledShowIcon(ICON_COLON,23,44) ; //Icon Colon
- //OledShowIcon(ICON_COLON,47,44) ; //Icon Colon
- //OledShowIcon(ICON_SLASH68,41,28) ; //Icon Slash
- //OledShowIcon(ICON_SLASH68,65,28) ; //Icon Slash
- StrShowString(cbStringTwenty,SEG1,PAGE3,2);
- UiSysGetNowTimeText(dwSTime);
- UiShowSetTime(bTimeEditLocate);
- do
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- for(dwSTime=0;dwSTime<1000;dwSTime++) {}; //delay for key
- }while(bKey<KEY_BREAK); //key break or key long
- }
- #endif
- void UiGoSysTimeMenu(void) large
- {
- BYTE bKey;
- //UI_SHOW_MENU_TITLE_STRING(cwStringSystemList[gxbUiMenuSubStates]); //tne 2005/11/25 #1
- gxbUiMenuMainStates=UI_TIME_MENU;
- gxbUiMenuSubStates=UI_TIME_NOW_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_TIME_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_SYS_TIME);
- while(1)
- {
- //UiShowSubMenuNum(gxbUiMenuSubStates+1,3);
- // UI_SHOW_MENU_TAG_STRING(cwStringSysTimeList[gxbUiMenuSubStates]);
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- if(gxbUiMenuSubStates>0)
- {
- gxbUiMenuSubStates--;
- ShowSetupItemUnSelect(cwStringSysTimeList[gxbUiMenuSubStates+1],gxbUiMenuSubStates+1);
- }
- else
- {
- gxbUiMenuSubStates=UI_TIME_ZONE_MENU;
- ShowSetupItemUnSelect(cwStringSysTimeList[0],0);
- }
- ShowSetupItemSelect( cwStringSysTimeList[gxbUiMenuSubStates],gxbUiMenuSubStates);
- break;
- case KEY_RIGHT_BREAK:
- if(gxbUiMenuSubStates<UI_TIME_ZONE_MENU)
- {
- gxbUiMenuSubStates++;
- ShowSetupItemUnSelect(cwStringSysTimeList[gxbUiMenuSubStates-1],gxbUiMenuSubStates-1);
- }
- else
- {
- gxbUiMenuSubStates=0;
- ShowSetupItemUnSelect(cwStringSysTimeList[UI_TIME_ZONE_MENU],UI_TIME_ZONE_MENU);
- }
- ShowSetupItemSelect( cwStringSysTimeList[gxbUiMenuSubStates],gxbUiMenuSubStates);
- break;
- case KEY_UP_BREAK:
- //UI_SHOW_MENU_TITLE_STRING(cwStringSysTimeList[gxbUiMenuSubStates]);
- switch(gxbUiMenuSubStates)
- {
- case UI_TIME_NOW_MENU:
- UiSysSetTime();
- gxbUiMenuSubStates=UI_TIME_NOW_MENU;
- break;
- case UI_TIME_ALARM_MENU:
- UiGoSysAlarmMenu();
- gxbUiMenuSubStates=UI_TIME_ALARM_MENU;
- break;
- case UI_TIME_ZONE_MENU:
- UiGoSysSetZoneMenu();
- gxbUiMenuSubStates=UI_TIME_ZONE_MENU;
- break;
- }
- gxbUiMenuMainStates=UI_TIME_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_TIME_MAX_ITEM) ;
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_SYS_TIME);
- break;
- //***************************************************
- //test for s-clock
- /*
- case KEY_REC_BREAK:
- UiShowSecureTime();
- UiDrawSubMenu(cwStringSystemList[gxbUiMenuMainStates]);
- break;
- */
- //***************************************************
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- void UiAlarmSwitchMenu(void) large
- {
- BYTE bKey;
- // UI_SHOW_MENU_TITLE_STRING(cwStringAlarmList[UI_ALARM_SWITCH_MENU]);
- gxbUiMenuMainStates=UI_SWITCH_MENU;
- obDCVARRD=0x03;
- if(obDCVRDDATA&RTC_GET_ALARM_STS)
- gxbUiMenuSubStates=UI_ALARM_ON_MENU;
- else
- gxbUiMenuSubStates=UI_ALARM_OFF_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_YESNO_MAX_ITEM) ;
- UI_SHOW_MENU_TITLE_ITEM_STRING(cwStringAlarmList[UI_ALARM_SWITCH_MENU])
- while(1)
- {
- // UiShowSubMenuNum(gxbUiMenuSubStates+1,UI_MENU_ONOFF_MAX_ITEM);
- // UI_SHOW_MENU_TAG_STRING(cwStringSwitchList[gxbUiMenuSubStates]);
- ShowSetupItemUnSelect(cwStringSwitchList[!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- ShowSetupItemSelect(cwStringSwitchList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_RIGHT_BREAK:
- gxbUiMenuSubStates ^= 1;
- break;
- case KEY_UP_BREAK:
- obDCVARRD=0x03;
- if(gxbUiMenuSubStates==UI_ALARM_ON_MENU)
- {
- obDCVWRDATA=(obDCVRDDATA|RTC_ALARM_EN);
- obDCV_INT_MASK |= 0x08; //enable alarm mask
- UiSysGetAlarmTime(); // alarm time may be illegal, reset it
- UiSetNewAlarmTime();
- }
- else
- {
- obDCVWRDATA=(obDCVRDDATA&RTC_ALARM_DIS);
- obDCV_INT_MASK &= 0xF7; //disable alarm mask
- }
- case KEY_FUNC_BREAK:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- void UiSetNowTime(void) large
- {
- BYTE bI;
- EA=0; //disable interrupt
- obDCVARRD=0x03;
- obDCVWRDATA=(obDCVRDDATA&RTC_COUNTER_DIS); //disable timer counter
- for(bI=0;bI<4;bI++)
- {
- obDCVARRD=bI+0x15;
- obDCVWRDATA=(gxdwNowTime>>(bI<<3));
- }
- obDCVARRD=0x03;
- obDCVWRDATA=(obDCVRDDATA|RTC_COUNTER_EN); //enable timer counter
- gfRtcUpdate=TRUE;
- EA=1;
- }
- //add by tne for s-clock
- void UiGoSysSetZoneMenu(void) large
- {
- BYTE bGmtTime[3],bEditTimeZone,bKey;
- DWORD dwTimeOffset;
- Start_Set_Zone:
- // OLED_CLEAR_ALL();
- // OledShowIcon(ICON_LAB_SETUP,SEG0,PAGE0) ; //Icon Setup
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW+ITEM_ROW_OFF);//TONY070105
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_TIME_ZONE);
- // UiShowAlarmPic(); //TONY070308
- #if(SYS_USE_KEY_HOLD) //Nick061120 //NandRestore
- UiShowKeyHold(); //tne 2006/07/14 #1
- #endif
- UiShowStorageSts();
- // UI_SHOW_MENU_TITLE_STRING(SYS_STR_SMP_TITLE_TIMEZONE); //tne 2005/11/25 #1
- //StrShowSysString(cwStringSysTimeList[UI_TIME_ZONE_MENU],SEG2,PAGE0);
- StrShowString(cbStringGMT,16+ITEM_START_COL,32+ITEM_START_ROW,3);
- UI_SHOW_BATTERY();
- bEditTimeZone=gxbTimeZone;
- while(1)
- {
- if(bEditTimeZone<12)
- {
- bGmtTime[0]='-';
- bGmtTime[1]=(12-bEditTimeZone)/10+0x30;
- bGmtTime[2]=(12-bEditTimeZone)%10+0x30;
- }
- else
- {
- bGmtTime[0]='+';
- bGmtTime[1]=(bEditTimeZone-12)/10+0x30;
- bGmtTime[2]=(bEditTimeZone-12)%10+0x30;
- }
- UI_STR_REVERSE( ); // WHH 070129
- StrShowString(bGmtTime,48+ITEM_START_COL,32+ITEM_START_ROW,3);
- UI_STR_UNREVERSE( ); // WHH 070129
- //OledReverse(48+ITEM_START_COL,32+ITEM_START_ROW,24,16); // WHH 070129
- do
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- //case KEY_VOL_DOWN_LONG:
- //case KEY_VOL_DOWN_BREAK:
- //case KEY_LEFT_LONG: // WHH 070125 #3
- case KEY_LEFT_BREAK:
- if(bEditTimeZone>0)
- bEditTimeZone--;
- else
- bEditTimeZone=24;
- break;
- //case KEY_VOL_UP_LONG:
- //case KEY_VOL_UP_BREAK:
- //case KEY_RIGHT_LONG: // WHH 070125 #3
- case KEY_RIGHT_BREAK:
- if(bEditTimeZone<24)
- bEditTimeZone++;
- else
- bEditTimeZone=0;
- break;
- case KEY_UP_BREAK:
- if(bEditTimeZone>gxbTimeZone)
- {
- dwTimeOffset=(LONG)(bEditTimeZone-gxbTimeZone)*3600;
- gxdwSClockOffset -= dwTimeOffset;
- gxdwNowTime += dwTimeOffset;
- UiSysGetAlarmTime();
- gxdwAlarmTime += dwTimeOffset;
- }
- else
- {
- dwTimeOffset=(LONG)(gxbTimeZone-bEditTimeZone)*3600;
- if(gxdwNowTime<dwTimeOffset) //overflow, modify faile
- {
- //OLED_CLEAR_ALL();
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW+ITEM_ROW_OFF);//TONY070105
- gxbLcdCounter=0;
- StrShowSysString(SYS_STR_OVER_RANGE,LCD_AUTO_CENTER_COL,OLED_TAG_ROW+ITEM_START_ROW);
- while(gxbLcdCounter<UI_SHW_RANGE_ERR_DELAY_TIME) { };
- goto Start_Set_Zone;
- }
- gxdwSClockOffset += dwTimeOffset;
- gxdwNowTime -= dwTimeOffset;
- gxdwAlarmTime -= dwTimeOffset;
- }
- gxbTimeZone=bEditTimeZone;
- UiSetNowTime();
- // fix alarm time
- UiSetNewAlarmTime();
- //SramWrite(SRAM_TIME_ZONE,&gxbTimeZone);//mark by tne 2005/05/17
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- //}while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- // }while(bKey<KEY_BREAK); //Walace060901#2
- }while((bKey<KEY_BREAK)||(bKey==KEY_LEFT_LONG)||(bKey==KEY_RIGHT_LONG)); //WHH 070129
- }
- }
- void UiTurnTimeText(DWORD *dwSetTime) large
- {
- BYTE bHour,bMin,bSec;
- DWORD dwCountNum;
- if(gxbEditTimeAmPm==UI_TIME_AM)
- {
- if((gxbStringEditTime[0]=='1')&&(gxbStringEditTime[1]=='2'))
- bHour=0;
- else
- bHour=(gxbStringEditTime[0]-0x30)*10+(gxbStringEditTime[1]-0x30);
- }
- else
- {
- if((gxbStringEditTime[0]=='1')&&(gxbStringEditTime[1]=='2'))
- bHour=12;
- else
- bHour=(gxbStringEditTime[0]-0x30)*10+(gxbStringEditTime[1]-0x30)+12;
- }
- bMin=(gxbStringEditTime[2]-0x30)*10+gxbStringEditTime[3]-0x30;
- bSec=(gxbStringEditTime[4]-0x30)*10+gxbStringEditTime[5]-0x30;
- *dwSetTime=(DWORD)bHour*3600+(DWORD)bMin*60+(DWORD)bSec;
- //for count date
- bHour=(gxbStringEditDate[0]-0x30)*10+gxbStringEditDate[1]-0x30-4; // how many years over 2004
- dwCountNum=(DWORD)(bHour>>2)*1461; // year turn to day
- bMin=(bHour%4);
- if(bMin!=0) // not first year in 4 years
- dwCountNum += 366+(bMin-1)*365;
- bMin=(gxbStringEditDate[2]-0x30)*10+gxbStringEditDate[3]-0x30;
- switch(bMin) // turn month to day
- {
- case 12:
- dwCountNum += 30;
- case 11:
- dwCountNum += 31;
- case 10:
- dwCountNum += 30;
- case 9:
- dwCountNum += 31;
- case 8:
- dwCountNum += 31;
- case 7:
- dwCountNum += 30;
- case 6:
- dwCountNum += 31;
- case 5:
- dwCountNum += 30;
- case 4:
- dwCountNum += 31;
- case 3:
- if((bHour%4)==0) // this year have 366 days
- dwCountNum += 29;
- else
- dwCountNum += 28;
- case 2:
- dwCountNum += 31;
- }
- bSec=(gxbStringEditDate[4]-0x30)*10+gxbStringEditDate[5]-0x30;
- dwCountNum += bSec - 1; // add day and turn to zero base
- dwCountNum = dwCountNum*86400; // turn day to sec
- *dwSetTime += dwCountNum;
- }
- void UiShowSetTime(BYTE bTimeEditLocate) large
- {
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_ASCII;
- #endif
- // WHH 070129
- // StrShowString(gxbStringEditTime ,36, ITEM_START_ROW+ITEM_ROW_OFF*2+2,2);
- // StrShowString(gxbStringEditTime+2,61,ITEM_START_ROW+ITEM_ROW_OFF*2+2,2);
- // WHH 070129(start)
- if(bTimeEditLocate==UI_TIME_EDIT_HOUR_H) UI_STR_REVERSE();
- StrShowString(gxbStringEditTime ,16, ITEM_START_ROW+ITEM_ROW_OFF*2+2,1);
- if(bTimeEditLocate==UI_TIME_EDIT_HOUR_H) UI_STR_UNREVERSE();
- if(bTimeEditLocate==UI_TIME_EDIT_HOUR_L) UI_STR_REVERSE();
- StrShowString(gxbStringEditTime+1 ,24, ITEM_START_ROW+ITEM_ROW_OFF*2+2,1);
- if(bTimeEditLocate==UI_TIME_EDIT_HOUR_L) UI_STR_UNREVERSE();
- if(bTimeEditLocate==UI_TIME_EDIT_MIN_H) UI_STR_REVERSE();
- StrShowString(gxbStringEditTime+2 ,41, ITEM_START_ROW+ITEM_ROW_OFF*2+2,1);
- if(bTimeEditLocate==UI_TIME_EDIT_MIN_H) UI_STR_UNREVERSE();
- if(bTimeEditLocate==UI_TIME_EDIT_MIN_L) UI_STR_REVERSE();
- StrShowString(gxbStringEditTime+3 ,49, ITEM_START_ROW+ITEM_ROW_OFF*2+2,1);
- if(bTimeEditLocate==UI_TIME_EDIT_MIN_L) UI_STR_UNREVERSE();
- // WHH 070129(end)
- if(bTimeEditLocate==UI_TIME_EDIT_SEC) UI_STR_REVERSE(); // WHH 070129
- StrShowString(gxbStringEditTime+4,66,ITEM_START_ROW+ITEM_ROW_OFF*2+2,2);
- if(bTimeEditLocate==UI_TIME_EDIT_SEC) UI_STR_UNREVERSE(); // WHH 070129
- if(bTimeEditLocate==UI_TIME_EDIT_YEAR) UI_STR_REVERSE(); // WHH 070129
- StrShowString(gxbStringEditDate ,32,ITEM_START_ROW+ITEM_ROW_OFF+2,2);
- if(bTimeEditLocate==UI_TIME_EDIT_YEAR) UI_STR_UNREVERSE(); // WHH 070129
- if(bTimeEditLocate==UI_TIME_EDIT_MONTH) UI_STR_REVERSE(); // WHH 070129
- StrShowString(gxbStringEditDate+2,60,ITEM_START_ROW+ITEM_ROW_OFF+2,2);
- if(bTimeEditLocate==UI_TIME_EDIT_MONTH) UI_STR_UNREVERSE(); // WHH 070129
- if(bTimeEditLocate==UI_TIME_EDIT_DAY) UI_STR_REVERSE(); // WHH 070129
- StrShowString(gxbStringEditDate+4,91,ITEM_START_ROW+ITEM_ROW_OFF+2,2);
- if(bTimeEditLocate==UI_TIME_EDIT_DAY) UI_STR_UNREVERSE(); // WHH 070129
- if(bTimeEditLocate==UI_TIME_EDIT_AMPM) UI_STR_REVERSE(); // WHH 070129
- if(gxbEditTimeAmPm==UI_TIME_AM)
- StrShowString(cbStringAM,91,ITEM_START_ROW+ITEM_ROW_OFF*2+2,sizeof_cbStringAM);
- else
- StrShowString(cbStringPM,91,ITEM_START_ROW+ITEM_ROW_OFF*2+2,sizeof_cbStringPM);
- if(bTimeEditLocate==UI_TIME_EDIT_AMPM) UI_STR_UNREVERSE(); // WHH 070129
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_UNICODE;
- #endif
- UiShowTimeEditCursor(bTimeEditLocate);
- }
- void UiShowAlarmTime(BYTE bTimeEditLocate) large
- {
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_ASCII;
- #endif
- StrShowString(gxbStringEditTime,16,ITEM_START_ROW+ITEM_ROW_OFF+2,2);
- StrShowString(gxbStringEditTime+2,41,ITEM_START_ROW+ITEM_ROW_OFF+2,2);
- //StrShowString(gxbStringEditTime+4 ,86,ITEM_START_ROW+ITEM_ROW_OFF+2,2);
- if(gxbEditTimeAmPm==UI_TIME_AM)
- StrShowString(cbStringAM,91,ITEM_START_ROW+ITEM_ROW_OFF+2,sizeof_cbStringAM);
- else
- StrShowString(cbStringPM,91,ITEM_START_ROW+ITEM_ROW_OFF+2,sizeof_cbStringPM);
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_UNICODE;
- #endif
- UiShowAlarmEditCursor(bTimeEditLocate);
- }
- void UiSysSetAlarm(void) large
- {
- BYTE bTimeEditLocate=UI_TIME_EDIT_HOUR_H,bKey;
- // OLED_CLEAR_ALL();
- // OledShowIcon(ICON_LAB_SETUP,SEG0,PAGE0) ; //Icon Setup
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW);
- UiShowAlarmPic();
- #if(SYS_USE_KEY_HOLD) //Nick061120 //NandRestore
- UiShowKeyHold(); //tne 2006/07/14 #1
- #endif
- UiShowStorageSts();
- // StrShowSysString(cwStringAlarmList[UI_ALARM_SET_MENU],SEG2+ITEM_START_COL,PAGE0+ITEM_START_ROW);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_TIME_ADJUST);
- //OledShowIcon(ICON_COLON,35+ITEM_START_COL,36+ITEM_START_ROW) ; //Icon Colon
- UI_SHOW_BATTERY();
- UiSysGetAlarmTime();
- OledShowIconNew(2,IM_EDIT_ALARM,0,ITEM_START_ROW+ITEM_ROW_OFF);
- UiSysGetNowTimeText(gxdwAlarmTime);
- while(1)
- {
- UiShowAlarmTime(bTimeEditLocate);
- do
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- if(gxbSetFlag)
- {
- if(bTimeEditLocate==UI_ALARM_EDIT_AMPM)
- gxbEditTimeAmPm ^= 1;
- else
- UiTimeEditDown(bTimeEditLocate);
- UiShowAlarmTime(bTimeEditLocate);//Tne060828#1
- break;
- }
- else
- {
- if(bTimeEditLocate>UI_ALARM_EDIT_HOUR_H)
- bTimeEditLocate--;
- else
- bTimeEditLocate=UI_ALARM_EDIT_AMPM;
- }
- break;
- case KEY_RIGHT_BREAK:
- if(gxbSetFlag)
- {
- if(bTimeEditLocate==UI_ALARM_EDIT_AMPM)
- gxbEditTimeAmPm ^= 1;
- else
- UiTimeEditUp(bTimeEditLocate);
- }
- else
- {
- if(bTimeEditLocate<UI_ALARM_EDIT_AMPM)
- bTimeEditLocate++;
- else
- bTimeEditLocate=UI_ALARM_EDIT_HOUR_H;
- }
- break;
- /* //test now, please check it...
- case KEY_VOL_LONG:
- case KEY_VOL_BREAK: //Walace051107#1
- if(bTimeEditLocate==UI_ALARM_EDIT_AMPM)
- gxbEditTimeAmPm ^= 1;
- else
- UiTimeEditUp(bTimeEditLocate);
- UiShowAlarmTime(bTimeEditLocate);//Tne060828#1
- break;
- case KEY_VOL_DOWN_LONG:
- case KEY_VOL_DOWN_BREAK: //Walace051107#1
- if(bTimeEditLocate==UI_ALARM_EDIT_AMPM)
- gxbEditTimeAmPm ^= 1;
- else
- UiTimeEditDown(bTimeEditLocate);
- UiShowAlarmTime(bTimeEditLocate);//Tne060828#1
- break;
- */
- case KEY_UP_BREAK:
- if(gxbSetFlag)
- gxbSetFlag = FALSE;
- else
- gxbSetFlag = TRUE;
- // gxbStringEditTime[4]='0';
- // gxbStringEditTime[5]='0';
- UiTurnTimeText(&gxdwAlarmTime);
- UiSetNewAlarmTime();
- break;
- case KEY_FUNC_BREAK:
- return;
- }
- }while((bKey&KEY_BREAK)==KEY_INVALID);
- }
- }
- void UiSysSetTime(void) large //Tne050325
- {
- BYTE bTimeEditLocate=UI_TIME_EDIT_HOUR_H,bKey;
- DWORD dwNewTime;
- //OLED_CLEAR_ALL();
- OledShowIconNew(1,IM_SETUP_BG,0,ITEM_START_ROW);//TONY070105
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_TIME_ADJUST);
- // UiShowAlarmPic(); //TONY070308
- #if(SYS_USE_KEY_HOLD) //Nick061120 //NandRestore
- UiShowKeyHold(); //tne 2006/07/14 #1
- #endif
- UiShowStorageSts();
- //StrShowSysString(cwStringSysTimeList[gxbUiMenuSubStates],SEG2,PAGE0);
- //OledShowIcon(ICON_COLON,23,44) ; //Icon Colon
- //OledShowIcon(ICON_COLON,47,44) ; //Icon Colon
- //OledShowIcon(ICON_COLON,23+ITEM_START_COL,44+ITEM_START_ROW) ; //Icon Colon
- //OledShowIcon(ICON_COLON,47+ITEM_START_COL,44+ITEM_START_ROW) ; //Icon Colon
- //OledShowIcon(ICON_SLASH68,41+ITEM_START_COL,28+ITEM_START_ROW) ; //Icon Slash
- //OledShowIcon(ICON_SLASH68,65+ITEM_START_COL,28+ITEM_START_ROW) ; //Icon Slash
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_ASCII;
- #endif
- //StrShowString(cbStringTwenty,8,24,2);
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_UNICODE;
- #endif
- UI_SHOW_BATTERY();
- OledShowIconNew(2,IM_YEAR,0,ITEM_START_ROW+ITEM_ROW_OFF);
- OledShowIconNew(2,IM_TIME,0,ITEM_START_ROW+ITEM_ROW_OFF*2);
- StrShowString(cbStringTwenty,16,ITEM_START_ROW+ITEM_ROW_OFF+2,2);
- //set a different time to display time
- gxdwLastNowTime=gxdwNowTime+1; //tne 2006/07/13 #1
- while(1)
- {
- do
- {
- if(gxdwLastNowTime!=gxdwNowTime)
- {
- // if(gxbLcdCounter>=UI_SETTIME_DELAY_TIME)
- {
- UiSysGetNowTimeText(gxdwNowTime);
- UiShowSetTime(bTimeEditLocate);
- gxdwLastNowTime=gxdwNowTime;
- //gxbLcdCounter=UI_SETTIME_DELAY_TIME;
- }
- }
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- if( gxbSetFlag )
- {
- obDCV_INT_MASK &= RTC_COUNTER_DIS;
- UiTimeEditDown(bTimeEditLocate);
- //modify by tne for s-clock
- UiTurnTimeText(&dwNewTime);
- gxdwSClockOffset += (LONG)(gxdwNowTime - dwNewTime);
- WriteSClockToSram();
- gxdwNowTime=dwNewTime;
- UiSetNowTime();
- //gxbLcdCounter=0;
- gxdwLastNowTime=gxdwNowTime;
- obDCV_INT_MASK |= RTC_COUNTER_EN;
- }
- else
- {
- if(bTimeEditLocate>UI_TIME_EDIT_HOUR_H)
- bTimeEditLocate--;
- else
- bTimeEditLocate=UI_TIME_EDIT_DAY;
- }
- break;
- case KEY_RIGHT_BREAK:
- if( gxbSetFlag )
- {
- obDCV_INT_MASK &= RTC_COUNTER_DIS;
- UiTimeEditUp(bTimeEditLocate);
- //modify by tne for s-clock
- UiTurnTimeText(&dwNewTime);
- gxdwSClockOffset += (LONG)(gxdwNowTime - dwNewTime);
- WriteSClockToSram();
- gxdwNowTime=dwNewTime;
- UiSetNowTime();
- //gxbLcdCounter=0;
- gxdwLastNowTime=gxdwNowTime;
- obDCV_INT_MASK |= RTC_COUNTER_EN;
- }
- else
- {
- if(bTimeEditLocate<UI_TIME_EDIT_DAY)
- bTimeEditLocate++;
- else
- bTimeEditLocate=UI_TIME_EDIT_HOUR_H;
- }
- break;
- //test now, please check it...
- /*case KEY_VOL_LONG:
- case KEY_VOL_BREAK:
- obDCV_INT_MASK &= RTC_COUNTER_DIS;
- UiTimeEditUp(bTimeEditLocate);
- //modify by tne for s-clock
- UiTurnTimeText(&dwNewTime);
- gxdwSClockOffset += (LONG)(gxdwNowTime - dwNewTime);
- WriteSClockToSram();
- gxdwNowTime=dwNewTime;
- UiSetNowTime();
- //gxbLcdCounter=0;
- gxdwLastNowTime=gxdwNowTime;
- obDCV_INT_MASK |= RTC_COUNTER_EN;
- break;
- case KEY_VOL_DOWN_LONG:
- case KEY_VOL_DOWN_BREAK:
- obDCV_INT_MASK &= RTC_COUNTER_DIS;
- UiTimeEditDown(bTimeEditLocate);
- //modify by tne for s-clock
- UiTurnTimeText(&dwNewTime);
- gxdwSClockOffset += (LONG)(gxdwNowTime - dwNewTime);
- WriteSClockToSram();
- gxdwNowTime=dwNewTime;
- UiSetNowTime();
- //gxbLcdCounter=0;
- gxdwLastNowTime=gxdwNowTime;
- obDCV_INT_MASK |= RTC_COUNTER_EN;
- break;
- */
- //case KEY_FUNC_BREAK:
- case KEY_UP_BREAK:
- //disable timer counter update
- //obDCVARRD=0x03;
- //obDCVWRDATA=(obDCVRDDATA&RTC_UPDATE_DIS);
- //obDCV_INT_MASK &= RTC_COUNTER_DIS;
- if(gxbSetFlag)
- {
- gxbSetFlag=FALSE;
- }
- else
- {
- gxbSetFlag=TRUE;
- }
- UiSysGetAlarmTime(); // fix alarm time
- UiSetNewAlarmTime();
- break;
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- // }while((bKey&KEY_BREAK)==KEY_INVALID);
- }while(bKey<KEY_BREAK); //key break or key long
- UiShowSetTime(bTimeEditLocate);
- }
- }
- // fFixTo01: when edit up, let illegal day fix to 01
- // ex. now is 06/30, user in date and hit vol up key
- // it should fix to 06/01, in this case, set this flag TRUE
- // ex. now is 05/31, use in month and hit vol up key to June
- // it should fix to 06/30, in this case, set this flag FALSE
- void UiCheckMonthDay(bit fFixTo01) large
- {
- BYTE bMonth,bDay;
- bMonth=(gxbStringEditDate[2]-0x30)*10+gxbStringEditDate[3]-0x30; //get the month
- bDay=(gxbStringEditDate[4]-0x30)*10+gxbStringEditDate[5]-0x30; //get the day
- switch(bMonth)
- {
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12:
- if(bDay>31)
- {
- gxbStringEditDate[4]='0';
- gxbStringEditDate[5]='1';
- }
- else if(bDay==0)
- {
- gxbStringEditDate[4]='3';
- gxbStringEditDate[5]='1';
- return;
- }
- break;
- case 2:
- bMonth=(gxbStringEditDate[0]-0x30)*10+gxbStringEditDate[1]-0x30; //get the year
- if((bMonth%4)==0) // this year is 29
- {
- if(bDay>29)
- {
- if(fFixTo01)
- {
- gxbStringEditDate[4]='0';
- gxbStringEditDate[5]='1';
- }
- else
- {
- gxbStringEditDate[4]='2';
- gxbStringEditDate[5]='9';
- }
- }
- else if(bDay==0)
- {
- gxbStringEditDate[4]='2';
- gxbStringEditDate[5]='9';
- return;
- }
- }
- else
- {
- if(bDay>28)
- {
- if(fFixTo01)
- {
- gxbStringEditDate[4]='0';
- gxbStringEditDate[5]='1';
- }
- else
- {
- gxbStringEditDate[4]='2';
- gxbStringEditDate[5]='8';
- }
- }
- else if(bDay==0)
- {
- gxbStringEditDate[4]='2';
- gxbStringEditDate[5]='8';
- return;
- }
- }
- break;
- default:
- if(bDay>30)
- {
- if(fFixTo01)
- {
- gxbStringEditDate[4]='0';
- gxbStringEditDate[5]='1';
- }
- else
- {
- gxbStringEditDate[4]='3';
- gxbStringEditDate[5]='0';
- }
- }
- else if(bDay==0)
- {
- gxbStringEditDate[4]='3';
- gxbStringEditDate[5]='0';
- return;
- }
- break;
- }
- }
- void UiTimeEditUp(BYTE bTimeEditLocate) large //Tne050325
- {
- switch(bTimeEditLocate)
- {
- case UI_TIME_EDIT_HOUR_H:
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_H]=='1')
- return;
- else if(gxbStringEditTime[UI_TIME_EDIT_HOUR_L]>'2')
- gxbStringEditTime[UI_TIME_EDIT_HOUR_L]='2';
- break;
- case UI_TIME_EDIT_HOUR_L:
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_H]=='1')
- {
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_L]=='2')
- {
- gxbStringEditTime[UI_TIME_EDIT_HOUR_H]='0';
- gxbStringEditTime[UI_TIME_EDIT_HOUR_L]='1';
- return;
- }
- }
- else
- {
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_L]=='9')
- {
- gxbStringEditTime[UI_TIME_EDIT_HOUR_H]='1';
- gxbStringEditTime[UI_TIME_EDIT_HOUR_L]='0';
- return;
- }
- }
- break;
- case UI_TIME_EDIT_MIN_H:
- if(gxbStringEditTime[UI_TIME_EDIT_MIN_H]=='5') return;
- break;
- case UI_TIME_EDIT_MIN_L:
- if(gxbStringEditTime[UI_TIME_EDIT_MIN_L]=='9')
- {
- gxbStringEditTime[UI_TIME_EDIT_MIN_L]='0';
- if(gxbStringEditTime[UI_TIME_EDIT_MIN_H]=='5')
- gxbStringEditTime[UI_TIME_EDIT_MIN_H]='0';
- else
- gxbStringEditTime[UI_TIME_EDIT_MIN_H]++;
- return;
- }
- break;
- case UI_TIME_EDIT_SEC:
- gxbStringEditTime[UI_TIME_EDIT_SEC]='0';
- gxbStringEditTime[UI_TIME_EDIT_SEC+1]='0';
- return;
- case UI_TIME_EDIT_AMPM:
- gxbEditTimeAmPm ^= 1;
- return;
- case UI_TIME_EDIT_YEAR:
- //modify by tne for s-clock
- if(gxbStringEditDate[1]=='9')
- {
- if(gxbStringEditDate[0]=='5')
- {
- gxbStringEditDate[0]='0';
- gxbStringEditDate[1]='4'; // go to 2004
- }
- else
- {
- gxbStringEditDate[0]++;
- gxbStringEditDate[1]='0';
- }
- }
- else
- { gxbStringEditDate[1]++; }
- /*
- if(gxbStringEditDate[1]=='9')
- {
- if(gxbStringEditDate[0]=='9')
- {
- gxbStringEditDate[0]='0';
- gxbStringEditDate[1]='4'; // go to 2004
- }
- else
- {
- gxbStringEditDate[0]++;
- gxbStringEditDate[1]='0';
- }
- }
- else
- { gxbStringEditDate[1]++; }
- */
- UiCheckMonthDay(FALSE);
- return;
- case UI_TIME_EDIT_MONTH:
- if((gxbStringEditDate[2]=='1')&&(gxbStringEditDate[3]=='2'))
- {
- gxbStringEditDate[2]='0';
- gxbStringEditDate[3]='1';
- }
- else if(gxbStringEditDate[3]=='9')
- {
- gxbStringEditDate[2]='1';
- gxbStringEditDate[3]='0';
- }
- else
- { gxbStringEditDate[3]++; }
- UiCheckMonthDay(FALSE);
- return;
- case UI_TIME_EDIT_DAY:
- if(gxbStringEditDate[5]=='9')
- {
- gxbStringEditDate[4]++;
- gxbStringEditDate[5]='0';
- }
- else
- {
- gxbStringEditDate[5]++;
- }
- UiCheckMonthDay(TRUE);
- return;
- }
- gxbStringEditTime[bTimeEditLocate]++;
- }
- void UiTimeEditDown(BYTE bTimeEditLocate) large //Tne050325
- {
- switch(bTimeEditLocate)
- {
- case UI_TIME_EDIT_HOUR_H:
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_H]=='0')
- return;
- else if(gxbStringEditTime[UI_TIME_EDIT_HOUR_L]=='0')
- gxbStringEditTime[UI_TIME_EDIT_HOUR_L]='1';
- break;
- case UI_TIME_EDIT_HOUR_L:
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_H]=='1')
- {
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_L]=='0')
- {
- gxbStringEditTime[UI_TIME_EDIT_HOUR_H]='0';
- gxbStringEditTime[UI_TIME_EDIT_HOUR_L]='9';
- return;
- }
- }
- else
- {
- if(gxbStringEditTime[UI_TIME_EDIT_HOUR_L]=='1')
- {
- gxbStringEditTime[UI_TIME_EDIT_HOUR_H]='1';
- gxbStringEditTime[UI_TIME_EDIT_HOUR_L]='2';
- return;
- }
- }
- break;
- case UI_TIME_EDIT_MIN_H:
- if(gxbStringEditTime[UI_TIME_EDIT_MIN_H]=='0') return;
- break;
- case UI_TIME_EDIT_MIN_L:
- if(gxbStringEditTime[UI_TIME_EDIT_MIN_L]=='0')
- {
- gxbStringEditTime[UI_TIME_EDIT_MIN_L]='9';
- if(gxbStringEditTime[UI_TIME_EDIT_MIN_H]=='0')
- gxbStringEditTime[UI_TIME_EDIT_MIN_H]='5';
- else
- gxbStringEditTime[UI_TIME_EDIT_MIN_H]--;
- return;
- }
- break;
- case UI_TIME_EDIT_SEC:
- gxbStringEditTime[UI_TIME_EDIT_SEC]='0';
- gxbStringEditTime[UI_TIME_EDIT_SEC+1]='0';
- return;
- case UI_TIME_EDIT_AMPM:
- gxbEditTimeAmPm ^= 1;
- return;
- case UI_TIME_EDIT_YEAR:
- //modify by tne for s-clock
- if(gxbStringEditDate[1]=='0')
- {
- gxbStringEditDate[0]--;
- gxbStringEditDate[1]='9';
- }
- else
- {
- if((gxbStringEditDate[0]=='0')&&(gxbStringEditDate[1]=='4'))
- { //goto 2059
- gxbStringEditDate[0]='5';
- gxbStringEditDate[1]='9';
- }
- else
- { gxbStringEditDate[1]--; }
- }
- /*
- if(gxbStringEditDate[1]=='0')
- {
- gxbStringEditDate[0]--;
- gxbStringEditDate[1]='9';
- }
- else
- {
- if((gxbStringEditDate[0]=='0')&&(gxbStringEditDate[1]=='4'))
- {
- gxbStringEditDate[0]='9';
- gxbStringEditDate[1]='9';
- }
- else
- { gxbStringEditDate[1]--; }
- }
- */
- UiCheckMonthDay(FALSE);
- return;
- case UI_TIME_EDIT_MONTH:
- if((gxbStringEditDate[2]=='0')&&(gxbStringEditDate[3]=='1'))
- {
- gxbStringEditDate[2]='1';
- gxbStringEditDate[3]='2';
- }
- else if((gxbStringEditDate[2]=='1')&&(gxbStringEditDate[3]=='0'))
- {
- gxbStringEditDate[2]='0';
- gxbStringEditDate[3]='9';
- }
- else
- { gxbStringEditDate[3]--; }
- UiCheckMonthDay(FALSE);
- return;
- case UI_TIME_EDIT_DAY:
- if(gxbStringEditDate[5]=='0')
- {
- gxbStringEditDate[4]--;
- gxbStringEditDate[5]='9';
- }
- else
- {
- gxbStringEditDate[5]--;
- }
- UiCheckMonthDay(FALSE);
- return;
- }
- gxbStringEditTime[bTimeEditLocate]--;
- }
- void UiShowAlarmEditCursor(BYTE bEditLocate) large
- {
- if(bEditLocate==UI_ALARM_EDIT_AMPM)
- {
- OledReverse(91,ITEM_START_ROW+ITEM_ROW_OFF+2,16,16); //LcdReverse(4,64,2,15);
- if(gxbSetFlag)
- {
- gxwFGColor = 0x001f;
- OledDrawRect(91,ITEM_START_ROW+ITEM_ROW_OFF+2+15,16,1);
- gxwFGColor = 0xffff;
- }
- }
- else
- {
- OledReverse(cbLocateAlarmEdit[bEditLocate],ITEM_START_ROW+ITEM_ROW_OFF+2,8,16); //LcdReverse(4,cbLocateAlarmEdit[bEditLocate],2,7);
- if(gxbSetFlag)
- {
- gxwFGColor = 0x001f;
- OledDrawRect(cbLocateAlarmEdit[bEditLocate],ITEM_START_ROW+ITEM_ROW_OFF+2+15,8,1);
- gxwFGColor = 0xffff;
- }
- }
- }
- void UiShowTimeEditCursor(BYTE bEditLocate) large
- {
- switch(bEditLocate)
- {
- case UI_TIME_EDIT_AMPM:
- //OledReverse(111,ITEM_START_ROW+ITEM_ROW_OFF*2+2,16,16); // WHH 070129
- if(gxbSetFlag)
- {
- gxwFGColor = 0x001f;
- OledDrawRect(91,ITEM_START_ROW+ITEM_ROW_OFF*2+2+15,16,1);
- gxwFGColor = 0xffff;
- }
- break;
- case UI_TIME_EDIT_SEC:
- //OledReverse(86,ITEM_START_ROW+ITEM_ROW_OFF*2+2,16,16); // WHH 070129
- if(gxbSetFlag)
- {
- gxwFGColor = 0x001f;
- OledDrawRect(66,ITEM_START_ROW+ITEM_ROW_OFF*2+2+15,16,1);
- gxwFGColor = 0xffff;
- }
- break;
- default:
- if(bEditLocate>=UI_TIME_EDIT_YEAR)
- { // edit date
- //OledReverse(cbLocateTimeEdit[bEditLocate-2],ITEM_START_ROW+ITEM_ROW_OFF+2,16,16);//LcdReverse(3,cbLocateTimeEdit[bEditLocate-2],2,15); //WHH 070129
- if(gxbSetFlag)
- {
- gxwFGColor =0x001f;
- OledDrawRect(cbLocateTimeEdit[bEditLocate-2],ITEM_START_ROW+ITEM_ROW_OFF+2+15,16,1);
- gxwFGColor = 0xffff;
- }
- }
- else
- {
- //OledReverse(cbLocateTimeEdit[bEditLocate],ITEM_START_ROW+ITEM_ROW_OFF*2+2,8,16);//LcdReverse(5,cbLocateTimeEdit[bEditLocate],2,7); //WHH 070129
- if(gxbSetFlag)
- {
- gxwFGColor =0x001f;
- OledDrawRect(cbLocateTimeEdit[bEditLocate],ITEM_START_ROW+ITEM_ROW_OFF*2+2+15,8,1);
- gxwFGColor = 0xffff;
- }
- }
- break;
- }
- }
- void UiGoMenuSetPowerOff(void) large
- {
- BYTE bKey;
- gxbUiMenuMainStates =UI_SYS_PSAVE_MENU; // TONY070112
- if(gxwAutoOff&0x8000) // Tony070130
- {
- gxbUiMenuSubStates = (BYTE)(gxwAutoOff&0x00ff)/30;
- }
- else
- {
- gxbUiMenuSubStates = UI_SYS_MENU_PSAVE_MAX_ITEM-1;
- }
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_PSAVE_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_POWER_AUTO_OFF);
- while(1)
- {
- do
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- if((gxbUiMenuSubStates%ITEM_SUB_NUM_OPAGE==0)||(gxbUiMenuSubStates==0))
- {
- if(gxbUiMenuSubStates)
- gxbUiMenuSubStates--;
- else
- gxbUiMenuSubStates=5;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_PSAVE_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_POWER_AUTO_OFF);
- }
- else
- {
- gxbUiMenuSubStates--;
- ShowSetupItemUnSelect(cwStringPsave[gxbUiMenuSubStates+1],gxbUiMenuSubStates+1);
- ShowSetupItemSelect( cwStringPsave[gxbUiMenuSubStates],gxbUiMenuSubStates);
- }
- /*
- if(gxbUiMenuSubStates>0)
- {
- gxbUiMenuSubStates--;
- ShowSetupItemUnSelect(cwStringPsave[gxbUiMenuSubStates+1],gxbUiMenuSubStates+1);
- }
- else
- {
- gxbUiMenuSubStates=UI_SYS_MENU_PSAVE_MAX_ITEM-1;
- ShowSetupItemUnSelect(cwStringPsave[0],0);
- }
- ShowSetupItemSelect( cwStringPsave[gxbUiMenuSubStates],gxbUiMenuSubStates);
- */
- break;
- case KEY_RIGHT_BREAK:
- if((((gxbUiMenuSubStates+1)%ITEM_SUB_NUM_OPAGE)==0)||(gxbUiMenuSubStates==5))
- {
- if(gxbUiMenuSubStates==5)
- gxbUiMenuSubStates = 0;
- else
- gxbUiMenuSubStates++;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_PSAVE_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_POWER_AUTO_OFF);
- }
- else
- {
- ShowSetupItemUnSelect(cwStringPsave[gxbUiMenuSubStates],gxbUiMenuSubStates );
- gxbUiMenuSubStates++;
- ShowSetupItemSelect( cwStringPsave[gxbUiMenuSubStates],gxbUiMenuSubStates);
- }
- /*
- if(gxbUiMenuSubStates<(UI_SYS_MENU_PSAVE_MAX_ITEM-1))
- {
- gxbUiMenuSubStates++;
- ShowSetupItemUnSelect(cwStringPsave[gxbUiMenuSubStates-1],gxbUiMenuSubStates-1);
- }
- else
- {
- gxbUiMenuSubStates=0;
- ShowSetupItemUnSelect(cwStringPsave[UI_SYS_MENU_PSAVE_MAX_ITEM-1],UI_SYS_MENU_PSAVE_MAX_ITEM-1);
- }
- ShowSetupItemSelect( cwStringPsave[gxbUiMenuSubStates],gxbUiMenuSubStates);
- */
- break;
- case KEY_UP_BREAK:
- gxwAutoOff |= SYS_POWER_SAVE_EN;
- if(gxbUiMenuSubStates) // Tony070130
- {
- if(gxbUiMenuSubStates == 5)
- {
- gxwAutoOff &= SYS_POWER_SAVE_DIS;
- }
- else
- {
- gxwAutoOff &= 0xff00;
- gxwAutoOff |=gxbUiMenuSubStates*30;
- }
- }
- else
- {
- gxwAutoOff &= 0xff00;
- gxwAutoOff |= 15;
- }
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));
- }
- }
- void UiGoMenuNoPowerOffPlay(void)large
- {
- BYTE bKey;
- gxbUiMenuMainStates =UI_DEL_YES_NO_MENU;
- gxbUiMenuSubStates = gxbEditPSaveNotPlay;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_YESNO_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_POWER_PLAY_NOT_OFF_1);
- while(1)
- {
- ShowSetupItemUnSelect(cwStringSysYesNoList[!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- ShowSetupItemSelect(cwStringSysYesNoList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_RIGHT_BREAK:
- gxbUiMenuSubStates ^= 0x01;
- break;
- case KEY_UP_BREAK:
- gxbEditPSaveNotPlay=gxbUiMenuSubStates;
- gxwAutoOff &= SYS_PLAY_NOT_OFF_DIS; // Jeff070323#1 // Clear bit fist
- gxwAutoOff |= (WORD)gxbUiMenuSubStates <<14;
- return;
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//while(bKey==KEY_INVALID); // Walace051015
- }
- }
- void UiGoSysEditPSave(void) large
- {
- //BYTE bPSaveEditLocate=UI_PSAVE_EDIT_SWITCH1,bKey;
- BYTE bKey;
- // OLED_CLEAR_ALL();
- UiGetPSaveTime();
- // UiShowAlarmPic(); //TONY070308
- #if(SYS_USE_KEY_HOLD) //Nick061120 //NandRestore
- UiShowKeyHold(); //tne 2006/07/14 #1
- #endif
- UiShowStorageSts();
- // StrShowSysString(cwStringSystemList[UI_SYS_MENU_POWER],WORD1,LINE0);
- // OledShowIcon(ICON_LAB_SETUP,SEG0,PAGE0) ;
- UI_SHOW_BATTERY();
- gxbUiMenuMainStates = UI_POWER_MENU;
- gxbUiMenuSubStates = 0;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_POWER_MAX_ITEM);
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_SYS_POWER);
- while(1)
- {
- ShowSetupItemUnSelect(cwStringSysPowerOffList[!gxbUiMenuSubStates],(!gxbUiMenuSubStates));
- ShowSetupItemSelect(cwStringSysPowerOffList[gxbUiMenuSubStates],(gxbUiMenuSubStates));
- do
- {
- #if(USE_SYS_STR_SCROLL)
- SysStringScroll();
- #endif
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- case KEY_RIGHT_BREAK:
- gxbUiMenuSubStates ^= 1;
- break;
- case KEY_UP_BREAK:
- switch(gxbUiMenuSubStates)
- {
- case 0:
- UiGoMenuSetPowerOff();
- gxbUiMenuSubStates=0;
- break;
- case 1:
- UiGoMenuNoPowerOffPlay();
- gxbUiMenuSubStates=1;
- break;
- }
- gxbUiMenuMainStates=UI_POWER_MENU;
- UiShowSubMenuItem(gxbUiMenuSubStates,UI_SYS_MENU_POWER_MAX_ITEM) ;
- UI_SHOW_MENU_TITLE_ITEM_STRING(SYS_STR_MENU_SYS_POWER);
- break;
- case KEY_FUNC_BREAK:
- case KEY_FUNC_LONG:
- return;
- }
- }while(!(bKey&KEY_BREAK));//
- /*
- while(1)
- {
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_ASCII;
- #endif
- StrShowString(gxbStringEditPSaveTime,UiGetDispLocation(UI_LOCATE_POWER_SAVE_0+UI_PSAVE_EDIT_MIN_H)+ITEM_START_COL,LINE2+ITEM_START_ROW,3);
- #if(USE_SYS_STR_UNICODE)
- gxfSourceUnicode=STRING_TYPE_UNICODE;
- #endif
- if(gxbEditPSaveSwitch)
- OledShowIcon(ICON_POWER_SAVE_CHECK,SEG0+ITEM_START_COL,LINE1+ITEM_START_ROW) ; //Icon CheckBoxCheck
- else
- OledShowIcon(ICON_POWER_SAVE,SEG0+ITEM_START_COL,LINE1+ITEM_START_ROW) ; //Icon CheckBoxNone
- if(gxbEditPSaveNotPlay)
- OledShowIcon(ICON_POWER_SAVE_MUSIC_CHECK,SEG0+ITEM_START_COL,LINE3+ITEM_START_ROW) ; //Icon CheckBoxCheck
- else
- OledShowIcon(ICON_POWER_SAVE_MUSIC,SEG0+ITEM_START_COL,LINE3+ITEM_START_ROW) ; //Icon CheckBoxNone
- UiShowPSaveEditCursor(bPSaveEditLocate);
- do
- {
- UiNormalCheck();
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- if(bPSaveEditLocate>UI_PSAVE_EDIT_SWITCH1)
- bPSaveEditLocate--;
- else
- bPSaveEditLocate=UI_PSAVE_EDIT_SWITCH2;
- break;
- case KEY_RIGHT_BREAK:
- if(bPSaveEditLocate<UI_PSAVE_EDIT_SWITCH2)
- bPSaveEditLocate++;
- else
- bPSaveEditLocate=UI_PSAVE_EDIT_SWITCH1;
- break;
- case KEY_VOL_UP_BREAK:
- switch(bPSaveEditLocate)
- {
- case UI_PSAVE_EDIT_SWITCH1:
- gxbEditPSaveSwitch^=1;
- break;
- case UI_PSAVE_EDIT_SWITCH2:
- gxbEditPSaveNotPlay^=1;
- break;
- default:
- gxbStringEditPSaveTime[bPSaveEditLocate-1]++;
- UiCheckPSaveTime();
- break;
- }
- break;
- case KEY_VOL_DOWN_BREAK:
- switch(bPSaveEditLocate)
- {
- case UI_PSAVE_EDIT_SWITCH1:
- gxbEditPSaveSwitch^=1;
- break;
- case UI_PSAVE_EDIT_SWITCH2:
- gxbEditPSaveNotPlay^=1;
- break;
- default:
- gxbStringEditPSaveTime[bPSaveEditLocate-1]--;
- UiCheckPSaveTime();
- break;
- }
- break;
- // case KEY_UP_BREAK:
- case KEY_FUNC_BREAK:
- gxwAutoOff=(((WORD)gxbStringEditPSaveTime[0]-0x30)*100+((WORD)gxbStringEditPSaveTime[1]-0x30)*10+((WORD)gxbStringEditPSaveTime[2]-0x30));
- if((gxbEditPSaveSwitch)&&(gxwAutoOff==0)) gxwAutoOff=1;
- gxwAutoOff |= ((WORD)gxbEditPSaveNotPlay<<14);
- gxwAutoOff |= ((WORD)gxbEditPSaveSwitch<<15);