24 const auto res =
step(in);
39 if (not sleepDuration.isPositive())
42 <<
": execution took too long (" << -sleepDuration
43 <<
" too long. Expected " <<
frequency.toCycleDuration() <<
")";
55 <<
"'. Please overwrite this method!";
SpamFilterDataPtr deactivateSpam(float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
disables the logging for the current line for the given amount of seconds.
Simple rate limiter for use in loops to maintain a certain frequency given a clock.
Duration waitForNextTick() const
Wait and block until the target period is met.
PeriodicSkill::StepResult StepResult
virtual StepResult step(const MainInput &in)
Override this method with your own step function.
SimplePeriodicSkill(const SkillDescription &skillDescription, const armarx::Frequency &frequency)
const armarx::Frequency frequency
static MainResult MakeSucceededResult(aron::data::DictPtr data=nullptr)
static MainResult MakeAbortedResult(aron::data::DictPtr data=nullptr)
SkillDescription description
virtual MainResult main()
Override this method with the actual implementation.
void throwIfSkillShouldTerminate(const std::string &abortedMessage="") const
static MainResult MakeFailedResult(aron::data::DictPtr data=nullptr)
A base class for skill exceptions.
#define ARMARX_INFO
The normal logging level.
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
This file is part of ArmarX.
A result struct for th main method of a skill.