Super timer II support. Fixes #206
This is an implementation of the SuperTimer II interface to work with DerbyNet. We ran at least 1 race (26 heats) with it and I fixed the couple issues that cropped up during the race.
I had to add a couple of odd quirks to handle SuperTimer since it only reports times it sees (DNFs are un-reported), and it also reports them on multiple lines. For this I added a partial lane result handling that joins two events. for the DNFs, I added a 'NO_MORE_RESULTS' event that will go through and post all un-marked lanes as a DNF time.
I also added support for a timer to control the post race/heat start timeout since this timer can control the timeout. I could not figure out how to integrate sending the command back to the timer to get it to update the track timeout with the webUI, but most of the logic is there in the HeatPreparation.
Fixes #206
I've tested the new derby-timer.jar and can confirm that the Super Timer II was properly auto-detected and is registering the times. We just had our Pinewood Derby last weekend and the software our Scout Pack was using (RaceManager) looked challenging. Looking forward to using DerbyNet next year!
Glad to hear your testing went well! I definitely found Race Manager challenging as well... Let me know if you end up doing more testing and find any issues. If this PR gets merged, feel free to tag me on the issue if related to SuperTimer.
I have a pinewood derby coming up in a few weeks with a SuperTimer II, would be happy to test your latest, as I really do not want to use the Racemanager. I have used Derbynet for our previous derbymagic track and would rather not go backwards!
Try downloading https://derbynet.org/download/jars/supertimer.jar, at least until we figure out how to merge the pull request.