Setting up a new race
CrossMgr races are stored in individual .cmn file. This is written to live as changes are made (eg. timings being recorded), in order to minimise the amount of data loss if the timing computer should crash or lose power. There is, perhaps unintuitively, no way to 'reset' a race once it has been started - you have to create a new race in a separate file.
A template file should be available with most of these settings already in place, but in the interests of completeness, here are the things to check before starting a race.
The first thing you'll see is the '1. Actions' tab, with a Big Friendly Button™ to start the race. Don't do this until the race is actually ready to start!
There's a 'Start Race Automatically at Future Time' tickbox. Leave this unticked (unless you're reading this in the future and the BHPC have learned to run to time).
Chip Timing Options should be set to 'Manual Start'
|
 |
Under the '10. Properties' tab, there are several sub-tabs, where all the important settings are found.
The first sub-tab is 'General Info'. The important fields are:
- 'Event Name' (subsequent races will be given a "-rn" suffix automatically)
- 'Race #' (should be different for each race).
- 'Date' and 'Scheduled Start' should be set correctly. It does not matter if the race is manually started at a slightly different time.
- 'Race Minutes' - this should initially be set to something significantly longer than the duration of a criterium race, in order to capture the slowest rider's final lap. You will adjust it later.
- 'Organizer' is the person who gets the credit/blame on the HTML output.
|
 |
'Race Options': For a criterium race, these should be set to:
- 'Time Trial' should be unticked.
- 'All Categories Finish After Fastest Rider's Last Lap' should be ticked.
- 'Set "Autocorrect Lap Data" option by Default' should be ticked.
- 'Show Times to 100s of a Second' should be ticked.
- 'Road Race Finish Times' should be unticked.
- 'Consider Riders in Spreadsheet to be DNS if no race data' should be ticked.
- 'Lap time for 80% rule' should be set to '2nd Lap Time'
- 'Distance Units' should be 'miles'
- 'Show Lap Notes, Edits and Projected Times in HTML Output' should be unticked.
- 'Show Course Animation in Html' should be ticked.
- 'Min Possible Lap Time' should be set to something reasonable for the course in use. This is important for filtering out spurious RFID tag reads, but should not be so long that the fastest rider's laps are missed. (If a rider is only getting every alternate lap recorded, you probably need to change this value.)
- 'Win and Out' should be unticked.
|
 |
On the 'RFID' sub-tab:
- Tick 'Use RFID Reader'
- Set 'Chip Timing Options' to 'Manual Start: Collect every chip. Does NOT restart race clock on first read.' (The first read as racers cross the start line will already be ignored due to the setting of the 'Min Possible Lap Time' value on the 'Race Options' sub-tab.)
|
 |
On the 'Web' sub-tab, you can set a contact email address (use compsec@bhpc.org.uk) and a small BHPC logo image as the 'Page Header Graphic'. |
 |
On the 'GPX' sub-tab you can import a .gpx or .kml file of the course being used for the race. If the track is a recording with timestamps and elevation data, this will be used to improve the realism of the animation.
Note the direction arrow on the image of the track, and use the 'Reverse Course Direction' button if necessary.
|
 |
Linking the sign-on spreadsheet
CrossMgr gets its list of riders (including their RFID tag number and category data) from an Excel spreadsheet. See Generating the sign-on spreadsheet for CrossMgr above.
In CrossMgr, under '10. Properties' there is a "Files/Excel" tab.
Click the "Link External Excel Sheet..." button.
|
 |
You will be prompted for the location of a file containing the rider information. (This is the one generated by the BHPC sign-on software, as described above.) Browse to the relevant file, and click "Next >" |
 |
You will then be asked to specify the sheet containing the information for this race. The drop-down will contain the names of all the available race sheets. Select the relevant sheet, and click "Next >" |
 |
You will be asked to specify the spreadsheet columns corresponding to CrossMgr's fields. There should be nothing to do here, as the spreadsheet columns will already have the correct names. (Note that we are currently using the 'Team' field in lieu of a 'Bike' field.)
Make sure the "Initialize CrossMgr Categories from Excel EventCategory/CustomCategory and Bib# columns" box is ticked, and click "Next >"
This causes CrossMgr to use the spreadsheet as its source of rider data. If the sheet is subsequently edited (eg. to reflect HPV changes between rounds), changes are reflected in CrossMgr.
|
 |
You should be presented with a summary of the process.
Somewhat confusingly, "Status: Success!" is followed by an "Errors: 'None'" textbox.
Click "Finish".
|
 |
CrossMgr's '9. Categories' tab should now be populated with a list of riders in each category.
There should be a single 'Start Wave' for 'Open' containing the numbers of everyone in the race, and a list of 'Custom' categories for the various BHPC classes, populated with the numbers of the relevant riders.
(For some reason the Gender field is sometimes incorrectly populated: This should be set to "Women" for the women's classes, and "Open" for all the others.)
|
 |
Linking to the RFID timing system
Before linking to the timing system and starting the race, it's a good idea to check that the system clock on the timing laptop is set to something reasonable. The clock can drift by a substantial amount if the laptop goes for long periods without power or access to an internet time server.
CrossMgr does not interface with the Impinj Speedway RFID hardware directly. Instead, a separate program "CrossMgrImpinj" is responsible for communicating with the reader (using TCP/IP, over Ethernet), and passing the tag read data to CrossMgr.
With the reader connected to the laptop (the Toshiba Tecra A9 currently being used by the BHPC for timing purposes has poor Windows 10 support for its onboard Ethernet, so a USB dongle is used) and powered up, start CrossMgrImpinj.
The reader should be specified by IP address, on 192.168.1.250. 'CrossMgr Address' should be set to 192.168.1.15 (the laptop's own IP address).
If communications with the reader are successful, the left hand pane should turn green. If communications with CrossMgr are successful (this only happens after you run the RFID test, see below), the right hand pane should turn green.
Note the tickboxes to enable/disable the antenna ports on the reader. Normally ports 1 and 2 should be enabled for trackside operation. Also note the 'ANT Reads' line giving a breakdown of the proportion of tag reads on each port - if tag reads are biased strongly towards one antenna, it may indicate a problem with a wiring.
|
 |
The Advances Reader Options should be set as follows:
- 'Report Method' should be set to 'Quad Regression', with sub-option 'Remove outliers' enabled. 'Antenna Choice' should be set to 'Max Signal dB'
- 'Tag Population' should be set to 16
- 'Transmit Power' and 'Receiver Sensitivity' can be left blank to use the default full power.
- 'Connection Timeout Seconds' should be set to 3
- 'Keepalive Seconds' should be set to 2
- 'Repeat Seconds' should be set to 3
- 'Beep on Read' can be ticked. Note that this just plays the default system bell sound, as configured in the Windows sound settings. Also note that QuadReg reads are only completed after the tag has passed the antenna, so several seconds lag is normal.
|
 |
Leaving CrossMgrImpinj running, go back to CrossMgr, and the 'RFID' sub-tab under '10. Properties'. Click on the 'Setup/Test Rfid Reader...' button.
- 'Accept RFID Reader Data During Race' should be ticked
- 'Reader Type' should be set to 'JChip/Impinj/Alien'
- 'Remote IP Address' should be set to 192.168.1.15 (the laptop's wired Ethernet address)
- 'Remote Port' should be set to 53135
Click the 'Start RFID Test' button. Communications should be established with CrossMgrImpinj, which will start forwarding tag reads as they happen.
If tags come up as "Bib=not found" this means CrossMgr does not have that tag number associated with a rider in the current race. This may be normal if other racers are hanging around near the finish line, and occasionally spare tags or items with compatible RFID tags built-in for retail purposes (eg. cycle helmets) may be within range.
If everything appears to be working properly, stop the RFID test, and you should be ready to start the race.
|
 |
Starting and Finishing the race
When everything is ready for the race to start, go to the '1. Actions' tab, and click on the Big Friendly Button™ to start the race. This does not start the race immediately - instead it pops up an OK/Cancel dialog box. When you click 'OK', the race clock starts running.
Finishing the race is done in the same way. Make sure that the last rider has finished their final lap before finishing the race.
|
 |
Once the race has finished, you can go back and adjust the Race Minutes (on the 'General Info' sub-tab) and Minimum Possible Lap Time (on the 'Race Options' sub-tab) to suitable values for the race as it happened: The duration should be the leader's last lap time, rounded up to the next whole minute. The minimum possible lap time can be set to slightly lower than the fastest recorded lap. These two changes will clear up most of the spurious data on the Results page.
Subsequent races can be created by selecting 'New Next...' from the 'File' menu. You will be prompted to make changes to the configuration, and a new file will be created for the next race.
Manual input and dealing with dodgy timing data
Times can be entered manually as described for time trial mode during the race (eg. in the event of a rider's tags not working).
Corrections to lap times, adding/removing splits etc can be done from the RiderDetail page. The usual problem is where a rider takes much longer to complete a lap for some reason (eg. they stop for a comfort break or to fix a dropped chain), and CrossMgr assumes that an RFID tag read (or manual time entry) has been missed. CrossMgr will normally add additional splits to try to maintain the rider's average lap times, which isn't always desirable.
The best approach is to keep a note of which riders stop and when during the race, to make sense of these events and apply suitable corrections retrospectively.
Riders who do not finish
CrossMgr supports several rider statuses other than the default 'Finisher'. For our purposes the most useful of these are:
- DNS - For riders in the sign-on list but Did Not Start the race, for whatever reason. If CrossMgr never sees their timing tag (or a manual time entry) riders are DNSed automatically.
- DNF - For riders who Did Not Finish the race, eg. due to mechanical failure or injury. If DNF riders are going to be allocated points (as is the BHPC way), it is essential to pass the results .xlsx file through the merge-o-matic tool, even if there is only one race in the round. (This gives the DNF riders a correct average speed for the entire race, rather than just for when they were riding.)
- NP - For riders whose race times are published but are Not Placed when points are allocated by SeriesMgr - useful for edge-cases where someone (or something) being timed in the race isn't participating in the BHPC championship.
Dealing with bike changes etc.
The 'racers' spreadsheet is a live document, and any changes made there are reflected in any CrossMgr races that link to it. Therefore this is where changes to rider/bike names, race numbers and categories should be made. (Note that you will have to manually duplicate any changes across the sheets for all races affected by them.)
Take particular care when adding/removing categories, as any typos will cause CrossMgr to create a new CustomCategory.
Publishing results
To get the race results out of CrossMgr, the 'Publish' feature is used.
Select 'Batch Publish Results' from the 'Publish' Menu.
The 'Html', 'Index Html' and 'Excel' formats should be selected, with the 'Ftp' boxes unticked for all options. 'BikeReg' should be set to 'None'.
Click 'Publish All'.
|
 |
An HTML file containing various visualisations of the race results should be written to the current directory.
There should also be an "index.html" file, containing links to the race. As you publish results of additional races, they will be added to this index.
These can be uploaded to the appropriate area of the BHPC website.
|
 |
The results should also be output to an Excel .xlsx file. This is the format required for merging results of multiple races before input to SeriesMgr (see below), and for input into the results section of the BHPC organisers' spreadsheet.
(Note that the results for each category appear in their own sheet.)
|
 |