SMACC2
|
#include <smacc_state_machine.hpp>
Public Member Functions | |
ISmaccStateMachine (std::string stateMachineName, SignalDetector *signalDetector) | |
virtual | ~ISmaccStateMachine () |
virtual void | reset () |
virtual void | stop () |
virtual void | eStop () |
template<typename TOrthogonal > | |
TOrthogonal * | getOrthogonal () |
const std::map< std::string, std::shared_ptr< smacc2::ISmaccOrthogonal > > & | getOrthogonals () const |
template<typename SmaccComponentType > | |
void | requiresComponent (SmaccComponentType *&storage) |
template<typename EventType > | |
void | postEvent (EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE) |
template<typename EventType > | |
void | postEvent (EventLifeTime evlifetime=EventLifeTime::ABSOLUTE) |
template<typename T > | |
bool | getGlobalSMData (std::string name, T &ret) |
template<typename T > | |
void | setGlobalSMData (std::string name, T value) |
template<typename StateField , typename BehaviorType > | |
void | mapBehavior () |
std::string | getStateMachineName () |
void | state_machine_visualization () |
std::shared_ptr< SmaccStateInfo > | getCurrentStateInfo () |
void | publishTransition (const SmaccTransitionInfo &transitionInfo) |
virtual void | onInitialize () |
this function should be implemented by the user to create the orthogonals More... | |
void | getTransitionLogHistory (const std::shared_ptr< rmw_request_id_t > request_header, const std::shared_ptr< smacc2_msgs::srv::SmaccGetTransitionHistory::Request > req, std::shared_ptr< smacc2_msgs::srv::SmaccGetTransitionHistory::Response > res) |
template<typename TSmaccSignal , typename TMemberFunctionPrototype , typename TSmaccObjectType > | |
boost::signals2::connection | createSignalConnection (TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object) |
template<typename StateType > | |
void | notifyOnStateEntryStart (StateType *state) |
template<typename StateType > | |
void | notifyOnStateEntryEnd (StateType *state) |
template<typename StateType > | |
void | notifyOnRuntimeConfigured (StateType *state) |
template<typename StateType > | |
void | notifyOnStateExitting (StateType *state) |
template<typename StateType > | |
void | notifyOnStateExited (StateType *state) |
void | disposeStateAndDisconnectSignals () |
template<typename StateType > | |
void | notifyOnRuntimeConfigurationFinished (StateType *state) |
unsigned long | getCurrentStateCounter () const |
ISmaccState * | getCurrentState () const |
const SmaccStateMachineInfo & | getStateMachineInfo () |
template<typename InitialStateType > | |
void | buildStateMachineInfo () |
rclcpp::Node::SharedPtr | getNode () |
rclcpp::Logger | getLogger () |
std::recursive_mutex & | getMutex () |
Protected Member Functions | |
void | checkStateMachineConsistence () |
void | initializeROS (std::string smshortname) |
void | onInitialized () |
template<typename TOrthogonal > | |
void | createOrthogonal () |
Protected Attributes | |
rclcpp::Node::SharedPtr | nh_ |
rclcpp::TimerBase::SharedPtr | timer_ |
rclcpp::Publisher< smacc2_msgs::msg::SmaccStateMachine >::SharedPtr | stateMachinePub_ |
rclcpp::Publisher< smacc2_msgs::msg::SmaccStatus >::SharedPtr | stateMachineStatusPub_ |
rclcpp::Publisher< smacc2_msgs::msg::SmaccTransitionLogEntry >::SharedPtr | transitionLogPub_ |
rclcpp::Service< smacc2_msgs::srv::SmaccGetTransitionHistory >::SharedPtr | transitionHistoryService_ |
ISmaccState * | currentState_ |
std::shared_ptr< SmaccStateInfo > | currentStateInfo_ |
smacc2_msgs::msg::SmaccStatus | status_msg_ |
std::map< std::string, std::shared_ptr< smacc2::ISmaccOrthogonal > > | orthogonals_ |
std::shared_ptr< SmaccStateMachineInfo > | stateMachineInfo_ |
Private Member Functions | |
template<typename EventType > | |
void | propagateEventToStateReactors (ISmaccState *st, EventType *ev) |
void | updateStatusMessage () |
Private Attributes | |
std::recursive_mutex | m_mutex_ |
std::recursive_mutex | eventQueueMutex_ |
StateMachineInternalAction | stateMachineCurrentAction |
std::list< boost::signals2::connection > | stateCallbackConnections |
std::map< std::string, std::pair< std::function< std::string()>, boost::any > > | globalData_ |
std::vector< smacc2_msgs::msg::SmaccTransitionLogEntry > | transitionLogHistory_ |
smacc2::SMRunMode | runMode_ |
SignalDetector * | signalDetector_ |
unsigned long | stateSeqCounter_ |
Friends | |
class | ISmaccState |
class | SignalDetector |
Definition at line 63 of file smacc_state_machine.hpp.
smacc2::ISmaccStateMachine::ISmaccStateMachine | ( | std::string | stateMachineName, |
SignalDetector * | signalDetector | ||
) |
Definition at line 35 of file smacc_state_machine.cpp.
References smacc2::DEBUG, smacc2::SignalDetector::initialize(), nh_, smacc2::RELEASE, runMode_, and signalDetector_.
|
virtual |
Definition at line 75 of file smacc_state_machine.cpp.
References nh_.
void smacc2::ISmaccStateMachine::buildStateMachineInfo |
Definition at line 598 of file smacc_state_machine_impl.hpp.
References checkStateMachineConsistence(), getNode(), and stateMachineInfo_.
|
protected |
Definition at line 229 of file smacc_state_machine.cpp.
Referenced by buildStateMachineInfo().
|
protected |
Definition at line 93 of file smacc_state_machine_impl.hpp.
References getLogger(), m_mutex_, and orthogonals_.
boost::signals2::connection smacc2::ISmaccStateMachine::createSignalConnection | ( | TSmaccSignal & | signal, |
TMemberFunctionPrototype | callback, | ||
TSmaccObjectType * | object | ||
) |
Definition at line 355 of file smacc_state_machine_impl.hpp.
References smacc2::utils::Bind< arity >::bindaux(), callback(), getLogger(), and stateCallbackConnections.
Referenced by smacc2::ISmaccClient::connectSignal(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onAborted(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onCancelled(), smacc2::SmaccAsyncClientBehavior::onFailure(), smacc2::SmaccAsyncClientBehavior::onFinished(), smacc2::components::CpTopicSubscriber< MessageType >::onFirstMessageReceived(), smacc2::client_bases::SmaccSubscriberClient< MessageType >::onFirstMessageReceived(), cl_keyboard::ClKeyboard::OnKeyPress(), smacc2::components::CpTopicSubscriber< MessageType >::onMessageReceived(), smacc2::client_bases::SmaccSubscriberClient< MessageType >::onMessageReceived(), cl_multirole_sensor::ClMultiroleSensor< MessageType >::onMessageTimeout(), cl_move_group_interface::ClMoveGroup::onMotionExecutionFailed(), cl_move_group_interface::ClMoveGroup::onMotionExecutionSuccedded(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onSucceeded(), smacc2::SmaccAsyncClientBehavior::onSuccess(), cl_ros_timer::ClRosTimer::onTimerTick(), cl_ros_timer::CbTimerCountdownLoop::onTimerTick(), and cl_ros_timer::CbTimerCountdownOnce::onTimerTick().
void smacc2::ISmaccStateMachine::disposeStateAndDisconnectSignals | ( | ) |
Definition at line 213 of file smacc_state_machine.cpp.
References currentState_, getLogger(), and stateCallbackConnections.
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::exit().
|
virtual |
Reimplemented in smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >, smacc2::SmaccStateMachineBase< $SmName$, State1 >, smacc2::SmaccStateMachineBase< SmAdvancedRecovery1, MsRun >, smacc2::SmaccStateMachineBase< SmAtomic, State1 >, smacc2::SmaccStateMachineBase< SmAtomic24Hr, State1 >, smacc2::SmaccStateMachineBase< SmAtomicPerformanceTrace1, State1 >, smacc2::SmaccStateMachineBase< SmAtomicSubscribersPerformanceTest, State1 >, smacc2::SmaccStateMachineBase< SmAutowareAvp, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmAwsWarehouseNavigation, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmBranching, State1 >, smacc2::SmaccStateMachineBase< SmCoretestTransitionSpeed1, State1 >, smacc2::SmaccStateMachineBase< SmDanceBot, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotStrikesBack, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWarehouse, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWareHouse2, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWareHouse3, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmFerrari, MsRun >, smacc2::SmaccStateMachineBase< SmHuskyBarrelSearch1, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmMultiStage1, MsMode1 >, smacc2::SmaccStateMachineBase< SmPubsub1, MsRun >, smacc2::SmaccStateMachineBase< SmRespira1, MsRun >, smacc2::SmaccStateMachineBase< SmTestMoveitUr5Sim, StAcquireSensors >, and smacc2::SmaccStateMachineBase< SmThreeSome, MsRun >.
Definition at line 86 of file smacc_state_machine.cpp.
Referenced by smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::eStop().
|
inline |
Definition at line 608 of file smacc_state_machine_impl.hpp.
References currentState_.
Referenced by smacc2::SignalDetector::pollOnce(), and cl_nav2z::WaypointNavigator::sendNextGoal().
|
inline |
Definition at line 606 of file smacc_state_machine_impl.hpp.
References stateSeqCounter_.
Referenced by smacc2::SignalDetector::pollOnce().
|
inline |
Definition at line 105 of file smacc_state_machine.hpp.
References currentStateInfo_.
bool smacc2::ISmaccStateMachine::getGlobalSMData | ( | std::string | name, |
T & | ret | ||
) |
Definition at line 222 of file smacc_state_machine_impl.hpp.
References getLogger(), globalData_, and m_mutex_.
Referenced by smacc2::ISmaccOrthogonal::getGlobalSMData(), smacc2::ISmaccState::getGlobalSMData(), and mapBehavior().
|
inline |
Definition at line 155 of file smacc_state_machine.hpp.
References nh_.
Referenced by createOrthogonal(), createSignalConnection(), disposeStateAndDisconnectSignals(), getGlobalSMData(), getOrthogonal(), smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::initiate_impl(), mapBehavior(), notifyOnStateEntryEnd(), notifyOnStateEntryStart(), notifyOnStateExited(), notifyOnStateExitting(), postEvent(), propagateEventToStateReactors(), and requiresComponent().
|
inline |
rclcpp::Node::SharedPtr smacc2::ISmaccStateMachine::getNode | ( | ) |
Definition at line 80 of file smacc_state_machine.cpp.
References nh_.
Referenced by buildStateMachineInfo(), smacc2::ISmaccClient::getNode(), smacc2::ISmaccClientBehavior::getNode(), smacc2::ISmaccOrthogonal::getNode(), smacc2::SignalDetector::getNode(), smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::initiate_impl(), $sm_name$::$SmName$::onInitialize(), smacc2::SignalDetector::pollOnce(), and smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::SmaccState().
TOrthogonal * smacc2::ISmaccStateMachine::getOrthogonal |
Definition at line 55 of file smacc_state_machine_impl.hpp.
References getLogger(), m_mutex_, and orthogonals_.
Referenced by smacc2::ISmaccState::getOrthogonal().
const std::map< std::string, std::shared_ptr< smacc2::ISmaccOrthogonal > > & smacc2::ISmaccStateMachine::getOrthogonals | ( | ) | const |
Definition at line 89 of file smacc_state_machine.cpp.
References orthogonals_.
Referenced by smacc2::introspection::SmaccStateMachineInfo::assembleSMStructureMessage(), smacc2::SignalDetector::findUpdatableClientsAndComponents(), smacc2::SignalDetector::findUpdatableStateElements(), and smacc2::ISmaccState::requiresClient().
|
inline |
Definition at line 610 of file smacc_state_machine_impl.hpp.
References stateMachineInfo_.
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::getStateInfo().
std::string smacc2::ISmaccStateMachine::getStateMachineName | ( | ) |
Definition at line 208 of file smacc_state_machine.cpp.
References smacc2::introspection::demangleSymbol().
void smacc2::ISmaccStateMachine::getTransitionLogHistory | ( | const std::shared_ptr< rmw_request_id_t > | request_header, |
const std::shared_ptr< smacc2_msgs::srv::SmaccGetTransitionHistory::Request > | req, | ||
std::shared_ptr< smacc2_msgs::srv::SmaccGetTransitionHistory::Response > | res | ||
) |
Definition at line 169 of file smacc_state_machine.cpp.
References nh_, and transitionLogHistory_.
Referenced by initializeROS().
|
protected |
Definition at line 150 of file smacc_state_machine.cpp.
References getTransitionLogHistory(), nh_, stateMachinePub_, stateMachineStatusPub_, transitionHistoryService_, and transitionLogPub_.
Referenced by smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::initiate_impl().
void smacc2::ISmaccStateMachine::mapBehavior |
Definition at line 277 of file smacc_state_machine_impl.hpp.
References smacc2::introspection::demangleSymbol(), getGlobalSMData(), getLogger(), requiresComponent(), and setGlobalSMData().
void smacc2::ISmaccStateMachine::notifyOnRuntimeConfigurationFinished | ( | StateType * | state | ) |
Definition at line 482 of file smacc_state_machine_impl.hpp.
References orthogonals_, smacc2::STATE_ENTERING, stateMachineCurrentAction, and updateStatusMessage().
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::entryStateInternal().
void smacc2::ISmaccStateMachine::notifyOnRuntimeConfigured | ( | StateType * | state | ) |
Definition at line 497 of file smacc_state_machine_impl.hpp.
References smacc2::STATE_CONFIGURING, and stateMachineCurrentAction.
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::entryStateInternal().
void smacc2::ISmaccStateMachine::notifyOnStateEntryEnd | ( | StateType * | state | ) |
Definition at line 418 of file smacc_state_machine_impl.hpp.
References currentState_, smacc2::introspection::demangleSymbol(), smacc2::ISmaccState::getEventGenerators(), getLogger(), smacc2::ISmaccState::getStateReactors(), orthogonals_, smacc2::STATE_STEADY, stateMachineCurrentAction, and updateStatusMessage().
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::entryStateInternal().
void smacc2::ISmaccStateMachine::notifyOnStateEntryStart | ( | StateType * | state | ) |
Definition at line 402 of file smacc_state_machine_impl.hpp.
References currentState_, currentStateInfo_, smacc2::introspection::demangleSymbol(), getLogger(), m_mutex_, orthogonals_, stateMachineInfo_, and stateSeqCounter_.
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::entryStateInternal().
void smacc2::ISmaccStateMachine::notifyOnStateExited | ( | StateType * | state | ) |
Definition at line 568 of file smacc_state_machine_impl.hpp.
References smacc2::introspection::demangleSymbol(), getLogger(), stateMachineCurrentAction, and smacc2::TRANSITIONING.
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::exit().
void smacc2::ISmaccStateMachine::notifyOnStateExitting | ( | StateType * | state | ) |
Definition at line 503 of file smacc_state_machine_impl.hpp.
References smacc2::introspection::demangleSymbol(), getLogger(), orthogonals_, smacc2::STATE_EXITING, and stateMachineCurrentAction.
Referenced by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >::exit().
|
virtual |
this function should be implemented by the user to create the orthogonals
Reimplemented in $sm_name$::$SmName$, sm_atomic_performance_trace_1::SmAtomicPerformanceTrace1, sm_atomic_subscribers_performance_test::SmAtomicSubscribersPerformanceTest, sm_coretest_transition_speed_1::SmCoretestTransitionSpeed1, $sm_name$::$SmName$, sm_advanced_recovery_1::SmAdvancedRecovery1, sm_atomic::SmAtomic, sm_atomic_24hr::SmAtomic24Hr, sm_autoware_avp::SmAutowareAvp, sm_aws_warehouse_navigation::SmAwsWarehouseNavigation, sm_branching::SmBranching, sm_dance_bot::SmDanceBot, sm_dance_bot_strikes_back::SmDanceBotStrikesBack, sm_dance_bot_warehouse::SmDanceBotWarehouse, sm_dance_bot_warehouse_2::SmDanceBotWareHouse2, sm_dance_bot_warehouse_3::SmDanceBotWareHouse3, sm_ferrari::SmFerrari, sm_husky_barrel_search_1::SmHuskyBarrelSearch1, sm_multi_stage_1::SmMultiStage1, sm_pubsub_1::SmPubsub1, sm_respira_1::SmRespira1, sm_test_moveit_ur5_sim::SmTestMoveitUr5Sim, and sm_three_some::SmThreeSome.
Definition at line 141 of file smacc_state_machine.cpp.
Referenced by smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::initiate_impl().
|
protected |
Definition at line 143 of file smacc_state_machine.cpp.
References nh_, service_node_3::s, state_machine_visualization(), and timer_.
Referenced by smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::initiate_impl().
void smacc2::ISmaccStateMachine::postEvent | ( | EventLifeTime | evlifetime = EventLifeTime::ABSOLUTE | ) |
Definition at line 213 of file smacc_state_machine_impl.hpp.
References getLogger(), and postEvent().
void smacc2::ISmaccStateMachine::postEvent | ( | EventType * | ev, |
EventLifeTime | evlifetime = EventLifeTime::ABSOLUTE |
||
) |
Definition at line 174 of file smacc_state_machine_impl.hpp.
References smacc2::CURRENT_STATE, currentState_, eventQueueMutex_, eventtypename, getLogger(), smacc2::SignalDetector::postEvent(), propagateEventToStateReactors(), signalDetector_, smacc2_event, smacc2::STATE_EXITING, stateMachineCurrentAction, TRACEPOINT(), and smacc2::TRANSITIONING.
Referenced by smacc2::ISmaccComponent::postEvent(), smacc2::ISmaccClient::postEvent(), smacc2::ISmaccClientBehavior::postEvent(), smacc2::ISmaccState::postEvent(), postEvent(), and smacc2::StateReactor::setOutputEvent().
|
private |
Definition at line 580 of file smacc_state_machine_impl.hpp.
References smacc2::ISmaccState::getClassName(), getLogger(), smacc2::ISmaccState::getParentState(), smacc2::ISmaccState::getStateReactors(), and propagateEventToStateReactors().
Referenced by postEvent(), and propagateEventToStateReactors().
void smacc2::ISmaccStateMachine::publishTransition | ( | const SmaccTransitionInfo & | transitionInfo | ) |
Definition at line 131 of file smacc_state_machine.cpp.
References nh_, smacc2::introspection::transitionInfoToMsg(), transitionLogHistory_, and transitionLogPub_.
Referenced by smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::initiate_impl(), and smacc2::ISmaccState::notifyTransitionFromTransitionTypeInfo().
void smacc2::ISmaccStateMachine::requiresComponent | ( | SmaccComponentType *& | storage | ) |
Definition at line 126 of file smacc_state_machine_impl.hpp.
References smacc2::introspection::demangleSymbol(), getLogger(), m_mutex_, and orthogonals_.
Referenced by mapBehavior(), smacc2::ISmaccClientBehavior::requiresComponent(), smacc2::ISmaccOrthogonal::requiresComponent(), and smacc2::ISmaccState::requiresComponent().
|
virtual |
Reimplemented in smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >, smacc2::SmaccStateMachineBase< $SmName$, State1 >, smacc2::SmaccStateMachineBase< SmAdvancedRecovery1, MsRun >, smacc2::SmaccStateMachineBase< SmAtomic, State1 >, smacc2::SmaccStateMachineBase< SmAtomic24Hr, State1 >, smacc2::SmaccStateMachineBase< SmAtomicPerformanceTrace1, State1 >, smacc2::SmaccStateMachineBase< SmAtomicSubscribersPerformanceTest, State1 >, smacc2::SmaccStateMachineBase< SmAutowareAvp, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmAwsWarehouseNavigation, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmBranching, State1 >, smacc2::SmaccStateMachineBase< SmCoretestTransitionSpeed1, State1 >, smacc2::SmaccStateMachineBase< SmDanceBot, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotStrikesBack, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWarehouse, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWareHouse2, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWareHouse3, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmFerrari, MsRun >, smacc2::SmaccStateMachineBase< SmHuskyBarrelSearch1, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmMultiStage1, MsMode1 >, smacc2::SmaccStateMachineBase< SmPubsub1, MsRun >, smacc2::SmaccStateMachineBase< SmRespira1, MsRun >, smacc2::SmaccStateMachineBase< SmTestMoveitUr5Sim, StAcquireSensors >, and smacc2::SmaccStateMachineBase< SmThreeSome, MsRun >.
Definition at line 82 of file smacc_state_machine.cpp.
Referenced by smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::reset().
void smacc2::ISmaccStateMachine::setGlobalSMData | ( | std::string | name, |
T | value | ||
) |
Definition at line 257 of file smacc_state_machine_impl.hpp.
References globalData_, m_mutex_, and updateStatusMessage().
Referenced by cl_nav2z::CbNavigateGlobalPosition::execute(), mapBehavior(), $sm_name$::$SmName$::onInitialize(), sm_dance_bot::SmDanceBot::onInitialize(), sm_dance_bot_strikes_back::SmDanceBotStrikesBack::onInitialize(), sm_dance_bot_warehouse::SmDanceBotWarehouse::onInitialize(), sm_dance_bot_warehouse_2::SmDanceBotWareHouse2::onInitialize(), sm_dance_bot_warehouse_3::SmDanceBotWareHouse3::onInitialize(), smacc2::ISmaccOrthogonal::setGlobalSMData(), and smacc2::ISmaccState::setGlobalSMData().
void smacc2::ISmaccStateMachine::state_machine_visualization | ( | ) |
Definition at line 180 of file smacc_state_machine.cpp.
References m_mutex_, nh_, stateMachineInfo_, stateMachinePub_, stateMachineStatusPub_, and status_msg_.
Referenced by onInitialized().
|
virtual |
Reimplemented in smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >, smacc2::SmaccStateMachineBase< $SmName$, State1 >, smacc2::SmaccStateMachineBase< SmAdvancedRecovery1, MsRun >, smacc2::SmaccStateMachineBase< SmAtomic, State1 >, smacc2::SmaccStateMachineBase< SmAtomic24Hr, State1 >, smacc2::SmaccStateMachineBase< SmAtomicPerformanceTrace1, State1 >, smacc2::SmaccStateMachineBase< SmAtomicSubscribersPerformanceTest, State1 >, smacc2::SmaccStateMachineBase< SmAutowareAvp, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmAwsWarehouseNavigation, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmBranching, State1 >, smacc2::SmaccStateMachineBase< SmCoretestTransitionSpeed1, State1 >, smacc2::SmaccStateMachineBase< SmDanceBot, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotStrikesBack, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWarehouse, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWareHouse2, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmDanceBotWareHouse3, MsDanceBotRunMode >, smacc2::SmaccStateMachineBase< SmFerrari, MsRun >, smacc2::SmaccStateMachineBase< SmHuskyBarrelSearch1, StAcquireSensors >, smacc2::SmaccStateMachineBase< SmMultiStage1, MsMode1 >, smacc2::SmaccStateMachineBase< SmPubsub1, MsRun >, smacc2::SmaccStateMachineBase< SmRespira1, MsRun >, smacc2::SmaccStateMachineBase< SmTestMoveitUr5Sim, StAcquireSensors >, and smacc2::SmaccStateMachineBase< SmThreeSome, MsRun >.
Definition at line 84 of file smacc_state_machine.cpp.
Referenced by smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::stop().
|
private |
Definition at line 94 of file smacc_state_machine.cpp.
References currentStateInfo_, smacc2::DEBUG, globalData_, m_mutex_, nh_, runMode_, stateMachineStatusPub_, and status_msg_.
Referenced by notifyOnRuntimeConfigurationFinished(), notifyOnStateEntryEnd(), and setGlobalSMData().
|
friend |
Definition at line 222 of file smacc_state_machine.hpp.
|
friend |
Definition at line 223 of file smacc_state_machine.hpp.
|
protected |
Definition at line 180 of file smacc_state_machine.hpp.
Referenced by disposeStateAndDisconnectSignals(), getCurrentState(), notifyOnStateEntryEnd(), notifyOnStateEntryStart(), and postEvent().
|
protected |
Definition at line 182 of file smacc_state_machine.hpp.
Referenced by getCurrentStateInfo(), notifyOnStateEntryStart(), and updateStatusMessage().
|
private |
Definition at line 194 of file smacc_state_machine.hpp.
Referenced by postEvent().
|
private |
Definition at line 201 of file smacc_state_machine.hpp.
Referenced by getGlobalSMData(), setGlobalSMData(), and updateStatusMessage().
|
private |
Definition at line 193 of file smacc_state_machine.hpp.
Referenced by createOrthogonal(), getGlobalSMData(), getMutex(), getOrthogonal(), notifyOnStateEntryStart(), smacc2::SignalDetector::pollOnce(), requiresComponent(), setGlobalSMData(), state_machine_visualization(), and updateStatusMessage().
|
protected |
Definition at line 170 of file smacc_state_machine.hpp.
Referenced by getLogger(), getNode(), getTransitionLogHistory(), initializeROS(), ISmaccStateMachine(), onInitialized(), publishTransition(), state_machine_visualization(), updateStatusMessage(), and ~ISmaccStateMachine().
|
protected |
Definition at line 187 of file smacc_state_machine.hpp.
Referenced by createOrthogonal(), getOrthogonal(), getOrthogonals(), notifyOnRuntimeConfigurationFinished(), notifyOnStateEntryEnd(), notifyOnStateEntryStart(), notifyOnStateExitting(), and requiresComponent().
|
private |
Definition at line 206 of file smacc_state_machine.hpp.
Referenced by ISmaccStateMachine(), and updateStatusMessage().
|
private |
Definition at line 209 of file smacc_state_machine.hpp.
Referenced by ISmaccStateMachine(), and postEvent().
|
private |
Definition at line 198 of file smacc_state_machine.hpp.
Referenced by createSignalConnection(), and disposeStateAndDisconnectSignals().
|
private |
Definition at line 196 of file smacc_state_machine.hpp.
Referenced by notifyOnRuntimeConfigurationFinished(), notifyOnRuntimeConfigured(), notifyOnStateEntryEnd(), notifyOnStateExited(), notifyOnStateExitting(), smacc2::SignalDetector::pollOnce(), and postEvent().
|
protected |
Definition at line 190 of file smacc_state_machine.hpp.
Referenced by buildStateMachineInfo(), getStateMachineInfo(), smacc2::SmaccStateMachineBase< DerivedStateMachine, InitialStateType >::initiate_impl(), notifyOnStateEntryStart(), and state_machine_visualization().
|
protected |
Definition at line 173 of file smacc_state_machine.hpp.
Referenced by initializeROS(), and state_machine_visualization().
|
protected |
Definition at line 174 of file smacc_state_machine.hpp.
Referenced by initializeROS(), state_machine_visualization(), and updateStatusMessage().
|
private |
Definition at line 211 of file smacc_state_machine.hpp.
Referenced by getCurrentStateCounter(), and notifyOnStateEntryStart().
|
protected |
Definition at line 184 of file smacc_state_machine.hpp.
Referenced by state_machine_visualization(), and updateStatusMessage().
|
protected |
Definition at line 172 of file smacc_state_machine.hpp.
Referenced by onInitialized().
|
protected |
Definition at line 176 of file smacc_state_machine.hpp.
Referenced by initializeROS().
|
private |
Definition at line 204 of file smacc_state_machine.hpp.
Referenced by getTransitionLogHistory(), and publishTransition().
|
protected |
Definition at line 175 of file smacc_state_machine.hpp.
Referenced by initializeROS(), and publishTransition().