Dawn Framework 1.0
Universal data acquisition framework for embedded systems
Public Member Functions | List of all members
dawn::CDawn Class Reference

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.
 

Detailed Description

Main orchestrator class that integrates all Dawn components.

CDawn is the primary entry point for using the Dawn framework.

Definition at line 21 of file dawn.hxx.

Constructor & Destructor Documentation

◆ CDawn()

CDawn::CDawn ( IIOFactory iofactory = nullptr,
IProgFactory progfactory = nullptr,
IProtoFactory protofactory = nullptr 
)
explicit

Construct CDawn framework.

Creates a new Dawn framework instance with optional custom factories for extensibility.

Parameters
iofactoryOptional custom I/O object factory (nullptr uses the built-in factory).
progfactoryOptional custom program object factory (nullptr uses the built-in factory).
protofactoryOptional custom protocol object factory (nullptr uses the built-in factory).

Definition at line 18 of file dawn.cxx.

◆ ~CDawn()

dawn::CDawn::~CDawn ( )
default

Destructor.

Cleans up all framework resources.

Member Function Documentation

◆ load_descriptor()

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.

Parameters
binPointer to binary descriptor data (32-bit aligned).
lenLength of descriptor in 32-bit words.
Returns
OK on success, negative error code on failure.

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().

Here is the call graph for this function:

◆ start()

int CDawn::start ( bool  no_loop = false)

The documentation for this class was generated from the following files: