Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


stemwin antialiasing color problem

Hi STM32 Users,

I would like to request your help in the following problem. I am using STM32F427VG and HX8357D with FMC controller in 16 bit mode RGB565. I successfully integrated the STemWin library with STM32Cube_FW_F4_V1.7.0. RED and BLUE color were swapped but after using GUICC_M565 it is solved.

in LCDConf_FlexColor_Template.c at function void LCD_X_Config(void)
...
pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0);
...
GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16);
...

The problem is with the anti-aliased circles (maybe other polygons are involved too). The colors which are used by the library is not correct. Look at the picture: there are Red green and blue circles on red green and blue rectangles. I think the red circle on red background shouldn’t be seen. Attached the picture

https://goo.gl/photos/cq1wQaMWtXFFPwEo9

src:

GUI_SetColor(GUI_RED);
GUI_FillRect(0,0,160,320);
GUI_SetColor(GUI_RED);
GUI_AA_FillCircle(80,80,30);
GUI_SetColor(GUI_GREEN);
GUI_AA_FillCircle(80,160,30);
GUI_SetColor(GUI_BLUE);
GUI_AA_FillCircle(80,240,30);

GUI_SetColor(GUI_GREEN);
GUI_FillRect(160,0,320,320);
GUI_SetColor(GUI_RED);
GUI_AA_FillCircle(240,80,30);
GUI_SetColor(GUI_GREEN);
GUI_AA_FillCircle(240,160,30);
GUI_SetColor(GUI_BLUE);
GUI_AA_FillCircle(240,240,30);


GUI_SetColor(GUI_BLUE);
GUI_FillRect(320,0,480,320);
GUI_SetColor(GUI_RED);
GUI_AA_FillCircle(400,80,30);
GUI_SetColor(GUI_GREEN);
GUI_AA_FillCircle(400,160,30);
GUI_SetColor(GUI_BLUE);
GUI_AA_FillCircle(400,240,30);

Any help would be appreciated

Thank you in advance,
Dave