Skip to content

Instance Configuration

Andrew Gresyk edited this page Apr 12, 2024 · 3 revisions

Instance Configuration

  1. FSM instance is configured by defining Config type, and passing it into hfsm2::MachineT<TConfig>:

    using Config = hfsm2::Config;
    using M = hfsm2::MachineT<Config>;
  2. Multiple hfsm2::Config sub-types can be combined together:

    using Config = hfsm2::Config
                        ::ContextT<TC>
                        ::ManualActivation
                        ::PayloadT<TP>;

Configuration Settings

  1. Set context

    Config::ContextT<>
  2. Enable manual activation

    Config::ManualActivation
  3. Change event processing order

    Config::BottomUpReactions
  4. Set transition destination substitution limit

    Config::SubstitutionLimitN<>
  5. Set Rank type for utility theory transitions

    Config::RankT<>
  6. Set Utility type for utility theory transitions

    Config::UtilityT<>
  7. Provide custom RNG for utility theory transitions

    Config::RandomT<>
  8. Set maximum number of tasks across all plans of the FSM instance

    Config::TaskCapacityN<uint16_t>
  9. Enable transition payloads

    Config::PayloadT<Type>