ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | List of all members
UAVStateMachineFrontEnd Class Reference

front-end: define the FSM structure More...

#include <uav_state_machine.h>

Inheritance diagram for UAVStateMachineFrontEnd:
Inheritance graph
[legend]
Collaboration diagram for UAVStateMachineFrontEnd:
Collaboration graph
[legend]

Classes

struct  transition_table
 Transition table for State Machine. More...
 

Public Types

using initial_state = usa::ManualControlState
 Initial state for state machine. More...
 

Public Member Functions

template<class Event , class FSM >
void on_entry (Event const &, FSM &)
 Action to take on entering state machine. More...
 
template<class Event , class FSM >
void on_exit (Event const &, FSM &)
 Action to take on leaving state machine. More...
 
 UAVStateMachineFrontEnd (UAVSystem &uav_system)
 Constructor with arguments to store robot system. More...
 
- Public Member Functions inherited from BaseStateMachine< UAVSystem >
std::type_index get_no_transition_event_index () const
 Returns the index of the event that did not trigger any transition. More...
 
 BaseStateMachine (UAVSystem &robot_system)
 Constructor with arguments to store robot system. More...
 
void no_transition (Event const &e, FSM &, int state_index)
 Print event typeid if no action present for the corresponding event. More...
 

Additional Inherited Members

- Public Attributes inherited from BaseStateMachine< UAVSystem >
RobotSystemContainer< UAVSystemrobot_system_container_
 robot system container used by states to get sensor data and send commands Use the operator function robot_system_container_() to retrieve robot system in Action, Guard Functors. Other classes cannot access the robot system More...
 
- Protected Attributes inherited from BaseStateMachine< UAVSystem >
std::type_index no_transition_event_index_
 type index to store the event that did not trigger any transition More...
 

Detailed Description

front-end: define the FSM structure

Member Typedef Documentation

Initial state for state machine.

Constructor & Destructor Documentation

UAVStateMachineFrontEnd::UAVStateMachineFrontEnd ( UAVSystem uav_system)
inline

Constructor with arguments to store robot system.

Parameters
uav_systemrobot system that is stored internally and shared with events

Member Function Documentation

template<class Event , class FSM >
void UAVStateMachineFrontEnd::on_entry ( Event const &  ,
FSM &   
)
inline

Action to take on entering state machine.

Template Parameters
Eventtype of event causing state machine to enter
FSMBackend finite state machine type to trigger events
template<class Event , class FSM >
void UAVStateMachineFrontEnd::on_exit ( Event const &  ,
FSM &   
)
inline

Action to take on leaving state machine.

Template Parameters
Eventtype of event causing state machine to enter
FSMBackend finite state machine type to trigger events

The documentation for this class was generated from the following file: