2023-10-02 17:43:44 +08:00
|
|
|
.. zephyr:code-sample:: lvgl-accelerometer-chart
|
|
|
|
:name: LVGL line chart with accelerometer data
|
|
|
|
:relevant-api: display_interface sensor_interface
|
|
|
|
|
|
|
|
Display acceleration data on a real-time chart using LVGL.
|
|
|
|
|
|
|
|
Overview
|
|
|
|
********
|
|
|
|
|
2024-06-05 05:39:55 +08:00
|
|
|
A sample application that demonstrates how to use LVGL and the :ref:`sensor` to
|
2023-10-02 17:43:44 +08:00
|
|
|
display acceleration data on a line chart that is updated in real time.
|
|
|
|
|
|
|
|
This sample creates a line chart with three series, one for each axis of the accelerometer. An LVGL
|
|
|
|
timer fetches the latest acceleration data from the sensor every 20 ms (default value) and updates
|
|
|
|
the chart. The update period is configurable, see
|
|
|
|
:ref:`lvgl_accelerometer_chart_building_and_running` below.
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
************
|
|
|
|
|
|
|
|
* A board with a display.
|
|
|
|
* A sensor that provides acceleration data (:c:enumerator:`SENSOR_CHAN_ACCEL_XYZ`) and available
|
|
|
|
under the ``&accel0`` Devicetree alias.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
A Devicetree overlay declaring an emulated BMI160 accelerometer is provided for the
|
|
|
|
``native_posix*`` and ``native_sim*`` board variants, making it possible to run this sample on
|
|
|
|
your local machine.
|
|
|
|
|
|
|
|
.. _lvgl_accelerometer_chart_building_and_running:
|
|
|
|
|
|
|
|
Building and Running
|
|
|
|
********************
|
|
|
|
|
|
|
|
The maximum number of points to display for each series and the sampling rate of the
|
|
|
|
accelerometer can be configured using the :kconfig:option:`CONFIG_SAMPLE_CHART_POINTS_PER_SERIES`
|
|
|
|
and :kconfig:option:`CONFIG_SAMPLE_ACCEL_SAMPLING_RATE` Kconfig options, respectively.
|
|
|
|
|
|
|
|
The default sampling rate is 50 Hz, and the default maximum number of points per series is 50.
|
|
|
|
|
|
|
|
The demo can be built as follows (note how in this particular case the sampling rate is set to a
|
|
|
|
custom value of 20 Hz):
|
|
|
|
|
|
|
|
.. zephyr-app-commands::
|
|
|
|
:zephyr-app: samples/modules/lvgl/accelerometer_chart
|
|
|
|
:host-os: unix
|
2023-11-10 20:04:45 +08:00
|
|
|
:board: native_sim
|
2023-10-02 17:43:44 +08:00
|
|
|
:gen-args: -DCONFIG_SAMPLE_ACCEL_SAMPLING_RATE=20
|
|
|
|
:goals: run
|
|
|
|
:compact:
|