- 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源码
UiSaveSetting.c
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:27k
源码类别:
压缩解压
开发平台:
C++ Builder
- #define _UI_SAVE_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 "FileSystem.h"
- #include "NandFlash.h"
- #include "OledString.h"
- #include "SaveSetting.h"
- #include "SD.h"
- #include "KEY.h" //050725
- #include "ClassDataBase.h"
- #include "Oled.h"
- #include "IconDefine.h"
- // WHH #3 301_061225(start)
- #include "IconDefine1.h"
- #include "IconDefine2.h"
- #include "IconDefineMenu1.h"
- #include "IconDefineMenu2.h"
- #include "IconDefineMenu3.h"
- #include "IconDefineGame.h"
- // WHH #3 301_061225(end)
- #if(USE_STEP_UP_CONVERTER)
- #include "StepUp.h"
- #endif
- // WHH #4 301_061225(start)
- //#define MAX_MODE 7
- /*CBYTE cbModeConvert[MAX_MODE]={ SAVE_FROM_PLAY,
- SAVE_FROM_PHOTO,
- SAVE_FROM_VIDEO, //Walace051106#Video
- SAVE_FROM_DVR,
- SAVE_FROM_FM,
- SAVE_FROM_SYS,
- SAVE_FROM_HOST};
- */
- #define MAX_MODE 9
- /*CBYTE cbModeConvert[MAX_MODE]={
- SAVE_FROM_DVR,
- SAVE_FROM_PLAY,
- SAVE_FROM_FM,
- SAVE_FROM_SYS,
- SAVE_FROM_SYS,
- SAVE_FROM_VIDEO,
- SAVE_FROM_PHOTO,
- SAVE_FROM_AMUSE,
- SAVE_FROM_PLAY};
- CWORD cwMenuItem[MAX_MODE] = {
- IM_MAINMENU_MIC,
- IM_MAINMENU_MUSIC,
- IM_MAINMENU_RADIO,
- IM_MAINMENU_BROWSER,
- IM_MAINMENU_SETUP,
- IM_MAINMENU_VIDEO,
- IM_MAINMENU_PHOTO,
- IM_MAINMENU_GAME,
- IM_MAINMENU_EBOOK};
- CWORD cwMenuItemSelect[MAX_MODE] = {
- IM_MAINMENU_MIC_SELECT,
- IM_MAINMENU_MUSIC_SELECT,
- IM_MAINMENU_RADIO_SELECT,
- IM_MAINMENU_BROWSER_SELECT,
- IM_MAINMENU_SETUP_SELECT,
- IM_MAINMENU_VIDEO_SELECT,
- IM_MAINMENU_PHOTO_SELECT,
- IM_MAINMENU_GAME_SELECT,
- IM_MAINMENU_EBOOK_SELECT};
- CWORD cwMenuItemSelectB[MAX_MODE] = {
- IM_MAINMENU_MIC_SELECT_B,
- IM_MAINMENU_MUSIC_SELECT_B,
- IM_MAINMENU_RADIO_SELECT_B,
- IM_MAINMENU_BROWSER_SELECT_B,
- IM_MAINMENU_SETUP_SELECT_B,
- IM_MAINMENU_VIDEO_SELECT_B,
- IM_MAINMENU_PHOTO_SELECT_B,
- IM_MAINMENU_GAME_SELECT_B,
- IM_MAINMENU_EBOOK_SELECT_B};*/
- CBYTE cbModeConvert[MAX_MODE]={
- SAVE_FROM_PLAY,
- SAVE_FROM_FM,
- SAVE_FROM_DVR,
- SAVE_FROM_PHOTO,
- SAVE_FROM_VIDEO,
- SAVE_FROM_FILECTRL,
- SAVE_FROM_AMUSE,
- SAVE_FROM_SYS,
- SAVE_FROM_EBOOK};
- CWORD cwMenuSelectItem=IM_MAINMENU_1MUSIC_SELECT;
- CWORD cwMenuItem=IM_MAINMENU_1MUSIC;
- #define MenuItemOffset (IM_MAINMENU_2RADIO-IM_MAINMENU_1MUSIC)
- #define MenuSelectItemOffset (IM_MAINMENU_2RADIO_SELECT-IM_MAINMENU_1MUSIC_SELECT)
- #define MenuItemSelectBOffset (A0_IM_MAINMENU_2VIDEO_SELECT_B-A0_IM_MAINMENU_1PHOTO_SELECT_B)
- // WHH #4 301_061225(end)
- BOOL fDrawSelecIcon;
- void ICEStartInitial(void);
- BYTE UiModeSelection(void) large;
- void WriteModuleSettingData(void);
- void SwapToNextModule(void);
- //void UiShowWakeUp(void) large;
- void UiErrHandle(void) large;
- /*--------------------------------------------------------------------------
- Description:
- Main program for TARGET save setting
- Arguments:
- Global arguments:
- Returns:
- --------------------------------------------------------------------------*/
- main(void)
- {
- #if(SETTING_FOR_ICE_START)
- ICEStartInitial();
- #endif
- SetSysSpeed(SYS_SPEED_NORMAL); //Walace060902#3
- OLED_DISP_MASK_INIT();
- #if(SETTING_FOR_ICE_START|UI_USE_ALARM_DISPLAY) //vicky050131
- EX0=1;
- #endif
- EA=1;
- ET0=1;
- #if(SD_DET_USE_INT1)
- EX1 = 1;//Nick060808
- #endif
- gxfSourceUnicode=STRING_TYPE_ASCII;
- gxbLcdLimitCol=MAX_COLNUM;
- gxbVolCount=0; // WHH 070110
- //Walace060915#3 start
- switch(gxbSettingBuffer[SETTING_CURRENT_MODE])
- {
- case SAVE_FROM_HOST:
- InitToNormalSys();
- break;
- case SAVE_FROM_PLAY:
- case SAVE_FROM_DVR:
- case SAVE_FROM_SYS:
- case SAVE_FROM_PHOTO: //tne 2005/12/17
- case SAVE_FROM_EBOOK:
- case SAVE_FROM_VIDEO: //tne 2005/12/17
- if(gxbSettingBuffer[SETTING_DEL_FILE_FLASG]==TRUE)
- {
- UiShowWaitMsg(UI_SHOW_WAIT_START); //Walace060915#2
- SetSysSpeed(SYS_SPEED_UP_UI); //Walace060915#2
- LoadRecInfo();
- UiUpdateRecInfo();
- SetSysSpeed(SYS_SPEED_NORMAL);//Walace060915#2
- UiShowWaitMsg(UI_SHOW_WAIT_TIME_OUT);//Walace060915#2
- }
- break;
- }
- //Walace060915#3 end
- switch(gxbSettingBuffer[SETTING_NEXT_MODE])
- {
- case SAVE_AND_SEL_MODE:
- OLED_CLEAR_ALL();
- OledShowIconNew(1,LOGO,0,0);
- UiModeSelection();
- break;
- case SAVE_AND_INIT_CHK:
- case SAVE_AND_POWER_OFF:
- /*
- case SAVE_AND_DIR_DEL: //Tne051221#Video
- case SAVE_AND_FILE_DEL:
- */
- break;
- }
- /* //Walace060915#3
- //tne 2006/05/25 #1
- switch(gxbSettingBuffer[SETTING_CURRENT_MODE])
- {
- case SAVE_FROM_HOST:
- InitToNormalSys();
- break;
- case SAVE_FROM_PLAY:
- case SAVE_FROM_DVR:
- case SAVE_FROM_SYS:
- case SAVE_FROM_PHOTO: //tne 2005/12/17
- case SAVE_FROM_VIDEO: //tne 2005/12/17
- if(gxbSettingBuffer[SETTING_DEL_FILE_FLASG]==TRUE)
- {
- LoadRecInfo();
- UiUpdateRecInfo();
- }
- break;
- }
- */ //Walace060915#3
- WriteModuleSettingData();
- SwapToNextModule();
- while(1) { };
- }
- #if(SETTING_FOR_ICE_START)
- void ICEStartInitial(void)
- {
- SettingForIceStart();
- //SM Clock
- obCLKSMDIVF=0x01;
- obCLKSMCTRL=0xC8; //147/3=49
- NandInit();
- OledCtrlEn();
- #if(!OLED_USE_SM_INTERFEACE)
- 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
- #endif
- OledInit() ;
- OledCtrlDis();
- FontTableInit();
- LoadStringTableIndex();
- LoadTransTableIndex();
- //gxbSettingBuffer[SETTING_CURRENT_MODE]=SAVE_FROM_INIT;
- //gxbSettingBuffer[SETTING_CURRENT_MODE]=SAVE_FROM_PLAY;
- //gxbSettingBuffer[SETTING_CURRENT_MODE]=SAVE_FROM_HOST;
- gxbSettingBuffer[SETTING_CURRENT_MODE]=SAVE_FROM_PHOTO;
- //gxbSettingBuffer[SETTING_NEXT_MODE]=SAVE_AND_POWER_OFF;
- //gxbSettingBuffer[SETTING_NEXT_MODE]=SAVE_AND_DVR;
- //gxbSettingBuffer[SETTING_NEXT_MODE]=SAVE_AND_PLAY;
- gxbSettingBuffer[SETTING_NEXT_MODE]=SAVE_AND_SEL_MODE;
- }
- #endif
- BYTE UiModeSelection(void) large
- {
- BYTE bKey;
- BYTE btmp;//,bLeftMode; // WHH #4 301_061225
- BYTE bModeSelctCount=0;
- //BYTE bDrawMode; // WHH #4 301_061225
- /* //tne 2006/05/25 #1
- switch(gxbSettingBuffer[SETTING_CURRENT_MODE])
- {
- case SAVE_FROM_HOST:
- InitToNormalSys();
- break;
- case SAVE_FROM_PLAY:
- case SAVE_FROM_DVR:
- case SAVE_FROM_SYS:
- case SAVE_FROM_PHOTO: //tne 2005/12/17
- case SAVE_FROM_VIDEO: //tne 2005/12/17
- if(gxbSettingBuffer[SETTING_DEL_FILE_FLASG]==TRUE)
- {
- LoadRecInfo();
- UiUpdateRecInfo();
- }
- break;
- }
- */
- // WHH #1 301_061220(start)
- if(gxbSettingBuffer[SETTING_CURRENT_MODE]==SAVE_FROM_INIT)
- {
- gxbUiMenuSubStates=0;
- fDrawSelecIcon=TRUE;
- }
- // WHH #1 301_061220(end)
- else
- {
- gxbUiMenuSubStates=0;
- for(gxbUiMenuSubStates=0;gxbUiMenuSubStates<MAX_MODE;gxbUiMenuSubStates++)
- {
- if(gxbSettingBuffer[SETTING_CURRENT_MODE]==cbModeConvert[gxbUiMenuSubStates])
- break;
- }
- ASSERT(gxbUiMenuSubStates<MAX_MODE);
- fDrawSelecIcon=TRUE;
- } // WHH #1 301_061220(end)
- //remove by tne 2006/12/05 #2
- //UI_SHOW_BATTERY();
- //UiShowAlarmPic();
- while(1)
- {
- UiNormalCheck();
- /*============Del by Rojam 2007-04-12 10:12===============
- if(gxbLastErrCode!=ERR_NO_ERROR)
- {
- UiErrHandle();
- return 0xFF;
- }
- =========================== end Del ========================*/
- KeyGet(bKey);
- UiCheckBackLight(bKey);
- // UI_SHOW_BATTERY(); //Walace060903#1
- if(fDrawSelecIcon)
- {
- bModeSelctCount=0;
- //UiShowAlarmPic();
- fDrawSelecIcon=FALSE;
- // WHH #4 301_061225(start)
- /*if(gxbUiMenuSubStates) // WHH #4 301_061225
- bLeftMode=gxbUiMenuSubStates-1; //Left side
- else
- bLeftMode=(MAX_MODE-1); //Left side
- */
- /*for(btmp=0;btmp<3;btmp++)
- {
- if((bLeftMode+btmp)>(MAX_MODE-1))
- bDrawMode=(bLeftMode+btmp)-MAX_MODE;
- else
- bDrawMode=(bLeftMode+btmp);
- OledShowIcon(ICON_PM_N00_MUSIC+bDrawMode*ICON_PM_PITCH,(btmp*ICON_PM_W),PAGE3);
- }*/
- // OledClearArea(0, 112, 128, 16);
- OledShowIconNew(1,LOGO_CLEAR,0,144);
- gfTransparent = TRUE;
- StrShowSysString(cbStringMainMenuList[gxbUiMenuSubStates],LCD_AUTO_CENTER_COL,144);
- gfTransparent = FALSE;
- #define ROW_START 2
- if(gxbUiMenuSubStates == 0 )
- {
- OledShowIconNew(3,cwMenuItem+7*MenuItemOffset,18,ROW_START);
- OledShowIconNew(3,cwMenuItem+8*MenuItemOffset,18+16,ROW_START);
- for(btmp=2;btmp<5;btmp++)
- {
- //OledShowIconNew((btmp/3)+3,cwMenuItem[btmp],18+btmp*16,11);
- OledShowIconNew(3,cwMenuItem+(btmp-2)*MenuItemOffset,18+btmp*16,ROW_START);
- }
- }
- else if(gxbUiMenuSubStates ==1)
- {
- OledShowIconNew(3,cwMenuItem+8*MenuItemOffset,18,ROW_START);
- for(btmp=1;btmp<5;btmp++)
- {
- //OledShowIconNew((btmp/3)+3,cwMenuItem[btmp],18+btmp*16,11);
- OledShowIconNew(3,cwMenuItem+(btmp-1)*MenuItemOffset,18+btmp*16,ROW_START);
- }
- }
- else if(gxbUiMenuSubStates ==7)
- {
- for(btmp=0;btmp<4;btmp++)
- {
- //OledShowIconNew((btmp/3)+3,cwMenuItem[btmp],18+btmp*16,11);
- OledShowIconNew(3,cwMenuItem+(btmp+gxbUiMenuSubStates-2)*MenuItemOffset,18+btmp*16,ROW_START);
- }
- OledShowIconNew(3,cwMenuItem,18+16*4,ROW_START);
- }
- else if(gxbUiMenuSubStates ==8)
- {
- OledShowIconNew(3,cwMenuItem+8*MenuItemOffset,18+16,ROW_START);
- for(btmp=0;btmp<3;btmp++)
- {
- //OledShowIconNew((btmp/3)+3,cwMenuItem[btmp],18+btmp*16,11);
- OledShowIconNew(3,cwMenuItem+(btmp+gxbUiMenuSubStates-2)*MenuItemOffset,18+btmp*16,ROW_START);
- }
- OledShowIconNew(3,cwMenuItem,18+16*3,ROW_START);
- OledShowIconNew(3,cwMenuItem+MenuItemOffset,18+16*4,ROW_START);
- }
- else
- {
- for(btmp=0;btmp<5;btmp++)
- {
- //OledShowIconNew((btmp/3)+3,cwMenuItem[btmp],18+btmp*16,11);
- OledShowIconNew(3,cwMenuItem+(btmp+gxbUiMenuSubStates-2)*MenuItemOffset,18+btmp*16,ROW_START);
- }
- }
- OledShowIconNew(3,cwMenuSelectItem+gxbUiMenuSubStates*MenuSelectItemOffset,18+2*16,ROW_START);
- //OledShowIconNew((gxbUiMenuSubStates/3)+3,cwMenuItemSelectB[gxbUiMenuSubStates],0,44);
- OledShowIconNew((gxbUiMenuSubStates/3)+3,(gxbUiMenuSubStates%3)*MenuItemSelectBOffset,0,16);
- //OledShowIconNew((gxbUiMenuSubStates/3)+3,cwMenuItemSelect[gxbUiMenuSubStates],18+gxbUiMenuSubStates*16,11);
- //OledClearArea(SEG0,PAGE0+4,OLED_MAX_COL-WORD1,LINE1); //ok
- //StrShowSysString(cbStringMainMenuList[gxbUiMenuSubStates],LCD_AUTO_CENTER_COL,PAGE0+4);
- OledShowIconNew(3,IM_MAINMENU_ARROW_RIGHT_GRAY,102,ROW_START);
- OledShowIconNew(3,IM_MAINMENU_ARROW_LEFT_GRAY,2,ROW_START);
- //StrShowSysString(cbStringMainMenuList[gxbUiMenuSubStates],220,0);
- // WHH #4 301_061225(end)
- }
- else// WHH #4 301_061225
- {
- bModeSelctCount++;
- if(bModeSelctCount<=30)
- OledShowIconNew((gxbUiMenuSubStates/3)+3,(gxbUiMenuSubStates%3)*MenuItemSelectBOffset,0,16);
- else
- OledShowIconNew((gxbUiMenuSubStates/3)+3,A0_IM_1MAINMENU_MUSIC_SELECT_S+(gxbUiMenuSubStates%3)*MenuItemSelectBOffset,0,16);
- if( bModeSelctCount==60)
- bModeSelctCount=0;
- }
- switch(bKey)
- {
- case KEY_LEFT_BREAK:
- // WHH #4 301_061225
- OledShowIconNew(3,IM_MAINMENU_ARROW_LEFT,2,ROW_START);
- if(gxbUiMenuSubStates)
- gxbUiMenuSubStates--;
- else
- gxbUiMenuSubStates=(MAX_MODE-1);
- fDrawSelecIcon=TRUE;
- break;
- case KEY_RIGHT_BREAK:
- // WHH #4 301_061225
- OledShowIconNew(3,IM_MAINMENU_ARROW_RIGHT,102,ROW_START);
- if(gxbUiMenuSubStates<(MAX_MODE-1))
- gxbUiMenuSubStates++;
- else
- gxbUiMenuSubStates=0;
- fDrawSelecIcon=TRUE;
- break;
- case KEY_UP_BREAK:
- gxbSettingBuffer[SETTING_NEXT_MODE]=cbModeConvert[gxbUiMenuSubStates];
- return TRUE;
- /*
- case KEY_REC_BREAK: // 7 Cancel
- gxbSettingBuffer[SETTING_NEXT_MODE]=gxbSettingBuffer[SETTING_CURRENT_MODE];
- return TRUE;
- */
- }
- }
- #undef ROW_START
- }
- void WriteModuleSettingData(void)
- {
- BYTE bI;
- BYTE bKeepStorType;
- PBYTE pbFsData; //Walace060926#1 VideoResume
- //Walace020616#1 start
- if((gxbSettingBuffer[SETTING_CURRENT_MODE]==SAVE_FROM_INIT)||
- (gxbSettingBuffer[SETTING_CURRENT_MODE]==SAVE_FROM_INIT_KEY_HOLD))
- {
- return;
- }
- //Walace020616#1 end
- bKeepStorType=gxbStorage;
- //read 2k data
- NandPrivateEn();
- ReadSettingData(FS_DATA_0_0);
- pbFsData = gxbFsData+gxwOffsetDataSec; //Walace060926#1 VideoResume
- /* //Walace060216#1
- if(gxbSettingBuffer[SETTING_CURRENT_MODE]==SAVE_FROM_INIT) //use default setting, no change any more
- { RestoreDefaultSetting(); }
- else
- {
- */
- /* Walace051124 #1
- #if(PW_OFF_USE_ANIMATION)
- if(gxbSettingBuffer[SETTING_NEXT_MODE]==SAVE_AND_POWER_OFF)
- {
- while(gxbLcdCounter<PW_OFF_DISP_INTERVAL) { };
- gxbLcdCounter=0;
- }
- #endif
- */
- switch(gxbSettingBuffer[SETTING_CURRENT_MODE])
- {
- case SAVE_FROM_HOST:
- case SAVE_FROM_PHOTO: //050725
- break;
- case SAVE_FROM_VIDEO: //Walace051217#Video
- //Walace060926#1 VideoResume start
- *(pbFsData+SRAM_VIDEO_REPEAT_MODE) = gxbSettingBuffer[SETTING_REPEAT_MODE];
- *((PDWORD)(pbFsData+SRAM_VIDEO_LAST_FILESECTOR)) = gxdwLastPlayFileSector;
- *((PWORD)(pbFsData+SRAM_VIDEO_LAST_PLAY_TIME)) = gxwVideoLastPlayTime;
- for(bI=0;bI<11;bI++)
- *(pbFsData+SRAM_LAST_VIDEO_FILE+bI)=gxbLastFileName[bI];
- *(pbFsData+SRAM_VIDEO_PATH_DEPTH)=gxbLastFileDepth;
- for(bI=0;bI<(MAX_PATH_DEPTH-1)*11;bI++)
- *(pbFsData+SRAM_VIDEO_PATH_START+bI) = gxbLastFilePath[bI];
- //Walace060926#1 VideoResume end
- break;
- case SAVE_FROM_REC:
- if(gxbSettingBuffer[SETTINT_PLAY_FILE_NAME]!=0x00)
- {
- for(bI=0;bI<11;bI++)
- gxbFsData[SRAM_LAST_DVR_FILE+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTINT_PLAY_FILE_NAME+bI];
- }
- *((WORD*)&gxbFsData[SRAM_LAST_DVR_TIME+gxwOffsetDataSec])=0; //tne 2005/11/28 #1 //clean Ui resume
- break;
- case SAVE_FROM_PLAY:
- /////tne 2006/01/16/////
- gxbFsData[SRAM_EQ+gxwOffsetDataSec]=gxwEqMode;
- gxbFsData[SRAM_3D+gxwOffsetDataSec]=gxw3DMode;
- for(bI=0;bI<=5;bI++)
- gxbFsData[SRAM_USER_EQ_LV1+bI+gxwOffsetDataSec]=gxbUserDefEq[bI];
- ////////////////////////
- gxbFsData[SRAM_REPT_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_REPEAT_MODE];
- //Renshuo050603#A //resorte time
- *((DWORD*)&gxbFsData[SRAM_PLAY_LAST_FILESECTOR+gxwOffsetDataSec])=*((DWORD*)&gxbSettingBuffer[SETTING_PLAY_LAST_FILESECTOR]);
- *((DWORD*)&gxbFsData[SRAM_PLAY_LAST_FILESIZE+gxwOffsetDataSec])=*((DWORD*)&gxbSettingBuffer[SETTING_PLAY_LAST_FILESIZE]);
- *((DWORD*)&gxbFsData[SRAM_PLAY_LAST_FRAMENUM+gxwOffsetDataSec])=*((DWORD*)&gxbSettingBuffer[SETTING_PLAY_LAST_FRAMENUM]);
- //UI for class
- gxbFsData[SRAM_PLAY_CLASS_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_PLAY_CLASS_MODE];
- if(gxbSettingBuffer[SETTING_PLAY_CLASS_MODE]==P_CLASS_MODE_FILE)
- {
- gxbFsData[SRAM_PLAY_PATH_DEPTH+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_PLAY_PATH_DEPTH];
- for(bI=0;bI<(MAX_PATH_DEPTH-1)*11;bI++)
- gxbFsData[SRAM_PLAY_PATH_START+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_PLAY_PATH_START+bI]; //Walace060931#1
- for(bI=0;bI<11;bI++)
- gxbFsData[SRAM_LAST_PLAY_FILE+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTINT_PLAY_FILE_NAME+bI];
- //let CDB invalid
- *((DWORD*)&gxbFsData[SRAM_CLASS_ADDR_POINT+gxwOffsetDataSec])=CDB_INIT_POINT;
- }
- else
- {
- *((DWORD*)&gxbFsData[SRAM_CLASS_ADDR_POINT+gxwOffsetDataSec])=*((DWORD*)(&gxbSettingBuffer[SETTING_CLASS_ADDR_POINT]));
- *((WORD*)&gxbFsData[SRAM_FILE_NUM_IN_ALL_CLASS+gxwOffsetDataSec])=*((WORD*)(&gxbSettingBuffer[SETTING_FNUM_IN_ALL_CLASS]));
- *((WORD*)&gxbFsData[SRAM_TOTAL_NUM_IN_ALL_CLASS+gxwOffsetDataSec])=*((WORD*)(&gxbSettingBuffer[SETTING_TOTAL_NUM_IN_ALL_CLASS]));
- *((WORD*)&gxbFsData[SRMA_TOTAL_NUM_IN_CLASS+gxwOffsetDataSec])=*((WORD*)(&gxbSettingBuffer[SETTING_TOTAL_NUM_IN_CLASS]));
- //let file name invalid
- gxbFsData[SRAM_PLAY_PATH_DEPTH+gxwOffsetDataSec]=0;
- gxbFsData[SRAM_PLAY_PATH_START+gxwOffsetDataSec]=0; //Walace060931#1
- gxbFsData[SRAM_LAST_PLAY_FILE+gxwOffsetDataSec]=0;
- }
- gxbFsData[SRAM_SPECTRUM_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_SPECTRUM_MODE];
- //tne 2005/08/19
- *((WORD*)&gxbFsData[SRAM_LAST_PLAY_TIME+gxwOffsetDataSec])=*((WORD*)&gxbSettingBuffer[SETTING_LAST_PLAY_TIME]);
- //Walace060220#1
- #if(UI_USE_SLIDE_SHOW)
- gxbFsData[SRAM_SLIDE_SHOW_DATA+gxwOffsetDataSec]=gxbSlideShowSet; //Walace060220#1
- #endif
- break;
- case SAVE_FROM_DVR:
- /////tne 2006/01/16/////
- gxbFsData[SRAM_DVR_EQ+gxwOffsetDataSec]=gxwEqMode;
- gxbFsData[SRAM_DVR_3D+gxwOffsetDataSec]=gxw3DMode;
- for(bI=0;bI<=5;bI++)
- gxbFsData[SRAM_DVR_USER_EQ_LV1+bI+gxwOffsetDataSec]=gxbUserDefEq[bI];
- ////////////////////////
- gxbFsData[SRAM_DVR_REPEAT_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_REPEAT_MODE];
- gxbFsData[SRAM_VAD_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_VAD_MODE];
- //Renshuo050603#A //resorte time
- //Walace060931#1 start
- *((DWORD*)&gxbFsData[SRAM_DVR_LAST_FILESECTOR+gxwOffsetDataSec])=*((DWORD*)&gxbSettingBuffer[SETTING_PLAY_LAST_FILESECTOR]);//Walace060931#1
- *((DWORD*)&gxbFsData[SRAM_DVR_LAST_FILESIZE+gxwOffsetDataSec])=*((DWORD*)&gxbSettingBuffer[SETTING_PLAY_LAST_FILESIZE]);//Walace060931#1
- *((DWORD*)&gxbFsData[SRAM_DVR_LAST_FRAMENUM+gxwOffsetDataSec])=*((DWORD*)&gxbSettingBuffer[SETTING_PLAY_LAST_FRAMENUM]);//Walace060931#1
- //Walace060931#1 end
- for(bI=0;bI<11;bI++)
- gxbFsData[SRAM_LAST_DVR_FILE+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTINT_PLAY_FILE_NAME+bI];
- gxbFsData[SRAM_SPECTRUM_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_SPECTRUM_MODE];
- //tne 2005/08/19
- *((WORD*)&gxbFsData[SRAM_LAST_DVR_TIME+gxwOffsetDataSec])=*((WORD*)&gxbSettingBuffer[SETTING_LAST_PLAY_TIME]);//Walace060931#1
- break;
- case SAVE_FROM_FM:
- //Dennis060517#1 start
- for(bI=0;bI<=FM_MAX_PRESET;bI++)
- {
- //Walace060931#1 start
- #if(FM_STEP_100K)
- gxbFsData[SRAM_FM_PRESET_START+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_FM_PRESET_START+bI];
- //gxbFsData[SRAM_FM_PRESET_START+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_FM_PRESET_S+bI];
- #else
- //tne 2006/11/20 #6
- *((PWORD)(gxbFsData+gxwOffsetDataSec+SRAM_FM_PRESET_START)+bI) =
- *((PWORD)(gxbSettingBuffer+SETTING_FM_PRESET_START)+bI);
- //gxbFsData[SRAM_FM_PRESET_START+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_FM_PRESER_1+bI];
- //gxbFsData[SRAM_FM_PRESET_16+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_FM_PRESER_16+bI];
- #endif
- //Walace060931#1 end
- }
- #if(FM_STEP_100K)
- gxbFsData[SRAM_FM_FREQ+gxwOffsetDataSec]=((BYTE)((gxwFmFreq-FM_FREQ_MIN)&0x00FF));
- #else
- //Walace060931#1 start
- *((PWORD)(gxbFsData+SRAM_FM_FREQ+gxwOffsetDataSec)) = (gxwFmFreq-FM_FREQ_MIN);
- //gxbFsData[SRAM_FM_FREQ+gxwOffsetDataSec]=((BYTE)((gxwFmFreq-FM_FREQ_MIN)&0x00FF));
- //gxbFsData[SRAM_FM_FREQ_HIGH+gxwOffsetDataSec]=((BYTE)((gxwFmFreq-FM_FREQ_MIN)>>8));
- //Walace060931#1 end
- #endif
- //Dennis060517#1 end
- gxbFsData[SRAM_FM_PRESET_NUM+gxwOffsetDataSec]=gxbFmPreset;
- gxbFsData[SRAM_FM_STATE+gxwOffsetDataSec]=gxbFmState; //Walace060217#1
- break;
- case SAVE_FROM_SYS:
- gxbFsData[SRAM_LANGUAGE_TYPE+gxwOffsetDataSec]=gxbLangueType;
- gxbFsData[SRAM_CONTRAST+gxwOffsetDataSec]=gxbLcdContrast;
- gxbFsData[SRAM_BACK_LIGHT+gxwOffsetDataSec]=gxbBackLightTime;
- gxbFsData[SRAM_AUTO_OFF_H+gxwOffsetDataSec]=(gxwAutoOff>>8);
- gxbFsData[SRAM_AUTO_OFF_L+gxwOffsetDataSec]=gxwAutoOff;
- gxbFsData[SRAM_VAD_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_VAD_MODE];
- //tne 2005/11/23 #3
- obDCVARRD=0x03;
- gxbFsData[SRAM_TIME_ZONE+gxwOffsetDataSec]=(((obDCVRDDATA&RTC_GET_ALARM_STS)<<4) | gxbSettingBuffer[SETTING_TIME_ZONE]);
- //gxbFsData[SRAM_TIME_ZONE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_TIME_ZONE]; //tne 2005/05/17
- //gxbFsData[SRAM_DRM_OPTION_MODE+gxwOffsetDataSec]=gxbSettingBuffer[SETTING_DRM_MODE]; //mark by tne 2005/02/18 #1
- break;
- //Vicky060301
- case SAVE_FROM_AMUSE:
- break;
- case SAVE_FROM_EBOOK: // Jeff070424#1
- for(bI=0;bI<11;bI++)
- gxbFsData[SRAM_LAST_EBOOK_FILE+bI+gxwOffsetDataSec]=gxbSettingBuffer[SETTINT_EBOOK_FILE_NAME+bI];
- gxbFsData[SRAM_EBOOK_PAGE+gxwOffsetDataSec]=gxbSettingBuffer[SETTINT_EBOOK_PAGE];
- break;
- //End
- }
- #if(_PEDOMETER_Mode_)
- gxbFsData[SRAM_CUSTOMERAGE+gxwOffsetDataSec]=gxbCustomerAge;
- gxbFsData[SRAM_CUSTOMERSTATURE+gxwOffsetDataSec]=gxbUserStanding;
- gxbFsData[SRAM_CUSTOMERWEIGHT+gxwOffsetDataSec]=gxbUserWeight;
- gxbFsData[SRAM_CUSTOMERSTRIDE+gxwOffsetDataSec]=gxbWalkingStride;
- gxbFsData[SRAM_CUSTOMERSEX+gxwOffsetDataSec]=gxbCustomerSEX;
- #endif
- gxbFsData[SRAM_LAST_MODE+gxwOffsetDataSec]=gxbDeviceMode;
- gxbFsData[SRAM_VOLUME+gxwOffsetDataSec]=gxbVolume;
- //gxbFsData[SRAM_EQ+gxwOffsetDataSec]=gxwEqMode; //tne 2006/01/16
- gxbFsData[SRAM_STORAGE+gxwOffsetDataSec]=gxbStorage;
- //gxbFsData[SRAM_INTRO+gxwOffsetDataSec]=gxbIntroMode; //Tne051228#1
- //gxbFsData[SRAM_SLIDE_SHOW_DATA+gxwOffsetDataSec]=(BYTE)gxbSlideShowSet; //Walace060220#1
- //for(bI=0;bI<=5;bI++)
- // gxbFsData[SRAM_USER_EQ_LV1+bI+gxwOffsetDataSec]=gxbUserDefEq[bI]; //tne 2006/01/16
- gxbFsData[SRAM_REC_S_Q+gxwOffsetDataSec]=(gxbRecSource<<4)|(gxbRecQuality);
- //gxbFsData[SRAM_3D+gxwOffsetDataSec]=gxw3DMode; //tne 2006/01/16
- gxbFsData[SRAM_RECORD_ID1+gxwOffsetDataSec]=0x56;
- gxbFsData[SRAM_RECORD_ID2+gxwOffsetDataSec]=0x61;
- //add by tne 2005/05/17
- (DWORD)gxbFsData[SRAM_LAST_RTC_TIME+gxwOffsetDataSec]=gxdwNowTime;
- for(bI=0;bI<4;bI++)
- {
- obDCVARRD=bI+0x19;
- gxbFsData[SRAM_LAST_ALARM_TIME+gxwOffsetDataSec+(3-bI)]=obDCVRDDATA;
- }
- (DWORD)gxbFsData[SRAM_LAST_CK_OFFSET+gxwOffsetDataSec]=gxdwSClockOffset;
- gxbFsData[SRAM_LAST_DRM_OPTION+gxwOffsetDataSec]=gxbDrmOptionMode;
- ////////////////////////
- //tne 2006/05/10 #3 Start
- SramWrite(SRAM_DRM_OPTION_MODE,&gxbDrmOptionMode);
- SramWrite(SRAM_CONTRAST, &gxbLcdContrast);
- SramWrite(SRAM_BACK_LIGHT,&gxbBackLightTime);
- //tne 2006/05/10 #3 End
- #if(_PEDOMETER_Mode_)
- SramWrite(SRAM_CUSTOMERAGE, &gxbCustomerAge);
- SramWrite(SRAM_CUSTOMERSTATURE, &gxbUserStanding);
- SramWrite(SRAM_CUSTOMERWEIGHT, &gxbUserWeight);
- SramWrite(SRAM_CUSTOMERSTRIDE, &gxbWalkingStride);
- SramWrite(SRAM_CUSTOMERSEX, &gxbCustomerSEX);
- #endif
- //save setting to Nand Flash private area
- WriteSettingData(FS_DATA_0_0);
- /* //Walace051124#1
- #if(PW_OFF_USE_ANIMATION)
- if(gxbSettingBuffer[SETTING_NEXT_MODE]==SAVE_AND_POWER_OFF)
- {
- while(gxbLcdCounter<PW_OFF_DISP_INTERVAL) { };
- gxbLcdCounter=0;
- }
- #endif
- */
- //} //Walace060216#1
- NandPrivateDis();
- NandFinishJob(); //tne 2005/05/16
- gxbStorType=bKeepStorType;
- gxbStorage=bKeepStorType;
- //Nick061120 start
- gxbRestoreCMD = FullStep;
- NandRestore();
- //Nick061120 end
- }
- void SwapToNextModule(void)
- {
- BYTE bKey=KEY_INVALID;
- //swap module or power off
- switch(gxbSettingBuffer[SETTING_NEXT_MODE])
- {
- case SAVE_AND_INIT:
- LoadProgram(PM_INIT,NORMAL_CODE);
- break;
- case SAVE_AND_PLAY:
- gxbModuleState = MODULE_INITIAL;
- gxbDeviceMode=DEV_MUSIC;
- LoadProgram(PM_PLAY_FAT_LARGE,NORMAL_CODE);
- break;
- case SAVE_AND_PHOTO:
- gxbModuleState = MODULE_INITIAL; //tne 2005/12/17
- gxbDeviceMode=DEV_PHO;
- LoadProgram(PM_PHOTO_VIEW,NORMAL_CODE);
- break;
- case SAVE_AND_VIDEO: //Walace051106#Video
- gxbModuleState = MODULE_INITIAL; //tne 2005/12/17
- gxbDeviceMode=DEV_VIDEO;
- LoadProgram(PM_VIDEO_FLIST,NORMAL_CODE); //Walace060926#1 VideoResume
- break;
- case SAVE_AND_DVR:
- if(gxbModuleState==(MODULE_REC|MODULE_PRC_REC_KEY_END)) //vicky060810
- gxbModuleState = (MODULE_INITIAL|MODULE_PRC_REC_KEY_END);
- else
- gxbModuleState = (MODULE_INITIAL);
- gxbDeviceMode=DEV_DVR;
- SetSysSpeed(0x02);
- LoadProgram(PM_PLAY_DVR,NORMAL_CODE);
- break;
- case SAVE_AND_FM:
- if(gxbModuleState==(MODULE_REC|MODULE_PRC_REC_KEY_END)) //vicky060810
- {
- gxbModuleState = (MODULE_INITIAL|MODULE_PRC_REC_KEY_END);
- }
- else
- gxbModuleState = (MODULE_INITIAL);
- gxbDeviceMode=DEV_FM;
- if(gxbSettingBuffer[SETTING_CURRENT_MODE]==SAVE_FROM_REC)
- gxbFmPreset|=0x01;
- else
- gxbFmPreset&=0xFE;
- LoadProgram(PM_FM,NORMAL_CODE);
- break;
- case SAVE_AND_SYS:
- gxbDeviceMode=DEV_SYS;
- LoadProgram(PM_SYSTEM,NORMAL_CODE);
- break;
- case SAVE_AND_FILECTRL: //TONY070111
- gxbDeviceMode=DEV_FILE_CTRL; //tne 2007/01/12 #1
- LoadProgram(PM_SYSTEM,NORMAL_CODE);
- break;
- case SAVE_AND_REC:
- LoadProgram(PM_REC_FAT_LARGE,NORMAL_CODE);
- break;
- case SAVE_AND_HOST:
- gxbDeviceMode=DEV_HST;
- LoadProgram(PM_HOST,NORMAL_CODE);
- break;
- case SAVE_AND_INIT_CHK:
- LoadProgram(PM_INIT_CHK,NORMAL_CODE);
- break;
- case SAVE_AND_AMUSE:
- LoadProgram(PM_AMUSE,NORMAL_CODE);
- break;
- case SAVE_AND_EBOOK:
- LoadProgram(PM_EBOOK,NORMAL_CODE);
- break;
- /*
- case SAVE_AND_DIR_DEL: //Tne051221#Video
- LoadProgram(PM_DIR_DEL);
- break;
- case SAVE_AND_FILE_DEL: //Tne051221#Video
- LoadProgram(PM_PLAY_DEL);
- break;
- */
- case SAVE_AND_POWER_OFF:
- //Nick061120 start
- gxbRestoreCMD = FinishAllBlk;
- NandRestore();
- //Nick061120 end //NandRestore
- ScanPM(); //Nick061204 //NandRestore
- //tne 2007/01/04 #1
- ShowAnimation(IM_CLOSE_ANIMATION_START,IM_CLOSE_ANIMATION_OFFSET,IM_CLOSE_ANIMATION_NUM,0,0,IM_CLOSE_ANIMATION_DELAY);
- OledShowIconNew(2,IM_BG_CLEAR_TO_BLACK,0,0);
- //OledDisplayFade(FALSE,4000);
- OledDisplayOn(OFF);
- #if(USE_STEP_UP_CONVERTER)
- PwmDisable();
- #endif
- if(VbusCheck(CHECK_VBUS_ON)) //Walace060901#2
- {
- OledDisplayOn(ON);
- LoadProgram(PM_INIT,NORMAL_CODE);
- }
- /*============Del by Rojam 2007-03-28 09:29===============
- #if(!FIVEKEY)
- obGPIOCDIR |= 0x04;//TONY060404
- obGPIOCDAT &= (~0x04);
- #else
- obGPIOADIR |= 0x01;
- obGPIOADAT &= (~0x01);
- #endif
- =========================== end Del ========================*/
- SetPowerOff();
- while(1)
- {
- /*============Del by Rojam 2007-03-28 09:29===============
- #if(!FIVEKEY)
- obGPIOCDIR |= 0x04;//TONY060404
- obGPIOCDAT &= (~0x04);
- #else
- obGPIOADIR |= 0x01;
- obGPIOADAT &= (~0x01);
- #endif
- =========================== end Del ========================*/
- }
- break;
- }
- }
- // Walace050920
- #if(UI_USE_ALARM_DISPLAY)
- //tne 2006/01/15 #1 move to UiCommon.c
- //void UiShowWakeUp() large
- #endif
- void UiErrHandle(void) large
- {
- }