Go to the documentation of this file.
28 #include <Ice/ProxyHandle.h>
34 class DebugDrawerInterface;
35 class DebugObserverInterface;
41 typedef ::IceInternal::ProxyHandle<::IceProxy::armarx::DebugDrawerInterface>
43 typedef ::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface>
117 std::atomic_bool activated{
false};
119 std::size_t controlModeHash{0};
120 std::size_t hardwareControlModeHash{0};
125 template <
class ControlTargetType>
129 "ControlTargetType has to inherit SensorValueBase");
132 using JointController::JointController;
143 inline const ControlTargetBase*
162 inline const std::string&
177 return controlModeHash;
183 return controlModeHash;
189 return hardwareControlModeHash;
195 return hardwareControlModeHash;
215 JointController::rtActivate()
222 JointController::rtDeactivate()
229 template <
class ControlTargetType>
230 inline ControlTargetType*
233 return &controlTarget;
virtual StringVariantBaseMap publish(const DebugDrawerInterfacePrx &draw, const DebugObserverInterfacePrx &observer) const
Hook for publishing data from JointController, mainly for debugging purposes.
std::map< std::string, VariantBasePtr > StringVariantBaseMap
virtual void rtRun(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration)=0
called when this JointController is run
ControlTargetType controlTarget
Brief description of class JointControlTargetBase.
The ControlDevice class represents a logical unit accepting commands via its JointControllers.
virtual void rtPostDeactivateController()
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface > DebugObserverInterfacePrx
The JointController class represents one joint in one control mode.
virtual const std::string & getControlMode() const =0
std::size_t rtGetHardwareControlModeHash() const
std::shared_ptr< Value > value()
ControlTargetType * getControlTarget() final
virtual std::string getHardwareControlMode() const
virtual bool isValid() const =0
virtual void rtPreActivateController()
called when this JointController is activated
virtual bool rtIsTargetValid() const
armarx::core::time::DateTime Time
const T * getControlTarget() const
ControlDevice & rtGetParent() const
std::size_t getHardwareControlModeHash() const
virtual ~JointController()=default
std::size_t rtGetControlModeHash() const
virtual const std::string & getControlMode() const
virtual ControlTargetBase * getControlTarget()=0
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugDrawerInterface > DebugDrawerInterfacePrx
virtual void rtResetTarget()
This file offers overloads of toIce() and fromIce() functions for STL container types.
ControlDevice & getParent() const
std::size_t getControlModeHash() const