vielleicht kennen von euch ein paar das Projekt "ArduPilot Mega" von "DIY Drones". Ich wollte mir dazu eine eigene Groundstatation Programmieren, jedoch hab ich mit dem Binary Communication Protocol ein paar probleme.
Wenn ich z.b. das Packet mit der Message ID 0x02 übersetzte passt alles, so lange die Werte positiv sind. Sobald die Werte negativ werden müssten, zeigt die Ausgabe in der Shell eine Art überlauf.
hier mal der Teil der die Message ID 0x02 übersetzt:
Code: Alles auswählen
if ord(msg[0]) == 2:
print ord(msg[0])
attitude[0] = ord(msg[3]) << 8
attitude[0] = attitude[0] + ord(msg[2])
attitude[1] = ord(msg[5]) << 8
attitude[1] = attitude[1] + ord(msg[4])
attitude[2] = ord(msg[7]) << 8
attitude[2] = attitude[2] + ord(msg[6])
attitude[0] = float(attitude[0]) / 100
attitude[1] = float(attitude[1]) / 100
attitude[2] = float(attitude[2]) / 100Über ein paar Tipps würd ich mich sehr freuen
greetz,
draufunddran
