10#include <ChimeraTK/ScalarRegisterAccessor.h>
26 const std::unordered_set<std::string>& tags = {});
29 using ScalarOutput::operator=;
60 Impl(
ModuleGroup* owner,
const std::string& name,
const std::string& description,
61 const std::unordered_set<std::string>& tags = {});
68 std::vector<ScalarPushInput<std::string>> _inputs;
70 StatusWithMessage _output{
this,
"event",
""};
72 VoidInput _clear{
this,
"clear",
""};
73 ScalarPushInput<uint64_t> _autoClearTimer{
this,
"AutoClearTimer/tick",
"",
""};
75 uint32_t _autoClearSeconds{
appConfig().
get<uint32_t>(
"Configuration/autoClearEventMessage", 300)};
78 Impl _impl{
this,
".",
""};
80 PeriodicTrigger _autoClearTimer{
this,
"AutoClearTimer",
"1 Hz trigger for the auto clear timer"};
Specialised ScalarOutput for sending event messages which can be aggregated by the EventMessageAggreg...
static constexpr std::string_view aggregatableMessageTag
ApplicationModule()=default
Default constructor: Allows late initialisation of modules (e.g.
friend class ChimeraTK::Model::Impl
const T & get(std::string variableName) const
Get value for given configuration variable.
Module to aggregate messages from AggregatableMessage outputs.
ModuleGroup()=default
Default constructor to allow late initialisation of module groups.
Base class for ApplicationModule and DeviceModule, to have a common interface for these module types.
static ConfigReader & appConfig()
Obtain the ConfigReader instance of the application.
InvalidityTracer application module.
Convenience class for output scalar accessors (always UpdateMode::push)