From 8dbe8abd034a2d1ee2ec0380ec376722a4ecbd71 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 14 Dec 2012 19:27:56 -0800 Subject: altoslib: Only list flight logs for boards that we know have them Boards that don't have flight logs will generate a nice 'Syntax Error' and fail to initialize. Signed-off-by: Keith Packard --- altoslib/AltosConfigData.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'altoslib') diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index 515ff480..758953e2 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -469,13 +469,15 @@ public class AltosConfigData implements Iterable { reset(); link.printf("c s\nf\nv\n"); read_link(link, "software-version"); + System.out.printf("Log format %d\n", log_format); switch (log_format) { - case AltosLib.AO_LOG_FORMAT_TELEMETRY: - case AltosLib.AO_LOG_FORMAT_TELESCIENCE: - break; - default: + case AltosLib.AO_LOG_FORMAT_FULL: + case AltosLib.AO_LOG_FORMAT_TINY: + case AltosLib.AO_LOG_FORMAT_MEGAMETRUM: link.printf("l\n"); read_link(link, "done"); + default: + break; } } -- cgit v1.2.3 From f1409311761d65e85ac08c38c9b9a0114cc8f535 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 14 Dec 2012 19:28:49 -0800 Subject: altoslib: Discard previous flight state on SN change A previous change discarded previous *telemetry* state, but failed to discard any previous overall flight state. This would reset some of the data fields, but wouldn't reset the GPS state and max measurements. Signed-off-by: Keith Packard --- altoslib/AltosState.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'altoslib') diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index f28dd1c6..218c598a 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -92,6 +92,9 @@ public class AltosState { public void init (AltosRecord cur, AltosState prev_state) { data = cur; + /* Discard previous state if it was for a different board */ + if (prev_state != null && prev_state.data.serial != data.serial) + prev_state = null; ground_altitude = data.ground_altitude(); altitude = data.altitude(); -- cgit v1.2.3 From 00bc1a090a294e103370b8ab0a0fe5d7a2acfe92 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 16 Dec 2012 13:25:54 -0800 Subject: altoslib: unconfigured radio frequency data is now -1, not 0 This changed when AltosConfigData was cleaned up, so now frequency settings must check for positive numbers rather than non-zero. Signed-off-by: Keith Packard --- altoslib/AltosLink.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'altoslib') diff --git a/altoslib/AltosLink.java b/altoslib/AltosLink.java index 6d510563..1b722026 100644 --- a/altoslib/AltosLink.java +++ b/altoslib/AltosLink.java @@ -284,8 +284,8 @@ public abstract class AltosLink implements Runnable { frequency = in_frequency; config_data(); set_radio_frequency(frequency, - config_data.radio_frequency != 0, - config_data.radio_setting != 0, + config_data.radio_frequency > 0, + config_data.radio_setting > 0, config_data.radio_calibration); } @@ -339,10 +339,10 @@ public abstract class AltosLink implements Runnable { public String name; public void start_remote() throws TimeoutException, InterruptedException { - if (debug) - System.out.printf("start remote %7.3f\n", frequency); if (frequency == 0.0) frequency = AltosPreferences.frequency(serial); + if (debug) + System.out.printf("start remote %7.3f\n", frequency); set_radio_frequency(frequency); set_callsign(AltosPreferences.callsign()); printf("p\nE 0\n"); -- cgit v1.2.3