summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/robospierre/logistic.c
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io-hub/src/robospierre/logistic.c')
-rw-r--r--digital/io-hub/src/robospierre/logistic.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/digital/io-hub/src/robospierre/logistic.c b/digital/io-hub/src/robospierre/logistic.c
index 629ee0c1..db0c8b94 100644
--- a/digital/io-hub/src/robospierre/logistic.c
+++ b/digital/io-hub/src/robospierre/logistic.c
@@ -562,6 +562,25 @@ logistic_drop (uint8_t direction)
logistic_decision ();
}
+uint8_t
+logistic_drop_element_type (uint8_t direction)
+{
+ uint8_t bay = direction == DIRECTION_FORWARD
+ ? CLAMP_SLOT_BACK_BOTTOM : CLAMP_SLOT_FRONT_BOTTOM;
+ uint8_t nb = 0;
+ uint8_t element_type = ELEMENT_NONE;
+ uint8_t i;
+ for (i = bay; i < bay + 3; i++)
+ {
+ if (ctx.slots[i])
+ {
+ nb++;
+ element_type = ctx.slots[i];
+ }
+ }
+ return nb > 1 ? ELEMENT_TOWER : element_type;
+}
+
void
logistic_dump (void)
{