zephyr/samples/subsys
Maureen Helm fd204f31d4 samples: rtio: Add sensor batch processing sample application
Adds a new sample application that demonstrates using the RTIO subsystem
to read periodic sensor data directly into buffers allocated by the
application, asynchronously process batches of data with an algorithm,
and recycle buffers back for reading additional sensor data.

The sensor iodev in this application is an timer-driven device that
executes one read request per timer period. It doesn't actually send any
transactions to a real I2C/SPI bus or read any real data into the
application-provided buffers. This timer-driven behavior mimics how a
real sensor periodically triggers a GPIO interrupt when new data is
ready.

The sensor iodev currently uses an internal message queue to store
pending requests from the time they are submitted until the next timer
expiration. At least one pending request needs to be stored by the iodev
to ensure that it has a buffer available to read data into. However,
any more than that should probably be handled by the application, since
it's the application that determines how often it can submit new
requests and therefore how deep the queue needs to be.

The sensor iodev is implemented to support multiple instances with
devicetree, but additional work remains to enable and use more than one
in the application.

Tested on native_posix and frdm_k64f.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-06-28 13:53:13 -04:00
..
audio/sof samples/subsys/audio/sof: fix sys-ticks-per-sec to 15000 2022-06-22 12:28:48 +02:00
canbus samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
console samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
cpp samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
debug samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
display boards: esp_wrover_kit: enable SPI if CONFIG_DISPLAY=y 2022-06-28 15:53:10 +02:00
edac samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
fs boards: Exclude boards from shield samples 2022-06-28 15:51:55 +02:00
ipc ipc: static_vrings: Support DT-defined buffer size 2022-06-05 14:46:18 +02:00
logging logging: Removing v2 suffix from logging names 2022-06-23 15:46:37 -04:00
lorawan/class_a samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
mgmt logging: Remove logging v1 from the logging 2022-06-16 10:51:15 -04:00
modbus all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
nvs samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
pm/device_pm samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
portability samples: remove redundant <zephyr/zephyr.h> includes 2022-06-15 09:13:11 +02:00
rtio/sensor_batch_processing samples: rtio: Add sensor batch processing sample application 2022-06-28 13:53:13 -04:00
settings samples: subsys: esp32s2: add configuration file 2022-06-22 12:27:32 +02:00
shell samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
task_wdt samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
testsuite everywhere: fix typos 2022-03-18 13:24:08 -04:00
tracing samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
usb samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
video samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
subsys.rst