1k views
in GUI Development by

Dear all,

we have a strange behaviour on some LCD control panel. The screen is composed by 2 components. One is a background page with an image of 480*272 pixel (orange picture). The other component is an Home page where there another image (24 V white written). The strange thing is that some control board behave as shown in the problem.jpg picture. Some other hasn't got that behaviour as shown the NoProblem.jpg picture. 

The 2 boards has the same hardware, the same brand and type LCD display and obviously the same firmware inside.

Moreover attached the original picture with alpha channel.

Could you help us to understand how to eliminate the vertical lines on every control panel?

Looking forward your kind reply.

Best regards

Gianni Perugini

 

1 Answer

0 votes
by
Hi Gianni,

this looks really strange...

Let me ask you some questions:

How is the display connected (DSI, RGB)?

What is the physical orientation of the display (landscape or portrait)? This means, do you use rotation?

What happens when you show/hide the 24V screen (e.g. when you use a bool effect and animate the Visible property every second): Do the lines appear always? Do the lines appear on the same position?

What microcontroller are you using?

Are the two resources drawn from SDRAM or from flash memory (this means, do you use compressed bitmap resources or direct access)?

Best regards,

Manfred.
by

Hi Manfred,

thanks for your kind reply. Our answers to your questions:

-Our display is connected by RGB interface.

-Landscape. No we don't use rotation.

-The lines appear only when the image is visible. The lines appear in the same position.

-We are using a STM32F767NGHx

-We load the 24V.png image on a Resources::Bitmap objects. We worked with FormatOfBitmapResources profile attribute set to 'Compressed' and we had that kind of issue. We set that property to DirectAccess and the issue disappear. After this test, we suspect that the problem was related to the system clock settings. 

We had this values on SystemClock_Config function :

    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState       = RCC_HSE_ON;
    RCC_OscInitStruct.PLL.PLLState   = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource  = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLM       = 25;
    RCC_OscInitStruct.PLL.PLLN       = 432;
    RCC_OscInitStruct.PLL.PLLP       = RCC_PLLP_DIV2;
    RCC_OscInitStruct.PLL.PLLQ       = 9;

We changed that in this way:

    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState       = RCC_HSE_ON;
    RCC_OscInitStruct.PLL.PLLState   = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource  = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLM       = 25;
    RCC_OscInitStruct.PLL.PLLN       = 400;
    RCC_OscInitStruct.PLL.PLLP       = RCC_PLLP_DIV2;
    RCC_OscInitStruct.PLL.PLLQ       = 8;

After that, we revert the FormatOfBitmapResources profile attribute to 'Compressed' and evererything works fine.

Best regards

Gianni Perugini

 

by
Hi Gianni,

great that you found reason! Thank you for posting the solution!

Best regards,

Manfred.

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...