1.4k views
in GUI Development by
Hello

I'm using STM32H7 Eval kit for my UI application, it's support RGB565 color format in origin.

I changed to RGB888 by using LCD 24bit interface but it's seem display 16bit color.

Can anyone help me to explain why ?

Best regards.

1 Answer

+1 vote
by
Hello,

I just verified the example 'ColorFormats' on the STM32H743 Evaluation board: When using RGB888 the result is only a little bit better compared to RGB565.

After having a look into the schematics of the display module (MB1063) the answer is clear: The display uses only 6bit per color component (=18bit RGB).

Best regards

Manfred
by
I customized Evaluation design into 24 bit RGB, not 16 bit anymore. I guess due to sw config but not found root cause yet.

Do you have any idea to fix it ?
by
Please adapt the settings and timings according your display within the file ew_bsp_display.c.

Please check that all 8 pins per color component are enabled and used.

Can you run the ColorFormats example with RGB565 and RGB888 and post a photo of both?
by

Original Image

 

 

New Image

@Manfred: let me send you the difference of originall image and displayed one in hardware

by

Hello, yes you can see that the gradients containing some steps - but you cannot see if the colors are shown with RGB565 (because of 16bit framebuffer) or RGB666 (because of 18bit interface). Therefore it was my idea to run the example ColorFormats that you will find in the subdirectory /Examples.

Please try both, RGB888 and RGB565 and post a photo of the result on your display.

Hopefully the steps within the gradients can give some answers.

by

 

@Manfred: I shared image

 

by

It seems to be o.k.

In the RGB565 version you can see 32 steps within the red channel and the 64 steps within the green channel.

In the RGB888 version you cannot see any steps within the red / green / blue channels. If the display is connected only via 18bits, you would see 64 steps in every color channel.

Can you put your image into the ColorFormats demo and check the result?

It should look like this:

by

@Manfred: this is the result I displayed in target hardware

by
It seems that there are 64 steps in every color component => this means, only 6bits per color component are used. I assume one of the following reasons:

a) The display is connected with 6bits per color component

b) The display is not able to show more colors (What type of dispaly are you using? Can you share a link to the datasheet?)

c) The lower two bits of each color component are not enabled
by

Hi Manfred

I agree with you that only 6bits per component are used. I don't know why. Let me answer your question

a) As I mentioned earlier, I customized H7 evaluation kit connected 8bits per color component. The hardware supported 24bit color already.

b) I attach LCD specs that I'm using.

https://ask.embedded-wizard.de/?qa=blob&qa_blobid=7960898510966455117

c) The LTDC configure already enable to 24 GPIO pin. If you need, I can share you LTDC configure sw that I'm implementing

Best regards

by
I think it is time to make some measurements on the display interface: For example, you can make a full screen red color gradient and then check all bits from R7 to R0 by using an oscilloscope.

Additionally, you can clarify with the display manufacturer if the display provides only an 8bit per color component interface and if it is really able to show 8 bit per color component.
by
I checked with display manufactured. They said that current LCD display only support 18bit color.

It might be seem root cause.

I'm requesting a new LCD dispay one (support 24bits) to verify again.

I'll let you know the results soon.

Thanks you in advance
by
Yes - it seems to be the root cause...

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

...