diff options
author | Keith Packard <keithp@keithp.com> | 2017-10-02 16:55:18 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-10-02 16:55:18 -0700 |
commit | de2b6ec1cdfd48c948bff7edbfe2540440429b1b (patch) | |
tree | aa9754d515f020a6992ff4787e936be466bc9799 /altoslib/AltosDataListener.java | |
parent | 322c1abead39cb398380dff384cd274c19dd81dd (diff) |
altoslib,altosuilib,altosui: log_format/device_type TeleGPS selects stateless
When the device being analyzed has no flight state, we want to use the
'stateless' state so that the UI can display reasonable
information. This bit was lost in the recent AltosState shuffle and
this patch brings it back.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosDataListener.java')
-rw-r--r-- | altoslib/AltosDataListener.java | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/altoslib/AltosDataListener.java b/altoslib/AltosDataListener.java index be6d840f..fb37fe3d 100644 --- a/altoslib/AltosDataListener.java +++ b/altoslib/AltosDataListener.java @@ -19,7 +19,6 @@ public abstract class AltosDataListener { private AltosCalData cal_data = null; public double time = AltosLib.MISSING; - public int state = AltosLib.MISSING; public double frequency = AltosLib.MISSING; public void set_tick(int tick) { @@ -42,14 +41,34 @@ public abstract class AltosDataListener { cal_data().set_serial(serial); } + public void set_device_type(int device_type) { + cal_data().set_device_type(device_type); + switch (device_type) { + case AltosLib.product_telegps: + set_state(AltosLib.ao_flight_stateless); + break; + } + } + + public void set_log_format(int log_format) { + cal_data().set_log_format(log_format); + switch (log_format) { + case AltosLib.AO_LOG_FORMAT_TELEGPS: + set_state(AltosLib.ao_flight_stateless); + break; + } + } + public double time() { return time; } public void set_state(int state) { cal_data().set_state(state); - if (state != AltosLib.MISSING) - this.state = state; + } + + public int state() { + return cal_data().state; } public void set_flight(int flight) { @@ -64,6 +83,12 @@ public abstract class AltosDataListener { public void finish() { } + public void init() { + set_state(AltosLib.ao_flight_invalid); + time = AltosLib.MISSING; + frequency = AltosLib.MISSING; + } + public abstract void set_rssi(int rssi, int status); public abstract void set_received_time(long received_time); |