303 views
in Platform Packages by
Hi there,

We've used your product for 3 years now, and I'm asking this question because we getting requests from our customers for this. I understand that you compile resources which are optimised for a particular orientation, but we keep internal resources to a minimum, so maintaining multiple instances of a resource would not be a problem for us from a code space perspective. Our Embedded Wizard implementation is dynamic, and would adapt to the underlying orientation. We are not looking for orientation change whilst everything is running, just the ability to have a setting which is read on startup to have Embedded Wizard operate in a particular orientation. So, do you have such a development on your roadmap, even if it's planned for months down the line? We desperately want to avoid having to maintain multiple binaries as that can be a management nightmare.

Kind Regards,

Rob

1 Answer

0 votes
by

Hi Rob,

thanks for your message and the feature request, which we discussed once more internally.

In fact there are many aspects that have to be considered when talking about dynamic screen orientation. At the end the impact concerning runtime and/or memory footprint is so significant in many use-cases so that we are currently very hesitant to integrate some 'dynamic screen orientation' within Embedded Wizard Studio.

What can you do:

  • In case you are using an external display controller with its own graphics memory (e.g. ILI9341), it might be possible to change the orientation of the external display controller by changing the memory access configuration.
  • In case you are using a MPU with OpenGL ES 2.0, you can make a screen rotation by changing the orientation of the viewport. Then OpenGL will do the entire rotation.
  • In case you are using a MCU with an integrated display controller, you can use several binaries (each for one desired orientation) and launch depending on the desired screen orientation the corresponding binary. Of course, this requires up to four complete binaries and an additional bootloader.
  • Alternatively, in case you are using a MCU with a fast CPU, you can make a software rotation of the framebuffer. For that purpose, you can use an off-screen buffer to prepare the graphical content and write a small routine to transfer the content from the off-screen buffer into the framebuffer with the desired rotation. In case your GUI application supports a landscape and a portrait GUI, then you can define a square ScreenSize in your GUI project and a square off-screen buffer and transfer the content rotated into a landscape or portrait framebuffer. Due to the fact that the rotation operation (90, 180 or 270 degrees) has to be done by CPU on most MCU systems, it has a significant impact on the resulting performance on larger displays.
I hope one of the above solutions is suitable for your project.
Best regards,
Manfred.
by
Thanks Manfred for the comprehensive response and avenues to try, we'll go through it, and see if we can find something that will work for us,

Kind Regards,

Rob

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

...