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

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

?? debug.c

?? 此程序為twell8806驅動程序
?? C
字號:

#include "config.h"
#include "typedefs.h"
#include "main.h"

#include "debug.h"
#include "osdbasic.h"
#include "osdmenu.h"
#include "dispinfo.h"
#include "I2C.h"
#include "printf.h"
#include "panel.h"

#include "keyremo.h"
#include "regmap.h"

#ifdef SUPPORT_DEBUG

#define DEBUGWIN			8
#define DEBUGWIN_ADDR		350

static DATA BYTE Slave=TW88I2CAddress, Index=0, Bdata=0;
bit Debug_On=0;

static PDATA	BYTE Debug_index=0;
extern	bit   I2CAutoIncFlagOn ;

CODE BYTE	DebugWindowInit[] = {
	//----- Input Selection : Zoom 2
	17,
	OSD_Win_Num				( BACK_COLOR|DEBUGWIN ),	// 2 bytes
	OSD_Win_Attr			( WIN_BG_COLOR_EX0 | BACK_COLOR | WIN_3D_TYPE0 | WIN_3D_EN0 | WIN_EN0 ),
//	OSD_Win_Start			( 20, 15 ),	// 3 bytes
	OSD_Win_Start			( 20, (PVR_-(18*6))),
	OSD_Win_Width			( 25 ),
	OSD_Win_Height			( 2 ),
	OSD_Win_Border			( WIN_BD_EN | OSDMENU_OUTLINE_COLOR | WIN_BD_WIDTH(1) ),
	OSD_Win_HBorder			( WIN_BD_COLOR_EX0 | WIN_H_BD_W(13) ),
	OSD_Win_VBorder			( WIN_V_BD_W(10) ),
	OSD_Win_CH_Space		( WIN_CH_HSPACE(0) | WIN_CH_VSPACE(10) ),
	OSD_Win_ZM_SAddr		( WIN_VZOOM(WINZOOMx1), WIN_HZOOM(WINZOOMx1), WIN_SADDR(DEBUGWIN_ADDR) ),	// 2 bytes
	OSD_Win_Shadow			( WIN_SHADOW_EN0 | BG_COLOR_BLACK | WIN_SHADOW_W(0) ),
	OSD_Win_Blending		( 4 ),
	OSD_Win_CH_BorderShadow	( WIN_SHADOW_COLOR_EX0 | WIN_MULTI_EN | WIN_V_EXT_EN0 
	                        | WIN_CH_BDSH_SEL(SEL_BORDER) 
	                        | WIN_CH_BDSH_COLOR_EX0 | CH_COLOR_BLACK ),

	0	// End of Data
};

CODE BYTE Debug_Str[][25] = {
	" Addr Idx Data Bit       ",
	" 88   00  00   0000 0000 "   
};

CODE BYTE Cursor_Point[] = {
	1, 2, 6, 7, 10, 11, 15, 16, 17, 18, 20, 21, 22, 23 
};

CODE BYTE Digit_Str[] = {
	'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
};

void DebugWindowControl (void) {


	if( Debug_On ) 
	{
		Debug_On = 0;
		ShowOSDWindow(DEBUGWIN,FALSE);
		return;
	}
	
	Debug_On = 1;
	Change_OSDColorLookup();
	InitOSDWindow(DebugWindowInit);

	DrawAttrCnt(DEBUGWIN_ADDR, DEFAULT_COLOR, 25 );	// Clear color
	WriteTW88(TW88_ENABLERAM, 0x24);		// OSD RAM Auto Access Enable
	I2CAutoIncFlagOn = 1;
	WriteStringToAddr(DEBUGWIN_ADDR, Debug_Str[0], 25 );
	I2CAutoIncFlagOn = 0;
	DrawAttrCnt(DEBUGWIN_ADDR+25, DEFAULT_COLOR, 25 );	// Clear color
	WriteStringToAddr(DEBUGWIN_ADDR+25, Debug_Str[1], 25 ); 

	ShowOSDWindow(DEBUGWIN,TRUE);
	ShowOSDWindowAll(1);

	Debug_index = 2;

	Bdata = ReadI2C(Slave,Index);

	Draw_Debug_Char();

	DrawAttrCnt(DEBUGWIN_ADDR+25+Cursor_Point[Debug_index], BG_COLOR_YELLOW|CH_COLOR_BLUE, 1 );	// Clear color

}

void Draw_Debug_Char(void)
{
	BYTE i,j;
	BYTE mstr[10];

	i = Slave;
	mstr[0] = Digit_Str[i>>4 & 0x0f] ;
	mstr[1] = Digit_Str[i&0x0f];
	mstr[2] = 0;
	WriteStringToAddr(DEBUGWIN_ADDR+25+1, mstr, 2 );

	i = Index;
	mstr[0] = Digit_Str[i>>4 & 0x0f] ;
	mstr[1] = Digit_Str[i&0x0f];
	mstr[2] = 0;
	WriteStringToAddr(DEBUGWIN_ADDR+25+6, mstr, 2 );

	i = Bdata;
	mstr[0] = Digit_Str[i>>4 & 0x0f] ;
	mstr[1] = Digit_Str[i&0x0f];
	mstr[2] = 0;
	WriteStringToAddr(DEBUGWIN_ADDR+25+10, mstr, 2 );

	i = Bdata;
	for (j=0; j<9 ;j++ )
	{
		mstr[j] = i&0x80? '1':'0';  
		i = i<<1;
		if(j==3) mstr[++j] = ' ';
		//Printf("\n\r i:%2x mstr[%d]: %s", (WORD)i, (WORD)j, mstr);

	}
	mstr[9] = 0;
	//Printf("\n\r Bdata:%2x  mstr: %s", (WORD)Bdata, mstr);
	WriteStringToAddr(DEBUGWIN_ADDR+25+15, mstr, 9 );

}

void DebugWindowCursor( BYTE flag ) {
	 
	if( flag == UP ) Debug_index = (Debug_index + 1) % 14;
	else Debug_index = (Debug_index+14-1)%14;

	DrawAttrCnt(DEBUGWIN_ADDR+25, DEFAULT_COLOR, 25 );	// Clear color
	DrawAttrCnt(DEBUGWIN_ADDR+25+Cursor_Point[Debug_index], BG_COLOR_YELLOW|CH_COLOR_BLUE, 1 );	// Clear color

}

void DebugWindowData( BYTE flag ) {
	
	BYTE i;
	int inc;

	switch(Debug_index){
	case 0: i = (flag == UP )? +0x10: -0x10;	
			i = i + (Slave&0xf0  );
			i &= 0xf0;
			Slave = i | (Slave&0x0f);
			break;	

	case 1: i = (flag == UP )? +1: -1;	
			i = i + (Slave&0x0f  );
			i &= 0x0f;
			Slave = i | (Slave&0xf0);
			break;	
	case 2: i = (flag == UP )? +0x10: -0x10;	
			i = i + (Index&0xf0  );
			i &= 0xf0;
			Index = i | (Index&0x0f);
			break;	
	case 3:  i = (flag == UP )? +1: -1;	
			i = i + (Index&0x0f  );
			i &= 0x0f;
			Index = i | (Index&0xf0);
			break;
	case 4:  i = (flag == UP )? +0x10: -0x10;	
			i = i + (Bdata&0xf0  );
			i &= 0xf0;
			Bdata = i | (Bdata&0x0f);
			break;	
	case 5:  i = (flag == UP )? +1: -1;	
			i = i + (Bdata&0x0f  );
			i &= 0x0f;
			Bdata = i | (Bdata&0xf0);
			break;
	case 6: 
	case 7:
	case 8:
	case 9:
	case 10:
	case 11:
	case 12:
	case 13:
			inc = Debug_index - 6;
			inc = 0x80>>inc;
			Bdata = Bdata ^ inc;
			//Printf("\n\r inc:%2x  Bdata:%2x ", (WORD)inc, (WORD)Bdata );
			WriteI2C(Slave, Index, Bdata);
			Draw_Debug_Char();
			delay(50);

			Bdata = ReadI2C(Slave, Index);
			break;	

	}
 
	Draw_Debug_Char();


}


void Debug_Write(void)
{
	WriteI2C(Slave, Index, Bdata);

}

void Debug_Read(void)
{
	Bdata = ReadI2C(Slave, Index);
	Draw_Debug_Char();
}
#endif // DEBUG_OSDMODE


#ifdef CHIP_MANUAL_TEST

extern 	bit		RepeatKey;
		PDATA   BYTE ManualFrequency;
		bit		OnChipTest=0;

CODE struct _zilog {
	BYTE cnt;
	BYTE str[4];
} Zilog[] = {

	{ 1, { 0x32       } },	
	{ 2, { 0xc0, 0x04 } },	// Hsync=External
	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },
	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },	{ 1, {0} },
	{ 2, { 0xa0, 0x09 } },
	{ 2, { 0xa2, 0x04 } },

	{ 2, { 0xa3, 0x08 } },
	{ 2, { 0xa5, '>'  } },
	{ 2, { 0xa5, '>'  } },

	{ 2, { 0xa3, 0x02 } },
	{ 2, { 0xa5, 'T'  } },
	{ 2, { 0xa5, 'W'  } },
	{ 2, { 0xa5, '8'  } },
	{ 2, { 0xa5, '8'  } },
	{ 2, { 0xa5, '0'  } },
	{ 2, { 0xa5, '4'  } },
	{ 2, { 0xa3, 0x04 } },
	{ 2, { 0xa5, '<'  } },
	{ 2, { 0xa5, '<'  } },

//	{ 1, { 0x30       } },
	{ 2, { 0xa0, 0x0b } },
	{ 2, { 0xa2, 0x05 } },
//	{ 2, { 0xa3, 0x0e } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x0a } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x06 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x02 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x0c } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x08 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x04 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x00 } },
	{ 2, { 0xa5, 0x7f } },

//	{ 1, { 0x30       } },
	{ 2, { 0xa0, 0x0c } },
	{ 2, { 0xa2, 0x05 } },
//	{ 2, { 0xa3, 0x0e } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x0a } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x06 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x02 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x0c } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x08 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x04 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x00 } },
	{ 2, { 0xa5, 0x7f } },

//	{ 1, { 0x30       } },
	{ 2, { 0xa0, 0x0d } },
	{ 2, { 0xa2, 0x05 } },
//	{ 2, { 0xa3, 0x0e } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x0a } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x06 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x02 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x0c } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x08 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x04 } },
	{ 2, { 0xa5, 0x7f } },
	{ 2, { 0xa3, 0x00 } },
	{ 2, { 0xa5, 0x7f } },


	{ 0, {0} }

};




void WriteZilog(BYTE cnt, BYTE *val)
{
	BYTE rd=1, i;

	if( *val==0 ) {
		delay(5);
		return;
	}

	I2CStart();
	I2CWriteData(0x28);

	for(i=0; i<cnt; i++, val++) {
		I2CWriteData(*val);		//LJY050101
	}

	I2CStop();
}

BYTE DelaynCheck(void)
{
	BYTE ret=FALSE;
	WORD i;

	for(i=ManualFrequency*10; i>0; i--){
		delay(10);

		#ifdef SERIAL
			if( RS_ready() ) { ret=TRUE;  break; }
		#endif

	}

	return ret;

}

void ChipMenualTest(void)
{

	BYTE i;

	if( P0_0!=0 ) return; 
	if(OnChipTest!=1) return;
	OnChipTest = 0;

	Printf("\r\nPush any key if manual test stop.");
	
     while(1) {
		//	ChangeInput(COMPOSITE);
		
		WriteDecoder( INFORM, ReadDecoder(INFORM) | 0x01 );
		WriteDecoder( ACNTL, ReadDecoder(ACNTL) & 0xfe );
		
		//WriteDecoder( G_GAIN,  0x80 );
		WriteDecoder( SCrGAIN, 0x40 );
		WriteDecoder( SCrGAIN, 0x40 );
		WriteDecoder( RGBCONTROL, 0x03 );
		WriteDecoder( RGBMISC, 0x05 );
		
		delay(10+10);
		
		for(i=0; ; i++) {
			if( Zilog[i].cnt==0 ) break;
			WriteZilog( Zilog[i].cnt, Zilog[i].str );
		}
		delay(20+10);
		 
		ChangeInput(SVIDEO);			// Input - Input Source Change Key
		if( DelaynCheck() ) break;

		if( DIP_AUTO_DETECT==0 )		{
			ChangeInput(PC);				// Input - Input Source Change Key
		}
		if( DelaynCheck() ) break;

		ChangeInput(COMPOSITE);			// Input - Input Source Change Key
		
		ActionRemo( REMO_MENU, RepeatKey );
		
		WriteDecoder( INFORM, ReadDecoder(INFORM) | 0x01 );
		WriteDecoder( ACNTL, ReadDecoder(ACNTL) & 0xfe );
		
		//WriteDecoder( G_GAIN,  0x80 );
		WriteDecoder( SCrGAIN, 0x40 );
		WriteDecoder( SCrGAIN, 0x40 );
		WriteDecoder( RGBCONTROL, 0x03 );
		WriteDecoder( RGBMISC, 0x05 );
		
		delay(10+10);
		
		for(i=0; ; i++) {
			if( Zilog[i].cnt==0 ) break;
			WriteZilog( Zilog[i].cnt, Zilog[i].str );
		}
		delay(20+10);

		if( DelaynCheck() ) break;
	
	 }

	Printf("\r\nPush number 0 of the key if manual test starts again.");

}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲电影| 欧美色倩网站大全免费| 99久久国产免费看| 欧美日韩视频不卡| 久久综合九色综合97_久久久| 国产精品乱码人人做人人爱| 亚洲综合视频网| 狠狠色丁香九九婷婷综合五月| av亚洲精华国产精华| 欧美一级在线免费| 国产精品毛片久久久久久久| 五月婷婷久久丁香| 国产成人av一区二区三区在线观看| 在线亚洲人成电影网站色www| 日韩欧美国产高清| 亚洲色图视频网| 激情久久五月天| 色噜噜狠狠成人网p站| 精品日韩一区二区三区免费视频| 国产精品久久久久aaaa樱花| 日本 国产 欧美色综合| kk眼镜猥琐国模调教系列一区二区| 欧美人牲a欧美精品| 国产精品色哟哟| 裸体一区二区三区| 91福利国产精品| 国产亚洲欧美在线| 日韩高清不卡一区二区| 91麻豆文化传媒在线观看| 久久亚洲综合色一区二区三区| 亚洲国产欧美另类丝袜| 成人黄色国产精品网站大全在线免费观看| 91精品婷婷国产综合久久竹菊| 欧美国产精品一区| 一区二区三区免费网站| 国产乱对白刺激视频不卡| 欧美日韩国产精品成人| 国产精品欧美久久久久一区二区| 麻豆国产精品视频| 在线观看一区二区精品视频| 国产精品久久久久久久久久免费看| 免费在线观看一区二区三区| 欧美一区二区视频免费观看| 亚洲区小说区图片区qvod| 国产福利精品导航| 337p粉嫩大胆噜噜噜噜噜91av | 国产精品白丝av| 欧美日韩日日摸| 亚洲精品福利视频网站| 国产精品一二二区| 精品免费一区二区三区| 天天影视网天天综合色在线播放| 色94色欧美sute亚洲线路一ni| 中文字幕乱码久久午夜不卡| 激情久久五月天| 精品美女一区二区三区| 奇米四色…亚洲| 欧美日本国产视频| 香蕉成人伊视频在线观看| 日本精品一级二级| 亚洲男同性视频| 99久久久久久| 亚洲色图在线视频| 色综合咪咪久久| 自拍偷拍亚洲激情| 91在线国内视频| 日韩美女视频一区| 91在线小视频| 亚洲免费观看高清完整版在线观看熊| 99精品视频一区二区| 中文字幕一区二区在线播放| www.欧美.com| 亚洲视频一二区| 91搞黄在线观看| 亚洲电影在线播放| 欧美午夜视频网站| 丝袜脚交一区二区| 日韩一级完整毛片| 麻豆精品一区二区综合av| 日韩免费看的电影| 精品亚洲欧美一区| 久久综合九色综合欧美亚洲| 国产成人免费在线| 国产精品成人免费精品自在线观看| 国产91精品久久久久久久网曝门| 国产精品视频一二| 一本大道久久a久久精二百| 亚洲在线观看免费视频| 宅男噜噜噜66一区二区66| 久久精品999| 欧美激情中文字幕一区二区| 99国产精品视频免费观看| 亚洲综合丁香婷婷六月香| 3751色影院一区二区三区| 精品写真视频在线观看| 国产欧美一区二区三区在线老狼| 大尺度一区二区| 亚洲一二三区在线观看| 欧美一区二区三区日韩| 国产中文字幕一区| 亚洲天堂2016| 欧美一区二区三区精品| 国产一区二区不卡老阿姨| 亚洲欧洲另类国产综合| 欧美日韩一区三区| 国产精品一线二线三线精华| 亚洲精品欧美综合四区| 91精品国产色综合久久| 国产精品1024| 亚洲无线码一区二区三区| 精品剧情在线观看| av电影在线观看一区| 日韩成人午夜精品| 国产欧美日韩在线| 欧美午夜一区二区三区免费大片| 狂野欧美性猛交blacked| 国产精品高清亚洲| 91精品久久久久久久91蜜桃 | 亚洲视频免费在线观看| 欧美人牲a欧美精品| 国产成人在线观看免费网站| 亚洲图片欧美综合| 久久久亚洲国产美女国产盗摄| 色成年激情久久综合| 久久91精品久久久久久秒播| 亚洲人成在线播放网站岛国| 日韩视频一区二区三区| 99久久国产综合色|国产精品| 麻豆传媒一区二区三区| 亚洲激情图片qvod| 国产日韩欧美激情| 91精品国产综合久久精品| 99热99精品| 国产黄人亚洲片| 免费av成人在线| 一区二区国产盗摄色噜噜| 久久久久久久久久久久久女国产乱| 在线观看不卡一区| 成人综合婷婷国产精品久久免费| 奇米在线7777在线精品| 亚洲精品视频观看| 欧美经典一区二区| 日韩一区二区三区高清免费看看| 色偷偷88欧美精品久久久| 成人中文字幕电影| 精品一区二区久久久| 日日夜夜免费精品视频| 亚洲人成亚洲人成在线观看图片| 久久综合国产精品| 欧美一级一级性生活免费录像| 色综合久久精品| 成人黄色在线看| 国产成人精品www牛牛影视| 另类综合日韩欧美亚洲| 视频一区二区欧美| 夜夜精品浪潮av一区二区三区| 国产精品全国免费观看高清| 精品国产精品一区二区夜夜嗨| 制服.丝袜.亚洲.另类.中文 | 蜜桃一区二区三区四区| 亚洲综合无码一区二区| 亚洲婷婷在线视频| 成人欧美一区二区三区在线播放| 久久久久久久久岛国免费| 日韩欧美国产高清| 欧美一区二视频| 欧美日韩国产首页| 欧美三级日韩三级| 日本久久一区二区三区| caoporm超碰国产精品| 国产高清亚洲一区| 国产成人无遮挡在线视频| 国产露脸91国语对白| 国产精品18久久久久久久网站| 久久成人免费网| 精品一区二区三区av| 激情综合色丁香一区二区| 久久se这里有精品| 韩国成人福利片在线播放| 精品影视av免费| 国内偷窥港台综合视频在线播放| 看电影不卡的网站| 久久成人免费日本黄色| 极品美女销魂一区二区三区免费| 国产制服丝袜一区| 国产一区久久久| 国产永久精品大片wwwapp | 中文字幕精品三区| 中文字幕一区二区三| 国产精品动漫网站| 一区二区在线看| 亚洲成人一区在线| 日韩高清不卡在线| 国产呦萝稀缺另类资源| 粗大黑人巨茎大战欧美成人| jlzzjlzz欧美大全| 91久久奴性调教| 欧美精品一二三| 精品免费99久久| 国产欧美精品一区|