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
3 days ago
1.1 - 2.0
25.6K
Logistics Trains Circuit network

g Simpler way to disable provider inserters?

1 year, 11 months 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?

1 year, 11 months 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.

1 year, 11 months ago

Alright, thanks!

1 year, 11 months 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.

1 year, 11 months ago
(updated 1 year, 11 months 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.

1 year, 11 months ago

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

1 year, 11 months 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.

1 year, 11 months ago

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

1 year, 11 months ago
(updated 1 year, 11 months 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?

1 year, 11 months ago
(updated 1 year, 11 months 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

1 year, 11 months 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"

1 year, 11 months 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.

1 year, 11 months ago
(updated 1 year, 11 months 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?

1 year, 11 months 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.

1 year, 11 months 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.

1 year, 11 months 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.

1 year, 11 months 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?

1 year, 11 months 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.

1 year, 11 months ago

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

1 year, 10 months ago

added in 1.2.2

New response