From 35ad1833b10595564de84c88f44a214b1c134ccf Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 6 Feb 2015 20:36:44 -0800 Subject: altosuilib: EEProm download from TeleGPS doesn't have states As TeleGPS doesn't have flight states, the EEProm download progress bar shouldn't show 'state invalid', and it should use a different scale for each block. Fix this by having AltosConfigData know which devices have state based on their log format, then mark the progress bar state limits as 'invalid/invalid' instead of 'boost/landed'. Then have the progress bar use that to set a more reasonable scale for each block. Signed-off-by: Keith Packard --- altoslib/AltosConfigData.java | 8 ++++++++ altoslib/AltosEepromDownload.java | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'altoslib') diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index 65f6346a..0820bf56 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -577,6 +577,14 @@ public class AltosConfigData implements Iterable { dest.set_tracker_interval(tracker_interval); } + public boolean log_has_state() { + switch (log_format) { + case AltosLib.AO_LOG_FORMAT_TELEGPS: + return false; + } + return true; + } + public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException { /* HAS_FLIGHT */ diff --git a/altoslib/AltosEepromDownload.java b/altoslib/AltosEepromDownload.java index a448ee64..78a1f4be 100644 --- a/altoslib/AltosEepromDownload.java +++ b/altoslib/AltosEepromDownload.java @@ -254,7 +254,10 @@ public class AltosEepromDownload implements Runnable { flights = given_flights; success = false; - monitor.set_states(AltosLib.ao_flight_boost, AltosLib.ao_flight_landed); + if (flights.config_data.log_has_state()) + monitor.set_states(AltosLib.ao_flight_boost, AltosLib.ao_flight_landed); + else + monitor.set_states(AltosLib.ao_flight_invalid, AltosLib.ao_flight_invalid); monitor.start(); } -- cgit v1.2.3