The host computer race management program is an optional component that can interface with the control modules through a communications hub. Refer to the control unit documentation for the command set that it understands.

interface connections

downstream: host computer --> DB9 male --> (standard DB9 extension cable) --> DB9 female --> communications hub

downstream to communications hub

DB9 male

  1. NC
  2. RXD
  3. TXD
  4. NC
  5. GND
  6. NC
  7. NC
  8. NC
  9. NC

host computer race management program

The race management program runs on the host computer. A host computer is not necessary if only one detector unit is used because those units are capable of stand-alone operation.

This program runs a controller protocol over RS232 (through the communications hub) to poll data from the polling detector modules. Scoring is done based on reported race results.

Here is an early developmental screenshot. Another screenshot captured during debugging.

source code

snapshot (April 16, 2004) - pre-initializes with debugging pool, no serial port communications

data file formats

The following data formats are concatenated to form the data file:

  • mapping between car id and name
  • state data

An example data file may be found here. Another example data file used for debugging.

id to name mapping

<id>, <name><newline>
-----

(<id>, <name>) pairs are delimited by <newline>. <id> is an integer, <name> is anything that follows the comma after <id>. Note that the "-----" separator is necessary to signal the beginning of the next section.

state data

State data has the following sections:

  • pool
  • score
  • sel1
  • sel2
  • track1score
  • track2score
  • -----

A section is identified by the section name, and is followed by a list of section data. Sections are separated by "-----". These sections are concatenated together to store multiple levels of undo/redo. The last section does not have the "-----" separator.

pool
<id> <times used><newline>
score
<id> <score> <score 1> ... <score n><newline>
sel1
<id><newline>
sel2
<id><newline>
track1score
<id> <placement><newline>
track2score
<id> <placement><newline>
-----