Lv_micropython with latest lvgl 9 dev, feat/multi-instance branch

Greetings!

I know I could use the stable lvgl v8 with mp1.19, but mp1.20 has got some esp32 ble updates.
lv_micropython(master branch) has lvgl (4 JUL version).
At the moment I am lost on lvgl documentation. that version is not v8, nor is it the latest v9.

And I found many amazing things on the latest lvgl 9 dev, such as lv.layer_t :slight_smile:
I’ve tried to use feat/multi-instance branch to follow up.
I explicit the COLOR_DEPTH=16 in a compile option,

make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16" BOARD="GENERIC_SPIRAM"

I could not initialize the display driver(ili9XXXX) because of lv.color_t SIZE ,

>>> lv.color_t.__SIZE__ 
3
>>> lv.COLOR_DEPTH
16
>>> 
if lv.color_t.__SIZE__ != 2:
            raise RuntimeError()

I disable those line, but it shows wrong color matrix,
tried with colormode=COLOR_MODE_BGR, COLOR_MODE_RGB but same.

Should I wait for the public release ?

In version 9 you cannot use the size of lv_color_t.

There is a function now that will return the size in bytes that the color depth has been set to…

You also need to make sure you are using the correct color format. The color format is what determines the data that gets sent to the flush function not the color depth. You can set your color depth to 16 and the color format to 32 and you will get 32 bit color in the buffer when the flush function gets called.

1 Like

Hello @kdschlosser ,
Could you please review my PR?
It fixes the color format detection in drivers, and example files.
There is also another fix for gen_mpy.py.
If it’s approved, then I will rebase (to have latest LVGL submodule), and so it will be ready to merge.

PR: Update LVGL and fix pixel size detection by PGNetHun · Pull Request #298 · lvgl/lv_binding_micropython · GitHub

I am not the maintainer for the binding.

You should BE !!!

don’t want to be, got more than enough things I am doing already.