📄 datatype.h
字号:
#ifndef __DataType_h__
#define __DataType_h__
#define HIGH 1
#define LOW 0
#define TRUE 1
#define FALSE 0
typedef unsigned char uint8;
typedef char int8;
typedef unsigned int uint16;
typedef int int16;
typedef unsigned long uint32;
typedef long int32;
typedef bit bool;
//#if EN_DDC_CI
typedef union
{
unsigned char b[2];
unsigned int word;
} Union;
//#endif
/***************************************************************************/
// 该结构使得可以访问字变量的高8位和低8位
typedef union {
uint16 word;
struct {
uint8 hi;
uint8 lo;
}byte;
}INTCHAR;
/****************************************************************************/
// 该枚举类型主要用于说明电源的状态
typedef enum {
POWER_NORMAL = 0x00,
POWER_SUSPEND,
POWER_STADBY,
POWER_OFF,
POWER_CUTOFF
}POWERSTATE;
/****************************************************************************/
// 该枚举类型主要用于说明开关的两个状态
typedef enum {
ON = 0x00,
OFF
}SWITCHSTATE;
/*
================================================================================
= 该枚举类型主要用于说明输入信号源的定义
================================================================================
*/
typedef enum {
SOURCE_VGA = 0x00,
SOURCE_DVI_A,
SOURCE_DVI_D,
SOURCE_YPBPR,
SOURCE_CVBS1,
SOURCE_CVBS2,
SOURCE_SVIDEO,
SOURCE_DVD,
SOURCE_TV,
SOURCE_NOAUDIO,
}INPUT_SOURCE;
/*
================================================================================
= 该枚举类型主要用于说明系统状态的定义
================================================================================
*/
typedef enum {
SYS_NORMAL = 0x00,
SYS_OUTOFLOW,
SYS_OUTOFHLOW,
SYS_OUTOFVLOW,
SYS_OUTOFHIGH,
SYS_BURNIN,
SYS_SWITCH,
SYS_BLUESCREEN,
SYS_POWEROFF,
}SYSTEM_STATE;
/*
================================================================================
= 该枚举类型主要用于说明VIDEO标准
================================================================================
*/
typedef enum {
VCSTD_NTSC = 0x00, // NTSC(M,J)
VCSTD_PAL, // PAL(B,D,G,H,I,N)
VCSTD_SECAM,
VCSTD_NTSC443,
VCSTD_PALM,
VCSTD_PALN,
VCSTD_PAL60,
VCSTD_AUTO,
}VIDEOCOLOR_STANDARD;
typedef enum {
VASTD_MN = 0x00, // 4.5MHz M/N
VASTD_BG, // 5.5MHz B/G/H
VASTD_I, // 6.0MHz I
VASTD_DK, // 6.5MHz D/K/K1/L
VASTD_A2MN,
VASTD_A2BG,
VASTD_A2DK,
VASTD_A2DK1,
VASTD_A2DK3L,
VASTD_AUTO,
}VIDEOAUDIO_STANDARD;
/*
================================================================================
= 该枚举类型主要用于说明被调整的参数
================================================================================
*/
typedef enum {
ADJPAR_NONE = 0x00,
ADJPAR_BRIGHTNESS,
ADJPAR_CONTRAST,
ADJPAR_BACKLIGHT,
ADJPAR_HPOS,
ADJPAR_VPOS,
ADJPAR_CLOCK,
ADJPAR_PHASE,
ADJPAR_MUTE,
ADJPAR_VOLUME,
ADJPAR_TREBLE,
ADJPAR_BASS,
ADJPAR_BALANCE,
ADJPAR_COLOR,
ADJPAR_RGAIN,
ADJPAR_GGAIN,
ADJPAR_BGAIN,
ADJPAR_OSDTIME,
ADJPAR_POWERSAVE,
ADJPAR_LANGUAGE,
ADJPAR_VIDEO_SAT,
ADJPAR_VIDEO_HUE,
ADJPAR_VIDEO_COLOR,
ADJPAR_TVCHANEL,
ADJPAR_AUDIOSTD,
ADJPAR_MANUALSCAN,
ADJPAR_CHSKIP,
ADJPAR_AUDIOQUALITY,
ADJPAR_TVSCANMODE,
ADJPAR_CMWIN,
ADJPAR_COLORTEMP,
ADJPAR_OSDHPOS,
ADJPAR_OSDVPOS,
ADJPAR_DDC_CI,
ADJPAR_ACM,
ADJPAR_SOURCE,
ADJPAR_WIDEMODE,
ADJPAR_COLORMANGEMENT,
}PARADJ_STATE;
/*
================================================================================
= 该枚举类型主要用于说明搜台的状态
================================================================================
*/
typedef enum {
TVSCAN_OFF = 0x00,
TVSCAN_INIT,
TVSCAN_UPDATE,
TVSCAN_GETSTATE,
TVSCAN_WAIT,
TVSCAN_END,
}TVSCANSTATE;
/*
================================================================================
= 该枚举类型主要用于说明系统所用的语言
================================================================================
*/
typedef enum {
ENGLISH = 0x00,
GERMAN,
FRENCH,
SPANISH,
ITALIAN,
PORTUGAL,
CHS,
CHT,
KOREAN,
JAPANESE,
RUSSIAN,
}LANGUAGE;
/*
================================================================================
= 该枚举类型用于说明TV频道的数据保存状态
================================================================================
*/
typedef enum {
CH_BALNK = 0x00,
CH_SKIP,
CH_STORE,
}CHSTATE;
/*
================================================================================
= 该枚举类型用于说明图像模式
================================================================================
*/
typedef enum {
IMAGEMODE_STANDARD = 0x00,
IMAGEMODE_SHARP,
IMAGEMODE_MILD,
IMAGEMODE_LIGHT,
IMAGEMODE_MEMORY,
}IMAGEMODE;
/*
================================================================================
= 该枚举类型用于说明声音模式
================================================================================
*/
typedef enum {
AUDIOMODE_STANDARD = 0x00,
AUDIOMODE_NEWS,
AUDIOMODE_HALL,
AUDIOMODE_MUSIC,
AUDIOMODE_MEMORY,
}AUDIOMODE;
/*
================================================================================
= 该枚举类型用于说明频道搜索的方式
================================================================================
*/
typedef enum {
TVSEARCH_FREE = 0x00,
TVSEARCH_CABLE,
TVSEARCH_AIR,
}TVSEARCHMODE;
/*
================================================================================
= 该枚举类型用于说明SCALAR的显示控制
================================================================================
*/
typedef enum {
DISP_NORMAL = 0x00,
DISP_POST,
DISP_OSD,
DISP_MUTE,
}SCALARDISP;
/*
================================================================================
= 该枚举类型用于说明VIDEO的各种模式
================================================================================
*/
typedef enum {
VM_NOSIGNAL = 0x00,
VM_NTSC,
VM_PAL,
VM_480I,
VM_576I,
VM_480P,
VM_576P,
VM_INIT,
}VIDEOMODE;
/*
================================================================================
= 与颜色增强相关的枚举类型
================================================================================
*/
typedef enum{
CEM_LOW = 0,
CEM_MIDDLE,
CEM_HIGH,
CEM_OFF,
}CEN_MODE;
/*
================================================================================
= 与显示模式处理相关的枚举类型
================================================================================
*/
typedef enum{
MODE_INIT = 0,
MODE_POWEROFF,
MODE_DETECT,
MODE_WAIT,
MODE_STAB,
MODE_GETHPLL,
MODE_OUTPUT,
}MODEPROC;
/*
================================================================================
= 与显示对齐方式相关的枚举类型
================================================================================
*/
typedef enum{
LEFT = 0,
RIGHT,
CENTER,
}ALIGNMENT;
/****************************************************************************/
// 该结构用于说明同步信号属性
typedef struct {
uint16 Hcount;
uint16 Vcount;
uint8 HVPol;
}SYNCATTR;
/****************************************************************************/
// 该结构用于描述显示模式的参数
typedef struct {
uint16 Hscnt; // 水平同步频率计数值
uint16 Vscnt; // 垂直同步频率计数值
uint8 Pol; // 同步信号极性
uint16 Hdisp; // 水平可显示的像素
uint16 Vdisp; // 垂直可显示的像素
uint16 Htotal; // 水平所有的像素
uint16 Hstart; // 水平起始位置
uint8 Vstart; // 垂直起始位置
uint8 HErr; // 水平误差们限
uint8 VErr; // 垂直误差门限
}DPMODE;
// 该结构用于描述显示模式的参数
typedef struct {
uint16 Hscnt; // 水平同步频率计数值
uint16 Vscnt; // 垂直同步频率计数值
uint8 Pol; // 同步信号极性
uint16 Hdisp; // 水平可显示的像素
uint16 Vdisp; // 垂直可显示的像素
uint16 Htotal; // 水平所有的像素
uint8 HErr; // 水平误差们限
uint8 VErr; // 垂直误差门限
uint8 *ResoStr; // 分辩率字符串
uint16 Hpos;
uint16 Vpos;
uint8 Clamp;
uint8 Phase;
}YPBPR_DPMODE;
/****************************************************************************/
/*
================================================================================
= 该结构用于描述VGA输入模式下,与显示模式相关的参数,总长度10字节
================================================================================
*/
typedef struct {
uint8 mode;
uint8 flag;
uint16 hstart;
int8 hoffset;
uint8 vstart;
int8 voffset;
uint16 htotal;
uint8 phase;
}MODEREL;
/*
================================================================================
= 该结构用于描述系统中频繁变更的参数,总的长度是12字节
================================================================================
*/
typedef struct {
uint8 InputSource; // 选择输入源
uint8 Flag; // 系统的控制标记
uint8 BackEndSharpness; // SCALAR的锐利度控制,高四为是垂直锐利度,低四位是水平
uint8 PowerSaveTime; // 从无信号输入到进入省电管理的时间间隔
uint8 ImageMode; // 图像模式控制,高四位表示颜色管理窗口的状态
uint8 Brightness; // 亮度
uint8 Contrast; // 对比度
uint8 Backlight; // 背光
uint8 ColorTemp; // 色温的指针
uint8 Osd_Hpos; // OSD的水平位置
uint8 Osd_Vpos; // OSD的垂直位置
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -