亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ddcci.c

?? NT68617源程序代碼集合
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
********************************************************************************
*
*	文件名	: DDCCI.C
********************************************************************************
*                                   功 能 描 述
*				
********************************************************************************
*/

#include "global.h"
//#include "scalar.h"
//#include "eeprom.h"

extern xdata short AdjusterValue;

#if EN_DDC_CI

extern xdata unsigned char AbusBuffer[];
extern unsigned char cCheckSum;
extern xdata unsigned char ucActiveControl;
extern bit bCmdReady;
extern bit bDeviceReady; //device ready work not in DDCCI
extern xdata unsigned char cReplyLength;


/*===============================================
===============================================*/
void DDCCI_Get_VCP_Feature(void)
{
	Union Value;
	unsigned char temp;
			SourceAddr = HOST_ADDR;
			CmdLength = 0x88;
			cReplyLength = 0x08+1;
			ReplyCode = VESA_VCP_FEATURE_REPLY;
			cCheckSum = 0x50;
			switch(OpCode){
				case MCCS_RESET:
				case MCCS_RECALL_BC:
				case MCCS_COLOR_RESET:
				case MCCS_SETTINGS:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_MOMENTARY;
					MaxHighByte = 0x00;
					MaxLowByte = 0xff;
					PresentHighByte = 0x00;
					PresentLowByte = 0x02;
					break;
				case MCCS_RECALL_HV_POS:
				case MCCS_AUTOSETUP:
					if(SysPar.InputSource == SOURCE_DVI_D){
						ResultCode = VCP_FEATURE_NOTSUPPORT;
						VcpTypeCode = VCP_FEATURE_MOMENTARY;
						MaxHighByte = 0x00;
						MaxLowByte = 0xff;
						PresentHighByte = 0x00;
						PresentLowByte = 0x00;
					}else{
						ResultCode = VCP_FEATURE_NOERROR;
						VcpTypeCode = VCP_FEATURE_MOMENTARY;
						MaxHighByte = 0x00;
						MaxLowByte = 0xff;
						PresentHighByte = 0x00;
						PresentLowByte = 0x02;
					}
					break;
				case MCCS_AUTOCOLOR:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_MOMENTARY;
					MaxHighByte = 0x00;
					MaxLowByte = 0x03;
					PresentHighByte = 0x00;
					PresentLowByte = 0x00;		//0x00 not avtive
					break;
				case MCCS_BRIGHTNESS:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					Value.word = 100;//PanelBright(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					PresentHighByte = 0x00;
					PresentLowByte = (uint16)SysPar.Brightness;//((uint16)SysPar.Brightness * 120)/100 + 20;//(uint16)SysPar.Brightness*100/(SysPar.Bri_Max - SysPar.Bri_Min);
					break;
				case MCCS_CONTRAST:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					// 給出對比度顯示BAR條的最大值
					Value.word = 100;//SysPar.Con_Max;//Contrast(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					PresentHighByte = 0x00;
					PresentLowByte = (uint16)SysPar.Contrast;//(uint16)SysPar.Contrast * 140 /100 + 140;//(uint16)SysPar.Contrast*100/(SysPar.Con_Max - SysPar.Con_Min);//Contrast(ADJ_READ);//UserPreference.Contrast;
					break;
				case MCCS_COLOR_INC:
					ResultCode = 0x00;
					VcpTypeCode = VCP_FEATURE_MOMENTARY;
					MaxHighByte = 0x00;
					MaxLowByte = 100;
					PresentHighByte = 0x00;
					PresentLowByte = 50;
					break;
				case MCCS_COLOR_REQ:
					ResultCode = 0x00;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					MaxHighByte = 0x00;
					MaxLowByte = 130;
					PresentHighByte = 0x00;
					//PresentLowByte = 70;
					switch(SysPar.ColorTemp){
						case COLOR_6500:
							PresentLowByte = 70;
							break;
						case COLOR_9300:
							PresentLowByte = 130;
							break;					
						case COLOR_USER:
							PresentLowByte = 0;
							break;
						default:
							break;
						}
					break;
				case MCCS_COLOR_SEL:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_MOMENTARY;
					MaxHighByte = 0x00;
					MaxLowByte = 0x08;
					PresentHighByte = 0x00;
					switch(SysPar.ColorTemp){
						case COLOR_6500:
							PresentLowByte = MCCS_6500K;
							break;
						case COLOR_9300:
							PresentLowByte = MCCS_9300K;
							break;					
						case COLOR_USER:
							PresentLowByte = MCCS_DISPLAY_NATIVE;
							break;
						default:
							break;
					}						
					break;
				case MCCS_HORIZONTAL_POSITION:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					Value.word = 100;//HPos(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					//Value.w = TimingBuf.HStartOffset+50;
					Value.word = 50;//((uint16)(ModePar.hstart - 0) * 100)/(0x140 - 0);//HPos(ADJ_READ);
					PresentHighByte = Value.b[0];
					PresentLowByte = Value.b[1];
					break;
				case MCCS_VERTICAL_POSITION:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					Value.word = 100;//VPos(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					//Value.w = TimingBuf.VStartAdj;
					Value.word = 50;//((uint16)(ModePar.vstart - 0) * 100)/(0x66 - 0);//VPos(ADJ_READ);
					PresentHighByte = Value.b[0];
					PresentLowByte = Value.b[1];
					break;
				case USER_CLOCK:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					Value.word = 100;//HTotal(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					Value.word = (unsigned int)(ModePar.htotal - ModeAttr[ModePar.mode].Htotal + (uint8)(ModeAttr[ModePar.mode].Hdisp >> 4))*50/(uint8)(ModeAttr[ModePar.mode].Hdisp >> 4);//ModePar.htotal;//HTotal(ADJ_READ);
					PresentHighByte = Value.b[0];
					PresentLowByte = Value.b[1];
					break;
				case USER_CLOCK_PHASE:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					Value.word = 100;//SclkPhase(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					Value.word = ((uint16)ModePar.phase * 100)/63;//ModePar.phase;//SclkPhase(ADJ_READ);
					PresentHighByte = Value.b[0];
					PresentLowByte = Value.b[1];
					break;
				case MCCS_RED_VIDEO_GAIN:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					temp = SysPar.ColorTemp;
					SysPar.ColorTemp = COLOR_USER;
					LoadColorPar();
					Value.word = 100;//Adj_Red_Gain(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					Value.word = Color.R_Gain;//Adj_Red_Gain(ADJ_READ);
					PresentHighByte = Value.b[0];
					PresentLowByte = Value.b[1];
					SysPar.ColorTemp = temp;
					break;
				case MCCS_GREEN_VIDEO_GAIN:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					temp = SysPar.ColorTemp;
					SysPar.ColorTemp = COLOR_USER;
					LoadColorPar();
					Value.word = 100;//Adj_Red_Gain(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					Value.word = Color.G_Gain;//Adj_Red_Gain(ADJ_READ);
					PresentHighByte = Value.b[0];
					PresentLowByte = Value.b[1];
					SysPar.ColorTemp = temp;
					break;
				case MCCS_BLUE_VIDEO_GAIN:
					ResultCode = VCP_FEATURE_NOERROR;
					VcpTypeCode = VCP_FEATURE_SETPARAMETER;
					temp = SysPar.ColorTemp;
					SysPar.ColorTemp = COLOR_USER;
					LoadColorPar();
					Value.word = 100;//Adj_Red_Gain(ADJ_READMAX);
					MaxHighByte = Value.b[0];
					MaxLowByte = Value.b[1];
					Value.word = Color.B_Gain;//Adj_Red_Gain(ADJ_READ);
					PresentHighByte = Value.b[0];
					PresentLowByte = Value.b[1];
					SysPar.ColorTemp = temp;
					break;
			}
}
/*===============================================
===============================================*/
void DDCCI_Set_VCP_Feature(void)
{
		Union Value;
		unsigned char temp;
		unsigned short temps;
	
		Value.b[0] = SetHighByte;
		Value.b[1] = SetLowByte;
		ucActiveControl = OpCode;//AbusBuffer[3];
	//	if((!Flg_Power)&&(OpCode!=MCCS_DISPLAY_POWER_MODE))
//		if((OpCode!=MCCS_DISPLAY_POWER_MODE))
//			return;
		switch(OpCode){
			case MCCS_RESET:			//MCCS_RESTORE_DEFAULT:
				if(!((AbusBuffer[4] == 0)&&(AbusBuffer[5] == 0))){
					Mccs_Reset();
				}
				break;
			case MCCS_BRIGHTNESS:
				SysPar.Brightness= Value.b[1];//((uint16)Value.b[1] * 120)/100 + 20;//(uint16)Value.b[1]*(SysPar.Bri_Max - SysPar.Bri_Min)/100;
				SarSetBri(SysPar.Brightness);
//				ActiveSave_Brightness();//set save
//				EepSavePar(); //save the value
				ActiveSave_SYSPAR();
				break;
			case MCCS_CONTRAST:
				SysPar.Contrast =  Value.b[1];//(uint16)Value.b[1] * 140 /100 + 140;//(uint16)Value.b[1]*(SysPar.Con_Max - SysPar.Con_Min)/100;
//				sRGB(SysPar.Contrast, SysPar.R_Gain, SysPar.G_Gain, SysPar.B_Gain);
				AdjCon(HIDE,0);
//				ActiveSave_Contrast();//set save
//				EepSavePar(); //save the value
				ActiveSave_SYSPAR();
				break;
			case MCCS_COLOR_SEL:
				switch(SetLowByte){
					case MCCS_6500K:
						SysPar.ColorTemp = COLOR_6500;
						LoadColorPar();
						break;
					case MCCS_9300K:
						SysPar.ColorTemp = COLOR_9300;
						LoadColorPar();
						break;
					case MCCS_DISPLAY_NATIVE:
						SysPar.ColorTemp = COLOR_USER;
						LoadColorPar();
					default: 
						break;
					}
				AdjCon(HIDE, 0);
//				Eep_Write(eepAdd_SYSPAR + &SysPar.ColorTemp - &SysPar, 1, &SysPar.ColorTemp);
				ActiveSave_SYSPAR();
				break;
			case MCCS_HORIZONTAL_POSITION:
				//TimingBuf.HStartOffset = (signed char)Value.word-50;
				//Nvt_AdjustHPosition(TimingBuf.HStart-TimingBuf.HStartOffset);
//				if(Value.word > 100)
//					Value.word = 100;
					ModePar.hoffset =  (uint16)Value.word*0x140/100;
//					SarHpos(ModePar.hstart);
					AdjHpos(HIDE,0);
					ActiveSave_SYSPAR();
//					HPos(ADJ_PERCENTSET);
//					Nvram_SaveUserAdjust();
				break;
			case MCCS_VERTICAL_POSITION:
				//TimingBuf.VStartAdj = Value.word;
				//Nvt_AdjustVPosition(TimingBuf.VStartAdj);
				temp =  ((uint16)(ModePar.vstart - 0) * 100)/(0x66 - 0);//VPos(ADJ_READ);
				if(temp > (unsigned char)Value.word){
					do{
						AdjusterValue = Value.word;
						//VPos(ADJ_PERCENTSET);
						AdjVpos(HIDE,0);
						Value.word --;
					}while(temp == ((uint16)(ModePar.vstart - 0) * 100)/(0x66 - 0) && Value.word >= 0);
				}
				else if(temp < (unsigned char)Value.word){
					do{
						AdjusterValue = Value.word;
						//VPos(ADJ_PERCENTSET);
						AdjVpos(HIDE,0);
						Value.word ++;
					}while(temp ==  ((uint16)(ModePar.vstart - 0) * 100)/(0x66 - 0) && Value.word  <= 100);
				}
				
				ModePar.voffset =  (uint16)Value.word*0x140/100;
				AdjVpos(HIDE,0);
				ActiveSave_SYSPAR();
//				Nvram_SaveUserAdjust();
				break;
			case USER_CLOCK:
				ModePar.htotal= Value.word*130/100+ ModeAttr[ModePar.mode].Htotal-(uint8)(ModeAttr[ModePar.mode].Hdisp >> 4);
//				if (ModePar.htotal <  ModeAttr[ModePar.mode].Htotal-(uint8)(ModeAttr[ModePar.mode].Hdisp >> 4))  ModePar.htotal =  ModeAttr[ModePar.mode].Htotal-(uint8)(ModeAttr[ModePar.mode].Hdisp >> 4);
//				if (ModePar.htotal >  ModeAttr[ModePar.mode].Htotal+(uint8)(ModeAttr[ModePar.mode].Hdisp >> 4))  ModePar.htotal =  ModeAttr[ModePar.mode].Htotal+(uint8)(ModeAttr[ModePar.mode].Hdisp >> 4);
				AdjClock(HIDE,0);
//				AdcSetPll(ModePar.htotal);// 用此句也可
//				ActiveSave_RelPar();
//				EepSavePar(); //save the value
				ActiveSave_SYSPAR();
				break;
			case USER_CLOCK_PHASE:
				//TimingBuf.Phase = Value.word;
				//Nvt_AdjustPhase(Value.word);
				ModePar.phase = (uint16)Value.word*63/100;
				AdcSetPhase(ModePar.phase);
//				ActiveSave_RelPar();
//				EepSavePar(); //save the value
				ActiveSave_SYSPAR();
//				SclkPhase(ADJ_PERCENTSET);
//				Nvram_SaveUserAdjust();
				break;
			case MCCS_RED_VIDEO_GAIN:
				Color.R_Gain= Value.word;
				SysPar.ColorTemp = COLOR_USER;
//				sRGB(SysPar.Contrast, SysPar.R_Gain, SysPar.G_Gain, SysPar.B_Gain);
				AdjRgain(HIDE,0);
//				Adj_Red_Gain(ADJ_PERCENTSET);
//				Nvram_SaveDigitalColor();
//				ucNewControl=CTRL_Changed;
//				ucActiveControl=MCCS_BRIGHTNESS;
				ActiveSave_COLOR();
				SaveColorPar();
				break;
			case MCCS_GREEN_VIDEO_GAIN:
				Color.G_Gain= Value.word;
				SysPar.ColorTemp = COLOR_USER;
//				sRGB(SysPar.Contrast, SysPar.R_Gain, SysPar.G_Gain, SysPar.B_Gain);
				AdjGgain(HIDE,0);
//				ucActiveControl=MCCS_BRIGHTNESS;
				ActiveSave_COLOR();
				SaveColorPar();
				break;
			case MCCS_BLUE_VIDEO_GAIN:
				Color.B_Gain= Value.word;
				SysPar.ColorTemp = COLOR_USER;
//				sRGB(SysPar.Contrast, SysPar.R_Gain, SysPar.G_Gain, SysPar.B_Gain);
				AdjBgain(HIDE,0);
//				ucActiveControl=MCCS_BRIGHTNESS;
				ActiveSave_COLOR();
				SaveColorPar();
				break;

			case MCCS_AUTOSETUP:
				if(SysPar.InputSource != SOURCE_DVI_D && Value.word == 1){
					AutoImagerAdjust();
//					Osd_Set(OSD_Mode_Auto);
//					Nvt_AutoFunctionHandler();
//					Osd_Set(OSD_MExit);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频一区在线| 国产精品久久久久婷婷 | 狠狠色丁香婷婷综合久久片| 国产在线视频一区二区| 色综合久久66| 久久久综合网站| 日韩1区2区3区| 色成年激情久久综合| 久久久国产午夜精品| 日本亚洲电影天堂| 日本乱人伦aⅴ精品| 国产欧美一区在线| 韩日精品视频一区| 欧美日韩在线三区| 亚洲伦理在线精品| a在线欧美一区| 久久久久久久精| 久久精品国产亚洲aⅴ| 欧美日韩aaaaaa| 亚洲地区一二三色| 日本高清免费不卡视频| 中文字幕电影一区| 国内外成人在线视频| 日韩一区二区三区视频在线 | 成人毛片老司机大片| 欧美成人乱码一区二区三区| 亚洲aaa精品| 欧美日韩综合一区| 日韩专区一卡二卡| 欧美一区二区视频在线观看| 亚洲福利一二三区| 欧美精品久久久久久久久老牛影院| 亚洲欧美国产毛片在线| 91麻豆国产香蕉久久精品| 国产精品三级视频| 不卡av电影在线播放| 国产精品久久久一区麻豆最新章节| 国产精品一区二区三区乱码| 久久精品视频在线看| 国产制服丝袜一区| 日本一区二区三区在线观看| 国产高清视频一区| 国产精品久久毛片av大全日韩| www.色综合.com| 亚洲色图视频网| 91高清视频在线| 香蕉成人伊视频在线观看| 欧美挠脚心视频网站| 免费在线成人网| 精品国产1区二区| 丁香一区二区三区| 亚洲欧美激情在线| 欧美三电影在线| 久久69国产一区二区蜜臀| 久久精品夜夜夜夜久久| 91丨九色丨蝌蚪富婆spa| 亚洲精品成人少妇| 91精品国产入口| 国产一区二区三区视频在线播放| 欧美国产日韩在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲一二三专区| 亚洲精品一区在线观看| 成人高清视频免费观看| 亚洲福利视频一区二区| 久久午夜电影网| 欧美色图第一页| 国产老肥熟一区二区三区| 亚洲精品视频一区| 日韩一级精品视频在线观看| 欧美色欧美亚洲另类二区| 日韩精品久久理论片| 中文字幕第一区二区| 欧美另类变人与禽xxxxx| 国产成人一区二区精品非洲| 亚洲综合一二三区| 久久精品一级爱片| 欧美性猛交一区二区三区精品| 久久97超碰色| 亚洲一区二区三区四区五区中文| 久久婷婷综合激情| 欧美天堂亚洲电影院在线播放| 韩国成人精品a∨在线观看| 一区二区三区**美女毛片| 久久精品视频一区| 91精品一区二区三区久久久久久| av电影在线观看一区| 老司机一区二区| 亚洲午夜久久久久久久久电影网 | 亚洲电影第三页| 国产欧美日韩一区二区三区在线观看| 在线免费观看成人短视频| 国产精品一区二区久久精品爱涩| 午夜电影网一区| 自拍偷拍亚洲综合| 欧美国产成人在线| 久久久综合激的五月天| 欧美一区二区三区在线观看| 欧美日韩精品福利| 欧美性生活大片视频| 一本一道久久a久久精品| 成人黄动漫网站免费app| 国产精品综合av一区二区国产馆| 蜜臀久久99精品久久久久久9 | 午夜精品久久久久久久99樱桃| 欧美激情自拍偷拍| 久久久久久久久伊人| 精品国产在天天线2019| 91麻豆精品国产91久久久久久久久 | 欧美性xxxxx极品少妇| 成人av网站在线| 成人激情黄色小说| 丁香婷婷综合网| 高清beeg欧美| 成人免费观看视频| 成人黄动漫网站免费app| 国产69精品久久777的优势| 国产麻豆精品在线观看| 国产成人免费av在线| 国产成人av一区| 成人免费毛片嘿嘿连载视频| 不卡影院免费观看| 色综合久久中文综合久久97| 91色.com| 欧美精品日韩综合在线| 91精品国产色综合久久不卡电影| 日韩一级二级三级精品视频| 日韩精品在线看片z| 日本一区免费视频| 日韩美女精品在线| 亚洲国产精品久久久久婷婷884| 亚洲福利视频一区| 老司机精品视频在线| 国产在线一区二区| 成人91在线观看| 欧美私模裸体表演在线观看| 91麻豆精品国产91久久久使用方法| 亚洲人一二三区| 亚洲国产裸拍裸体视频在线观看乱了| 性做久久久久久免费观看| 久久99国产精品久久99果冻传媒| 国产超碰在线一区| 欧美影片第一页| 精品国产乱码久久久久久影片| 国产欧美精品区一区二区三区| 亚洲另类中文字| 日韩av高清在线观看| 粗大黑人巨茎大战欧美成人| 欧美综合欧美视频| 亚洲精品成人a在线观看| 亚洲va欧美va人人爽午夜 | 91精品国产综合久久香蕉的特点| 日韩亚洲欧美在线| 中文字幕一区视频| 偷偷要91色婷婷| 粉嫩嫩av羞羞动漫久久久 | 岛国一区二区三区| 欧美日韩视频专区在线播放| wwww国产精品欧美| 亚洲成人黄色影院| 成人看片黄a免费看在线| 7799精品视频| 中文字幕制服丝袜成人av| 日韩精品一级中文字幕精品视频免费观看| 美国十次综合导航| 在线观看日产精品| 精品美女一区二区| 一区二区三区在线影院| 国产精品一区二区久久不卡| 欧美午夜精品免费| 久久久国产精品午夜一区ai换脸| 亚洲大片免费看| 99久久久久久99| 久久久久国产精品麻豆ai换脸| 亚洲一区二区五区| 99精品国产视频| 国产欧美日韩不卡免费| 日本美女视频一区二区| 色天使久久综合网天天| 国产欧美久久久精品影院| 久久国产精品99久久人人澡| 欧美在线一二三| 亚洲欧美成aⅴ人在线观看 | 秋霞成人午夜伦在线观看| 91麻豆123| 国产精品久久久久久久久免费丝袜 | 琪琪久久久久日韩精品| 欧美日韩视频专区在线播放| 亚洲男同性恋视频| aaa国产一区| 国产精品美女久久久久av爽李琼| 国产一区二区在线观看视频| 在线观看91精品国产麻豆| 亚洲国产一区二区三区| 日本丶国产丶欧美色综合| 亚洲欧美日韩人成在线播放| www.久久精品| 亚洲丝袜另类动漫二区| 97精品久久久午夜一区二区三区| 国产蜜臀av在线一区二区三区|