0% found this document useful (0 votes)
430 views

Multiloop Timing Protocol

The document summarizes the Multiloop Timing Protocol (v1.3) which defines the format for messages exchanged to provide timing and scoring information during an event. Messages start with a header and fields are separated by a broken bar character. There are four levels of commands with level 1 being sent every second and level 4 at the lowest rate. Example message formats are provided for different command types like heartbeat, lap/section results, line crossings, flags, and leader changes.

Uploaded by

gi1980
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
430 views

Multiloop Timing Protocol

The document summarizes the Multiloop Timing Protocol (v1.3) which defines the format for messages exchanged to provide timing and scoring information during an event. Messages start with a header and fields are separated by a broken bar character. There are four levels of commands with level 1 being sent every second and level 4 at the lowest rate. Example message formats are provided for different command types like heartbeat, lap/section results, line crossings, flags, and leader changes.

Uploaded by

gi1980
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Multiloop Timing Protocol (v1.

3)

Record Specification
Message description: Every message starts with a header (see description below) and ends with CR/LF. Inside the message, the fields are separated by a "broken bar" symbol 0xA6 (no to be confused with the pipe symbol 0x7C). The length of a message is not defined and can therefore be more than 256 characters. Header description: The header starts with a $ character. The $ character can be replaced with another character (user definable). The general structure of the header is as follows:
<SOR><Command><Sep><Type><Sep><Seq. num><Sep><Preamble><Sep> rest of the record <EOR>

where: Item <SOR> <Command> <Sep> <Type> Description Start of record Command Separator The type of record Comment Default value: $ See below Broken bar: | (Hexadecimal: 0xA6) N = new R = repeated U = updated Unique identifier per type of command record (Hex chars). User definable (linked to a run) CR/LF (Hexadecimal: 0x0D 0x0A)

<Seq. num> <Preamble> <EOR>

The sequence number The preamble End of record

Sample: $H|N|4F3A|CP01| rest of the record <EOR>

Ascii representation: Ascii $ CR LF | Decimal 36 13 (carriage return) 10 (line feed) 166 Hexadecimal 0x24 0x0D 0x0A 0xA6

Multiloop Timing Protocol (v1.3)


Levels and command description: The message commands can be divided into four levels. Level 1 2 Command H C S L I F N C S I F E R T A V Description Heartbeat, race status, time and time of day information. Completed lap results. Section information. Line crossing message. Invalidated lap information. Flag information. New leader. Completed lap results of all competitors (repeated). Section information of all competitors (repeated). Invalidated lap information (repeated). Flag information (repeated). Current entry information. Current run information. Current track / section information. Announcement information. Version stream information.

Frequency of the commands: Level 1 2 3 4 Description Sent every second. Event driven messages. Sent every result update (only results that have changed are sent). Sent at a lower rate (constant update of all results for new clients). Sent at the lowest rate (refresh of track / section / entry information / announcement information for new clients).

The repetition rate of all repeatable messages is adjustable.

Multiloop Timing Protocol (v1.3)


Description of the packet sequence number scheme: The sequence number is a unique identifier per type of command record. The sequence number doesnt necessarily start at 1 (e.g. it doesnt always represent the number of records send). An update or repeat will contain the exact same sequence number as the record that was first send. The sequence number will be reset if it reached FFFFF (hex). Command H E C S L I F N R T A V UniqueID explanation Represent the number of heartbeats send (starts at 1, increased by 1) Result ID, unique identifier per result per run Result ID (first two bytes) + Lapnumber (last two bytes) Result ID (first two bytes) + Section ID (last two bytes) Equal to the Passing ID in the Datamanager-Interface Equal to the Passing ID in the Datamanager-Interface Represents the number of flagchanges Represents the number of leadchanges Equal to the Run ID in the Datamanager Interface Equal to the Track ID in the Datamanager Interface Announcement-number in order of creation per run Always 1

Multiloop Timing Protocol (v1.3) Level description:


Level 1
$H Heartbeat message Fieldname Track Status Data description G, Y, R, W, K, U, C Comments G Green Y Yellow R Red W White K Checkered U Unflagged (warm-up or pacelaps) C Cold (between sessions). Time in seconds since 1/1/70 Time in milliseconds (hex chars). Time in milliseconds (hex chars)

Time / Date Elapsed Time Laps to go Time to go Frequency: Sample:

0 FFFFFFFF 0 FFFFFFFF 0 FFFF 0 FFFFFFFF

Every second. <Header>G|BC6AD080|4CAD63|91|B837C Fieldname Track Status Time/Date Elapsed Time Laps to go Time to go String part G BC6AD080 4CAD63 91 B837C Data Green flag 1/3/2000, 12:00 01:23:45.123 145 00:12:34.556

The heartbeat record will be sent (approximately) every second thus interleaving the other (repeating) records.

Multiloop Timing Protocol (v1.3)

Level 2
$C Completed lap results. Fieldname Rank Number Unique identifier Completed laps Elapsed time Last laptime Lap status Fastest laptime Fastest lap Time behind leader Laps behind leader Time behind prec Laps behind prec Overall rank Overall best laptime Current status Track Status Data description 1 FFFF characters 0 FFFF 0 FFFF 0 FFFFFFFF 0 FFFFFFFF T, P 0 FFFFFFFF 0 FFFF 0 FFFFFFFF 0 FFFF 0 FFFFFFFF 0 FFFF 0 FFFF 0 FFFFFFFF characters G, Y, R, W, K, U Comments 4 characters maximum. A unique identification number. Number of completed laps. Elapsed time in milliseconds (hex chars) Time in milliseconds (hex chars) Indicates where the lap was completed T = Track, P = Pit lane. Time in milliseconds (hex chars) Time in milliseconds (hex chars) Time in milliseconds (hex chars) behind preceding car. Laps behind preceding car. Rank of car in all sessions of this type. Time in milliseconds (hex chars) Active, In pits, DNS, Contact, Mechanical, etc. G Green Y Yellow R Red W White K Checkered U Unflagged (warm-up or pacelaps) Number of pitstops in this session Lap number the car last pitted. Starting position of the car. Number of laps this car was the race leader. 0 for non-race sessions.

Pit stop count Last pitted lap Start position Laps led

0 FFFF 0 FFFF 0 FFFF 0 FFFF

Frequency:

Each completed lap (repeated e.g. every 30 seconds).

Multiloop Timing Protocol (v1.3)

Sample:

<Header>12|01|E7|4CAD63|11A99|T|11A99|23|6358|1E| 4D2|0|12|11A99|Active|G|2|45|10|0 Fieldname Rank Number Unique ID Completed laps Elapsed time Last laptime Lap status Best laptime Best lap Time behind leader Laps behind leader Time behind prec Laps behind prec Overall rank Overall best laptime Current status Track Status Pit stop count Last pitted lap Start position Laps led String part 12 01 469D E7 4CAD63 11A99 T 11A99 23 6358 1E 4D2 0 12 11A99 Active G 2 45 10 0 Data 18 01 18077 231 01:23:45.123 00:01:12.345 Completed on track 00:01:12.345 35 00:00:25.432 30 00:00:01.234 0 18 00:01:12.345 Active Green 2 69 16 0

$S Completed section results. Fieldname Number Unique identifier Section identifier Elapsed time Last section time Last lap Frequency: Sample: Data description characters 0 FFFF characters 0 FFFFFFFF 0 FFFFFFFF 0 FFFF Comments 4 characters maximum. A unique identification number. 3 characters maximum. Time in milliseconds (hex chars) Time in milliseconds (hex chars) Lap for the last section time.

Each completed section (repeated e.g. every 30 seconds). <Header>01|469D|PIT|6458|761A|B5 Fieldname Number Unique identifier Section identifier Elapsed time Last section time Last lap String part 01 469D PIT 6358 761A B5 Data 01 18077 PIT 00:00:25.432 00:00:30.234 181

Multiloop Timing Protocol (v1.3)


$L Line crossing information. Fieldname Number Unique identifier Time line Source Data description characters 0 FFFF characters A, M, P Comments 4 characters maximum. A unique identification number. 4 characters maximum A Antenna M Manual P Photocell Time in milliseconds (hex chars) G Green Y Yellow R Red W White K Checkered U Unflagged (warm-up or pacelaps) Indicates where the line crossing was: T = Track, P = Pit lane.

Elapsed time Track Status

0 FFFFFFFF G, Y, R, W, K, U

Crossing status

T, P

Frequency: Sample:

Each line crossing. <Header>01|469D|SF|A|4CAD63|G|T Fieldname Number Unique identifier Time line Source Elapsed time Track status Crossing status String part 01 469D SF A 4CAD63 G T Data 01 18077 Start Finish Antenna 01:23:45.123 Green Track

$I Invalidated lap information. Fieldname Number Unique identifier Elapsed time Frequency: Sample: Data description characters 0 FFFF 0 FFFFFFFF Comments 4 characters maximum. A unique identification number. Time in milliseconds (hex chars)

Each invalidated lap (repeated e.g. every 30 seconds). <Header>01|469D|4CAD63 Fieldname Number Unique identifier Elapsed time String part 01 469D 4CAD63 Data 01 18077 01:23:45.123

Multiloop Timing Protocol (v1.3)

$F Flag information. Fieldname Track Status Data description G, Y, R, W, K, U Comments G Green Y Yellow R Red W White K Checkered U Unflagged (warm-up or pacelaps) Lap number of the track status change Time in milliseconds (hex chars) Number of completed green laps. Time in milliseconds (hex chars) Number of completed yellow laps. Time in milliseconds (hex chars) Count of unique yellow periods. Car number of the leader of this time. Number of times the lead has changed. Distance / time for the current leader

Lap number Green time Green laps Yellow time Yellow laps Red time Number of yellows Current leader Number of lead changes Average race speed Frequency: Sample:

0 FFFF 0 FFFFFFFF 0 FFFF 0 FFFFFFFF 0 FFFF 0 FFFFFFFF 0 FFFF characters 0 FFFF characters

Each track status change (repeated e.g. every 20 seconds). <Header>Y|6F|4CAD63|B4|6358|13|4D2|4|01|5|130.456 Fieldname Track status Lap number Green Time Green Laps Yellow Time Yellow Laps Red Time Number of yellows Current leader Number of lead changes Average race speed String part Y 6F 4CAD63 B4 6358 13 4D2 4 01 5 130.456 Data Yellow flag 111 01:23:45.123 180 00:00:25.432 19 00:00:01.234 4 01 5 130.456 mph

$N New leader information. Fieldname Number Unique identifier Lap number Elapsed time Lead change index Frequency: Data description characters 0 FFFF 0 FFFF 0 FFFFFFFF 0 FFFF Comments 4 characters maximum. A unique identification number. Lap number of the leader change Time in milliseconds (hex chars) Nth leader change during the session.

Each time a leader change occurs.

Multiloop Timing Protocol (v1.3)


Sample: <Header>01|469D|45|4CAD63|20 Fieldname Number Unique identifier Lap number Elapsed time Lead change index String part 01 469D 45 4CAD63 20 Data 01 18077 69 01:23:45.123 32

Level 3
$C Completed lap results. See level 2 definition. $S Completed section results. See level 2 definition. $F Flag information. See level 2 definition.

Level 4
$E Entry information. Fieldname Data description Number characters Unique identifier 0 FFFF Driver name characters Start position 0 FF Field count 0 FF Data for each field (field count times) Field characters Competitor identifier 0 - FFFF Frequency: Sample: Comments 4 characters maximum A unique identification number per run.

The number of entry fields that follow.

Unique ID for all the runs

Repeated e.g. every 15 seconds. <Header>01|469D|P. Tracy|2|3|Firestone|Reynard|Honda|B5A8 Fieldname Number Unique identifier Driver name Start position Field count Field Field Field Competitor identifier String part 01 469D P. Tracy 2 3 Firestone Reynard Honda B5A8 Data 01 18077 P. Tracy 2 3 fields to follow Firestone Reynard Honda 46504

Multiloop Timing Protocol (v1.3)


$R Run information. Fieldname Event name Event short name Run name Run type Data description characters characters characters P, Q, S, R Comments Official name of the event. A short version of the event nam Official name of the run. P Practice Q Qualify S Single car qualifying R Race Time in seconds since 1/1/70.

Start time / date Frequency: Sample:

0 FFFFFFFF

Repeated e.g. every 15 seconds. <Header>This is event 1|Event 1|Race 1|R|BC6AD080 Fieldname Event name Event short name Run name Run type Start time / date String part This is event 1 Event 1 Race 1 R BC6AD080 Data This is event 1 Event 1 Race 1 Race 1/3/2000, 12:00

$T Track information. Fieldname Data description Track name characters Venue characters Track length nn.nnnn Number of sections 0 FF Data for each section (number times) Section name characters Section length nnnnnn Section start label characters Section end label characters Frequency: Repeated e.g. every 30 seconds. Comments Official track name. Short form of the track name. Length in miles The number of sections that follow. 3 characters maximum. Length in whole inches 4 characters maximum. 4 characters maximum.

Multiloop Timing Protocol (v1.3)

Sample:

<Header>Indianapolis Motor Speedway|IMS|2.5|2|PIT|2345|PI|PO| TU1|1234|T1|T2 Fieldname Track name Venue Track length Number of sections Section name Section length Section start label Section end label Section name Section length Section start label Section end label String part Indianapolis Motor Speedway IMS 2.5 2 PIT 2345 PI PO TU1 1234 T1 T2 Data Indianapolis Motor Speedway IMS 2.5 miles 2 section follow PIT section 2345 inches PI PO Turn 1 section 1234 inches T1 T2

$A Announcement information. Fieldname Msg number Action Data description 0 FFFF A, D, M Comments Assigned sequentially A Add D Delete M Modify U Urgent H High N Normal L Low Time in seconds since 1/1/70. Maximum length: 200 characters.

Priority

U, H, N, L

Timestamp Text Frequency: Sample:

0 FFFFFFFF characters

Repeated e.g. every 60 seconds. <Header>2F|A|U|BC6AD080|This is an urgent message Fieldname Msg number Action Priority Timestamp Text String part 2F A U BC6AD080 This is an urgent message Data 47 Add Urgent 1/3/2000, 12:00 This is an urgent message

Multiloop Timing Protocol (v1.3)


$V Version stream information. Fieldname Major Minor Info Data description 0 FFFF 0 FFFF Characters Comments Major part of version number of Multiloop Timing Protocol (hex chars) Minor part of version number of Multiloop Timing Protocol (hex chars) User defined field, maximum length: 200 characters.

Frequency: Sample:

Repeated e.g. every 60 seconds. <Header>1|2|Time Fieldname Major Minor Info String part 1 2 Timeas. Data Version 1.2 Timeas.

You might also like