X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Faltosui%2FAltosUI.java;h=b96e16a612d0c05e2d39a7c273b1bb5ca7ac1a16;hp=40663882f3114bd25026bcdcec729f4e61e59cad;hb=22800dc094797e1e0ad99124198809d0360f7556;hpb=d8bf05f7ad55964c9bce0551e58f4ef6c9f721ad diff --git a/ao-tools/altosui/AltosUI.java b/ao-tools/altosui/AltosUI.java index 40663882..b96e16a6 100644 --- a/ao-tools/altosui/AltosUI.java +++ b/ao-tools/altosui/AltosUI.java @@ -173,7 +173,7 @@ public class AltosUI extends JFrame { else info_add_row(0, "Ground state", "wait (%d)", state.gps_waiting); - info_add_row(0, "Rocket state", "%s", state.data.state); + info_add_row(0, "Rocket state", "%s", state.data.state()); info_add_row(0, "Callsign", "%s", state.data.callsign); info_add_row(0, "Rocket serial", "%6d", state.data.serial); info_add_row(0, "Rocket flight", "%6d", state.data.flight); @@ -193,9 +193,9 @@ public class AltosUI extends JFrame { if (state.gps == null) { info_add_row(1, "GPS", "not available"); } else { - if (state.data.gps.gps_locked) + if (state.data.gps.locked) info_add_row(1, "GPS", " locked"); - else if (state.data.gps.gps_connected) + else if (state.data.gps.connected) info_add_row(1, "GPS", " unlocked"); else info_add_row(1, "GPS", " missing"); @@ -321,7 +321,7 @@ public class AltosUI extends JFrame { private void tell(AltosState state, AltosState old_state) { if (old_state == null || old_state.state != state.state) { - voice.speak(state.data.state); + voice.speak(state.data.state()); if ((old_state == null || old_state.state <= Altos.ao_flight_boost) && state.state > Altos.ao_flight_boost) { voice.speak("max speed: %d meters per second.", @@ -391,21 +391,12 @@ public class AltosUI extends JFrame { } } - class TelemetryThread extends DisplayThread { - - String readline() throws InterruptedException { return null; } - - AltosRecord read() throws InterruptedException, ParseException { - return new AltosTelemetry(readline()); - } - } - - class DeviceThread extends TelemetryThread { + class DeviceThread extends DisplayThread { AltosSerial serial; LinkedBlockingQueue telem; - String readline() throws InterruptedException { - return telem.take(); + AltosRecord read() throws InterruptedException, ParseException { + return new AltosTelemetry(telem.take()); } void close() { @@ -422,7 +413,7 @@ public class AltosUI extends JFrame { } private void ConnectToDevice() { - altos_device device = AltosDeviceDialog.show(AltosUI.this, "TeleDongle"); + AltosDevice device = AltosDeviceDialog.show(AltosUI.this, AltosDevice.BaseStation); if (device != null) { try { @@ -453,36 +444,30 @@ public class AltosUI extends JFrame { * Open an existing telemetry file and replay it in realtime */ - class ReplayTelemetryThread extends TelemetryThread { - FileInputStream replay; - - ReplayTelemetryThread(FileInputStream in, String in_name) { - replay = in; - name = in_name; - } + class ReplayThread extends DisplayThread { + AltosReader reader; + String name; - String readline() { + public AltosRecord read() { try { - String line = AltosRecord.gets(replay); - System.out.printf("telemetry line %s\n", line); - return line; - } catch (IOException ee) { + return reader.read(); + } catch (IOException ie) { JOptionPane.showMessageDialog(AltosUI.this, name, "error reading", JOptionPane.ERROR_MESSAGE); + } catch (ParseException pe) { } return null; } - void close () { - try { - replay.close(); - } catch (IOException ee) { - } + public void close () { report(); } + public ReplayThread(AltosReader in_reader, String in_name) { + reader = in_reader; + } void update(AltosState state) throws InterruptedException { /* Make it run in realtime after the rocket leaves the pad */ if (state.state > Altos.ao_flight_pad) @@ -490,24 +475,16 @@ public class AltosUI extends JFrame { } } - class ReplayEepromThread extends DisplayThread { - FileInputStream replay; - - AltosRecord read () { - return null; + class ReplayTelemetryThread extends ReplayThread { + ReplayTelemetryThread(FileInputStream in, String in_name) { + super(new AltosTelemetryReader(in), in_name); } - void close () { - try { - replay.close(); - } catch (IOException ee) { - } - report(); - } + } + class ReplayEepromThread extends ReplayThread { ReplayEepromThread(FileInputStream in, String in_name) { - replay = in; - name = in_name; + super(new AltosEepromReader(in), in_name); } }