summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/ai_top_cb.c
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src/ai_top_cb.c')
-rw-r--r--digital/io/src/ai_top_cb.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/digital/io/src/ai_top_cb.c b/digital/io/src/ai_top_cb.c
index c2d05012..2041ab7b 100644
--- a/digital/io/src/ai_top_cb.c
+++ b/digital/io/src/ai_top_cb.c
@@ -313,4 +313,48 @@ ai__COLLECT_SLOW_MOTION__bot_move_failed (void)
return ai_next_branch (COLLECT_SLOW_MOTION, bot_move_failed, unload);
}
+/*
+ * COLLECT_SLOW_MOTION =loader_black=>
+ * => COLLECT_BLACK
+ * speed up
+ * move backward
+ * mark as black
+ */
+fsm_branch_t
+ai__COLLECT_SLOW_MOTION__loader_black (void)
+{
+ asserv_set_speed (BOT_MOVE_SLOW);
+ asserv_move_linearly (-90);
+ food_black (top_food);
+ return ai_next (COLLECT_SLOW_MOTION, loader_black);
+}
+
+/*
+ * COLLECT_BLACK =bot_move_succeed=>
+ * unload => UNLOAD
+ * collect => COLLECT
+ */
+fsm_branch_t
+ai__COLLECT_BLACK__bot_move_succeed (void)
+{
+ if (top_collect (0))
+ return ai_next_branch (COLLECT_BLACK, bot_move_succeed, collect);
+ else
+ return ai_next_branch (COLLECT_BLACK, bot_move_succeed, unload);
+}
+
+/*
+ * COLLECT_BLACK =bot_move_failed=>
+ * unload => UNLOAD
+ * collect => COLLECT
+ */
+fsm_branch_t
+ai__COLLECT_BLACK__bot_move_failed (void)
+{
+ if (top_collect (0))
+ return ai_next_branch (COLLECT_BLACK, bot_move_failed, collect);
+ else
+ return ai_next_branch (COLLECT_BLACK, bot_move_failed, unload);
+}
+