sukesh-ak / ESP32-TUX

ESP32-TUX - ESP32 / ESP32-XX Touch UX Template using LVGL to get you started
https://tux.sukesh.me
MIT License
237 stars 56 forks source link

Additional platforms: autodetect, Sunton-8048S070, Lilygo T-Display S3, M5Stack Core2 and CoreS3 plus some more #45

Open mhaberler opened 1 year ago

mhaberler commented 1 year ago

using LovyanGFX autodetection brings in a whole range of platforms, eg M5Stack Core2 and CoreS3, and probably lots of others

orientation and x/y vs y/x might need some love

upgraded to LovyanGFX/develop and lvgl 8.3.10

I've thrown in a platformio.ini config

tested with IDF 5.1.1

interested?

Michael

sukesh-ak commented 1 year ago

Looks interesting. I am aware of LovyanGFX autodetect. Have you tested it with different resolutions? The UI "was" designed with 3.5" in mind and then added few more later mostly should work with larger screens.

Had a plan to rewrite the project with few other things in mind. Got busy after that.

mhaberler commented 1 year ago

resolutions: the Sunton board is 800x480 the Lilygo T-Display is 320x170 (a tad cramped and barely usable)

I decided to take a break from Arduino hell and used your project as a nontrivial ESP-IDF learning example, and for exploring LovyanGFX eventually figured out how to the same thing from platformio - I learned a lot from your code, great job!

I'm looking forward to the lv_observer pattern, that should simplfiy things significantly

if you want to take the PR further - I'm on board

we can also leave the PR as an inspiration for latecomers

sukesh-ak commented 1 year ago

resolutions: the Sunton board is 800x480 the Lilygo T-Display is 320x170 (a tad cramped and barely usable)

I decided to take a break from Arduino hell and used your project as a nontrivial ESP-IDF learning example, and for exploring LovyanGFX eventually figured out how to the same thing from platformio - I learned a lot from your code, great job!

I'm looking forward to the lv_observer pattern, that should simplfiy things significantly

if you want to take the PR further - I'm on board

we can also leave the PR as an inspiration for latecomers

Thanks for the update. I use Arduino only for quick prototypes. Otherwise prefer ESP-IDF for projects. PlatformIO is just a build system and makes things easy due to integration with VS Code.

I saw you have started playing with lv_observer pattern. I have to update the project with API changes to new lv_observer pattern. If in case you have a chance to do the same, will merge it.

Once that's done, I also have to update the web installer. Not sure you got a chance to check the web installer. https://tux.sukesh.me

mhaberler commented 1 year ago

Hi Sukesh, I used your project as a well-structured IDF example which can be extended to many displays thanks to LovyanGF, and to learn from it

so I'll not be going for an observer rewrite - to the contrary I'd be curious how you go about it as there are next to no examples ATM

go for a develop branch and I'll keep an eye & comment

I think one of the more interesting aspects of lv_observer is that you can factor out instantiable components whose only link to the rest of the code are subjects

one such candidate would be the battery icon

I'm doing one here (singleton) for my learning curve: https://github.com/mhaberler/arduino3-playground/blob/lvgl8-observer/test-ui/custom/ui_compass.c - taken from https://github.com/bareboat-necessities/bbn-m5stack-tough/blob/main/bbn_m5tough_active_boat/ui_compass.h