SMACC2
Public Member Functions | List of all members
$sm_name$::$SmName$ Struct Reference

#include <sm_name.hpp>

Inheritance diagram for $sm_name$::$SmName$:
Inheritance graph
Collaboration diagram for $sm_name$::$SmName$:
Collaboration graph

Public Member Functions

void onInitialize () override
 this function should be implemented by the user to create the orthogonals More...
 
void onInitialize () override
 this function should be implemented by the user to create the orthogonals More...
 
- Public Member Functions inherited from smacc2::SmaccStateMachineBase< $SmName$, State1 >
 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< SmaccStateInfogetCurrentStateInfo ()
 
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
 
ISmaccStategetCurrentState () const
 
const SmaccStateMachineInfogetStateMachineInfo ()
 
template<typename InitialStateType >
void buildStateMachineInfo ()
 
rclcpp::Node::SharedPtr getNode ()
 
rclcpp::Logger getLogger ()
 
std::recursive_mutex & getMutex ()
 

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_
 
ISmaccStatecurrentState_
 
std::shared_ptr< SmaccStateInfocurrentStateInfo_
 
smacc2_msgs::msg::SmaccStatus status_msg_
 
std::map< std::string, std::shared_ptr< smacc2::ISmaccOrthogonal > > orthogonals_
 
std::shared_ptr< SmaccStateMachineInfostateMachineInfo_
 

Detailed Description

Definition at line 38 of file sm_name.hpp.

Member Function Documentation

◆ onInitialize() [1/2]

void $sm_name$::$SmName$::onInitialize ( )
inlineoverridevirtual

this function should be implemented by the user to create the orthogonals

Reimplemented from smacc2::ISmaccStateMachine.

Definition at line 42 of file sm_name.hpp.

42{ _start_time_ = getNode()->now(); }
rclcpp::Node::SharedPtr getNode()
rclcpp::Time _start_time_
Definition: sm_name.hpp:31

References $sm_name$::_start_time_, and smacc2::ISmaccStateMachine::getNode().

Here is the call graph for this function:

◆ onInitialize() [2/2]

void $sm_name$::$SmName$::onInitialize ( )
inlineoverridevirtual

this function should be implemented by the user to create the orthogonals

Reimplemented from smacc2::ISmaccStateMachine.

Definition at line 42 of file sm_name.hpp.

43 {
44 // START: Example code - change or delete as needed
45 this->createOrthogonal<OrTimer>();
46 // Use Blackboard to store global state-machine data - example - feel free to delete it.
48 "output_message_note", std::string("{I am very cool smacc2 SM called '$sm_name$'}"));
49 // END: Example code - change or delete as needed
50 }
void setGlobalSMData(std::string name, T value)

References smacc2::ISmaccStateMachine::setGlobalSMData().

Here is the call graph for this function:

The documentation for this struct was generated from the following files: