|
Dawn Framework 1.0
Universal data acquisition framework for embedded systems
|
Out-of-tree user-extension hooks for Dawn. More...
Classes | |
| class | CBindableObject |
| Base object with bindable object map support. More... | |
| class | CDawn |
| Main orchestrator class that integrates all Dawn components. More... | |
| class | CDescObject |
| Descriptor wrapper for individual object configuration. More... | |
| class | CDescriptor |
| Binary device descriptor manager. More... | |
| class | CDescSwitch |
| Global descriptor switch request manager. More... | |
| class | CDevDescriptor |
| Descriptor interface available for IO. More... | |
| class | CDevInspector |
| Global registry for object inspection. More... | |
| class | CGenericHandler |
| Template handler for object lifecycle management. More... | |
| class | CHandler |
| Base implementation of IHandler interface. More... | |
| class | CIOAdcBase |
| Shared ADC base for fetch/sync/stream implementations. More... | |
| class | CIOAdcFetch |
| On-demand ADC fetch I/O. More... | |
| class | CIOAdcStream |
| High-throughput batched ADC stream I/O. More... | |
| class | CIOAdcSync |
| Hardware-triggered single-sample ADC I/O. More... | |
| class | CIOBoardctl |
| Board control I/O for system operations. More... | |
| class | CIOButtons |
| Button input I/O type for reading button/switch states. More... | |
| class | CIOCapabilities |
| Read-only seekable capability bitmap IO. More... | |
| class | CIOCommon |
| Base class for all I/O objects. More... | |
| class | CIOConfig |
| Configuration I/O for runtime object management. More... | |
| class | CIOControl |
| Control I/O for lifecycle management of bound objects. More... | |
| class | CIODac |
| Digital-to-Analog Converter (DAC) output I/O type. More... | |
| class | CIODescriptor |
| Device descriptor I/O access. More... | |
| class | CIODescSelector |
| Runtime descriptor slot selector I/O. More... | |
| class | CIODummy |
| Dummy I/O type for testing and simulation. More... | |
| class | CIODummyNotify |
| Timer-driven dummy I/O with notification support. More... | |
| class | CIOEncoder |
| Quadrature encoder I/O (position only). More... | |
| class | CIOEncoderIndex |
| Quadrature encoder I/O (position + index information). More... | |
| class | CIOFactory |
| Built-in I/O object factory for standard I/O types. More... | |
| class | CIOFile |
| File system I/O access. More... | |
| class | CIOGpi |
| GPIO Input (GPI) I/O type for reading digital input states. More... | |
| class | CIOGpo |
| GPIO Output (GPO) I/O type for writing digital output states. More... | |
| class | CIOHandler |
| Manages I/O object lifecycle and dispatch. More... | |
| class | CIOLeds |
| LED output I/O type for controlling LED indicators. More... | |
| class | CIOLimits |
| Common IO runtime limits container and validator. More... | |
| class | CIONotifier |
| I/O notification handler with poll-based event delivery. More... | |
| class | CIONotifierManager |
| Manages notifier instances for I/O objects. More... | |
| class | CIOPwm |
| Pulse Width Modulation (PWM) output I/O type. More... | |
| class | CIORand |
| Random number generator I/O type. More... | |
| class | CIORgbLed |
| RGB LED output I/O type. More... | |
| class | CIOSensor |
| Generic sensor interface for various sensor types. More... | |
| class | CIOSensorProducer |
| Sensor/uORB publisher backed by Dawn protocol writes. More... | |
| class | CIOSysinfo |
| System information I/O providing uptime and CPU load. More... | |
| class | CIOSystime |
| System information I/O providing system time. More... | |
| class | CIOTimerfd |
| Internal helper for timer-based I/O notifications. More... | |
| class | CIOTimestamp |
| System timestamp/monotonic time generator. More... | |
| class | CIOTrigger |
| Trigger I/O for dispatching commands to bound objects. More... | |
| class | CIOUname |
| System identification I/O providing hostname and version info. More... | |
| class | CIOUuid |
| System UUID I/O providing unique device identifier. More... | |
| class | CIOVirt |
| Virtual I/O type for user-provided data and callbacks. More... | |
| class | CIsoTp |
| ISO-TP (ISO 15765-2) transport protocol helper. More... | |
| class | CObject |
| Base class for all Dawn objects (IOs, Programs, Protocols). More... | |
| class | CPollLoopRunner |
| Shared runner for poll-based worker threads. More... | |
| class | CProgAdjust |
| Data scaling and offset transformation PROG. More... | |
| class | CProgBitPack |
| Bit packer: combines multiple typed inputs into a single packed output bitstream. More... | |
| class | CProgBitSplit |
| Bit demultiplexer: extracts configurable bit slices from the input into separate outputs. More... | |
| class | CProgBuffer |
| Notify-driven history buffer Program. More... | |
| class | CProgCommon |
| Base class for all PROG (processing) objects. More... | |
| class | CProgCounter |
| Event counter with configurable wrap-around. More... | |
| class | CProgDummy |
| Dummy Program for tests and descriptor binding placeholders. More... | |
| class | CProgExpression |
| Arithmetic expression evaluator on IO values. More... | |
| class | CProgFactory |
| Built-in PROG factory implementation. More... | |
| class | CProgGateway |
| Protocol-to-protocol IO gateway Program. More... | |
| class | CProgHandler |
| Manages Programs object lifecycle and dispatch. More... | |
| class | CProgIIRFilter |
| First-order IIR low-pass filter. More... | |
| class | CProgIODemux |
| IO demultiplexer: routes one input to the selected output. More... | |
| class | CProgIOMux |
| IO multiplexer: routes selected input to one output. More... | |
| class | CProgLatest |
| Latest-sample cache Program. More... | |
| class | CProgManyToOne |
| Many-to-one bridge: forwards the last changed input to one output. More... | |
| class | CProgMovingAverage |
| Notify-driven sliding window moving average filter. More... | |
| class | CProgOneToMany |
| One-to-many bridge: forwards one input to many outputs. More... | |
| class | CProgProcess |
| Base class for callback-driven sample processing Program objects. More... | |
| class | CProgProcessTemplate |
| Policy-based template for sample processing implementations. More... | |
| class | CProgRedirect |
| Input-to-output routing Program. More... | |
| class | CProgSampling |
| Periodic data sampling and buffering Program. More... | |
| class | CProgSelector |
| Data selector: routes one of N data inputs to a target IO based on the value of a control input. More... | |
| class | CProgSequencer |
| Periodic state sequencer Program. More... | |
| class | CProgStatsAvg |
| Running average statistics Program. More... | |
| class | CProgStatsCount |
| Sample counting statistics Program. More... | |
| class | CProgStatsMax |
| Maximum value tracking statistics Program. More... | |
| class | CProgStatsMin |
| Minimum value tracking statistics Program. More... | |
| class | CProgStatsRms |
| Running RMS statistics Program. More... | |
| class | CProgStatsSum |
| Sum accumulation statistics Program. More... | |
| class | CProgSwitch |
| Multi-input AND-gate switch: writes on/off commands to a target IO when all control inputs match their configured values. More... | |
| class | CProgThreshold |
| Threshold comparator returning boolean alert output. More... | |
| class | CProgThresholdBase |
| Shared threshold logic for derived threshold programs. More... | |
| class | CProgThresholdValue |
| Threshold comparator returning gated source values. More... | |
| class | CProgToggle |
| Toggle/latch: flips output between two configured values on each rising edge of the input. More... | |
| class | CProgVecPack |
| Vector packer: combines multiple IO values into one vector IO. More... | |
| class | CProgVecSplit |
| Vector splitter: splits one vector IO into multiple outputs. More... | |
| class | CProtoCan |
| CAN bus protocol for industrial automation. More... | |
| class | CProtoCommon |
| Base class for all protocol implementations. More... | |
| class | CProtoDummy |
| Dummy Protocol for tests and binding placeholders. More... | |
| class | CProtoFactory |
| Built-in protocol factory. More... | |
| class | CProtoHandler |
| Manages PROTO object lifecycle and dispatch. More... | |
| class | CProtoIpc |
| Simple FIFO-based IPC transport for local Dawn communication. More... | |
| class | CProtoModbusRegs |
| Modbus register management base class (shared RTU/TCP logic). More... | |
| class | CProtoModbusRtu |
| Modbus RTU (Remote Terminal Unit) protocol implementation. More... | |
| class | CProtoModbusTcp |
| Modbus TCP protocol implementation. More... | |
| class | CProtoNimbleAdv |
| BLE advertisement management and GAP interface. More... | |
| class | CProtoNimbleHci |
| Host Controller Interface (HCI) management for NimBLE. More... | |
| class | CProtoNimbleHost |
| Manages NimBLE Host controller initialization and event processing. More... | |
| class | CProtoNimblePrph |
| BLE Peripheral (Slave) Protocol Implementation using NimBLE. More... | |
| class | CProtoNimblePrphAios |
| Automation I/O Service (AIOS) for BLE Peripheral. More... | |
| class | CProtoNimblePrphBas |
| Battery Service (BAS) for BLE Peripheral. More... | |
| class | CProtoNimblePrphCustom |
| Custom Service defined by user. More... | |
| class | CProtoNimblePrphDis |
| Device Information Service (DIS) for BLE Peripheral. More... | |
| class | CProtoNimblePrphEss |
| Environmental Sensing Service (ESS) for BLE Peripheral. More... | |
| class | CProtoNimblePrphImds |
| Industrial Measurement Device Service (IMDS) for BLE Peripheral. More... | |
| class | CProtoNimblePrphOts |
| Object Transfer Service (OTS) for BLE Peripheral. More... | |
| class | CProtoNxscope |
| Real-time data visualization protocol (base class). More... | |
| class | CProtoNxscopeDummy |
| NXScope no-op/dummy transport implementation. More... | |
| class | CProtoNxscopeSerial |
| NXScope over serial port transport. More... | |
| class | CProtoNxscopeUdp |
| NXScope over UDP transport. More... | |
| class | CProtoSerial |
| Simple binary serial protocol for device communication. More... | |
| class | CProtoShellPretty |
| Interactive Command-Line Shell Interface. More... | |
| class | CProtoSimpleBase |
| Shared base for simple framed protocols. More... | |
| class | CProtoUdp |
| Simple binary UDP protocol for device communication. More... | |
| class | CShutdown |
| Global shutdown request manager. More... | |
| class | CStreamNotifier |
| Stream-based I/O notifier with dedicated thread per I/O. More... | |
| class | CThreadedObject |
| Portable thread owner abstraction for Dawn components. More... | |
| class | IHandler |
| Common interface for all handler implementations. More... | |
| class | IIOFactory |
| Abstract factory interface for extensible I/O object creation. More... | |
| class | IIONotifier |
| Abstract interface for registering asynchronous I/O notification. More... | |
| struct | io_data_nots_s |
| Single batch of I/O data without timestamp. More... | |
| struct | io_data_s |
| Single batch of I/O data with timestamp. More... | |
| struct | io_data_view_t |
| Non-owning I/O data view over caller-provided storage. More... | |
| struct | io_ddata_t |
| Heap-allocated dynamic I/O data buffer. More... | |
| struct | io_sdata_t |
| Static (compile-time) I/O data buffer (no timestamp). More... | |
| struct | io_sdata_t< T, N, M, true > |
| Static (compile-time) I/O data buffer (with timestamp). More... | |
| struct | IODataCmn |
| Base interface for I/O data buffers (static and dynamic). More... | |
| class | IProgFactory |
| Abstract factory interface for PROG object creation. More... | |
| class | IProtoFactory |
| Abstract factory interface for protocol creation. More... | |
| class | IProtoNimblePrphCb |
| Interface for BLE peripheral services with GATT characteristics. More... | |
| class | IProtoNimblePrphService |
| Base interface for GATT services exposed by BLE peripheral. More... | |
| class | SObjectCfg |
| Configuration management for Dawn objects. More... | |
| struct | SObjectId |
| 32-bit encoded Object ID with type, class, data type, and instance. More... | |
| struct | SPollLoopCallbacks |
| Callback set for poll-based worker loops. More... | |
| struct | StatsOpAvg |
| Policy for running average calculation. More... | |
| struct | StatsOpCount |
| Policy for sample counting. More... | |
| struct | StatsOpMax |
| Policy for maximum value tracking. More... | |
| struct | StatsOpMin |
| Policy for minimum value tracking. More... | |
| struct | StatsOpSum |
| Policy for sum accumulation. More... | |
Typedefs | |
| typedef uint64_t | io_ts_t |
| Timestamp data type (uint64_t, typically microseconds since boot). | |
Out-of-tree user-extension hooks for Dawn.
Two groups of free functions form the entire user-extension API:
Default implementations in dawn/src/oot.cxx are weak. Out-of-tree projects override them in <oot>/external/dawn_oot_hooks.cxx (compiled into the application target by dawn/apps/dawn/CMakeLists.txt). Strong overrides beat weak defaults during the final link.