|
template<typename Context , template< class > class Policy = detail::SingleThreadedExecutionPolicy> |
using | SingleThreadedHsm = Policy< Context > |
|
template<typename Context , template< class > class Policy = detail::ThreadedExecutionPolicy> |
using | ThreadedHsm = Policy< Context > |
|
template<typename Context , template< class > class Policy = detail::PeriodicExecutionPolicy> |
using | PeriodicHsm = Policy< Context > |
|
template<typename Context , template< class > class Policy = detail::RealtimePeriodicExecutionPolicy> |
using | RealtimePeriodicHsm = Policy< Context > |
|
template<typename Context , template< class > class Policy = detail::RealtimeExecutionPolicy> |
using | RealtimeHsm = Policy< Context > |
|
template<template< typename > class Policy = detail::ThreadedExecutionPolicy, typename... Contexts> |
using | ConcurrentHsm = detail::make_concurrent_hsm_t< Policy, Contexts... > |
|
template<typename Context , template< class > class Policy = detail::PeriodicExecutionPolicy>
A Periodic state machine. This state machine is driven by a periodic timer. E.g. template<typename Context> using MyPeriodic1HzPolicy = PeriodicExecutionPolicy<Context, ThreadedExecutionPolicy, PeriodicTimer<std::chrono::steady_clock, std::chrono::seconds>>; using MyPeriodic1HzHsm = MyPeriodic1HzPolicy<MyContext>; MyPeriodic1HzHsm sm; sm.start(); This will start the state machine and send ClockTick events to the state context every 1 second. To stop the state machine, call sm.stop();
template<typename Context , template< class > class Policy = detail::RealtimePeriodicExecutionPolicy>
Real-time state machine. This state machine is driven by a periodic timer. E.g. template<typename Context> using MyRealtimePeriodic1KhzPolicy = RealtimePeriodicExecutionPolicy<Context, RealtimeExecutionPolicy, PeriodicTimer<std::chrono::steady_clock, std::chrono::milliseconds>>; using MyRealtimePeriodic1KhzHsm = MyRealtimePeriodic1KhzPolicy<MyContext>; MyRealtimePeriodic1KhzHsm sm; sm.start();