README.rst
1.. zephyr:code-sample:: sensor_batch_processing
2 :name: Sensor batch processing
3 :relevant-api: rtio
4
5 Implement a sensor device using RTIO for asynchronous data processing.
6
7Overview
8********
9
10This sample application demonstrates the use of the :ref:`rtio` framework for
11doing asynchronous operation chains.
12Application uses :ref:`rtio` with mempool API to fetch data from virtual sensor
13and displays it on the console.
14
15Requirements
16************
17
18* A board with flash support or native_sim target
19
20Building and Running
21********************
22
23This sample can be found under :zephyr_file:`samples/subsys/rtio` in the Zephyr tree.
24
25The sample can be built for most platforms, the following commands build the
26application for the native_sim target.
27
28.. zephyr-app-commands::
29 :zephyr-app: samples/subsys/rtio
30 :board: native_sim
31 :goals: build run
32 :compact:
33
34When running, the output on the console shows the operations of
35submitting for, consuming, and processing the sensor data.
36
37Sample Output
38=============
39
40.. code-block:: console
41
42 *** Booting Zephyr OS build v4.0.0-1260-gbaa49f6f32d5 ***
43 I: Submitting 4 read requests
44 D: sensor@0: buf_len = 16, buf = 0x8056430
45 D: sensor@0: buf_len = 16, buf = 0x8056440
46 D: sensor@0: buf_len = 16, buf = 0x8056450
47 D: sensor@0: buf_len = 16, buf = 0x8056460
48 D: Consumed completion event 0
49 D: Consumed completion event 1
50 D: Consumed completion event 2
51 D: Consumed completion event 3
52 I: Start processing 4 samples
53 D: Sample data:
54 D: 00 01 02 03 04 05 06 07 |........
55 D: 08 09 0a 0b 0c 0d 0e 0f |........
56 D: Sample data:
57 D: 10 11 12 13 14 15 16 17 |........
58 D: 18 19 1a 1b 1c 1d 1e 1f |........
59 D: Sample data:
60 D: 20 21 22 23 24 25 26 27 | !"#$%&'
61 D: 28 29 2a 2b 2c 2d 2e 2f |()*+,-./
62 D: Sample data:
63 D: 30 31 32 33 34 35 36 37 |01234567
64 D: 38 39 3a 3b 3c 3d 3e 3f |89:;<=>?
65 D: sensor@0: buf_len = 16, buf = 0x8056470
66 D: sensor@0: buf_len = 16, buf = 0x8056480
67 D: sensor@0: buf_len = 16, buf = 0x8056490
68 I: Finished processing 4 samples
69 I: Submitting 4 read requests
70 D: sensor@0: buf_len = 16, buf = 0x8056430
71 D: sensor@0: buf_len = 16, buf = 0x8056440
72 D: sensor@0: buf_len = 16, buf = 0x8056450
73 D: sensor@0: buf_len = 16, buf = 0x8056460
74 D: Consumed completion event 0
75 ...
76