Skip to content
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

[Page Update][Enhanced Function]Support the LVGL 9 on XIAO Round Display #1236

Open
MatthewJeffson opened this issue May 29, 2024 · 15 comments
Labels
3 days This assignment takes about 72 working hours Project Wanted Tier 2 This is Tier 2 task

Comments

@MatthewJeffson
Copy link
Collaborator

Overview

We need your help to run LVGL 9 seamlessly on XIAO Round Display, with full display and interaction capabilities, and make it easy for other developers to get started through the wiki documentation.

  • LVGL 9 Integration: Ensures that the LVGL 9 graphics library fully supports the Display features of XIAO Round Display.
  • Functional verification: Implement basic display functions such as rendering text, graphics, and touch response (if the display supports it).
  • Wiki needed: Write detailed integration guidelines and sample code to help developers understand how to use such displays in their projects.

How do we work together?

  • Leave a comment with your GitHub name below as you accept this assignment and will complete the contents about what we are trying to present.
  • The maintainer will assign and record you as our only contact for this assignment.
  • You can first Deploy this Wiki Platform Locally (The entire source code .zip file is only 30 M)
  • You will be invited as our "Contributor" once you "Pull Request".
  • The maintainer will review the PR and then merge.

What do we offer?

We want to express our gratitude to our contributors by offering a range of rewards. Depending on the difficulties(Tier 0/1/2/3), the time we expect(Days 1/3/7/15), the actual submission time and the actual submission contents, we will offer different levels of rewards.

  1. We will provide our products or cash bonus to our contributors as a token of appreciation.
  2. For those contributors who join our "Ranger Program"(announced soon), we offer even more exciting rewards, including access to our prototype products.
  3. In addition, all contributors and their contributions will be acknowledged and showcased on our wiki platform.

FAQ

  • For any question, the contributor can directly commend here.

I think I can complete the assignment, but I need more time?

  • The timeframe here is based on our old experience, from people who has done it or something like that.
  • However, many projects will take much more time under actual circumstances (including the main language of the contributors receiving the task and the actual creative difficulty)
  • You can leave the time you need and a brief reason, we will evaluate the situation accordingly.
Copy link

👋 @MatthewJeffson

Thank you for raising an issue. We will investigate into the matter and get back to you as soon as possible.
Please make sure you have given us as much context as possible.

@MatthewJeffson MatthewJeffson added 3 days This assignment takes about 72 working hours Project Wanted labels May 29, 2024
@Timo614
Copy link
Collaborator

Timo614 commented May 29, 2024

I can grab this one next if no one takes. I have a round display on hand and have been meaning to put it to use so would be an interesting project to get lvgl and the touchscreen working for it.

@MatthewJeffson
Copy link
Collaborator Author

Nice, thank you Tim!

@Timo614
Copy link
Collaborator

Timo614 commented Jun 8, 2024

I think this may already exist in a sense:
https://wiki.seeedstudio.com/using_lvgl_and_tft_on_round_display/

The associated library was recently updated to support lvgl 9 so it may already work following the existing guide:
Seeed-Studio/Seeed_Arduino_RoundDisplay@2c1e0aa

I could run through the wiki for each element ensuring it still works with the updated library re: the functional verification. Will confirm if there's value in adding another wiki page / significant API changes.

@Timo614
Copy link
Collaborator

Timo614 commented Jun 8, 2024

I tried with LVGL 9 but the UI is not responsive with the demo code. Guessing some changes will need to be made to further support it / some underlying issue.

Will investigate further here as part of this. Did not run into any problems with LVGL 8. The UI does load just can't click anything.

@Timo614
Copy link
Collaborator

Timo614 commented Jun 9, 2024

I think it would be better if someone else grabbed actually. I realize my schedule is a bit hectic for the next month and my first pass at debugging wasn't fruitful / don't want to get too bogged down trying to sort out the issue. If time permits in the future will take another stab but someone else can grab this for now. 👍

@Timo614 Timo614 removed their assignment Jun 9, 2024
@MatthewJeffson
Copy link
Collaborator Author

@Timo614 Hello Tim! Yeah we do have some developments but they are not finished and that's why we launched it.:)

@MatthewJeffson
Copy link
Collaborator Author

And no problem at all for the issues. I will have it reopened until we found someone or you can carry on:D
Thank you for your efforts!
Best Regards,
Matthew

@Timo614
Copy link
Collaborator

Timo614 commented Jun 26, 2024

I spent a little time here and was able to debug the issues and fix the library locally. I'll push up a pull request for the associated library with the fixes to get LVGL 9 working there once I have a chance to confirm the various Xiao models work with it and those other libraries.

For the wiki what were you thinking? Most of what would apply to LVGL 8 also applies to LVGL 9. I could just make a demo app of some form to show off the functionality in some way but I think the old pages are still applicable.

LVGL 9 also has built in driver support for TFT_ESPI but I kept things in the repo using the custom driver (still TFT_ESPI) for compatibility with the earlier versions.

@Timo614
Copy link
Collaborator

Timo614 commented Jun 26, 2024

Pushed up Seeed-Studio/Seeed_Arduino_RoundDisplay#5 -- going to test it further tomorrow but after those changes I was able to use LVGL 9 on the Xiao RP2040 and use the touch functionality (the buffer's type needed to be adjusted and the tick functionality changed from LVGL 8 w/ an env var to the callback API approach which was preventing touches from being recognized prior to the change).

@MatthewJeffson
Copy link
Collaborator Author

Wow! Thank you Tim! @Timo614 For the updated wiki, I think you can add one portion in the same page:
https://wiki.seeedstudio.com/using_lvgl_and_tft_on_round_display/

and it might be something like...:

Image

@MatthewJeffson
Copy link
Collaborator Author

And I will contact our R&D apartment for the PR:D

Best Regards,
Matthew

@Timo614
Copy link
Collaborator

Timo614 commented Jun 26, 2024

Oddly enough I'm struggling to get TFT ESPI working for any of the demos on my ESP32 based Xiaos (even before the LVGL 9 code / can't get LVGL 8 working). There must be some other incompatibility with the newer stack or my machine in the mix. Going to take another break from debugging this if anyone else wants to take a look. That other PR should address the RP2040 issues though in the meantime.

@MatthewJeffson
Copy link
Collaborator Author

Ops, okay! XD

@Priyanshu0901
Copy link
Contributor

Hey @Timo614 ,
I was working with the Xiao Expansion board with oled display and Xiao s3. LVGL 8 is working properly. Can you share me the git repo for this or hit me up on discord. I might be able to help you out with the ESP32 issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 days This assignment takes about 72 working hours Project Wanted Tier 2 This is Tier 2 task
Development

No branches or pull requests

3 participants