-
Notifications
You must be signed in to change notification settings - Fork 152
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
Implement LVGL #434
Implement LVGL #434
Conversation
Comparison of the flash size, before and after:
|
As a bare minimum for leveraging LVGL, I added scrolling labels for long values. The main one would the the pool url, which is not restricted to 20 characters. |
After 17 hours uptime, nominal hashrate and no memory leaks as far as I can tell. |
Using LVGL 9.2 with this display is blocked by espressif/esp-bsp#392. |
@mutatrum can you rebase this patch. |
7d8b2fb
to
7a25942
Compare
Ok, it's clean now. Squashed everything into a single commit. Some notes:
|
I opted to do an almost 1-to-1 implementation first to get a clean change-set. The next step would be to inverse the control of displays, and have it refresh values live. This means that a lot of code from |
There is a crash if the lcd panel isn't installed (or broken) that will need to be fixed.
|
Without a display, it only fails on the
|
Free Heap Memory changed drastically for me, maybe related to the sdk changes? |
Ah yep. If I use the old sdkconfig heap is the same as in previous versions
|
No it's not the sdk version, it's enabled because the n16r8 has 8MB of PSRAM on board. This is enabled by:
As said above, not 100% sure about this. I think this is the model that's on the BOM, so I would assume everyone picked this variant. But no way to know for sure. I have a few other S3's, but they are all the same variant so I cannot test otherwise. |
Yea - I would def prefer reducing the scope of the changes to make it easier to test, reduce the chance of red herrings etc and you can open a second PR if you want to make additional changes. |
Oher than that this PR looks solid now. |
Current free ram after an hour: 92k. I'll run it for a while to see if this causes issues. |
Still 92k free ran after 16 hours. Not a lot but stable. |
Probably better to bump this over to at least the next version. I think they'll merge the fix for LVGL 9.2 soon, and I want to move to a minimal |
After rebase on top of 2.4.0, free memory is ~71kb. Binary size is a tad smaller due to disabling all unused LVGL features. |
This looks good to me.. Are we waiting for LVGL 9.2 support to merge? |
Missed your comment, yes, at this point I would wait. Fix on their side needs approval and merge, which should only take a few days. |
I'll keep an eye out, otherwise maybe get the PSRAM enabled as well for this? |
|
superseded by #539. |
This PR adds LVGL 8.4 and refactors all current screens to use it.
The font is from https://int10h.org/oldschool-pc-fonts/fontlist/font?portfolio_6x8, converted to an LVGL font. There are also other fonts available, but currently unused.
The logo bitmap has been re-converted into an LVGL image.
This is a very basic implementation, almost pixel perfect close to the current screens. I think it makes sense to have this running for a while, to see if it's stable before venturing further into fancier usage of displays.
I haven't tested the self-test yet.
Fixes #299