Page 1 of 1

Circuit network improvement: Multiple modes of operation

Posted: Tue May 16, 2017 8:41 am
by segura
TLDR
My suggestion is to allow the objects to split their connected circuit networks and choose separate mode of operations for each.
What ? (idea)
I would like for a requester chest to be able to have different modes of operations for both circuit networks it's connected to.

The requester chest has as modes of operations "Read contents" or "Set requests", exclusively. Instead of a radio button to select between them I would prefer a way to specify: "Read contents" from red wire circuit network and "Set requests" from green wire circuit network, for instance.

In this image you can get a better idea of what I am referring to. The requester chest is connected through green wire to and arithmetic combinator and through red wire to an stack inserter.
Image
Why ? (use case)
I was building a design in which I wanted to set the content of the requester chest via circuit network and read the content of it to provide this information to an inserter next to it.
The design is a multipurpose furnace setup similar to this one. The reason why I want to read the content of the chest is because I want the inserter to pick anything in stacks of 10 elements to avoid it getting stuck when it picks another item. This is needed for steel or stone bricks: if the furnace has 4 iron plates and the inserter picks anything else but iron plates, the furnace gets stuck forever.


The only reference I have found of this same suggestion is this post on reddit but it seems it didn't go anywhere.

Side note: I'm open to suggestions to the design I described for the multipurpose furnace, I'm thinking on how to do it in another way.

Re: Circuit network improvement for requester chest

Posted: Tue May 16, 2017 10:41 pm
by segura
Playing with different designs trying to achieve the same goal I found similar problems when using a stack filter inserter. I had a design in which I wanted to set the filter as well as set an enable condition for the inserter, which again it only allows for one mode of operation.

I think it would we a great addition to the circuit network to allow the objects connected to it to have different modes of operations for each of the networks it is connected to. Right now, if I'm not mistaken, the behaviour is to merge the values of both incoming circuit networks and use that for one selected mode of operation.


In Summary: My suggestion is to allow the objects to split their connected networks and choose separate mode of operations. (objects, not only for requester chests)


Of course I don't know how complex would be those changes on the circuit network code, but I don't think I'm suggesting radical/structural changes.
In terms of menu selection, one suggestion could be: On top of the box "Modes of operation" it could be added a box with title "Connected networks behaviour", or similar, with exclusive options: "merge", "split". And in the case of choosing split, a second box of "Modes of operation" appears either below or as a tab to allow the selection for both red and green circuit networks.

Re: Circuit network improvement: Multiple modes of operation

Posted: Wed May 17, 2017 11:19 am
by ssilk
How do you think this should be made visible
- in the GUI?
- in the game-map?

IMHO in the game it's very important to see, that both wires have different information.
And it is also so, that once implemented it should be possible for all devices.

Re: Circuit network improvement: Multiple modes of operation

Posted: Wed May 17, 2017 11:47 am
by Bortos
segura wrote:
TLDR
My suggestion is to allow the objects to split their connected circuit networks and choose separate mode of operations for each.
What ? (idea)
I would like for a requester chest to be able to have different modes of operations for both circuit networks it's connected to.
Very much agree with this, but for all entities in general. Filter stacker especially for me. Being able have "Read Hand Contents" on green and "Set Filters" on red would be extremely useful.

Currently the hand contents of one stacker would be used as the filter of another. You can negate this signal with EACH * -2 => EACH (must be -2 not -1) from one colour network to the other, but there is still one tick behind. Alternatively you need 2 combinators per stacker.

Re: Circuit network improvement: Multiple modes of operation

Posted: Wed May 17, 2017 12:03 pm
by segura
ssilk wrote:How do you think this should be made visible
- in the GUI?
- in the game-map?

IMHO in the game it's very important to see, that both wires have different information.
And it is also so, that once implemented it should be possible for all devices.
Well, right now when you have an object with red and green wires connected, when you hover over it you only see "Signals:" on the side menu, with all of them mixed. (If I remember well, I can't check right now) So to begin with, the current implementation doesn't show the information of both wires separately.

I think the best solution would be to have an option to "merge" or "split" connected wire signals in the circuit network menu of the object, and to show its effects you could change the "Signals" information in the side menu to differentiate between red and green signals information.

Re: Circuit network improvement: Multiple modes of operation

Posted: Wed May 17, 2017 12:11 pm
by segura
Bortos wrote: Very much agree with this, but for all entities in general. Filter stacker especially for me. Being able have "Read Hand Contents" on green and "Set Filters" on red would be extremely useful.

Currently the hand contents of one stacker would be used as the filter of another. You can negate this signal with EACH * -2 => EACH (must be -2 not -1) from one colour network to the other, but there is still one tick behind. Alternatively you need 2 combinators per stacker.
Yes, for all entities. Initially I encountered the limitation with the requester chest, but this improvement could be beneficial to all entities.

At least for objects connected to the circuit network, another related idea is to split the inputs/outputs of the combinators, maybe it makes sense too: Output a value to the red wire signal and another value to the green wire signal? I haven’t given much of a thought but it seems it could be beneficial, it allows more complex designs and could reduce the number of combinators needed for a given logic.

Re: Circuit network improvement: Multiple modes of operation

Posted: Fri May 26, 2017 7:32 pm
by AxeSlash
I also have a need to both set requests and read a chest's contents for my train and car loading rigs.

I don't particularly need to be able to specify red/green personally (although adding that option to all circuit network-capable entities would be VERY useful for keeping signals separate and preventing them from automatically summing...maybe even just an option to turn auto-summing on/off in all CN entities would be enough).

I think that the red/green issue is a separate one from being able to both set AND read a requester chest.

Re: Circuit network improvement: Multiple modes of operation

Posted: Sat Jun 03, 2017 11:32 pm
by ssilk
@Segura: Sound reasonable. That would solve a lot of problems, when there are more than one possibility to access an entity with signals.

Re: Circuit network improvement: Multiple modes of operation

Posted: Sun Jun 04, 2017 2:26 am
by JohnyDL
or two sets of radio icons one in green and one in red side by side letting you choose modes in things like requesters and inserters, in combinators 2 check boxes on each item for get/send to the red/green network, in the case of combinator outputs maybe 2 different outputs one for red network one for green, letting you in an arithmetic have green output add each green signal to each red of the same type (without merging the 2 signals) and the red output sum all items to a single signal