|
|
Base class for all RobotUnitModules. More...
#include <RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleBase.h>
Inheritance diagram for ModuleBase:Public Member Functions | |
| template<class T> | |
| T & | _module () |
| Returns this as ref to the given type. | |
| template<class T> | |
| const T & | _module () const |
| Returns this as ref to the given type. | |
| template<class T> | |
| T * | _modulePtr () |
| Returns this as ptr to the given type. | |
| template<class T> | |
| const T * | _modulePtr () const |
| Returns this as ptr to the given type. | |
| bool | areDevicesReady () const |
| Returns whether Devices are ready. | |
| virtual IceUtil::Time | getControlThreadTargetPeriod () const =0 |
| The ControlThread's period. | |
| RobotUnitState | getRobotUnitState () const |
| Returns the RobotUnit's State. | |
| bool | inControlThread () const |
| Returns whether the current thread is the ControlThread. | |
| bool | isShuttingDown () const |
| Returns whether the RobotUnit is shutting down. | |
| virtual void | joinControlThread ()=0 |
| Implementations have to join their ControlThread in this hook. (used by RobotUnit::finishRunning()) | |
| virtual void | onConnectRobotUnit () |
| called in onConnectComponent | |
| virtual void | onDisconnectRobotUnit () |
| called in onDisconnecComponent | |
| virtual void | onExitRobotUnit () |
| called in onExitComponent before calling finishRunning | |
| virtual void | onInitRobotUnit () |
| called in onInitComponent | |
| void | shutDown () |
| Requests the RobotUnit to shut down. | |
| void | throwIfDevicesNotReady (const std::string &fnc) const |
| Throws if the Devices are not ready. | |
| void | throwIfInControlThread (const std::string &fnc) const |
| Throws if the current thread is the ControlThread. | |
| void | throwIfStateIs (const std::set< RobotUnitState > &stateSet, const std::string &fnc, bool onlyWarn=false) const |
| Throws an exception if the current state is in. | |
| void | throwIfStateIs (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
| Throws an exception if the current state is. | |
| 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. | |
| void | throwIfStateIsNot (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
| Throws an exception if the current state is not. | |
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 | |
| 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. | |
| 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. | |
| 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. | |
| void | injectPropertyDefinitions (PropertyDefinitionsPtr &props) override |
| void | offeringTopicFromProperty (const std::string &propertyName) |
| Offer a topic whose name is specified by the given property. | |
| 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. | |
| void | usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false) |
| Use a topic whose name is specified by the given property. | |
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) | |
| std::string | generateSubObjectName (const std::string &subObjectName) |
| Generates a unique name for a sub object from a general name. | |
| ArmarXManagerPtr | getArmarXManager () const |
| Returns the ArmarX manager used to add and remove components. | |
| ManagedIceObjectConnectivity | getConnectivity () const |
| Retrieve connectivity of the object (topcis as well as proxies) | |
| IceManagerPtr | getIceManager () const |
| Returns the IceManager. | |
| VariantBasePtr | getMetaInfo (const std::string &id) |
| StringVariantBaseMap | getMetaInfoMap () const |
| std::string | getName () const |
| Retrieve name of object. | |
| Ice::ObjectAdapterPtr | getObjectAdapter () const |
| Returns object's Ice adapter. | |
| ArmarXObjectSchedulerPtr | getObjectScheduler () const |
| PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
| Profiler::ProfilerPtr | getProfiler () const |
| getProfiler returns an instance of armarx::Profiler | |
| 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. | |
| 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. | |
| Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
| Returns the proxy of this object (optionally it waits for the proxy) | |
| 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). | |
| template<class Prx> | |
| void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
| int | getState () const |
| Retrieve current state of the ManagedIceObject. | |
| template<class TopicProxyType> | |
| TopicProxyType | getTopic (const std::string &name) |
| Returns a proxy of the specified topic. | |
| template<class TopicProxyType> | |
| void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy. | |
| std::vector< std::string > | getUnresolvedDependencies () const |
| returns the names of all unresolved dependencies | |
| ManagedIceObject (ManagedIceObject const &other) | |
| void | offeringTopic (const std::string &name) |
| Registers a topic for retrival after initialization. | |
| 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. | |
| 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. | |
| bool | usingProxy (const std::string &name, const std::string &endpoints="") |
| Registers a proxy for retrieval after initialization and adds it to the dependency list. | |
| void | usingTopic (const std::string &name, bool orderedPublishing=false) |
| Registers a proxy for subscription after initialization. | |
| void | waitForObjectScheduler () |
| Waits until the ObjectScheduler could resolve all dependencies. | |
| 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. | |
| MessageTypeT | getEffectiveLoggingLevel () const |
| Logging () | |
| void | setLocalMinimumLoggingLevel (MessageTypeT level) |
| With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. | |
| 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. | |
| template<typename PropertyType> | |
| Property< PropertyType > | getProperty (const std::string &name) |
| Property creation and retrieval. | |
| template<typename PropertyType> | |
| Property< PropertyType > | getProperty (const std::string &name) const |
Hack to allow using getProperty in const-modified methods. | |
| 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. | |
| 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. | |
| 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 ModuleBase & | Instance () |
| Returns the singleton instance of this class. | |
| template<class T> | |
| static T & | Instance () |
| Returns the singleton instance of the given class. | |
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. | |
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. | |
| static std::string | GetObjectStateAsString (int state) |
Protected Types | |
| 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. | |
| using | TimePointType = std::chrono::high_resolution_clock::time_point |
Protected Member Functions | |
| void | _componentPropertiesUpdated (const std::set< std::string > &) |
| Hook for deriving RobotUnitModules called in componentPropertiesUpdated. | |
| void | _icePropertiesInitialized () |
| Hook for deriving RobotUnitModules called in icePropertiesInitialized. | |
| void | _postFinishComponentInitialization () |
| Hook for deriving RobotUnitModules called in finishComponentInitialization (called after the state has changed) | |
| void | _postFinishControlThreadInitialization () |
| Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called after the state has changed) | |
| void | _postFinishDeviceInitialization () |
| Hook for deriving RobotUnitModules called in finishDeviceInitialization (called after the state has changed) | |
| void | _postFinishRunning () |
| Hook for deriving RobotUnitModules called in finishRunning (called after the state has changed) | |
| void | _postFinishUnitInitialization () |
| Hook for deriving RobotUnitModules called in finishUnitInitialization (called after the state has changed) | |
| void | _postOnConnectRobotUnit () |
| Hook for deriving RobotUnitModules called in onConnectComponent (called after onConnectRobotUnit was called) | |
| void | _postOnDisconnectRobotUnit () |
| Hook for deriving RobotUnitModules called in onDisconnectComponent (called after onDisconnectRobotUnit was called) | |
| void | _postOnExitRobotUnit () |
| Hook for deriving RobotUnitModules called in onExitComponent (called after onExitRobotUnit was called) | |
| void | _postOnInitRobotUnit () |
| Hook for deriving RobotUnitModules called in onInitComponent (called after onInitRobotUnit was called) | |
| void | _preFinishComponentInitialization () |
| Hook for deriving RobotUnitModules called in finishComponentInitialization (called before the state has changed) | |
| void | _preFinishControlThreadInitialization () |
| Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called before the state has changed) | |
| void | _preFinishDeviceInitialization () |
| Hook for deriving RobotUnitModules called in finishDeviceInitialization (called before the state has changed) | |
| void | _preFinishRunning () |
| Hook for deriving RobotUnitModules called in finishRunning (called before the state has changed) | |
| void | _preFinishUnitInitialization () |
| Hook for deriving RobotUnitModules called in finishUnitInitialization (called before the state has changed) | |
| void | _preOnConnectRobotUnit () |
| Hook for deriving RobotUnitModules called in onConnectComponent (called before onConnectRobotUnit was called) | |
| void | _preOnDisconnectRobotUnit () |
| Hook for deriving RobotUnitModules called in onDisconnectComponent (called before onDisconnectRobotUnit was called) | |
| void | _preOnExitRobotUnit () |
| Hook for deriving RobotUnitModules called in onExitComponent (called before onExitRobotUnit was called) | |
| void | _preOnInitRobotUnit () |
| Hook for deriving RobotUnitModules called in onInitComponent (called before onInitRobotUnit was called) | |
| void | checkDerivedClasses () const |
| Checks whether the implementing class derives all modules. | |
| void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) override |
| virtual void | finishComponentInitialization () |
| Transition InitializingComponent -> InitializingDevices. | |
| virtual void | finishControlThreadInitialization () |
| Transition InitializingControlThread -> Running. | |
| virtual void | finishDeviceInitialization () |
| Transition InitializingDevices -> InitializingUnits. | |
| virtual void | finishRunning () |
| Transition Running -> Exiting. | |
| virtual void | finishUnitInitialization () |
| Transition InitializingUnits -> RobotUnitState::WaitingForRTThreadInitialization. | |
| std::string | getDefaultName () const override |
| GuardType | getGuard () const |
| Returns a guard to the RobotUnits mutex. | |
| void | icePropertiesInitialized () override |
| ModuleBase () | |
| Ctor. | |
| 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. | |
| Component () | |
| Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. | |
| PropertyDefinitionsPtr | createPropertyDefinitions () override |
| std::string | getConfigDomain () |
| Retrieve config domain for this component as set in constructor. | |
| std::string | getConfigIdentifier () |
| Retrieve config identifier for this component as set in constructor. | |
| std::string | getConfigName () |
| Retrieve config name for this component as set in constructor. | |
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. | |
| 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. | |
| void | setName (std::string name) |
| Override name of well-known object. | |
| void | terminate () |
| Initiates termination of this IceManagedObject. | |
| ~ManagedIceObject () override | |
Protected Member Functions inherited from Logging | |
| bool | checkLogLevel (MessageTypeT level) const |
| const LogSenderPtr & | getLogSender () const |
| Retrieve log sender. | |
| LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Static Protected Member Functions | |
| static constexpr std::size_t | IndexSentinel () |
| Returns a sentinel value for an index (std::numeric_limits<std::size_t>::max()) | |
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. | |
Protected Attributes inherited from Logging | |
| MessageTypeT | minimumLoggingLevel |
| SpamFilterDataPtr | spamFilter |
| LogTag | tag |
Base class for all RobotUnitModules.
Since the robot unit is a complex class, it is split into several modules. One reason behind this is stopping developers from accidently using datastructures in the wrong way (e.g. causing racing conditions) For a RobotUnit to work, ALL modules are required (A class has to derive all of them)
The list of Modules is:
The RobotUnit has multiple Phases (see RobotUnitState) as well as the life cycle of a ManagedIceObject.
The hooks (onInitComponent, onConnectComponent, onDisconnectComponent, onExitComponent) for state transitions provided by ManagedIceObject have a final overrider. Deriving classes have to use the replacement hooks:
| Hook | Replacement \th |
|---|---|
| onInitComponent | onInitRobotUnit |
| onConnectComponent | onConnectRobotUnit |
| onDisconnectComponent | onDisconnectRobotUnit |
| onExitComponent | onExitRobotUnit |
The initial phase is InitializingComponent. The following table shows all Phase transitions and the functions causing it:
| From | To | Transition function | Note \th |
|---|---|---|---|
| InitializingComponent | InitializingDevices | finishComponentInitialization | Called in onInitComponent |
| InitializingDevices | InitializingUnits | finishDeviceInitialization | |
| InitializingUnits | InitializingControlThread | finishUnitInitialization | |
| InitializingControlThread | Running | finishControlThreadInitialization | Has to be called in the control thread |
| Running | Exiting | finishRunning | Called in onExitComponent |
Each RobotUnitModule has two hooks each transition function ().
Definition at line 183 of file RobotUnitModuleBase.h.
|
protected |
Definition at line 227 of file RobotUnitModuleBase.h.
Definition at line 226 of file RobotUnitModuleBase.h.
|
protected |
The type of recursive_mutex used in this class.
This typedef is used to quickly replace the mutex type with a logging mutex type for debugging.
Definition at line 225 of file RobotUnitModuleBase.h.
|
protected |
Definition at line 228 of file RobotUnitModuleBase.h.
|
protected |
Ctor.
Definition at line 539 of file RobotUnitModuleBase.cpp.
|
inlineprotected |
Hook for deriving RobotUnitModules called in componentPropertiesUpdated.
Definition at line 413 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in icePropertiesInitialized.
Definition at line 419 of file RobotUnitModuleBase.h.
Returns this as ref to the given type.
Definition at line 249 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:Returns this as ref to the given type.
Definition at line 260 of file RobotUnitModuleBase.h.
Returns this as ptr to the given type.
Definition at line 271 of file RobotUnitModuleBase.h.
Here is the call graph for this function:
Here is the caller graph for this function:Returns this as ptr to the given type.
Definition at line 282 of file RobotUnitModuleBase.h.
Here is the call graph for this function:
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called after the state has changed)
Definition at line 488 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called after the state has changed)
Definition at line 548 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called after the state has changed)
Definition at line 508 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishRunning (called after the state has changed)
Definition at line 568 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called after the state has changed)
Definition at line 528 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onConnectComponent (called after onConnectRobotUnit was called)
Definition at line 350 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called after onDisconnectRobotUnit was called)
Definition at line 370 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onExitComponent (called after onExitRobotUnit was called)
Definition at line 390 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onInitComponent (called after onInitRobotUnit was called)
Definition at line 330 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called before the state has changed)
Definition at line 478 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called before the state has changed)
Definition at line 538 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called before the state has changed)
Definition at line 498 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishRunning (called before the state has changed)
Definition at line 558 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called before the state has changed)
Definition at line 518 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onConnectComponent (called before onConnectRobotUnit was called)
Definition at line 340 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called before onDisconnectRobotUnit was called)
Definition at line 360 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onExitComponent (called before onExitRobotUnit was called)
Definition at line 380 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onInitComponent (called before onInitRobotUnit was called)
Definition at line 320 of file RobotUnitModuleBase.h.
Here is the call graph for this function:
Here is the caller graph for this function:| bool areDevicesReady | ( | ) | const |
Returns whether Devices are ready.
Definition at line 405 of file RobotUnitModuleBase.cpp.
Here is the caller graph for this function:
|
protected |
Checks whether the implementing class derives all modules.
Here is the caller graph for this function:
|
overrideprotectedvirtual |
Reimplemented from Component.
Reimplemented in RobotUnitSimulation.
Definition at line 207 of file RobotUnitModuleBase.cpp.
|
protectedvirtual |
Transition InitializingComponent -> InitializingDevices.
Definition at line 228 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
|
protectedvirtual |
Transition InitializingControlThread -> Running.
Definition at line 291 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
protectedvirtual |
Transition InitializingDevices -> InitializingUnits.
Definition at line 249 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
protectedvirtual |
Transition Running -> Exiting.
Definition at line 313 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
protectedvirtual |
Transition InitializingUnits -> RobotUnitState::WaitingForRTThreadInitialization.
Definition at line 270 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
pure virtual |
The ControlThread's period.
Implemented in RTUnit, and RobotUnitSimulation.
|
inlineoverrideprotectedvirtual |
Implements ManagedIceObject.
Reimplemented in RobotUnitSimulation.
Definition at line 405 of file RobotUnitModuleBase.h.
|
protected |
Returns a guard to the RobotUnits mutex.
| throws | If called in the ControlThread or on shutdown. |
Definition at line 432 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
overrideprotectedvirtual |
Reimplemented from Component.
Definition at line 217 of file RobotUnitModuleBase.cpp.
| bool inControlThread | ( | ) | const |
Returns whether the current thread is the ControlThread.
Definition at line 411 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticconstexprprotected |
Returns a sentinel value for an index (std::numeric_limits<std::size_t>::max())
Definition at line 720 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:
|
inlinestatic |
Returns the singleton instance of this class.
Definition at line 194 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:Returns the singleton instance of the given class.
Definition at line 206 of file RobotUnitModuleBase.h.
|
inline |
Returns whether the RobotUnit is shutting down.
Definition at line 647 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:
|
pure virtual |
Implementations have to join their ControlThread in this hook. (used by RobotUnit::finishRunning())
Implemented in RTUnit, and RobotUnitSimulation.
Here is the caller graph for this function:
|
finaloverrideprotectedvirtual |
Implements ManagedIceObject.
Definition at line 145 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinevirtual |
called in onConnectComponent
Reimplemented in RTUnit, and RobotUnitSimulation.
Definition at line 681 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:
|
finaloverrideprotectedvirtual |
Reimplemented from ManagedIceObject.
Definition at line 164 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinevirtual |
called in onDisconnecComponent
Reimplemented in RTUnit.
Definition at line 691 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:
|
finaloverrideprotectedvirtual |
Reimplemented from ManagedIceObject.
Definition at line 183 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinevirtual |
called in onExitComponent before calling finishRunning
Reimplemented in RTUnit.
Definition at line 702 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:
|
finaloverrideprotectedvirtual |
Implements ManagedIceObject.
Here is the call graph for this function:
|
inlinevirtual |
called in onInitComponent
Reimplemented in RTUnit, and RobotUnitSimulation.
Definition at line 671 of file RobotUnitModuleBase.h.
|
inline |
Requests the RobotUnit to shut down.
Definition at line 657 of file RobotUnitModuleBase.h.
Here is the caller graph for this function:| void throwIfDevicesNotReady | ( | const std::string & | fnc | ) | const |
Throws if the Devices are not ready.
| fnc | The callers function name. |
Definition at line 532 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void throwIfInControlThread | ( | const std::string & | fnc | ) | const |
Throws if the current thread is the ControlThread.
| fnc | The callers function name. |
Definition at line 418 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:| void throwIfStateIs | ( | const std::set< RobotUnitState > & | stateSet, |
| const std::string & | fnc, | ||
| bool | onlyWarn = false ) const |
Throws an exception if the current state is in.
| stateSet | |
| stateSet | The set of forbidden RobotUnitStates |
| fnc | The callers function name. |
| onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 495 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void throwIfStateIs | ( | RobotUnitState | s, |
| const std::string & | fnc, | ||
| bool | onlyWarn = false ) const |
Throws an exception if the current state is.
| state | |
| state | The forbidden RobotUnitState |
| fnc | The callers function name. |
| onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 526 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:| 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.
| stateSet | |
| stateSet | The set of acceptable RobotUnitStates |
| fnc | The callers function name. |
| onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 458 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void throwIfStateIsNot | ( | RobotUnitState | s, |
| const std::string & | fnc, | ||
| bool | onlyWarn = false ) const |
Throws an exception if the current state is not.
| state | |
| state | The acceptable RobotUnitState |
| fnc | The callers function name. |
| onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 489 of file RobotUnitModuleBase.cpp.
Here is the call graph for this function: