732 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 - Archive

Welcome to the Ask Embedded Wizard archive. This community forum served us well for many years, but we've evolved our support approach!

Your resources:

The Embedded Wizard Online Documentation provides comprehensive documentation, tutorials, examples and ready-to-use software packages.

For dedicated assistance, explore our Embedded Wizard Product Support.

You can still browse the valuable discussions from our community history here.

Embedded Wizard Website | Privacy Policy | Imprint

...