14 template <
class AronT>
43 const auto res =
step(in);
58 if (not sleepDuration.isPositive())
61 <<
": execution took too long (" << -sleepDuration
62 <<
" too long. Expected " <<
frequency.toCycleDuration() <<
")";
75 <<
"'. 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(const typename Base::SpecializedMainInput &in) final
Do not use anymore.
SimplePeriodicSpecializedSkill(const SkillDescription &skillDescription, const armarx::Frequency &frequency)
const armarx::Frequency frequency
SimpleSpecializedSkill< AronT > Base
virtual StepResult step(const typename Base::SpecializedMainInput &in)
Override this method with your own step function.
SpecializedSkill< AronT > Base
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
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.
This file offers overloads of toIce() and fromIce() functions for STL container types.
A result struct for th main method of a skill.