Page 1 of 1

[2.0] Add circuit output to fluid pumps

Posted: Sun Oct 20, 2024 3:34 pm
by gridstop
TL;DR
Add an option to pulse fluid transferred to the circuit network to pumps.

What ?
Add an option such that a pump can pulse the circuit network every time it transfers fluids from the input to output fluid boxes. Use a similar UI to inserters "read hand contents = pulse" or the new assembler craft results output.
Why ?
  • Consistency with inserters being able to count items transferred and assemblers being able to count items produced.
  • There's currently no way to measure fluid flow. The wider variety of fluids introduced in Space Age opens the door for more designs that might want to track and manage fluids.
  • Existing hacky methods pre-2.0 never worked well and now no longer will work at all because they depended on absolute predictability of transfer directly from tank->pump->tank.

Re: [2.0] Add circuit output to fluid pumps

Posted: Thu Aug 27, 2026 1:14 pm
by macdjord
+1

Re: [2.0] Add circuit output to fluid pumps

Posted: Thu Aug 27, 2026 4:37 pm
by mmmPI
gridstop wrote: Sun Oct 20, 2024 3:34 pm [*]Existing hacky methods pre-2.0 never worked well and now no longer will work at all because they depended on absolute predictability of transfer directly from tank->pump->tank.
I like the idea of the suggestion, i think it's mostly a good thing to be able to connect more things to the network BUT in the specific case of fluid it's not so straightforward because those aren't necessarily integers, and circuits only want integers. That was true in 2.0 when i fiddled around with methods that were hacky, and not necessarily working "all the time". I agree that it relied on absolute predictability of transfer, to a certain extend. If you want to have a VERY precise calculation without any drift over long period of time, it was much harder than a trend indicator.

To further complicate things, circuit networks truncate the result, if you have 12.7 fluid in a tank, or transfered every tick, the pulse would only be 12 which would cause drift over time depending on the use case, it's always "missing fluid".
gridstop wrote: Sun Oct 20, 2024 3:34 pm [*]There's currently no way to measure fluid flow. The wider variety of fluids introduced in Space Age opens the door for more designs that might want to track and manage fluids.
I took it as a challenge lol, maybe it's hacky and not working super well, but i made a thingy that can show the fluid flow of a pump :





Disclaimer, there may be imprecisions and you can see the delay, it's not meant to represent a way to control how much fluid is transfered precisely to the single unit because of that integer imprecision, however, it uses pumps to create separate inline fluid segment before and after a "special pump", which is special because it is meant to only activate when it can transfer a full 20 fluid, which is 1200/sec, and when it does it emit a pulse, then you count the number of pulse and you can tell the flow of the fluid.

It is most likely possible currently to make a more precise machine using the same hacks, to only transfer 20 fluid at a time and try to "count the amount of fluid precisely from a sum of aggregated pulse " instead of the flow , if you are willing to put the time and effort to avoid all off by 1 errors, but i feel it's bound to be hacky, even with the suggestion , it would require the same kind of work to avoid the non-integer value showing up.

The suggestion would make display such as the one i posted more accessible and less bulky though, so +1, but i feel you may be disappointed because it may not be as usable as expected depending on the use case.

Re: [2.0] Add circuit output to fluid pumps

Posted: Sun Sep 20, 2026 1:07 am
by SuperBananaBomb
+1.

The equivalent for solids is either inserters or splitters, as they both separate the belt into different "pipelines" (segments).
- In the case of inserters, there is the option to Read Content (Pulse/Hold).
- In the case of splitters, for any given tick, the items are either on the input side or the output side, never "inside" the splitter.

In both belt cases, you can exactly measure all items, but this is not true for fluids.
In the blueprint/screenshot, the belt examples can accurately measure 10 barrels with no downtime, which keeps the lamp always ON.
But for fluids, if the pumps are enabled, only 50 of 100 fluid units can be `Read` by the circuit network, so the lamp is OFF. If pumps are disabled, then all 100 fluids units of lubricant can be `Read`.

One option is the one proposed in OP, i.e. adding Read Content option to pumps, or alternatively they can function like splitters where fluid is on either side for any given tick.



09-19-2026, 18-10-49.png
09-19-2026, 18-10-49.png (1 MiB) Viewed 67 times