summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--digital/io-hub/src/robospierre/clamp.c8
-rw-r--r--digital/io-hub/src/robospierre/logistic.c3
2 files changed, 8 insertions, 3 deletions
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;