11#include "dawn/common/thread.hxx"
12#include "dawn/prog/common.hxx"
33 PROG_SEQUENCER_CFG_FIRST = 0,
34 PROG_SEQUENCER_CFG_TARGET = 1,
35 PROG_SEQUENCER_CFG_STATE = 2,
36 PROG_SEQUENCER_CFG_START = 3,
37 PROG_SEQUENCER_CFG_LAST = 31
52#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
53 const char *getClassNameStr()
const override
65 int trigger(uint8_t cmd)
override;
85 return CProgSequencer::cfgId(
false, size, PROG_SEQUENCER_CFG_TARGET);
90 return CProgSequencer::cfgId(
true, size, PROG_SEQUENCER_CFG_STATE);
95 return CProgSequencer::cfgId(
true, 1, PROG_SEQUENCER_CFG_START);
109 int reloadRuntimeConfig(
bool resetCurrent,
111 const uint32_t *overrideData =
nullptr,
112 size_t overrideLen = 0);
113 int applyState(
size_t index);
116 std::vector<SObjectId::ObjectId> targetIds;
117 std::vector<CIOCommon *> targets;
118 std::vector<SState> states;
121 std::mutex stateLock;
Descriptor wrapper for individual object configuration.
Base class for all PROG (processing) objects.
@ PROG_CLASS_SEQUENCER
Periodic state sequencer.
Periodic state sequencer Program.
bool hasThread() const
Check if a background thread is active.
int init()
One-time initialize object after bindings are resolved.
int configure()
Configure object from descriptor data.
int deinit()
De-initialize object.
int doStop()
Stop implementation hook.
int doStart()
Start implementation hook.
int trigger(uint8_t cmd)
Execute a trigger command.
Portable thread owner abstraction for Dawn components.
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_PROG
Program/algorithm object type.
@ DTYPE_ANY
Wildcard data type (matches any actual type).
uint32_t ObjectId
ObjectID type - single 32-bit value.
static ObjectId objectId(uint8_t type, uint16_t cls, uint8_t dtype, uint8_t flags, uint16_t priv)
Construct 32-bit ObjectID from component fields.
Heap-allocated dynamic I/O data buffer.