8#include "dawn/io/common.hxx"
9#include "dawn/porting/config.hxx"
10#include "dawn/porting/encoder.hxx"
21 IO_ENCODER_CFG_FIRST = 0,
22 IO_ENCODER_CFG_POSMAX = 1,
23 IO_ENCODER_CFG_LAST = 31
36#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
37 const char *getClassNameStr()
const override
47 int trigger(uint8_t cmd)
override;
51 return sizeof(int32_t);
98 char path[PATH_MAX] = {};
103 int configureDesc(
const CDescObject &desc);
Descriptor wrapper for individual object configuration.
Template helper for creating ObjectIDs for I/O types.
static SObjectId::ObjectId create(bool ts, uint16_t inst)
Create ObjectID with default data type.
Base class for all I/O objects.
@ IO_CLASS_ENCODER
Quadrature encoder (position)
Quadrature encoder I/O (position only).
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
bool isRead() const
Check if IO supports read operations.
int configure()
Configure object from descriptor data.
size_t getDataDim() const
Get data vector dimension.
int trigger(uint8_t cmd)
Execute a trigger command.
int init()
One-time initialize object after bindings are resolved.
bool isNotify() const
Check if IO supports notifications.
bool isBatch() const
Check if IO supports batch operations.
int deinit()
De-initialize object.
size_t getDataSize() const
Get data size in bytes.
bool isWrite() const
Check if IO supports write operations.
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.
Base interface for I/O data buffers (static and dynamic).
@ OBJTYPE_IO
Input/Output object type.
@ DTYPE_UINT32
Unsigned 32-bit integer (0 to 4294967295).
uint32_t ObjectId
ObjectID type - single 32-bit value.