95 lines
2.5 KiB
ReStructuredText
95 lines
2.5 KiB
ReStructuredText
.. _sensor_shell_sample:
|
|
|
|
Sensor Shell Module Sample
|
|
##########################
|
|
|
|
Overview
|
|
********
|
|
This is a simple shell module to get data from sensors presented in the system.
|
|
|
|
Building and Running
|
|
********************
|
|
|
|
Build the sample app by choosing the target board that has sensors drivers
|
|
enabled, for example:
|
|
|
|
.. code-block:: console
|
|
|
|
cmake -DBOARD=reel_board
|
|
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/subsys/shell/sensor_module
|
|
:goals: run
|
|
|
|
|
|
Shell Module Command Help
|
|
=========================
|
|
|
|
.. code-block:: console
|
|
|
|
sensor - Sensor commands
|
|
Options:
|
|
-h, --help :Show command help.
|
|
Subcommands:
|
|
get :<device_name> [chanel_idx]
|
|
list :List configured sensors
|
|
list_channels :<device_name>
|
|
|
|
**list**: lists all the initialized devices on the system.
|
|
|
|
Output example (reel_board):
|
|
|
|
.. code-block:: console
|
|
|
|
uart:~$ sensor list
|
|
devices:
|
|
- clk_k32src
|
|
- clk_m16src
|
|
- UART_0
|
|
- ENTROPY_0
|
|
- GPIO_0
|
|
- GPIO_1
|
|
- I2C_0
|
|
- APDS9960
|
|
- MMA8652FC
|
|
- HDC1008
|
|
|
|
**list_channels**: lists the supported channels (index and name) for a given
|
|
sensor device name.
|
|
|
|
Output example (reel_board):
|
|
|
|
.. code-block:: console
|
|
|
|
uart:~$ sensor list_channels MMA8652FC
|
|
idx=0 name=accel_x
|
|
idx=1 name=accel_y
|
|
idx=2 name=accel_z
|
|
idx=3 name=accel_xyz
|
|
|
|
.. note:: A valid sensor device name should be passed otherwise you will get an
|
|
undefined behavior like hardware exception. This happens because the shell
|
|
subsystem runs in supervisor mode where API callbacks are not checked before
|
|
being called.
|
|
|
|
**get**: prints all the sensor channels data for a given sensor device name.
|
|
Optionally, a single channel index can be passed to be printed out.
|
|
|
|
Output example (reel_board):
|
|
|
|
.. code-block:: console
|
|
|
|
uart:~$ sensor get MMA8652FC
|
|
channel idx=0 accel_x = -1.379061
|
|
channel idx=1 accel_y = 1.991975
|
|
channel idx=2 accel_z = -9.576807
|
|
channel idx=3 accel_xyz = -1.379061
|
|
channel idx=3 accel_xyz = 1.991975
|
|
channel idx=3 accel_xyz = -9.576807
|
|
|
|
.. note:: A valid sensor device name should be passed otherwise you will get an
|
|
undefined behavior like hardware exception. This happens because the shell
|
|
subsystem runs in supervisor mode where API callbacks are not checked before
|
|
being called.
|