zephyr/samples/modules/lvgl/demos
Alberto Escolar Piedras b08a007c28 samples lvgl/demos: Use hwmv2 native targets
For the 64 bit targets, change identifiers to the new hwmv2 ones.
And remove redundant overlays (which were equal for the 32
and 64 bit versions)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-15 16:13:12 +01:00
..
boards samples lvgl/demos: Use hwmv2 native targets 2024-03-15 16:13:12 +01:00
src samples: modules: lvgl: enable widgets demo 2023-10-20 15:03:37 +02:00
CMakeLists.txt samples: modules: lvgl: enable widgets demo 2023-10-20 15:03:37 +02:00
Kconfig samples: modules: lvgl: enable widgets demo 2023-10-20 15:03:37 +02:00
prj.conf samples: modules: lvgl: enable widgets demo 2023-10-20 15:03:37 +02:00
README.rst samples lvgl/demos: Use hwmv2 native targets 2024-03-15 16:13:12 +01:00
sample.yaml hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00

.. zephyr:code-sample:: lvgl-demos
   :name: LVGL demos
   :relevant-api: display_interface

   Run LVGL built-in demos.

Overview
********

A sample showcasing upstream LVGL demos.

* Music
      The music player demo shows what kind of modern, smartphone-like user interfaces can be created on LVGL.
* Benchmark
      The benchmark demo tests the performance in various cases. For example rectangle, border, shadow, text, image blending, image transformation, blending modes, etc.
* Stress
      A stress test for LVGL. It contains a lot of object creation, deletion, animations, styles usage, and so on. It can be used if there is any memory corruption during heavy usage or any memory leaks.
* Widgets
      Shows how the widgets look like out of the box using the built-in material theme.

More details can be found in `LVGL demos Readme`_.

Requirements
************

* A board with display, ideally with 480x272 resolution or higher.
* A pointer input device: touchpad, mouse, or touch screen capable display, compatible with :dtcompatible:`zephyr,lvgl-pointer-input`.

Note that other input devices types are not demonstrated in these demos, namely keyboards, keypads (:dtcompatible:`zephyr,lvgl-keypad-input`), rotary encoders (:dtcompatible:`zephyr,lvgl-encoder-input`) and hardware buttons (:dtcompatible:`zephyr,lvgl-button-input`).

Building and Running
********************

Example building for :ref:`mimxrt1060_evk`:

.. zephyr-app-commands::
   :zephyr-app: samples/modules/lvgl/demos
   :board: mimxrt1060_evk
   :goals: build flash

These demos can be built for simulated display environment as follows:

.. zephyr-app-commands::
   :zephyr-app: samples/modules/lvgl/demos
   :host-os: unix
   :board: native_sim
   :gen-args: -DCONFIG_LV_Z_DEMO_MUSIC=y
   :goals: run
   :compact:

.. zephyr-app-commands::
   :zephyr-app: samples/modules/lvgl/demos
   :host-os: unix
   :board: native_sim
   :gen-args: -DCONFIG_LV_Z_DEMO_BENCHMARK=y
   :goals: run
   :compact:

.. zephyr-app-commands::
   :zephyr-app: samples/modules/lvgl/demos
   :host-os: unix
   :board: native_sim
   :gen-args: -DCONFIG_LV_Z_DEMO_STRESS=y
   :goals: run
   :compact:

.. zephyr-app-commands::
   :zephyr-app: samples/modules/lvgl/demos
   :host-os: unix
   :board: native_sim
   :gen-args: -DCONFIG_LV_Z_DEMO_WIDGETS=y
   :goals: run
   :compact:

Alternatively, if building from a 64-bit host machine, the previous target
board argument may also be replaced by ``native_sim/native/64``.

References
**********

.. _LVGL demos Readme: https://github.com/zephyrproject-rtos/lvgl/blob/zephyr/demos/README.md