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

📄 display.h

📁 三星2443芯片
💻 H
📖 第 1 页 / 共 2 页
字号:
void Test_Virtual_Screen(void);
void Test_DisplayFramebufferCpuIf_QVGA(void);

void Test_DisplayFramebufferRgbIf_QVGA1(void);
void Test_DisplayFramebufferRgbIf_QVGA2(void);

void Test_DisplayFramebufferCpuIf_QVGA1(void);
	
void Prepare_Blending_Pallet01(void);
void Prepare_ColorKey_Pallet1(void);

void Setup_RgbIf( void);
void Test_Lcd_QVGA(void);
void Basic_Display_Setting( int32 win_num,int32 buf_num, int32 bpp, uint32 width, uint32 height);
void Display_Start(int8 win_num);
void Display_End(int8 win_num);
void Prepare_Image(int8 win_num, int8 bpp);
void Prepare_Pallet(int8 win_num, int8 bpp);
void SetLcdPort(void);
void delayLoop(uint32 count);
void LCDC_Common_Init(void);
void LcdEnvidOnOff(uint8 onoff);
void LcdWindowOnOff(uint8 num, uint8 onoff);
void _PutPixel1Bit(uint32 x, uint32 y, uint32 c);
void _PutPixel2Bit(uint32 x, uint32 y, uint32 c);
void _PutPixel4Bit(uint32 x, uint32 y, uint32 c);
void _PutPixel8Bit(uint32 x, uint32 y, uint32 c);
void _PutPixel16Bit(uint32 x, uint32 y, uint32 c);
void _PutPixel32Bit(uint32 x, uint32 y, uint32 c);

void LCD_Line(int32 x1, int32 y1, int32 x2, int32 y2, int32 color);
void LCD_Rectangle(int32 x1,int32 y1,int32 x2,int32 y2,int32 color);
void LCD_FilledRectangle(int32 x1,int32 y1,int32 x2,int32 y2,int32 color);
void LCD_ClearScr(uint32 c);
void lputs(uint32 x, uint32 y, uint32 c, char *str);
void lprintf(uint32 x, uint32 y, uint32 c, const char *fmt,...);

void __irq Display_ISR0(void);
void __irq Display_ISR1(void);

void Init_LDI(void);

void InitLDI_LTS222(void);
void InitLDI_LTV350(void);
void Write_LDI_LTS222(int address, int data);
void Write_LDI_LTV350(int address, int data);


//=================================================
void Basic_Display_CPUIF(void);
void Init_LDI_CPUIF(void);
void Display_Start_CPUIF(int8 win_num);
void InitLDI_LTS222_CPUIF(void);
void LCDC_Common_Init_CPUIF(void);
//void LCDC_Common_Init_CPUIF(int cs);
void Test_ColorKey_CPUIF(void);
void Test_Blending_Win01_CPUIF(void);
void PlaneBlendingTest_CPUIF(void);
void PixelBlendingTest_CPUIF( void);
void Test_ColorMap_CPUIF(void);
void Test_EachWindow_EachBPP_CPUIF(void);
void Test_DisplayFramebufferCpuIf_QVGA_GOM(void);
void Test_DisplayFramebufferCpuIf_OUTPUT_FORMAT(void);
void LCDC_Common_Init_CPUIF_OUTPUT_FORMAT(void);
void Basic_Display_Setting_CPUIF_OUTPUT_FORMAT( int32 win_num,int32 buf_num, int32 bpp, uint32 width, uint32 height);
void Test_DisplayFramebufferCpuIf_Bufferchange(void);

//=================================================

void InitLDI_LTS222_SERIAL(void);
void Basic_Display_Serial(void);
void Test_DisplayFramebufferRgbIf_QVGA1_Serial(void);
void Basic_Display_Setting_Serial( int32 win_num,int32 buf_num, int32 bpp, uint32 width, uint32 height);
void LCDC_Common_Init_Serial(void);
void Test_ColorKey_Serial(void);
void Test_Blending_Win01_Serial(void);
void PlaneBlendingTest_Serial(void);
void PixelBlendingTest_Serial( void);
void Test_EachWindow_EachBPP_Serial(void);
void Test_DisplayFramebufferSerial_Bufferchange(void);
void Test_ColorMap_Serial(void);
void Test_Virtual_Screen_Serial(void);

//=================================================

void Display_StnIf(void);
void Test_Lcd_Stn_1Bit(void);
void Test_Lcd_Stn_2Bit(void);
void Test_Lcd_Stn_4Bit(void);
void Test_Lcd_Cstn_8Bit(void);
void Test_Lcd_Cstn_8Bit_On(void);
void Test_Lcd_Cstn_12Bit(void);
void Test_Lcd_Cstn_16Bit(void);

void Lcd_Init(int type);
void Glib_Init(int type);
void _PutStn1Bit(U32 x,U32 y,U32 c);
void _PutStn2Bit(U32 x,U32 y,U32 c);
void _PutStn4Bit(U32 x,U32 y,U32 c);
void _PutCstn8Bit(U32 x,U32 y,U32 c);
void _PutCstn12Bit(U32 x,U32 y,U32 c);
void _PutCstn16Bit(U32 x,U32 y,U32 c);
void Lcd_EnvidOnOff(int onoff);
void Glib_ClearScr(U32 c, int type);
void Glib_FilledRectangle(int x1,int y1,int x2,int y2,int color);
void Glib_Line(int x1,int y1,int x2,int y2,int color);
void Glib_Rectangle(int x1,int y1,int x2,int y2,int color);
void MoveViewPort(int type);
void Lcd_MoveViewPort(int vx,int vy,int type);
void Lcd_CstnOnOff(int onoff);
void DISP_CMD_OUT(U16 CMD);
void Basic_Display_Setting_CPUIF( int32 win_num,int32 buf_num, int32 bpp, uint32 width, uint32 height);

#define LCDFRAMEBUFFER 0x31800000 //_NONCACHE_STARTADDRESS 

#define MVAL		(13)
#define MVAL_USED 	(0)
#define M5D(n) ((n) & 0x1fffff)	// To get lower 21bits

#define CLKVAL_STN_MONO		(20) 	
    // 30hz @100Mhz(HCLK),WLH=16hclk,WDLY=16hclk,LINEBLANK=1*8hclk,VD=4 
#define CLKVAL_STN_GRAY		(10) 	
    // 60hz @100Mhz,WLH=16hclk,WDLY=16hclk,LINEBLANK=13*8hclk,VD=4 
#define CLKVAL_CSTN					(9)   
//#define CLKVAL_CSTN					(35)   

//STN
#define WLH_STN	    		(0)
#define WDLY_STN		(0)
#define LINEBLANK_MONO		(1 &0xff) // MONO timing parameter for CPT CLS-040S-C3M(CHUNGHWA)
#define LINEBLANK_GRAY		(13 &0xff)// GRAY timing parameter for CPT CLS-040S-C3M(CHUNGHWA)
//CSTN timing parameter for LCBHBT161M(NANYA)
#define WLH_CSTN	        (0)
#define WDLY_CSTN		(0)
#define LINEBLANK_CSTN		(16 &0xff)

//STN
#define HOZVAL_STN		(LCD_XSIZE_STN/4-1)	// Valid VD data line number is 4.
#define LINEVAL_STN		(LCD_YSIZE_STN-1)
//Color STN
#define HOZVAL_CSTN		(LCD_XSIZE_CSTN*3/8-1)	// Valid VD data line number is 8.
#define LINEVAL_CSTN		(LCD_YSIZE_CSTN-1)

//STN
#define LCD_XSIZE_STN 	(320)
#define LCD_YSIZE_STN 	(240)
//Color STN
#define LCD_XSIZE_CSTN 	(320)
#define LCD_YSIZE_CSTN 	(240)
//TFT 240320
#define LCD_XSIZE_TFT_240320 	(240)	
#define LCD_YSIZE_TFT_240320 	(320)
//TFT 640480
#define LCD_XSIZE_TFT_640480 	(640)	
#define LCD_YSIZE_TFT_640480 	(480)
//TFT 800600
#define LCD_XSIZE_TFT_800600 	(800)	
#define LCD_YSIZE_TFT_800600 	(600)

//STN
#define SCR_XSIZE_STN 	(LCD_XSIZE_STN*2)   //for virtual screen  
#define SCR_YSIZE_STN 	(LCD_YSIZE_STN*2)
//Color STN
/*
#define SCR_XSIZE_CSTN 	(LCD_XSIZE_CSTN*2)   //for virtual screen  
#define SCR_YSIZE_CSTN 	(LCD_YSIZE_CSTN*2)
*/
#define SCR_XSIZE_CSTN 	(LCD_XSIZE_CSTN)   //No virtual screen  
#define SCR_YSIZE_CSTN 	(LCD_YSIZE_CSTN)

//TFT 240320
#define SCR_XSIZE_TFT_240320 	(LCD_XSIZE_TFT_240320*2)
#define SCR_YSIZE_TFT_240320 	(LCD_YSIZE_TFT_240320*2)
//TFT 640480
#define SCR_XSIZE_TFT_640480 	(LCD_XSIZE_TFT_640480*2)
#define SCR_YSIZE_TFT_640480 	(LCD_YSIZE_TFT_640480*2)
//TFT 800600
#define SCR_XSIZE_TFT_800600 	(LCD_XSIZE_TFT_800600*2)
#define SCR_YSIZE_TFT_800600 	(LCD_YSIZE_TFT_800600*2)

//Selecting LCD type
//STN LCD Panel(320*240)
#define MODE_STN_1BIT 	(0x1001)
#define MODE_STN_2BIT  	(0x1002)
#define MODE_STN_4BIT  	(0x1004)
//Color STN LCD Panel(320*240)
#define MODE_CSTN_8BIT   (0x2001)
#define MODE_CSTN_12BIT (0x2002)
#define MODE_CSTN_12BIT_UP (0x2004)
#define MODE_CSTN_16BIT (0x2008) // for 2442A
//TFT LCD Panel(240*320)
#define MODE_TFT_1BIT_240320     (0x4101)
#define MODE_TFT_8BIT_240320 	 (0x4102)
#define MODE_TFT_16BIT_240320    (0x4104)
#define MODE_TFT_24BIT_240320    (0x4108)
//TFT LCD Panel(640*480)
#define MODE_TFT_1BIT_640480     (0x4201)
#define MODE_TFT_8BIT_640480     (0x4202)
#define MODE_TFT_16BIT_640480    (0x4204)
#define MODE_TFT_24BIT_640480    (0x4208)
//TFT LCD Panel(800*600)
#define MODE_TFT_1BIT_800600     (0x4401)
#define MODE_TFT_8BIT_800600     (0x4402)
#define MODE_TFT_16BIT_800600    (0x4404)



//Mono
extern U32 (*frameBuffer1Bit)[SCR_XSIZE_STN/32];
//Gray
extern U32 (*frameBuffer2Bit)[SCR_XSIZE_STN/16];
extern U32 (*frameBuffer4Bit)[SCR_XSIZE_STN/8];
//Color STN
extern U32 (*frameBuffer8Bit)[SCR_XSIZE_CSTN/4];
extern U32 (*frameBuffer12Bit)[SCR_XSIZE_CSTN*3/8]; // The least common multiple (between 12 and 32) is 96
extern U32 (*frameBuffer16Bit)[SCR_XSIZE_CSTN/2]; // for 2442A
//TFT 240320
extern U32 (*frameBuffer8BitTft240320)[SCR_XSIZE_TFT_240320/4];
extern U32 (*frameBuffer16BitTft240320)[SCR_XSIZE_TFT_240320/2];
extern U32 (*frameBuffer24BitTft240320)[SCR_XSIZE_TFT_240320];
//TFT 640480
extern U32 (*frameBuffer1BitTft640480)[SCR_XSIZE_TFT_640480/32];
extern U32 (*frameBuffer8BitTft640480)[SCR_XSIZE_TFT_640480/4];
extern U32 (*frameBuffer16BitTft640480)[SCR_XSIZE_TFT_640480/2];
extern U32 (*frameBuffer24BitTft640480)[SCR_XSIZE_TFT_640480]; // Unpacked 24bit 
//TFT 800600
extern U32 (*frameBuffer1BitTft800600)[SCR_XSIZE_TFT_800600/32];
extern U32 (*frameBuffer8BitTft800600)[SCR_XSIZE_TFT_800600/4];
extern U32 (*frameBuffer16BitTft800600)[SCR_XSIZE_TFT_800600/2];

//=================================================

// extern variable
extern int8 lcd_type;
extern uint32 lcd_bpp;
extern uint16 lcd_horizon_value,lcd_line_value;
extern uint8 lcd_vbpd,lcd_vfpd,lcd_vspw,lcd_hbpd,lcd_hfpd,lcd_hspw;
extern uint8 lcd_cs_setup,lcd_wr_setup,lcd_wr_act,lcd_wr_hold;
extern uint8 lcd_frame_rate;
extern uint8 lcd_burst_mode;
extern uint16 screen_width,screen_height;
extern uint32 *lcd_framebuffer;

extern void (*PutPixel)(uint32 x,uint32 y,uint32 c);

extern void *lcd_bpp_mode[];
extern uint8 lcd_bit_order[];
extern uint8 lcd_burst_in_byte[];
extern uint32 lcd_frame_buffer[][2];
extern vuint32 *WINCONx_Reg_Addr[];
extern vuint32 *VIDOSDxA_Reg_Addr[];
extern vuint32 *VIDOSDxB_Reg_Addr[];
extern vuint32 *VIDOSDxC_Reg_Addr[];
extern vuint32 *VIDWxADD0_Reg_Addr[][2];
extern vuint32 *VIDWxADD1_Reg_Addr[][2];
extern vuint32 *VIDWxADD2_Reg_Addr[][2];
extern vuint32 *WxKEYCON0_Reg_Addr[];
extern vuint32 *WxKEYCON1_Reg_Addr[];
extern vuint32 *WINxMAP_Reg_Addr[];
extern vuint32 *WINxPalletBase[];


#ifdef __cplusplus
}
#endif
#endif //#ifndef __DISPLAY_H__

⌨️ 快捷键说明

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