- Overview of the train benchmarking system
- OverviewTrainCounter.jpg (340.83 KiB) Viewed 15349 times
Theory of operation
There are a few moving parts to this, although the overall concept is pretty simple. The track is a 100-tile (50-rail-piece) loop with a counter and timers.
A) is the reset mechanism. The original form was awkward manual-reset by the rightmost constant combinators: 1=run; 0=stop (on/off). This provided difficult to use for timing tests though, so I added the other part. It is now a set/hold reset signal. The player must stand on the gate, and then turn the combinator besides the gate on and off. This will hold the reset signal until the gate is released, but not re-engage it accidentally. Thus, you can start the counter when you enter the train, without risking reseting and losing all your data if you walk in the wrong direction later.
B) is the train detector. The pair of lights runs an RS latch -- I'm pretty sure I don't actually need it, but I didn't want to break the working tool.
C) takes a derivative, selects positive values, and then integrates it. In other words, every time the train goes by it will emit a 1-tick pulse, and then count that pulse. The output from the bottom combinator is the transit-count.
D) is a series of "is lapcount less than" tests. They output a signal until the total lapcount exceeds the threshold, and are set 1,2,3,....10.
E) is a visual display of (D). Reading the lap-count is quite difficult when in a train going at 0.8 laps/second, so the visual feedback of lights going on is nice.
F) is the integrators. I used arithmetic multiplication-type integrators, to make it easy to reset. This counts how many ticks the corresponding (D) test has been enabled for -- an elapsed time.
G) is a (* -1) array. Controlled by (H), it passes the previous result forwards, allowing for total or per-lap times.
H) is the control for difference mode. When off, the displays output the total tick count until that lap is complete. When on, the displays output ticks between last lap and this one.
If anyone wants to use this sort of scheme to do some of their own benchmarking, here's a blueprint string for it.- Annotated detail of the train benchmarking circuitry
- AnnotatedTrainCounter.jpg (268.9 KiB) Viewed 15349 times
A) is the reset mechanism. The original form was awkward manual-reset by the rightmost constant combinators: 1=run; 0=stop (on/off). This provided difficult to use for timing tests though, so I added the other part. It is now a set/hold reset signal. The player must stand on the gate, and then turn the combinator besides the gate on and off. This will hold the reset signal until the gate is released, but not re-engage it accidentally. Thus, you can start the counter when you enter the train, without risking reseting and losing all your data if you walk in the wrong direction later.
B) is the train detector. The pair of lights runs an RS latch -- I'm pretty sure I don't actually need it, but I didn't want to break the working tool.
C) takes a derivative, selects positive values, and then integrates it. In other words, every time the train goes by it will emit a 1-tick pulse, and then count that pulse. The output from the bottom combinator is the transit-count.
D) is a series of "is lapcount less than" tests. They output a signal until the total lapcount exceeds the threshold, and are set 1,2,3,....10.
E) is a visual display of (D). Reading the lap-count is quite difficult when in a train going at 0.8 laps/second, so the visual feedback of lights going on is nice.
F) is the integrators. I used arithmetic multiplication-type integrators, to make it easy to reset. This counts how many ticks the corresponding (D) test has been enabled for -- an elapsed time.
G) is a (* -1) array. Controlled by (H), it passes the previous result forwards, allowing for total or per-lap times.
H) is the control for difference mode. When off, the displays output the total tick count until that lap is complete. When on, the displays output ticks between last lap and this one.
blueprint
FOR SCIENCE!Code: Select all
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
Vpsy/zL9KvPFv4bk0uKAZQAA
