Descriptor Selector

Component Type: Input/Output

Status: Implemented

Overview

CIODescSelector is an IO class used to select the active descriptor slot at runtime.

CIODescSelector is a read-write control IO:

  • Read returns the currently active descriptor slot index.

  • Write requests a slot switch.

Before accepting a switch request, Dawn validates the target slot descriptor binary (CRC + structure validation). Invalid slots are rejected.

Implementation

  • Read returns active slot index as uint32.

  • Write validates target descriptor slot then requests switch.

  • Writing the currently active slot is a no-op and returns success.

Configuration

Kconfig

  • CONFIG_DAWN_IO_DESC_SELECTOR: enables descriptor selector IO.

YAML

ios:
  - id: descselector0
    type: descselector
    dtype: uint32
    rw: true

Configuration Fields

CIODescSelector has no class-specific configuration fields. It uses only common IO fields.

  • id: IO identifier.

  • type: must be descselector.

  • dtype: use uint32.

  • rw: must be true (selector is read/write).

  • config.device: optional common field, defaults to instance index.

Example with explicit device:

ios:
  - id: descselector0
    type: descselector
    dtype: uint32
    rw: true
    config:
      device: 0

External Control

ControlIO: not supported.

TriggerIO: not supported.

Brainstorming & Future Ideas

  • Add optional access-control policy for slot switching.

  • Extend telemetry with last-switch reason/error code for diagnostics.

Doxygen