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

📄 lcd_6151.h

📁 使用于克隆器
💻 H
字号:
#ifndef _LCD_6151_H_
#define _LCD_6151_H_

#include "userdef.h"
 
#define USERPREF_DEBUG_EN 1

#define CUR_INPUT_SOURCE            ( g_SysSetting.ucInputSourceType )

/////////////////////////////////////
// EEPROM address definition
/////////////////////////////////////
#define USR_MODE_MAXIMUM    MD_MAX_INDEX
#define USR_NEW_MODE_NUM    10

#define CHANNEL_AIR_MIN     2
#define CHANNEL_AIR_MAX     69
#define CHANNEL_CATV_MIN    1
#define CHANNEL_CATV_MAX    125

//
#define SIZE_FAC_SETTING            (sizeof(FactorySettingType))

#define SIZE_FAC_VIDEO_PIC_SETTING  (sizeof(PictureSettingType)*PICTURE_MODE_USER)
#define SIZE_FAC_PC_PIC_SETTING     (sizeof(PCPictureSettingType)*PICTURE_MODE_USER)
#define SIZE_FAC_SOUND_SETTING      (sizeof(SoundSettingType)*SOUND_MODE_PERSONAL)
#define SIZE_FAC_COLORTEMP          (sizeof(ColorTempSettingType)*PC_COLOR_TEMP_USER)

#define SIZE_SYS_SETTING            (sizeof(SystemSettingType))
#define SIZE_ADC_SETTING            (sizeof(AdcSettingType))
#define SIZE_RGB_SETTING            (sizeof(ScalerRGBType))
#define SIZE_VIDEOPM_SETTING        (sizeof(PictureSettingType))
#define SIZE_PCCOLOR_SETTING        (sizeof(PCColorSettingType))
#define SIZE_COLOR_TEMP_SETTING     (sizeof(ColorTempSettingType))
#define SIZE_SOUND_MODE_SETTING     (sizeof(SoundSettingType))
#define SIZE_MODE_SETTING           (sizeof(ModeSettingType))
#define SIZE_VIDEO_SETTING          (sizeof(VideoSettingType))
#define SIZE_SOUND_SETTING          (sizeof(UsrSoundSettingType))
#define SIZE_NONLINEAR_CURVE        (sizeof(NonLinearCurveType))

#define SIZE_VBI_SETTING            (sizeof(VBISettingType))

#define SIZE_TV_SETTING             (sizeof(TVSettingType))
#define SIZE_CH_SETTING             (sizeof(TVChSettingType))

#define SIZE_PAL_CH_DATA            (sizeof(StuPalChannelData))


#define rmPalChannelIndexAddress(i)     ( RM_PAL_CHANNEL_INDEX_ADDRESS + i )
#define rmPalChannelDataAddress(chIdx)  ( RM_PAL_CHANNEL_DATA_ADDRESS + (chIdx*SIZE_PAL_CH_DATA) )
//#define rmPalChannelDataSkipAddress(chIdx)  ( RM_PAL_CHANNEL_DATA_ADDRESS + (chIdx*SIZE_PAL_CH_DATA) + 2 )


#if ENABLE_HDCP
#define HDCP_KEY_SIZE1        5       //0x10      // HDCP key BKSV
#define HDCP_KEY_SIZE2        284     // HDCP key
#endif

#if( TV_SYSTEM == TV_NTSC) // NTSC
#define SIZE_NTSC_CHANNEL_OFFSET    (CHANNEL_AIR_MAX+CHANNEL_CATV_MAX)
#define SIZE_PAL_CHANNEL_INDEX      0
#define SIZE_PAL_CHANNEL_DATA       0
#elif (TV_SYSTEM == TV_PAL ) // PAL
#define PAL_MAX_CHANNEL_NUM         45
#define SIZE_NTSC_CHANNEL_OFFSET    0
#define SIZE_PAL_CHANNEL_INDEX      (PAL_MAX_CHANNEL_NUM)
#define SIZE_PAL_CHANNEL_DATA       (sizeof(StuPalChannelData)*PAL_MAX_CHANNEL_NUM)
#elif (TV_SYSTEM == TV_CHINA)  // China
#define PAL_MAX_CHANNEL_NUM         256
#define SIZE_NTSC_CHANNEL_OFFSET    0
#define SIZE_PAL_CHANNEL_INDEX      (PAL_MAX_CHANNEL_NUM)
#define SIZE_PAL_CHANNEL_DATA       (sizeof(StuPalChannelData)*PAL_MAX_CHANNEL_NUM)
#endif



#if (RM_EEPROM_TYPE == RM_TYPE_24C16 )
#define RM_MAX_ADDRESS  (0x07ff)
#elif (RM_EEPROM_TYPE == RM_TYPE_24C32 )
#define RM_MAX_ADDRESS  (0x0fff)
#endif
typedef enum
{
    MD_640x400_85, // 0
    MD_720x400_70,
    MD_720x400_85,
    MD_640x480_60,
    MD_640x480_66,
    MD_640x480_72,
    MD_640x480_75,
    MD_640x480_85,
    MD_800x600_56,
    MD_800x600_60,
    MD_800x600_72, // 10
    MD_800x600_75,
    MD_800x600_85,
    MD_832x624_75,
    MD_1024x768_60,
    MD_1024x768_70,
    MD_1024x768_75,
    MD_1024x768_85,
    MD_1152x864_70,
    MD_1152x864_75,
    MD_1152x864_85, // 20
    MD_1152x870_75,
    MD_1280x768_60,
    MD_1280x768_75,
    MD_1280x960_60,
    MD_1280x960_75,
    MD_1280x960_85,
    MD_1280x1024_60,
    MD_1280x1024_75,
    MD_1280x1024_85,
    MD_1600x1200_60, // 30
    MD_1600x1200_65,
    MD_1600x1200_70,
    MD_1600x1200_75,
    MD_1920x1200_60,
    MD_1920x1200_65,
    MD_1920x1200_76, // 36

    MD_720x480_60I, // D1
    MD_720x480_60P, // D2
    MD_720x576_50I, // D1
    MD_720x576_50P, // D2       //40
    MD_1280x720_50P, // D4      // 41
    MD_1280x720_60P, // D4
    MD_1920x1080_50I, // D3
    MD_1920x1080_60I, // D3
    MD_1920x1080_60P, // D5
    MD_720x240_60P, // 240p
    MD_1920x1080_50P, // D5     //47

    MD_MAX_INDEX,
    YPBPR_MD_START = MD_720x480_60I
}YPbPrModeType;


typedef enum _RamAddressType
{
    RM_BASE_ADDRESS = 0,
    RM_FAC_SETTING_ADDRESS = RM_BASE_ADDRESS,
    RM_FAC_VIDEO_SDTV_PIC_ADDRESS = RM_FAC_SETTING_ADDRESS + SIZE_FAC_SETTING,
    RM_FAC_VIDEO_HDTV_PIC_ADDRESS = RM_FAC_VIDEO_SDTV_PIC_ADDRESS + SIZE_FAC_VIDEO_PIC_SETTING,
    RM_FAC_PC_VGA_PIC_ADDRESS = RM_FAC_VIDEO_HDTV_PIC_ADDRESS + SIZE_FAC_VIDEO_PIC_SETTING,
    RM_FAC_PC_DVI_PIC_ADDRESS = RM_FAC_PC_VGA_PIC_ADDRESS + SIZE_FAC_PC_PIC_SETTING,

    RM_FAC_SOUND_ADDRESS = RM_FAC_PC_DVI_PIC_ADDRESS + SIZE_FAC_PC_PIC_SETTING,
    RM_FAC_COLORTEMP_ADDRESS = RM_FAC_SOUND_ADDRESS + SIZE_FAC_SOUND_SETTING,

    RM_SYS_SETTING_ADDRESS = RM_FAC_COLORTEMP_ADDRESS + SIZE_FAC_COLORTEMP * SOURCE_COLOR_TEMP_NUM,
    RM_ADC_SETTING_ADDRESS = RM_SYS_SETTING_ADDRESS + SIZE_SYS_SETTING,
    RM_RGB_SETTING_ADDRESS = RM_ADC_SETTING_ADDRESS + ( SIZE_ADC_SETTING * ADC_SET_MAX ),
    RM_PCCOLOR_SETTING_ADDRESS = RM_RGB_SETTING_ADDRESS + ( SIZE_RGB_SETTING * SCALER_RGB_MAX ),
    RM_COLORTEMP_ADDRESS = RM_PCCOLOR_SETTING_ADDRESS + SIZE_PCCOLOR_SETTING,
    RM_MODE_SETTING_ADDRESS = RM_COLORTEMP_ADDRESS + SIZE_COLOR_TEMP_SETTING * SOURCE_COLOR_TEMP_NUM,
    RM_NEW_MODE_SETTING_ADDRESS = RM_MODE_SETTING_ADDRESS + ( SIZE_MODE_SETTING * USR_MODE_MAXIMUM ),
    RM_VIDEO_SETTING_ADDRESS = RM_NEW_MODE_SETTING_ADDRESS + ( SIZE_MODE_SETTING * USR_NEW_MODE_NUM ),
    RM_SOUND_SETTING_ADDRESS = RM_VIDEO_SETTING_ADDRESS + SIZE_VIDEO_SETTING,
#if  (ENABLE_CC_VCHIP || ENABLE_PARENTCTL)
    RM_VBI_SETTING_ADDRESS = RM_SOUND_SETTING_ADDRESS + SIZE_SOUND_SETTING,
        //-- non-linear adjust curve ----------------------------------
    RM_NL_VIDEO_CONTRAST_ADDRESS = RM_VBI_SETTING_ADDRESS + SIZE_VBI_SETTING,
#else
    RM_NL_VIDEO_CONTRAST_ADDRESS = RM_SOUND_SETTING_ADDRESS + SIZE_SOUND_SETTING,
#endif
    RM_NL_VIDEO_BRIGHTNESS_ADDRESS = RM_NL_VIDEO_CONTRAST_ADDRESS + SIZE_NONLINEAR_CURVE,
    RM_NL_VIDEO_SHARPNESS_ADDRESS = RM_NL_VIDEO_BRIGHTNESS_ADDRESS + SIZE_NONLINEAR_CURVE,
    RM_NL_VOLUME_ADDRESS = RM_NL_VIDEO_SHARPNESS_ADDRESS + SIZE_NONLINEAR_CURVE,
    RM_TV_SETTING_ADDRESS = RM_NL_VOLUME_ADDRESS + SIZE_NONLINEAR_CURVE,
    RM_CH_SETTING_ADDRESS = RM_TV_SETTING_ADDRESS + SIZE_TV_SETTING,
    RM_NTSC_CHANNEL_OFFSET_ADDRESS = RM_CH_SETTING_ADDRESS + ( SIZE_CH_SETTING * CHANNEL_SOURCE_NUMS ),
    RM_PAL_CHANNEL_INDEX_ADDRESS = RM_NTSC_CHANNEL_OFFSET_ADDRESS + SIZE_NTSC_CHANNEL_OFFSET,
    RM_PAL_CHANNEL_DATA_ADDRESS = RM_PAL_CHANNEL_INDEX_ADDRESS + SIZE_PAL_CHANNEL_INDEX,

    RM_TOTAL_USE_SIZE = RM_PAL_CHANNEL_DATA_ADDRESS + SIZE_PAL_CHANNEL_DATA,
#if ENABLE_HDCP
    RM_HDCP_KEY_BASEADDR1 = RM_MAX_ADDRESS - 2 - HDCP_KEY_SIZE2 - HDCP_KEY_SIZE1 - 15,
    RM_HDCP_KEY_BASEADDR2 = RM_MAX_ADDRESS - 2 - HDCP_KEY_SIZE2 - 15,
#endif

    RM_BACKLIGHT_ADDRESS = RM_MAX_ADDRESS - 2,
    RM_TEST_ID_ADDRESS = RM_MAX_ADDRESS - 1,
    RM_EEPROM_ID_ADDRESS = RM_MAX_ADDRESS
}RamAddressType;


// Check the EEPROM address valid
//#if( RM_TOTAL_USE_SIZE > RM_PANEL_ID_ADDRESS ) // 24c16 maximum address
//    #error MST error> EEPROM Address Overflow.
//#endif

// Macro
#define rmFacItemAddress(item_i) (RM_FAC_SETTING_ADDRESS + offsetof(FactorySettingType, item_i))

#define rmFacVideoSDTVPicAddress(item_i) (RM_FAC_VIDEO_SDTV_PIC_ADDRESS + sizeof(PictureSettingType)*item_i)
#define rmFacVideoHDTVPicAddress(item_i) (RM_FAC_VIDEO_HDTV_PIC_ADDRESS + sizeof(PictureSettingType)*item_i)
#define rmFacPCVGAPicAddress(item_i) (RM_FAC_PC_VGA_PIC_ADDRESS + sizeof(PCPictureSettingType)*item_i)
#define rmFacPCDVIPicAddress(item_i) (RM_FAC_PC_DVI_PIC_ADDRESS + sizeof(PCPictureSettingType)*item_i)
#define rmFacSoundAddress(item_i) (RM_FAC_SOUND_ADDRESS + sizeof(SoundSettingType)*item_i)
#define rmFacColorTmpAddress(SrcIndex,item_i) (RM_FAC_COLORTEMP_ADDRESS + SrcIndex*SIZE_FAC_COLORTEMP + sizeof(ColorTempSettingType)*item_i)

#define rmSysItemAddress(item_i) (RM_SYS_SETTING_ADDRESS + offsetof(SystemSettingType, item_i))
#define rmAdcSetAddress(set_i) (RM_ADC_SETTING_ADDRESS + (SIZE_ADC_SETTING * set_i))
#define rmRGBSetAddress(set_i) (RM_RGB_SETTING_ADDRESS + (SIZE_RGB_SETTING * set_i))
#define rmPCColorItemAddress(item_i) (RM_PCCOLOR_SETTING_ADDRESS +  offsetof(PCColorSettingType, item_i))
#define rmColorTmpAddress(SrcIndex) (RM_COLORTEMP_ADDRESS + SIZE_COLOR_TEMP_SETTING*SrcIndex)

#define rmModeAddress(mode_i)    (RM_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * mode_i))
#define rmNewModeAddress(mode_i) (RM_NEW_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * mode_i))

#define rmModeItemAddress(mode_i, item_i)    (rmModeAddress(mode_i) + offsetof(ModeSettingType, item_i))
#define rmNewModeItemAddress(mode_i, item_i) (rmNewModeAddress(mode_i) + offsetof(ModeSettingType, item_i))

#define rmVideoItemAddress(item_i) (RM_VIDEO_SETTING_ADDRESS + offsetof(VideoSettingType, item_i))

#define rmSoundItemAddress(item_i) (RM_SOUND_SETTING_ADDRESS + offsetof(UsrSoundSettingType, item_i))

#define rmChSetAddress(set_i) (RM_CH_SETTING_ADDRESS + (SIZE_CH_SETTING * set_i))

#define rmVBISetItemAddress(item_i) (RM_VBI_SETTING_ADDRESS + offsetof(VBISettingType, item_i))


/////////////////////////////////////
// Variables
/////////////////////////////////////
_USERPREFDEC_ XDATA BYTE g_PadMod7;
_USERPREFDEC_ XDATA FactorySettingType g_FacSetting;

_USERPREFDEC_ XDATA PictureSettingType VideoSDTVMode; //factory SDTV Picture Mode data
_USERPREFDEC_ XDATA PictureSettingType VideoHDTVMode; //factory HDTV Picture Mode data
_USERPREFDEC_ XDATA PCPictureSettingType VGAPicMode;//factory VGA picture mode data
_USERPREFDEC_ XDATA PCPictureSettingType DVIPicMode;//factory VGA picture mode data
_USERPREFDEC_ XDATA SoundSettingType FacSoundSetting;//factory sound setting data
_USERPREFDEC_ XDATA ColorTempSettingType Fac_ColorTemp;  //Nicolee 20050826

_USERPREFDEC_ XDATA SystemSettingType g_SysSetting;
#define U_bLock   g_SysSetting.g_bLock


_USERPREFDEC_ XDATA AdcSettingType g_AdcSetting;
_USERPREFDEC_ XDATA ScalerRGBType g_ScalerRGBSetting;
_USERPREFDEC_ XDATA ModeSettingType g_ModeSetting;
_USERPREFDEC_ XDATA PCColorSettingType g_PCColorSetting;
_USERPREFDEC_ XDATA ColorTempSettingType ColorTempSetting;  //Nicolee 20050826 add for VGA/DVI/VIDEO

_USERPREFDEC_ XDATA VideoSettingType g_VideoSetting;
_USERPREFDEC_ XDATA UsrSoundSettingType g_SoundSetting;
_USERPREFDEC_ XDATA FunctionPipFormatType g_PipFormat;
_USERPREFDEC_ XDATA TVSettingType g_TVSetting;
_USERPREFDEC_ XDATA TVChSettingType g_TVChSetting;

//non-linear curve
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoContrast;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoBrightness;
//color
#if 1
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoSharpness;
#endif
_USERPREFDEC_ XDATA  NonLinearCurveType g_NLCVolume;

#if ( TV_SYSTEM == TV_PAL )
_USERPREFDEC_ XDATA StuPalChannelData g_PalCurChannelData;   // Current channel data
#endif



#if (PANEL_HEIGHT < 1024)
#define OSD_DOUBLE_SIZE    1
#else
#define OSD_DOUBLE_SIZE    2
#endif

#define OSD_DEFAULT_H_SIZE 38
#define OSD_DEFAULT_V_SIZE 23

#endif

⌨️ 快捷键说明

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