Project Cybersyn - Logistics Train Dispatcher


Creates a feature-rich train logistics network through cybernetic combinators. With just this mod you can coordinate the economic inputs and outputs of your entire megabase.

Content
25 days ago
1.1 - 2.0
27.9K
Logistics Trains Circuit network

g Simpler way to disable provider inserters?

2 years ago

For a provider station I currently "read the train contents", multiply it with -1 and combine it with the current request. Inserters that fill the wagons are enabled as long as that's > 0.
Is that how it's supposed to be done? Or is there maybe a "Remaining iron plates to be loaded" signal I can get?

2 years ago

That is exactly how it is supposed to be done.

There is no "Remaining iron plates to be loaded" signal in the mod because the factorio api makes calculating that absurdly performance intensive.

2 years ago

Alright, thanks!

2 years ago

Just thought about it a bit more, wouldn't it be useful to provide the requested content (potentially optional) as negative? Then we could save one arithmetic combinator by inverting the condition.

2 years ago
(updated 2 years ago)

Just thought about it a bit more, wouldn't it be useful to provide the requested content (potentially optional) as negative? Then we could save one arithmetic combinator by inverting the condition.

At the provider side, we need positive signals to set the filter for filtered inserters.

2 years ago

That's why you only do it for the provider side, optionally.

2 years ago

Sorry I still don't get why you want negative signals at provider. You need a positive signal to activate the inserters, and a negative signal to counter the signal + stop it once the positive signals have been fulfilled.

2 years ago

What? For the simplest setup you just have the inserters enabled as long as "requested - train contents > 0"

2 years ago
(updated 2 years ago)

Referring to the suggestion:

wouldn't it be useful to provide the requested content (potentially optional) as negative?

And the example of simplest setup:

For the simplest setup you just have the inserters enabled as long as "requested - train contents > 0"

what is the point of providing requested content as negative in your example?

2 years ago
(updated 2 years ago)

If requested content is positive and train contents are positive you can't subtract them without a combinator...

That's why

Just thought about it a bit more, wouldn't it be useful to provide the requested content (potentially optional) as negative? Then we could save one arithmetic combinator by inverting the condition.

Seems obvious to me, still here's a save using another mod to demonstrate: https://www.mediafire.com/file/df1uz49ehecompt/factorio_cybersyn_discussion_save.zip/file

2 years ago

Thanks for providing the example, I didn't think of the possibility of having inserters enabled with negative signals.

I guess what confused me was to have the inserters enabled as long as "requested - train contents > 0"

In the save file you provided, the example is have the inserters enabled as long as "train contents - requested < 0"

2 years ago

So filter inserters have this amazing setting called "set filter". When enabled the filter is set to every positive signal on the circuit network. By having providers output a positive signal you can just kind of make a stop using this that works and is highly blueprintable. It doesn't even necessarily have to use an arithmetic combinator, although it works better with one.

2 years ago
(updated 2 years ago)

It doesn't even necessarily have to use an arithmetic combinator, although it works better with one.

But to disable the inserters you need an arithmetic combinator, right?

2 years ago

What about adding virtual arithmetic combinator with (multiply -1) in function on_station_built And connect combinator input to “stop” and output to “comb” . This way cybernetic combinator will output precise amount to load and unload. In case of unload station there is no need to set any combinator signal as it will be already train contents multiplied by -1. This should not be performance intensive and also solves problem with overloading by waiting 1 second of inactivity.

2 years ago

you know what, a negative signal is probably more intuitive. The only problem then would be to handle backwards compatibility if it is changed.

2 years ago

Mod setting that maintain positive signals for ongoing save, and default to negative for new maps? It should make sense as a map-wide setting I think.

2 years ago

What about the "configurable per station" approach, like in Rail Logistics Dispatcher?

What about adding virtual arithmetic combinator with (multiply -1) in function on_station_built

Why that? The signal comes from the cybernetic combinator (and this Cybersyn), no?

2 years ago

This is a setting that shouldn't be per station I feel, it's better if there is one universal standard all stations and blueprints of stations conform to. That way the designs just work, and you don't have to wrap your brain around inverted signals every time you make a new station design, or use someone else's station design.
There will be a setting for backwards compatibility that defaults to false for new maps.

2 years ago

I agree with this reasoning, sticking to one universal standard.

2 years ago

added in 1.2.2

New response