Jump to content

Table widget


Recommended Posts

Hello Joel!
I have a project that includes an STM32L476 and a display with an LT7381 video controller and a touch GT911. I initially tried using LVGL, but had to give up. The library required an unacceptably large amount of memory. That's why I turned my attention to uGFX. I really liked your library because it takes 10 times less memory than LVGL. For example, a project with LVGL takes up [ 230'184 bytes of readonly code memory; 134'912 bytes of readonly data memory; 86'600 bytes of readwrite data memory]. The same project with uGFX takes [33'700 bytes of readonly code memory; 3'027 bytes of readonly data memory; 33'159 bytes of readwrite data memory]. Additionally, I wrote touchscreen drivers using the Shape Drawing Engine. LVGL does not allow this feature.
In my project I plan to use Table widget. I found a similar Table widget on this forum. Very nice widget.


Unfortunately, the link to the Table widget archive is not active. How can I access the link?

Thanks for the answer!

Link to comment
Share on other sites

There are two links. One about midway down and one at the bottom of the thread. I just tried the one at the bottom of the thread and it seems to work (it downloaded something onto my mobile phone).

Give that a try.

Link to comment
Share on other sites

Thanks Joel! I use my own OS for STM32 and adapted uGFX. The development environment is IAR IDE, so some minor changes were required. I'll make adjustments to the Table and Spinbox widgets and post the results here. For example, I added the ability to determine the width of each table column, or the width will remain the same as it is now.

изображение_viber_2024-05-24_09-09-56-429.jpg

Link to comment
Share on other sites

Table widget has a problem - when changing the Page of Tabs, the Table does not update completely. I have now made a workaround. I detect an event from the page and call the Table update function that I had to add.
The second problem is rendering the Table on Page1, although the parent is specified as Page3. When rendered by an event from Page3, the Table is displayed on Page3. It looks like this. The program starts and displays Tabs and Page1 "Main states" with Table. I select the Page3 "Results" tab and see Table. Then I select the Page1 "Main states" tab without Table. How to solve this problem?

Link to comment
Share on other sites

I discovered a small detail: if you prohibit the Title rendering (#define GWIN_NEED_TABLE_TITLE  GFXOFF), then the display is made as it was conceived - only on page 3. I don’t know how it can help, because the code _drawTitle and _drawHeader  is almost the same.

Link to comment
Share on other sites

  • 3 months later...

This project was created in 2006 for BelAZ. A competition was organized, and we won among 4 participants. The first version was developed in 1 year. This is an industrial application in serial production. Now, of course, the following versions are used, but the interface design developed by me remains approximately the same. You can find a lot on YouTube. The circuit uses the Atmel AT91SAM7A3 controller, 128 KB flash and 96 KB RAM. The software uses FreeRTOS version 3 with a C++ wrapper. GUI is a deeply reworked someone's library. The entire software took about 60 KB, and graphic primitives and fonts - about 40 KB. Display control via a 16-bit bus. 24-bit address and 16-bit data. Thanks to the use of the built-in graphics accelerator and software tricks, it was possible to raise the fps to 100.

I learned a lot from this project.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...