2016-08-20 08:48 AM
Hello
I have a STM32F429I-Eval boardand a STM32F746 Disco board.I want to use StemWin with the GuiBuilder.On both Boards I use the ''Hello World'' Examples as templates.On the STM32F429I-Eval the Dialog are shown correctly.But when I want to show a dialog on the STM32F746 Disco,the content of the dialog are not shown correctly (see the first Picture below).But the Widgets outside the dialog are shown correctly.Another thing which don�t work on the STM32F746 Disco board but works on the STM32F429I-Eval boardis the ''alpa blending'' example from the emWin Manuel (Picture 2 and 3).Maybe someone can help me.Picture 1Picture 2Picture 3 #stemwin #stm32f746-disco2016-08-22 07:10 AM
Hello frank.matthias,
In the main, the display issue may be caused by one of the following: - Stack size is too low. - Wrong initialization of the display controller. - Wrong configuration of the display interface. RegardsForumSTM32
2016-08-25 01:09 PM
Hi
-I have increased the steak size to 0x1000 but with the same result.-I think that the lcd timings are correctly.I have tested the lcd with the timings from the example and the timings from this link:http://microelk.azurewebsites.net/STM32_STEmWin/STM32_STEmWin Both are working. But dialogs and alpha don?t work.-The display interface in the example are#define COLOR_CONVERSION_0 GUICC_M8888I#define DISPLAY_DRIVER_0 GUIDRV_LIN_32I am not sure if that ist correctly. The Display have 8bit for each of the 3 colors.Should it be GUIDRV_LIN_24?But when i change them the display dont?t work.Another example:Picture 1 shows how it should be.Picture 2 shows how it is.You can see that the ''GUI_TM_XOR'' are not shown correctlybut the other things worksPerhaps is the problem the same as in the display of dialoges.Picture 1:Picture 2:2016-08-25 02:07 PM
I have found the problem!!
The right driver is#define COLOR_CONVERSION_0 GUICC_M888#define DISPLAY_DRIVER_0 GUIDRV_LIN_24But to use them the following code must be changed in the LCDconf.c:static inline U32 LCD_LL_GetPixelformat(U32 LayerIndex){ if (LayerIndex == 0) { return LTDC_PIXEL_FORMAT_ARGB8888; } else { return LTDC_PIXEL_FORMAT_ARGB1555; } }change them to:static uint32_t LCD_LL_GetPixelformat(uint32_t LayerIndex){ const LCD_API_COLOR_CONV * pColorConvAPI; if (LayerIndex >= GUI_NUM_LAYERS) { return 0; } pColorConvAPI = layer_prop[LayerIndex].pColorConvAPI; if (pColorConvAPI == GUICC_M8888I) { return LTDC_PIXEL_FORMAT_ARGB8888; } else if (pColorConvAPI == GUICC_M888) { return LTDC_PIXEL_FORMAT_RGB888; } else if (pColorConvAPI == GUICC_M565) { return LTDC_PIXEL_FORMAT_RGB565; } else if (pColorConvAPI == GUICC_M1555I) { return LTDC_PIXEL_FORMAT_ARGB1555; } else if (pColorConvAPI == GUICC_M4444I) { return LTDC_PIXEL_FORMAT_ARGB4444; } else if (pColorConvAPI == GUICC_8666) { return LTDC_PIXEL_FORMAT_L8; } else if (pColorConvAPI == GUICC_1616I) { return LTDC_PIXEL_FORMAT_AL44; } else if (pColorConvAPI == GUICC_88666I) { return LTDC_PIXEL_FORMAT_AL88; } while (1);}