-
-
Notifications
You must be signed in to change notification settings - Fork 969
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lvgl v8.0 #734
base: main
Are you sure you want to change the base?
Lvgl v8.0 #734
Conversation
It builds and I have gotten output using my hacks to dev on my nrf52833-DK, but it quickly crashes with memory issues. I have traced freeRTOS stack overflows on tasks with previous `usStackDepth` values: - "MAIN" - "displayapp" - "Heartrate" I've tried tweaking the stack/heap values but have always experienced memory corruption errors. I'm currently waiting for my pinetime devkit to arrive :) I've also enabled `configCHECK_FOR_STACK_OVERFLOW` and put a basic implementation of `vApplicationStackOverflowHook` in `rtoshook.c`. You need to set a breakpoint to read the task name unless you put in a log statement.
…kept in an lv_indev object in the lv_indev_ll. Store it as a member variable to keep it alive.
# Conflicts: # src/displayapp/screens/Alarm.h # src/displayapp/screens/SystemInfo.cpp
can't compile your branch locally getting error
do I maybe need to update a dependency (other than the |
- used basic objects instead of table - only updates squares that are changed - add indicator that shows which square is new
Fixed that, I never tried building the recovery image. |
Improve timer to not refresh screen constantly while running.
A bit more graceful and doesn't mess with any task schedulers.
Use flexbox for Quicksettings
fix arc theming fix notification scroll animation improved redundant drawing in steps, stopwatch
I will enabled Checks for this so it will build DFUs for testing as I see you make pushes. Good luck with this its on my to review list! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this an error with JUST lvgl8 or in the mainstream repo? If its in the mainstream maybe you should consider a backport/seperate PR for it.
Move all transition animations to the new logic
My pinetime DK is arriving tomorrow so I can finally start testing on the actual hardware soon. |
Removed the notification to protect the data/cmd lcd pin, instead stuffed that logic inside the mutex of the Spi driver... This probably isn't the BEST way to do it, but it's working great for now.
screen blanking errors should be fixed on real hardware! The ST7789 driver is a bit of a mess right now. I'd like to refactor it some time. |
This might be ready for a daily driver test. I'm going to work on cleaning up the event handlers over the weekend but those changes shouldn't change any function. |
Fix theming for basic labels. Add short url for github address.
@Quantum-cross Thanks for your work on this PR! It looks like the port to LVGL8 is not as straightforward as for previous versions! Have you already had the opportunity to check the memory usage (RAM and FLASH) since you've integrated LVGL8? We are already tight on memory, and I wouldn't want this updater to use too much of the remaining memory. |
@Quantum-cross got a build error again
broke with commit ce23767 |
@JF002 I don't know if that is what you're asking for, but the build output for ce63f51 shows the following memory usages
|
@Quantum-cross you might want to cherry-pick b13aec2 to fix the Game "Twos". On my simulator the initialization of the cell-objects ran out of memory, resulting in a segmentation fault. So I reverted to use |
I'm going to worry about performance optimization first right now, I'm messing with the ST driver and such. If I can't increase the speed of scrolling then I think lvgl8 is dead in the water. If I can fix the speed issues then I'll look into memory. I'm mostly just testing the |
I finally got round to testing this - I'm impressed with how much works! Yes the scrolling is a bit slow and the colors look washed out somehow? But it's huge progress! |
i think you should look in the memory first and it may allow more speed improvement |
Good to hear!!! Still working on the scrolling, colors may be washed out because I may not have copied the themes exactly. I'll have to go through and double check that later. Thanks for testing!
Sure, also there was talk about maybe combining the heaps of FreeRTOS and lvgl. Overall I have not had much time to work on this the past week. It's still near the top of my list though! |
I think this is a PR which is going to need extensive testing so there's no rush, and initial progress looks very promising. I did just run a DFU to the LVGL8 build though, and the DFU screen is very broken! It completed just fine, but if you want something easier to tackle than scrolling speed, there's that :-) |
@Quantum-cross Do you think there's any hope in updating this or is it easier to start over? As you've put a lot of effort into this and are more familiar with the changes required, do you know if there are things we could do in preparation for upgrading to make the process easier, like making some preliminary changes for example? |
Any updates on this? |
While creating InfiniSim I've based my development on this lvgl8 port. I think I got to a working state, but the memory consumption of lvgl8 was higher than lvgl7. Crashing the PineTimeStyle watch face with then new settings menu. Maybe that was a bug in lvgl8 and it is fixed now, but I don't know, as I've not tested it since then Anyways my work sprinkled with simulator based commits can be found here: https://github.com/NeroBurner/InfiniTime/commits/lv_simulation_lvgl8 maybe someone finds it useful |
Any chance the remaining bugs are fixed now and the upgrade is unblocked? |
Here's my first pass at upgrading pinetime to lvgl 8.
Still to do:
This is a WIP, I'm creating it as a draft. I'll keep yall updated here, but early feedback and testing is appreciated.
Ported theme!
Many fixes:
More fixes!!!
Resolves #616