Features of the lap counter software
In regards to the features implemented in the software I started by only looking at my own needs. In the beginning I didn't think of releasing it on the internet. Nevertheless I hope that in its current state the software is useful for others as well. The following list gives an overview over the major features and should help in finding out the usefulness for ones needs.
Displaying the number of laps and the lap time for each slot
This is the core functionality, so to speak. My software is counting laps in the range of 0 to 9999 and measures the lap time with a resolution of milliseconds. Besides the time of the last lap the fastest lap time and the average lap time can be displayed as well.
If the slot length is configured then also the average speed can be displayed either in km/h, mph or m/s.
In case the track has sector sensors the sector times can be displayed as well.
For the usage in hill climb tracks or drag strips it is also possible to configure separate start and end sensors.
Voice output (german only)
Especially when driving alone against the clock it is very useful to have the current number of laps and the last lap time told to you by the voice output feature of the software.
However, the way the voice output currently is only available in german language. If there is enough demand then I might create an english version as well.
Supports up to eight slots
The software can be used with race tracks with up to eight slots. Depending on your screen resolution it might be required to decrease the size of the slot display widgets to fit them all on your screen. This can be done in the display settings.
Configurable start-, end- and winning conditions
The start conditions can be configured in two ways. It is possible to use the start lights where all five are switched on one after the other and then, after a random time, they go out to signal the start. Or you can select the running start where the time measurement just starts when the sensor is first triggered.
The end of the race can be configured to either be "none", to a time limit in the range of 00:00:00 to 23:59:59 or to a lap limit between 1 and 9999. If the lap limit is used then it is also possible to end the race when the first car hit the lap limit or when all cars reached the lap limit and if the laps shall be counted up or down.
The conditions to decide on the winner can also be configured. The options range from first to reach the lap limit over best average lap time and closest to a specific target time to most constant lap times.
Many different race tracks can be configured and stored
It is possible to configure many different race tracks and switch between them very easily. This is especially useful when there is not a permanently installed race track but, e.g. due to space limitations, only a temporary one that is set up every now and then. In such a case there might be a few preferred layouts that one alternates between. Once configured the matching track settings can be selected with few mouse clicks and immediately the correct slot length and the right signals for detection and output are activated.
Different connection options
If you know the wiring of your sensor hardware to the parallel port of the PC you should be able to use any hardware using this port with my software. Once the correct settings of the parallel port are done the rest of the configuration is very user friendly using a configuration wizard guiding you through the process. Personally I use hardware build from the proposal from www.carrera4fun.de and it works perfectly for me. In theory it should also be possible to use hardware that is connected to the gameport or a serial port. If you use such hardware and you are willing to try getting it to work with my software then please let me know and I will support if I can.
The second option for connection to an analogue race track is hardware that is using the IO-Warrior. This is a chip designed for simple I/O from a PC using hardware connected to the USB port. For configuration it is only needed to select the right IO-Warrior type (currently supported are IO-Warrior24, IO-Warrior40, IO-Warrior56, IO-Warrior28 and IO-Warrior100). The rest of the configuration is again easy and user friendly guided by the configuration wizard.
As a third option for analogue tracks you can use the Light & Time AT-2560 time mesurement hardware which is also connected to the USB port. With this hardware the measuring of the lap times happens in the hardware itself. However, the configuration requires you to know which sensor pins are used in your setup. A detection via button press is unfortunately not possible with this hardware. The needed information can be found in the user manual of the hardware, though, so this should not be an issue.
If you are not sure if this software suits your needs you may want to check it out using the simulator mode. This can be activated in the menu and it offers a user interface to simulate the track sensors when a race is started. This way the whole functionality of the software can be used without the need to have the actual hardware available or connected.
Chaos button functionality
If there happens to be an accident on the track the race can be paused either by external chaos button (if available and configured) or using the menu option. When paused the sensor signals are ignored and the currently running lap is not counted. When the chaos button is pressed again the counting resumes once the start/finish sensor of each slot is triggered again.
The chaos phase can be signalled triggering external hardware like a blinking light.
Store the race as CSV-file
In order to do additional analysis or for archiving you can store the results of a race in a CSV-file which can be opened with any spreadsheet program. The file contains the race settings, the names of the drivers and cars and the individual lap times.
Detailed race overview after the race
What was the fastest lap, what was the slowest one? After a race you can answer these questions by opening the race summary. There you can e.g. sort the laps based on the time and also see information like the average time and you can trigger storage to the CSV-file.
List of fastest laps
If you enable the data storage then for each driver, car and slot combination the fastest ever lap time is stored. You can see there who was the fastest with which car on which slot or what was the fastest lap time of a specific car. Again, the data can be exported to a CSV-file from here.
Analogue fuel simulation
It is possible to simulate the fuel consumption of a car based on the lap time and thus simulate the fuel level left in a virtual fuel tank. The current fuel level can be shown on the slot display as a bar. Once the warning level is reached the bar will turn red. The consequences of running out of fuel can be configured. E.g. you can select to not count laps anymore when the fuel tank is empty or - if you have configured switchable track power control - to switch off the power or to make the car stutter.
Refueling can be done either by using the start/finish sensors or - if you have them on your track and configured them in the software - using separate sensors or even a refuel zone with begin sensor and end sensor.
Remote display via network
In my case the PC to which the track is connected to is in my back when driving. In order to still be able to see the displayed lap times in such a case I've added network connectivity to the software. It is possible to run a second instance of the software on a second computer connected via network and use this as a remote display. The instance on the second computer needs to be started with the command line parameter telling it the ip address of the server. This client display can then even be shut down remotely from the server instance.
Control of external start lights
If your track has start lights that are connected to the PC then it is also possible to trigger them in sync with the simulated start lights on the screen.
Select cars and drivers using QR codes
In order to make use of the data storage for fastest lap etc. it is required to add all cars and drivers to the database. As we all know the list of cars can get quite extensive and it is not always easy to quickly find the car that you just picked from the shelf in this long list. My solution to this problem is using QR codes and a web cam connected to the PC. The QR codes can be generated from my software and e.g. printed on a sticker that can be put on the bottom of the cars. You can then just press the camera symbol and hold the QR code in front of the camera to easily select the right car. The QR code functionality can also be used to select the drivers.