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

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

?? r2d_task_i_epson.c

?? MMI層OBJ不能完全編譯
?? C
字號:
#include "r2d/lcds/i_sample/r2d_tfd_lcd.h"
#include "rvm/rvm_use_id_list.h"
#include "r2d/lcds/i_sample/lcd_if.h"
#include "dma/dma_api.h"
#include "dma/dma_message.h"
#include "r2d/lcds/i_sample/r2d_lcd_dma.h"

UINT16 tab_temp[264+1];


#ifdef R2D_USE_LCD_DMA

extern T_RVF_ADDR_ID		 r2d_addr_id;
volatile UINT8				 r2d_lcd_dma_ok					= 1;
T_DMA_CHANNEL				 r2d_lcd_dma_channel;
T_DMA_CHANNEL_PARAMETERS r2d_lcd_dma_channel_info;
UINT32						 r2d_lcd_dma_bytes_to_transfer	= 0;
volatile T_R2D_LCD_DMA_STATE r2d_lcd_dma_state				= R2D_LCD_DMA_UNINITILISED;

void r2d_dma_callback(void *response);
static E_LCD_IF_CALLBACK_RET f_lcd_if_dummy_callback (void);

#endif


void r2d_lcd_power_on(void)
{
}

void r2d_lcd_power_off(void)
{
}

void r2d_refresh(void)
{
	UINT16 i,j;
	
#ifndef _WINDOWS
	
	UINT32 v;
	UINT16 r,g,b; // Red, Green, Blue
	UINT16 ind;
	UINT16 command;
	UINT32  *p;
	
#ifdef R2D_USE_LCD_DMA
	UINT16 received_event;
	
#endif
	
	p=r2d_g_framebuffer->p_memory_words;
	
#if (R2D_REFRESH == R2D_HORIZONTAL)
    rvf_send_trace("R2D REFRESH",strlen("R2D REFRESH"), NULL_PARAM,
		RV_TRACE_LEVEL_DEBUG_HIGH, R2D_USE_ID );
	
	command = LCD_DISNOR;
	f_lcd_if_poll_write(C_LCD_IF_CS0, &(command), 1, C_LCD_IF_INSTRUCTION);
	
	command = LCD_RAMWR;
	f_lcd_if_poll_write(C_LCD_IF_CS0, &(command), 1, C_LCD_IF_INSTRUCTION);
	
	
	for(j=0;j<220;j++)
	{
		ind=0;
		for (i=0;i<88;i++) // 2 pixels managed in the loop
		{
			
			v= *p++;
			v=~v;
			
			r=(UINT16)(v&0x0000F800); // 5 bits
			r=r>>8;
			
			g=(UINT16)(v&0x000007E0); // 6 bits
			g=g<<5;
			
			tab_temp[ind++]= (r|g);
			
			b=(UINT16)(v&0x0000001F); // 5 bits
			b=b<<3;
			
			
			v=v>>16;
			
			r=(UINT16)(v&0x0000F800); // 5 bits
			
			tab_temp[ind++]= (b | r);
			
			
			g=(UINT16)(v&0x000007E0); // 6 bits
			g=g>>3;
			
			b=(UINT16)(v&0x0000001F); // 5 bits
			b=b<<11;
			
			tab_temp[ind++]= (b | g);
			
		}
		p++;
		
#ifdef R2D_USE_LCD_DMA
		if(r2d_lcd_dma_ok == 1)
		{
			UINT8 nmb_frames;
			r2d_lcd_dma_bytes_to_transfer = 264 *2;
			nmb_frames = r2d_lcd_dma_bytes_to_transfer / (C_LCD_IF_TX_FIFO_SIZE * sizeof (UINT16));
			r2d_lcd_dma_channel_info.source_address = (UINT32)&(tab_temp[0]);
			r2d_lcd_dma_channel_info.nmb_frames = (nmb_frames ? nmb_frames : 1);
			r2d_lcd_dma_channel_info.nmb_elements =
				((C_LCD_IF_TX_FIFO_SIZE * sizeof (UINT16)) < r2d_lcd_dma_bytes_to_transfer) 
				? (C_LCD_IF_TX_FIFO_SIZE ) : r2d_lcd_dma_bytes_to_transfer / 2;
						
			dma_set_channel_parameters (r2d_lcd_dma_channel, &r2d_lcd_dma_channel_info);
			
         /* Wait till we get event from dma callback  */
			for(;;)
			{
				received_event = rvf_wait ( EVENT_MASK(RVF_APPL_EVT_1), 0);
				if(received_event & EVENT_MASK(RVF_APPL_EVT_1))
				{
					if(r2d_lcd_dma_state == R2D_LCD_DMA_IDLE
						|| r2d_lcd_dma_state == R2D_LCD_DMA_ERROR )
					{
						break;
					}
				}
			}
		}
		else
		{
			rvf_send_trace("R2D DMA_DISABLED",strlen("R2D DMA_DISABLED"), NULL_PARAM,
				RV_TRACE_LEVEL_DEBUG_HIGH, R2D_USE_ID );
			
			f_lcd_if_poll_write(C_LCD_IF_CS0, &(tab_temp[0]), 264, C_LCD_IF_DISPLAY);
		}
#else // !USE_LCD_DMA
		
		f_lcd_if_poll_write(C_LCD_IF_CS0, &(tab_temp[0]), 264, C_LCD_IF_DISPLAY);
		
#endif // USE_LCD_DMA
		
	}
	
#endif
#endif
	
}

#ifdef R2D_USE_LCD_DMA

void r2d_dma_callback(void *response)
{
	T_DMA_STATUS_RSP_MSG *dma_status_rsp_msg = (T_DMA_STATUS_RSP_MSG *)response;

	switch(dma_status_rsp_msg->result.status)
	{
		
	case DMA_RESERVE_OK:
		r2d_lcd_dma_channel = dma_status_rsp_msg->result.channel;
		r2d_lcd_dma_state = R2D_LCD_DMA_IDLE;
		break;
		
	case DMA_PARAM_SET:
		r2d_lcd_dma_state = R2D_LCD_DMA_CHANNEL_PARAM_SET;
		f_lcd_if_dma_enable(C_LCD_IF_CS0,0,C_LCD_IF_DISPLAY);
		break;
		
	case DMA_COMPLETED:
	{
		UINT16 bytes_transfered =  ( r2d_lcd_dma_channel_info.nmb_elements
											* r2d_lcd_dma_channel_info.nmb_frames
											* 2);
		f_lcd_if_dma_disable(C_LCD_IF_CS0,f_lcd_if_dummy_callback);	
		
		if(r2d_lcd_dma_state == R2D_LCD_DMA_CHANNEL_PARAM_SET)
		{
			r2d_lcd_dma_state = R2D_LCD_DMA_IDLE;	
			r2d_lcd_dma_bytes_to_transfer -= bytes_transfered;
			
			if(r2d_lcd_dma_bytes_to_transfer > 0)
			{
				r2d_lcd_dma_channel_info.source_address = ((UINT32)&(tab_temp[0])) + bytes_transfered;				
				r2d_lcd_dma_channel_info.nmb_frames = 1;
				r2d_lcd_dma_channel_info.nmb_elements = r2d_lcd_dma_bytes_to_transfer / 2 ;
				dma_set_channel_parameters (r2d_lcd_dma_channel, &r2d_lcd_dma_channel_info);		
			}
			else
			{
				rvf_send_event( r2d_addr_id,EVENT_MASK(RVF_APPL_EVT_1));
			}
			break;
		}			
	}
	case DMA_NO_CHANNEL:
	case DMA_TOO_MANY_REQUESTS:
	case DMA_INVALID_PARAMETER:
	case DMA_NOT_READY:
	case DMA_MEMORY_ERROR:
	case DMA_ACTION_NOT_ALLOWED:
	case DMA_CHANNEL_BUSY:
	case DMA_QUEUED:
	case DMA_TIMEOUT_SOURCE:
	case DMA_TIMEOUT_DESTINATION:
	case DMA_MISS_EVENT:
	default:

		r2d_lcd_dma_ok = 0;
		r2d_lcd_dma_state = R2D_LCD_DMA_ERROR;
		rvf_send_trace("R2D DMA_ERROR",strlen("R2D DMA_ERROR"),dma_status_rsp_msg->result.status ,
			RV_TRACE_LEVEL_DEBUG_HIGH, R2D_USE_ID );			
		rvf_send_event( r2d_addr_id,EVENT_MASK(RVF_APPL_EVT_1));		
		break;
	} /* switch dma_status_rsp_msg->result.status */

	rvf_free_buf(response);
	return;
}

static E_LCD_IF_CALLBACK_RET
f_lcd_if_dummy_callback (void)
{
	/* nothing */
	return 0;
}

#endif /* USE_LCD_DMA  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿亚洲一区二区图片| 亚洲主播在线播放| 欧美成人女星排名| 欧美一区二区免费| 久久久91精品国产一区二区精品| 国产色一区二区| 中文字幕av一区 二区| 亚洲一区自拍偷拍| 麻豆91在线观看| 成人午夜电影久久影院| 色婷婷激情一区二区三区| 欧美一区二区福利在线| 欧美电影影音先锋| 国产精品私人影院| 天天综合日日夜夜精品| 丁香桃色午夜亚洲一区二区三区| 色94色欧美sute亚洲13| 久久美女艺术照精彩视频福利播放 | 国产成人av一区二区| 色婷婷综合久久久久中文一区二区 | 久久一区二区三区四区| 亚洲视频网在线直播| 国产在线精品一区二区夜色| 在线观看国产精品网站| 国产精品欧美极品| 国产在线精品一区二区三区不卡 | 成人欧美一区二区三区| 日本vs亚洲vs韩国一区三区二区| www.成人网.com| 国产精品天天摸av网| 韩国欧美国产一区| 精品国偷自产国产一区| 免费人成精品欧美精品| 91精品在线观看入口| 日韩极品在线观看| 日韩视频一区二区三区在线播放| 日韩中文字幕亚洲一区二区va在线| 色综合久久久久久久久久久| 亚洲女同一区二区| 欧美日韩在线观看一区二区| 亚洲与欧洲av电影| 88在线观看91蜜桃国自产| 日本伊人色综合网| 精品国产免费人成电影在线观看四季| 蜜臀va亚洲va欧美va天堂| 国产精品嫩草影院av蜜臀| 久久精品国产99国产精品| 337p日本欧洲亚洲大胆精品| 国产美女一区二区三区| 国产精品传媒入口麻豆| 欧美午夜电影网| 精品一区二区免费| 一区在线观看免费| 91精品国产综合久久福利软件| 日韩av一级电影| 国产精品免费人成网站| 欧美高清视频不卡网| 国产sm精品调教视频网站| 亚洲午夜一二三区视频| 国产亚洲一二三区| 3atv在线一区二区三区| av成人动漫在线观看| 久久精品国产免费看久久精品| 中文字幕一区二区三| 日韩一本二本av| 欧美日韩一区二区三区视频| 成年人午夜久久久| 狠狠色狠狠色综合系列| 亚洲一区二区三区不卡国产欧美| 久久人人超碰精品| 日韩精品专区在线影院观看| 亚洲精品一区二区三区影院| 欧美一区三区四区| 欧美日韩在线一区二区| 久久精品人人做人人综合| 日韩一区二区三区视频在线| 国产日本一区二区| 26uuu久久综合| 91精品国产乱| 精品1区2区在线观看| 日韩一区二区免费电影| 9191国产精品| 日韩三级精品电影久久久| 欧美三日本三级三级在线播放| 色婷婷综合激情| 久久久久国产一区二区三区四区| 91精品国产色综合久久不卡蜜臀| 91免费国产在线观看| 欧美—级在线免费片| 91激情五月电影| 日本中文字幕一区二区有限公司| 日韩综合小视频| 亚洲午夜久久久久| 韩国女主播一区二区三区| caoporn国产一区二区| 欧美乱熟臀69xxxxxx| 日韩一区二区在线播放| 亚洲欧洲精品一区二区三区| 亚洲成av人片观看| 国产高清视频一区| 91精品国产欧美一区二区成人| 国产亚洲一区字幕| 青青草原综合久久大伊人精品优势| 久久99国产精品麻豆| 欧美日韩国产另类不卡| 国产日本欧洲亚洲| 麻豆成人免费电影| 欧美视频一区二区三区四区| 中文字幕乱码亚洲精品一区| 国内精品嫩模私拍在线| 欧美色爱综合网| 亚洲成人精品影院| 99精品视频在线观看| 国产精品妹子av| 欧美伊人久久大香线蕉综合69| 亚洲一区免费在线观看| 欧美日韩1234| 九色|91porny| 久久亚洲二区三区| 久久色中文字幕| 午夜久久久久久| 91精品国产综合久久精品app| 亚洲欧洲精品一区二区三区不卡| 欧美日本国产一区| 在线综合+亚洲+欧美中文字幕| www国产成人免费观看视频 深夜成人网| 这里是久久伊人| 亚洲一二三区在线观看| 不卡一区中文字幕| 久久精品亚洲麻豆av一区二区 | 亚洲黄色尤物视频| 国产麻豆视频一区二区| 欧美日韩国产色站一区二区三区| 国产精品美女久久福利网站| a级精品国产片在线观看| 亚洲日本青草视频在线怡红院| 欧美日韩国产另类一区| 免费久久精品视频| 国产亚洲精品bt天堂精选| 国产二区国产一区在线观看| 国产精品乱子久久久久| 欧美日韩综合色| 韩国女主播一区| 亚洲精品免费在线播放| 欧美精品电影在线播放| 韩国av一区二区三区| 亚洲蜜桃精久久久久久久| 欧美亚洲国产怡红院影院| 狠狠久久亚洲欧美| 一区二区三区中文在线| 精品久久久久一区| 日本精品视频一区二区三区| 久久99久久久久| 亚洲精品ww久久久久久p站| 久久久不卡影院| 97久久精品人人爽人人爽蜜臀| 久久国产尿小便嘘嘘尿| 亚洲欧洲av在线| 国产欧美va欧美不卡在线| 91精品国产免费| 久久久美女毛片| 日韩精品一区二区三区中文精品| 91福利资源站| 337p亚洲精品色噜噜| 欧美日韩国产a| 欧美一区二区三区男人的天堂| 精品福利一区二区三区免费视频| 国产日韩欧美不卡在线| 欧美国产日韩一二三区| 在线精品视频小说1| 蜜臀久久99精品久久久画质超高清| 日本欧美一区二区| 日韩午夜中文字幕| 麻豆精品在线观看| 一本大道久久a久久综合| 亚洲日本在线天堂| 91精品国产综合久久国产大片| 精品一区二区三区蜜桃| 欧美国产日韩a欧美在线观看| 成人午夜视频网站| 亚洲综合激情另类小说区| 日韩欧美精品三级| 99久久99久久精品国产片果冻| 午夜私人影院久久久久| 精品国产精品网麻豆系列 | 一本久久a久久免费精品不卡| 国产成a人无v码亚洲福利| 国产在线视频一区二区三区| 国产成人免费视频一区| 97aⅴ精品视频一二三区| 99r国产精品| 欧美一区二区视频在线观看2022| 欧美一区二区在线观看| 欧美亚洲国产一区在线观看网站| 欧美三级欧美一级| 久久精品综合网| 亚洲国产一区二区三区青草影视| 日韩精品国产欧美| 丰满少妇久久久久久久| 91高清视频在线|