For organizers
Use Rally Clock for as much or as little of your event as you like. It works for one volunteer on their own phone, and it scales to every control on every stage, with the logs rolling up to scoring.
As much or as little as you like
- One control. A volunteer puts Rally Clock on their own phone and times a flying finish. No event setup or network is needed: they set the clock, fill in Setup, and capture. At the end they hand the log over or send it.
- One stage. The start, flying finish and stop share one main clock, copied before they head out, so their times agree. The stop types in the finish times relayed from the flying finish, and at the end every control hands its log to the sweep car.
- The whole event. You fill in the event's setup once, with every control on every stage. Course cars hand it out, and each volunteer picks their control from a list. Sweep cars collect the logs and hand them on to HQ, where the Review screen shows which controls are short and by which cars, and the logs go on to scoring.
Rally Clock collects the data; it doesn't score. Each control records its own times, and scoring works from the logs.
Write the event's setup
A setup is a short text file: the event's name and its list of controls, with the internet time server and the gap between cars at start controls. Volunteers never type any of it: they pick their control off a list. The easiest way to write one is to start from the example and edit it in any text editor.
The example: NitroCat Rally
A whole day for a made-up event: an MTC Out, four stages (SS1 to SS4) each with an ATC, Start, Flying Finish and Stop, a Regroup In and Out after SS2, a Service In and Out after SS3, and Rally HQ. That's 22 controls, with the time from pool.ntp.org and cars a minute apart.
Show the example
{
"p": "rallyclock",
"v": 1,
"t": "config",
"event": "NitroCat Rally",
"timeServer": "pool.ntp.org",
"startGapSeconds": 60,
"startInterval": 1,
"controls": [
{
"control": "MTC Out",
"role": "mainTimeControlOut"
},
{
"control": "ATC",
"stage": "SS1",
"role": "arrivalTimeControl"
},
{
"control": "Start",
"stage": "SS1",
"role": "stageStartControl"
},
{
"control": "Finish",
"stage": "SS1",
"role": "flyingFinish"
},
{
"control": "Stop",
"stage": "SS1",
"role": "stopControl"
},
{
"control": "ATC",
"stage": "SS2",
"role": "arrivalTimeControl"
},
{
"control": "Start",
"stage": "SS2",
"role": "stageStartControl"
},
{
"control": "Finish",
"stage": "SS2",
"role": "flyingFinish"
},
{
"control": "Stop",
"stage": "SS2",
"role": "stopControl"
},
{
"control": "Regroup In",
"role": "regroupingControl"
},
{
"control": "Regroup Out",
"role": "regroupOut"
},
{
"control": "ATC",
"stage": "SS3",
"role": "arrivalTimeControl"
},
{
"control": "Start",
"stage": "SS3",
"role": "stageStartControl"
},
{
"control": "Finish",
"stage": "SS3",
"role": "flyingFinish"
},
{
"control": "Stop",
"stage": "SS3",
"role": "stopControl"
},
{
"control": "Service In",
"role": "serviceControl"
},
{
"control": "Service Out",
"role": "serviceOut"
},
{
"control": "ATC",
"stage": "SS4",
"role": "arrivalTimeControl"
},
{
"control": "Start",
"stage": "SS4",
"role": "stageStartControl"
},
{
"control": "Finish",
"stage": "SS4",
"role": "flyingFinish"
},
{
"control": "Stop",
"stage": "SS4",
"role": "stopControl"
},
{
"control": "Rally HQ",
"role": "other"
}
]
}
What's in a setup
| Field | What it is |
|---|---|
"p": "rallyclock""v": 1"t": "config" | Mark the text as a Rally Clock setup. Leave them as they are. |
event | The event's name, shown on every device. |
timeServer | Optional. The internet time server that Set clock asks. Leave it out for the usual one, pool.ntp.org. |
startGapSeconds | Optional. The gap between cars at start controls, in seconds. |
startInterval | Optional. The same gap in whole minutes, read only by older versions of the app. If you change the gap, change this too, or delete it. |
controls | The list of controls. Each has a control name, a stage (leave it out for a control that isn't on a stage, such as MTC Out or Rally HQ) and a role, the kind of control. |
The roles, and how the app shows them:
role | Shown as |
|---|---|
stageStartControl | Start Control |
flyingFinish | Flying Finish |
stopControl | Stop Control (FTC) |
arrivalTimeControl | Arrival Time Control (ATC) |
mainTimeControl | Main Time Control In (MTC) |
mainTimeControlOut | Main Time Control Out (MTC) |
regroupingControl | Regroup In |
regroupOut | Regroup Out |
serviceControl | Service In |
serviceOut | Service Out |
observationControl | Observation Control |
passageControl | Passage Control |
technicalZone | Technical Zone |
tireFittingZone | Tire Fitting Zone |
other | Something else |
Volunteers see each control as its stage and name, such as "SS1 · Start", so give every control a stage and name that tell it apart. A control with no name is skipped, and a role the app doesn't know becomes an ATC, so check the spelling.
Share it
First get the setup onto one device, the course car's or your own: open Setup, tap Get setup from the event, then Paste a setup instead, paste the whole file and tap Use it. Then pass it on, either way:
- Over Wi-Fi or a hotspot: on the same screen, under Pass it on, turn on Hand this setup out. Devices on the same Wi-Fi or hotspot can take a copy. This suits a course car with a travel router or a hotspot.
- As text: tap Send the setup to email or message it, or Copy it to paste it anywhere. Volunteers paste it into their own app.
On each volunteer's device
- Open Setup and tap Get setup from the event.
- Tap Get it beside the course car, or tap Paste a setup instead, paste the setup you were sent and tap Use it.
- Pick your control from the list.
Nothing changes until you pick. A setup sets the event, the control, the time server and the gap between cars. It never touches the clock, the log, or the worker's own name and phone.
Collecting the logs
Sweep cars and HQ turn on Collect logs, and each control hands its log over. Handing over logs has the steps.