1 Commits

Author SHA1 Message Date
c2596a9629 implement a state machine
a quite simple, but powerful state machine

There is not need to subclass StateMachine, but use an instance
of it. The code typically lives on methods of an other class.

Features:
- store any variables (except already defined attributes) on the state
- actions handle the conditions to stay or initiate a transition
  by calling the state machines goto method
- a state machine might run endlessly or finish in a None action.
- it may be started or restarted
- a cleanup function for handling exceptions and for stop or restart
- support for time dependent features

Change-Id: I86b86ed1f25d04e305237edb99206912b068aedf
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27593
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-02-23 18:20:23 +01:00