From 284ebff6aab7beed71c78e58996b267c4c0dca08 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sat, 25 Jun 2011 17:27:07 +0200 Subject: digital/io-hub/src/robospierre: do not drop everything on blocking --- digital/io-hub/src/robospierre/logistic.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'digital/io-hub/src/robospierre/logistic.c') diff --git a/digital/io-hub/src/robospierre/logistic.c b/digital/io-hub/src/robospierre/logistic.c index db0c8b94..82f5a4fa 100644 --- a/digital/io-hub/src/robospierre/logistic.c +++ b/digital/io-hub/src/robospierre/logistic.c @@ -582,11 +582,13 @@ logistic_drop_element_type (uint8_t direction) } void -logistic_dump (void) +logistic_dump (uint8_t direction, uint8_t drop_top) { + /* Drop. */ uint8_t i; - /* Drop all except side. */ - for (i = 0; i < CLAMP_SLOT_SIDE; i++) + uint8_t bay = direction == DIRECTION_FORWARD + ? CLAMP_SLOT_FRONT_BOTTOM : CLAMP_SLOT_BACK_BOTTOM; + for (i = bay; i < bay + 2 + drop_top; i++) ctx.slots[i] = 0; } -- cgit v1.2.3