#ifndef _QL_LCD_H_ #define _QL_LCD_H_ typedef struct ql_spi_lcd_write_struct { unsigned char type; /* SPI_WRITE_CMD / SPI_WRITE_DATA / SPI_WRITE_DELAY */ unsigned char value; unsigned char data_length; /* Only for SPI_WRITE_CMD */ }ql_spi_lcd_write_t; typedef struct ql_lcd_data_struct { ql_spi_lcd_write_t* init_para; unsigned int init_para_len; unsigned short width; unsigned short height; unsigned char lcd_cmd_col_set; unsigned char lcd_cmd_row_set; unsigned char lcd_cmd_mem_wr; unsigned int te_signal; unsigned int spi_wclk;//дʱÐòµÄʱÖÓ unsigned int spi_rclk;//¶ÁʱÐòµÄʱÖÓ unsigned int lcd_id; unsigned short format; unsigned short type;//rgb or ºÚ°×ÆÁ unsigned short sample_edge; unsigned short endian; unsigned short line_num; //4 or 3 unsigned short data_line; //1 or 2 unsigned char work_mode; }ql_lcd_data_t; enum { QL_LCD_SLEEP, QL_LCD_WAKE_UP, }; int ql_lcd_init(ql_lcd_data_t *lcd_data); int ql_lcd_clear_screen(unsigned short bg_color); int ql_lcd_wakeup(unsigned int level); int ql_lcd_display_on(void); int ql_lcd_display_off(void); int ql_spi_lcd_write_cmd(unsigned char cmd); int ql_spi_lcd_write_data(unsigned char data); int ql_lcd_updata_config(ql_lcd_data_t *lcd_data); int ql_lcd_write_sync(unsigned char *pbuffer, unsigned short start_x, unsigned short start_y, unsigned short end_x, unsigned short end_y); unsigned int ql_lcd_read_id(void); #ifdef ASR_PLATFORM_CRANELS int ql_lcd_write(unsigned char *pbuffer, unsigned short start_x, unsigned short start_y, unsigned short end_x, unsigned short end_y); int ql_lcd_osd_config(unsigned char *pbuffer, unsigned short start_x, unsigned short start_y, unsigned short end_x, unsigned short end_y); #endif #endif