Motorcortex Core  version: 2.7.6
mcx::state_machine::State< SUPER_STATE > Class Template Referenceabstract

Public Member Functions

template<class STATE , class MACHINE >
void create (MACHINE *newMachine, const STATE &state, int id, ErrorHandleBase *errorHandle)
 
void addErrorsHelper (ErrorGroup *stateErrors, const ErrorGroup &errorsToAdd)
 
void enableErrorsHelper (ErrorGroup *stateErrors, const ErrorGroup &refErrors, const ErrorGroup &errorsToAdd)
 
void disableErrorsHelper (ErrorGroup *stateErrors, const ErrorGroup &errorsToAdd)
 
void addErrors (const ErrorGroup &codes, signal_monitor::MonitorAction newAction)
 
virtual void registerUserEvents ()
 
template<class MACHINE >
void setMachine (MACHINE *newMachine)
 
template<class MACHINE >
MACHINE * getMachine ()
 
double getDtSec () const
 
int id ()
 
void clearEventQueue (bool highPriority=true, bool lowPriority=true)
 
SUPER_STATE * setActiveState (int state_id)
 
template<class NEWSTATE >
NEWSTATE * setActiveState ()
 
template<class NEWSTATE >
NEWSTATE * setActiveState (const NEWSTATE &state)
 
template<typename... STATES>
bool isStateActive ()
 
bool isStateActive (int id)
 
void addEvent (const Event0< SUPER_STATE > &event, double timeoutSec=EVENT_DEFAULT_TIMEOUT_SEC, EventPriority priority=HIGH_PRIORITY_EVENT)
 
void addEvent (const Event1< SUPER_STATE > &event, double timeoutSec=EVENT_DEFAULT_TIMEOUT_SEC, EventPriority priority=HIGH_PRIORITY_EVENT)
 
void addEvent (const Event2< SUPER_STATE > &event, double timeoutSec=EVENT_DEFAULT_TIMEOUT_SEC, EventPriority priority=HIGH_PRIORITY_EVENT)
 
void addEvent (const Event3< SUPER_STATE > &event, double timeoutSec=EVENT_DEFAULT_TIMEOUT_SEC, EventPriority priority=HIGH_PRIORITY_EVENT)
 
double getActiveTimeoutSec ()
 
virtual const char * stateName () const
 
virtual const char * eventName (Event< SUPER_STATE > *event)
 
virtual EventStatus acknowledgeErrors ()
 
bool clearErrorMonitor (bool warnings_only=false)
 
ErrorHandleBasegetErrorMonitor ()
 
EventStatus warning (const Error &error)
 
EventStatus forcedDisengaged (const Error &error)
 
EventStatus shutdown (const Error &error)
 
EventStatus emergencyStop (const Error &error)
 
EventStatus delayEvent ()
 
virtual EventStatus terminateEvent ()
 
void errorMonitorAction ()
 
virtual void enter ()
 
virtual void enter (int prev_state_id)
 
virtual void leave ()
 
virtual void leave (int next_state_id)
 
virtual void iterate (double dt_sec)
 

Static Public Member Functions

template<class STATE >
static int id (id_caller< STATE >)
 

Protected Member Functions

void addToEventList (const event_name &event)
 
void addEventName (const Event0< SUPER_STATE > &event, const std::string &eventName)
 
void addEventName (const Event1< SUPER_STATE > &event, const std::string &eventName)
 
void addEventName (const Event2< SUPER_STATE > &event, const std::string &eventName)
 
void addEventName (const Event3< SUPER_STATE > &event, const std::string &eventName)
 
virtual EventStatus warning_ (const Error &error)=0
 
virtual EventStatus forcedDisengaged_ (const Error &error)=0
 
virtual EventStatus shutdown_ (const Error &error)=0
 
virtual EventStatus emergencyStop_ (const Error &error)=0
 

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