Glossary
This glossary defines the core terminology used throughout the Dawn framework.
- Binding
The process of connecting one Dawn object to another at runtime (usually during the initialization phase). For example, a “Stats” program binds to an “ADC” IO to process its samples.
- ConfigID
A 32-bit identifier (
SObjectCfg::UObjectCfgId) used within the descriptor to mark a specific configuration parameter for an object. For field definitions like RW and Size, see the Dawn Object section.- Descriptor
A binary array (usually stored in flash or memory) that defines the entire configuration of a Dawn device. It contains the list of objects to create, their types, and their parameters. See Dawn Descriptor.
- Dtype (Data Type)
A 4-bit field in an ObjectID or ConfigID that specifies the data format (e.g., INT32, FLOAT, BOOL, Fixed-point). See Dawn Object.
- Factory
A component responsible for instantiating objects of a specific type (IO, Program, or Protocol) based on their descriptor configuration.
- Handler
A manager responsible for the lifecycle of a specific group of objects. There are three main handlers:
dawn::CIOHandler,dawn::CProgHandler, anddawn::CProtoHandler. See Dawn Handler.- Inspector
A global diagnostic component (
dawn::CDevInspector) that provides real-time visibility into handlers and objects for debugging.- Instance (Instance ID)
A 14-bit field (Priv) in an ObjectID used to distinguish between multiple objects of the same Type and Class (e.g., ADC channel 0 vs 1).
- IO (Input/Output)
Objects that interface with hardware or virtual data sources/sinks. Examples: ADC, GPIO, PWM, Virtual Registers. See Dawn IO.
- Notifier
A service (
dawn::CIONotifier) that polls IO objects and triggers asynchronous callbacks when data is available.- NTFC
NuttX Test Framework for Community. A Python-based testing framework used for high-level system validation.
- nxscope
A high-speed, real-time data visualization protocol supported by Dawn for streaming telemetry to host-side tools.
https://github.com/railab/nxslib https://github.com/railab/nxscli
- Object
The fundamental unit in Dawn. Every IO, Program, and Protocol is an object derived from the
dawn::CObjectbase class. See Dawn Object.- ObjectID
A 32-bit identifier that uniquely identifies every object in a Dawn system. For field definitions like Type, Cls, Dtype, and Priv, see the Dawn Object section.
- Program (PROG)
Objects that perform edge-processing or data transformation. They “bind” to IO objects to read inputs or write outputs. Examples: Statistics (Min/Max), Adjust (scaling).
- Protocol (PROTO)
Objects that handle communication between the Dawn device and the external world. Examples: Serial, Modbus, CAN, BLE.
- dawnpy
A companion Python package used for generating binary descriptors from YAML, validating configurations, and interacting with Dawn devices.