summaryrefslogtreecommitdiff
path: root/digital/io/src
diff options
context:
space:
mode:
authorNicolas Haller2009-05-22 03:51:34 +0200
committerNicolas Haller2009-05-22 03:51:34 +0200
commit1077ff92aeb2d76aa667d9d0ddb72bbacfdc169c (patch)
tree6f40664359381de44f36a124abf6c8f772021433 /digital/io/src
parenta14c2c58d9132b444e7db5e2278d84f585444148 (diff)
* digital/io/src:
- fix cylinder status (set cylinder_distrib_fucked to 0 and stop cylinder fan mode...) - fix on top FSM
Diffstat (limited to 'digital/io/src')
-rw-r--r--digital/io/src/cylinder_cb.c2
-rw-r--r--digital/io/src/top.fsm2
-rw-r--r--digital/io/src/top_cb.c8
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