Die verschiedenen Module der Robotersteuerung müssen über ein Protokoll kommunizieren.

Bei dem entwickelten Protokoll werden einzelne Elemente mit "," getrennt. Ein Befehl wird mit ";" abgeschossen.


Das GUI sendet und empfängt als erstes Element immer die ID vom Empfänger/Sender

Kommandos die zwischen GUI und BTB gesendet werden:

getNxtIds	args:NO
nxtIds	 	args: id1, id2,…	int > 0

NXT-Kommandos:

setPointToVisit     args: x, y          float 0..1
positionVisited     args: x, y          float 0..1
setPosition         args: x, y          float 0..1
getPosition         args:NO
delPoints           args:NO
drive               args:speed, angle   float -1..1, int -180..180

GUI<->Bluetooth

id, ack, cmd, arg1, arg2, argi;

Bluetooth<->NXT

ack, cmd, arg1, arg2, argi;

id = int  (id = 0 für BluetoothBridge, weitere für NXT)
ack = bool 0/1 sagt aus ob eine Antwort erwartet wird oder nicht.

Beispielnachrichten:

## kommt vom GUI nach dem Start: ##
0,1,getNxtIds;
## von BTB
0,0,nxtIds,1,2,3,4;
## vom GUI an die einzelnen NXT: ##
1,1,getPosition;
2,1,getPosition;
3,1,getPosition;
4,1,getPosition;
## von BTB an das GUI: ##
1,0,setPosition,0.1,0.2;
2,0,setPosition,0.2,0.3;
3,0,setPosition,0.3,0.4;
4,0,setPosition,0.4,0.5;