From: Keith Packard Date: Tue, 12 Sep 2017 20:35:25 +0000 (-0700) Subject: altoslib: Make receive frequency available in telem data X-Git-Tag: 1.8.2~2^2~16 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=4151c30e1294c0dda3aa02e7ac23b9616f25a4d0 altoslib: Make receive frequency available in telem data This lets AltosDroid record which frequency each station was heard on. Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosDataListener.java b/altoslib/AltosDataListener.java index 5f89b3e4..be6d840f 100644 --- a/altoslib/AltosDataListener.java +++ b/altoslib/AltosDataListener.java @@ -20,6 +20,7 @@ public abstract class AltosDataListener { public double time = AltosLib.MISSING; public int state = AltosLib.MISSING; + public double frequency = AltosLib.MISSING; public void set_tick(int tick) { cal_data.set_tick(tick); @@ -55,6 +56,10 @@ public abstract class AltosDataListener { cal_data().set_flight(flight); } + public void set_frequency(double frequency) { + this.frequency = frequency; + } + /* Called after all records are captured */ public void finish() { } diff --git a/altoslib/AltosTelemetry.java b/altoslib/AltosTelemetry.java index 7d576942..f17e1171 100644 --- a/altoslib/AltosTelemetry.java +++ b/altoslib/AltosTelemetry.java @@ -38,6 +38,9 @@ public abstract class AltosTelemetry implements AltosDataProvider { /* Mark when we received the packet */ long received_time; + /* Mark frequency packet was received on */ + public double frequency = AltosLib.MISSING; + static boolean cksum(int[] bytes) { int sum = 0x5a; for (int i = 1; i < bytes.length - 1; i++) @@ -50,6 +53,8 @@ public abstract class AltosTelemetry implements AltosDataProvider { listener.set_serial(serial()); if (listener.state == AltosLib.ao_flight_invalid) listener.set_state(AltosLib.ao_flight_startup); + if (frequency != AltosLib.MISSING) + listener.set_frequency(frequency); listener.set_tick(tick()); listener.set_rssi(rssi(), status()); listener.set_received_time(received_time); @@ -108,6 +113,10 @@ public abstract class AltosTelemetry implements AltosDataProvider { return telem; } + public void set_frequency(double frequency) { + this.frequency = frequency; + } + public AltosTelemetry() { this.received_time = System.currentTimeMillis(); }