10#include "dawn/common/object.hxx"
11#include "dawn/io/common.hxx"
12#include "dawn/porting/config.hxx"
23 IO_TRIGGER_CFG_FIRST = 0,
26 IO_TRIGGER_CFG_LAST = 31
43 ~CIOTrigger()
override;
45#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
46 const char *getClassNameStr()
const override
54 int getDataImpl(IODataCmn &data,
size_t len)
override;
81 std::vector<SObjectId::ObjectId>
ids;
108 std::vector<CObject *> targets;
110 int configureDesc(
const CDescObject &desc);
Descriptor wrapper for individual object configuration.
Template helper for creating ObjectIDs for I/O types without timestamp support.
static SObjectId::ObjectId create(uint16_t inst)
Create ObjectID with fixed data type and no timestamp.
Base class for all I/O objects.
@ IO_CLASS_TRIGGER
Trigger I/O.
Trigger I/O for dispatching commands to bound objects.
int configure()
Configure object from descriptor data.
size_t getDataDim() const
Get data vector dimension.
bool isBatch() const
Check if IO supports batch operations.
@ IO_TRIGGER_CFG_ALLOCOBJ
Bound object ID list.
@ IO_TRIGGER_CFG_ALLOWED
Allowed commands bitmask.
int setDataImpl(IODataCmn &data)
Set data implementation (override in derived classes).
std::vector< SObjectId::ObjectId > ids
Object IDs to resolve; populated during configure().
bool isNotify() const
Check if IO supports notifications.
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
bool isRead() const
Check if IO supports read operations.
int deinit()
De-initialize object.
@ TRIG_ALLOW_TRIGGER3
Allow CMD_TRIGGER3 command.
@ TRIG_ALLOW_TRIGGER1
Allow CMD_TRIGGER1 command.
@ TRIG_ALLOW_RESET
Allow CMD_RESET command.
@ TRIG_ALLOW_TRIGGER2
Allow CMD_TRIGGER2 command.
size_t getDataSize() const
Get data size in bytes.
bool isWrite() const
Check if IO supports write operations.
Base class for all Dawn objects (IOs, Programs, Protocols).
static ObjectCfgId objectCfg(uint8_t type, uint16_t cls, uint8_t dtype, bool rw, uint16_t size, uint8_t id)
Construct 32-bit ConfigID from component fields.
uint32_t ObjectCfgId
ConfigID type - single 32-bit value.
Out-of-tree user-extension hooks for Dawn.
@ OBJTYPE_IO
Input/Output object type.
@ DTYPE_UINT8
Unsigned 8-bit integer (0 to 255).
uint32_t ObjectId
ObjectID type - single 32-bit value.