|
Dawn Framework 1.0
Universal data acquisition framework for embedded systems
|
Generic sensor interface for various sensor types. More...
#include <sensor.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. | |
| virtual 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. | |
| 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 | 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 int | setDataImpl (IODataCmn &data) |
| Set data implementation (override in derived classes). | |
Generic sensor interface for various sensor types.
Provides a unified interface for reading data from various sensor types including accelerometers, magnetometers, gyroscopes, light sensors, barometers, proximity sensors, humidity sensors, temperature sensors, RGB sensors, IR sensors, UV sensors, and gas sensors.
Definition at line 23 of file sensor.hxx.
|
inherited |
I/O common configuration IDs.
Standard configuration identifiers for I/O objects:
Definition at line 208 of file common.hxx.
| anonymous enum |
Definition at line 28 of file sensor.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.
Definition at line 71 of file sensor.cxx.
References dawn::SObjectId::DTYPE_B16, dawn::SObjectId::DTYPE_FLOAT, dawn::CObject::getCls(), dawn::CIOCommon::getCmnDevno(), dawn::CObject::getDesc(), dawn::CObject::getDtype(), and dawn::SObjectId::getDtypeSize_().
|
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.
Definition at line 144 of file sensor.cxx.
|
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.
Definition at line 201 of file sensor.cxx.
|
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 152 of file sensor.cxx.
References dawn::IODataCmn::getDataPtr(), dawn::IODataCmn::getDataSize(), dawn::IODataCmn::getTs(), and dawn::CIOCommon::isTimestamp().
|
virtual |
Get data size in bytes.
Returns the size of a single data item (without timestamp if present).
Implements dawn::CIOCommon.
Definition at line 196 of file sensor.cxx.
|
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.
|
inlinevirtualinherited |
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 in dawn::CIOAdcBase, dawn::CIODummy, dawn::CIODummyNotify, dawn::CIOEncoder, dawn::CIOEncoderIndex, dawn::CIOGpi, dawn::CIOGpo, dawn::CIOLeds, dawn::CIOPwm, dawn::CIORgbLed, dawn::CIOSysinfo, dawn::CIOSystime, dawn::CIOUname, dawn::CIOUuid, dawn::CIOVirt, 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::CProtoNxscope, dawn::CProtoSerial, and dawn::CProtoUdp.
Definition at line 87 of file object.hxx.
|
inlinevirtual |
Check if IO supports batch operations.
Implements dawn::CIOCommon.
Definition at line 121 of file sensor.hxx.
|
inlinevirtual |
Check if IO supports notifications.
Implements dawn::CIOCommon.
Definition at line 116 of file sensor.hxx.
|
inlinevirtual |
Check if IO supports read operations.
Implements dawn::CIOCommon.
Definition at line 106 of file sensor.hxx.
|
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.
Definition at line 111 of file sensor.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.
|
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.
|
inlineprotectedvirtualinherited |
Set data implementation (override in derived classes).
| data | Reference to IODataCmn structure containing data. |
Reimplemented in dawn::CIOBoardctl, dawn::CIOCapabilities, dawn::CIOConfig, dawn::CIOControl, dawn::CIODac, dawn::CIODescriptor, dawn::CIODescSelector, dawn::CIODummy, dawn::CIODummyNotify, dawn::CIOFile, dawn::CIOGpo, dawn::CIOLeds, dawn::CIOPwm, dawn::CIORgbLed, dawn::CIOSensorProducer, dawn::CIOSysinfo, dawn::CIOSystime, dawn::CIOTrigger, dawn::CIOUname, dawn::CIOUuid, and dawn::CIOVirt.
Definition at line 736 of file common.hxx.
|
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().