summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/move.fsm
diff options
context:
space:
mode:
authorNélio Laranjeiro2008-04-08 00:02:53 +0200
committerNélio Laranjeiro2008-04-08 00:02:53 +0200
commitb9d646e41511eb5443faad66b8fc1c7323b2e738 (patch)
tree61daf69e2f92986683c87b3fcd761b616ecde6cc /digital/io/src/move.fsm
parent8877e2dc061b6f98a12445e66222bef9c155d7bc (diff)
Tested the move FSM machine.
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.