Color channel allocation for custom IMXRT 1050 hardware

asked Mar 6, 2019 in Platform Packages by hemantgct

We are setting up the display of our custom IMXRT 1050 Hardware. We have managed to bring up a test picture on the display using Embedded Wizard GUI appliaction (evaluation edition).

It appears that the default color channel allocatoon does not fit our custom HW, so the colors are inaccurate on the display.

We tried modifying the EW_COLOR_CHANNEL_BIT_OFFSET_XXX in the ewextfx header but our changes are not reflected. It seems these are already defined in the pre-built  libewgfx-m7-gcc.a (which we can not re-build) so our changes seem to not take effect.

Please let us know how we can adapt the color channel in our software.



2 Answers

0 votes
answered Mar 7, 2019 by Manfred Schweyer
Hello Hemant,

in case you are using the libraries, the color order is already fixed and cannot be changed by redefining the macros. In case you using the Professional Edition (which comes with source codes) you can change the order.

Nevertheless, the color order within the i.MX RT1050 is fixed - so there should be no need to change that.

But maybe you changed the red and blue channel of your display.

Which edition and version of Embedded Wizard are you using?

Best regards,

commented Mar 8, 2019 by hemantgct
Hi Manfred,

Thanks for the feedback. We are using version 9.0 of Embedded Wizard (Embedded Wizard Studio Free 9.00).

I checked with our hardware team and they say that the display lines are correctly mapped.

Can you please tell us the default color order for the iMXRT 1050 EVB?

On the eval board, we used GUI application with Color Format RGBA8888 and faced no issues, our hardware team however says that for iMXRT it shall be RGB565 only.

Can you please clarify how the color channels are interpreted? is the Alpha channel discarded when using RGBA8888?


commented Mar 8, 2019 by Manfred Schweyer
Hello Hemant,

in case you are using the RGBA8888 color format, the alpha channel is discarded and not used for the display. However, if the target supports several hardware layers (e.g. one layer for GUI and one layer for video) the alpha channel is useful to create transparent areas to show the video or to put the GUI on top of the video layer.

In case you have one hardware layer and the display is connected with RGB565, it is sufficient (and more efficient) to use the RGB565 color format.

Concerning the hardware layout - please compare your hardware with the schematics of the IMXRT1050EVKB. Somewhere must be a difference. If the layout (used hardware pins) are different, please check your setting within the pin_mux.c file.

Can you try the provided example ColorFormats (use RGBA8888 and RGB565) and post a photo in order to see what is the result on your display?

Thanks and best regards,

commented Mar 11, 2019 by hemantgct
Hi Manfred,

We have found the cause of the issue. Unlike the EVB which used RGB565 display, our custom setup uses RGB888 display.

The problem was in this part of code in ew_bsp_display.c, which we didnt update correctly for our setup

    .pixelFormat = kELCDIF_PixelFormatXRGB8888,
    .dataBus = kELCDIF_DataBus16Bit

=> for our case .dataBus = kELCDIF_DataBus24Bit. With this the color space is rendered correctly.

However we still see that gradients in the HMI appear patchy and do not appear as smooth as on the Win32 prototyper. Is it because of using a RGBA8888 framebuffer with RGB888 display?



commented Mar 11, 2019 by Manfred Schweyer
Can you execute the provided example ColorFormats (use RGBA8888 and RGB565) on your target and post a photo in order to see what is the result on your display?

Thanks and best regards,

0 votes
answered Apr 24, 2019 by WWestlund
I am sorry I missed this question. We had the same problem, and came to the same conclusion.  Cheers!

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