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

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

?? ir_drv.c_org

?? 凌陽8202T的紅外接收代碼及LED屏的驅動代碼
?? C_ORG
?? 第 1 頁 / 共 3 頁
字號:
    // show some message to tell users this key have no system function. robert.chang, 2007-05-07
    char str_buf[20]; 
    strcpy(str_buf, "INVALID KEY");
    timeout_osd[1]=1*OSD_TIMEOUT;    
    osdshow(1, str_buf);    
}

/*
* detect ir key input,using to search tuner band
*/
//#ifdef SUPPORT_TUNER       // add tuner 2-6-14 23:17
BYTE key_input(void)
{
    BYTE res;
    //need to add vfd key input
    
    if(regs0->iop_data[IR_PORT]&IR_RDY)
      res=1;
    else
      res=0;

   return res;
}
//#endif

#if defined(DESAY_PHILIPS_IR)||defined(IR_GBM_PHILIPS)
UINT16    desay_philips_ir_move(UINT16 rx)
{

	if(((regs0->iop_data[6]>>6)&0x5f) == IR_ADDR_PATT)
        {
	switch(rx)
                {
                case 0x30:
                case 0x32:
                case 0x33:
                case 0x34:
                    rx+=0x10;
                    break;
                case 0x11:
                case 0x12:
                case 0x13:
                    rx+=0x40;
                    break;
                default:
                    break;
               	}
            }
       else	if(((regs0->iop_data[6]>>6)&0x5f) == IR_ADDR_PATT2)
            {
			    switch(rx)
                {

                case 0x06:
                    rx+=0x40;
                    break;
                case 0x02c:
                case 0x02e:
                case 0x02f:
                    rx+=0x20;
                    break;
                default:
                    break;
                	}
            }
       else	if(((regs0->iop_data[6]>>6)&0x5f) == IR_ADDR_PATT3)
       {
                switch(rx)
                {
			    case 0x032:
                case 0x033:
                    rx+=0x15;
                    break;
                default:
                    break;
                	}
		}
       else	if(((regs0->iop_data[6]>>6)&0x5f) == IR_ADDR_PATT4)
            {
			    switch(rx)
                {

                case 0x2c:
                	rx+=0x30;
                    break;
                default:
                    break;
                	}
            }
	return rx;            
}
#endif //CLEAD 2004-3-23

#ifdef  IR_GBM_PHILIPS  //added by wangwei,2004-8-16 20:09
    UINT16  gbm_philips_ir_move(UINT16 rx)
    {
        desay_philips_ir_move(rx);
    }
#endif  //IR_GBM_PHILIPS

/*
* call ir post function (ir parser)
*/
#if defined(DEBUG_IR_CODE)||defined(IR_PHILIPS)
static inline BYTE Call_Ir_Fun(UINT16 rx)
{
#ifdef	 DESAY_PHILIPS_IR

	rx=desay_philips_ir_move(rx);
    rx = ir_mapcode[(BYTE) rx];    
    #ifndef IR_TOOL
    printf("\n ir(705) rx = %x \n",rx);
    call_ir_func(rx);
    #endif
#elif defined(IR_GBM_PHILIPS)
	rx=gbm_philips_ir_move(rx);
    #ifdef DEBUG_IR_CODE//gerry add it for philips ir,2004-8-4 16:41
	watch_ir_id(rx);
	return; 
    #endif
    rx = ir_mapcode[(BYTE) rx];    
    #ifndef IR_TOOL
    printf("\n ir(705) rx = %x \n",rx);
    call_ir_func(rx);
    #endif
#else
    #ifdef DEBUG_IR_CODE//gerry add it for philips ir,2004-8-4 16:41
	watch_ir_id(rx);
	return; 
    #endif
    rx = ir_mapcode[(BYTE) rx];    
    #ifndef IR_TOOL
    printf("\n ir(705) rx = %x \n",rx);
    call_ir_func(rx);
    #endif
#endif
	return rx;
}
#else
static inline BYTE Call_Ir_Fun(UINT16 rx)
{
	if(rx >= MAX_IR_MAP) // Out of MAP range?
        return 0;
    #ifdef TEST_VFD_PANNEL_AND_KEY//lijd 2005-5-8 13:53
	 if(Test_Front_Panel_flag==1)
	 {
	 	 TestIrData=(BYTE)rx;
	 	 if(Test_Stop_flag!=1)
	 	 {
		  	 if((rx!=0x11)&&(rx!=0x26))    return 0; 
		 }else if(Test_Stop_flag==1)
		 {
		 	 if(rx!=0x11)    return 0; 
		 }
	 }
     #endif 


    rx = ir_mapcode[(BYTE) rx]; 
    #ifdef MALATA_KEY
	rx=  malata_key_check(rx);
    #endif //end-> #ifdef MALATA_KEY

    
    #ifdef DMA_DVD_SWITCH
    extern void DMA_DVD_Switch(UINT16 rx);
    DMA_DVD_Switch(rx);
    #endif
    
  
       
    #ifndef IR_TOOL
    printf("\n ir(705) rx = %x \n",rx);
    call_ir_func(rx);
    #endif

    #ifdef TONIC_DVD
    if(rx==IRC_KEYLOCK)
    ircmd_keylock();
    #endif

    return 0;
}    
#endif                

#ifdef USE_VFDPORT_TRANDATA //linrc add 2004-3-27 16:40
#define USE_VFDPORT_TRANDATA_return(); return IRC_NULL;
#else
#define USE_VFDPORT_TRANDATA_return();
#endif

#ifdef  SUPPORT_SPI
#define SUPPORT_SPI_return(); return IRC_NULL; 
#else
#define SUPPORT_SPI_return();
#endif

#ifdef TCL_VFD_GPIO//2004-3-22 12:49 lijd
#define call_SUPPORT_TCL_LED();   tcl_led();
#else
#define call_SUPPORT_TCL_LED();
#endif

static inline void NEXT_FORWARD_IN_A_KEY_short_time(UINT16 rx)
{
#ifdef NEXT_FORWARD_IN_A_KEY    	
    	if(bIrSkipState)
    	{
	    	bIrSkipCnt++;	    	
	    	if(bIrSkipCnt>5)
	    	{
	    		if(rep_ir_times==0)
	    		{
	    			
#ifdef NEW_NEXT_FORWARD_IN_A_KEY
		    		rx = IRC_PREV + bIrSkipState -1;
#else//#ifdef NEW_NEXT_FORWARD_IN_A_KEY
                    rx = IRC_BACKWARD + bIrSkipState -1;      
#endif//#ifdef NEW_NEXT_FORWARD_IN_A_KEY

		        	ircmd_pre_paser(rx);

                }
		    
		        bIrSkipState = 0;
	    	    bIrSkipCnt = 0;
	    	    rep_ir_times = 0;
	    	}
    	}
#else
    if(rx) {}    	
#endif//NEXT_FORWARD_IN_A_KEY
}

static inline void NEXT_FORWARD_IN_A_KEY_long_time(UINT16 rx)
{
#ifdef NEXT_FORWARD_IN_A_KEY	        		    
    bIrSkipCnt = 0;
    if(rep_ir_times<=2)
    {
       	rep_ir_times=2;
#ifdef NEW_NEXT_FORWARD_IN_A_KEY
       	rx = IRC_BACKWARD + bIrSkipState -1;
#else//NEW_NEXT_FORWARD_IN_A_KEY
       	rx = IRC_PREV + bIrSkipState -1;
#endif//NEW_NEXT_FORWARD_IN_A_KEY
       	//printf("run rx:%d \n",rx);
       	ircmd_pre_paser(rx);
    }else if(rep_ir_times>3)
	{
		rep_ir_times = 1;
	}
#else
  if(rx) {}
#endif	
}


#if defined(SUPPORT_DVB_GUI_NEW)&&defined(DVB_IR_3D_ON)
static inline BYTE is_available_key_in_3D_state(BYTE rx __attribute__((unused)))
{  
    if((ir_mapcode[(BYTE) rx]==IRC_SELECT) || (ir_mapcode[(BYTE) rx]==IRC_PLAY_SELECT)
        ||(ir_mapcode[(BYTE) rx]==IRC_UP) || (ir_mapcode[(BYTE) rx]==IRC_DOWN)
        ||(ir_mapcode[(BYTE) rx]==IRC_LEFT) || (ir_mapcode[(BYTE) rx]==IRC_RIGHT)
        ||(ir_mapcode[(BYTE) rx]==IRC_3D)
      )
    return 1;
    
    return 0;
}

static inline BYTE InDVB3DNow(BYTE rx __attribute__((unused)))
{
    if(!(full_scrn&SOUND))
        return 1;
    /*    
    if((ir_mapcode[(BYTE) rx]==IRC_SETUP) || (ir_mapcode[(BYTE) rx]==IRC_DISPLAY)
    #ifdef DVB_IR_SCAN_KEY    //sunzhh add 20051117
    || (ir_mapcode[(BYTE) rx]==IRC_GOTO)
    #endif
    #ifdef SUPPORT_DVB_PREVIEW_9FRAMES     //sunzhh add 20051117
    || (ir_mapcode[(BYTE) rx]==IRC_PREVIEW)
    #endif
    */
    if(!is_available_key_in_3D_state(rx))
    {
        cancel_sound();
        return 1;
    }
    
    return 0;
} 
#endif
	

#ifdef  SLOW_SOME_KEY_IN_MALATA_IR
void  slow_key_update();
void  slow_key_update()
{
 
	if(clear_key == 1)
	{
	      // printf_w("@@@@@@@@@@@     clear_count ++;    clear_count:%d\n",clear_count);//20051207 tiany debug	 
		clear_count --;
		if(clear_count < 1)
		{
                  clear_key = 0;
		    clear_count = 0;	  
		//	printf_w("@@@@@@@@@@@     clear_key = 0;    @@@@@@@@@@@@@@@\n");//20051207 tiany debug	
		}	   
	}
	else
	{
		clear_count = 0;
	}
}	
#endif



	
/*
** FUNCTION
** polling_ir
**
** DESCRIPTION
** polling IR interface and store received IR command
** to IR receive queue
*/
#ifdef XM_MODEL		//fcr 2005-11-3 17:39
        extern unsigned char XMkey_release_hold;
#endif
BYTE polling_ir(void)
{
///        lwp+  test IR*************************************
UINT16 rx;    
rx = regs0->iop_data[IR_PORT];
//printf_w("IR data:%04x\n",rx);
regs0->iop_data[IR_PORT] = rx & (~IR_RDY);  
ir_command(rx);

//*********************************************************

#if 0
	#ifdef SUPPORT_SMF // add for close ir when loading fh ; hf.pang ; 2007-02-12
    extern UINT8 g_iLoadFHCloseIR;
    if(g_iLoadFHCloseIR)
        return;
    #endif
    
    #ifdef OP_DVD5121_PANEL //qinhua ,2005-9-13 22:55
    static BYTE count;  	    
    #endif 
    UINT16 rx;    
    UINT16 unCustId;
    #if defined(HOLD_VOL_KEY_FAST_REPEAT)
    static UINT16 rep_ir_hold_times=0;
    static BYTE ir_key_clone_times=0;//insert clone key to increase repeat speed
        #ifdef SUPPORT_MCU_68A
        #define MIN_IR_REPEAT_TIME 3
        #define MIN_IR_REPEAT_TIME_N 5//2
        #define IR_CLONE_TIME 0
        #else
        #define MIN_IR_REPEAT_TIME 4
        #define MIN_IR_REPEAT_TIME_N 5//3
        #define IR_CLONE_TIME 0
        #endif
    #endif
    
    //... terry,2004/7/23 10:56PM
    USE_VFDPORT_TRANDATA_return();
    SUPPORT_SPI_return();
    ir_tcl_standby();
    call_SUPPORT_TCL_LED();    
    mon_ir();	
    #ifdef  SLOW_SOME_KEY_IN_MALATA_IR
    slow_key_update();
    #endif
   #ifdef SUPPORT_SYS_POWER_ON_WAITING_MCUINFO//tianye 200607
   if(!flag_check_mcu_info)
   {
         return;
   }
   #endif//end=> #ifdef  SUPPORT_SYS_POWER_ON_WAITING_MCUINFO

    rx = regs0->iop_data[IR_PORT];
    
    //printf_w("IR data:%04x\n",rx);
    
    if (!(rx & IR_RDY))
    {
     #ifdef OP_DVD5121_PANEL //qinhua ,2005-9-13 22:55
       count=0; 
     #endif 
     #ifdef XM_MODEL     //fcr 2005-11-3 17:39
         if(XMkey_release_hold)XMkey_release_hold--;
     #endif
    	//printf("bIrSkipState:%d rep_ir_times:%d bIrSkipCnt:%d \n",bIrSkipState,rep_ir_times,bIrSkipCnt);
        NEXT_FORWARD_IN_A_KEY_short_time(rx);
        
#if defined(ANGLE_GOTO_IN_A_KEY)||defined(TITLE_RETURN_IN_A_KEY)  	
    	if(bIrSkipState1)
    	{
	    	bIrSkipCnt1++;	    	
	    	if(bIrSkipCnt1>5)
	    	{
	    		if(rep_ir_times==0)
	    		{
	    			#ifdef TITLE_RETURN_IN_A_KEY
	    			rx=IRC_TITLEMENU;
	    			#else
	    			rx=IRC_GOTO;
	    			#endif
		        	ircmd_pre_paser(rx);

		        }
		        bIrSkipState1 = 0;
	    	    	bIrSkipCnt1 = 0;
	    	   	rep_ir_times = 0;
	    	}
    	}
#endif
        
#ifdef SLOW_ZOOM_IN_A_KEY    	
    if(bIrSkipState2)
    {
    	bIrSkipCnt2++;	    	
    	if(bIrSkipCnt2>5)
    	{
    	    if(rep_ir_times==0)
    	    {
    		    rx=IRC_ZOOM;
                ircmd_pre_paser(rx);
            }
            bIrSkipState2 = 0;
	        bIrSkipCnt2 = 0;
            rep_ir_times = 0;
    	}
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆123| 亚洲欧美一区二区三区极速播放 | 欧美日韩国产综合一区二区三区| 欧美一区二区三区视频免费播放| 国产精品久久久久影院亚瑟| 另类综合日韩欧美亚洲| 欧美亚洲国产bt| 亚洲天堂免费看| 国产69精品久久777的优势| 91精品国产综合久久精品性色| 中文字幕日韩一区二区| 国产精品一线二线三线精华| 538prom精品视频线放| 亚洲乱码国产乱码精品精98午夜| 国产成人在线视频免费播放| 日韩精品一区二区三区中文不卡| 亚洲成人第一页| 欧美性一区二区| 亚洲欧美视频一区| 91丝袜高跟美女视频| 国产精品理论在线观看| 成人自拍视频在线观看| 久久久91精品国产一区二区精品| 麻豆91在线播放| 欧美成人福利视频| 美女视频网站黄色亚洲| 91精品久久久久久蜜臀| 婷婷成人综合网| 91精品国产综合久久久蜜臀粉嫩 | 欧美午夜不卡视频| 亚洲欧美综合在线精品| 成人天堂资源www在线| 国产精品久久午夜夜伦鲁鲁| 国产成人av电影免费在线观看| 久久久久久免费毛片精品| 国产精品综合一区二区三区| 国产欧美视频一区二区三区| 国产成人高清视频| 国产精品视频免费看| 成人av在线一区二区三区| 17c精品麻豆一区二区免费| 色哟哟国产精品| 亚洲国产欧美在线人成| 制服丝袜在线91| 国内成人自拍视频| 中文字幕一区二区5566日韩| 色综合色综合色综合色综合色综合| 亚洲免费视频中文字幕| 欧美日精品一区视频| 免费在线看成人av| 国产人妖乱国产精品人妖| jizz一区二区| 亚洲午夜精品17c| 日韩免费电影一区| 粉嫩av一区二区三区| 亚洲一区二区五区| 日韩午夜av电影| 成人免费看视频| 亚洲国产欧美日韩另类综合 | 久久国产精品露脸对白| 国产欧美一区二区精品秋霞影院 | 国产日产亚洲精品系列| 色综合久久88色综合天天 | 国产精品一区二区免费不卡| ㊣最新国产の精品bt伙计久久| 欧美系列亚洲系列| 国产一区二区三区免费看| 成人免费一区二区三区在线观看| 欧美高清视频www夜色资源网| 国产一区二区三区日韩| 一区二区三区产品免费精品久久75| 欧美日韩国产精选| 国产大陆亚洲精品国产| 亚洲一区二区三区小说| 欧美激情在线免费观看| 在线不卡的av| 91免费国产视频网站| 激情综合色综合久久综合| 亚洲蜜桃精久久久久久久| 久久综合九色综合欧美98| 欧美亚洲一区二区在线观看| 国产成a人亚洲精品| 免费成人美女在线观看| 亚洲黄色在线视频| 欧美国产成人在线| 日韩精品资源二区在线| 欧美日韩在线播放一区| 成人免费毛片高清视频| 精彩视频一区二区三区| 午夜日韩在线观看| 亚洲免费在线视频| 中文字幕一区二区三区在线播放| 欧美tk丨vk视频| 欧美精品777| 欧美日韩国产免费一区二区| 色天使久久综合网天天| 99精品久久只有精品| 国产精一品亚洲二区在线视频| 秋霞国产午夜精品免费视频| 亚洲综合色噜噜狠狠| 亚洲三级在线播放| 中文字幕一区视频| 国产精品嫩草影院av蜜臀| 久久精品日韩一区二区三区| 日韩欧美在线1卡| 欧美一区二区三区在线电影 | 日韩高清不卡一区二区| 亚洲在线免费播放| 一区二区在线电影| 曰韩精品一区二区| 亚洲精品午夜久久久| 亚洲免费三区一区二区| 亚洲人成小说网站色在线| 国产精品视频看| 中文字幕一区二区三区四区不卡| 欧美激情综合五月色丁香| 亚洲国产成人一区二区三区| 国产欧美精品日韩区二区麻豆天美| 久久亚洲影视婷婷| 久久尤物电影视频在线观看| 精品国产凹凸成av人网站| 欧美成人官网二区| 久久久91精品国产一区二区精品| 久久亚洲精华国产精华液| 久久精品夜色噜噜亚洲aⅴ| 国产欧美精品日韩区二区麻豆天美| 国产日韩亚洲欧美综合| 亚洲色图.com| 亚洲国产日韩精品| 蜜臀va亚洲va欧美va天堂| 狠狠色伊人亚洲综合成人| 国产九色sp调教91| 91毛片在线观看| 欧美日韩黄色一区二区| 欧美成人精品3d动漫h| 中文字幕av资源一区| 日产欧产美韩系列久久99| 激情综合五月天| 国产夜色精品一区二区av| 国产激情精品久久久第一区二区| 国产激情视频一区二区在线观看 | 日本免费在线视频不卡一不卡二 | 久久夜色精品国产噜噜av| 中文字幕免费一区| 亚洲高清久久久| 国产精品77777竹菊影视小说| jiyouzz国产精品久久| 欧美日韩免费观看一区二区三区| 91精品国产综合久久久久久漫画| 久久久国产精华| 亚洲美女视频在线| 久久99国产精品麻豆| 99re这里只有精品首页| 日韩一区二区电影在线| 亚洲欧洲三级电影| 九一久久久久久| 色av一区二区| 国产日本欧洲亚洲| 日韩成人一区二区三区在线观看| 成人黄色小视频| 欧美一区日本一区韩国一区| 国产精品久久久99| 美女一区二区在线观看| 99久久国产综合精品色伊| 日韩欧美国产高清| 一个色在线综合| 成人综合在线观看| 精品福利在线导航| 亚洲国产成人va在线观看天堂 | 日本午夜精品视频在线观看 | 综合色中文字幕| 国产福利一区二区| 欧美一区永久视频免费观看| 亚洲精品免费电影| 国产河南妇女毛片精品久久久| 777精品伊人久久久久大香线蕉| 日本一区二区三级电影在线观看 | 成人av免费在线| 精品少妇一区二区三区| 日韩高清一级片| 欧美日本国产一区| 夜夜操天天操亚洲| www.亚洲在线| 国产精品网站在线观看| 韩国一区二区三区| 日韩欧美国产一区二区在线播放| 性感美女极品91精品| 91一区二区三区在线观看| 国产精品嫩草99a| 高清不卡在线观看av| 久久综合成人精品亚洲另类欧美| 蜜桃在线一区二区三区| 欧美精品 日韩| 日韩精品免费视频人成| 欧美老人xxxx18| 午夜精品123| 欧美三级电影在线看| 视频一区视频二区在线观看| 欧美日韩三级在线| 日本不卡在线视频|