Hello, I am having trouble getting GUIDRV_CompactColor_16 driver to work. I have it installing and running GUIDRV_CompactColor_16 init code when we make the GUI_DEVICE_CreateAndLink call. But when I call Gereral APIs like clear screen, it makes no calls into the GUIDRV_CompactColor_16 driver, and because of that emWin not writing the display. I am trying to use this without a screen cache. I am running in a small memory footprint and am driving a Sitronix ST7789 chipset.
Here is the config
#ifndef LCDCONF_H
#define LCDCONF_H
#define LCD_USE_COMPACT_COLOR_16 1
#define LCD_USE_PARALLEL_16 0
#define LCD_USE_SERIAL_3PIN 1
#define XSIZE_PHYS 240
#define YSIZE_PHYS 240
#define LCD_XSIZE XSIZE_PHYS
#define LCD_YSIZE YSIZE_PHYS
#define LCD_CACHE 0
#define LCD_WRITE_BUFFER_SIZE 1
#define LCD_CONTROLLER 66709 // Sitronix ST7789
#define LCD_BITSPERPIXEL 16
#define LCD_SWAP_RB 1
#define LCD_MIRROR_Y 1
#endif /* LCDCONF_H */
Here is the Init code
//*********************************************************************
//*
//* LCD_X_Config
//*
//* Purpose:
//* Called during the initialization process in order to set up the
//* display driver configuration.
//*
//*
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, LCD_XSIZE, LCD_YSIZE);
}
Here is the config
#ifndef LCDCONF_H
#define LCDCONF_H
#define LCD_USE_COMPACT_COLOR_16 1
#define LCD_USE_PARALLEL_16 0
#define LCD_USE_SERIAL_3PIN 1
#define XSIZE_PHYS 240
#define YSIZE_PHYS 240
#define LCD_XSIZE XSIZE_PHYS
#define LCD_YSIZE YSIZE_PHYS
#define LCD_CACHE 0
#define LCD_WRITE_BUFFER_SIZE 1
#define LCD_CONTROLLER 66709 // Sitronix ST7789
#define LCD_BITSPERPIXEL 16
#define LCD_SWAP_RB 1
#define LCD_MIRROR_Y 1
#endif /* LCDCONF_H */
Here is the Init code
//*********************************************************************
//*
//* LCD_X_Config
//*
//* Purpose:
//* Called during the initialization process in order to set up the
//* display driver configuration.
//*
//*
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, LCD_XSIZE, LCD_YSIZE);
}