⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 storage.h

📁 ct952 source code use for Digital Frame Photo
💻 H
📖 第 1 页 / 共 2 页
字号:
#if (SETUP_ADDR_USED > SETUP_ADDR_LAST)#error "Exceed the reserved space for Setup Module in the EEPROM space !!"#endif  // #if (SETUP_ADDR_USED > SETUP_ADDR_LAST)//*************************************************************// DMP1.16#ifdef IMAGE_FRAME_SETUP#define IMAGE_FRAME_SETUP_ADDR_USED             (SETUP_ADDR_AUTO_POWER_OFF_TIME + EPROM_AUTO_POWER_OFF_TIME_BYTE - 1) #define IMAGE_FRAME_SETUP_DATA_BYTES            (IMAGE_FRAME_SETUP_ADDR_USED - IMAGE_FRAME_SETUP_ADDR_BASE + 1)// Do error checking if total used space is out of the reserved space.#if (IMAGE_FRAME_SETUP_ADDR_USED > IMAGE_FRAME_SETUP_ADDR_LAST)#error "Exceed the reserved space for Setup Module in the EEPROM space !!"#endif  // #if (IMAGE_FRAME_SETUP_ADDR_USED > IMAGE_FRAME_SETUP_ADDR_LAST)#endif ////*************************************************************//Alan1.06 for TFT #define TFT_ADDR_BIRHGTNESS           TFT_ADDR_BASE#define TFT_BRIGHTNESS_BYTE           1#define TFT_ADDR_CONTRAST             (TFT_ADDR_BIRHGTNESS + TFT_BRIGHTNESS_BYTE)#define TFT_CONTRAST_BYTE             1#define TFT_ADDR_SATURATION           (TFT_ADDR_CONTRAST + TFT_CONTRAST_BYTE)#define TFT_SATURATION_BYTE           1//*************************************************************#define TFT_ADDR_USED                 (TFT_ADDR_SATURATION + TFT_SATURATION_BYTE - 1)#define TFT_DATA_BYTES                (TFT_ADDR_USED - TFT_ADDR_BASE + 1)// Do error checking if total used space is out of the reserved space.#if (TFT_ADDR_USED > TFT_ADDR_LAST)#error "Exceed the reserved space for Setup Module in the EEPROM space !!"#endif  // #if (TFT_ADDR_USED > TFT_ADDR_LAST)//*************************************************************//For Radio#ifdef CT950_STYLE#define RADIO_ADDR_BACKUP_FREQ		(RADIO_ADDR_BASE)#define EPROM_BACKUP_FREQ_BYTE		2#define RADIO_ADDR_FAVORITE			(RADIO_ADDR_BASE + EPROM_BACKUP_FREQ_BYTE)#define EPROM_FAVORITE_BYTE			(2*RADIO_FAVORITE_NUM)#define RADIO_ADDR_USED                 (RADIO_ADDR_FAVORITE + EPROM_FAVORITE_BYTE - 1)#define RADIO_DATA_BYTES                (RADIO_ADDR_USED - RADIO_ADDR_BASE + 1)// Do error checking if total used space is out of the reserved space.#if (RADIO_ADDR_USED > RADIO_ADDR_LAST)#error "Exceed the reserved space for Radio Module in the EEPROM space !!"#endif  // #if (RADIO_ADDR_USED > RADIO_ADDR_LAST)#endif //// To add one more entry in EEPROM, must allocate// [USER] (1) EEPROM address, (2) Bytes// [USER] (3) Add one entry to SetupInfo.// [USER] (4) EEPROM last address// add here// wyc2.51-909P, JPG encode file list information in storage.#ifndef SUPPORT_ENCODE_JPG_PICTURE// Ming0.80, Define EEPROM address while save resume into. into EEPROM#ifdef SUPPORT_RESUME_FROM_EEPROM#define SETUP_ADDR_RESUME_FLAG      (SETUP_ADDR_RESUME_BASE)#define RESUME_FLAG_LENGTH          (RESUME_MARK_SIZE)// LLY1.00, combine the resume ID & information together// Let it same as the resume information data structure#define SETUP_ADDR_RESUME_DATA      (SETUP_ADDR_RESUME_FLAG + RESUME_FLAG_LENGTH)#define RESUME_DATA_LENGTH          ((RESUME_ID_ENTRY_SIZE + RESUME_INFO_ENTRY_SIZE) * (RESUME_DISC_NUM))#define SETUP_ADDR_RESUME_USED      (SETUP_ADDR_RESUME_DATA + RESUME_DATA_LENGTH - 1)#endif  // SUPPORT_RESUME_FROM_EEPROM#else#define SETUP_ADDR_JPG_ENCODE_MASK          (SETUP_ADDR_JPG_ENCODE_BASE)#define SETUP_ADDR_JPG_ENCODE_FILE_LIST     (SETUP_ADDR_JPG_ENCODE_MASK+1)#define SETUP_ADDR_JPG_ENCODE_FILE_ENTRY    (SETUP_ADDR_JPG_ENCODE_FILE_LIST+SRCFTR_SUPPORT_JPG_ENCODE_NUM)#define SETUP_ADDR_JPG_ENCODE_FILE_STATUS   (SETUP_ADDR_JPG_ENCODE_FILE_ENTRY+1)#endif //#define REGION_ALL      0xff  // support all region#define REGION1         0x01  // support region 1#define REGION2         0x02  // support region 2#define REGION3         0x04  // support region 3#define REGION4         0x08  // support region 4#define REGION5         0x10  // support region 5#define REGION6         0x20  // support region 6#define REGION7         0x40  // support region 7, reserved?#define REGION8         0x80  // support region 8, reserved// the data sequence must follow the address sequence.typedef struct tagSETUPINFO{    char    cSetupIdentify[EPROM_IDENTIFY_BYTE];    BYTE    bSetupVersion;    BYTE    bInterVersion;       // Please don't modify this field except D300    // external reference    BYTE    bAudioLanguage;     //Audio Language    BYTE    bSPSTLanguage;      //Subtitle Language    BYTE    bSCRControl;        //Screen Saver    BYTE    bProgressiveScan;   //Progressive Video Output: On/Off,  Brian0.81,     BYTE    bChromPhaseOffset;	//Video hue adjustment	        BYTE    bAudioOutput;       //Audio output  //Kevin0.87b, cross out later (consider all modules that use __SetupInfo.bAudioOutput)    BYTE    bAudioDigitalOut;   //Audio Digital Output    BYTE    bAudioAnalogOut;    //Audio Analog Output    BYTE    bAudioLPCM;         //Audio LPCM    BYTE    bAudioDownMix;      //Audio Analog Output    BYTE    bAudioPrologic;     // Brian2.78b-2, prologic on/off    BYTE    bRegionControl;     //Region control    BYTE    bAPSControl;        //APS control for back door    BYTE    bParentalCtl;       //Parental control level    BYTE    bAudioCenter;       //Audio Center    BYTE    bAudioRear;         //Audio Rear    BYTE    bAudioSubwoofer;    //Audio Subwoofer    BYTE    bAudioDNR;          //Audio DNR compression    BYTE    bAudioKaraoke;      //Audio karaoke    BYTE    bParentalControl;   //Parental control for back door    BYTE    bMenuLanguage;      //Menu Language    BYTE    bExSPSTLanguage;    //External Subtitle Language    WORD    wMenuLanguageCode;  //Record other menu language code    WORD    wAudioLanguageCode; //Record other audio language code    WORD    wSPSTLanguageCode;  //Record other SPST language code    BYTE    bSmartPlay;         //DVD Smart Playback    BYTE    bAngleMarkDisplay;  //Angle mark display    BYTE    bVCDControl;        // ** TCH2.74; "1" mean can;t play VCD-relative title    BYTE    bDebugMode;         // Record the debug mode    BYTE    bAPMode;///////          NOTE !!!    The order should be the same as SYSTEMINFO    BYTE    bSTBMagiceCountHead;// STB magic count head    BYTE    bUIStyle;           //UI Style    BYTE    bBrightness;        //Brightness    BYTE    bContrast;          //Contrast    BYTE    bAspectRatio;       //TV type    BYTE    bTVSystem;          //TV system    BYTE    bVideoOutput;       //Video Output, no mapping UI    BYTE    bOSDLanguage;       //OSD Language    WORD    wDefaultPassword;    BYTE    bDefaultType;       // DVB only. Default startup mode.    BYTE    bLastMode;          // DVB only. Last mode.     // data are NOT stored in EEPROM    // brian.170a, as Micky request another variable that actually contains the OSD dispaly time    // for Angle message    BYTE    bAngleMarkTime; // 0 when SETUP_CUSTOM_ANGLE_MARK_OFF; 0xFF when SETUP_CUSTOM_ANGLE_MARK_ON    BYTE    bAudioTestTone;}   PACK_FORMAT SETUPINFO; typedef struct tagIMAGE_FRAME_SETUPINFO{    BYTE    bPhotoIntervalTime;    BYTE    bTransitionEffect;    BYTE    bBrowse;    BYTE    bAutoPlayPhoto;    BYTE    bAutoPlayMusic;    BYTE    bAutoPlayPhotoPlusMusic;    BYTE    bAutoPlayMovie;    BYTE    bDisplayType;    BYTE    bRepeatMode;    BYTE    bAlarmEnable;    BYTE    bAutoPowerOnEnable;    BYTE    bAutoPowerOffEnable;    WORD    wAlarmTime;             //high byte==>hour, low byte==>minute    WORD    wAutoPowerOnTime;       //high byte==>hour, low byte==>minute    WORD    wAutoPowerOffTime;      //high byte==>hour, low byte==>minute} PACK_FORMAT IMAGE_FRAME_SETUPINFO;///////          NOTE !!!    The order should be the same as SETUPINFOtypedef struct tagSYSTEMINFO{    BYTE    bSTBMagiceCountHead;// STB magic count head    BYTE    bUIStyle;           //UI Style    BYTE    bBrightness;        //Brightness    BYTE    bContrast;          //Contrast    BYTE    bAspectRatio;       //TV type    BYTE    bTVSystem;          //TV system    BYTE    bVideoOutput;       //Video Output, no mapping UI    BYTE    bOSDLanguage;       //OSD Language    WORD    wDefaultPassword;    BYTE    bDefaultType;       // Default startup mode. DVB only    BYTE    bLastMode;          // Last mode. DVB only }   PACK_FORMAT SYSTEMINFO; #ifdef  BACK_DOOR_DECLARE// Definitions for back door solution //CoCo.043#define BACK_DOOR_SEQUENCE_NUM  4       //  this is the total sequence numberBYTE    __bBackDoorSeqIndex = 0;        // this is the index to acess the sequence arrayBYTE    __bBackDoorSequence[BACK_DOOR_SEQUENCE_NUM] =            {KEY_VOL_UP, KEY_VOL_DOWN, KEY_VOL_UP, KEY_VOL_DOWN};#define SETUP_REGION_NUM    7BYTE    _bDoBackDoor = FALSE;BYTE    _bDebugSetMode = FALSE;BYTE    _bBackDoorRegion = 0;BYTE    _bBackDoorIndex = 0;#ifndef CT950_STYLE#ifndef RELEASE_SETTING#define TOTAL_BACK_DOOR_NUM     2  // debug mode and region#else#define TOTAL_BACK_DOOR_NUM     1  // debug mode#endif#else //CT950_STYLE#define TOTAL_BACK_DOOR_NUM     1  //only debug mode#endif// Debug mode information#define MAX_DBG_MODE    12/*#ifdef  PIN_216            BYTE    aDebugMode[MAX_DBG_MODE] =         {UTL_DBG_NONE, UTL_DBG_DSU1_EN, UTL_DBG_UART1_EN, (UTL_DBG_DSU1_EN|UTL_DBG_UART1_EN)};#else  BYTE    aDebugMode[MAX_DBG_MODE] =        {UTL_DBG_NONE, UTL_DBG_DSU1_EN, UTL_DBG_UART1_EN, (UTL_DBG_DSU1_EN|UTL_DBG_UART2_EN)};#endif *///BYTE    _bDebugIndex;#define FORMAT_VERSION          0 #define FORMAT_DATE             1#define FORMAT_NUMBER           2/* alan test//Note: Don't translate the following strings.//CoCo1.20, reduce code size.const WORD aSETUPFW[] = {3, CHAR_F, CHAR_SOLIDUS, CHAR_W};const WORD aSETUPFAE[] = {3, CHAR_F, CHAR_A, CHAR_E};const WORD aSETUPMPEG[] = {4, CHAR_M, CHAR_P, CHAR_E, CHAR_G};const WORD aSETUPJPG[] = {3, CHAR_J, CHAR_P, CHAR_G};const WORD aSETUPDisp[] = {4, CHAR_D, CHAR_i, CHAR_s, CHAR_p};const WORD aSETUPDivX[] = {4, CHAR_D, CHAR_i, CHAR_v, CHAR_X};const WORD aSETUPNav[] = {3, CHAR_N, CHAR_a, CHAR_v};const WORD aSETUPParser[] = {6, CHAR_P, CHAR_a, CHAR_r, CHAR_s, CHAR_e, CHAR_r};const WORD aSETUPInfo[] = {4, CHAR_I, CHAR_n, CHAR_f, CHAR_o};const WORD aSETUPAudio[] = {5, CHAR_A, CHAR_u, CHAR_d, CHAR_i, CHAR_o};const WORD aSETUPUSB[] = {3, CHAR_U, CHAR_S, CHAR_B};const WORD aSETUPASupport[] = {9, CHAR_A, CHAR_HYPHEN_MINUS, CHAR_S, CHAR_u, CHAR_p, CHAR_p, CHAR_o, CHAR_r, CHAR_t};#ifdef SUPPORT_TFTconst WORD aSETUPTFT[] = {2, CHAR_V, CHAR_D};#endifconst WORD aSETUPServo[] = {5, CHAR_S, CHAR_e, CHAR_r, CHAR_v, CHAR_o};const WORD aSETUPBM[] = {2, CHAR_B, CHAR_M};const WORD aSETUPuCode[] = {5, CHAR_u, CHAR_C, CHAR_o, CHAR_d, CHAR_e};const WORD aSETUPPCBSYSTEM[] = {10, CHAR_P, CHAR_C, CHAR_B, CHAR_SPACE, CHAR_S, CHAR_Y, CHAR_S, CHAR_T, CHAR_E, CHAR_M};const WORD aSETUPRFTYPE[] = {7, CHAR_R, CHAR_F, CHAR_SPACE, CHAR_T, CHAR_Y, CHAR_P, CHAR_E};const WORD aSETUPMOTORTYPE[] = {10, CHAR_M, CHAR_O, CHAR_T, CHAR_O, CHAR_R, CHAR_SPACE, CHAR_T, CHAR_Y, CHAR_P, CHAR_E};const WORD aSETUPLOADER[] = {6, CHAR_L, CHAR_O, CHAR_A, CHAR_D, CHAR_E, CHAR_R};*/#endif  // #ifdef  BACK_DOOR_DECLARE#ifdef  MAIN_SETUP_DECLAREchar _cLanguageCode[]={'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};char _cTempLanguageCode[2];BYTE    _bRegionCode[]={REGION_ALL, REGION1, REGION2, REGION3, REGION4, REGION5, REGION6};//For OSD usageBYTE    __bCurrentMsg = 0;//MSG_SETUP_MAIN_BASE;BYTE    __bOSD2FirstShowMsg = TRUE;BYTE    __bDisableMsg = 0;SETUPINFO  __SetupInfo;BYTE    __bItemOrValue; //0==>item, 1==>valueBYTE    __bDefaultValueOffset;BYTE    __bValuePositionIndex;BYTE    __bCursorPosIndex;// This variable keeps the original OSD language value before the user change the setting// so we can check this to decide if we need to switch the OSD to a different language.BYTE    __bOSDLanguage; #elseextern  SETUPINFO  __SetupInfo;extern  BYTE    SETUP_MENUINFO_NUM;extern  BYTE    __bMenuItemEnable[];extern  BYTE    __bSetupID;extern  BIT     __btInputPassword;extern  BYTE    __bPasswordIndex;extern  BYTE    __bPassword[];extern  BYTE    __btInputMenuLanguageCode;extern  BYTE    __bMenuLanguageCodeIndex;extern  BYTE    __bMenuLanguageCode[4];extern  BYTE    __btInputAudioLanguageCode;extern  BYTE    __bAudioLanguageCodeIndex;extern  BYTE    __bAudioLanguageCode[4];extern  BYTE    __btInputSPSTLanguageCode;extern  BYTE    __bSPSTLanguageCodeIndex;extern  BYTE    __bSPSTLanguageCode[4];extern  BYTE    __bItemOrValue;extern  BYTE    __bDefaultValueOffset;extern  BYTE    __bValuePositionIndex;extern  BYTE    __bCursorPosIndex;extern  BYTE    __bInputPassword;extern  BYTE    __bInputPasswordIndex;extern  BYTE	__bLanguageCode[4];extern  BYTE    __bSetupMode;//For OSD usageextern  BYTE    __bCurrentMsg;extern  BYTE    __bOSD2FirstShowMsg;extern  BYTE    __bDisableMsg;#endif//return status for input password (SETUP_InputPassword)// brian1.08// In my implementation, it is no need to follow Menu Item/Value ID sequence// **** We don't expect to change the value of these definitions, for NVCMD and DVDInfo will reference them#define SETUP_INPUT_PASSWORD_BASE               (0)#define SETUP_INPUT_PASSWORD_NORMAL             (SETUP_INPUT_PASSWORD_BASE)#define SETUP_INPUT_PASSWORD_CORRECT            (SETUP_INPUT_PASSWORD_BASE+1)#define SETUP_INPUT_PASSWORD_WRONG              (SETUP_INPUT_PASSWORD_BASE+2)#define SETUP_INPUT_PASSWORD_CLEAR              (SETUP_INPUT_PASSWORD_BASE+3)#define SETUP_INPUT_PASSWORD_INVALID_KEY        (SETUP_INPUT_PASSWORD_BASE+4)#define SETUP_INPUT_PASSWORD_VERIFIED           (SETUP_INPUT_PASSWORD_BASE+5) // brian, CT908#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -