Sergey Kushnir Posted May 22 Report Posted May 22 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!
inmarket Posted May 22 Report Posted May 22 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.
Sergey Kushnir Posted May 22 Author Report Posted May 22 Thank you very much! You helped me out a lot.
Joel Bodenmann Posted May 23 Report Posted May 23 Welcome to the µGFX community! Glad to hear that you like the µGFX library. Feedback like that is always welcomed Don't hesitate to ask if you have any further questions!
Sergey Kushnir Posted May 24 Author Report Posted May 24 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.
Sergey Kushnir Posted May 24 Author Report Posted May 24 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?
Joel Bodenmann Posted May 24 Report Posted May 24 Unfortunately, I won't be able help out with anything other than answering questions for the next week or so. I'm currently moving to a different apartment Apologies for the inconvenience.
Sergey Kushnir Posted May 27 Author Report Posted May 27 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.
Joel Bodenmann Posted May 28 Report Posted May 28 Would you be able to share a ZIP file with a minimum test case allowing to reproduce this problem? I will have to wait until the weekend but I will gladly have a look at it.
Sergey Kushnir Posted May 28 Author Report Posted May 28 Ok, Joel! I will prepare a project with this problem. It's not urgent, just curious how it happens.
Sergey Kushnir Posted May 29 Author Report Posted May 29 I have prepared a small project. I'm not sure if it's completely correct because I'm using the IAR IDE, but the main idea is there. I hope that you can get the effect that I got. Thak you! TableParentTabset.rar
Joel Bodenmann Posted September 16 Report Posted September 16 You seem to have been patient with me.... thank you In your initial post you mentioned that the problem you're encountering happens when changing pages. Is this by any chance related to this?
Sergey Kushnir Posted September 16 Author Report Posted September 16 Hi, Joel! I'm not a magician, I'm just learning. :). This is my software - BELAZ dashboard. 2006.
Joel Bodenmann Posted September 16 Report Posted September 16 Woah - that is awesome - good work! Is this the default dashboard for all BELAZ trucks or is this a retrofit that you're offering? If you like you can "showcase" your project in the "User Projects" section of this forum. That is always appreciated: https://community.ugfx.io/forum/6-user-projects/
Sergey Kushnir Posted September 17 Author Report Posted September 17 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now