You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
allows using _root-> when accessing non-static member of the root class (in the Definitions / Declarations)
Updates the scoping to be StateMachine::{{{HFSM name}}}::Event
Updates all states to have the _root pointer mentioned above
Removes static & global allocation of all state objects - instead no state objects are allocated for you - you must allocate an object of type StateMachine::{{{HFSM name}}}::Root which itself allocates the needed state objects and configures them.
Moves the eventFactory into the StateMachine::{{{HFSM name}}}::Root class
Added Declarations to the generation of all states - for local custom data; should only be used in the state's functions, not within transition actions.
Consistency Checks
Local transitions must have events
Internal transitions must have events
Initial states must have exactly one transition
Initial state transitions cannot have guards or events
No two sibling states can have the same name
States cannot have more than one initial state
States must have an initial sub state selected
States should not have any transitions without an Event unless
they contain an End State
Any substate containing an End State must have an End Transition
(no event) leaving the state
States cannot have more than one End Transition
End Transitions cannot have guard conditions
Choice pseudostate transitions (out of the choice) cannot have
events
Cannot have multiple events with similar names
(e.g. capitalization difference)
Choice pseudostates must have a default (unguarded) transition
No two transitions out of a state should have the same Event /
Guard combination
All complete states containing children must have an initial
state configured and properly wired up to transition to one of their
children
All leaf states must have a valid non-zero timer period (note:
timer periods for non-leaf states are unused)
No substates (e.g. any state other than the root) should have Includes set.
Simulator Changes:
fix context menu / selection so that you can properly re-parent / arrange / remove objects using the context menu
better handling / checking of initial states in simulator - with the checks either becoming alerts (popups) or warnings in the log panel
better handling of choice psuedostates - pressing None is equivalent to selecting the default transition for the choice psuedostate
better warning of choice pseudostates - they must have default transitions out of them, so the user is now warned (in the log panel) if a choice psuedostate does not have a default transition
Ability to handle an end state connected (even through choice pseudostates) to an initial state.