layout graphik
 de 
layout graphik

Short description

The lap counting and timing software offered here is intended to be used with slot car tracks of all kind. It can either be connected to a Carrera Digital Control Unit using a USB-to-serial cable or it can get signals from any analogue slot car track using the parallel port of a PC or using a IO-Warrior based hardware via USB-port. It shows the current lap time. the number of laps, the fastest lap time, the average lap time and the speed. It has detection of an early start, the possibility to connect an external chaos button to pause an ongoing race, shows start lights on the display and can control external start lights. The conditions for starting of a race and for ending a race can be configured. There is also a fuel simulation for analogue race tracks that adds additional tactical aspects to a race.
There is also the possibility to connect a second PC via ethernet/Wifi to be used as a second display.
The software supports up to eight lanes per racetrack (depending on the screen resolution you might need to decrease the size of the track display widgets, though).
It also is possible to use voice output for number of laps driven and the lap time. However, this feature is currently only supporting german language voice output. Please let me know if there is a need to have the voice output in english as well.
Quick selection of the car and the driver is possible via QR code if a camera is connected to the PC.

Background

Why yet another lap counter software you might ask? The answer is simple: because it is fun! Of course there are plenty of similar programms out there which I could have used for my own slot car track. But for me this was a way too interesting project to not do it on my own.

Thus I just started one day to write some software. The requirements in the beginning were simple:

The first software was written using Visual C++ 6.0 and just fulfilled the above mentioned requirements. At some point I learned about the Qt Framework from Trolltech. And since I anyway wanted to extend the functionality of my software I started rewriting it based on QT and I'm extending it ever since.

Technology used

The current version is written in C++ and using the Qt Framework, the parallel port driver inpout32, which originates from logix4u and was enhanced by Phil Gibbons to support 64 bit and the IO-Warrior library from Code Mercenaries. For QR code processing the QZXing library is used.

The software runs on Windows7 (32Bit & 64Bit) and Windows 10 (23Bit & 64Bit) (Windows Vista and Windows XP should also still work, but I only have tested with the aforementioned versions). Windows 2000 was supported until version 2.2. For analogue race tracks the connection to the track sensors is done using a parallel port (the old 25 pin printer port) or using an IO-Warrior based hardware connected via USB. The connection to the control unit of a digital race track (currently only the Carrera system is supported) is done using a suitable cable that is either connected to the serial port of the PC or that is connected to the USB-port and offers a virtual serial interface. The configuration possibilities of the software generally should allow to use any type of wiring on the named connectors. And using the matching base address it is probably even working with serial ports and the gameport. But the latter two options I have not tested due to the lack of hardware. I would be very much interested in feedback if someone has tried those connectors and I'm glad to support if someone is willing to try them out.