summaryrefslogtreecommitdiff
path: root/aoview/aoview.h
diff options
context:
space:
mode:
Diffstat (limited to 'aoview/aoview.h')
-rw-r--r--aoview/aoview.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/aoview/aoview.h b/aoview/aoview.h
index 5c118a11..ac64833f 100644
--- a/aoview/aoview.h
+++ b/aoview/aoview.h
@@ -35,6 +35,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <assert.h>
+#include <math.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
@@ -50,7 +51,7 @@ struct usbdev {
int idVendor;
};
-struct aostate {
+struct aodata {
char callsign[16];
int serial;
int rssi;
@@ -83,9 +84,17 @@ struct aostate {
double hdop; /* unitless? */
int h_error; /* m */
int v_error; /* m */
+};
+
+struct aostate {
+ struct aodata data;
/* derived data */
+ struct aodata prev_data;
+
+ double report_time;
+
gboolean ascent; /* going up? */
int ground_altitude;
@@ -96,11 +105,16 @@ struct aostate {
double temperature;
double main_sense;
double drogue_sense;
+ double baro_speed;
int max_height;
double max_acceleration;
double max_speed;
+ double lat;
+ double lon;
+ int gps_valid;
+
double pad_lat;
double pad_lon;
double pad_alt;
@@ -112,8 +126,13 @@ struct aostate {
double distance;
double bearing;
int gps_height;
+
+ int speak_tick;
+ int speak_altitude;
};
+extern struct aostate aostate;
+
/* GPS is 'stable' when we've seen at least this many samples */
#define MIN_PAD_SAMPLES 10
@@ -162,7 +181,7 @@ void
aoview_usbdev_free(struct usbdev *usbdev);
void
-aoview_state_notify(struct aostate *state);
+aoview_state_notify(struct aodata *data);
void
aoview_state_new(void);