SaveSetting.c
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:9k
源码类别:
压缩解压
开发平台:
C++ Builder
- /*==========================================================================
- Copyright (c) 2004 ALi Corporation. All Rights Reserved
- File: SaveSetting.c
- content: Save Setting to NAND FLASH PRIVATE area
- History: Created by TNE 2005/01/07
- ==========================================================================*/
- #define _SAVE_SETTING_H_
- #include <DP8051XP.H>
- #include "TypeDef.h"
- #include "Const.h"
- #include "Reg5661.h"
- #include "Common.h"
- #include "UiCommon.h"
- #include "FileSystem.h"
- #include "NandFlash.h"
- #if(_C_MODE_)
- #include "OledString.h"
- #include "OLED.h"
- #else
- #include "Lcd.h"
- #endif
- #include "SaveSetting.h"
- #include "SD.h"
- #define FM_FREQ (FM_DEFAULT_FREQ-FM_FREQ_MIN)
- #define AUTO_OFF_H ((BYTE)(AUTO_OFF_DEFAULT>>8))
- #define AUTO_OFF_L ((BYTE)AUTO_OFF_DEFAULT)
- #define REC_S_Q_DEFAULT ((REC_S_DEFAULT<<4)|(REC_Q_DEFAULT&0x0F))
- //tne 2007/01/08 #1
- #if(_PM_SAVE_|_PM_SYS_|_PM_INIT_) //Walace060931#1 START
- CBYTE cbSramDefault[]={
- DEV_MUSIC, // SRAM_LAST_MODE 0x00
- 00, // SRAM_LAST_PLAY_TIME 0x01
- 00, // Unused 0x02
- LANGUAGE_TYPE_DEFAULT, // SRAM_LANGUAGE_TYPE 0x03
- DEFAULT_VOL, // SRAM_VOLUME 0x04
- EQ_MODE_DEFAULT, // SRAM_EQ 0x05
- REPT_MODE_DEFAULT|REPEAT_SETTING_DIR_FLAG_J, // SRAM_REPT_MODE 0x06
- LCD_DEFAULT_CONTRAST, // SRAM_CONTRAST 0x07
- LCD_BACKLIGHT_DEFAULT_NUM, // SRAM_BACK_LIGHT 0x08
- STOR_NAND, // SRAM_STORAGE 0x09
- EQ_MODE_DEFAULT, // SRAM_DVR_EQ 0x0A
- SOUND_3D_DEFAULT, // SRAM_DVR_3D 0x0B
- 00,00,00,00, // SRAM_CLOCK_OFFSET1 0x0C~0x0x0F
- REPT_MODE_DEFAULT|REPEAT_SETTING_DIR_FLAG_J, // SRAM_DVR_REPEAT_MODE 0x10
- PLAY_CLASS_MODE_DEFAULT, // SRAM_PLAY_CLASS_MODE 0x11
- MSC_MODIFY_FLASG_DEFAULT, // SRAM_MSC_MODIFY_FLAG 0x12
- 0, 0, 0, 0, 0, 0, 0, 0, // Unused 0x13~0x1A
- DRM_OPTION_DEFAULT|S_CLOCK_READY_DEFAULT, // SRAM_DRM_OPTION_MODE 0x1B
- REC_VAD_DEFAULT, // SRAM_VAD_MODE 0x1C
- 00, // SRAM_BYT_LOW_FLAG 0x1D
- USER_EQ_DEFAULT, // SRAM_USER_EQ_LV1 0x1E
- USER_EQ_DEFAULT, // SRAM_USER_EQ_LV2 0x1F
- USER_EQ_DEFAULT, // SRAM_USER_EQ_LV3 0x20
- USER_EQ_DEFAULT, // SRAM_USER_EQ_LV4 0x21
- USER_EQ_DEFAULT, // SRAM_USER_EQ_LV5 0x22
- USER_EQ_DEFAULT, // SRAM_USER_EQ_ALL 0x23
- 00,00, // SRAM_LAST_DVR_TIME 0x24
- 00, // Unused 0x26
- UI_SPECTRUM_WAV_DISPLAY, // SRAM_SPECTRUM_MODE 0x27
- 0, // Unused 0x28
- 0, // SRAM_FM_PRESET_NUM 0x29
- AUTO_OFF_H,AUTO_OFF_L, // SRAM_AUTO_OFF_H 0x2A~0x2B
- REC_S_Q_DEFAULT, // SRAM_REC_S_Q 0x2C
- SOUND_3D_DEFAULT, // SRAM_3D 0x2D
- 0x56, // SRAM_RECORD_ID1 0x2E
- 0x61, // SRAM_RECORD_ID2 0x2F
- TIME_ZONE_DEFAULT, // SRAM_TIME_ZONE 0x30
- };
- #endif
- //Walace060931#1 END
- #if(_PM_SAVE_)
- //init to original system state (for host module come back)
- void InitToNormalSys(void)
- {
- BYTE btemp1,btemp2;
- //tne 2005/11/28 #2
- CKCON &= 0xF8;
- CKCON |= 0x02;
- //SetSysSpeed(SYS_SPEED_UP_INIT);
- SetSysSpeed(SYS_SPEED_UP_NAND_INIT); //Walace060703#4
- //obCLKMCUDIVF=obCLKSRAMDIVF=obCLKSMDIVF=0x02; //147/4=36.5(33.5)
- #if(NEW_FLASH)
- NandInit(NDINIT_DONE); //allen060622 new_nf
- #else
- NandInit();
- #endif
- ReCheckStorage(gxbStorType);
- FsInit();
- if(!gbFsUnableUse) //Walace060629#2 //Walace060720#2
- {
- LoadRecInfo();
- FsRecInit(); //Walace060503#1
- //ET0=0; //disable timer0 for more exact delay time
- for(btemp2=0; btemp2<REC_DIR_NUM; btemp2++)
- {
- FsFindDir(btemp2,gxbUiDirName[btemp2],1,ATTR_SUB_DIR); //find record dir or create it. tne 2006/12/07 #3
- }
- //ET0=1;
- for(btemp2=0; btemp2<REC_DIR_NUM; btemp2++)
- {
- for(btemp1=0;btemp1<REC_PREFIX_LEN;btemp1++)
- gxbFileName[btemp1]=gxbUiFileName[btemp2][btemp1];
- if(btemp2==REC_DIR_NUM-1)
- FsOpenNewFile(btemp2,TRUE);
- else
- FsOpenNewFile(btemp2,FALSE);
- }
- }
- SetSysSpeed(SYS_SPEED_NORMAL);
- CKCON &= 0xF8;
- //obCLKMCUDIVF=obCLKSRAMDIVF=obCLKSMDIVF=0x08; //147/10=14.7
- }
- #endif
- #if(_PM_SAVE_|_PM_SYS_|_PM_INIT_)
- /*--------------------------------------------------------------------------
- Description:
- Load default setting data to FsData[]
- Arguments:
- Global arguments:
- Returns:
- --------------------------------------------------------------------------*/
- void SetDefaultSetting(void) large
- {
- WORD wSramAddr;
- for(wSramAddr=0; wSramAddr<sizeof(cbSramDefault); wSramAddr++)
- { gxbFsData[wSramAddr+gxwOffsetDataSec]=cbSramDefault[wSramAddr]; }
- //tne 2005/11/10 #2 //clean all setting data
- for(;wSramAddr<512;wSramAddr++)
- { gxbFsData[wSramAddr+gxwOffsetDataSec]=0x00; }
- //tne 2006/01/16
- for(wSramAddr=SRAM_DVR_USER_EQ_LV1;wSramAddr<=SRAM_DVR_USER_EQ_ALL;wSramAddr++)
- { gxbFsData[wSramAddr+gxwOffsetDataSec]=USER_EQ_DEFAULT; }
- gxbFsData[SRAM_LAST_DRM_OPTION+gxwOffsetDataSec]=DRM_OPTION_DEFAULT;
- *((PWORD)(gxbFsData+SRAM_FM_FREQ+gxwOffsetDataSec))=(WORD)(FM_DEFAULT_FREQ-FM_FREQ_MIN); //Dennis060515#1
- for(wSramAddr=0;wSramAddr<FM_MAX_PRESET;wSramAddr++)
- {
- #if(FM_STEP_100K==1) //Dennis060517#1
- *(gxbFsData+SRAM_FM_PRESET_START+wSramAddr+gxwOffsetDataSec) = (FM_INVALID_FREQ_NUM-FM_FREQ_MIN); //tne 2007/01/08 #1
- #else
- *((PWORD)(gxbFsData+gxwOffsetDataSec+SRAM_FM_PRESET_START)+wSramAddr) = (FM_INVALID_FREQ_NUM-FM_FREQ_MIN); //tne 2007/01/08 #1
- #endif
- }
- gxbFsData[SRAM_FM_STATE+gxwOffsetDataSec]=FM_STATE_STEREO_SET; //Walace060217#1
- //Walace060307#2
- #if(_C_MODE_)
- gxbFsData[SRAM_VIDEO_REPEAT_MODE+gxwOffsetDataSec]=(REPT_MODE_DEFAULT|REPEAT_SETTING_DIR_FLAG_J);
- #endif
- }
- //Walace060931#1 END
- #if 0//Walace060926#1 VideoResume Remove to Common.c
- /*--------------------------------------------------------------------------
- Description:
- write setting data to Nand Flash private area
- Arguments:
- bStorPath: DMA path
- Global arguments:
- Returns:
- --------------------------------------------------------------------------*/
- void WriteSettingData(BYTE bStorPath) large
- {
- //gbSpecialRW=RW_PRIVATE;
- FsWrite(SAVE_SETTING_NAND_ADD,1,bStorPath);
- //NandFinishJob();
- //gxdwKeptDataSec=FORCE_REFLASH_SECTOR;
- //gbSpecialRW=RW_NORMAL;
- }
- #endif
- /*--------------------------------------------------------------------------
- Description:
- Restore default setting from Nand Flash private area
- Arguments:
- Global arguments:
- gxbFsData[]: writing data
- Returns:
- --------------------------------------------------------------------------*/
- API void RestoreDefaultSetting(void) large
- {
- SetDefaultSetting();
- gxbLcdContrast=LCD_DEFAULT_CONTRAST;
- gxbBackLightTime=LCD_BACKLIGHT_DEFAULT_NUM; //Walace060320#2
- gxbDrmOptionMode=(USB_MODE_DEFAULT|S_CLOCK_READY_DEFAULT); //tne 2005/04/26
- //======================add by Rojam for PedoMeter=============================
- #if(_PEDOMETER_Mode_)
- gxbCustomerAge=20;
- gxbUserWeight=60;
- gxbWalkingStride=76;
- gxbUserStanding=170;
- gxbCustomerSEX=1;
- gxwCurrentMotionTime=0;
- gxdCurrentStepNum=0;
- gxdCurrentMotionDistance=0;
- #endif
- //=============================end==========================================
- //tne 2005/11/21 #3
- #if( (!_C_MODE_) && (_PM_SYS_) )
- LCD_CTRL_EN();
- LcdSendCommand(LCD_REF_VOT_MODE);
- LcdSendCommand(LCD_SET_REF_VOL(gxbLcdContrast));
- LCD_CTRL_DIS();
- #endif
- SramWrite(SRAM_BACK_LIGHT, &gxbBackLightTime);//Walace060320#2
- SramWrite(SRAM_CONTRAST, &gxbLcdContrast);
- SramWrite(SRAM_DRM_OPTION_MODE,&gxbDrmOptionMode);
- #if(_PEDOMETER_Mode_)
- SramWrite(SRAM_CUSTOMERAGE, &gxbCustomerAge);
- SramWrite(SRAM_CUSTOMERSTATURE, &gxbUserStanding);
- SramWrite(SRAM_CUSTOMERWEIGHT, &gxbUserWeight);
- SramWrite(SRAM_CUSTOMERSTRIDE, &gxbWalkingStride);
- SramWrite(SRAM_CUSTOMERSEX, &gxbCustomerSEX);
- #endif
- #if(!_PM_MTP_INIT_)
- SetSettingToVariable();
- #endif
- WriteSettingData(FS_DATA_0_0);
- }
- #endif //#if(_PM_SAVE_|_PM_SYS_|_PM_INIT_)
English
