Latest
Component Type: Program
Status: Implemented
Overview
CProgLatest caches the latest sample from a notify-capable source IO
into an output IO. This lets fetch/poll-oriented protocols read the most
recent value without implementing notify handling.
notify source -> cached output
latest sample only (intermediate samples are not preserved)
useful as the reverse adaptation of
CProgSampling
Implementation
CProgLatest runs in the notify/callback processing path and overwrites the
cached output with each new source sample.
Configuration
Kconfig
CONFIG_DAWN_PROG_LATEST: enables the Latest program.
YAML
programs:
- id: latest1
type: latest
config:
iobind:
- src1
- virt1
Uses a packed IOBIND list of source/output pairs (same pattern as other
process-style programs):
source IO (notify-capable)
destination output IO (cached latest sample)
One instance can cache multiple channels. 1 -> 1 is just one pair in the
configuration.
External Control
ControlIO: supported.
CProgLatest supports runtime start/stop control through CIOControl.
When stopped, incoming notifications are ignored and cached values are frozen.
When started again, cache updates resume.
TriggerIO: not supported.