Detecting that a side loading belt has stopped moving
Posted: Tue Sep 17, 2024 1:23 pm
I would like to know when lanes A or B have stopped moving because items in lane C are blocking them. After more than a few failed attempts, I'm preparing to accept that I'll be 6-10 items late in detecting it based on the following rules:
B is stalled if B, C, and E are full (4 items)
A is stalled if A and C are full (4 items) and B+E adds up to at least 4 items
Can anyone suggest a better mechanism to detect this more reliably and/or sooner?
PS: I already have logic to deal with A, B, E being part of curved belts with a capacity different from 4 items, so don't worry about that aspect.
PPS: I know that can_insert_at() could give me more granular info than just checking for a full transport line, letting me detect an item sitting at the end of a belt before the belt fills up, but it is not performant enough for my needs.
B is stalled if B, C, and E are full (4 items)
A is stalled if A and C are full (4 items) and B+E adds up to at least 4 items
Can anyone suggest a better mechanism to detect this more reliably and/or sooner?
PS: I already have logic to deal with A, B, E being part of curved belts with a capacity different from 4 items, so don't worry about that aspect.
PPS: I know that can_insert_at() could give me more granular info than just checking for a full transport line, letting me detect an item sitting at the end of a belt before the belt fills up, but it is not performant enough for my needs.