Dummy Notify

Component Type: Input/Output

Status: Implemented

Overview

CIODummyNotify is an in-memory IO that can automatically notify other components when it is time to read its value.

This component is a version of the Dummy IO IO that includes a built-in timer. While a regular dummy IO just sits in memory until someone reads it, the “notify” version uses an internal timer to proactively tell the system that new data is ready.

This is particularly useful during development to simulate sensors or other hardware that “pushes” data at a regular interval. It allows you to test event-driven Programs or Protocols without needing real hardware or complex interrupts.

Implementation

The component uses a Timerfd helper to generate periodic events. It inherits from both CIOCommon and CIOTimerfd.

During the start() phase, the internal timer is activated. When the timer expires, it triggers the Dawn notification system, which in turn calls any registered callbacks (such as those from a Program or Protocol).

Configuration

Kconfig

  • CONFIG_DAWN_IO_DUMMY_NOTIFY: enables the dummy notify IO object.

  • CONFIG_DAWN_IO_NOTIFY: required for notification support.

YAML

ios:
  - id: sim_sensor
    type: dummy_notify
    dtype: float
    config:
      init_value: [25.5]
      interval: 1000000  # 1 second in microseconds
      dim: 1

External Control

  • ControlIO: supported

  • TriggerIO: not supported

Doxygen