Use flite to announce flight state
[fw/altos] / aoview / aoview.h
index f584045f3a517a06ecac28112fbf77ff41a6c72b..1ad9e160dd308cb478b3e5b27e8e535cbe7c974b 100644 (file)
 
 #define _GNU_SOURCE
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -58,6 +62,11 @@ struct aostate {
        int     batt;
        int     drogue;
        int     main;
+       int     flight_accel;
+       int     ground_accel;
+       int     flight_vel;
+       int     flight_pres;
+       int     ground_pres;
        int     nsat;
        int     locked;
        struct {
@@ -65,15 +74,21 @@ struct aostate {
                int minute;
                int second;
        } gps_time;
-       double  lat;
-       double  lon;
-       int     alt;
+       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 */
 };
 
 void
 aoview_monitor_disconnect(void);
 
-void
+gboolean
 aoview_monitor_connect(char *tty);
 
 struct aoview_serial *
@@ -82,9 +97,11 @@ aoview_serial_open(const char *tty);
 void
 aoview_serial_close(struct aoview_serial *serial);
 
+typedef void (*aoview_serial_callback)(gpointer user_data, struct aoview_serial *serial, gint revents);
+
 void
 aoview_serial_set_callback(struct aoview_serial *serial,
-                          GSourceFunc func,
+                          aoview_serial_callback func,
                           gpointer data,
                           GDestroyNotify notify);
 
@@ -163,4 +180,51 @@ aoview_table_init(GladeXML *xml);
 void
 aoview_table_clear(void);
 
+struct aoview_file;
+
+void
+aoview_file_finish(struct aoview_file *file);
+
+gboolean
+aoview_file_start(struct aoview_file *file);
+
+const char *
+aoview_file_name(struct aoview_file *file);
+
+void
+aoview_file_set_serial(struct aoview_file *file, int serial);
+
+int
+aoview_file_get_serial(struct aoview_file *file);
+
+void
+aoview_file_printf(struct aoview_file *file, char *format, ...);
+
+void
+aoview_file_vprintf(struct aoview_file *file, char *format, va_list ap);
+
+struct aoview_file *
+aoview_file_new(char *ext);
+
+void
+aoview_file_destroy(struct aoview_file *file);
+
+void
+aoview_file_init(GladeXML *xml);
+
+/* aoview_eeprom.c */
+
+gboolean
+aoview_eeprom_save(const char *device);
+
+void
+aoview_eeprom_init(GladeXML *xml);
+
+/* aoview_voice.c */
+void aoview_voice_open(void);
+
+void aoview_voice_close(void);
+
+void aoview_voice_speak(char *format, ...);
+
 #endif /* _AOVIEW_H_ */