Page 1 of 2

OCD-safe count-perfect smart belt mixer

Posted: Wed Nov 25, 2020 6:19 pm
by Optymistyk
I made a thing, maybe someone can find a use for it.
mixer.gif
mixer.gif (7.96 MiB) Viewed 5869 times
What it does:
sends a number of different items every X seconds over a single belt
Currently it's set to send 120 Blue Circuits, 80 Electric engines, 60 Low Density Structures, 50 Efficiency 2 Modules, 50 Speed 2 Modules every 12 seconds.
Items per second must not exceed maximum belt throughput

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Nov 25, 2020 6:35 pm
by eradicator
Nice. But..that gap between item types is not OCD safe - you're wasting bandwidth! ;)

Re: OCD-safe count-perfect smart belt mixer

Posted: Thu Nov 26, 2020 8:42 am
by foamy
What happens if the drain jams? Or runs at half speed?

Re: OCD-safe count-perfect smart belt mixer

Posted: Thu Nov 26, 2020 9:02 am
by Optymistyk
foamy wrote:
Thu Nov 26, 2020 8:42 am
What happens if the drain jams? Or runs at half speed?
Items per second cannot exceed max belt throughput. This applies to slower belts as well as jammed belts. If this happens it is not going to send all the items in the desired timeframe. Some items might also get stuck on the unconnected ends of splitters as they can't be placed on the belt fast enough (though this could be prevented by using a more complex splitter array). The contraption works with an assumption that a sufficient belt throughput is provided at all times. Failing to provide that might affect the quantity and the ratio of items sent

Re: OCD-safe count-perfect smart belt mixer

Posted: Thu Nov 26, 2020 5:31 pm
by Impatient
Optymistyk wrote:
Thu Nov 26, 2020 9:02 am
... Some items might also get stuck on the unconnected ends of splitters as they can't be placed on the belt fast enough ...
You can prevent this in particular by simply setting a priority and filter of an item that is NOT used (like fish) to the output of the splitter, where no item should go.

Re: OCD-safe count-perfect smart belt mixer

Posted: Thu Nov 26, 2020 8:44 pm
by Deliberate Grief
Needs improvements.

Re: OCD-safe count-perfect smart belt mixer

Posted: Fri Nov 27, 2020 12:19 am
by Optymistyk
Impatient wrote:
Thu Nov 26, 2020 5:31 pm


You can prevent this in particular by simply setting a priority and filter of an item that is NOT used (like fish) to the output of the splitter, where no item should go.
That is true, didn't think of that

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 3:11 pm
by Binoculars
I finalized this recently. More difficult to configure than your creation, it nevertheless allows you not to waste bandwidth.

I think it would take a mix of our two creations to come up with a few practical and easily configurable things.

Also, it doesn't work with blue conveyor belts, which I can't explain ...
20210106160442_1.jpg
20210106160442_1.jpg (747.54 KiB) Viewed 5425 times

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 7:22 pm
by quyxkh
Here's mine, in two different layouts. Set the ingredient counts in the constant combinator, set the ingredient items in the <0 enables, turn on the constant combinator. Supply a nonzero Z on the red wire or turn off the constant combinator to stop after the next complete recipe batch.




Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 7:37 pm
by Binoculars
quyxkh wrote:
Wed Jan 06, 2021 7:22 pm
Here's mine, in two different layouts. Set the ingredient counts in the constant combinator, set the ingredient items in the <0 enables, turn on the constant combinator. Supply a nonzero Z on the red wire or turn off the constant combinator to stop after the next complete recipe batch.
I created the same thing but more compact.
A very useful creation, although very different from the basic idea here.

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 7:41 pm
by Binoculars
quyxkh wrote:
Wed Jan 06, 2021 7:22 pm
Here's mine, in two different layouts. Set the ingredient counts in the constant combinator, set the ingredient items in the <0 enables, turn on the constant combinator. Supply a nonzero Z on the red wire or turn off the constant combinator to stop after the next complete recipe batch.
Your creation seems to work perfectly with blue transport mats. Could you tell me what for why my setup does not work with these?

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 8:15 pm
by quyxkh
I haven't stared at it hard enough to be certain, but I'm betting it's that you reset to zero for every batch and don't remember strays, and your logic can't keep up, blue belt traffic comes at 2-3 tick intervals, your logic probably takes three ticks to react so it lets extras through sometimes and when it resets the counter, it gets off track.

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 8:20 pm
by Binoculars
quyxkh wrote:
Wed Jan 06, 2021 8:15 pm
I haven't stared at it hard enough to be certain, but I'm betting it's that you reset to zero for every batch and don't remember strays, and your logic can't keep up, blue belt traffic comes at 2-3 tick intervals, your logic probably takes three ticks to react so it lets extras through sometimes and when it resets the counter, it gets off track.
I had thought of this. So the only way to get an accurate result on blue conveyor belts is a constant combiner with negative values?

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 9:04 pm
by quyxkh
Binoculars wrote:
Wed Jan 06, 2021 8:20 pm
quyxkh wrote:
Wed Jan 06, 2021 8:15 pm
I haven't stared at it hard enough to be certain, but I'm betting it's that you reset to zero for every batch and don't remember strays, and your logic can't keep up, blue belt traffic comes at 2-3 tick intervals, your logic probably takes three ticks to react so it lets extras through sometimes and when it resets the counter, it gets off track.
I had thought of this. So the only way to get an accurate result on blue conveyor belts is a constant combiner with negative values?
I think it's the pulse-feeding-a-direct-feedback-accumulator setup that's necessary, the downstream belts' "have" pulses show up on the "want"+"have" sum circuit in that one tick, with the accumulator output, and the accumulator carries it forward. Want more, pulse a -ve of how many more you want. Have more, pulse a +ve of how many more you have, the running sum tells the circuitry which way perfection lies. But I really am guessing about your circuit, it's much easier for me to understand the direct item signals than the `A`s and `B`s there.

Re: OCD-safe count-perfect smart belt mixer

Posted: Wed Jan 06, 2021 9:06 pm
by Binoculars
quyxkh wrote:
Wed Jan 06, 2021 9:04 pm
Binoculars wrote:
Wed Jan 06, 2021 8:20 pm
quyxkh wrote:
Wed Jan 06, 2021 8:15 pm
I haven't stared at it hard enough to be certain, but I'm betting it's that you reset to zero for every batch and don't remember strays, and your logic can't keep up, blue belt traffic comes at 2-3 tick intervals, your logic probably takes three ticks to react so it lets extras through sometimes and when it resets the counter, it gets off track.
I had thought of this. So the only way to get an accurate result on blue conveyor belts is a constant combiner with negative values?
I think it's the pulse-feeding-a-direct-feedback-accumulator setup that's necessary, the downstream belts' "have" pulses show up on the "want"+"have" sum circuit in that one tick, with the accumulator output, and the accumulator carries it forward. Want more, pulse a -ve of how many more you want. Have more, pulse a +ve of how many more you have, the running sum tells the circuitry which way perfection lies. But I really am guessing about your circuit, it's much easier for me to understand the direct item signals than the `A`s and `B`s there.
Thank you so much.

Re: OCD-safe count-perfect smart belt mixer

Posted: Thu Jan 07, 2021 4:24 pm
by Binoculars
quyxkh wrote:
Wed Jan 06, 2021 7:22 pm
Here's mine, in two different layouts. Set the ingredient counts in the constant combinator, set the ingredient items in the <0 enables, turn on the constant combinator. Supply a nonzero Z on the red wire or turn off the constant combinator to stop after the next complete recipe batch.
I'm wondering, how is it that in your two creations the combiners output the value x2?
Is it not possible to enter exact numbers and get this result as an output?

Re: OCD-safe count-perfect smart belt mixer

Posted: Thu Jan 07, 2021 8:45 pm
by quyxkh
Binoculars wrote:
Thu Jan 07, 2021 4:24 pm
I'm wondering, how is it that in your two creations the combiners output the value x2?
Is it not possible to enter exact numbers and get this result as an output?
That's the response delay, the decision to ask for more takes a tick, applying it takes a tick, so the tick after it decides to ask for more, the request hasn't shown up yet, it'll still make the same decision. The ask-for-more logic is (actually, it's the don't-ask-for-more logic) Anything < -2 ⇒ Z=1, and the actual deliver-the-request logic is Z=0 ⇒ Everything=Input.

The gate=0 ⇒ output everything trick is baseline for composing complex circuits in my book, I don't know of another way to build but that's at least as likely as not just me.

Re: OCD-safe count-perfect smart belt mixer

Posted: Thu Jan 07, 2021 8:55 pm
by Binoculars
quyxkh wrote:
Thu Jan 07, 2021 8:45 pm
Binoculars wrote:
Thu Jan 07, 2021 4:24 pm
I'm wondering, how is it that in your two creations the combiners output the value x2?
Is it not possible to enter exact numbers and get this result as an output?
That's the response delay, the decision to ask for more takes a tick, applying it takes a tick, so the tick after it decides to ask for more, the request hasn't shown up yet, it'll still make the same decision. The ask-for-more logic is (actually, it's the don't-ask-for-more logic) Anything < -2 ⇒ Z=1, and the actual deliver-the-request logic is Z=0 ⇒ Everything=Input.

The gate=0 ⇒ output everything trick is baseline for composing complex circuits in my book, I don't know of another way to build but that's at least as likely as not just me.
Very well thank you.

I'll use your idea to make my idea work with the blue conveyor belts. If I want to get back to sleep, I have no choice but to do so.

Re: OCD-safe count-perfect smart belt mixer

Posted: Sat Jan 09, 2021 3:14 pm
by Binoculars
quyxkh wrote:
Wed Jan 06, 2021 7:22 pm
Here's mine, in two different layouts. Set the ingredient counts in the constant combinator, set the ingredient items in the <0 enables, turn on the constant combinator. Supply a nonzero Z on the red wire or turn off the constant combinator to stop after the next complete recipe batch.



Forgive me, but is it possible to add an arithmetic combinator which divides the input by two so as not to have to divide by two when entering the constant combiner ?

Re: OCD-safe count-perfect smart belt mixer

Posted: Sat Jan 09, 2021 10:40 pm
by quyxkh
Binoculars wrote:
Sat Jan 09, 2021 3:14 pm
is it possible to add an arithmetic combinator which divides the input by two so as not to have to divide by two when entering the constant combiner ?
Sure, but lots of recipes have ingredient counts like 3 and 5, and belts have two lanes. This is engineering-land, you're not going to get perfect. Don't get me started on the changes that have catered to the desire for simplicity and abstract purity.