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

Move from u8g2 library to lvgl library for OLED display. #67

Open
gautam-dev-maker opened this issue Jul 2, 2022 · 19 comments
Open

Move from u8g2 library to lvgl library for OLED display. #67

gautam-dev-maker opened this issue Jul 2, 2022 · 19 comments
Assignees

Comments

@gautam-dev-maker
Copy link
Collaborator

lvgl library seems more industry standard than u8g2 library. So we should rewrite all our OLED wrappers in lvgl library.

@gautam-dev-maker
Copy link
Collaborator Author

@Jamm02 @ChinmayLonkar @Sidshx has anyone been assigned to take up this task? or should I assign one for this?

@Sidshx
Copy link
Collaborator

Sidshx commented Aug 28, 2022

Picked up the task. @Premraj02 will be accompanying me.

@gautam-dev-maker
Copy link
Collaborator Author

@Sidshx any updates on the issue?

@Sidshx
Copy link
Collaborator

Sidshx commented Sep 15, 2022

Started referring resources on u8g2 and lvgl library and getting acquainted with the Wall-E codebase. Will be sharing an implemented work update soon.

@Jamm02
Copy link
Collaborator

Jamm02 commented Sep 21, 2022

@Sidshx updates?

@Sidshx
Copy link
Collaborator

Sidshx commented Sep 25, 2022

@Sidshx updates?

Imported and implemented the lvgl library, along with lvgl driver support for the esp-32. Configuration and hardware testing to be done at SRA tomorrow. Working with @Ayush-Kaura

@Jamm02
Copy link
Collaborator

Jamm02 commented Sep 27, 2022

Share results of application of the firmware

@Ayush-Kaura
Copy link
Contributor

Basic Hello World Code is flashed from examples of lvgl on esp32

@Ayush-Kaura
Copy link
Contributor

Bar for LSA Reading

@Ayush-Kaura
Copy link
Contributor

Sample Image Display

@gautam-dev-maker
Copy link
Collaborator Author

the logo can still be made a bit smaller to fit in OLED

@gautam-dev-maker
Copy link
Collaborator Author

gautam-dev-maker commented Oct 18, 2022

@Ayush-Kaura With next update also issue the draft PR for review.

@Ayush-Kaura
Copy link
Contributor

Ayush-Kaura commented Oct 27, 2022

Screenshot
Using LVGL v8.3, master branch had some api changes
Files Modified: lv_conf.h for setting lvgl related options inside LVGL folder, lvgl_helpers.c driver for ssd1306, oled.c and main.c inside src, CMakeLists
Link will open draft pr after some of below work done: https://github.com/Ayush-Kaura/sra-board-component/tree/lvgl_port

To-Do

  • lvgl requires functions like lv_task_handler, lv_tick_inc
  • overall functions structure in oled.c (function parameters to be passed)
  • i2cdevlib for mpu and lvgl

@VedantParanjape
Copy link
Member

VedantParanjape commented Oct 27, 2022

Screenshot
Using LVGL v8.3, master branch had some api changes
Files Modified: lv_conf.h for setting lvgl related options inside LVGL folder, lvgl_helpers.c driver for ssd1306, oled.c and main.c inside src, CMakeLists
Link will open draft pr after some of below work done: https://github.com/Ayush-Kaura/sra-board-component/tree/lvgl_port

To-Do

  • lvgl requires functions like lv_task_handler, lv_tick_inc
  • overall functions structure in oled.c (function parameters to be passed)
  • i2cdevlib for mpu and lvgl

We are already using i2devlib. Just check the source code. :)

@VedantParanjape
Copy link
Member

@Ayush-Kaura I don't see the code used to display all these things in the fork.

@Ayush-Kaura
Copy link
Contributor

We are already using i2devlib. Just check the source code. :)

Sorry I meant using the same for lvgl driver as done for u8g2 previously, so that we can use both mpu and oled together.

@Ayush-Kaura I don't see the code used to display all these things in the fork.

Added, https://github.com/Ayush-Kaura/sra-board-component/blob/lvgl_port/src/oled.c

@VedantParanjape
Copy link
Member

We are already using i2devlib. Just check the source code. :)

Sorry I meant using the same for lvgl driver as done for u8g2 previously, so that we can use both mpu and oled together.

@Ayush-Kaura I don't see the code used to display all these things in the fork.

Added, https://github.com/Ayush-Kaura/sra-board-component/blob/lvgl_port/src/oled.c

Also include the updated examples/oled source.

@Ayush-Kaura
Copy link
Contributor

Also include the updated examples/oled source.

https://github.com/Ayush-Kaura/sra-board-component/blob/lvgl_port/examples/oled/main/main.c

oled.mp4

@gautam-dev-maker
Copy link
Collaborator Author

As discussed do the following changes:

  • Use GLOB in CMakeLists.txt to add source files of LVGL instead of manually adding name of all files
  • use i2c_dev_lib and test with MPU6050 and OLED both together

Ayush-Kaura added a commit to Ayush-Kaura/sra-board-component that referenced this issue Jan 7, 2023
* lvgl release v8.3.3
* lvgl_helpers.c driver for ssd1306 display
* lv_conf.h config related to lvgl library
* Minor fixes
Ayush-Kaura added a commit to Ayush-Kaura/sra-board-component that referenced this issue Jan 13, 2023
* define macro of text to display with logo kconfig
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants