derby-timer Needs An Update
For several reasons, it's time to
update the implementation of derby-timer, the small java program that
talks to your track timer and to your DerbyNet server:
- There's too much custom code for each brand of timer.
- There are inconsistencies in the way each timer is supported.
- Java is less ubiquitously available than it used to be, and it's
important to be ready to support alternative technologies in future.
In particular, the new Web Serial API
may allow a browser to talk to the timer directly, over a serial port.
- The code base has grown organically over several years, and needs
an overhaul to make it smaller and simpler, while preserving functionality.
I have access to a couple of the most popular brands of pinewood derby timer, but
certainly not all. This testing work will be possible only with the help of
users like you.
The rewritten code is available for testing now: it
has been added to the most recent release derby-timer.jar, and can be
activated by a command line flag. We're asking for your help to try out the
new code with your timer.
Here's What To Do
Please download the latest version of
derby-timer.jar here,
and launch from the command line as follows:
java -jar derby-timer.jar -beta-test -simulate-host -lanes nlanes
... replacing nlanes with the number of lanes on your track.
Then please try the following:
- Check that derby-timer connects to the timer. If the timer is discoverable,
confirm that the timer is discovered automatically; otherwise, confirm that it
successfully connects to the timer.
- derby-timer will attempt to simulate a series of heats, including some in which
not all the track lanes have cars in them. Please operate your timer for these heats:
- close the starting gate;
- wait for the timer to reset (or reset it yourself if
that's what you would normally do);
- open the start gate;
- wave your hand across the finish line to simulate the end of the race;
- confirm that the finish times and/or places are reported as expected.
- Simulate some "did not finish" (DNF) cars for one or more heats: don't wave your hand
under one of the sensors, and wait for the results to become "overdue"
(about 10-11 seconds).
- Take notes, and send me your logs and observations (jeff@jeffpiazza.org). The "File" menu in derby-timer can show you where to find
the log files.
When the new code has received enough testing, there will be
another update to derby-timer, this time to use the new code by
default, with the legacy code available with a command line flag. At
some future time, the legacy code would then be retired.
Thank You!