This library is designed to create and run state graphs. It supports hierarchical states and parallel states execution.

README.md

Committer:
martin13
Date:
2019-02-12
Revision:
3:d4d69d0d8381
Parent:
1:0f11d9338d89

File content as of revision 3:d4d69d0d8381:

# State machine library
    
## This library can:

1. Execute states graph.
2. Execute herachical state/state machine.
3. Execute parallel state/state machine.
4. Exchange user data between states and state machine.

The library is useful when you want to execute some complex routine,
where all possible states and state transitions can be described explicitly.

Fast prototyping: 
    - The straightforward C++/POO syntax makes it easy to quickly prototype a state machine and start running it.

Complex state machines: 
    - This library allows you to design, maintain and debug large,
     complex hierarchical state machines. You can find examples into "utt_*.h".

Is only a finite state machine library?

You can build a finite state machine using this lib, but can do much more.
MbedFinalStateMachine is a library for task-level execution and coordination,
and provides several types of "state containers".
One such container, is a finite state machine,
but this container can also be a state in another container.
See the tutorials "utt_herachical_sm.h" for a list of containers and states built into MbedFinalStateMachine.