N900 GPS Reverse Engineering
| 00000 00 92 01 00 00 00 00 xx 05 00 00 00 09 03 00 10 S------------------- DL S---------------------- | 00010 07 da 07 15 00 xx xx 00 xx xx 00 00 09 02 00 1c S------------- TL TS -- S---------------- | 00020 xx xx xx xx xx xx xx xx 00 00 xx xx 00 00 08 8b DL--- DL--- TS S---- S---- ^eph^ | 00030 xx 00 xx xx xx xx xx xx 09 04 00 14 62 7e xx xx S- DL TS--- DL MS S---------- track SS--- | 00040 xx xx 00 xx xx xx 00 xx 00 xx 00 00 09 05 00 74 DL--- S- TL S- DS S- DS S---------------- | 00050 09 00 00 00 00 02 xx xx 00 xx xx xx xx xx 00 00 S---------------- DL MS S- TS--- I TS MI S---- | 00060 00 04 xx xx xx xx xx xx xx xx 00 00 00 xx xx xx S---- T3 TS S- TL TS MS TS MD S------- DL TS--- | 00070 00 xx xx xx xx xx 00 00 00 xx xx xx 00 03 xx xx S- TS--- I TS MS S-------- T3 MS MS S---- TS MS | 00080 xx xx 00 00 00 xx xx xx 00 xx xx xx xx xx 00 00 TS MD S------- T3 TS MS S- TS--- MS TS MI S---- | 00090 00 xx xx xx 00 03 xx xx xx xx 00 00 00 xx xx xx S- TS------ S---- TS MD TS MS S------- TS SS+TS | 000a0 00 xx xx xx xx xx 00 00 00 xx xx xx 00 xx xx xx S- TL TS MS TS MD S-------- TS------ S- TL TS MI | 000b0 xx xx 00 00 00 xx xx xx 00 xx xx xx xx xx 00 00 TS--- S------- TS--- MS S- TS--- MI TS MS S---- | 000c0 09 08 00 0c xx xx xx xx xx xx xx xx S---------- DL----------------------
S = Static, unchanging normally MS = Mostly static, varying in value normally slightly SS = Sometimes static, completely different values sometimes I = Incrementing MI = Incrementing, but not every packet D = Decrementing MD = Decrementing, but not every packet TS = Time-sensitive; changes over (short) durations of time TL = Time-sensitive, longer duration T3 = " DS = Distance-sensitive; changes over at least 30m distance DL = Distance-sensitive, like across the world; TEMP; *or* T4
19,1a = 0000-e678 (hex) 20 = 22,23 = 28 = 2b,2c = 0590-12a9 (hex) 2e,2f = eph (cm) 30 = 35 = 3c,3d = track: Direction of motion in hundredths of a degree 3e,3f = epd: Track accuracy (in hundredths?) 43 = 45 =