| 1 | = Robitronic Overview = |
| 2 | The Robitronic lap counter is an IR based lap counter that communicates using a serial protocol. |
| 3 | |
| 4 | = Connection Information = |
| 5 | To connect to the Robitronic lap counter you must open the COM port with the following settings: |
| 6 | * 38400 Baud |
| 7 | * 1 Stop Bit |
| 8 | * Parity None |
| 9 | * Length 8 bits |
| 10 | |
| 11 | = Initialization = |
| 12 | After you have connected to the Robitronic lap counter you must initialize it for communications. This is done with a simple command. |
| 13 | |
| 14 | {{{ 03 B9 01 }}} |
| 15 | |
| 16 | After this has been sent the lap counter will respond with a 00 and then beginning transmitting lap information. There are two know packet types that the lap counter will return, a packet when a car is detected and a periodic time packet. |
| 17 | |
| 18 | There appears to be no delimiter character, packets begin with a byte representing the length of the packet. |
| 19 | |
| 20 | = Car Detected Packet = |
| 21 | |
| 22 | If a car is detected the lap counter will return a packet like the following: |
| 23 | |
| 24 | {{{ 0D BD 84 1E 08 00 00 E7 36 00 00 55 F9 }}} |
| 25 | |
| 26 | The breakdown of this packet is the following: |
| 27 | |
| 28 | {{{ |
| 29 | Byte 1 is the length of the packet including this byte 0D for car detected packets |
| 30 | Byte 2 is the checksum |
| 31 | Byte 3 is the type of packet, 84 if this has car information |
| 32 | Byte 4-5 represent the UID of the car in reverse byte order |
| 33 | Byte 6-7 unknown, 00 in examples given |
| 34 | Byte 8-9 are the seconds in thousandths of a second |
| 35 | Byte 10 is the minutes |
| 36 | Byet 11 may be continuation of minutes or hours was 00 in our example so this is uncertain |
| 37 | Byte 12 is the number of hits the lap counter detected |
| 38 | Byte 13 is the signal strength |
| 39 | }}} |
| 40 | |
| 41 | There is no specific character used to represent the beginning or end of a packet, instead the protocol has the first byte of the packet set to the length of the packet including that byte. |
| 42 | |
| 43 | = Time stamp packet = |
| 44 | |
| 45 | Approximately every second the lap counter will send a packet with just the time stamp. This pack can look like this: |
| 46 | |
| 47 | {{{ 0B 5C 83 9B 3A 00 00 14 D0 01 02 }}} |
| 48 | |
| 49 | The breakdown of this packet is the following: |
| 50 | |
| 51 | {{{ |
| 52 | Byte 1 is the length of the packet 0B in the case of just a time stamp |
| 53 | Byte 2 is a checksum |
| 54 | Byte 3 is the packet type, 83 in the case of time stamp only |
| 55 | Byte 4-5 is the seconds in reverse byte order in thousandths of a second |
| 56 | Byte 6 is the minutes |
| 57 | Byte 7 is unknown, may be hours or continuation of minutes |
| 58 | Bytes 8-11 are unknown but in example were always 14 D0 01 02 |
| 59 | }}} |
| 60 | |