Hi, ein Gerät sendet die GPS Koordinaten auf einem CanBus. Was bekannt ist: Byte 0-3 für Latitude und Byte 4-7 Longitude. Little Endian. Beispielwerte: 07 123 165 30 243 54 17 04 200 121 165 30 185 53 17 04 136 121 165 30 19 53 17 04 130 118 165 30 59 44 17 04 Kann mir jemand sagen, wie man das "entschlüsselt"? Danke
Filth _. schrieb: > 07 123 165 30 243 54 17 04 > 200 121 165 30 185 53 17 04 > 136 121 165 30 19 53 17 04 > 130 118 165 30 59 44 17 04 > > Kann mir jemand sagen, wie man das "entschlüsselt"? In umgekehrter Reihenfolge?! Ich gehe davon aus, dass die Daten an einer Stelle gemessen wurden. Schreibt man die so auf, dann ergeben sie etwas mehr Sinn: 30 165 123 07 04 17 54 243 30 165 121 200 04 17 53 19 etc. Wenn jetzt noch die Position bekannt wäre, wo die Daten aufgenommen wurden, käme man wieder einen Schritt weiter. Ich vermute eine Fließkommazahl (float hat 4 Byte?).
Habs schon gelöst: ist ein float
int asIntLat = (Integer.valueOf(result[0]) & 0xFF)
| ((Integer.valueOf(result[1]) & 0xFF) << 8)
| ((Integer.valueOf(result[2]) & 0xFF) << 16)
| ((Integer.valueOf(result[3]) & 0xFF) << 24);
asIntLat *= 0.0000001f;
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.