From bbc4940730e6b431f1b9ccd9bbaf9faa0ffb2b1f Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 28 Dec 2013 10:15:26 -0800 Subject: [PATCH] altosui: Add orient to ascent and info table views This adds 'tilt angle' to both ascent and info table views Signed-off-by: Keith Packard --- altosui/AltosAscent.java | 32 ++++++++++++++++++++++++-------- altosui/AltosInfoTable.java | 4 ++++ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/altosui/AltosAscent.java b/altosui/AltosAscent.java index c8ce2caa..3f74fdd1 100644 --- a/altosui/AltosAscent.java +++ b/altosui/AltosAscent.java @@ -271,6 +271,17 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay { Accel accel; + class Orient extends AscentValueHold { + void show (AltosState state, AltosListenerState listener_state) { + show(AltosConvert.orient, state.orient()); + } + public Orient (GridBagLayout layout, int y) { + super (layout, y, "Tilt Angle"); + } + } + + Orient orient; + String pos(double p, String pos, String neg) { String h = pos; if (p < 0) { @@ -342,6 +353,7 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay { height.reset(); speed.reset(); accel.reset(); + orient.reset(); } public void set_font() { @@ -354,6 +366,7 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay { height.set_font(); speed.set_font(); accel.set_font(); + orient.set_font(); } public void show(AltosState state, AltosListenerState listener_state) { @@ -375,6 +388,7 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay { apogee.hide(); speed.show(state, listener_state); accel.show(state, listener_state); + orient.show(state, listener_state); } public void labels(GridBagLayout layout, int y) { @@ -410,13 +424,15 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay { * lon * height */ - labels(layout, 0); - height = new Height(layout, 1); - speed = new Speed(layout, 2); - accel = new Accel(layout, 3); - lat = new Lat(layout, 4); - lon = new Lon(layout, 5); - apogee = new Apogee(layout, 6); - main = new Main(layout, 7); + int y = 0; + labels(layout, y++); + height = new Height(layout, y++); + speed = new Speed(layout, y++); + accel = new Accel(layout, y++); + orient = new Orient(layout, y++); + lat = new Lat(layout, y++); + lon = new Lon(layout, y++); + apogee = new Apogee(layout, y++); + main = new Main(layout, y++); } } diff --git a/altosui/AltosInfoTable.java b/altosui/AltosInfoTable.java index cf0e4c56..7ba62d01 100644 --- a/altosui/AltosInfoTable.java +++ b/altosui/AltosInfoTable.java @@ -125,6 +125,10 @@ public class AltosInfoTable extends JTable { info_add_row(0, "Speed", "%8.1f m/s", state.speed()); if (state.max_speed() != AltosLib.MISSING) info_add_row(0, "Max Speed", "%8.1f m/s", state.max_speed()); + if (state.orient() != AltosLib.MISSING) + info_add_row(0, "Tilt", "%4.0f °", state.orient()); + if (state.max_orient() != AltosLib.MISSING) + info_add_row(0, "Max Tilt", "%4.0f °", state.max_orient()); if (state.temperature != AltosLib.MISSING) info_add_row(0, "Temperature", "%9.2f °C", state.temperature); if (state.battery_voltage != AltosLib.MISSING) -- 2.30.2