|
Dawn Framework 1.0
Universal data acquisition framework for embedded systems
|
Main orchestrator class that integrates all Dawn components. More...
#include <dawn.hxx>
Public Member Functions | |
| CDawn (IIOFactory *iofactory=nullptr, IProgFactory *progfactory=nullptr, IProtoFactory *protofactory=nullptr) | |
| Construct CDawn framework. | |
| ~CDawn ()=default | |
| Destructor. | |
| int | load_descriptor (uint32_t *bin, size_t len) |
| Load and initialize descriptor. | |
| int | start (bool no_loop=false) |
| Start Dawn framework. | |
Main orchestrator class that integrates all Dawn components.
CDawn is the primary entry point for using the Dawn framework.
|
explicit |
Construct CDawn framework.
Creates a new Dawn framework instance with optional custom factories for extensibility.
| iofactory | Optional custom I/O object factory (nullptr uses the built-in factory). |
| progfactory | Optional custom program object factory (nullptr uses the built-in factory). |
| protofactory | Optional custom protocol object factory (nullptr uses the built-in factory). |
|
default |
Destructor.
Cleans up all framework resources.
| int CDawn::load_descriptor | ( | uint32_t * | bin, |
| size_t | len | ||
| ) |
Load and initialize descriptor.
Loads a binary device descriptor and automatically creates all configured objects.
| bin | Pointer to binary descriptor data (32-bit aligned). |
| len | Length of descriptor in 32-bit words. |
Definition at line 25 of file dawn.cxx.
References dawn::CIOHandler::bindObjects(), dawn::CProgHandler::init(), dawn::CProtoHandler::init(), dawn::CIOHandler::init(), dawn::CIOHandler::initAll(), dawn::CProgHandler::initAll(), dawn::CProtoHandler::initAll(), and dawn::CDescriptor::loadBin().
| int CDawn::start | ( | bool | no_loop = false | ) |
Start Dawn framework.
Transitions all components from initialized to running state.
Definition at line 127 of file dawn.cxx.
References dawn::CDescSwitch::clear(), dawn::CShutdown::clear(), dawn::CIOHandler::deinitAll(), dawn::CProgHandler::deinitAll(), dawn::CProtoHandler::deinitAll(), dawn::CDescriptor::getNoIdleQuit(), dawn::CDescSwitch::getSwitchSlot(), dawn::CProgHandler::hasThread(), dawn::CProtoHandler::hasThread(), dawn::CShutdown::isRequested(), dawn::CDescSwitch::isSwitchRequested(), dawn::CDescSwitch::setActiveSlot(), dawn::CIOHandler::startAll(), dawn::CProgHandler::startAll(), dawn::CProtoHandler::startAll(), dawn::CIOHandler::stopAll(), dawn::CProgHandler::stopAll(), and dawn::CProtoHandler::stopAll().