|
Dawn Framework 1.0
Universal data acquisition framework for embedded systems
|
Virtual I/O type for user-provided data and callbacks. More...
#include <virt.hxx>
Public Member Functions | |
| int | configure () |
| Configure object from descriptor data. | |
| io_ddata_t * | ddata_alloc (size_t batch, size_t chunk_size=0) |
| Allocate data buffer for this I/O. | |
| int | deinit () |
| De-initialize object. | |
| bool | getCfgFlag () const |
| Check if configuration flag is set. | |
| uint16_t | getCls () const |
| Get object class field. | |
| int | getConfig (uint32_t cfgid, uint32_t *data, size_t len) |
| Get I/O configuration item. | |
| int | getData (IODataCmn &data, size_t len, size_t offset=0) |
| Get data from I/O (public interface with stats tracking). | |
| size_t | getDataDim () const |
| Get data vector dimension. | |
| int | getDataImpl (IODataCmn &data, size_t len) |
| Get data implementation (override in derived classes). | |
| size_t | getDataSize () const |
| Get data size in bytes. | |
| CDescObject & | getDesc () |
| Get descriptor object for this object. | |
| uint8_t | getDtype () const |
| Get data type field. | |
| size_t | getDtypeSize () const |
| Get size of this object's data type. | |
| virtual int | getFd () const |
| Get file descriptor for notifications. | |
| uint8_t | getFlags () const |
| Get type-specific flags field. | |
| SObjectId::UObjectId | getId () const |
| Get object identifier as union structure. | |
| SObjectId::ObjectId | getIdV () const |
| Get object identifier as raw 32-bit value. | |
| int | getObjConfig (SObjectCfg::ObjectCfgId objcfg, uint32_t *data, size_t len) |
| Get object configuration item. | |
| uint16_t | getPriv () const |
| Get instance/private data field. | |
| virtual EObjectState | getState () const |
| Get current operational state. | |
| uint8_t | getType () const |
| Get object type field. | |
| virtual bool | hasThread () const |
| Check if a background thread is active. | |
| int | init () |
| One-time initialize object after bindings are resolved. | |
| bool | isBatch () const |
| Check if IO supports batch operations. | |
| bool | isNotify () const |
| Check if IO supports notifications. | |
| bool | isRead () const |
| Check if IO supports read operations. | |
| virtual bool | isSeekable () const |
| Check if IO supports partial (seekable) access. | |
| bool | isTimestamp () const |
| Check if I/O supports timestamp. | |
| bool | isWrite () const |
| Check if IO supports write operations. | |
| virtual int | notifyData (CIOCommon *io, io_ddata_t *data) |
| Emit an immediate notification for already-available data. | |
| int | regNotifier (SIONotifier n) |
| Register I/O notification callback. | |
| int | setConfig (uint32_t cfgid, uint32_t *data, size_t len) |
| Set I/O configuration item. | |
| int | setData (IODataCmn &data, size_t offset=0) |
| Set data for I/O (public interface with stats tracking). | |
| int | setDataImpl (IODataCmn &data) |
| Set data implementation (override in derived classes). | |
| int | setObjConfig (SObjectCfg::ObjectCfgId objcfg, uint32_t *data, size_t len) |
| Set object configuration item. | |
| int | start () |
| Start object. | |
| int | stop () |
| Stop object. | |
| virtual int | trigger (uint8_t cmd) |
| Execute a trigger command. | |
Static Public Member Functions | |
| static SObjectCfg::ObjectCfgId | cfgIdCmn (bool rw, uint8_t dtype, uint8_t size, uint8_t id) |
| Create ConfigID for I/O common configuration. | |
| static SObjectCfg::ObjectCfgId | cfgIdDevno (bool rw=false) |
| Create ConfigID for device number configuration. | |
| static SObjectCfg::ObjectCfgId | cfgIdLimitMax (uint8_t dtype, uint16_t size) |
| Create ConfigID for maximum I/O limits. | |
| static SObjectCfg::ObjectCfgId | cfgIdLimitMin (uint8_t dtype, uint16_t size) |
| Create ConfigID for minimum I/O limits. | |
| static SObjectCfg::ObjectCfgId | cfgIdLimitStep (uint8_t dtype, uint16_t size) |
| Create ConfigID for step I/O limits. | |
| static SObjectCfg::ObjectCfgId | cfgIdNotify (bool rw=false) |
| Create ConfigID for notifier configuration. | |
| static int | descValidDefault (const uint32_t *data, size_t len) |
| Default descriptor validation method. | |
| static int | validateDesc (const uint32_t *desc, size_t len) |
| Validate entire descriptor. | |
Protected Member Functions | |
| size_t | cfgCmnOffset (const SObjectCfg::SObjectCfgItem *cfg) |
| Get offset of configuration item in descriptor. | |
| virtual int | doStart () |
| Start implementation hook. | |
| virtual int | doStop () |
| Stop implementation hook. | |
| int | getCmnDevno () const |
| Get device number for this I/O. | |
| const uint32_t * | getCmnLimitMax () |
| Get maximum I/O limit words. | |
| const uint32_t * | getCmnLimitMin () |
| Get minimum I/O limit words. | |
| const CIOLimits & | getCmnLimits () const |
| Get common IO limits container. | |
| const uint32_t * | getCmnLimitStep () |
| Get step I/O limit words. | |
| size_t | getCmnLimitWords () |
| Get number of 32-bit words in I/O limit arrays. | |
| virtual int | getDataAtImpl (IODataCmn &data, size_t len, size_t offset) |
| Get data at byte offset (override in seekable IOs). | |
| uint64_t | getTimestamp () |
| Get current timestamp. | |
| virtual int | onSetObjConfig (SObjectCfg::ObjectCfgId objcfg, uint32_t *data, size_t len) |
| Pre-update hook for runtime configuration writes. | |
| virtual int | setDataAtImpl (IODataCmn &data, size_t offset) |
| Set data at byte offset (override in seekable IOs). | |
Virtual I/O type for user-provided data and callbacks.
Provides a mechanism for user-defined I/O that can be driven by application callbacks.
|
inherited |
Notifier callback function type.
Callback signature for I/O notification events.
| priv | Private context pointer registered with callback. |
| data | Dynamically allocated I/O data (io_ddata_t*). |
Definition at line 37 of file inotifier.hxx.
|
inherited |
I/O common configuration IDs.
Standard configuration identifiers for I/O objects:
Definition at line 208 of file common.hxx.
|
inherited |
Control command identifiers for control()
| Enumerator | |
|---|---|
| CMD_RESET | Reset object internal state. |
| CMD_TRIGGER1 | Object-specific trigger slot 1. |
| CMD_TRIGGER2 | Object-specific trigger slot 2. |
| CMD_TRIGGER3 | Object-specific trigger slot 3. |
Definition at line 40 of file object.hxx.
|
inherited |
Default descriptor validation failure codes.
Negative values identify which length check failed in descValidDefault().
Definition at line 314 of file object.hxx.
|
inherited |
I/O object class types.
Definition at line 84 of file common.hxx.
|
inherited |
I/O common flags.
IO_FLAGS_NONE: No special flags - IO_FLAGS_TS: I/O supports timestamp (set in flags field of ObjectID).
| Enumerator | |
|---|---|
| IO_FLAGS_NONE | No flags. |
| IO_FLAGS_TS | Timestamp support flag. |
Definition at line 73 of file common.hxx.
|
inherited |
Notifier type enumeration.
| Enumerator | |
|---|---|
| IO_NOTIFY_POLL | Poll-based notifier (default) |
| IO_NOTIFY_STREAM | Stream notifier (blocking read, one per IO) |
Definition at line 221 of file common.hxx.
|
inherited |
Object operational state returned by getState()
| Enumerator | |
|---|---|
| STATE_STOPPED | Object is stopped. |
| STATE_RUNNING | Object is running. |
Definition at line 32 of file object.hxx.
|
protectedinherited |
Get offset of configuration item in descriptor.
| cfg | Pointer to configuration item. |
Definition at line 144 of file common.cxx.
References dawn::SObjectCfg::SObjectCfgItem::cfgid, dawn::SObjectCfg::UObjectCfgId::cls, dawn::SObjectCfg::UObjectCfgId::id, dawn::CIOCommon::IO_CFG_DEVNO, dawn::CIOCommon::IO_CFG_LIMIT_MAX, dawn::CIOCommon::IO_CFG_LIMIT_MIN, dawn::CIOCommon::IO_CFG_LIMIT_STEP, dawn::CIOCommon::IO_CFG_NOTIFY, dawn::CIOCommon::IO_CLASS_ANY, dawn::SObjectCfg::UObjectCfgId::s, dawn::SObjectCfg::UObjectCfgId::size, and dawn::SObjectCfg::UObjectCfgId::v.
|
inlinestaticinherited |
Create ConfigID for I/O common configuration.
Constructs a configuration ID for I/O-specific configuration items.
| rw | Read-write flag (false=read-only, true=read-write). |
| dtype | Data type (DTYPE_UINT32, DTYPE_CHAR, etc.). |
| size | Configuration data size in 32-bit words. |
| id | Configuration identifier (0-31). |
Definition at line 600 of file common.hxx.
References dawn::CIOCommon::IO_CLASS_ANY, dawn::SObjectCfg::objectCfg(), and dawn::SObjectId::OBJTYPE_IO.
|
inlinestaticinherited |
Create ConfigID for device number configuration.
| rw | Read-write flag (default: false for read-only). |
Definition at line 616 of file common.hxx.
References dawn::CIOCommon::cfgIdCmn(), dawn::SObjectId::DTYPE_UINT32, and dawn::CIOCommon::IO_CFG_DEVNO.
|
inlinestaticinherited |
Create ConfigID for maximum I/O limits.
| dtype | Limit data type. |
| size | Limit data size in 32-bit words. |
Definition at line 642 of file common.hxx.
References dawn::CIOCommon::cfgIdCmn(), and dawn::CIOCommon::IO_CFG_LIMIT_MAX.
|
inlinestaticinherited |
Create ConfigID for minimum I/O limits.
| dtype | Limit data type. |
| size | Limit data size in 32-bit words. |
Definition at line 629 of file common.hxx.
References dawn::CIOCommon::cfgIdCmn(), and dawn::CIOCommon::IO_CFG_LIMIT_MIN.
|
inlinestaticinherited |
Create ConfigID for step I/O limits.
| dtype | Limit data type. |
| size | Limit data size in 32-bit words. |
Definition at line 655 of file common.hxx.
References dawn::CIOCommon::cfgIdCmn(), and dawn::CIOCommon::IO_CFG_LIMIT_STEP.
|
inlinestaticinherited |
Create ConfigID for notifier configuration.
| rw | Read-write flag (default: false for read-only). |
Definition at line 667 of file common.hxx.
References dawn::CIOCommon::cfgIdCmn(), dawn::SObjectId::DTYPE_UINT32, and dawn::CIOCommon::IO_CFG_NOTIFY.
|
virtual |
Configure object from descriptor data.
Called during framework setup before dependency binding. Implementations should parse/validate descriptor configuration and store object settings, but avoid one-time allocations that depend on bound objects.
Reimplemented from dawn::CObject.
|
inherited |
Allocate data buffer for this I/O.
Allocates memory for storing data from this I/O.
For seekable IOs chunk_size must be non-zero; the allocated buffer is capped to min(chunk_size, getDataSize()) bytes with T=1 (byte) and dtype=UINT8, suitable for partial reads/writes via getData/setData with offset. Passing chunk_size=0 for a seekable IO returns nullptr.
For non-seekable IOs chunk_size is ignored and the full IO data size is allocated as usual.
| batch | Number of data items to allocate space for (1 for single, >1 for batch). |
| chunk_size | Maximum chunk size in bytes for seekable IOs (ignored for non-seekable IOs; 0 is invalid for seekable IOs). |
Definition at line 247 of file common.cxx.
References dawn::SObjectId::DTYPE_UINT8, dawn::CIOCommon::getDataDim(), dawn::CIOCommon::getDataSize(), dawn::CObject::getDtype(), dawn::CIOCommon::isSeekable(), and dawn::CIOCommon::isTimestamp().
|
virtual |
De-initialize object.
Clean up resources allocated during init().
Reimplemented from dawn::CObject.
|
staticinherited |
Default descriptor validation method.
Provides basic validation that only checks if descriptor lengths are correct.
| data | Descriptor data pointer. |
| len | Length of descriptor data in 32-bit words. |
Definition at line 42 of file object.cxx.
References dawn::SObjectCfg::UObjectCfgId::s, dawn::SObjectCfg::UObjectCfgId::size, and dawn::SObjectCfg::UObjectCfgId::v.
|
inlineprotectedvirtualinherited |
Start implementation hook.
Override in derived classes instead of start().
Reimplemented in dawn::CIOAdcFetch, dawn::CIOAdcStream, dawn::CIOAdcSync, dawn::CIODummyNotify, dawn::CIOPwm, dawn::CIORand, dawn::CIOTimestamp, dawn::CProgAdjust, dawn::CProgBitPack, dawn::CProgBitSplit, dawn::CProgBuffer, dawn::CProgCounter, dawn::CProgExpression, dawn::CProgGateway, dawn::CProgIODemux, dawn::CProgIOMux, dawn::CProgManyToOne, dawn::CProgOneToMany, dawn::CProgProcess, dawn::CProgRedirect, dawn::CProgSampling, dawn::CProgSelector, dawn::CProgSequencer, dawn::CProgSwitch, dawn::CProgToggle, dawn::CProgVecPack, dawn::CProgVecSplit, dawn::CProtoCan, dawn::CProtoIpc, dawn::CProtoModbusRtu, dawn::CProtoModbusTcp, dawn::CProtoNimblePrph, dawn::CProtoNxscope, dawn::CProtoSerial, dawn::CProtoShellPretty, and dawn::CProtoUdp.
Definition at line 402 of file object.hxx.
|
inlineprotectedvirtualinherited |
Stop implementation hook.
Override in derived classes instead of stop().
Reimplemented in dawn::CIOAdcFetch, dawn::CIOAdcStream, dawn::CIOAdcSync, dawn::CIODummyNotify, dawn::CIOPwm, dawn::CIORand, dawn::CIOTimestamp, dawn::CProgBitPack, dawn::CProgBitSplit, dawn::CProgBuffer, dawn::CProgCounter, dawn::CProgExpression, dawn::CProgGateway, dawn::CProgIODemux, dawn::CProgIOMux, dawn::CProgManyToOne, dawn::CProgOneToMany, dawn::CProgProcess, dawn::CProgRedirect, dawn::CProgSampling, dawn::CProgSelector, dawn::CProgSequencer, dawn::CProgSwitch, dawn::CProgToggle, dawn::CProgVecPack, dawn::CProgVecSplit, dawn::CProtoCan, dawn::CProtoIpc, dawn::CProtoModbusRtu, dawn::CProtoModbusTcp, dawn::CProtoNimblePrph, dawn::CProtoNxscope, dawn::CProtoSerial, dawn::CProtoShellPretty, and dawn::CProtoUdp.
Definition at line 415 of file object.hxx.
|
inherited |
Check if configuration flag is set.
Definition at line 160 of file object.cxx.
References dawn::CDescObject::getSize().
|
inherited |
Get object class field.
Definition at line 170 of file object.cxx.
References dawn::SObjectId::UObjectId::cls, and dawn::SObjectId::UObjectId::s.
|
inlineprotectedinherited |
Get device number for this I/O.
Definition at line 798 of file common.hxx.
|
inlineinherited |
Get I/O configuration item.
Retrieves a configuration parameter for this I/O.
| cfgid | Configuration ID (e.g., IO_CFG_DEVNO, IO_CFG_LIMIT_MIN). |
| data | Pointer to buffer for configuration data. |
| len | Length of buffer in 32-bit words. |
Definition at line 567 of file common.hxx.
References dawn::CObject::getObjConfig().
|
inlineinherited |
Get data from I/O (public interface with stats tracking).
For seekable IOs always calls getDataAtImpl() (handles both offset=0 and offset>0, copies min(buf_size, available) bytes). For non-seekable IOs calls getDataImpl() when offset=0; offset>0 returns -ENOTSUP.
| data | Reference to IODataCmn structure to receive data. |
| len | Number of data items to read (must be 1 for seekable IOs). |
| offset | Byte offset for seekable IOs (0 for standard access). |
Definition at line 353 of file common.hxx.
References dawn::CIOCommon::getDataAtImpl(), dawn::CIOCommon::getDataImpl(), and dawn::CIOCommon::isSeekable().
|
inlineprotectedvirtualinherited |
Get data at byte offset (override in seekable IOs).
Called by getData() when offset > 0. Default returns -ENOTSUP. Seekable IOs override this to support partial reads. len must be 1; implementations should return -EINVAL otherwise.
| data | Reference to IODataCmn buffer to receive data chunk. |
| len | Number of items (must be 1 for seekable IOs). |
| offset | Byte offset into IO data. |
Reimplemented in dawn::CIOCapabilities, dawn::CIODescriptor, and dawn::CIOFile.
Definition at line 755 of file common.hxx.
|
virtual |
Get data vector dimension.
Returns the number of elements in a data item (e.g., 3 for XYZ accelerometer).
Implements dawn::CIOCommon.
|
virtual |
Get data implementation (override in derived classes).
| data | Reference to IODataCmn structure to receive data. |
| len | Number of data items to read. |
Reimplemented from dawn::CIOCommon.
Definition at line 56 of file virt.cxx.
References dawn::io_ddata_t::getDataPtr(), dawn::IODataCmn::getDataPtr(), and dawn::IODataCmn::getTs().
|
virtual |
Get data size in bytes.
Returns the size of a single data item (without timestamp if present).
Implements dawn::CIOCommon.
|
inherited |
Get descriptor object for this object.
Definition at line 190 of file object.cxx.
|
inherited |
Get data type field.
Definition at line 175 of file object.cxx.
References dawn::SObjectId::UObjectId::dtype, and dawn::SObjectId::UObjectId::s.
|
inherited |
Get size of this object's data type.
Definition at line 195 of file object.cxx.
References dawn::SObjectId::getDtypeSize_(), and dawn::CDescObject::getObjectDtype().
|
inlinevirtualinherited |
Get file descriptor for notifications.
Returns an fd for use with select/poll when descriptor changes.
Reimplemented in dawn::CIOAdcBase.
Definition at line 425 of file common.hxx.
|
inherited |
Get type-specific flags field.
Definition at line 180 of file object.cxx.
References dawn::SObjectId::UObjectId::flags, and dawn::SObjectId::UObjectId::s.
|
inherited |
Get object identifier as union structure.
Definition at line 150 of file object.cxx.
|
inherited |
Get object identifier as raw 32-bit value.
Definition at line 155 of file object.cxx.
References dawn::SObjectId::UObjectId::v.
|
inherited |
Get object configuration item.
Retrieves configuration data for this object.
| objcfg | Configuration ID specifying which config item to retrieve. |
| data | Pointer to buffer for configuration data. |
| len | Length of buffer in 32-bit words. |
Definition at line 240 of file object.cxx.
References dawn::SObjectCfg::SObjectCfgItem::data, dawn::SObjectCfg::objectCfgGetSize(), and dawn::CDescObject::objectCfgItemId().
|
inherited |
Get instance/private data field.
Definition at line 185 of file object.cxx.
References dawn::SObjectId::UObjectId::priv, and dawn::SObjectId::UObjectId::s.
|
inlinevirtualinherited |
Get current operational state.
Default returns STATE_RUNNING after successful start(), STATE_STOPPED otherwise. Objects with richer states (e.g. paused) should override.
Definition at line 183 of file object.hxx.
References dawn::CObject::STATE_RUNNING, and dawn::CObject::STATE_STOPPED.
|
protectedinherited |
Get current timestamp.
Definition at line 194 of file common.cxx.
|
inherited |
Get object type field.
Definition at line 165 of file object.cxx.
References dawn::SObjectId::UObjectId::s, and dawn::SObjectId::UObjectId::type.
|
inlinevirtualinherited |
Check if a background thread is active.
Used by Dawn's main loop to detect when clean exit is possible. Objects without a background thread must return false. Independent of operational state tracked via getState().
Reimplemented in dawn::CProgBitPack, dawn::CProgBitSplit, dawn::CProgBuffer, dawn::CProgCounter, dawn::CProgExpression, dawn::CProgIODemux, dawn::CProgIOMux, dawn::CProgManyToOne, dawn::CProgOneToMany, dawn::CProgProcess, dawn::CProgRedirect, dawn::CProgSampling, dawn::CProgSelector, dawn::CProgSequencer, dawn::CProgSwitch, dawn::CProgToggle, dawn::CProgVecPack, dawn::CProgVecSplit, dawn::CProtoCan, dawn::CProtoIpc, dawn::CProtoModbusRtu, dawn::CProtoModbusTcp, dawn::CProtoNimblePrph, dawn::CProtoNxscope, dawn::CProtoSerial, dawn::CProtoShellPretty, and dawn::CProtoUdp.
Definition at line 169 of file object.hxx.
|
virtual |
One-time initialize object after bindings are resolved.
Called once during framework setup after dependency binding. Allocate lifetime resources here (buffers, register maps, etc.).
Reimplemented from dawn::CObject.
|
inlinevirtual |
Check if IO supports batch operations.
Implements dawn::CIOCommon.
|
inlinevirtual |
Check if IO supports notifications.
Implements dawn::CIOCommon.
|
inlinevirtual |
Check if IO supports read operations.
Implements dawn::CIOCommon.
|
inlinevirtualinherited |
Check if IO supports partial (seekable) access.
When true, getData/setData with non-zero offset route to getDataAtImpl/setDataAtImpl. When false, offset > 0 returns -ENOTSUP.
Reimplemented in dawn::CIOCapabilities, dawn::CIODescriptor, and dawn::CIOFile.
Definition at line 502 of file common.hxx.
|
inherited |
Check if I/O supports timestamp.
Returns true if this I/O has timestamp support (IO_FLAGS_TS flag is set).
Definition at line 189 of file common.cxx.
References dawn::CObject::getFlags(), and dawn::CIOCommon::IO_FLAGS_TS.
|
inlinevirtual |
Check if IO supports write operations.
Implements dawn::CIOCommon.
|
inlinevirtualinherited |
Emit an immediate notification for already-available data.
Poll-based notifiers still use regNotifier() for fd-driven updates; this hook covers synchronous writes where the payload is already available.
| io | I/O object that produced the data. |
| data | Data payload to pass to callbacks. |
Reimplemented in dawn::CIONotifier.
Definition at line 103 of file inotifier.hxx.
|
inlineprotectedvirtualinherited |
Pre-update hook for runtime configuration writes.
Called by setObjConfig() before descriptor-backed storage is updated. Derived classes may validate incoming data and prepare/apply runtime side effects. Returning a negative error rejects the update.
| objcfg | Configuration ID that will be updated. |
| data | Pointer to new config words. |
| len | Number of config words. |
Reimplemented in dawn::CIOAdcStream, dawn::CIOAdcSync, and dawn::CIOPwm.
Definition at line 386 of file object.hxx.
|
virtual |
Register I/O notification callback.
Implements IIONotifier interface.
| n | SIONotifier structure containing callback configuration. |
Implements dawn::IIONotifier.
Definition at line 142 of file virt.cxx.
References dawn::IIONotifier::SIONotifier::cb, and dawn::IIONotifier::SIONotifier::io.
|
inlineinherited |
Set I/O configuration item.
Updates a configuration parameter for this I/O.
| cfgid | Configuration ID (e.g., IO_CFG_DEVNO, IO_CFG_LIMIT_MIN). |
| data | Pointer to configuration data. |
| len | Length of data in 32-bit words. |
Definition at line 583 of file common.hxx.
References dawn::CObject::setObjConfig().
|
inlineinherited |
Set data for I/O (public interface with stats tracking).
For seekable IOs always calls setDataAtImpl() (handles both offset=0 and offset>0). For non-seekable IOs calls setDataImpl() when offset=0; offset>0 returns -ENOTSUP.
| data | Reference to IODataCmn structure containing data. |
| offset | Byte offset for seekable IOs (0 for standard access). |
Definition at line 392 of file common.hxx.
References dawn::CIOCommon::isSeekable(), dawn::CIOCommon::setDataAtImpl(), and dawn::CIOCommon::setDataImpl().
|
inlineprotectedvirtualinherited |
Set data at byte offset (override in seekable IOs).
Called by setData() when offset > 0. Default returns -ENOTSUP. Seekable IOs override this to support partial writes.
| data | Reference to IODataCmn buffer containing data chunk. |
| offset | Byte offset into IO data. |
Reimplemented in dawn::CIODescriptor, and dawn::CIOFile.
Definition at line 774 of file common.hxx.
|
virtual |
Set data implementation (override in derived classes).
| data | Reference to IODataCmn structure containing data. |
Reimplemented from dawn::CIOCommon.
Definition at line 92 of file virt.cxx.
References dawn::IODataCmn::getDataPtr().
|
inherited |
Set object configuration item.
Updates a configuration item for this object.
| objcfg | Configuration ID specifying which config item to update. |
| data | Pointer to configuration data. |
| len | Length of configuration data in 32-bit words. |
Definition at line 200 of file object.cxx.
References dawn::SObjectCfg::SObjectCfgItem::data, dawn::SObjectCfg::objectCfgGetRw(), dawn::SObjectCfg::objectCfgGetSize(), dawn::CDescObject::objectCfgItemId(), and dawn::CObject::onSetObjConfig().
|
inlineinherited |
Start object.
Tracks operational state and calls doStart(). This phase may run many times during an object's lifetime and should not perform one-time allocation. Sets started on successful doStart() return.
Definition at line 116 of file object.hxx.
References dawn::CObject::doStart().
|
inlineinherited |
Stop object.
Tracks operational state and calls doStop(). This phase may run many times during an object's lifetime and should not perform one-time deallocation. Always clears started regardless of doStop() return value.
Definition at line 145 of file object.hxx.
References dawn::CObject::doStop().
|
inlinevirtualinherited |
Execute a trigger command.
| cmd | Command identifier (EObjectCmd value). |
Reimplemented in dawn::CIOAdcFetch, dawn::CIOAdcStream, dawn::CIOAdcSync, dawn::CIOEncoder, dawn::CIOEncoderIndex, dawn::CIOPwm, dawn::CProgBuffer, dawn::CProgCounter, dawn::CProgProcess, dawn::CProgSequencer, dawn::CProgThresholdBase, and dawn::CProgToggle.
Definition at line 195 of file object.hxx.
|
staticinherited |
Validate entire descriptor.
Validates a descriptor binary object-by-object using default checks.
| desc | Descriptor binary pointer. |
| len | Descriptor length in 32-bit words. |
Definition at line 123 of file object.cxx.
References dawn::CObject::descValidDefault().