summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/robospierre/logistic.c
diff options
context:
space:
mode:
authorNicolas Schodet2011-06-25 17:27:07 +0200
committerNicolas Schodet2011-06-25 17:27:07 +0200
commit284ebff6aab7beed71c78e58996b267c4c0dca08 (patch)
tree2eb0dbd39068ca6e910a6be4fe2581ea8e1648e3 /digital/io-hub/src/robospierre/logistic.c
parent04d27a86b1225e02f80d20962f9168fc9c0e76a7 (diff)
digital/io-hub/src/robospierre: do not drop everything on blocking
Diffstat (limited to 'digital/io-hub/src/robospierre/logistic.c')
-rw-r--r--digital/io-hub/src/robospierre/logistic.c8
1 files changed, 5 insertions, 3 deletions
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;
}