From 323ad8abc26d3fe2f89c07a36288469ad6a4139f Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 14 May 2010 12:25:27 +0200 Subject: digital/io/src: handle black corn --- digital/io/src/ai_top_cb.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'digital/io/src/ai_top_cb.c') 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); +} + -- cgit v1.2.3