SRA-VJTI / sra-board-component

ESP-IDF component for SRA Board
https://sravjti.in/sra-board-component/
MIT License
36 stars 20 forks source link

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

Open gautam-dev-maker opened 2 years ago

gautam-dev-maker commented 2 years ago

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

gautam-dev-maker commented 2 years ago

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

Sidshx commented 2 years ago

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

gautam-dev-maker commented 2 years ago

@Sidshx any updates on the issue?

Sidshx commented 2 years ago

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 commented 2 years ago

@Sidshx updates?

Sidshx commented 2 years ago

@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 commented 2 years ago

Share results of application of the firmware

Ayush-Kaura commented 2 years ago

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

Ayush-Kaura commented 2 years ago

Bar for LSA Reading

Ayush-Kaura commented 2 years ago

Sample Image Display

gautam-dev-maker commented 2 years ago

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

gautam-dev-maker commented 2 years ago

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

Ayush-Kaura commented 2 years ago

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

VedantParanjape commented 2 years ago

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 commented 2 years ago

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

Ayush-Kaura commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

Also include the updated examples/oled source.

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

https://user-images.githubusercontent.com/74896007/198845948-6b17e698-d57e-4b10-b9dc-6bd1905872fe.mp4

gautam-dev-maker commented 2 years ago

As discussed do the following changes: