summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/move.fsm
diff options
context:
space:
mode:
authorNicolas Schodet2010-05-29 13:44:53 +0200
committerNicolas Schodet2010-05-29 13:44:53 +0200
commitf51b15ddb7c1045e0edf8b50bb6933db7fcf19f3 (patch)
treee40efc311c0c6424b1a1fc2ffd8be1d50a71c606 /digital/io/src/move.fsm
parent22ac49f3a2481e729903db3772f53741b9c19f3c (diff)
digital/io/src: add more blocking handling and timeout
Diffstat (limited to 'digital/io/src/move.fsm')
-rw-r--r--digital/io/src/move.fsm11
1 files changed, 9 insertions, 2 deletions
diff --git a/digital/io/src/move.fsm b/digital/io/src/move.fsm
index fad6b6b7..05f0c9d0 100644
--- a/digital/io/src/move.fsm
+++ b/digital/io/src/move.fsm
@@ -8,9 +8,9 @@ move
States:
*MOVE_IDLE
waiting for the beginning of the move FSM.
- MOVE_ROTATING
+ MOVE_ROTATING [timeout=1125]
rotating towards next point.
- MOVE_MOVING
+ MOVE_MOVING [timeout=2250]
moving to a position (intermediate or final).
MOVE_MOVING_BACKWARD_TO_TURN_FREELY
moving backward to go away from what is blocking the bot.
@@ -38,6 +38,10 @@ MOVE_IDLE:
MOVE_ROTATING:
bot_move_succeed -> MOVE_MOVING
move to next position.
+ bot_move_failed -> MOVE_MOVING
+ move to next position.
+ state_timeout -> MOVE_MOVING
+ move to next position.
loader_errored -> MOVE_LOADER_UNBLOCKING_UPING
move backward
loader up
@@ -54,6 +58,9 @@ MOVE_MOVING:
bot_move_failed -> MOVE_MOVING_BACKWARD_TO_TURN_FREELY
reset final_move.
move backward to turn freely.
+ state_timeout -> MOVE_MOVING_BACKWARD_TO_TURN_FREELY
+ reset final_move.
+ move backward to turn freely.
obstacle_in_front: tryagain -> MOVE_WAIT_FOR_CLEAR_PATH
reset final_move.
stop the bot.