MITTENTITEL

 

This page tells you which the data packets are send for which task.

The structure of the datpackets is described HERE.

Cruising.

The mechanics of driving are controlled by controlelrpackets ($FF). they are sent everye 102 ms or when there is a change.

The cyclic packets are always sent except when you change settings at the terminal after pressing the mode key.

Setting the car id.

After pressing the program button the controllerpackets ($FF) will start to be sent normally. But all speed values are set to 0 regardless of controller status.

When you press the controller button to set the id the idpacket ($CC) is sent twice.

Lights on/off

Switching lights on and off ony sets a bit in the controllerpackets ($FF) so a special lightspacket is not needed.

Juniormode on/off

Switching juniomode on and off will change the mapping of throttle position to speed value inside the terminal. That's purely inside the terminal, the car just doen't get any speed values above 8 when in junior mode. For that reason there is no deticated juniorpacket.

Reed switch on top, data packets below.
You see two packets to clear the "bus", than the power drop when the "bus" is released and to the right the car answering.


Start track from below. Reed switch, magnet and chaos.

Crossing the finish line

That's really something.

A magnet in the start track will trigger a reaad switch in the car, telling the car to send its id, when the track is free.

A magnet in the car triggers the reed switch in the start track initiating the track or better "bus" clearance process.

The terminal send two busclearancepackets ($AA).

The standart terminal will free the bus 2 ms after the end of the second busclearancepacket.

All cars that had their reed switches triggered will now send their caridpackets ($4x).

To prevent data collision each car has a timewindow when to send its id. The car with id 0 will send its id about 7 ms after the end of the second busclearancepacket. The car with id 1 about 10 ms after the end of the second busclearancepacket and so on.

After registering the car ids the terminal will send the respective finishlinepackets ($EE).

After the first crossing ofthe finishline Rankingpackets ($D3) and laptimepackets ($D4) will be sent every 300ms.

Each Rankingpacket has information for all cars, whiel laptimepackets have only information for the last car that crossed the finishing line. When two cars cross the finish line at the same time a laptimepacket for each is sent.

Racestart

(Pit stop terminal only) When the race is started by pressing the start button, the lapcounterpacket ($D5) is sent twice. So everybody knows ehether to count up and down and how many laps to be run.

(Pit stop terminal only) Next is a controllerpacket ($FF) with all speeds set to 0.

Last not least resetpacket ($D0) and startpacker ($DD) are each sent twice..

(Pit stop terminal only) To use fuel in a races is not sent before the race, whey there are fuelpackets ($D6) sent during the race you know that fuel levels are in use.

Mode key (pit stop terminal)

As soon as the mode key is pressed no furter controllerpackets ($FF) are sent.

Pit and bas Modes

After setting Pit or bas mode, the lapcounterpacket ($D5) is sent twice. In race the existence or absence of fuelpackets distinguish Pit from bas races.

qua Mode

After setting number of laps and cars a qualifyingpacket ($DB) is sent twice folowed by two lapcounterpackets ($D5) setting lap count direction to up.

car settings

The fuel management is handled in the terminal, so no packet is sent on setting the start fuel level. The next fuelpacket ($D6) will reflect the change.

The cars will be informed about a new brake setting by sending a brakepacket ($D7). But the packet is only sent to cars in the pit stop lane not to cars on the normal track.

rac setting

The fuel management is handled in the terminal, so no packet is sent on setting the tank size.

res setting

After pressing the select key a displaypacket ($DE) is sent. It does not contain any valid data, it just informs that the display has to change.

Current fuel level (pit stop terminal)

The current fuel levels are sent approximately every 500 ms. A single fuelpacket ($D6) contains the fuel levels for all cars. The fuel level is the same as the number of green leds in the fuel display.

Fuel level - reserve (pit stop terminal)

Cars stutter when the tank is nearly empty. This is controlled by the terminal. It replaces the speed in every second controllerpacket through a speed value of 2. This takes only place if the cars speed is above 4.

Fuel level - empty (pit stop terminal)

Normally the fuel consumption depends on the throttle setting. But when the tank is empty the car has 4 laps regardless of throttle settings to refuel or it will be stopped.

Less chaos.
Magnet and reed switch
underthe pit stop lane.

 

Pit stop lane (pit stop terminal)

The pit stop track has its own connection to the terminal working as a track in track.

On the pit stop track are sent only controllerpackets ($FF), brakepackets($D7) and packets needed for reading the car id.

When a car enters the pit stop track the same procedure as for a finish line crossing is initiated. But only the finishlinepacket ($EE) is also sent to the track, the other handshake packets are restricted to the pit stop track.

Refueling is controlled by the terminal and as long as the car refuels the controllerpackets for the car have speed 0.