summaryrefslogtreecommitdiff
path: root/aoview/aoview.h
diff options
context:
space:
mode:
Diffstat (limited to 'aoview/aoview.h')
-rw-r--r--aoview/aoview.h47
1 files changed, 27 insertions, 20 deletions
diff --git a/aoview/aoview.h b/aoview/aoview.h
index 4ed0ffab..62d0640b 100644
--- a/aoview/aoview.h
+++ b/aoview/aoview.h
@@ -51,6 +51,30 @@ struct usbdev {
int idVendor;
};
+struct aogps_time {
+ int hour;
+ int minute;
+ int second;
+};
+
+struct aogps {
+ int nsat;
+ int gps_locked;
+ int gps_connected;
+ struct aogps_time gps_time;
+ double lat; /* degrees (+N -S) */
+ double lon; /* degrees (+E -W) */
+ int alt; /* m */
+
+ int gps_extended; /* has extra data */
+ double ground_speed; /* m/s */
+ int course; /* degrees */
+ double climb_rate; /* m/s */
+ double hdop; /* unitless? */
+ int h_error; /* m */
+ int v_error; /* m */
+};
+
struct aodata {
char callsign[16];
int serial;
@@ -68,23 +92,7 @@ struct aodata {
int flight_vel;
int flight_pres;
int ground_pres;
- int nsat;
- int gps_locked;
- int gps_connected;
- struct {
- int hour;
- int minute;
- int second;
- } gps_time;
- double lat; /* degrees (+N -S) */
- double lon; /* degrees (+E -W) */
- int alt; /* m */
- double ground_speed; /* m/s */
- int course; /* degrees */
- double climb_rate; /* m/s */
- double hdop; /* unitless? */
- int h_error; /* m */
- int v_error; /* m */
+ struct aogps gps;
};
struct aostate {
@@ -112,10 +120,9 @@ struct aostate {
double max_acceleration;
double max_speed;
- double lat;
- double lon;
- int gps_valid;
+ struct aogps gps;
+ int gps_valid;
double pad_lat;
double pad_lon;
double pad_alt;