I've used a decider combinator to create an RS latch and used an accumulator as the control signal. I've noticed that despite the condition being set to signal value < 60, the accumulator signal value 59 doesn't pass the check and only becomes true when the value falls down to 58. When the accumulator charges, it should stop passing the check when the value once again reaches 60, but it's still shown as true when the combinator shows the value of 60 < 60 and turns false only when it gets to 61:
I've done a quick check in Factorio 1.1.110 and it didn't use to work like that, the combinator immediately caught the value change properly (R combinator is set to >60):
I'm assuming it has something to do with the way display value is rounded and the signal used for condition check is either not rounded or rounded in a different way. I'd expect it to work the same way it used to in Factorio 1.1.110.
[2.0.16] Accumulator output signal display value differently rounded than one used for condition check
[2.0.16] Accumulator output signal display value differently rounded than one used for condition check
- Attachments
-
- factorio-current.log
- (21.74 KiB) Downloaded 11 times
-
- accu_11110.mp4
- (5.47 MiB) Downloaded 13 times
-
- accu_2016.mp4
- (11.47 MiB) Downloaded 14 times
Re: [2.0.16] Accumulator output signal display value differently rounded than one used for condition check
I was able to reproduce this using just combinator clocks, so it has nothing to do with the accumulator (circuit signal values are always converted to integer before being sent along the wire anyways). What I found is not a functional error, but a visual one. In a multi-condition decider combinator, the input true/false visualization is updated immediately when the output state changes. But if the input signals causes some conditions to change state without affecting the decider output, then the visualization is delayed. This is either a minor bug or an intentional performance optimization.
In other words, in your video the "S < 60" comparison didn't update until it went down to 58 or up to 61 because that transition did not affect the decider's output. If you wait for it to go all the way down to 39, so that the "on" condition is tripped, and then all the way back up to 60 so that the "off" condition is tripped, I believe you will find the visualization updates immediately as you would expect.
In other words, in your video the "S < 60" comparison didn't update until it went down to 58 or up to 61 because that transition did not affect the decider's output. If you wait for it to go all the way down to 39, so that the "on" condition is tripped, and then all the way back up to 60 so that the "off" condition is tripped, I believe you will find the visualization updates immediately as you would expect.
My mods: Multiple Unit Train Control, Smart Artillery Wagons
Maintainer of Vehicle Wagon 2, Cargo Ships, Honk
Maintainer of Vehicle Wagon 2, Cargo Ships, Honk
Re: [2.0.16] Accumulator output signal display value differently rounded than one used for condition check
Huh, interesting, thanks for testing that! I've only tried to recreate it with constant combinator using simple signals, so I didn't find that. But yeah, from what I've observed it appears to be a visual-only bug. Not a very important one, but I'd still consider it something that needs fixing. That immediate feedback was one of the big advantages of old combinators and was really helpful in learning how to use them, I'd imagine such a delay could really be confusing for somebody who's just starting to experiment with the circuit network.robot256 wrote: Sat Nov 09, 2024 10:06 pm I was able to reproduce this using just combinator clocks, so it has nothing to do with the accumulator (circuit signal values are always converted to integer before being sent along the wire anyways). What I found is not a functional error, but a visual one. In a multi-condition decider combinator, the input true/false visualization is updated immediately when the output state changes. But if the input signals causes some conditions to change state without affecting the decider output, then the visualization is delayed. This is either a minor bug or an intentional performance optimization.
In other words, in your video the "S < 60" comparison didn't update until it went down to 58 or up to 61 because that transition did not affect the decider's output. If you wait for it to go all the way down to 39, so that the "on" condition is tripped, and then all the way back up to 60 so that the "off" condition is tripped, I believe you will find the visualization updates immediately as you would expect.