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

📄 global.h

📁 NT68617源程序代码集合
💻 H
字号:
/*
********************************************************************************
*
*	                                LCD控制程序
*
*	                           这是全局配置的头文件
*
*	文件名	: GLOBAL.H
*	设计者	: Terry
********************************************************************************
*                                   功 能 描 述
*
*   该头文件会影响整个系统性能,需要仔细调整其中的参数
*	包含于编译器无关的数据类型定义
*
*   包含错误代码的定义
*
********************************************************************************
*/



#ifndef __GLOBAL_H__
#define __GLOBAL_H__

#include <INTRINS.H>
#include <math.h>
#include "datatype.h"
#include "nt68167mcu.h"
#include "system.h"
#include "panel.h"
#include "key.h"
#include "scalar.h"
#include "osd.h"
#include "av.h"
#include "fe2p_nt68167.h"
#include "DebugModeEn.h"


/*
********************************************************************************
*		函数声明,一些比较零散的函数声明就放在这里
*		与对应模块的全局变量声明也放在这里
********************************************************************************
*/
/*
================================================================================
=		MAIN.C中的函数和变量声明
================================================================================
*/
extern MODEREL   xdata ModePar;
extern SYSPAR    xdata SysPar;
extern ADCPAR    xdata AdcPar;
extern COLOR     xdata Color;

extern uint8 SysState;					// 系统状态
extern uint8 ModeState;
extern uint8 volatile  SysTmr;				// 系统定时
extern uint8 InputSource;
extern uint8 xdata ParAdjState;
extern uint8 xdata Language;
extern uint8 code MenuSource[];
extern uint8 xdata Fe2pBuffer[]; 

extern bit 		Flg_ParAdj;
extern bit 		Flg_NonFullScreen;		// 非全屏幕
extern bit		Flg_EnBurning;				// 是否允许老化
extern bit		Flg_ModeDetectContinue;

extern MODEREL   code DEF_RELPAR;
extern SYSPAR    code DEF_SYSPAR;

extern uint8 code StrUserName[];
extern uint8 code StrBoard[];
extern uint8 code StrVersion[];
extern uint8 code StrPanel[];
extern uint8 code StrRelease[];


extern uint8 code EDID_SECTOR[512];
extern uint8 code DEF_ADCPAR[16];
extern uint8 code DEF_COLORTEMP[16];

#if EN_ACEROSD
#if USE_AUDIO
extern uint8 code VgaKeyItem[6][2][2];
#else
extern uint8 code VgaKeyItem[5][2][2];
#endif
extern OSDWIN code SubMenuWin;
#endif

void  SetTimerEvent(uint8 event, uint8 count);
uint8 GetEventTime(uint8 event);
void  Push_Command(uint16 SubProgramAddr);
///////////////////////////////////  函数声明结束  /////////////////////////////


/*
================================================================================
=		FE2P_APP.C中的函数和变量声明
================================================================================
*/
extern bdata uint8 AdjState;

extern bit sF_Bit07;
extern bit sF_Bit06;
extern bit sF_Bit05;
extern bit sF_Bit04;
extern bit sF_Bit03;
extern bit sF_Bit02;
extern bit sF_Bit01;
extern bit sF_Bit00;


//	设置参数发生调整的状态
#define ActiveSave_VGAMODE()			sF_Bit07 = 1
#define ActiveSave_TVCHANEL()			sF_Bit06 = 1
#define ActiveSave_OTHER()			sF_Bit05 = 1
#define ActiveSave_SYSPAR()			sF_Bit04 = 1
#define ActiveSave_ADCPAR()			sF_Bit03 = 1
#define ActiveSave_COLOR()			sF_Bit02 = 1
#define ActiveSave_TVPAR()			sF_Bit01 = 1
#define ActiveSave_EDID()				sF_Bit00 = 1

//	清楚参数发生调整的状态
#define ClearState_VGAMODE()			sF_Bit07 = 0
#define ClearState_TVCHANEL()			sF_Bit06 = 0
#define ClearState_OTHER()			sF_Bit05 = 0
#define ClearState_SYSPAR()			sF_Bit04 = 0
#define ClearState_ADCPAR()			sF_Bit03 = 0
#define ClearState_COLOR()			sF_Bit02 = 0
#define ClearState_TVPAR()			sF_Bit01 = 0
#define ClearState_EDID()				sF_Bit00 = 0

//	返回参数是否有调整的状态
#define GetState_VGAMODE()			sF_Bit07
#define GetState_TVCHANEL()			sF_Bit06
#define GetState_OTHER()				sF_Bit05
#define GetState_SYSPAR()				sF_Bit04
#define GetState_ADCPAR()				sF_Bit03
#define GetState_COLOR()				sF_Bit02
#define GetState_TVPAR()				sF_Bit01
#define GetState_EDID()				sF_Bit00

#define ClearParAdjState()			AdjState = 0x00

void Eep_Write(uint16 Addr, uint16 Num, uint8 *buf);
void LoadFlashToBuffer(void);
void SaveBufferToFlash(void);
void LoadEdid(void);
void SaveEdid(void);
void LoadRelPar(uint8 mode);
void SaveRelPar(uint8 mode);
void LoadAllPar(void);
void SaveAllPar(void);
void LoadSysPar(SYSPAR *Sys);
void SaveSysPar(void);
void LoadAdcPar(void);
void SaveAdcPar(void);
void LoadColorPar(void);
void SaveColorPar(void);
///////////////////////////////////  函数声明结束  /////////////////////////////


/*
================================================================================
=		MISC.C中的函数和变量声明
================================================================================
*/
extern bit Flg_BackLighPower;
extern bit Flg_PanelPower;

void Delayus(uint8 i);
void Delay(uint16 Time);
void PowerLED(POWERSTATE state);
void PanelPower(uint8 state);
void PanelPowerSequence(SWITCHSTATE state);
void PowerSaving(void);
void FlashLED(void);
void SetBackLight(uint8 val);
void DisplayMute(uint8 state);
void SysPowerOn(void);
void SysPowerOff(void);
void PowerOn(void);
void PowerOff(void);
void BackLightPower(SWITCHSTATE state);
void PanelReverse(void);
uint8 HexToDisp(uint8 Flag, uint16 Hex, uint8 *Str);
void ActivePowerSaving(void);
void SelVideoInput(uint8 input);
uint8 GetSourceCount(void);
bit IsWidthPanel(void);
void Flash(uint8 Count);
///////////////////////////////////  函数声明结束  /////////////////////////////


/*
================================================================================
=		I2CIO.C中的函数和变量声明
================================================================================
*/
void I2c_WrReg(uint16 Slave, uint16 Addr, uint8 val);
void   WrScalarReg(uint16 Addr, uint8 val);
void   WrScalarRegV(uint16 Addr, uint8 val, uint8 SyncType, uint8 Pol);
void   WrScalarWord(uint16 Addr, uint16 Val);
void   WrScalarBytes(uint16 Addr,uint16 Num,uint8 *buf);
uint8  RdScalarReg(uint16 Addr);
uint16 RdScalarWord(uint16 Addr);
void   RdScalarBytes(uint16 Addr,uint8 Num,uint8 *buf);
void   WrScalarRegBit(uint16 Addr, uint8 Val, uint8 Mask);
void   WrScalarPort(uint8 Port, uint16 Addr, uint8 *buf, uint16 Num);
#if EN_ACEROSD
#if 0
void WrScalarPort_Extra(uint8 Port, uint16 Addr, uint8 *buf, uint16 Num);
#endif
#endif
void   RdScalarPort(uint8 Port, uint16 Addr, uint8 *buf, uint16 Num);
void   WrTunerBytes(uint16 len, uint8 *buf);
uint16 RdTunerReg(uint16 Addr);
void WrTMDSReg(uint8 RegAddr, uint8 val);
///////////////////////////////////  函数声明结束  /////////////////////////////


/*
================================================================================
=		AUDIO.C中的函数和变量声明
================================================================================
*/
#if USE_AUDIO
void AudioPowerDown(void);
void AudioMute(uint8 state);
void AudioVolume(uint8 volume);
#endif
///////////////////////////////////  函数声明结束  /////////////////////////////


/*
================================================================================
=		MENU.C中的函数和变量声明
================================================================================
*/
extern uint8 KeyMenuCursor;
extern uint8 SubMenuCursor;
extern uint8 xdata MaxSubMenuItem;
extern uint8 xdata FontIndexBuf;
#if EN_ACEROSD
extern uint8 xdata FontIndexBackup[10];
#endif
extern uint8 MenuState;				// 菜单状态

void MenuShowIRUserCode(void);

void   MenuShowStr(uint8 x, uint8 y, uint8 *str, uint8 color);
void   MenuShowSubItem(void);
void   MenuInit(void);
uint16 MenuGetStrPos(uint8 *str);
void   MenuShowMain(void);
void   MenuShowInfo(uint8 *str, uint8 color, uint8 b_color);
void   MenuBurning(void);
void   MenuShowSysState(void);
void   MenuBottomInfo(void);
void   MenuShowCode(uint8 keycode);
void   MenuShowShortAdj(void);
void   MenuShowShortVol(void);
void   MenuShowSysInfo(void);
void   MenuShowLogo(void);
void   MenuShowSelectStr(void);
void   MenuShowNoSync(void);
void   MenuShowOutOfRange(void);
void   MenuShowSubItemImage(void);
void   MenuShowImageMode(void);
void   MenuShowShortWin(void);
///////////////////////////////////  函数声明结束  /////////////////////////////


/*
================================================================================
=		PARADJ.C中的函数和变量声明
================================================================================
*/
void AdjBacklight(uint8 step, uint8 color);
void AdjHpos(uint8 step, uint8 color);
void AdjVpos(uint8 step, uint8 color);
void AdjClock(uint8 step, uint8 color);
void AdjPhase(uint8 step, uint8 color);
void AdjBri(uint8 step, uint8 color);
void AdjCon(uint8 step, uint8 color);
void AdjRgain(uint8 step, uint8 color);
void AdjGgain(uint8 step, uint8 color);
void AdjBgain(uint8 step, uint8 color);

#if USE_AUDIO
void AdjMute(uint8 step, uint8 color);
void AdjVolume(uint8 step, uint8 color);
#endif

void AdjOsdHpos(uint8 step, uint8 color);
void AdjOsdVpos(uint8 step, uint8 color);
void AdjOsdTime(uint8 step, uint8 color);
void AdjPowerSave(uint8 step, uint8 color);

void AdjColor(uint8 step, uint8 color);
void AdjLanguage(uint8 step, uint8 color);

#if EN_ACEROSD
void AdjAutoAdjust(uint8 step,unsigned char color);
void AdjDDC_CI(uint8 step,uint8 color);
void AdjACM(uint8 step,uint8 color);
void AdjSource(uint8 step,uint8 color);
void AdjColorTemp(uint8 step,uint8 color);
void AdjColorManagement(uint8 step, uint8 color);
#endif

void AdjMute(uint8 step, uint8 color);
void AdjVolume(uint8 step, uint8 color);
void AdjCMWindow(uint8 step, uint8 color);
void Adj4B3Disp(uint8 step, uint8 color);
///////////////////////////////////  函数声明结束  /////////////////////////////


/*
================================================================================
=		CONTROL.C中的函数和变量声明
================================================================================
*/
#define SHOWONLY		0x80
#define SHOW			0x40
#define HIDE			0x00
#define INC				0x20
#if EN_ACEROSD
#define DEC				0x10
#else
#define DEC				0x00
#endif

extern bit Flg_Factory;				// 工厂调试状态

void CtrlPowerOnOff(void);
bit CtrlIsPowerOn(void);
void CtrlKeyProc(void);
void CtrlOsdReset(void);
void CtrlMoveOsd(void);
void CtrlSetColor(void);
void CtrlDispCursor(void);
void CtrlActiveOsdReset(void);
void CtrlParReset(void);
void CtrlOsdParReset(void);

#if EN_DDC_CI
void Mccs_Reset(void);
void AutoImagerAdjust(void);
void AutoColorAdjust(void);
void DDC2Bi_Handler(void);
#endif

///////////////////////////////////  函数声明结束  /////////////////////////////



/*
================================================================================
=		CONTROL.C中的函数和变量声明
================================================================================
*/

extern YPBPR_DPMODE code YPbPr_ModeAttr[];


uint8 YPbPrGetIndex(void);
void YPbPrGetModePixels(void);
///////////////////////////////////  函数声明结束  /////////////////////////////

/********************************** End ***************************************/


/*
********************************************************************************
*                              参数的默认值定义
********************************************************************************
*/
#define NTSC_HSTART			0xA5	//	NTSC制式输入时的水平位置
#define NTSC_VSTART			0x16	//	NTSC制式输入时的垂直位置
#define PAL_HSTART				0xA8	//	PAL制式输入时的水平位置
#define PAL_VSTART				0x1B	//	PAL制式输入时的垂直位置

#define MIN_OSDTIMEOUT				5
#define MAX_OSDTIMEOUT				60

#define MIN_POWERSAVETIME			0
#define MAX_POWERSAVETIME			60

#define DEF_HSTART					0x00A0		// hstart;
#define DEF_VSTART					0x001F		// vstart;
#define DEF_PHASE					0x1F		// phase;

#define DEF_INPUTSOURCE			SOURCE_VGA
#define DEF_SYNCTYPE				SYNCTYPE_SEPA
#define DEF_BRIGHTNESS				50//70//50			// Brightness; //08-05-23
#define DEF_CONTRAST				50//70//50			// Contrast; //08-05-23
#define DEF_BACKLIGHT				100			// Backlight;
#define DEF_OSDTIMEOUT				8			// Osd_timeout;
#if EN_720MODE
#define DEF_FLAG					(FLAG_POWER | FLAG_720MODE)
#else
#define DEF_FLAG					FLAG_POWER// Flag;
#endif
//#define DEF_LANGUAGE				KOREAN		// 系统菜单所使用的默认语言
//#define DEF_LANGUAGE				ENGLISH		// 系统菜单所使用的默认语言
#define DEF_LANGUAGE				CHS		// 系统菜单所使用的默认语言
//#define DEF_LANGUAGE				CHT		// 系统菜单所使用的默认语言
//#define DEF_LANGUAGE				JAPANESE// 系统菜单所使用的默认语言

#define DEF_COLORTEMP				COLOR_USER	// ColorTemp;
#define DEF_EEPRELPARIDX			0x00		// EepRelParIdx
#define DEF_POWERSAVETIME			8			// PowerSaveTime
#define DEF_IMAGEMODE				0x00		// 默认的图像模式是标准
#define DEF_AUDIOMODE				0x00		// 默认的声音模式是:标准

#define DEF_OSDHPOS	(PanelWidth - OSD_FRAME_WIDTH * OSD_FONT_WIDTH)/2
#define DEF_OSDVPOS	(PanelHeight - OSD_FRAME_HEIGHT * OSD_FONT_HEIGHT)/2


#define DEF_RADCCLAMP				0x81	// clampR;
#define DEF_RADCGAIN				0x8A	// gainR;
#define DEF_GADCCLAMP				0x93	// clampG;
#define DEF_GADCGAIN				0x88	// gainG;
#define DEF_BADCCLAMP				0x8E	// clampB;
#define DEF_BADCGAIN				0x8A	// gainB;

#define DEF_9300R					47		// R_Gain;
#define DEF_9300G					50		// G_Gain;
#define DEF_9300B					45		// B_Gain;

#define DEF_6500R					54		// R_Gain;
#define DEF_6500G					50		// G_Gain;
#define DEF_6500B					43		// B_Gain;

#define DEF_USERR					50		// R_Gain;
#define DEF_USERG					50		// G_Gain;
#define DEF_USERB					50		// B_Gain;

#define DEF_VIDEOSAT				50
#define DEF_VIDEOHUE				50
#define DEF_VIDEOSHP				0x00
#define DEF_PRECH					0x00
#define DEF_CURCH					0x00
#define DEF_VOLUME					50		// Volume;
#define DEF_BALANCE				50
#define	DEF_BASS					50
#define	DEF_TREBLE					50
/********************************** End ***************************************/


#endif
/*
********************************************************************************
*                                文 件 结 束                                   *
********************************************************************************
*/

⌨️ 快捷键说明

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