Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update LVGL, fix display drivers and examples #298

Merged

Conversation

PGNetHun
Copy link
Collaborator

@PGNetHun PGNetHun commented Oct 11, 2023

  • Rebased to feat/multi-instance branch commit #56bf132d
  • Update LVGL to latest commit: #a9960c62
  • Updated lv_conf.h config file to latest LVGL config changes (based on lv_conf_template.h)
  • Use lv.COLOR_DEPTH instead of lv.color_t.__SIZE__ to detect real pixel size
  • Fix display drivers: avoid color format NATIVE_REVERSED, use instead RGB565 swap bytes function (lv_draw_sw_rgb565_swap)
  • Fix typo in gen_mpy.py file. Related issue: couple of errors in gen_mpy.py code #251
  • Renamings in README.md file: Micropython -> MicroPython

PS:
this PR contains fixed (old) display drivers. I think it will be sufficient till the new display driver approach is finished (see: https://forum.lvgl.io/t/micropython-display-drivers-part-2/14131/9 )

@PGNetHun
Copy link
Collaborator Author

Rebased to 14058be

@PGNetHun
Copy link
Collaborator Author

Rebased branch to feat/multi-instance branch commit #7e0adef8

@PGNetHun PGNetHun changed the title Update LVGL and fix pixel size detection Fix display drivers and color mode, update LVGL config file, and fix pixel size detection Jan 2, 2024
@PGNetHun
Copy link
Collaborator Author

PGNetHun commented Jan 2, 2024

Please squash merge this PR

@PGNetHun
Copy link
Collaborator Author

PGNetHun commented Jan 4, 2024

@kisvegabor , @XuNeo
This PR contains updated lv_conf.h and fix for RGB565 (old) display drivers (using lv_draw_sw_rgb565_swap() function).
I have tested it (with ILI9341 display), and it works, my "old" MicroPython pet-project works with these changes.
So, I think after merging this (and #309 ) to multi-instance branch, we could think on merging multi-instance branch also to master branch, and update lv_micropython repo, too.
MicroPython (v1.20) binding with latest LVGL 9 changes seems to be (mostly) stable.
I think it is better to merge these LVGL 9 related changes to lv_micropython -> master branch, because that contains now an unstable version.

Other topic:
if it's OK for you, then I can help in LVGL-MicroPython binding changes as PR approver, or as maintainer "helper", so you can focus on LVGL itself.

@kisvegabor
Copy link
Member

@PGNetHun

if it's OK for you, then I can help in LVGL-MicroPython binding changes as PR approver, or as maintainer "helper", so you can focus on LVGL itself.

Thank you yo much for that! It would really help a lot. I'm not sure if you meant like that, but to work more effectively I can grant you write access to both Micropython repos. What do you think?

@PGNetHun
Copy link
Collaborator Author

PGNetHun commented Jan 5, 2024

@PGNetHun

if it's OK for you, then I can help in LVGL-MicroPython binding changes as PR approver, or as maintainer "helper", so you can focus on LVGL itself.

Thank you yo much for that! It would really help a lot. I'm not sure if you meant like that, but to work more effectively I can grant you write access to both Micropython repos. What do you think?

@kisvegabor , @XuNeo

Hello!
Yes, I want to stabilize/update the MicroPython binding so other developers can use it also; if it is okay for you, then please grant me the minimal permission to merge PRs (-> "write" access).

What do you think on my other question/request: merge multi-instance branch to master?
(I think that branch is stable enough (and will have up-to-date LVGL config with this PR) to merge to master)

A 3rd topic would be to have same contributing guidelines for these MicroPython repos just like for LVGL: issue/PR templates and commit message format.
(but of course a new commit "type" prefix would be needed only for LVGL update commits)

@kisvegabor
Copy link
Member

Yes, I want to stabilize/update the MicroPython binding so other developers can use it also; if it is okay for you, then please grant me the minimal permission to merge PRs (-> "write" access).

Write permission granted for both repos! Thank you for your help!

What do you think on my other question/request: merge multi-instance branch to master?
(I think that branch is stable enough (and will have up-to-date LVGL config with this PR) to merge to master)

I do agree to merge the multi-instance branch to master. We also need to update LVGL's CI here.

A 3rd topic would be to have same contributing guidelines for these MicroPython repos just like for LVGL: issue/PR templates and commit message format.
(but of course a new commit "type" prefix would be needed only for LVGL update commits)

I also agree. I think following LVGL's templates and rules is a good starting point. IMO the READMEs could be clean up as well and move the technical data to MicroPython's docs page.

@PGNetHun PGNetHun added the v9 Required for LVGL v9 compatability label Jan 6, 2024
@sam0910
Copy link

sam0910 commented Jan 8, 2024

greetings!
thank you so much for the updates.

GC9A01 display needs 'swap_rgb565_bytes=True' option for proper color display.
I found it is missing on PGNetHun:fix-color-format-detection/driver/esp32/ili9XXX.py

@PGNetHun
Copy link
Collaborator Author

PGNetHun commented Jan 8, 2024

greetings! thank you so much for the updates.

GC9A01 display needs 'swap_rgb565_bytes=True' option for proper color display. I found it is missing on PGNetHun:fix-color-format-detection/driver/esp32/ili9XXX.py

Fixed in a new commit

@PGNetHun PGNetHun changed the title Fix display drivers and color mode, update LVGL config file, and fix pixel size detection Update LVGL and fix display drivers Jan 8, 2024
@PGNetHun PGNetHun changed the title Update LVGL and fix display drivers Update LVGL, fix display drivers and examples Jan 8, 2024
@PGNetHun PGNetHun merged commit c17bcf3 into lvgl:feat/multi-instance Jan 8, 2024
1 check passed
PGNetHun added a commit that referenced this pull request Jan 23, 2024
* fix tests

* update LV_GC... defintions

* add guard around LV_USE_TINY_TTF in lv_conf.h

* update lvgl

* fix LV_USE_TINY_TTF redefintion

* disable LV_USE_FS_STDIO

* fix include path in MP ESP32 port

* disable the unused fonts

* Use lv_global_t as gc root

* Expose mp_lv_roots directly with LV_GLOBAL_CUSTOM

* Align lv_conf.h. Fix examples

* Bump LVGL submodule

Needed for lv_is_initialized fix

* update lvgl and the examples

* stm32 driver: replace LV_INDEV_STATE_PR/REL with LV_INDEV_STATE_PRESSED/RELEASED

* update lvgl and fix png example

* follow lvgl changes

* esp32 driver: rename disp to display

* update lvgl and lv_conf.h

* Update LVGL and fix binding for multi-instance and parallel rendering architecture changes

* Fix MICROPY_ config overrides

* Enable File Explorer widget

* Update LVGL

* Update lv_conf.h from latest LVGL config template

* Fix lv_conf.h macro closing issue

* enable lv_observer

* follow LVGL changes

* follow LVGL changes

* update lvgl

* update LVGL

* update LVGL

* update lvgl

* update lvgl

* update lvgl

* refactor(event): add _cb postfix to lv_obj_add_event()

* update lvgl

* update lvgl

* fix lv_conf.h

* fix lv_conf.h

* update lv_conf.h

* remove 'always_zero' from image header

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>

* use MICROPY_LV_USE_LOG to disable logs

* udpate lvgl

* disable logging for now

* enable MONTSERRAT_24

* fix(script): take forwarded declaration into consideration

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>

* fix(script): fix CI break

Should not sanitize the decl name that C struct uses. Only sanitize what
python will use.

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>

* Update LVGL, fix display drivers and examples (#298)

* Update LVGL and fix pixel size detection

* Update lv_conf.h

* Fix ili9xxx and st7xx color format NATIVE_REVERSED

* Fix display drivers

* Enable font Dejavu 16 persian hebrew

* Enable TinyTTF

* Enable IME Pinyin

* Enable File Explorer

* Fix GC9A01 display driver, and update LVGL config file

* Update LVGL

* Update ili9xxx, st77xx drivers and examples, remove lv.COLOR_DEPTH (#312)

* Update LVGL and display drivers

* Update LVGL and display drivers

* Update LVGL config: add ThorVG flags

* Update LVGL

* Fix examples to align to LVGL changes

* Fix examples to align to LVGL changes - 2

* Update LVGL config (#319)

* fix CI break by disabling LV_USE_LOG

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>

* fix(ci): temporarily disable LOG to make LVGL's CI pass

See https://github.com/lvgl/lvgl/actions/runs/7581068036/job/20647980102?pr=5393

* update lvgl

* Update LVGL (#321)

---------

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Co-authored-by: Amir Gonnen <amirgonnen@gmail.com>
Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
Co-authored-by: Xu Xingliang <xuxingliang@xiaomi.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v9 Required for LVGL v9 compatability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants