8#include "dawn/io/adc_base.hxx"
19 IO_ADC_SYNC_CFG_FIRST = 0,
20 IO_ADC_SYNC_CFG_TRIGGER_FREQ = 1,
21 IO_ADC_SYNC_CFG_LAST = 31
27 , hasTriggerFreq(
false)
31#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
32 const char *getClassNameStr()
const override
42 int trigger(uint8_t cmd)
override;
86 uint32_t triggerFreqHz;
89 int configureDesc(
const CDescObject &desc);
Descriptor wrapper for individual object configuration.
Shared ADC base for fetch/sync/stream implementations.
Hardware-triggered single-sample ADC I/O.
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
int doStop()
Stop implementation hook.
int trigger(uint8_t cmd)
Execute a trigger command.
int configure()
Configure object from descriptor data.
bool isNotify() const
Check if IO supports notifications.
bool isBatch() const
Check if IO supports batch operations.
bool isWrite() const
Check if IO supports write operations.
int doStart()
Start implementation hook.
int onSetObjConfig(SObjectCfg::ObjectCfgId objcfg, uint32_t *data, size_t len)
Pre-update hook for runtime configuration writes.
bool isRead() const
Check if IO supports read operations.
Template helper for creating ObjectIDs for I/O types.
static SObjectId::ObjectId create(bool ts, uint16_t inst)
Create ObjectID with default data type.
@ IO_CLASS_ADC_SYNC
ADC sync (HW-triggered control loop)
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.