2023-03-03 01:27 AM
When I flash some .bin the LCD doesen't work. It just display the a noise picture. With similar examples does work and with more advanced examples like the EmbeddedWizard it works too.
When does not work, every time display the same static image:
Solved! Go to Solution.
2023-05-02 01:51 AM - edited 2023-11-20 07:56 AM
Hey Guys, GOOD NEWS!
It's the screen hardware problem, I bought a separate screen (B-LCD40-DSI1 4" WVGA TFT LCD) from mouser, which is same type but can normally display.
↓ difference between default screen and separate screen
↓ package of screen module
↓ FP-AI-VISION demo:person detect
2023-03-03 01:57 AM
Not sure what you're looking for here.
Focus on what the apps that are working are doing correctly and differently with the screen setup and painting, vs the apps that fail to do so.
Debug and analyze, and then explain more clearly the situation so there's some chance of getting support or assistance.
Perhaps you work with other members of your team with different or broader experience.
2023-03-07 12:49 AM
The problem is that I use demonstration codes for the STM32H747 that have to display something on the LCD screen. I think that the problem is in the initialization of the screen.
The code that work initialize the screen like that:
void LCD_LayertInit(uint16_t LayerIndex, uint32_t Address)
{
LTDC_LayerCfgTypeDef layercfg;
/* Layer Init */
layercfg.WindowX0 = 0;
layercfg.WindowX1 = Lcd_Ctx[0].XSize/2;
layercfg.WindowY0 = 0;
layercfg.WindowY1 = Lcd_Ctx[0].YSize;
layercfg.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;
layercfg.FBStartAdress = Address;
layercfg.Alpha = 255;
layercfg.Alpha0 = 0;
layercfg.Backcolor.Blue = 0;
layercfg.Backcolor.Green = 0;
layercfg.Backcolor.Red = 0;
layercfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA;
layercfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA;
layercfg.ImageWidth = Lcd_Ctx[0].XSize/2;
layercfg.ImageHeight = Lcd_Ctx[0].YSize;
HAL_LTDC_ConfigLayer(&hlcd_ltdc, &layercfg, LayerIndex);
}
The code that show the noisy screen is:
int32_t BSP_LCD_Init(uint32_t Instance, uint32_t Orientation)
{
return BSP_LCD_InitEx(Instance, Orientation, LCD_PIXEL_FORMAT_RGB888, LCD_DEFAULT_WIDTH, LCD_DEFAULT_HEIGHT);
}
Both codes are made for the for the same DISCOVERY. I have 2 of them and it doesen't work on any of them. I have tried to upload .bin files and it does the same.
I can't find the solution anywhere so I think that it happens because ST changed someting on the board maybe.
2023-03-07 01:00 AM
Same issue here as well, the BSP code just doesn't seem to work.
Most of the cube examples just do not work for me.
2023-03-07 09:58 PM
Ok I have looked into this a bit and as far as I can see so far is that any example that uses DSI Video mode doesn't work, any that use DSI Command mode do work.
So at a guess the BSP DSI Video mode code is broken for this board.
I'm thinking maybe we have a new version of the board.
2023-03-08 01:50 AM
I also think we have another version. In fact now I'm learning how to use TouchGFX and when you create a new project you have to chose the version of the board.
Anyway, I hope it works soon because I want to try the FP-AI-Vision pack that does not work because of the LCD.
2023-03-08 01:57 AM
Ah that is interesting, I will install TouchGFX and have a look at what the difference is with the code.
By the way I added a GH issue here: https://github.com/STMicroelectronics/STM32CubeH7/issues/254
2023-03-08 02:33 AM
Good! I hope we find a solution soon.
2023-03-10 08:18 AM
Hello @BTurc.2
Thank you for posting your issue!
I tried the LCD_DSI example (and other demos) and it works on STM32H747 board with D01 revision/ LCD Rev A03
which demo are you using exactly? which board revision? And which LCD revision?
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-03-10 08:22 AM
Hi Sarra, I think myself and BTUrc.2 have the same version looking at his image.
I have attached a higher res image where you can see the stickers.