2014-04-16 02:37 AM
I'm having problems to produce correctly working landscape LCD with STemWin and STM32F429 discovery. I'm using STemWin_HelloWorld application from STM32Cube_FW_F4_V1.1.0 as a base for my tests. I don't need to rotate screen during run-time.
I have only changed display drivers in LCDConf from GUIDRV_LIN_32 to GUIDRV_LIN_OSY_32 to produce landscape screen. This results correctly oriented screen with correctly printed texts with GUI_DispStringAt(). But background and painting functions like GUI_FillCircle() will create three striped areas on top of each others. Looks like a synchronisation problem but haven't manage to sort it out. Furthermore wondering why texts are working correctly and drawings not. Changing physical size to 240x240 fixes the problem - except it's not full screen and 320 width..Application code for this image:
GUI_SetFont(&GUI_Font20_1); GUI_DispStringAt(''Hello world!'', (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2); GUI_DispStringAt(''0'', 0, 0); GUI_DispStringAt(''1'', 100, 0); GUI_DispStringAt(''2'', 200, 0); GUI_DispStringAt(''3'', 300, 0); GUI_DispStringAt(''A'', 0, 100); GUI_DispStringAt(''B'', 0, 200); GUI_DispStringAt(''C'', 0, 300); GUI_FillCircle(100, 100, 10);Any ideas to fix this problem?
2014-04-19 04:14 PM
I am experiencing something very similar. I used the Demonstration as a starting point, and in the file: LCDConf_stm32f429i_disco_MB1c I added a new define called LANDSCAPE, so that I can clearly show the parts of the code that I changed. Here are the affected snippets:
#ifndef LANDSCAPE
#define LANDSCAPE
#endif
#ifdef LANDSCAPE
#define LCD_MIRROR_Y 0
#define LCD_MIRROR_X 1
#define LCD_SWAP_XY 1
#else
#define LCD_MIRROR_Y 1
#define LCD_SWAP_XY 1
#endif
... and ....
#ifdef LANDSCAPE
#define COLOR_CONVERSION_0 GUICC_M565
#define DISPLAY_DRIVER_0 GUIDRV_LIN_OSX_16
#else
#define COLOR_CONVERSION_0 GUICC_M565
#define DISPLAY_DRIVER_0 GUIDRV_LIN_16
#endif
#if (GUI_NUM_LAYERS > 1)
#ifdef LANDSCAPE
#define COLOR_CONVERSION_1 GUICC_M8888I
#define DISPLAY_DRIVER_1 GUIDRV_LIN_OSX_32
#else
#define COLOR_CONVERSION_1 GUICC_M8888I
#define DISPLAY_DRIVER_1 GUIDRV_LIN_32
#endif
#endif
I then run the calibrate routine from the demo, and this is what the screen looks like on boot ... Landscape works, and the text displays correctly, but the rest of the background looks like it is out of sync or something. I can't help but wonder if there is a problem with the '_OSX_' versions of the driver files? Or am I missing some other important change required in the code?
And then it get's worse, when the next screen paints ....
2014-04-22 11:03 PM
Looks like exactly the same problem.
I have also noticed that bitmaps (tested jpg and bmp) will be painted correctly as are the texts. But everything like clear, fill some area or paint some shape will be messed. Anyone sorted this out?2014-05-09 09:01 AM
There is a similar discussion on the STEGGER (makers of emWin) forum. The support guy there said that he is looking into it, but it seems like forever and no answer yet.
Please add your voice to that discussion ... perhaps it will accelerate a solution :)http://i111.indigo.fastwebserver.de/index.php?page=Thread&postID=5860#post5860
Thank you in advance :)2014-05-09 09:37 AM
Please add your voice to that discussion ... perhaps it will accelerate a solution :)
Because forum admins always love hearing from nagging indirect customers, presumably part of the OEM agreement is that ST provide front line support for STemWin2014-05-09 09:59 AM
I believe in promoting constructive discussion, so will indirectly comment on the response to my earlier invitation for people to add their voice to the Stegger forum discussion.
I hope this helps to clarify the constructive intent of my previous post.
2014-05-23 05:53 AM
Hi,
The issue is already detected, and is now under investigation.You will be notified once the root's issue is identified.With regards.2014-05-28 10:05 AM
Hi,
We had confirmation that Landscape mode is not possible in RGB mode with LCD screen controller of STM32F429-Discovery kit.So unfortunately today, we can't demonstrate LCDorientation swap using the STM32F429-Discovery kit.
2014-05-29 02:11 PM
Hi Heisenberg,
Can you please give more information on this? A discussion on the same topic, on the SEGGER forum, had a response from one of the employees, Adrian, in which he demonstrates that it is in fact possible.There are two obvious differences in his setup that I can see ...I'd appreciate if you can give us some insight into why you think his setup works and why the STM32Cube setup is not supported?
Tx in advance.
2014-05-29 02:31 PM
Correction ... I meant StdPeriph (where I said std_lib)