35 template <
class AronT>
65 const auto res =
step();
80 if (not sleepDuration.isPositive())
83 <<
": execution took too long (" << -sleepDuration
84 <<
" too long. Expected " <<
frequency.toCycleDuration() <<
")";
96 <<
"'. 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
Skill::MainResult main() final
Do not use anymore.
PeriodicSpecializedSkill(const SkillDescription &skillDescription, const armarx::Frequency &frequency)
SpecializedSkill< AronT > Base
SkillDescription description
PeriodicSpecializedSkill()=delete
const armarx::Frequency frequency
virtual StepResult step()
Override this method with your own step function.
static MainResult MakeSucceededResult(aron::data::DictPtr data=nullptr)
static MainResult MakeAbortedResult(aron::data::DictPtr data=nullptr)
SkillDescription description
void throwIfSkillShouldTerminate(const std::string &abortedMessage="") const
SkillID getSkillId() const
Get the id of the skill.
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.