2024-04-23 09:26 AM
I am starting some test with this module
https://it.aliexpress.com/item/1005002482177244.html
with 7” lcd
I have found only one example that run but with Touchgfx
I have got the same ioc from this example to generate a new code and insert the functions to switch on lcd but still no result
I would like to use the normal functions
BSP_LCD_Init() ;
BSP_LCD_DisplayStringAt(10, 80, buf, LEFT_MODE);
BSP_LCD_DrawBitmap(0, 0, (uint8_t *)(&BackGround0));
Solved! Go to Solution.
2024-04-25 07:46 AM
>>Is there other parts to compare ?
Convince me the SDRAM is working, write and read-back assorted walking bit test patterns.
We've already seen the LTDC getting working colour data from functional memory. Hey park a suitable bit map in internal flash, or some colour bar test patterns in there.
2024-04-23 09:38 AM
Yeah, not sure your audience here is going to be very large, and the presented code largely unrelated to the issue.
Does it WORK with ANY of the examples you have to hand?
Any details on the display, it's controllers, datasheets, etc? Does the vendor have a github, or code available?
Looks to be a FANKE FK429M1-BIT6 board.
This example? Always cite what you're dealing with
https://github.com/aventuri/fk429m1-lcd5-touchGfx-stub/blob/master/README.md
Expect you're going to need to code or port a driver, but for that you'll need actual workable details.
2024-04-23 10:24 AM
Yes, the fk429m1-lcd5-touchGfx-stub-master example work but it need TouchGfx develop tool..
I want to use normal BSP function because I have develop many graphic item in the previous projects using the STM32F469-DISCO and STM32F746-DISCO.
2024-04-23 10:36 AM
BSP is created for concrete display, then you write own or correct differences for actual used display. TouchGFX have nothink todo with driver and hw part. TouchGFX is C++ code generator for inteligent GUIs.
IOC dont generate hw based part of configs and required parts of code.
2024-04-23 10:38 AM - edited 2024-04-23 10:47 AM
2024-04-23 10:59 AM
Yes, I have integrated the sources with the BSP_ functions
2024-04-23 11:24 AM
BSP_LCD_DisplayStringAt(), BSP_LCD_DrawBitmap(), lines and circle primitives basically paint into a simple frame buffer. The form, colour depths and geometry needs to match the data shovelling out via LTDC, with the timings to match those of the display expectations. The MHz pixel clocks need to relate to the KHz line output, and Hz refresh rate.
Do you have any datasheets for the 7" panel? 800x480 24-bpp? Controller?
2024-04-23 11:29 AM
Frame buffer 1024x600, LTDC 800x480
2024-04-23 01:31 PM - edited 2024-04-23 01:43 PM
new ver with strange vertical line
www.audiodesignguide.com/sw1/stm32F429BI-test2%20%282%29.zip
hltdc.Instance = LTDC;
hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;
hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;
hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
hltdc.Init.HorizontalSync = 1; ?
hltdc.Init.VerticalSync = 1; ?
hltdc.Init.AccumulatedHBP = 76; ?
hltdc.Init.AccumulatedVBP = 40; -> see vertical line and with 23 no output
hltdc.Init.AccumulatedActiveW = 880; ?
hltdc.Init.AccumulatedActiveH = 520; ?
hltdc.Init.TotalWidth = 1080; ?
hltdc.Init.TotalHeigh = 542; ?
hltdc.Init.Backcolor.Blue = 0;
hltdc.Init.Backcolor.Green = 0;
hltdc.Init.Backcolor.Red = 0;
if (HAL_LTDC_Init(&hltdc) != HAL_OK)
{
Error_Handler();
}
pLayerCfg.WindowX0 = 0;
pLayerCfg.WindowX1 = 799;
pLayerCfg.WindowY0 = 0;
pLayerCfg.WindowY1 = 479;
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB888;
pLayerCfg.Alpha = 255;
pLayerCfg.Alpha0 = 0;
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg.FBStartAdress = 0xD0000000;
pLayerCfg.ImageWidth = 800;
pLayerCfg.ImageHeight = 480;
pLayerCfg.Backcolor.Blue = 0;
pLayerCfg.Backcolor.Green = 0;
pLayerCfg.Backcolor.Red = 0;
if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK)
{
Error_Handler();
}
pLayerCfg1.WindowX0 = 0;
pLayerCfg1.WindowX1 = 800;
pLayerCfg1.WindowY0 = 0;
pLayerCfg1.WindowY1 = 400;
pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;
pLayerCfg1.Alpha = 0;
pLayerCfg1.Alpha0 = 0;
pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg1.FBStartAdress = 0;
pLayerCfg1.ImageWidth = 0;
pLayerCfg1.ImageHeight = 0;
pLayerCfg1.Backcolor.Blue = 0;
pLayerCfg1.Backcolor.Green = 0;
pLayerCfg1.Backcolor.Red = 0;
if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg1, 1) != HAL_OK)
{
Error_Handler();
}
2024-04-23 01:50 PM
This is an up-hill struggle.
What's the Make/Model of Screen?
What's the Resolution of the Screen?
Can you provide a picture of the back showing the controller or part#, large, clear and in-focus.
Is there a Data Sheet for the Screen?
Line totals are a combination of sync, front and back porches, and the active portion (ie visible pixels), count's in pixels. Think Preamble, Content, Postamble