The following tips and tricks were written with greatest care. Nonetheless I will not take any responsibillity or be liable for any damages, including without limitation, special, indirect or consequential damages, or any damages, whatsoever resulting from use this information or rebuilding the described items. This conversion is off the normal limits and will the gurantee on the parts will be lost.
Hardware
The signals of the "Out" connector are compatible to RS232 or EIA232. It is possible to connect them directly to any serial port on a PC or on a USB-RS323 converter.
You will of need an adapter cable. On one end it has to have a 6 pin male MiniDin connector and on the other end an ordinary D-Sub 9 femal connector.
As usual the Rx and Tx lines have to be crossed. So the wiring should be something like that:
| MiniDin |
D-Sub |
|
| 1 |
2 |
Data from powerbase to computer |
| 6 |
3 |
Data from computer to powerbase
|
| 5 |
5 |
Ground |
The parameters for the serial connection are 1200 baud, 7 bits, no parity and 1 stopbit.
What's possible ?
The information available over the serial interface is very limited.
It does not replace an race management system.
- There is information transferred about:
- The number of laps remaining or passed.
- The ranking of cars.
- Maximum allowed throttle setting for each car
- Status of the light switch.
- Whether amateur or professional mode is active.
- Fuel levels
When a race is finished, you can display the number of laps, total time and fastest lap time on the powerbase by pressing the right button. When you do this the data that will be displayed on the powerbase is also send over the Out connector.
Data protocol for self programmers
At the moment all transfer occurs from powerbase to computer. there doesn't seem to be any data tranfer in the opposite direction.
The powerbace sends data without any requests. The powerbase does not care wheter anybody receives the data, it just goes on transmitting.
Data packets send from powerbase to computer
All data packets are terminated by a carriage return (character with ASCII code $0D). In the following text I will use <CR> to represnt this character.
Modepacket MX<CR> z.B. M2<CR>
This data packet is send when the user selects a light setting or a mode setting on the powerbase.
| M |
Command character for modepacket |
| X |
ASCII number 0 - 3. The lower 2 bits have the following meaning:
| Bit 0 |
1, when the cars shall switch lights on. |
| Bit1 |
1, when professional mode is on. |
|
| <CR> |
End of packet |
Programpacket P<CR> z.B. P<CR>
This packet is sent when the Menu button on the powerbase was pressed and a car id programms is possible.
The packet is always send regardless whether a car will really be programmed or not.
| P |
Command character for programpacket |
| <CR> |
End of packet |
Lappacket LRRRR,A1,A2,A3,A4,A5,A6,A7,A8<CR> z.B. L0025,0C,0C,2C,4C,0C,3C,0C,1C<CR>
The Lappacket is send a differnet occasions. For example before race start, at end of race, each time a car crosses the starting line and so on.
| L |
Command character for lappacket |
| RRRR |
Number of laps of the leading car as ASACCI number. Depending on race mode a 0034 means the leading car has 34 laps remaining or passed 34 laps. |
| A1,A2,A3,A4, A5,A6,A7,A8 |
8 two character comma sepearated values. One for each car, starting with car 1.
| Position |
Position of the car a decimal ASCII number. Zero means that the car doen't take part in the race. A 1 means the car is leading a 2 the car is on second place and so on. |
| Maximum speed |
The second character is a hexadecimal ASCII character 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E. or F and represents the according 4 bit binary value.
This is the maximum speed that the car may use. When a car should stop this value is zero. When a car has to go slow, because of lack of fuel or after a race that value is 4. If the car is free to run the value will be C when in amateur mode or F when in professional mode. |
|
| <CR> |
End of packet |
Fuelpaket FB1,B2,B3,B4,B5,B6,B7,B8<CR> z.B. F99,I5,66,43,05,28,47,42<CR>
This packet is only transferred when a pit stop race is run. The packet wir be send in fixed intervals.
| F |
Command character for fuelpacket |
| B1,B2,B3,B4, B5,B6,B7,B8 |
8 two character comma sepearated values for each car. One for each car, starting with car 1.
Is the car an ASCII number the value represents the current fuel level. Is it I5 the car ran out of fuel. After two laps the maximum speed value in the lappacket will change to 4, but the fuel level will stay at I5.
The value of car 8 has the characters switched. Cars 1 to 7 have the most significant number transferred first, but for car 8 the least significant character is send first. I can't tell whether this is fault or feature.
|
| <CR> |
End of packet |
Displaypacket DAAAA,RRRR,GGGGGG,SSSSSS<CR> z.B. D0008,0004,000523,000213<CR>
This packes is only send when you switch through the results for the cars after a race.
| D |
Command character for displaypacket |
| AAAA |
Id of car the values are for |
| RRRR |
Number of laps the car passed. Except in GP mode than it's the difference to the number of laps driven by the leading car |
| GGGGGG |
Total time as decimal ASCII number. 123456 represents 12:34:56 which is equivalent to 12 minutes 23 seconds and 56 hundredth. |
| SSSSSS |
Fastest lap time as decimal ASCII number. 123456 represents 12:34:56 which is equivalent to 12 minutes 23 seconds and 56 hundredth. |
| <CR> |
End of packet |