|
This Module manages all communication into and out of the ControlThread. More...
#include <RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThreadDataBuffer.h>
Public Member Functions | |
bool | activatedControllersChanged () const |
Returns whether the set of activated Joint- and NJointControllers changed. More... | |
JointAndNJointControllers | copyRequestedControllers () const |
Returns the set of requsted Joint- and NJointControllers. More... | |
std::vector< JointController * > | copyRequestedJointControllers () const |
Returns the set of requsted JointControllers. More... | |
std::vector< NJointControllerBase * > | copyRequestedNJointControllers () const |
Returns the set of requsted NJointControllers. More... | |
JointAndNJointControllers | getActivatedControllers () const |
TODO private + attorney for publish. More... | |
std::vector< JointController * > | getActivatedJointControllers () const |
Returns the set of activated JointControllers. More... | |
std::vector< NJointControllerBase * > | getActivatedNJointControllers () const |
Returns the set of activated NJointControllers. More... | |
ControlThreadOutputBuffer & | getControlThreadOutputBuffer () |
Returns the ControlThreadOutputBuffer. More... | |
const SensorAndControl & | getSensorAndControlBuffer () const |
TODO private + attorney for publish. More... | |
SensorAndControl & | rtGetSensorAndControlBuffer () |
Returns the writer buffer for sensor and control values. More... | |
void | rtSensorAndControlBufferCommitWrite () |
Commits the writer buffer for sensor and control values. More... | |
bool | sensorAndControlBufferChanged () const |
Updates the sensor and control buffer and returns whether the buffer was updated. More... | |
void | setActivateControllersRequest (std::set< NJointControllerBasePtr, std::greater< NJointControllerBasePtr >> ctrls) |
Sets the set of requested NJointControllers to. More... | |
void | updateVirtualRobot (const VirtualRobot::RobotPtr &robot) const |
Updates the given VirtualRobot with the current joint values. More... | |
void | updateVirtualRobot (const VirtualRobot::RobotPtr &robot, const std::vector< VirtualRobot::RobotNodePtr > &nodes) const |
Updates the given VirtualRobot with the current joint values. More... | |
Public Member Functions inherited from ModuleBase | |
template<class T > | |
T & | _module () |
Returns this as ref to the given type. More... | |
template<class T > | |
const T & | _module () const |
Returns this as ref to the given type. More... | |
template<class T > | |
T * | _modulePtr () |
Returns this as ptr to the given type. More... | |
template<class T > | |
const T * | _modulePtr () const |
Returns this as ptr to the given type. More... | |
bool | areDevicesReady () const |
Returns whether Devices are ready. More... | |
virtual IceUtil::Time | getControlThreadTargetPeriod () const =0 |
The ControlThread's period. More... | |
RobotUnitState | getRobotUnitState () const |
Returns the RobotUnit's State. More... | |
bool | inControlThread () const |
Returns whether the current thread is the ControlThread. More... | |
bool | isShuttingDown () const |
Returns whether the RobotUnit is shutting down. More... | |
virtual void | joinControlThread ()=0 |
Implementations have to join their ControlThread in this hook. (used by RobotUnit::finishRunning()) More... | |
virtual void | onConnectRobotUnit () |
called in onConnectComponent More... | |
virtual void | onDisconnectRobotUnit () |
called in onDisconnecComponent More... | |
virtual void | onExitRobotUnit () |
called in onExitComponent before calling finishRunning More... | |
virtual void | onInitRobotUnit () |
called in onInitComponent More... | |
void | shutDown () |
Requests the RobotUnit to shut down. More... | |
void | throwIfDevicesNotReady (const std::string &fnc) const |
Throws if the Devices are not ready. More... | |
void | throwIfInControlThread (const std::string &fnc) const |
Throws if the current thread is the ControlThread. More... | |
void | throwIfStateIs (const std::set< RobotUnitState > &stateSet, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is in. More... | |
void | throwIfStateIs (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is. More... | |
void | throwIfStateIsNot (const std::set< RobotUnitState > &stateSet, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is not in. More... | |
void | throwIfStateIsNot (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is not. More... | |
Public Member Functions inherited from Component | |
void | forceComponentCreatedByComponentCreateFunc () |
forces the flag to be set to true that the object instance was created by the Component::create function More... | |
std::vector< PropertyUserPtr > | getAdditionalPropertyUsers () const |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class ProxyType > | |
ProxyType | getProxyFromProperty (const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Get a proxy whose name is specified by the given property. More... | |
template<class ProxyType > | |
void | getProxyFromProperty (ProxyType &proxy, const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
template<class TopicProxyType > | |
TopicProxyType | getTopicFromProperty (const std::string &propertyName) |
Get a topic proxy whose name is specified by the given property. More... | |
template<class TopicProxyType > | |
void | getTopicFromProperty (TopicProxyType &top, const std::string &propertyName) |
void | initializeProperties (const std::string &configName, Ice::PropertiesPtr const &properties, const std::string &configDomain) |
initializes the properties of this component. More... | |
void | injectPropertyDefinitions (PropertyDefinitionsPtr &props) override |
void | offeringTopicFromProperty (const std::string &propertyName) |
Offer a topic whose name is specified by the given property. More... | |
virtual void | preOnConnectComponent () override |
virtual void | preOnInitComponent () override |
bool | usingProxyFromProperty (const std::string &propertyName, const std::string &endpoints="") |
Use a proxy whose name is specified by the given property. More... | |
void | usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false) |
Use a topic whose name is specified by the given property. More... | |
Public Member Functions inherited from ManagedIceObject | |
void | enableProfiler (bool enable) |
setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) More... | |
std::string | generateSubObjectName (const std::string &subObjectName) |
Generates a unique name for a sub object from a general name. More... | |
ArmarXManagerPtr | getArmarXManager () const |
Returns the ArmarX manager used to add and remove components. More... | |
ManagedIceObjectConnectivity | getConnectivity () const |
Retrieve connectivity of the object (topcis as well as proxies) More... | |
IceManagerPtr | getIceManager () const |
Returns the IceManager. More... | |
VariantBasePtr | getMetaInfo (const std::string &id) |
StringVariantBaseMap | getMetaInfoMap () const |
std::string | getName () const |
Retrieve name of object. More... | |
Ice::ObjectAdapterPtr | getObjectAdapter () const |
Returns object's Ice adapter. More... | |
ArmarXObjectSchedulerPtr | getObjectScheduler () const |
PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
Profiler::ProfilerPtr | getProfiler () const |
getProfiler returns an instance of armarx::Profiler More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyType > | |
ProxyType | getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Retrieves a proxy object. More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&...args) |
Assigns a proxy to proxy . More... | |
Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
Returns the proxy of this object (optionally it waits for the proxy) More... | |
template<class Prx > | |
Prx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
template<class ProxyType > | |
void | getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Overload to allow using string literals as name (solve ambiguous overload). More... | |
template<class Prx > | |
void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
int | getState () const |
Retrieve current state of the ManagedIceObject. More... | |
template<class TopicProxyType > | |
TopicProxyType | getTopic (const std::string &name) |
Returns a proxy of the specified topic. More... | |
template<class TopicProxyType > | |
void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy . More... | |
std::vector< std::string > | getUnresolvedDependencies () const |
returns the names of all unresolved dependencies More... | |
ManagedIceObject (ManagedIceObject const &other) | |
void | offeringTopic (const std::string &name) |
Registers a topic for retrival after initialization. More... | |
void | preambleGetTopic (std::string const &name) |
void | setMetaInfo (const std::string &id, const VariantBasePtr &value) |
Allows to set meta information that can be queried live via Ice interface on the ArmarXManager. More... | |
void | startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true) |
bool | stopPeriodicTask (const std::string &name) |
bool | unsubscribeFromTopic (const std::string &name) |
Unsubscribe from a topic. More... | |
bool | usingProxy (const std::string &name, const std::string &endpoints="") |
Registers a proxy for retrieval after initialization and adds it to the dependency list. More... | |
void | usingTopic (const std::string &name, bool orderedPublishing=false) |
Registers a proxy for subscription after initialization. More... | |
void | waitForObjectScheduler () |
Waits until the ObjectScheduler could resolve all dependencies. More... | |
void | waitForProxy (std::string const &name, bool addToDependencies) |
Public Member Functions inherited from Logging | |
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. More... | |
MessageTypeT | getEffectiveLoggingLevel () const |
Logging () | |
void | setLocalMinimumLoggingLevel (MessageTypeT level) |
With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More... | |
void | setTag (const LogTag &tag) |
void | setTag (const std::string &tagName) |
virtual | ~Logging () |
Public Member Functions inherited from PropertyUser | |
std::vector< std::string > | getComponentProxyNames () |
Ice::PropertiesPtr | getIceProperties () const |
Returns the set of Ice properties. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
Property creation and retrieval. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
Hack to allow using getProperty in const -modified methods. More... | |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class T > | |
std::vector< T > | getPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
template<class ContainerT > | |
void | getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
PropertyDefinitionsPtr | getPropertyDefinitions () |
Returns the component's property definition container. More... | |
std::vector< std::string > | getSubscribedTopicNames () |
std::vector< std::string > | getTopicProxyNames () |
bool | hasProperty (const std::string &name) |
PropertyUser () | |
virtual void | setIceProperties (Ice::PropertiesPtr properties) |
Sets the Ice properties. More... | |
bool | tryAddProperty (const std::string &propertyName, const std::string &value) |
virtual void | updateIceProperties (const std::map< std::string, std::string > &changes) |
void | updateProperties () |
void | updateProxies (IceManagerPtr) |
~PropertyUser () override | |
Static Public Member Functions | |
static ControlThreadDataBuffer & | Instance () |
Returns the singleton instance of this class. More... | |
Static Public Member Functions inherited from ModuleBase | |
static ModuleBase & | Instance () |
Returns the singleton instance of this class. More... | |
template<class T > | |
static T & | Instance () |
Returns the singleton instance of the given class. More... | |
Static Public Member Functions inherited from Component | |
template<class T , class TPtr = IceInternal::Handle<T>> | |
static TPtr | create (Ice::PropertiesPtr properties=Ice::createProperties(), const std::string &configName="", const std::string &configDomain="ArmarX") |
Factory method for a component. More... | |
Static Public Member Functions inherited from ManagedIceObject | |
static std::string | generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName) |
Generates a unique name for a sub object from a general name and unique name. More... | |
static std::string | GetObjectStateAsString (int state) |
Protected Member Functions | |
virtual void | checkSetOfControllersToActivate (const JointAndNJointControllers &) const |
This hook is called prior to writing the set of requested controllers. More... | |
Protected Member Functions inherited from ModuleBase | |
void | _componentPropertiesUpdated (const std::set< std::string > &) |
Hook for deriving RobotUnitModules called in componentPropertiesUpdated. More... | |
void | _icePropertiesInitialized () |
Hook for deriving RobotUnitModules called in icePropertiesInitialized. More... | |
void | _postFinishComponentInitialization () |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called after the state has changed) More... | |
void | _postFinishControlThreadInitialization () |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called after the state has changed) More... | |
void | _postFinishDeviceInitialization () |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called after the state has changed) More... | |
void | _postFinishRunning () |
Hook for deriving RobotUnitModules called in finishRunning (called after the state has changed) More... | |
void | _postFinishUnitInitialization () |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called after the state has changed) More... | |
void | _postOnConnectRobotUnit () |
Hook for deriving RobotUnitModules called in onConnectComponent (called after onConnectRobotUnit was called) More... | |
void | _postOnDisconnectRobotUnit () |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called after onDisconnectRobotUnit was called) More... | |
void | _postOnExitRobotUnit () |
Hook for deriving RobotUnitModules called in onExitComponent (called after onExitRobotUnit was called) More... | |
void | _postOnInitRobotUnit () |
Hook for deriving RobotUnitModules called in onInitComponent (called after onInitRobotUnit was called) More... | |
void | _preFinishComponentInitialization () |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called before the state has changed) More... | |
void | _preFinishControlThreadInitialization () |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called before the state has changed) More... | |
void | _preFinishDeviceInitialization () |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called before the state has changed) More... | |
void | _preFinishRunning () |
Hook for deriving RobotUnitModules called in finishRunning (called before the state has changed) More... | |
void | _preFinishUnitInitialization () |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called before the state has changed) More... | |
void | _preOnConnectRobotUnit () |
Hook for deriving RobotUnitModules called in onConnectComponent (called before onConnectRobotUnit was called) More... | |
void | _preOnDisconnectRobotUnit () |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called before onDisconnectRobotUnit was called) More... | |
void | _preOnExitRobotUnit () |
Hook for deriving RobotUnitModules called in onExitComponent (called before onExitRobotUnit was called) More... | |
void | _preOnInitRobotUnit () |
Hook for deriving RobotUnitModules called in onInitComponent (called before onInitRobotUnit was called) More... | |
void | checkDerivedClasses () const |
Checks whether the implementing class derives all modules. More... | |
void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) override |
virtual void | finishComponentInitialization () |
Transition RobotUnitState::InitializingComponent -> RobotUnitState::InitializingDevices. More... | |
virtual void | finishControlThreadInitialization () |
Transition RobotUnitState::InitializingControlThread -> RobotUnitState::Running. More... | |
virtual void | finishDeviceInitialization () |
Transition RobotUnitState::InitializingDevices -> RobotUnitState::InitializingUnits. More... | |
virtual void | finishRunning () |
Transition RobotUnitState::Running -> RobotUnitState::Exiting. More... | |
virtual void | finishUnitInitialization () |
Transition RobotUnitState::InitializingUnits -> RobotUnitState::WaitingForRTThreadInitialization. More... | |
std::string | getDefaultName () const override |
GuardType | getGuard () const |
Returns a guard to the RobotUnits mutex. More... | |
void | icePropertiesInitialized () override |
ModuleBase () | |
Ctor. More... | |
void | onConnectComponent () final override |
void | onDisconnectComponent () final override |
void | onExitComponent () final override |
void | onInitComponent () final override |
Protected Member Functions inherited from Component | |
void | addPropertyUser (const PropertyUserPtr &subPropertyUser) |
Add additional property users here that should show up in the application help text. More... | |
Component () | |
Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. More... | |
PropertyDefinitionsPtr | createPropertyDefinitions () override |
std::string | getConfigDomain () |
Retrieve config domain for this component as set in constructor. More... | |
std::string | getConfigIdentifier () |
Retrieve config identifier for this component as set in constructor. More... | |
std::string | getConfigName () |
Retrieve config name for this component as set in constructor. More... | |
Protected Member Functions inherited from ManagedIceObject | |
template<class PluginT , class... ParamsT> | |
PluginT * | addPlugin (const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&...params) |
Ice::CommunicatorPtr | getCommunicator () const |
std::unique_ptr< ManagedIceObjectPlugin > & | getPluginPointer (std::type_info const &type, std::string const &prefix) |
ManagedIceObject () | |
Protected default constructor. More... | |
virtual void | postOnConnectComponent () |
virtual void | postOnDisconnectComponent () |
virtual void | postOnExitComponent () |
virtual void | postOnInitComponent () |
virtual void | preOnDisconnectComponent () |
virtual void | preOnExitComponent () |
bool | removeProxyDependency (const std::string &name) |
This function removes the dependency of this object on the in parameter name specified object. More... | |
void | setName (std::string name) |
Override name of well-known object. More... | |
void | terminate () |
Initiates termination of this IceManagedObject. More... | |
~ManagedIceObject () override | |
Protected Member Functions inherited from Logging | |
bool | checkLogLevel (MessageTypeT level) const |
const LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Friends | |
class | ControlThreadDataBufferAttorneyForControlThread |
TODO use this mutex instead of the global one. More... | |
class | ModuleBase |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Static Public Attributes inherited from ManagedIceObject | |
static const ManagedIceObjectPtr | NullPtr |
A nullptr to be used when a const ref to a nullptr is required. More... | |
Protected Types inherited from ModuleBase | |
using | ClockType = std::chrono::high_resolution_clock |
using | GuardType = std::unique_lock< MutexType > |
using | MutexType = std::recursive_timed_mutex |
The type of recursive_mutex used in this class. More... | |
using | TimePointType = std::chrono::high_resolution_clock::time_point |
Static Protected Member Functions inherited from ModuleBase | |
static constexpr std::size_t | IndexSentinel () |
Returns a sentinel value for an index (std::numeric_limits<std::size_t>::max()) More... | |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
This Module manages all communication into and out of the ControlThread.
This class holds three data buffers
This buffer contains all NJointControllers requested by the user (e.g.: via NJointControllerBase::activate) and the set of JointControllers implicitly defined by this. These controllers will be activated by ControlThread::rtSwitchControllerSetup.
This buffer contains all Joint- and NJointControllers executed by the ControlThread.
This buffer contains all SensorValues and ControlTargets for each iteration. It also contains messages logged via ARMARX_RT_LOGF.
This data is used to update Units and is reported to topics (see Publish).
This buffer is organized as a ringbuffer and holds several old iterations.
Definition at line 79 of file RobotUnitModuleControlThreadDataBuffer.h.
bool activatedControllersChanged | ( | ) | const |
Returns whether the set of activated Joint- and NJointControllers changed.
Definition at line 94 of file RobotUnitModuleControlThreadDataBuffer.cpp.
|
inlineprotectedvirtual |
This hook is called prior to writing the set of requested controllers.
A deriving class can override this function to perform some additional checks (e.g. two controll devices may always need to have the same control mode, this can be checked here) If any check fails, throw an exception with a descriptive message.
controllers | The controllers to activate |
Definition at line 254 of file RobotUnitModuleControlThreadDataBuffer.h.
JointAndNJointControllers copyRequestedControllers | ( | ) | const |
Returns the set of requsted Joint- and NJointControllers.
Definition at line 103 of file RobotUnitModuleControlThreadDataBuffer.cpp.
std::vector< JointController * > copyRequestedJointControllers | ( | ) | const |
Returns the set of requsted JointControllers.
Definition at line 112 of file RobotUnitModuleControlThreadDataBuffer.cpp.
std::vector< NJointControllerBase * > copyRequestedNJointControllers | ( | ) | const |
Returns the set of requsted NJointControllers.
Definition at line 121 of file RobotUnitModuleControlThreadDataBuffer.cpp.
JointAndNJointControllers getActivatedControllers | ( | ) | const |
TODO private + attorney for publish.
Returns the set of activated Joint- and NJointControllers.
Definition at line 67 of file RobotUnitModuleControlThreadDataBuffer.cpp.
std::vector< JointController * > getActivatedJointControllers | ( | ) | const |
Returns the set of activated JointControllers.
Definition at line 76 of file RobotUnitModuleControlThreadDataBuffer.cpp.
std::vector< NJointControllerBase * > getActivatedNJointControllers | ( | ) | const |
Returns the set of activated NJointControllers.
Definition at line 85 of file RobotUnitModuleControlThreadDataBuffer.cpp.
|
inline |
Returns the ControlThreadOutputBuffer.
Definition at line 206 of file RobotUnitModuleControlThreadDataBuffer.h.
const SensorAndControl & getSensorAndControlBuffer | ( | ) | const |
TODO private + attorney for publish.
Returns the last updated sensor and control buffer.
Definition at line 138 of file RobotUnitModuleControlThreadDataBuffer.cpp.
|
inlinestatic |
Returns the singleton instance of this class.
Definition at line 89 of file RobotUnitModuleControlThreadDataBuffer.h.
|
inline |
Returns the writer buffer for sensor and control values.
Definition at line 216 of file RobotUnitModuleControlThreadDataBuffer.h.
|
inline |
Commits the writer buffer for sensor and control values.
TODO move to attorney
Definition at line 225 of file RobotUnitModuleControlThreadDataBuffer.h.
bool sensorAndControlBufferChanged | ( | ) | const |
Updates the sensor and control buffer and returns whether the buffer was updated.
Definition at line 130 of file RobotUnitModuleControlThreadDataBuffer.cpp.
void setActivateControllersRequest | ( | std::set< NJointControllerBasePtr, std::greater< NJointControllerBasePtr >> | ctrls | ) |
Sets the set of requested NJointControllers to.
ctrls. | |
ctrls | NJointControllers requested. |
Definition at line 261 of file RobotUnitModuleControlThreadDataBuffer.cpp.
void updateVirtualRobot | ( | const VirtualRobot::RobotPtr & | robot | ) | const |
Updates the given VirtualRobot with the current joint values.
robot | The robot to update |
Definition at line 361 of file RobotUnitModuleControlThreadDataBuffer.cpp.
void updateVirtualRobot | ( | const VirtualRobot::RobotPtr & | robot, |
const std::vector< VirtualRobot::RobotNodePtr > & | nodes | ||
) | const |
Updates the given VirtualRobot with the current joint values.
robot | The robot to update |
nodes | The robot's nodes |
Definition at line 351 of file RobotUnitModuleControlThreadDataBuffer.cpp.
|
friend |
TODO use this mutex instead of the global one.
This class allows minimal access to private members of ControlThreadDataBuffer in a sane fashion for ControlThread.
Definition at line 293 of file RobotUnitModuleControlThreadDataBuffer.h.
|
friend |
Definition at line 81 of file RobotUnitModuleControlThreadDataBuffer.h.