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

📄 struct.h

📁 LCD Monitor 部分源码
💻 H
字号:
//----------------------------------------------------------------------------------------------------
// ID Code      : Struct.h No.0000
// Update Note  : 
//
//----------------------------------------------------------------------------------------------------

//--------------------------------------------------
// Definitions of Color Temperature
//--------------------------------------------------
#define _CT_9300                        0
#define _CT_6500                        1
#define _CT_5800                        2
#define _CT_SRGB                        3
#define _CT_USER                        4


//andy bit define 
#define STATE_MUTEON                    0x01
#define STATE_MUTEOFF                   0x00
#define GET_MUTE_STATE()                (stOsdUserData.OsdSettingFlag & STATE_MUTEON)
#define SET_MUTE_STATE(state)           stOsdUserData.OsdSettingFlag = (stOsdUserData.OsdSettingFlag & (~STATE_MUTEON)) | state

#define BURNIN_ON                       0x02
#define BURNIN_OFF                      0x00
#define GET_BURNIN_STATE()              (stOsdUserData.OsdSettingFlag & BURNIN_ON)
#define SET_BURNIN_STATE(state)         stOsdUserData.OsdSettingFlag = (stOsdUserData.OsdSettingFlag & (~BURNIN_ON)) | state

#define GET_OSDCOLOR()                  ((stOsdUserData.OsdSettingFlag & 0x70) >> 4)
#define SET_OSDCOLOR(color)             stOsdUserData.OsdSettingFlag = (stOsdUserData.OsdSettingFlag & 0x8f) | (color << 4)

#define SET_SHARPNESS(value)            stSystemData.Sharpness = (stSystemData.Sharpness & 0xf0) | (value)
#define GET_SHARPNESS()                 (stSystemData.Sharpness & 0x0f) 

#define SET_GAMMA(value)                stSystemData.Sharpness = (stSystemData.Sharpness & 0x0f) | (value << 4)
#define GET_GAMMA()                     ((stSystemData.Sharpness & 0xf0) >> 4) 

#if((_OSD_TYPE == _OSD901)||(_OSD_TYPE == _OSD903))

#define _TRANS_ON                       1
#define _TRANS_OFF                      0

#define SET_TRANS(value)                stOsdUserData.OsdManagementFlag  = (stOsdUserData.OsdManagementFlag  & 0xdf) | (value << 5)
#define GET_TRANS()                     ((stOsdUserData.OsdManagementFlag  & 0x20) >> 5)

#define _AUTO_SCANSOURCE                0
#define _NON_AUTO_SCANSOURCE            1

#define SET_AUTOSIGNAL(value)           stOsdUserData.OsdManagementFlag  = (stOsdUserData.OsdManagementFlag  & 0xbf) | (value << 6)
#define GET_AUTOSIGNAL()                ((stOsdUserData.OsdManagementFlag & 0x40) >> 6)

#endif

//--------------------------------------------------
// Struct Type
//--------------------------------------------------
typedef struct
{
    BYTE PolarityFlag;              //
    WORD IHWidth;                   // Input Horizontal Width
    WORD IVHeight;                  // Input Vertical Height
    WORD IHFreq;                    // Input Horizontal Frequency
    WORD IVFreq;                    // Input Vertical Frequency
    BYTE IHFreqTolerance;           // Input Horizontal Frequency Tolerance
    BYTE IVFreqTolerance;           // Input Vertical Frequency Tolerance
    WORD IHTotal;                   // Input Horizontal Total Length
    WORD IVTotal;                   // Input Vertical Total Length
    WORD IHStartPos;                // Input Horizontal Start Position
    WORD IVStartPos;                // Input Vertical Start Position
} ModeTableType;

typedef struct
{
    WORD DHTotal;                   // Display Horizontal Total Length
    WORD DHWidth;                   // Display Horizontal Width
    WORD DVHeight;                  // Display Vertical Height

} DisplayTableType;

typedef struct
{
    BYTE ModeCurr;                  // Input Mode
    BYTE Polarity;                  // BIT0: H Polarity, Bit1: V Polarity
    WORD IHFreq;                    // Input Horizontal Frequency
    WORD IVFreq;                    // Input Vertical Frequency
    WORD IHTotal;                   // Input Horizontal Total Length
    WORD IVTotal;                   // Input Vertical Total Length
    WORD IHWidth;                   // Input Horizontal Width
    WORD IVHeight;                  // Input Vertical Height
    WORD IHStartPos;                // Input Horizontal Start Position
    WORD IVStartPos;                // Input Vertical Start Position
    WORD IHCount;                   // Input Horizontal Count Numbers
    WORD IHSyncPulseCount;          // Input Horizontal Sync Pulse Count Numbers

} ModeInformationType;

typedef struct
{
    BYTE PanelStyle;                // Panel Style
    BYTE PanelConfig;               // Panel Configuration

    WORD DHStartPos;                // Display Horizontal Start Position
    WORD DHWidth;                   // Display Horizontal Width
    WORD DHEndPos;                  // Display Horizontal End Position

    WORD DHTotal;                   // Display Horizontal Total Clock Number in One Display Line
    WORD DHTotalMax;                // Maxinum Display Horizontal Total Clock Number in One Display Line
    WORD DHTotalMin;                // Mininum Display Horizontal Total Clock Number in One Display Line

    WORD DVStartPos;                // Display Vertical Start Position
    WORD DVHeight;                  // Display Vertical Height
    WORD DVEndPos;                  // Display Vertical End Position

    WORD DVTotal;                   // Display Vertical Total Line Number in One Frame
    WORD DVTotalMax;                // Maxinum Display Vertical Total Line Number in One Frame
    WORD DVTotalMin;                // Mininum Display Vertical Total Line Number in One Frame

    BYTE DHSyncWidth;               // Display H Sync Width
    BYTE DVSyncHeight;              // Display V Sync Height

    WORD PixelClock;                // Typical Pixel Clock in MHz
    WORD PixelClockMax;             // Maxinum Pixel Clock in MHz
    WORD PixelClockMin;             // Mininum Pixel Clock in MHz

} PanelType;

typedef struct
{
    BYTE FirstAuto;                 // First Auto
    WORD HPosition;                 // Horizontal Position
    WORD VPosition;                 // Vertical Position
    WORD Clock;                     // Clock Adjust
    BYTE Phase;                     // Phase Adjust

} StructModeUserDataType;

typedef struct
{
    BYTE ModeNum;                   // Mode Number
    WORD IHFreq;                    // Input Horizontal Frequency
    WORD IVFreq;                    // Input Vertical Frequency

} StructModeUserFIFODataType;

typedef struct
{
    WORD CenterHPos;                // Horizontal Position
    WORD CenterVPos;                // Vertical Position
    WORD CenterClock;               // Clock Adjust

} StructModeUserCenterDataType;

typedef struct
{
    BYTE MonitorFlag;               // Bit 7: Monitor Power Status
                                    // Bit 6: Blue background // eric 0513
                                    //        0: Off
                                    //        1: On
                                    // Bit 5: Reserved
                                    // Bit 4: Reserved
                                    // Bit 3: Reserved

                                    // Bit 2~Bit 0: Auto power down, if use auto power down,else not uset thisbit
                                    //        0: Auto ower down off
                                    //        1: 15 Minute
                                    //        2: 30 Minute
                                    //        3: 45 Minute
                                    //        4: 60 Minute

    BYTE InputSource;
    BYTE BackLight;
    BYTE ColorTemp;
    BYTE Sharpness;
    BYTE UserFIFOMode;
} StructSystemDataType;



typedef struct
{
    BYTE OsdSettingFlag;            // Bit 7: Reserved
                                    // Bit 6~4:  OSD COLOR TYPE
                                    // Bit 3~Bit 2: Input channel state(Only for tv,if not tv,this bit Reserved)
                                    //        00: Input one channel   -
                                    //        01: Input two channel   --
                                    //        02: Input three channel ---  
                                    // Bit 1: BURN IN 1 : ON  0 : OFF
                                    // Bit 0: MUTE    1 : ON  0 : OFF

    BYTE OsdManagementFlag;         // Bit 7: Reserved 
                                    // Bit 6: AUTOSIGNAL
                                    // Bit 5: Transpa
                                    // Bit 4: Reserved
                                    // Bit 3: Reserved
                                    // Bit 2: Reserved
                                    // Bit 1: Reserved 
                                    // Bit 0: Reserved 

    BYTE OsdHPos;
    BYTE OsdVPos;
    BYTE Language;
    BYTE OsdTimeout;
    BYTE Volume;

} StructOsdUserDataType;

typedef struct
{
    BYTE AdcGain[3];
    BYTE AdcOffset[3];

} StructAdcDataType;

typedef struct
{
    BYTE Brightness;
    BYTE Contrast;

} StructColorProc0DataType;

typedef struct
{
    BYTE ColorTemp[3];

} StructColorProc1DataType;

typedef struct
{
    BYTE ColorTemp9300Red;
    BYTE ColorTemp9300Green;
    BYTE ColorTemp9300Blue;
    BYTE ColorTemp6500Red;
    BYTE ColorTemp6500Green;
    BYTE ColorTemp6500Blue;
    BYTE ColorTemp5800Red;
    BYTE ColorTemp5800Green;
    BYTE ColorTemp5800Blue;
    BYTE ColorTempsRGBRed;
    BYTE ColorTempsRGBGreen;
    BYTE ColorTempsRGBBlue;
    BYTE ColorTempUserRed;
    BYTE ColorTempUserGreen;
    BYTE ColorTempUserBlue;

} StructColorTempDataType;


typedef struct
{
    BYTE Hue;                       // Andy Add
    BYTE Saturation;                // Andy Add
}StructVDCColor;
//--------------------------------------------------
// Timer Struct
//--------------------------------------------------
struct CTimerEventTable
{
    WORD Time;
    void (*Event)(void);
};

//--------------------------------------------------
// Extern Global Struct Variables
//--------------------------------------------------
extern StructModeUserDataType       idata   stModeUserData;
extern StructModeUserCenterDataType idata   stModeUserCenterData;
extern StructSystemDataType         idata   stSystemData;
extern StructOsdUserDataType        idata   stOsdUserData;
extern StructAdcDataType            idata   stAdcData;
extern StructColorProc0DataType     idata   stConBriData;
extern StructColorProc1DataType     idata   stColorTempData;

extern ModeInformationType          idata   stModeInfo;
extern DisplayTableType             idata   stDisplayInfo;


⌨️ 快捷键说明

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