From: Keith Packard Date: Tue, 3 Oct 2017 00:02:18 +0000 (-0700) Subject: altosuilib: Show raw tick values in graph and info table X-Git-Tag: 1.8.3~1^2~80 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=d75e8b9046295051c91696461e8d5f59c8260ccc altosuilib: Show raw tick values in graph and info table Not terribly useful, but did help validate firmware handling of tick wrapping, so we'll keep it. Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosDataListener.java b/altoslib/AltosDataListener.java index fb37fe3d..359d04c9 100644 --- a/altoslib/AltosDataListener.java +++ b/altoslib/AltosDataListener.java @@ -21,7 +21,14 @@ public abstract class AltosDataListener { public double time = AltosLib.MISSING; public double frequency = AltosLib.MISSING; + public int raw_tick = AltosLib.MISSING; + + public int tick() { + return raw_tick; + } + public void set_tick(int tick) { + raw_tick = tick; cal_data.set_tick(tick); set_time(cal_data.time()); } diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index f7ea0d15..ab7943b3 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -191,6 +191,17 @@ public class AltosFlightSeries extends AltosDataListener { public void set_received_time(long received_time) { } + public AltosTimeSeries tick_series; + + public static final String tick_name = "Tick"; + + public void set_tick(int tick) { + super.set_tick(tick); + if (tick_series == null) + tick_series = add_series(tick_name, null); + tick_series.add(time(), tick); + } + public AltosTimeSeries rssi_series; public static final String rssi_name = "RSSI"; diff --git a/altosuilib/AltosGraph.java b/altosuilib/AltosGraph.java index 31042abb..5df95233 100644 --- a/altosuilib/AltosGraph.java +++ b/altosuilib/AltosGraph.java @@ -80,6 +80,7 @@ public class AltosGraph extends AltosUIGraph { static final private Color orient_color = new Color(31, 31, 31); static AltosUnits dop_units = null; + static AltosUnits tick_units = null; AltosUIFlightSeries flight_series; @@ -89,7 +90,7 @@ public class AltosGraph extends AltosUIGraph { AltosUIAxis height_axis, speed_axis, accel_axis, voltage_axis, temperature_axis, nsat_axis, dbm_axis; AltosUIAxis distance_axis, pressure_axis, thrust_axis; AltosUIAxis gyro_axis, orient_axis, mag_axis; - AltosUIAxis course_axis, dop_axis; + AltosUIAxis course_axis, dop_axis, tick_axis; if (stats.serial != AltosLib.MISSING && stats.product != null && stats.flight != AltosLib.MISSING) setName(String.format("%s %d flight %d\n", stats.product, stats.serial, stats.flight)); @@ -98,6 +99,7 @@ public class AltosGraph extends AltosUIGraph { pressure_axis = newAxis("Pressure", AltosConvert.pressure, pressure_color, 0); speed_axis = newAxis("Speed", AltosConvert.speed, speed_color); thrust_axis = newAxis("Thrust", AltosConvert.force, thrust_color); + tick_axis = newAxis("Tick", tick_units, accel_color, 0); accel_axis = newAxis("Acceleration", AltosConvert.accel, accel_color); voltage_axis = newAxis("Voltage", AltosConvert.voltage, voltage_color); temperature_axis = newAxis("Temperature", AltosConvert.temperature, temperature_color, 0); @@ -129,6 +131,11 @@ public class AltosGraph extends AltosUIGraph { plot, false); + flight_series.register_axis(AltosUIFlightSeries.tick_name, + accel_color, + false, + tick_axis); + flight_series.register_axis(AltosUIFlightSeries.accel_name, accel_color, true, @@ -320,6 +327,12 @@ public class AltosGraph extends AltosUIGraph { return flight_series.series(cal_data); } + public void set_filter(double filter) { + System.out.printf("filter set to %f\n", filter); + flight_series.set_filter(filter, filter); + units_changed(false); + } + public void set_data(AltosFlightStats stats, AltosUIFlightSeries flight_series) { set_series(setup(stats, flight_series)); } @@ -330,6 +343,7 @@ public class AltosGraph extends AltosUIGraph { public AltosGraph(AltosUIEnable enable, AltosFlightStats stats, AltosUIFlightSeries flight_series) { this(enable); + this.flight_series = flight_series; set_series(setup(stats, flight_series)); } } diff --git a/altosuilib/AltosInfoTable.java b/altosuilib/AltosInfoTable.java index 9e528b1f..e759394b 100644 --- a/altosuilib/AltosInfoTable.java +++ b/altosuilib/AltosInfoTable.java @@ -142,6 +142,8 @@ public class AltosInfoTable extends JTable implements AltosFlightDisplay, Hierar info_add_row(0, "Device", "%s", AltosLib.product_name(cal_data.device_type)); else if (cal_data.product != null) info_add_row(0, "Device", "%s", cal_data.product); + if (state.tick() != AltosLib.MISSING) + info_add_row(0, "Tick", "%6d", state.tick()); if (state.altitude() != AltosLib.MISSING) info_add_row(0, "Altitude", "%6.0f m", state.altitude()); if (cal_data.ground_altitude != AltosLib.MISSING)