X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosDataListener.java;h=5f89b3e4b5adae46772f47387ea0e5da37107f19;hp=4a6fe04de279c0f3bc98c14f83301a422edb6683;hb=dd72c9144b207b12150eb6a7ffb012f217f37374;hpb=222158581887b5f9e8b9843d14321c313fa023fa diff --git a/altoslib/AltosDataListener.java b/altoslib/AltosDataListener.java index 4a6fe04d..5f89b3e4 100644 --- a/altoslib/AltosDataListener.java +++ b/altoslib/AltosDataListener.java @@ -12,30 +12,53 @@ * General Public License for more details. */ -package org.altusmetrum.altoslib_11; +package org.altusmetrum.altoslib_12; public abstract class AltosDataListener { - public AltosCalData cal_data; + private AltosCalData cal_data = null; - public double time = AltosLib.MISSING; + public double time = AltosLib.MISSING; + public int state = AltosLib.MISSING; + + public void set_tick(int tick) { + cal_data.set_tick(tick); + set_time(cal_data.time()); + } + + public AltosCalData cal_data() { + if (cal_data == null) + cal_data = new AltosCalData(); + return cal_data; + } public void set_time(double time) { if (time != AltosLib.MISSING) this.time = time; } + public void set_serial(int serial) { + cal_data().set_serial(serial); + } + public double time() { return time; } - public int state = AltosLib.MISSING; - public void set_state(int state) { + cal_data().set_state(state); if (state != AltosLib.MISSING) this.state = state; } + public void set_flight(int flight) { + cal_data().set_flight(flight); + } + + /* Called after all records are captured */ + public void finish() { + } + public abstract void set_rssi(int rssi, int status); public abstract void set_received_time(long received_time); @@ -63,6 +86,9 @@ public abstract class AltosDataListener { public abstract void set_pyro_fired(int pyro_mask); public abstract void set_companion(AltosCompanion companion); + public AltosDataListener() { + } + public AltosDataListener(AltosCalData cal_data) { this.cal_data = cal_data; }