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

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

?? ir_drv.c

?? 凌陽8202T的紅外接收代碼及LED屏的驅動代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
                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









//============by linson 2008-7-9==============
#include".\iptv\Vod_Iptv_Data.h"	
#include".\iptv\Vod_Iptv_network.h"
#include".\iptv\Vod_Iptv_osd.h"
#include".\iptv\Vod_Ir_drv.h"
#include ".\iptv\h\iptv.h"
#include".\iptv\Vod_iptv_data_process.h"
#include".\iptv\Vod_Iptv_Ircode.h"
#include".\h\kernel.h"

//暫停和繼續播放測試
#define FAST2NORM    0x01<<0
#define PAUSE2NORM   0x01<<1
#define SLOW2NORM    0x01<<2
#define REALPLAY     1

extern int AUDIF_Set_Volume(UINT8 x);
extern void AUDIF_Set_Channel(int chn);
extern int AUDIF_AutoDownload_Codec(UINT8 chn);
extern int mp4_aud_channel_flg;
extern  UINT32	file_aud_num;
extern UINT32 nGotoPck;
extern BYTE    audioNotContinuous;
extern UINT32	(*file_goto_next_frame)();
extern int	 file_set_audio_stream(int aud_strm_num);
extern int ircmd_sub_picture2(void);
extern void chg2normal_play(UINT8 md,UINT8 realplay);
extern UINT16 Subp_stream_Chg_VOB(UINT8);  
//重啟系統
extern void __boot_entry(); 
//goto時間
extern UINT32 nGotoPck;
extern int disp_time;
extern UINT32 GET_MP4_TIME();

//=============by linson 2008-7-9==============
/*******************************************************************
	關閉電源
********************************************************************/
void vod_ircmd_power(){
	vod_Socket_Disonnect(0);
	vod_Socket_Disonnect(1);
	delay_1ms(100);
	ircmd_power();
}


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

	如果獲得IR紅外遙控碼
	
********************************************************************/
BYTE polling_ir(void)
{

	UINT16 rx;    
	UINT16 unCustId;

	rx = regs0->iop_data[IR_PORT];   


	// ==================below by linson 2008-7-17=================
	//如果系統沒有開通
	if(vod_system_is_activated == VOD_SYSTEM_NOT_ACTIVATED){
		regs0->iop_data[IR_PORT] = rx & (~IR_RDY);  
		return 0;
	}
	
	//如果是收費視頻
	if(vod_isVideo & VOD_VIDEO_Y){
		//收費視頻的通知窗口
		if(vod_video_isCharges ==VOD_VIDEO_CHARGES_NOTICE){
			//if(vod_video_time_waiting_paid >= 100)
			//	vod_video_time_waiting_paid = 0;

			if(vod_video_time_waiting_paid < 80){
				vod_video_time_waiting_paid ++;
			}
			else{
				vod_osd_video_charges_notice();
				vod_video_isCharges = VOD_VIDEO_CHARGES_WAIT_FOR_PAID;
				vod_video_time_waiting_paid = 0;
				//等待用戶確定
				vod_isVideo = (VOD_VIDEO_Y | VOD_VIDEO_Y_CHARGE);	
			}
		}
		//等待用戶確定
		if(vod_video_isCharges ==VOD_VIDEO_CHARGES_WAIT_FOR_PAID){
			if(vod_video_time_waiting_paid < 100)	{		
				vod_video_time_waiting_paid ++;
				if(vod_video_time_waiting_paid == 100){
					//暫停播放
					Pause();
					play_state=VCD_STATE_PAUSE;
					vod_osd_video_display(VOD_VIDEO_PAUSE);
				}				
			}
		}

	}


	
	// ===================above by linson 2008-7-17=================

//===========below當接收到IR 命令時執行=======================
if ((rx & IR_RDY))
    {

	printf_w("IR data:%04x\n",rx);
	// ===================below by linson 2008-7-19===================

	//寫回寄存器,清除前2字節
	regs0->iop_data[IR_PORT] = rx & (~IR_RDY);  
	rx = rx & VOD_IRC_MASK; 

	//如果不是以下系列的遙控器則不執行以下代碼
	unCustId=IOP_IR_DATA();  
	//printf_w("unCustId:%04x\n",unCustId);
	if(!(unCustId == IR_ADDR_PATT_1 )){
		printf_w("unCustId:%04x\n",unCustId);
		return 0;
	}

	
	//如果是在屏保狀態下
	if(vod_osd_direction_moving_scr_saver){
		vod_recovery_from_screen_saver();
		return 1;
	}
	//如果不是在屏保狀態下,屏保時間間隔復位
	vod_osd_time_interval_scr_saver = 0;



	//從遙控器數組中取值
	rx = vod_ir_mapcode_1[rx];
	
	//關機
	if(rx == VOD_IRC_POWER){
		vod_ircmd_power();
		return 1;
	}

	/*
	//屏保
	if(rx == 0x68){
		vod_osd_time_interval_scr_saver = VOD_TIME_INTERVAL_SCR_SAVER ;
		vod_polling_screen_saver();	
	}
	*/

#ifdef HOTEL_IPTV_SYSTEM
	//如果技師IR
	if(vod_technician_ir_handle){
		switch(vod_technician_ir_handle){
			case(VOD_TECHNICIAN_IR_HANDLE_TIME_UP):
				return vod_logo_technician_time_up(rx);
				break;
			case(VOD_TECHNICIAN_IR_HANDLE_ADD):
				return vod_logo_technician_add_service(rx);
				break;
			case(VOD_TECHNICIAN_IR_HANDLE_START):
				return vod_logo_technician_start_service(rx);
				break;
			case(VOD_TECHNICIAN_IR_HANDLE_BOOK_NULL):
				return vod_logo_technician_book_null(rx);
				break;
		}
	}
#endif

	//======如果在播放視頻========
	if(vod_isVideo & VOD_VIDEO_Y){
		return vod_video_ir(rx);
		
	}
	
	//======如果沒有在播放視頻=============
	if(vod_isVideo == VOD_VIDEO_N) {
		//如果是設置IP地址
		if(vod_network_setIP){
			return vod_ir_set_ip(rx);
		}			
		if(vod_logo_ir(rx))
			return 1;		
	}

	return 0;
	
	// ===================above by linson 2008-7-19===================

	
    }

//=============above 當接收到IR 命令時執行======================

	return 0;
}




//=============below by linson 2008-7-30==============

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

	如果在LOGO顯示的狀態下
	
********************************************************************/
BYTE vod_logo_ir(UINT16 rx){

	/*
	//在線更新
	if(rx == VOD_IRC_TEMP1){
		vod_tx_s1_command_init();
		vod_tx_s1_command.bType = REQUEST_FILEINFO_SYSTEM;
		vod_tx_s1_command_filename = "rom.bin";
		vod_tx_s1_state = VOD_TX_SYS_UPDATE;	
		vod_tx_s1_command_queue_push();
	}
	*/
	
	
	
	switch(vod_current_logo){

			case(VOD_LOGO_1): 
				return vod_logo_1(rx);
				break;
			case(VOD_LOGO_11): 
				return vod_logo_11(rx);
				break;
			case(VOD_LOGO_12): 
				return vod_logo_12(rx);
				break;
			case(VOD_LOGO_13): 
				return vod_logo_13(rx);
				break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国偷自产一区二区使用方法| 自拍偷拍欧美精品| 国产精品久久一卡二卡| 视频一区国产视频| 99久久夜色精品国产网站| 日韩一级片在线播放| 亚洲激情av在线| 国产成人无遮挡在线视频| 在线不卡免费av| 亚洲日本va在线观看| 国产成人精品免费看| 欧美mv日韩mv亚洲| 日本美女视频一区二区| 欧美伊人久久久久久久久影院| 中文字幕免费观看一区| 久久国产精品99久久久久久老狼| 色网站国产精品| 国产精品国产三级国产aⅴ原创| 国产又粗又猛又爽又黄91精品| 91精品蜜臀在线一区尤物| 亚洲韩国一区二区三区| 91在线云播放| 亚洲免费高清视频在线| a4yy欧美一区二区三区| 国产精品久久久久久久第一福利| 国产成人av一区二区三区在线| 精品人在线二区三区| 毛片不卡一区二区| 日韩精品一区二区三区中文精品 | 在线观看欧美精品| 亚洲三级在线免费| 99re成人在线| 一区二区三区四区激情| 色婷婷综合久久久中文一区二区| 国产精品久久久久久久裸模| av中文字幕在线不卡| 中文字幕中文字幕在线一区| 一本一道久久a久久精品综合蜜臀| 国产精品国产三级国产普通话蜜臀| 成人不卡免费av| 亚洲美女视频在线| 欧美日韩免费一区二区三区| 亚洲福利国产精品| 91精品婷婷国产综合久久竹菊| 免费欧美在线视频| 亚洲精品一区二区精华| 国产精品99久久久久久有的能看| 国产日韩影视精品| 色哟哟日韩精品| 午夜视频在线观看一区二区| 91精品国产免费| 国产一区二区福利视频| 国产精品高潮呻吟久久| 91国模大尺度私拍在线视频| 日本不卡中文字幕| 日韩欧美国产一二三区| 国产宾馆实践打屁股91| 亚洲欧洲99久久| 欧美三区在线观看| 狠狠色2019综合网| 国产精品久久久久久久久免费桃花 | www.亚洲国产| 亚洲电影你懂得| 日韩欧美国产不卡| 99久久久国产精品免费蜜臀| 视频一区在线播放| 国产日韩精品久久久| 色婷婷综合久久久久中文一区二区| 日韩精品一区第一页| 国产欧美日产一区| 欧美日本乱大交xxxxx| 国产剧情av麻豆香蕉精品| 亚洲宅男天堂在线观看无病毒| 欧美电视剧免费观看| 91久久一区二区| 麻豆一区二区99久久久久| 中文字幕在线不卡一区| 日韩你懂的在线观看| 色悠久久久久综合欧美99| 国内精品国产成人国产三级粉色| 日韩毛片视频在线看| 51久久夜色精品国产麻豆| 成人成人成人在线视频| 精品一区二区免费在线观看| 亚洲成在线观看| 国产女人aaa级久久久级| 欧美区视频在线观看| 北条麻妃一区二区三区| 精品在线观看免费| 成人免费电影视频| 久久99精品国产.久久久久久| 亚洲女人****多毛耸耸8| 国产婷婷精品av在线| 精品久久久久一区| 欧美日韩一区二区三区不卡| 97成人超碰视| 国产黑丝在线一区二区三区| 日韩精品视频网站| 亚洲制服丝袜一区| 中文字幕在线一区| 国产欧美日韩精品a在线观看| 精品毛片乱码1区2区3区 | av男人天堂一区| 国产麻豆9l精品三级站| 日本在线不卡视频| 午夜精品久久久久久久蜜桃app| 国产精品久久久久9999吃药| 久久久久久久久久久久久女国产乱| 91精品国产综合久久久久| 欧美视频中文字幕| 欧美丝袜丝交足nylons图片| 欧美性色欧美a在线播放| 色综合一区二区三区| proumb性欧美在线观看| 大桥未久av一区二区三区中文| 久久99精品国产91久久来源| 理论电影国产精品| 久久99最新地址| 国产美女视频一区| 国产成人免费av在线| 国产成人av影院| av午夜精品一区二区三区| 91视频91自| 欧美丝袜自拍制服另类| 91精选在线观看| 精品日韩一区二区三区免费视频| 日韩视频在线你懂得| 久久久亚洲午夜电影| 中文字幕一区免费在线观看| 亚洲男同性视频| 婷婷六月综合网| 极品销魂美女一区二区三区| 国产精品性做久久久久久| 波多野结衣一区二区三区 | 成人午夜免费视频| 色偷偷88欧美精品久久久| 欧美剧在线免费观看网站| 精品国产一区二区三区久久久蜜月| 久久久久久久久伊人| 亚洲欧美中日韩| 午夜精品免费在线观看| 韩国毛片一区二区三区| 成人av资源网站| 欧美人动与zoxxxx乱| 欧美精品一区二区三区高清aⅴ| 国产欧美日韩久久| 亚洲小说欧美激情另类| 久久99久久精品| 色综合久久久久综合体| 日韩欧美亚洲国产另类| 国产精品看片你懂得| 日本vs亚洲vs韩国一区三区 | 久久综合九色综合97婷婷女人 | 99精品热视频| 日韩亚洲欧美一区二区三区| 国产精品丝袜一区| 天天色天天爱天天射综合| 国产电影一区二区三区| 欧美日韩高清一区| 亚洲国产精品v| 日韩av一区二区三区| 成人一区二区三区中文字幕| 精品视频免费在线| 中文字幕av不卡| 日韩**一区毛片| 色偷偷成人一区二区三区91| 亚洲精品一区二区三区蜜桃下载| 亚洲一区电影777| 成人av在线资源网| 日韩欧美123| 午夜视频久久久久久| 99精品国产热久久91蜜凸| 欧美精品一区二区三区蜜桃| 亚洲成人一区二区| 91社区在线播放| 国产精品三级av| 国产一区二区三区日韩| 91麻豆精品久久久久蜜臀| 樱桃视频在线观看一区| 成人av在线影院| 久久久久久综合| 蜜臀av一级做a爰片久久| 欧美久久久久久久久中文字幕| 亚洲欧美日韩国产另类专区| 成人深夜福利app| 国产蜜臀97一区二区三区| 国产中文字幕一区| 欧美一区二区精品在线| 婷婷六月综合网| 欧美日韩视频第一区| 一区二区欧美视频| 93久久精品日日躁夜夜躁欧美| 国产精品久久久久久久久免费相片| 国产一区二区三区不卡在线观看| 欧美mv日韩mv| 国产一区二区三区久久悠悠色av| 2021久久国产精品不只是精品| 老司机午夜精品| www激情久久| 国产91综合网|