diff options
author | Keith Packard <keithp@keithp.com> | 2009-06-29 13:54:00 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-06-29 13:54:00 -0700 |
commit | ee4919dd771b00e2a2dd1083c9528efa7baab50f (patch) | |
tree | da11b3a7334f357e9b3bcb7ebd2cd2d85cefeff6 /src/ao.h | |
parent | 49bf37767d2453869f2ca2c0832d1124322c66e0 (diff) |
Convert GPS to SiRF binary protocol.
This switches the GPS unit from NMEA to SiRF protocol at startup and then
parses the binary data. The binary data uses a different encoding of lat/lon
than the NMEA strings, and so the telemetry and eeprom data formats change
with this switch.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/ao.h')
-rw-r--r-- | src/ao.h | 24 |
1 files changed, 5 insertions, 19 deletions
@@ -21,6 +21,7 @@ #include <stdint.h> #include <stdio.h> #include <string.h> +#include <stddef.h> #include "cc1111.h" #define TRUE 1 @@ -423,14 +424,6 @@ ao_ee_init(void); * ao_log.c */ -/* Structure containing GPS position, either lat or lon */ - -struct ao_gps_pos { - uint8_t degrees; - uint8_t minutes; - uint16_t minutes_fraction; /* in units of 1/10000 minutes */ -}; - /* * The data log is recorded in the eeprom as a sequence * of data packets. @@ -499,8 +492,8 @@ struct ao_log_record { uint8_t second; uint8_t flags; } gps_time; - struct ao_gps_pos gps_latitude; - struct ao_gps_pos gps_longitude; + int32_t gps_latitude; + int32_t gps_longitude; struct { int16_t altitude; uint16_t unused; @@ -679,21 +672,14 @@ ao_serial_init(void); #define AO_GPS_NUM_SAT_SHIFT (0) #define AO_GPS_VALID (1 << 4) -#define AO_GPS_LONGITUDE_MASK (1 << 5) -#define AO_GPS_LONGITUDE_EAST (0 << 5) -#define AO_GPS_LONGITUDE_WEST (1 << 5) - -#define AO_GPS_LATITUDE_MASK (1 << 6) -#define AO_GPS_LATITUDE_NORTH (0 << 6) -#define AO_GPS_LATITUDE_SOUTH (1 << 6) struct ao_gps_data { uint8_t hour; uint8_t minute; uint8_t second; uint8_t flags; - struct ao_gps_pos latitude; - struct ao_gps_pos longitude; + int32_t latitude; + int32_t longitude; int16_t altitude; }; |