summaryrefslogtreecommitdiffhomepage
path: root/digital
diff options
context:
space:
mode:
Diffstat (limited to 'digital')
-rw-r--r--digital/io-hub/src/apbirthday/top.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/digital/io-hub/src/apbirthday/top.cc b/digital/io-hub/src/apbirthday/top.cc
index 8551a728..0950bcbe 100644
--- a/digital/io-hub/src/apbirthday/top.cc
+++ b/digital/io-hub/src/apbirthday/top.cc
@@ -536,10 +536,19 @@ FSM_TRANS (TOP_PLATE_GOTO, move_failure, TOP_DECISION)
robot->strat.failure ();
}
-FSM_TRANS (TOP_PLATE_APPROACH, move_success, TOP_DECISION)
+FSM_TRANS (TOP_PLATE_APPROACH, move_success,
+ leave, TOP_PLATE_LEAVE,
+ end, TOP_DECISION)
{
// TODO: no plate.
robot->strat.failure ();
+ if (top.plate.leave)
+ {
+ robot->move.start (top.plate.approaching_pos.v, Asserv::REVERT_OK);
+ return FSM_BRANCH (leave);
+ }
+ else
+ return FSM_BRANCH (end);
}
FSM_TRANS (TOP_PLATE_APPROACH, move_failure, TOP_DECISION)