+ int flags() { return uint8(5); }
+ int altitude() {
+ if ((mode() & AO_GPS_MODE_ALTITUDE_24) != 0)
+ return (int8(31) << 16) | uint16(6);
+ else
+ return int16(6);
+ }
+ int latitude() { return uint32(8); }
+ int longitude() { return uint32(12); }
+ int year() { return uint8(16); }
+ int month() { return uint8(17); }
+ int day() { return uint8(18); }
+ int hour() { return uint8(19); }
+ int minute() { return uint8(20); }
+ int second() { return uint8(21); }
+ int pdop() { return uint8(22); }
+ int hdop() { return uint8(23); }
+ int vdop() { return uint8(24); }
+ int mode() { return uint8(25); }
+ int ground_speed() { return uint16(26); }
+ int climb_rate() { return int16(28); }
+ int course() { return uint8(30); }