X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=aoview%2Faoview.h;h=d49bd6f4968e656d45a5ecc4194f0773a605cf27;hp=7b5f0de5b7c5dd2ced0639032550ee4796721593;hb=2e06772c8b6fd74f86e640ed97f0d5bc8c095c2f;hpb=aa6d87aeb616dd62f0debaded297232022b4f8bd diff --git a/aoview/aoview.h b/aoview/aoview.h index 7b5f0de5..d49bd6f4 100644 --- a/aoview/aoview.h +++ b/aoview/aoview.h @@ -20,6 +20,10 @@ #define _GNU_SOURCE +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include #include #include @@ -70,17 +74,57 @@ 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 */ + + /* derived data */ + + gboolean ascent; /* going up? */ + + int ground_altitude; + int height; + double speed; + double acceleration; + double battery; + double temperature; + double main_sense; + double drogue_sense; + + int max_height; + double max_acceleration; + double max_speed; + + double pad_lat; + double pad_lon; + double pad_alt; + double pad_lat_total; + double pad_lon_total; + double pad_alt_total; + int npad; + + double distance; + double bearing; }; +/* GPS is 'stable' when we've seen at least this many samples */ +#define MIN_PAD_SAMPLES 10 + void aoview_monitor_disconnect(void); gboolean aoview_monitor_connect(char *tty); +gboolean +aoview_monitor_parse(char *line); + struct aoview_serial * aoview_serial_open(const char *tty); @@ -172,12 +216,17 @@ aoview_table_clear(void); struct aoview_file; +extern char *aoview_file_dir; + 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); @@ -199,4 +248,26 @@ 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, ...); + +/* aoview_label.c */ + +void aoview_label_init(GladeXML *xml); + +void +aoview_label_show(struct aostate *state); + #endif /* _AOVIEW_H_ */