Hi guys!
Equipment: ESP32S3 (N8R8)-devkitc-1
Env: idf-4.4 # micropython 1.19.1 # lvgl /lv_binding_micropython & lv_micropython
os: ubuntu20
Micropython compiles and works correctly. But the micropython that switched to lvgl has been compiled unsuccessfully, and has been compiling errors.
For example “/micropython/py/mpstate.h:293:40: error: ‘mp_state_vm_t’ {aka ‘struct _mp_state_vm_t’} has no member named ‘_lv_group_ll’”, I searched for files and couldn’t find “_lv_group_ll”
I’m going to have a meltdown!!!
Is there any tutorial that helps me compile lvgl_micropython normally and burn to esp32s3 (N8R8)
**The compilation environment cannot be changed
Hi @caesarken !
Don’t melt down just yet!
esp32s3 is not yet supported.
lv_micropython only supports esp32 today.
See:
opened 09:01PM - 29 Jul 22 UTC
help wanted
Sponsored
[Micropython](https://github.com/micropython/micropython) already supports [ESP3… 2, ESP32-S2, ESP32-C3, ESP32-S3](https://www.espressif.com/en/products/socs).
However [lv_micropython](https://github.com/lvgl/lv_micropython) only supports ESP32 today.
The goal is to **add support for ESP32-S2, ESP32-C3, ESP32-S3 in [lv_binding_micropython](https://github.com/lvgl/lv_binding_micropython) and [lv_micropython](https://github.com/lvgl/lv_micropython)**.
This includes:
- [ ] Fix [lv_micropython](https://github.com/lvgl/lv_micropython) and [lv_binding_micropython](https://github.com/lvgl/lv_binding_micropython) to correctly build the [lv_micropython ESP32 port](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32) for [GENERIC_S2](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/GENERIC_S2), [GENERIC_S3](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/GENERIC_S3), [GENERIC_C3](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/GENERIC_C3) boards (or [their equivalents](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards)).
Each should be built with the correct ESP-IDF version as explained in [Micropython ESP32 port README](https://github.com/lvgl/lv_micropython/blob/master/ports/esp32/README.md#:~:text=ESP32%2DS3%20currently,v4.3.1%20or%20later.).
- [ ] Fix the CI to test them. Currently [these boards are disabled in the CI](https://github.com/lvgl/lv_micropython/blob/58948c2fb1aa2286c9b41be1775d96c38ba1ed20/tools/ci.sh#L138-L146) on lv_micropython.
- [ ] Fix the esp-idf micropython module ([auto generated](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/mkrules.cmake#L129-L151) from [espidf.c](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/espidf.c) and [espidf.h](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/espidf.h)) to build correctly on all ESP32, ESP32-S2, ESP32-C3, ESP32-S3 and provide the [ESP-IDF API](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/espidf.h#L121-L130) needed for the drivers (gpio, spi, dma, adc, i2s, pcnt, mdns, http client, sh2lib). Currently all these APIs are provided for ESP32 only.
- [ ] Fix and test the ESP32 display drivers [ili9341](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L539) [ili9488](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L591) [gc9a01](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L638) [st7789](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L724) [st7735](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L776) and input drivers [modrtch.c](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/modrtch.c) [modxpt2046.c](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/modxpt2046.c) [xpt2046.py](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/xpt2046.py) with ESP32-S2, ESP32-C3, ESP32-S3.
- [ ] Fix documentation ([lv_binding_micropython README.md](https://github.com/lvgl/lv_binding_micropython/blob/master/README.md) and [lv_micropython README.md](https://github.com/lvgl/lv_micropython/blob/master/README.md)) to reflect the support for ESP32-S2, ESP32-C3, ESP32-S3 and provide information on how to build them.
- [ ] Provide at least one video for each of ESP32-S2, ESP32-C3, ESP32-S3, with at least one display, showing lv_micropython running some examples.
- [ ] Make sure existing ESP32 support is not impacted by these changes and runs correctly.
Related issues:
- https://github.com/lvgl/lv_binding_micropython/issues/208
- https://github.com/lvgl/lv_binding_micropython/issues/197
- https://forum.lvgl.io/t/micropython-v1-19-1-and-lvgl-v8-3/9340/2
---
This is a **sponsored issue**, meaning that if someone implements it he or she gets a payment from the [Accumulated donations of LVGL](https://opencollective.com/lvgl). Learn more [HERE](https://github.com/lvgl/lvgl#heart-sponsor).
**We can give 100 USD for fully implementing this.**
CC: @kisvegabor @embeddedt