183 views
in Platform Packages by
Good morning,

I'm evaluating your SW (Embedded Wizard Studio) to decide if with your SW I can develop a GUI for ESP32 for different display size (and
subsequently buy the Small Business License)
:
At the moment my goal is to develop with ESP32 a GUI for this kind o f display:
- a 2,83" display (320x240);
- a 5" display (800x480);
- maybe also for a 7" 800x480 or 1024 x 768 .

Obviously, I'm using your Studio Free edition, and I'have tried to develop some basic GUI pages using effects and other widgets (i.e property widget to communicate with my device -read ADC value and other variables).
I have tested the GUI project with the 2,83" (320x240) with some effects (i.e. move point on the screen or change color using Pulse Color with Timers) and the GUI seems to work correctly with 320x240 (ILI9341 driver display)
After, to decide if your SW is the right one for me, I have create a C language driver to use my 5" display in SPI. So I'have created a new driver based upon your ILI9341_SPI.c and .h files to use the 5" display driver (it is RA8875 driver by RAIO). I have correctly setted the register with the _Init() function and I'have obviously changef  the _WriteDataWindow() function.
After that I'have created a new GUI for this screen size (800x480) (I've seen that there is the possibilties to use the Variant function, but now cause I'm on testing I prefer to create a new one GUI)
After that I've seen that on the display I can see the GUI that I'have created but only "static" images.
If I try to use some of your Effect (i.e. Move Points on the screen or Pulse Color effects), the display seems to draw some kind of artefact on the screen.
So I'have made on other test,  I'have changed the GUI deactivating this effects to draw only simple static image or text or rectange on the screen, and I've develop the use of interaction beetween my devices and the GUI to print one variable (read ADC()).
I'have follow your example of this link: https://doc.embedded-wizard.de/device-class-property?v=9.30
And what I' see is that I can confirm that with the driver I made, the display work correctly if I draw "static" image , text, or rectangle and so on, it draw the objects in ther right places and in 800x480 size, but when I try to update the Widget "Value Display" on the screen with the ADC value of the device (using the Device Class Properties), the GUI draw yet some strange artefacts on the screen...

So the questions are: I'm doing something wrong? Or maybe there is some kind of "block" with the studio free edition and I' cannot change the screen size from the default 320x240 size ?? Is it possibile to use a 800x480 display or other display size (even more bigger) with ESP32 platform, because I think that your IDE Studio is very helpful to develop beatiful GUI and for my purpose.

Thank you in advance for your answer.

1 Answer

0 votes
by
Hello,

first of all, thanks for your interest in our GUI solution Embedded Wizard and your detailed description.

In principle you have done everything that is needed to work with a different display driver and with a different screen resolution. So that's fine. Also there is no limitation within the free edition of Embedded Wizard that could block your evaluation.

From what I have understood (without having seen your code) I assume that the first screen update works fine (where the entire screen is copied to the external graphics memory) - but as soon as there are partial screen updates, the resulting image on the display is garabage.

Please note, that Embedded Wizard Graphics Engine reduces the update areas to a minimum so that only the "dirty rectangle" is redrawn. As a result, the graphics driver must be able to update a window (= a rectangular area) of the display memory (GRAM).

Please check your driver implementation to make sure that updating a rectangular area is possible.

Some further ideas: Please check also the SPI settings and the supported data rate of your display.

Finally, please note, that SPI is not a very fast data interface for displays. I do not expect very impressive framerates on a 800x480 (or higher) display...

Best regards,

Manfred.
by
Hello Manfred,

Thank you very much for your fast and accurate answer!!! Yesterday, as I read your answer I check immediately the SPI driver that I made for RA8875, in particular the function that write the Window Active Area of the RA8875 before writing to GRAM and I see that I made a mistake with the address of one of the 4 register (x,y,xend,yend).

Thank you very much!!

Now, it works very well also with 800x480 size.

Obviously as you say, with SPI there isn't an impressive framerates when I update the entire 800x480 area, but my application is mainly a thermostat with some other usefull function that updates only small window area, so rarely I need to update the whole area. Actually when I update the full 800x480 frame is only when I change the page of my GUI, so, I see that if I play with the backlight by reducing it during the update and restoring it when the update is completed I have a good solution for my purpose.

Nonetheless, in the next days, I try to develop an 8bit parallel driver for RA8875 to see if I can further increase the speed of the update procedure of this display size.

I'm now in contact with your Italian distributor for commercial information of the 2 types of license.

Thank you, Best regards.

Emanuele Orsi
by
Hi Emanuele,

thank you for your feedback! Great to hear that it works fine now...

Best regards,

Manfred.

Embedded Wizard Website | Privacy Policy | Imprint

...