TeleGPS encodes state in a spare gps location packet byte, masking in
0x80 to signify that the state value is valid
Signed-off-by: Keith Packard <keithp@keithp.com>
telem.location.ground_speed / 100.0,
telem.location.climb_rate / 100.0,
telem.location.course * 2);
+ if ((telem.location.state & AO_GPS_STATE_VALID))
+ printf (" state %1d", telem.location.state & ~(AO_GPS_STATE_VALID));
printf ("\n");
break;
case AO_TELEMETRY_SATELLITE:
#define AO_GPS_MODE_MANUAL 'M'
#define AO_GPS_MODE_SIMULATED 'S'
+#define AO_GPS_STATE_VALID 0x80
+
struct ao_telemetry_location {
uint16_t serial; /* 0 */
uint16_t tick; /* 2 */
uint16_t ground_speed; /* 26 cm/s */
int16_t climb_rate; /* 28 cm/s */
uint8_t course; /* 30 degrees / 2 */
- uint8_t unused[1]; /* 31 */
+ uint8_t state; /* 31 */
/* 32 */
};