Update bindings to use LVGL as MicroPython user module#368
Conversation
* gen: update to MicroPython v1.23.x * lib: Allow using lv_utils in unix-macos port. Fix to allow using lv_utils with asyncio in unix-macos. * unix: Enable lv_binding_micropython as user C mod. * esp32: Enable lv_binding_micropython as user C mod. * feat(tests): Add tests for MicroPython test suite. * fix(init/deinit): Properly init/deinit lvgl module. Properly handle root pointers on lvgl init/deinit which fixes init error after a soft reset (see #343). * fix(gen_mpy.py): update lv_to_mp float conversion. Upate for lvgl 9.2.x see diff in lvgl @ 84b28ff * fix(esp32): lvgl component error in idf v5.2.x. * fix(lv_conf): enable LV_USE_PRIVATE_API for v9.2.0 * fix(build): enable LV_CONF_PATH option This allows to set custom `lv_conf.h` file per board in `mpconfigboard.(h,cmake)` * fix(tests): fix testdisplay, add hwdisplay example * feat(lvgl): update to lvgl v9.2.2 * fix(makefile): use CLFAGS_USERMOD * feat(lvgl): update to latest v9.3.0 * fix(tests): fix testdisplay and add calibrate tool * fix(build): fix LV_CONF_PATH option for CMake --------- Co-authored-by: Carlosgg <carlosgilglez@gmail.com>
|
FYI: Unix, ESP32 and ESP32-S3 builds are working. |
@PGNetHun in my case CI was failing because the commit 7738609d2f5c1148bedefeff7ba9fa318958afd3 (HEAD -> lvgl-dev-master, myfork/lvgl-dev-master)
Author: Carlosgg <carlosgilglez@gmail.com>
Date: Mon Jun 24 02:17:43 2024 +0100
fix(micropython) lvgl module deinit
Properly deinit lvgl module so it can be initiated after a soft reset.
diff --git a/src/lv_init.c b/src/lv_init.c
index 18a2e0857..2d1479273 100644
--- a/src/lv_init.c
+++ b/src/lv_init.c
@@ -484,6 +484,14 @@ void lv_deinit(void)
lv_log_register_print_cb(NULL);
#endif
+
+#ifdef LV_GC_DEINIT
+ LV_GC_DEINIT();
+#endif
+
+
+ return;
+
}
/**********************So now that these changes are merged, would be appropriate to open a PR in lvgl repo with this commit and then update lvgl submodule here. Then CI should work as expected. 👍🏼 |
|
Hello!
I have also a separate PR for LVGL repo, that should fix the MicroPython CI build in LVGL repo: |
Update bindings to use LVGL as MicroPython user module.
Based on PRs:
Kudos to @andrewleech and @Carglglz for their work on transforming LVGL-MicroPython binding into user module.
Remaining TODO:
espidf.ccompilation, and soILI9xxx.pydisplay driver