亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲欧美中日韩| 国产老肥熟一区二区三区| 国产一区在线看| 欧美日韩精品一区二区三区蜜桃| 亚洲视频图片小说| 9191国产精品| 蜜桃av一区二区在线观看| 日韩精品一区二区三区视频在线观看 | 大陆成人av片| 亚洲丝袜另类动漫二区| 国产欧美精品一区| 欧美亚洲禁片免费| 精品无码三级在线观看视频 | 久久精品在线观看| 一本久久综合亚洲鲁鲁五月天| 亚洲另类在线一区| 欧美一区二区性放荡片| 91香蕉视频黄| 九色综合狠狠综合久久| 国内精品免费在线观看| 亚洲第一综合色| 国产日韩精品久久久| 国产精品人成在线观看免费| 欧美电影影音先锋| 色综合久久久久综合| 在线观看免费亚洲| 成人av在线网| 久久国产夜色精品鲁鲁99| 最新欧美精品一区二区三区| 亚洲视频1区2区| 午夜精品一区在线观看| 国产精品乱子久久久久| 亚洲一区二区三区免费视频| 国产精品丝袜一区| ...av二区三区久久精品| 婷婷综合另类小说色区| 国产综合一区二区| 欧美性videosxxxxx| 久久这里只有精品视频网| 777a∨成人精品桃花网| 亚洲国产激情av| 欧美国产国产综合| 亚洲一区二区三区激情| 国产另类ts人妖一区二区| 色婷婷av一区| 久久久久久亚洲综合| 精品国精品国产| 日韩你懂的电影在线观看| 综合久久综合久久| 国内精品伊人久久久久av影院| 91久久精品一区二区三区| 色婷婷亚洲综合| 久久精品男人的天堂| 精品制服美女丁香| 91精品福利在线| 国产精品久久久久久久久久久免费看 | 加勒比av一区二区| 欧美日韩日日骚| 69精品人人人人| 一区二区三区在线视频免费 | 久久99久久精品| 欧美性xxxxxx少妇| 亚洲精品免费在线播放| 国产成人精品一区二区三区四区| 国产91精品一区二区麻豆网站| 国产成人av一区二区| 日韩精品一区二区三区视频 | 国产一区高清在线| 欧美大片在线观看| 蜜臀91精品一区二区三区| 欧美日韩一区二区在线观看视频| 国产精品的网站| av日韩在线网站| 欧美人xxxx| 婷婷综合久久一区二区三区| 欧美剧情片在线观看| 亚洲va国产天堂va久久en| 91成人免费网站| 亚洲国产人成综合网站| 精品一区二区影视| 精品电影一区二区| 国产精品456| 中文字幕欧美一区| 色噜噜狠狠一区二区三区果冻| 国产日韩欧美在线一区| 成人一区在线看| 国产精品国产精品国产专区不片| jizz一区二区| 亚洲电影第三页| 日韩亚洲国产中文字幕欧美| 日本一区二区久久| 波多野结衣中文一区| 亚洲精品第1页| 欧美日韩的一区二区| 久久91精品国产91久久小草 | 一区二区三区.www| 日本高清不卡一区| 日韩中文欧美在线| 99精品视频一区| 久久亚洲欧美国产精品乐播| 国产精品1区2区3区在线观看| 中文字幕不卡在线| 欧美日韩精品是欧美日韩精品| 日韩精品国产精品| 国产精品色噜噜| 欧美日韩精品久久久| 国产精品乡下勾搭老头1| 亚洲精品一二三| 日韩欧美在线网站| av激情亚洲男人天堂| 蜜臀av性久久久久av蜜臀妖精| 欧美激情一区二区三区蜜桃视频| 色噜噜久久综合| 国产麻豆成人传媒免费观看| 亚洲欧美色图小说| 99精品视频一区二区| 石原莉奈一区二区三区在线观看| 久久一留热品黄| 欧美日韩一区二区在线观看视频 | 亚洲男人天堂av网| 2023国产精华国产精品| 色综合久久久久久久| 国产一区欧美一区| 亚洲电影在线免费观看| 国产精品美女久久久久久2018| 91精品国产免费| 欧美性极品少妇| 99久久精品国产网站| 精品一区二区综合| 日韩高清一级片| 欧美一级视频精品观看| 色一情一乱一乱一91av| 国产福利不卡视频| 国精产品一区一区三区mba桃花 | 粉嫩一区二区三区性色av| 日本va欧美va精品发布| 欧美草草影院在线视频| 激情综合色综合久久| 亚洲一区二区三区视频在线| 国产精品国产精品国产专区不蜜 | 欧美激情一区二区三区不卡| 欧美一区永久视频免费观看| 91免费观看视频在线| 国产精品1024| 国产91精品在线观看| 国产一区二区女| 国精产品一区一区三区mba视频 | 国产精品白丝av| 日韩成人午夜精品| 亚洲成人免费视频| 亚洲制服丝袜一区| 亚洲国产美女搞黄色| 亚洲精品中文在线观看| 亚洲图片欧美激情| 亚洲黄色av一区| 亚洲激情一二三区| 一级女性全黄久久生活片免费| 亚洲精品国产成人久久av盗摄| 中文字幕精品三区| 亚洲日本在线天堂| 亚洲日本丝袜连裤袜办公室| 中文字幕一区二区三区在线观看| 中文字幕一区在线观看视频| 亚洲色图清纯唯美| 亚洲综合自拍偷拍| 丝袜美腿亚洲综合| 成人激情免费视频| 国产福利精品导航| 日本久久电影网| 欧美性猛交xxxx黑人交| 欧美日韩国产a| 91精品国产高清一区二区三区蜜臀 | 日韩不卡一二三区| 精品亚洲成a人在线观看| 国产精品中文字幕日韩精品| 不卡高清视频专区| 欧美日韩国产精选| 日韩欧美一级二级| 中文字幕+乱码+中文字幕一区| 亚洲色图另类专区| 欧美a级理论片| 成人午夜伦理影院| 欧美三级中文字幕在线观看| 欧美一区二区三区影视| 日本一二三不卡| 午夜精品久久久久久久蜜桃app| 精品一区二区三区在线观看| 成人一区二区三区视频在线观看 | 91丝袜美女网| 日韩一区二区免费高清| 国产精品水嫩水嫩| 日韩精品乱码av一区二区| 国产成人av影院| 欧美日韩1234| 中文字幕欧美三区| 美国十次综合导航| 一本久久a久久精品亚洲| 久久综合久久综合亚洲| 亚洲国产一二三| 99国产精品99久久久久久|