BUILD ERROR using .c Graphics and Touch Drivers

WSL2
Ubuntu: 20.04.2 LTS
esp-idf: v4.2
lv_micropython: v1.15-814-gc4bf00a79
Python: 3.8.10
cmake: 3.10.2

I still need to build with .c versions of…
modILI9341.c
modxpt2046.c

/ports/esp32/mpconfigport.h
un-coment
    extern const struct _mp_obj_module_t mp_module_ILI9341;
    extern const struct _mp_obj_module_t mp_module_xpt2046;
and
    { MP_OBJ_NEW_QSTR(MP_QSTR_ILI9341), (mp_obj_t)&mp_module_ILI9341 },  \
    { MP_OBJ_NEW_QSTR(MP_QSTR_xpt2046), (mp_obj_t)&mp_module_xpt2046 },
/home/rmg/mnt/c/SmartLOG/FW/Build/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(objmodule.c.obj):(.rodata.mp_builtin_module_table+0x13c): undefined reference to `mp_module_ILI9341'
/home/rmg/mnt/c/SmartLOG/FW/Build/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(objmodule.c.obj):(.rodata.mp_builtin_module_table+0x144): undefined reference to `mp_module_xpt2046'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
make: *** [Makefile:35: all] Error 2

These are obsolete and no longer maintained.
They were replaced by ili9XXX.py and xpt2046.py, please try to use them instead.

THEY SHOULD NOT be replace until your phthon drives (ili9XXX.py & xpt2046.py)
can share an SPI bus with Display, Touch, SD Card… or anthing else.
Currently only the .c drivers are able to accomplish this !!!
We have gone over this soooooooooooooooo many times.
Please prove me wrong… it would make my life so much easier !!!

My decision was not to maintain the C drivers as we discussed in the past.
LVGL is an open source project so you (or anyone else) are welcome to maintain them on your fork.

I understand that you are still facing issues with the Python drivers trying to share the SPI bus with SD card. My goal is to improve the supported Python drivers so I’m willing to help you debug these Python drivers issues, but I’m not going to spend more time supporting the C drivers.

There was also an issue with lvesp32 module and BLE.
On the latest version we removed the lvesp32 module and replaced it by a generic pure Python event loop. This new event_loop solves some issues that we had with lvesp32 module and hopefully also solves the BLE issues. It also provides new features such as uasyncio support.

1 Like