General Category > Discussion - Software

EVE - How to draw an Arc with a line thickness

<< < (2/2)

jberkhout:
So it still is possible, indirectly. This simple demo shows endless possibilities using EVE displays.
In the captured screenshots, there are just two items shown: the text at the top and just below it a rather large
480x320 RGB565 bitmap, which is entirely rendered by the MCU. But multiple smaller bitmaps can be used as well, the MCU can update the one of choice.
For this demo, the display and SD-Card were interfaced in 4-bit mode, and bus masters were used to transfer data, without CPU intervention.
An ARM Cortex-H7 running at 480MHz was used, but an (multi-core) MPU can be used as well. The SD-Card was mainly used to save the screenshots.

This is not a replacement for the EVE graphics, but rather an addition. The EVE should be used as much possible, it's blazing fast, we can't beat that with rendering by using the MCU.
We should use the MCU for rendering only when really needed:
- we need non-static graphics
- it's not possible to render it using EVE commands
- it's eating the display-list
- we don't need to render too much
- on-time only (startup) renderings, like styled buttons

Combining EVE commands and MCU rendering is flexible, it allows custom gauges, graphs and widgets which require dynamic updates.

The Gauge on the top right was rendered in 21mS using 4x-anti-aliasing for 100x100 pixels. Using 2x-anti-aliasing it takes 5mS and without it, it takes less than 750uS. Text is always using anti-aliasing, but is done very efficient, it isn't noticeable slower than non-anti-aliased fonts.
Without AA, the images still look pretty good, useful when there are many of those to update.



For this demo, the MCU wrote images to an EVE bitmap, rotated and scaled. Just nice, if we need it in a custom rendered image. Less artifacts but slower when done by the MCU.



A nice example of pixel-level access: we can zoom in endlessly on the Mandelbrot set, by touching a point of interest, getting new interesting views of it. Each rendering is unique.
You won't even be able to get the same picture ever again if you start it over, using touching.










Navigation

[0] Message Index

[*] Previous page

Go to full version