summaryrefslogtreecommitdiff
path: root/ao-tools/lib/cc-telem.c
diff options
context:
space:
mode:
Diffstat (limited to 'ao-tools/lib/cc-telem.c')
-rw-r--r--ao-tools/lib/cc-telem.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/ao-tools/lib/cc-telem.c b/ao-tools/lib/cc-telem.c
index 0e1483f7..9a2f6155 100644
--- a/ao-tools/lib/cc-telem.c
+++ b/ao-tools/lib/cc-telem.c
@@ -127,6 +127,7 @@ cc_telem_parse(const char *input_line, struct cc_telem *telem)
if (strcmp (words[36], "unlocked") == 0) {
telem->gps.gps_connected = 1;
telem->gps.gps_locked = 0;
+ telem->gps.gps_time.year = telem->gps.gps_time.month = telem->gps.gps_time.day = 0;
telem->gps.gps_time.hour = telem->gps.gps_time.minute = telem->gps.gps_time.second = 0;
telem->gps.lat = telem->gps.lon = 0;
telem->gps.alt = 0;
@@ -134,6 +135,16 @@ cc_telem_parse(const char *input_line, struct cc_telem *telem)
} else if (nword >= 40) {
telem->gps.gps_locked = 1;
telem->gps.gps_connected = 1;
+ if (version >= 2) {
+ sscanf(words[36], "%d-%d-%d",
+ &telem->gps.gps_time.year,
+ &telem->gps.gps_time.month,
+ &telem->gps.gps_time.day);
+ words += 1;
+ nword -= 1;
+ } else {
+ telem->gps.gps_time.year = telem->gps.gps_time.month = telem->gps.gps_time.day = 0;
+ }
sscanf(words[36], "%d:%d:%d", &telem->gps.gps_time.hour, &telem->gps.gps_time.minute, &telem->gps.gps_time.second);
cc_parse_pos(&telem->gps.lat, words[37]);
cc_parse_pos(&telem->gps.lon, words[38]);
@@ -142,6 +153,7 @@ cc_telem_parse(const char *input_line, struct cc_telem *telem)
} else {
telem->gps.gps_connected = 0;
telem->gps.gps_locked = 0;
+ telem->gps.gps_time.year = telem->gps.gps_time.month = telem->gps.gps_time.day = 0;
telem->gps.gps_time.hour = telem->gps.gps_time.minute = telem->gps.gps_time.second = 0;
telem->gps.lat = telem->gps.lon = 0;
telem->gps.alt = 0;