rlottie for MCU
ajsb85 opened this issue · 16 comments
Dearest.
I want to get you interested in integrating rlottie into microcontrollers.
Let's port rlottie to Qt to MCU, emWin, awtk, TouchGFX, Arduino_GFX, Adafruit_GFX, LovyanGFX, TFT_eSPI, Ucglib, and more...
References:
https://github.com/lvgl/lvgl
https://github.com/zlgopen/awtk
https://github.com/moononournation/Arduino_GFX
https://github.com/Bodmer/TFT_eSPI
https://github.com/bitbank2/PNGdec
https://github.com/lovyan03/LovyanGFX
https://github.com/adafruit/Adafruit-GFX-Library
https://www.segger.com/products/user-interface/emwin/
https://www.qt.io/product/develop-software-microcontrollers-mcu
https://www.st.com/content/st_com/en/ecosystems/stm32-graphic-user-interface.html
https://www.st.com/en/development-tools/touchgfxdesigner.html
...
Hi,
Thanks to @ValentiWorkLearning it's ported to LVGL. See https://github.com/lvgl/lv_lib_rlottie
I've just updated the repo to work with the latest LVGL.
FYI, mentioning rlottie at https://lottiefiles.com/integrations could give some free marketing to your great lib! 😉
Thanks to @xianjimli. Lottie works on AWTK now:https://github.com/zlgopen/awtk-widget-rlottie
FYI, mentioning rlottie at https://lottiefiles.com/integrations could give some free marketing to your great lib! 😉
Its already mentioned in the above link under rLottie.
Congrats @smohantty.
BTW, no plan to add more Supported After Effects Features?
Best regards.
I just noticed this, please correct me if my understanding is not correct.
The rlottie is rendered into memory or canvas using cpu, which should run poorly on a microcontroller? Could we re-implement the vector interface directly using the underlying rendering interface of these gui solutions, which will make full use of the gpu on the microcontroller platform (many microcontrollers already have 2d gpu with openvg support) to improve performance ?
Please have a look to #516 for a more efficient version for MCU. It allows rendering to a smaller buffer (as usual embedded GUI libraries are doing, partial rendering) and avoid allocating the JSON file to the heap for parsing it (saves a lot of heap).
We don't have a rlottie library that we can use in the MCU.
We do. I'm using #516 on a ESP32 and it's fast enough to be acceptable and not too ressource hungry. If only Samsung would merge it...
Can anyone help me generate the rlottie embedded static library, thank you very much!!!
lvgl/src/extra/libs/rlottie/lv_rlottie.c(12): error: 'rlottie_capi.h' file not found
D:\1project\AiPi-Open-Kits\aithinker_Ai-M6X_SDK\components\graphics\lvgl\extra\libs\rlottie\lv_rlottie.c:12:10: fatal error: rlottie_capi.h: No such file or directory
12 | #include <rlottie_capi.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.
We do. I'm using #516 on a ESP32 and it's fast enough to be acceptable and not too ressource hungry. If only Samsung would merge it...
Thank you for your contribution, I recently tried to use your memory reduction version to display animation with lvgl on esp32 pico d4, and encountered the following problems: lvgl officially provides that img is used as the obj for display. If I use partial rendering, I can't split an image into basic renderings. May I ask how to solve this place, my code is as follows:
Looking forward to your reply~
You should discuss this in #516 not here, IMHO.
I don't know what's wrong with your code, only that for LVGL, you should use my fork of the image decoder code, since it's setting up everything well for this.
Please notice that this was taking me too much time so support (since 2022) so I've given up trying to catch up with LVGL's master branch.