From 1077ff92aeb2d76aa667d9d0ddb72bbacfdc169c Mon Sep 17 00:00:00 2001 From: Nicolas Haller Date: Fri, 22 May 2009 03:51:34 +0200 Subject: * digital/io/src: - fix cylinder status (set cylinder_distrib_fucked to 0 and stop cylinder fan mode...) - fix on top FSM --- digital/io/src/cylinder_cb.c | 2 ++ digital/io/src/top.fsm | 2 +- digital/io/src/top_cb.c | 8 ++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/digital/io/src/cylinder_cb.c b/digital/io/src/cylinder_cb.c index e29b09e2..3506b83c 100644 --- a/digital/io/src/cylinder_cb.c +++ b/digital/io/src/cylinder_cb.c @@ -372,6 +372,7 @@ cylinder__TURN_PLUS_1_AND_OFO_DISTRIB__move_done (void) fsm_branch_t cylinder__TURN_PLUS_1_AND_MINUS_OFO_DISTRIB__move_done (void) { + cylinder_distributor_fucked = 0; return cylinder_next (TURN_PLUS_1_AND_MINUS_OFO_DISTRIB, move_done); } @@ -408,6 +409,7 @@ cylinder__PROBE_OF__of_puck (void) of_offset_enabled = 0; return cylinder_next_branch (PROBE_OF, of_puck, bot_not_full); } + cylinder_distributor_fucked = 0; return cylinder_next_branch (PROBE_OF, of_puck, bot_full); } diff --git a/digital/io/src/top.fsm b/digital/io/src/top.fsm index b48fb7be..fd514478 100644 --- a/digital/io/src/top.fsm +++ b/digital/io/src/top.fsm @@ -19,7 +19,7 @@ States: when going to unload area. FUCK_UNLOAD_AREA when going backward in position for unload. - UNLOAD_PUCKS [timeout=112500] + UNLOAD_PUCKS [timeout=11250] when unloading all pucks from the bot. ELEVATOR_READY_TO_GO_AWAY_TO_RETRY_UNLOAD [timeout=1125] wait for the elevator to be ready for a bot movement. diff --git a/digital/io/src/top_cb.c b/digital/io/src/top_cb.c index 84ae020f..4315515b 100644 --- a/digital/io/src/top_cb.c +++ b/digital/io/src/top_cb.c @@ -94,13 +94,15 @@ top__GET_PUCK_FROM_THE_GROUND__move_fsm_succeed (void) { /* Ensure cylinder is close. */ cylinder_close_order = 1; - if (top_total_puck_taken) + if (top_puck_inside_bot) { /* Flush cylinder. */ cylinder_flush_order = 1; asserv_position_t position; /* Go to unload area. */ top_get_next_position_to_unload_puck (&position); + /* Go there. */ + move_start (position, ASSERV_BACKWARD); return top_next_branch (GET_PUCK_FROM_THE_GROUND, move_fsm_succeed, already_six_pucks_or_no_next_position_and_some_puck); } else @@ -174,13 +176,15 @@ top__GET_PUCK_FROM_THE_GROUND__state_timeout (void) { /* Ensure cylinder is close. */ cylinder_close_order = 1; - if (top_total_puck_taken) + if (top_puck_inside_bot) { /* Flush cylinder. */ cylinder_flush_order = 1; asserv_position_t position; /* Go to unload area. */ top_get_next_position_to_unload_puck (&position); + /* Go there. */ + move_start (position, ASSERV_BACKWARD); return top_next_branch (GET_PUCK_FROM_THE_GROUND, state_timeout, some_pucks); } else -- cgit v1.2.3