|
Remote communicatie
protocol:
Aangepast 2008-09-06:
Beschreven wordt het remote communicatie protocol
dat wordt gebruikt voor data-communicatie tussen
- ETDriver -> ETWClock (E.T. Remote),
- ETDriver -> S.C.G. (Sport Computer Graphics)
- MicroClock + ETWClock -> S.C.G. (Sport Computer
Graphics)
NB:
Op historische gronden worden nog twee oudere remote communicatie
interfaces ondersteund, die hier niet worden beschreven. Het is
aan te bevelen alleen het hier beschreven nieuwste format te gebruiken.
Frame
definitie van het protocol, standaard:
| Fieldname: |
Length: |
Position: |
Format: |
| STX |
1 |
1 |
03-hex |
| Mode |
1 |
2 |
'0' or '1' |
| PassageIndex[Wh/Yw] |
2 |
3 |
'99' |
| StartNr[Wh/Yw] |
3 |
5 |
'999' |
| Time[Wh/Yw] |
7 |
8 |
'5959999' |
| LapTime[Wh/Yw] |
3 |
15 |
'599' |
| PassageIndex[Rd/Bl] |
2 |
18 |
'99' |
| StartNr[Rd/Bl] |
3 |
20 |
'999' |
| Time[Rd/Bl] |
7 |
23 |
'5959999' |
| LapTime[Rd/Bl] |
2 |
30 |
'599' |
| ETX-1 |
1 |
32 |
0D-hex |
| ETX-2 |
1 |
33 |
0A-hex |
| ETX-3 |
1 |
34 |
04-hex |
Frame
definitie van het protocol, vanaf versie 12.22, optie Xmit(Speed)
aan:
Noot 1):
Dit protocol is uitsluitend van toepassing op het remote-echo frame
en werkt uitsluitend in combinatie met de MicroClock en/of AMB decoders.
Het protocol is identiek aan het standaard-protocol, met uitzondering
van de toevoeging van de snelheidsinformatie.
Noot 2)
: De fields Speed[] beschrijven de snelheid in Km/uur in 1 decimaal,
zonder decimaalpunt. Dus 69.9 Km/uur wordt gecodeerd als 699. Deze
fields kunnen geblankt zijn in de vorm van 3x space, indien geen
snelheid bekend is of deze buiten de geldige range valt.
Noot 3):
De fields SpeedLoopIndex[] verwijzen naar de laatst gedetecteerd
AMB looppositie. Dus AMBLoop[3] wordt gecodeerd als '03'. SpeedLoopIndex[]
gaat niet mee in de blanking als de snelheid buiten de range valt.
Sinds versie 12.22 omvat de SpeedLoopIndex[] 2 posities, ter ondersteuning
van 12 lussen in Thialf.
| Fieldname: |
Length: |
Position: |
Format: |
| STX |
1 |
1 |
03-hex |
| Mode |
1 |
2 |
'0' or '1' |
| PassageIndex[Wh/Yw] |
2 |
3 |
'99' |
| StartNr[Wh/Yw] |
3 |
5 |
'999' |
| Time[Wh/Yw] |
7 |
8 |
'5959999' |
| LapTime[Wh/Yw] |
3 |
15 |
'599' |
| PassageIndex[Rd/Bl] |
2 |
18 |
'99' |
| StartNr[Rd/Bl] |
3 |
20 |
'999' |
| Time[Rd/Bl] |
7 |
23 |
'5959999' |
| LapTime[Rd/Bl] |
2 |
30 |
'599' |
| SpeedLoopIndex[Wh] |
2 |
33 |
'99' |
| Speed[Wh] |
3 |
35 |
'700' |
| SpeedLoopIndex[Rd] |
2 |
38 |
'99' |
| Speed[Rd] |
3 |
40 |
'700' |
| ETX-1 |
1 |
43 |
0D-hex |
| ETX-2 |
1 |
44 |
0A-hex |
| ETX-3 |
1 |
45 |
04-hex |
Frame
definitie van het protocol, vanaf versie 15.01, optie Xmit(Dist+Pair)
aan:
Noot 1):
Dit protocol is uitsluitend van toepassing op het remote-echo frame
en werkt uitsluitend in combinatie met de MicroClock en/of AMB decoders.
Het protocol is identiek aan het standaard-protocol, met uitzondering
van de toevoeging van de snelheidsinformatie en afstandsnummer en
paarnummer informatie.
Noot 2)
: Het field DistNr[] beschrijft het volgnummer van de afstand in
2 cijfers (00..99). Dit field kan geblankt zijn in de vorm van 2x
space, indien geen afstandsnummer bekend is of deze buiten de geldige
range valt.
Noot 3):
Het field PairNr[] beschrijft het paarnummer in 3 cijfers (000..999).
Dit field kan geblankt zijn in de vorm van 3x space, indien geen
paarnummer bekend is of deze buiten de geldige range valt.
| Fieldname: |
Length: |
Position: |
Format: |
| STX |
1 |
1 |
03-hex |
| Mode |
1 |
2 |
'0' or '1' |
| PassageIndex[Wh/Yw] |
2 |
3 |
'99' |
| StartNr[Wh/Yw] |
3 |
5 |
'999' |
| Time[Wh/Yw] |
7 |
8 |
'5959999' |
| LapTime[Wh/Yw] |
3 |
15 |
'599' |
| PassageIndex[Rd/Bl] |
2 |
18 |
'99' |
| StartNr[Rd/Bl] |
3 |
20 |
'999' |
| Time[Rd/Bl] |
7 |
23 |
'5959999' |
| LapTime[Rd/Bl] |
2 |
30 |
'599' |
| SpeedLoopIndex[Wh] |
2 |
33 |
'99' |
| Speed[Wh] |
3 |
35 |
'700' |
| SpeedLoopIndex[Rd] |
2 |
38 |
'99' |
| Speed[Rd] |
3 |
40 |
'700' |
| DistanceNr |
2 |
43 |
'99' |
| PairNr[WhRd/YwBl] |
3 |
45 |
'999' |
| ETX-1 |
1 |
48 |
0D-hex |
| ETX-2 |
1 |
49 |
0A-hex |
| ETX-3 |
1 |
50 |
04-hex |
Vanaf
versie 15.04 is op positie 48 1 ASCII teken toegevoegd om de Live
Stream status aan te geven:
0
= Live stream off-line
1
= Live stream standby (waarschuwing pop-up bij start)
2
= Live stream actual
| Fieldname: |
Length: |
Position: |
Format: |
| STX |
1 |
1 |
03-hex |
| Mode |
1 |
2 |
'0' or '1' |
| PassageIndex[Wh/Yw] |
2 |
3 |
'99' |
| StartNr[Wh/Yw] |
3 |
5 |
'999' |
| Time[Wh/Yw] |
7 |
8 |
'5959999' |
| LapTime[Wh/Yw] |
3 |
15 |
'599' |
| PassageIndex[Rd/Bl] |
2 |
18 |
'99' |
| StartNr[Rd/Bl] |
3 |
20 |
'999' |
| Time[Rd/Bl] |
7 |
23 |
'5959999' |
| LapTime[Rd/Bl] |
2 |
30 |
'599' |
| SpeedLoopIndex[Wh] |
2 |
33 |
'99' |
| Speed[Wh] |
3 |
35 |
'700' |
| SpeedLoopIndex[Rd] |
2 |
38 |
'99' |
| Speed[Rd] |
3 |
40 |
'700' |
| DistanceNr |
2 |
43 |
'99' |
| PairNr[WhRd/YwBl] |
3 |
45 |
'999' |
| cmbLiveStream |
1 |
48 |
'0', '1', '2' |
| ETX-1 |
1 |
49 |
0D-hex |
| ETX-2 |
1 |
50 |
0A-hex |
| ETX-3 |
1 |
51 |
04-hex |
Mode:
Ter ondersteuning
van kwartetstarts zijn de frames voor het oneven paar (Wh/Rd) en
even paar (Yw/Bl) apart en zijn daarmee asynchroon gescheiden. Het
is dus mogelijk om of alleen de frames van het oneven paar of alleen
de frames van het even paar of beide frames gemixed te versturen.
Middels
het mode-byte wordt aangegeven of het betreffende frame het oneven
of het even paar betreft.
- oneven paar: mode = '0'
- even paar: mode = '1'
Blanking:
De fields
Time[] en LapTime[] worden afhankelijk van de toestand gedeelte
voorzien van blanking karakters in de vorm van spaties.
De blanking
condities zijn de volgende:
- In de eerste minuut wordt het minutenveld '00'
geblankt.
- Als de klok loopt worden de 1/100s, 1/1000s
en de rondetijd (LapTm[]) geblankt.
- Als de klok van de binnenbaan en de klok van
de buitenbaan beide lopen, wordt de tijd van buitenbaan in zijn
geheel geblankt (Time[] en LapTime[])
Transmissieinterval
1 seconde of 0.1 seconde:
Het transmissieinterval
van de frames kan ofwel 1x per seconde (1Hz) bedragen, ofwel 1x
per 100ms (10Hz) zijn.
In geval
van 1Hz transmissie, worden start- en finish events asynchroon direct
verzonden. Lopende frames worden altijd afgemaakt en nooit afgebroken.
In geval
van 10Hz transmissie, worden start- en finish events niet asynchroon
verzonden, maar verwerkt in het eerst volgende 100ms transmissieinterval.
PassageIndex:
De PassageIndex[]
telt op, beginnende bij '00' voor de eerste doorkomst. Als de klok
loopt verwijst PassageIndex naar de eerst volgende passage. Als
de klok vast staat verwijst PassageIndex naar de bijbehorende actuele
doorkomst.
Voorbeelden
van de diverse condities:
Voorbeeld
parameters:
Oneven
paar,
Passage[Wh] = (24),
StartNr[Wh ]= (002),
Time[Wh] = (13:24.675),
Lap[Wh] = (33.1),
Passage[Wh] = (24),
StartNr[Wh] = (098),
Time[Wh] = (13:21.760),
Lap[Wh] = (32.3)
NB:
Onderstaand worden spaties afgebeeld als "#" en worden
de verschillende STX en ETX codes afgekort als "S" en
"E"!
Passage
binnenbaan en passage buitenbaan:
01234567890123456789012345678901234
S0240021324675331240981321760323EEE
Passage
binnenbaan (1s interval):
01234567890123456789012345678901234
S0240021324675331240981321######EEE
Passage
binnenbaan (0.1s interval):
01234567890123456789012345678901234
S02400213246753312409813217#####EEE
Passage
buitenbaan (1s interval):
01234567890123456789012345678901234
S0240021324######240981321760323EEE
Passage
buitenbaan (0.1s interval):
01234567890123456789012345678901234
S02400213246#####240981321760323EEE
Lopende
tijd (binnenbaan en buitenbaan (1s interval)):
01234567890123456789012345678901234
S0240021324######24098##########EEE
Lopende
tijd (binnenbaan en buitenbaan (0.1s interval)):
01234567890123456789012345678901234
S02400213246#####24098##########EEE
|