SMACC2
|
Advanced example of state machine with smacc that shows multiple techniques for the development of state machines. More...
#include <sm_dance_bot.hpp>
Public Types | |
typedef mpl::bool_< false > | shallow_history |
typedef mpl::bool_< false > | deep_history |
typedef mpl::bool_< false > | inherited_deep_history |
Public Member Functions | |
void | onInitialize () override |
this function should be implemented by the user to create the orthogonals More... | |
Public Member Functions inherited from smacc2::SmaccStateMachineBase< SmDanceBot, MsDanceBotRunMode > | |
SmaccStateMachineBase (my_context ctx, SignalDetector *signalDetector) | |
virtual | ~SmaccStateMachineBase () |
void | reset () override |
void | stop () override |
void | eStop () override |
void | initiate_impl () override |
Public Member Functions inherited from smacc2::ISmaccStateMachine | |
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 () |
Public Attributes | |
int | counter_1 |
bool | rt_ready_flag |
Additional Inherited Members | |
Protected Member Functions inherited from smacc2::ISmaccStateMachine | |
void | checkStateMachineConsistence () |
void | initializeROS (std::string smshortname) |
void | onInitialized () |
template<typename TOrthogonal > | |
void | createOrthogonal () |
Protected Attributes inherited from smacc2::ISmaccStateMachine | |
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_ |
Advanced example of state machine with smacc that shows multiple techniques for the development of state machines.
Definition at line 140 of file sm_dance_bot.hpp.
typedef mpl::bool_<false> sm_dance_bot::SmDanceBot::deep_history |
Definition at line 146 of file sm_dance_bot.hpp.
typedef mpl::bool_<false> sm_dance_bot::SmDanceBot::inherited_deep_history |
Definition at line 147 of file sm_dance_bot.hpp.
typedef mpl::bool_<false> sm_dance_bot::SmDanceBot::shallow_history |
Definition at line 145 of file sm_dance_bot.hpp.
|
inlineoverridevirtual |
this function should be implemented by the user to create the orthogonals
Reimplemented from smacc2::ISmaccStateMachine.
Definition at line 151 of file sm_dance_bot.hpp.
References smacc2::ISmaccStateMachine::setGlobalSMData().
int sm_dance_bot::SmDanceBot::counter_1 |
Definition at line 142 of file sm_dance_bot.hpp.
bool sm_dance_bot::SmDanceBot::rt_ready_flag |
Definition at line 143 of file sm_dance_bot.hpp.