summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/move.fsm
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src/move.fsm')
-rw-r--r--digital/io/src/move.fsm14
1 files changed, 6 insertions, 8 deletions
diff --git a/digital/io/src/move.fsm b/digital/io/src/move.fsm
index da059071..cbe38ba9 100644
--- a/digital/io/src/move.fsm
+++ b/digital/io/src/move.fsm
@@ -11,7 +11,7 @@ States:
Events:
ok
reached
- near_border
+ failed_or_blocked_or_near_border
failed_or_blocked
START:
@@ -21,21 +21,19 @@ START:
DESIRED_POSITION:
reached -> END
The position provided by the user has been reached, the FSM can stop.
- failed_or_blocked -> MOVE_ON_LEFT
+ failed_or_blocked: near_right_border -> MOVE_ON_LEFT
The robot has failed to reach the position. It shall try another position before trying to reach this one again. It shall go to the on the left only if the left border is the farest one.
+ failed_or_blocked: near_left_border -> MOVE_ON_RIGHT
+ Same process as the previous one but on the right.
MOVE_ON_LEFT:
reached -> DESIRED_POSITION
The position has been reached. It will now try to reach the position provided by the user.
- failed_or_blocked -> MOVE_ON_LEFT
+ failed_or_blocked_or_near_border -> MOVE_ON_RIGHT
The position is fail again, it will try to reach another one.
- near_border -> MOVE_ON_RIGHT
- The robot is now too near of the border.
MOVE_ON_RIGHT:
reached -> DESIRED_POSITION
The position has been reached. It will now try to reach the position provided by the user.
- failed_or_blocked -> MOVE_ON_RIGHT
+ failed_or_blocked_or_near_border -> MOVE_ON_LEFT
The position is fail again, it will try to reach another one.
- near_border -> MOVE_ON_LEFT
- The robot is now too near of the border.