⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ir_drv.c

📁 凌阳8202T的红外接收代码及LED屏的驱动代码
💻 C
📖 第 1 页 / 共 5 页
字号:
		return 0;
	}
	//返回键,或GOTO键
	if(rx == VOD_IRC_NOVEL_CHANGE_PIC){
		vod_isVideo = VOD_VIDEO_Y;
		vod_osd_video_display_clear();
		return 0;
	}
	return 0;
}
/*******************************************************************
	是否要观看收费的视频
********************************************************************/
BYTE vod_video_ir_ischarge(UINT16 rx){

	vod_program_t * program_header = (vod_program_t *)(vod_movie_bufstart+ VOD_SERVER_HEADER);

	//按键'OK'
	if(rx == VOD_IRC_CONFIRM){
		vod_video_isCharges = VOD_VIDEO_CHARGES_PAID;
		vod_video_time_waiting_paid = 0;

		//向服务器发送收费命令
		//收费方式,按节目收费
		if(vod_video_charge_method == VOD_VIDEO_CHARGE_BY_PROGRAM){
			vod_tx_s1_command.bType = REQUEST_VOD_START;
			vod_tx_s1_command_filename = vod_tx_s0_command_filename;
			//价格
			vod_tx_s1_command.request_file.dwNumber = (program_header+vod_program_search_result[vod_current_page*6+vod_current_button_right+1])->bPrice;

			vod_tx_s1_state = VOD_TX_VIDEO_CHARGE_START;
			vod_tx_s1_command_queue_push();	
			
		}
		//收费方式,按时间收费
		else{
			//vod_video_isCharges = VOD_VIDEO_CHARGES_PAID;
			//向服务器发送已经收看视频通知
			vod_tx_s1_command.bType = REQUEST_VOD_START;
			vod_tx_s1_command_filename = vod_tx_s0_command_filename;
			//价格
			vod_tx_s1_command.request_file.dwNumber = (program_header+vod_program_search_result[vod_current_page*6+vod_current_button_right+1])->bPrice;

			vod_tx_s1_state = VOD_TX_VIDEO_CHARGE_START;
			vod_tx_s1_command_queue_push();		
		}
		
		//	清除收费通知
		vod_osd_video_charges_clear();
		//	如果已经是暂停状态
		if(play_state == VCD_STATE_PAUSE){
			//Continue();
			chg2normal_play(FAST2NORM|PAUSE2NORM|SLOW2NORM,REALPLAY);
			play_state=VCD_STATE_NORMAL;
			vod_osd_video_display(VOD_VIDEO_PAUSE);
		}	
		vod_isVideo = VOD_VIDEO_Y;	
		return 1;
	}
	//返回
	if(rx == VOD_IRC_RETURN){
		vod_video_time_waiting_paid = 0;
		// 停止播放
		AVD_SetMediaInterrupt();			
		vod_video_play_state = VOD_VIDEO_STOP;	
		vod_isVideo = VOD_VIDEO_N;	
		return 1;
	}
	return 0;

}
/*******************************************************************
	是否要退出视频
********************************************************************/
BYTE vod_video_ir_isexit(UINT16 rx){
	//按键'OK'
	if(rx == VOD_IRC_CONFIRM){
		//vod_video_isCharges = VOD_VIDEO_CHARGES_FREE;
		vod_video_time_waiting_paid = 0;

		// 停止播放
		AVD_SetMediaInterrupt();			
		vod_video_play_state = VOD_VIDEO_STOP;	
		vod_isVideo = VOD_VIDEO_N;	
		
		return 1;
	}
	//返回
	if(rx == VOD_IRC_RETURN){
		//清空询问框
		vod_osd_video_isexit_clear();
		vod_isVideo = VOD_VIDEO_Y;	
		return 0;
	}
	return 0;

}

/*************************************************************
	酒店首页logo1
**************************************************************/
BYTE vod_logo_1(UINT16 rx){

#ifdef HOTEL_IPTV_SYSTEM
	
	//按键'返回'
	if(rx == VOD_IRC_RETURN){	
		vod_osd_return_hotel_system();
		vod_current_logo = VOD_LOGO_RETURN_HOTEL_SYSTEM;
		return 1;
	}
	
#endif
	

	//进入设置页面
	if(rx == VOD_IRC_SETUP){
		//清空1区域
		osd_ClearOneRegion(1,0);
		vod_current_logo = VOD_LOGO_PASSWORD;
		//清空密码
		memset(vod_password_value,0xff,VOD_PASSWORD_LENGTH_MAX);
		//显示密码输入框
		vod_osd_password_input();

		return 1;
	}	

	
	//按键1
	if(rx == VOD_IRC_1){			
		vod_current_button_left = VOD_BUTTON_1;
		vod_switch_logo(VOD_LOGO_11);
		return 0;
	}
	//按键2
	if(rx == VOD_IRC_2){
		vod_current_button_left = VOD_BUTTON_2;
		vod_switch_logo(VOD_LOGO_12);
		return 0;
	}
	//按键3
	if(rx == VOD_IRC_3){	
		vod_current_button_left = VOD_BUTTON_3;
		vod_switch_logo(VOD_LOGO_13);
		return 0;
	}
	//按键4
	if(rx == VOD_IRC_4){	
		vod_current_button_left = VOD_BUTTON_4;
		vod_switch_logo(VOD_LOGO_14);
		return 0;
	}
	//按键5
	if(rx == VOD_IRC_5){
		vod_current_button_left = VOD_BUTTON_5;
		vod_switch_logo(VOD_LOGO_15);
		return 0;
	}
	//按键6
	if(rx == VOD_IRC_6){			
	}

	/*
	//设置菜单
	if(rx == 0x9a){
		ircmd_setup();
		vod_current_logo = VOD_LOGO_SETUP;
		return 0;
	}
	*/

	//按键‘上’
	if(rx == VOD_IRC_UP){	
		if(vod_current_button_left <=VOD_BUTTON_1)			
			return 0;
		vod_current_button_left   --;
	
		//画左部选定框
		vod_logo_draw_checkbox(0);
		return 0;
	}
	//按键‘下’
	if(rx == VOD_IRC_DOWN){	
		if(vod_current_button_left >= VOD_BUTTON_5)
			return 0;
		vod_current_button_left  ++;

		//画左部选定框
		vod_logo_draw_checkbox(0);
		return 0;
	}

	//按键'OK'
	if(rx == VOD_IRC_CONFIRM){	
		vod_switch_logo(vod_current_button_left+1);
	}
	return 0;
}

#if 0
/*************************************************************
	酒店介绍logo11
**************************************************************/
BYTE vod_logo_11(UINT16 rx){
	
	//按键1
	if(rx == VOD_IRC_1){ 

		vod_current_button_left = VOD_BUTTON_1;
		
		//画左部选定框
		vod_logo_draw_checkbox(0);	
		
		//画framebuf图		
		vod_logo_11_draw_BMP();



		return 0;
	}
	//按键2
	if(rx == VOD_IRC_2){	
		vod_current_button_left = VOD_BUTTON_2;		

		//画左部选定框
		vod_logo_draw_checkbox(0);	
		
		//画framebuf图		
		vod_logo_11_draw_BMP();



		
	}
	//按键3
	if(rx == VOD_IRC_3){	
	}
	//按键4
	if(rx == VOD_IRC_4){			
	}
	//按键5
	if(rx == VOD_IRC_5){
	}
	//按键6
	if(rx == VOD_IRC_6){			
	}
	//按键7
	if(rx == VOD_IRC_7){		
		vod_current_button_left = VOD_BUTTON_7;
		//画OSD位图
		BYTE i = 0;
		//BYTE size = *((UINT32 *)(vod_osd_bufstart+VOD_SERVER_HEADER));

		vod_osd_datastart = (BYTE *)(vod_osd_bufstart+VOD_SERVER_HEADER+(vod_osd_header+i)->bufstart );
		coordinate start ;
		dimension dim;
		start.x = 100;
		start.y = 52+20;
		dim.x_length = (vod_osd_header+i)->width;
		dim.y_length = (vod_osd_header+i)->height;

		vod_draw_osd_bmp(vod_osd_datastart+16*4, &start, &dim);
		printf_w("#####(vod_osd_header+i)->width = %d\n",(vod_osd_header+i)->width);
		printf_w("#####(vod_osd_header+i)->height = %d\n",(vod_osd_header+i)->height);
		printf_w("######(vod_osd_header+i)->bufstart= %x\n",(vod_osd_header+i)->bufstart);			

	}
	//按键8
	if(rx == VOD_IRC_8){	
		vod_current_button_left = VOD_BUTTON_8;
		//画出所有的framebuf图
		BYTE i;
		BYTE size = vod_framebufBMP_type_header->bmp_size;

		for(i = 0;i < size; i++){
			vod_framebufBMP_header = (vod_framebufBMP_header_t *)vod_framebufBMP_type_header->type_bufstart;
			
			coordinate start = (vod_framebufBMP_header+i)->start;
			dimension dim= (vod_framebufBMP_header+i)->dim;
			
			vod_framebufBMP_datastart = (BYTE *)(vod_framebufBMP_type_bufstart+VOD_SERVER_HEADER+(vod_framebufBMP_header+i)->bufstart );
			vod_framebuf_draw( vod_framebufBMP_datastart, start , dim);
			printf_w("#####(vod_framebufBMP_header+i)->dim.x_length = %d\n", (vod_framebufBMP_header+i)->dim.x_length);
			printf_w("#####(vod_framebufBMP_header+i)->dim.y_length = %d\n", (vod_framebufBMP_header+i)->dim.y_length);
			printf_w("#####(vod_framebufBMP_header+i)->bufstart = %d\n", (vod_framebufBMP_header+i)->bufstart);
		}

		return 0;
	}
	//按键9
	if(rx == VOD_IRC_9){
	}
	//返回
	if(rx == VOD_IRC_RETURN){
		//返回上一页
		vod_switch_logo(VOD_LOGO_1);

		return 0;
	}
	
	//按键0
	if(rx == VOD_IRC_0){
		//播放视频
		if(vod_current_button_left > 2)
			vod_tx_s0_command_filename = logo11_filename[0];
		else
			vod_tx_s0_command_filename = logo11_filename[vod_current_button_left];
		//vod_tx_s1_state = VOD_TX_VIDEO;
		vod_tx_s0_state = VOD_TX_VIDEO;
		vod_isVideo = VOD_VIDEO_Y;

		return 1;
	}

	//按键‘上’
	if(rx == VOD_IRC_UP){	
		if(vod_current_button_left <=VOD_BUTTON_1)
			return 0;
		vod_current_button_left   --;

		//画左部选定框
		vod_logo_draw_checkbox(0);
		//画framebuf图		
		vod_logo_11_draw_BMP();
		
		return 0;
	}
	//按键‘下’
	if(rx == VOD_IRC_DOWN){	
		if(vod_current_button_left >= VOD_BUTTON_3)
			return 0;
		vod_current_button_left  ++;

		//画左部选定框
		vod_logo_draw_checkbox(0);
		//画framebuf图		
		vod_logo_11_draw_BMP();
		
		return 0;
	}
	return 0;
}



/***************************************************
	在vod_logo_11中画framebuf图
******************************************************/
void vod_logo_11_draw_BMP(){
	//画framebuf图
	//第几类别的图像
	BYTE * framebufBMP_type_data_start_temp =(BYTE *) (vod_framebufBMP_type_bufstart+VOD_SERVER_HEADER+vod_framebufBMP_type_header->type_bufstart ) ;
	vod_framebufBMP_header = (vod_framebufBMP_header_t *)(framebufBMP_type_data_start_temp+0x04);
	//printf_w("########vod_framebufBMP_type_header->type_bufstart address = %xHH\n",vod_framebufBMP_type_header->type_bufstart);
	
	coordinate start = (vod_framebufBMP_header+vod_current_button_left)->start;
	dimension dim= (vod_framebufBMP_header+vod_current_button_left)->dim;
	//第几张图像
	vod_framebufBMP_datastart = (BYTE *)(framebufBMP_type_data_start_temp + (vod_framebufBMP_header+vod_current_button_left)->bufstart );
	//printf_w("########vod_framebufBMP_datastart address = %xHH\n",vod_framebufBMP_datastart);
	
	
	vod_framebuf_draw( vod_framebufBMP_datastart, start , dim);
	printf_w("#####( (vod_framebufBMP_header+vod_current_button_left)-)->width = %d\n", (vod_framebufBMP_header+vod_current_button_left)->dim.x_length);
	printf_w("#####( (vod_framebufBMP_header+vod_current_button_left)-)->height = %d\n", (vod_framebufBMP_header+vod_current_button_left)->dim.y_length);
	printf_w("#####( (vod_framebufBMP_header+vod_current_button_left)-)->bufstart = %x\n", (vod_framebufBMP_header+vod_current_button_left)->bufstart);
	//delay_1ms(1000);
}


/*************************************************************
	酒店服务logo12
**************************************************************/
BYTE vod_logo_12(UINT16 rx){
	//按键1
	if(rx == VOD_IRC_1){
		vod_current_button_left = VOD_BUTTON_1;

		//画左部选定框
		vod_logo_draw_checkbox(0);
	
		//画framebuf 图
		vod_logo_12_draw_BMP();
			
		return 0;
	}
	//按键2
	if(rx == VOD_IRC_2){	
		vod_current_button_left = VOD_BUTTON_2;

		//画左部选定框
		vod_logo_draw_checkbox(0);
	
		//画framebuf 图
		vod_logo_12_draw_BMP();
	}
	//按键3
	if(rx == VOD_IRC_3){			
	}
	//按键4
	if(rx == VOD_IRC_4){			
	}
	//按键5
	if(rx == VOD_IRC_5){			
	}
	//按键6
	if(rx == VOD_IRC_6){			
	}
	//按键7
	if(rx == VOD_IRC_7){			
	}
	//按键8
	if(rx == VOD_IRC_8){			
	}
	//按键9
	if(rx == VOD_IRC_9){
	}
	//按键0
	if(rx == VOD_IRC_0){
	}	
	//返回
	if(rx == VOD_IRC_RETURN){
		//返回上一页
		vod_switch_logo(VOD_LOGO_1);

		return 0;
	}


	//按键‘上’
	if(rx == VOD_IRC_UP){	
		if(vod_current_button_right == VOD_BUTTON_NULL){
			if(vod_current_button_left <= VOD_BUTTON_1)
				return 0;

			vod_current_button_left   --;		
			//页数清0
			vod_current_page = 0;
			
			//画左部选定框
			vod_logo_draw_checkbox(0);
			//画6张小BMP图
			vod_logo_12_draw_BMP();	
		}
		else{
			if(vod_current_button_right <= VOD_BUTTON_3)
				return 0;
					
			vod_current_button_right -= 3;
			if(vod_current_button_right >=VOD_BUTTON_7)
				vod_current_button_right = VOD_BUTTON_6;
			//画右部选定框
			vod_logo_draw_checkbox(1);
		}
		
	}
	//按键‘下’
	if(rx == VOD_IRC_DOWN){	
		if(vod_current_button_right == VOD_BUTTON_NULL){
			if(vod_current_button_left >= VOD_BUTTON_7)
				return 0;

			vod_current_button_left   ++;	
			//页数清0
			vod_current_page = 0;
			
			//画左部选定框
			vod_logo_draw_checkbox(0);		
			//画6张小BMP图
			vod_logo_12_draw_BMP();	
		}
		else{
			if(vod_current_button_right >=VOD_BUTTON_6){
				vod_current_button_right = VOD_BUTTON_8;
				//画右部选定框
				vod_logo_draw_checkbox(1);
			}
			else{
				vod_current_button_right += 3;				
				//画右部选定框
				vod_logo_draw_checkbox(1);
			}
		}
	}
	//按键‘左’
	if(rx == VOD_IRC_LEFT){	
		if(vod_current_button_right != VOD_BUTTON_NULL){
			if(vod_current_button_right == VOD_BUTTON_1||
				vod_current_button_right == VOD_BUTTON_4){

				vod_current_button_right = VOD_BUTTON_NULL;
				//清除右部的'选定框';
				vod_osd_clear_checkbox(  1 );				
				//画左部选定框
				vod_osd_draw_checkbox( 0  );				
			}
			else{
				vod_current_button_right --;	
				//画右部选定框
				vod_logo_draw_checkbox(1);
			}
		}
		return 0;
	}
	//按键‘右’
	if(rx == VOD_IRC_RIGHT){		
		if(vod_current_button_right == VOD_BUTTON_NULL){

			vod_current_button_right = VOD_BUTTON_1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -