From 3cc3e4c14f298fd78d26fb77b1684cd3b88bed39 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 22 May 2011 20:52:35 +0200 Subject: digital/io-hub: handle new elements when clamp locked --- digital/io-hub/src/robospierre/clamp.c | 8 ++++++++ digital/io-hub/src/robospierre/logistic.c | 3 --- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'digital') diff --git a/digital/io-hub/src/robospierre/clamp.c b/digital/io-hub/src/robospierre/clamp.c index 70834bfe..0172d891 100644 --- a/digital/io-hub/src/robospierre/clamp.c +++ b/digital/io-hub/src/robospierre/clamp.c @@ -452,6 +452,14 @@ FSM_TRANS (CLAMP_DROPING_WAITING_ROBOT, clamp_drop_clear, done); } +FSM_TRANS (CLAMP_LOCKED, clamp_new_element, CLAMP_LOCKED) +{ + pwm_set_timed (clamp_slot_door[ctx.pos_new], + BOT_PWM_DOOR_CLOSE (ctx.pos_new)); + logistic_element_new (ctx.pos_new, ctx.new_element_type); + return FSM_NEXT (CLAMP_LOCKED, clamp_new_element); +} + FSM_TRANS (CLAMP_LOCKED, clamp_drop, CLAMP_DROPING_DOOR_OPENING) { /* If going forward, drop at back. */ diff --git a/digital/io-hub/src/robospierre/logistic.c b/digital/io-hub/src/robospierre/logistic.c index 0dbbaa6c..011b85a3 100644 --- a/digital/io-hub/src/robospierre/logistic.c +++ b/digital/io-hub/src/robospierre/logistic.c @@ -66,9 +66,6 @@ static void logistic_decision (void) { uint8_t i; - /* If currently moving, do not take decision. */ - if (ctx.moving_from != CLAMP_SLOT_NB) - return; /* Determine collect_direction. */ uint8_t front_head = 0, back_head = 0, front_element = 0, back_element = 0; -- cgit v1.2.3