- Ampire FSA506
- Epson S1D13742, S1D13743, S1D19122
- FocalTech FT1509Himax HX8301, HX8312A, HX8325A, HX8340, HX8347, HX8352,HX8352B, HX8353
- Hitachi HD66766, HD66772, HD66789
- Ilitek ILI9161, ILI9220, ILI9221, ILI9320, ILI9325, ILI9326, ILI9328, ILI9342
- LG Electronics LGDP4531, LGDP4551
- MagnaChip D54E4PA7551
- Novatek NT39122, NT7573
- OriseTech SPFD5408, SPFD54124C, SPFD5414D, SPFD5420A
- Renesas R61505, R61509, R61516, R61526, R61580, R63401
- Samsung S6D0110A, S6D0117, S6D0128, S6D0129, S6D04H0
- Sharp LCY-A06003, LR38825
- Sitronix ST7628, ST7637, ST7687, ST7712, ST7715, ST7735, ST7787, ST7789
- Solomon SSD1284, SSD1289, SSD1298, SSD1355, SSD1961, SSD1963, SSD2119
- Toshiba JBT6K71
Драйвер поддерживает 8-ми и 16-ти битный параллельный интерфейс, а также SPI для 3-х линий управления. По умолчанию настроен на параллельный 8-ми битовый интерфейс.
To be able to use this driver the following macro definition needs to be added to the configuration file
Для использования данного драйвера необходимо добавить макроопределение в файл LCDConf.h:
#define LCD_USE_COMPACT_COLOR_16
После этого макроопределения в конфигурационном файле LCDConf_CompactColor_16.h добавляется строка:
GUI_DEVICE_CreateAndLink(GUIDRV_COMPACT_COLOR_16, GUICC_565, 0, 0);
Драйвер может использоваться с дисплейным кешем в RAM или без него. Общее количество памяти для кэша
LCD_XSIZE * LCD_YSIZE * 2 bytes (для дисплеев 320Х240Х2=153600)
Конфигурационные макроопределения
To select the desired controller the macro LCD_CONTROLLER should be used in the configuration file LCDConf_CompactColor_16.h. The following table shows the values to be used to select the appropriate controller:
В файле LCDConf_CompactColor_16.h задается макроопределение LCD_CONTROLLER определяющее тип контроллера
Конфигурация дисплея задается макроопределениями
LCD_MIRROR_X Activate to mirror X-axis.
LCD_MIRROR_Y Activate to mirror Y-axis.
LCD_SWAP_XY Activate to swap X- and Y-axis.
Конфигурация оборудования
LCD_MIRROR_Y Activate to mirror Y-axis.
LCD_SWAP_XY Activate to swap X- and Y-axis.
Конфигурация оборудования
LCD_NUM_DUMMY_READS | Number of required dummy reads if a read operation should be executed. The default value is 2. If using a serial interface the display controllers HD66766 and HD66772 need 5 dummy reads. Sharp LR38825 needs 3 dummy reads with a 8-bit bus. |
LCD_REG01 | This macro is only required if a Himax HX8312A is used. Unfortunately the register 0x01 (Control register 1) contains orientation specific settings as well as common settings. So this macro should contain the contents of this register. |
LCD_SERIAL_ID | With a serial 3 wire interface this macro defines the ID signal of the device ID code. It should be 0 (default) or 1. Please note: This macro is only used with the 3 wire protocol for Hitachi HD66772, Samsung S6D0117, Himax HX8301 and Ilitek ILI9220. |
LCD_USE_SERIAL_3PIN | This configuration macro has been implemented to support the 3 wire serial interface of the following controllers: Hitachi HD66772, Samsung S6D0117, Himax HX8301, Ilitek ILI9220. Should be set to 1 if the 3 wire serial interface is used. Default is 0. Please note: Do not use this macro with other display controllers! |
LCD_USE_PARALLEL_16 | Should be set to 1 if the 16 bit parallel interface is used. Default is 0. |
LCD_WRITE_BUFFER_SIZE | Defines the size of the write buffer. Using a write buffer increases the performance of the driver. If multiple pixels should be written with the same color, the driver first fills the buffer and then writes the contents of the buffer with one execution of the macro LCD_WRITEM_A1, instead of multiple macro executions. The default buffer size is 500 bytes. |
LCD_WRITE_A0 | Write a byte to display controller with RS-line low. |
LCD_WRITE_A1 | Write a byte to display controller with RS-line high. |
LCD_READM_A1 | Read multiple bytes (8 bit parallel interface) or multiple words (16 bit parallel interface) from display controller with RS-line high. |
LCD_WRITEM_A1 | Write multiple bytes (8 bit parallel interface) or multiple words (16 bit parallel interface) to display controller with RS-line high. |
LCD_WRITEM_A0 | Write multiple bytes (8 bit parallel interface) or multiple words (16 bit parallel interface) to display controller with RS-line low. |
Пример кофигурации
LCDConf.h - добавить строку
#define LCD_USE_COMPACT_COLOR_16
LCDConf_CompactColor_16.h - добавить
//
// General configuration of LCD
//
#define LCD_CONTROLLER 66709 // Renesas R61516
#define LCD_BITSPERPIXEL 16
#define LCD_SWAP_RB 1
#define LCD_USE_PARALLEL_16 1
#define LCD_MIRROR_Y 1
//
// Indirect interface configuration
//
void LCD_X_Write01_16 (unsigned short c);
void LCD_X_Write00_16 (unsigned short c);
void LCD_X_WriteM01_16(unsigned short * pData, int NumWords);
void LCD_X_WriteM00_16(unsigned short * pData, int NumWords);
void LCD_X_ReadM01_16 (unsigned short * pData, int NumWords);
#define LCD_WRITE_A1 (Word) LCD_X_Write01_16(Word)
#define LCD_WRITE_A0 (Word) LCD_X_Write00_16(Word)
#define LCD_WRITEM_A1(Word, NumWords) LCD_X_WriteM01_16(Word, NumWords)
#define LCD_WRITEM_A0(Word, NumWords) LCD_X_WriteM00_16(Word, NumWords)
#define LCD_READM_A1 (Word, NumWords) LCD_X_ReadM01_16 (Word, NumWords)
LCDConf.c -
void LCD_X_Config(void) {
//
// Set display driver and color conversion
//
GUI_DEVICE_CreateAndLink(GUIDRV_COMPACT_COLOR_16, // Display driver
GUICC_M565, // Color conversion
0, 0);
//
// Display driver configuration
//
LCD_SetSizeEx(0, 240, 320); // Physical display size in pixels
}
Комментариев нет:
Отправить комментарий