summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-01-02 22:35:41 -0800
committerKeith Packard <keithp@keithp.com>2012-01-02 22:35:41 -0800
commitbe5e0768a43327a71d994fdeb120a41fa0f342a9 (patch)
treeb48a1138c844db1eec035eede03f797b7058040c
parente2b746e1a69eb672c02b63bb549bb2f8ece5b8e9 (diff)
altosui: Move telemetry reader &c to altoslib
Move all of the device and file reading code into altoslib Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altosui/AltosScanUI.java6
-rw-r--r--altosui/AltosSerial.java1
-rw-r--r--altosui/AltosUI.java2
-rw-r--r--altosui/Makefile.am5
-rw-r--r--altosui/altoslib/Makefile.am5
-rw-r--r--altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFile.java (renamed from altosui/AltosFile.java)7
-rw-r--r--altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFlightReader.java (renamed from altosui/AltosFlightReader.java)25
-rw-r--r--altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java5
-rw-r--r--altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLog.java (renamed from altosui/AltosLog.java)7
-rw-r--r--altosui/altoslib/src/org/altusmetrum/AltosLib/AltosReplayReader.java (renamed from altosui/AltosReplayReader.java)12
-rw-r--r--altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java (renamed from altosui/AltosTelemetryReader.java)56
11 files changed, 61 insertions, 70 deletions
diff --git a/altosui/AltosScanUI.java b/altosui/AltosScanUI.java
index 1be8aa26..44eeda6d 100644
--- a/altosui/AltosScanUI.java
+++ b/altosui/AltosScanUI.java
@@ -208,7 +208,7 @@ public class AltosScanUI
}
void next() throws InterruptedException, TimeoutException {
- reader.serial.set_monitor(false);
+ reader.set_monitor(false);
Thread.sleep(100);
++frequency_index;
if (frequency_index >= frequencies.length ||
@@ -224,7 +224,7 @@ public class AltosScanUI
}
set_frequency();
set_label();
- reader.serial.set_monitor(true);
+ reader.set_monitor(true);
}
@@ -312,7 +312,7 @@ public class AltosScanUI
if (device == null)
return false;
try {
- reader = new AltosTelemetryReader(device);
+ reader = new AltosTelemetryReader(new AltosSerial(device));
set_frequency();
set_telemetry();
try {
diff --git a/altosui/AltosSerial.java b/altosui/AltosSerial.java
index 5ca02a45..9ed4afdb 100644
--- a/altosui/AltosSerial.java
+++ b/altosui/AltosSerial.java
@@ -269,6 +269,7 @@ public class AltosSerial extends AltosLink implements Runnable {
device = in_device;
frame = null;
serial = device.getSerial();
+ name = device.toShortString();
open();
}
}
diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java
index 95aab1d0..125653d3 100644
--- a/altosui/AltosUI.java
+++ b/altosui/AltosUI.java
@@ -48,7 +48,7 @@ public class AltosUI extends AltosFrame {
void telemetry_window(AltosDevice device) {
try {
- AltosFlightReader reader = new AltosTelemetryReader(device);
+ AltosFlightReader reader = new AltosTelemetryReader(new AltosSerial(device));
if (reader != null)
new AltosFlightUI(voice, reader, device.getSerial());
} catch (FileNotFoundException ee) {
diff --git a/altosui/Makefile.am b/altosui/Makefile.am
index cac75111..a74fba9d 100644
--- a/altosui/Makefile.am
+++ b/altosui/Makefile.am
@@ -39,12 +39,10 @@ altosui_JAVA = \
AltosEepromManage.java \
AltosEepromMonitor.java \
AltosEepromSelect.java \
- AltosFile.java \
AltosFlash.java \
AltosFlashUI.java \
AltosFlightDisplay.java \
AltosFlightInfoTableModel.java \
- AltosFlightReader.java \
AltosFlightStats.java \
AltosFlightStatsTable.java \
AltosFlightStatus.java \
@@ -63,11 +61,9 @@ altosui_JAVA = \
AltosLanded.java \
AltosLed.java \
AltosLights.java \
- AltosLog.java \
AltosPad.java \
AltosUIPreferences.java \
AltosReader.java \
- AltosReplayReader.java \
AltosRomconfig.java \
AltosRomconfigUI.java \
AltosScanUI.java \
@@ -78,7 +74,6 @@ altosui_JAVA = \
AltosSiteMapPreload.java \
AltosSiteMapCache.java \
AltosSiteMapTile.java \
- AltosTelemetryReader.java \
AltosUI.java \
AltosUIListener.java \
AltosFrame.java \
diff --git a/altosui/altoslib/Makefile.am b/altosui/altoslib/Makefile.am
index 40ec3af8..2ddd24e6 100644
--- a/altosui/altoslib/Makefile.am
+++ b/altosui/altoslib/Makefile.am
@@ -19,21 +19,26 @@ AltosLib_JAVA = \
$(SRC)/AltosEepromLog.java \
$(SRC)/AltosEepromRecord.java \
$(SRC)/AltosEepromTeleScience.java \
+ $(SRC)/AltosFile.java \
+ $(SRC)/AltosFlightReader.java \
$(SRC)/AltosFrequency.java \
$(SRC)/AltosGPS.java \
$(SRC)/AltosGPSSat.java \
$(SRC)/AltosGreatCircle.java \
$(SRC)/AltosLine.java \
$(SRC)/AltosLink.java \
+ $(SRC)/AltosLog.java \
$(SRC)/AltosParse.java \
$(SRC)/AltosPreferences.java \
$(SRC)/AltosRecordCompanion.java \
$(SRC)/AltosRecordIterable.java \
$(SRC)/AltosRecord.java \
+ $(SRC)/AltosReplayReader.java \
$(SRC)/AltosState.java \
$(SRC)/AltosTelemetry.java \
$(SRC)/AltosTelemetryIterable.java \
$(SRC)/AltosTelemetryMap.java \
+ $(SRC)/AltosTelemetryReader.java \
$(SRC)/AltosTelemetryRecordCompanion.java \
$(SRC)/AltosTelemetryRecordConfiguration.java \
$(SRC)/AltosTelemetryRecordGeneral.java \
diff --git a/altosui/AltosFile.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFile.java
index 4cf7de3c..d2e4f2f7 100644
--- a/altosui/AltosFile.java
+++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFile.java
@@ -15,17 +15,16 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package altosui;
+package org.altusmetrum.AltosLib;
import java.lang.*;
import java.io.File;
import java.util.*;
-import org.altusmetrum.AltosLib.*;
-class AltosFile extends File {
+public class AltosFile extends File {
public AltosFile(int year, int month, int day, int serial, int flight, String extension) {
- super (AltosUIPreferences.logdir(),
+ super (AltosPreferences.logdir(),
String.format("%04d-%02d-%02d-serial-%03d-flight-%03d.%s",
year, month, day, serial, flight, extension));
}
diff --git a/altosui/AltosFlightReader.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFlightReader.java
index 1939823d..04bd79a7 100644
--- a/altosui/AltosFlightReader.java
+++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFlightReader.java
@@ -15,34 +15,33 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package altosui;
+package org.altusmetrum.AltosLib;
import java.lang.*;
import java.text.*;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.AltosLib.*;
public class AltosFlightReader {
- String name;
+ public String name;
- int serial;
+ public int serial;
- void init() { }
+ public void init() { }
- AltosRecord read() throws InterruptedException, ParseException, AltosCRCException, IOException { return null; }
+ public AltosRecord read() throws InterruptedException, ParseException, AltosCRCException, IOException { return null; }
- void close(boolean interrupted) { }
+ public void close(boolean interrupted) { }
- void set_frequency(double frequency) throws InterruptedException, TimeoutException { }
+ public void set_frequency(double frequency) throws InterruptedException, TimeoutException { }
- void save_frequency() { }
+ public void save_frequency() { }
- void set_telemetry(int telemetry) { }
+ public void set_telemetry(int telemetry) { }
- void save_telemetry() { }
+ public void save_telemetry() { }
- void update(AltosState state) throws InterruptedException { }
+ public void update(AltosState state) throws InterruptedException { }
- File backing_file() { return null; }
+ public File backing_file() { return null; }
}
diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java
index 49585975..9b80e916 100644
--- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java
+++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java
@@ -24,6 +24,8 @@ import java.util.*;
import java.text.*;
public abstract class AltosLink {
+ public abstract void print(String data);
+ public abstract void close();
public static boolean debug = false;
public static void set_debug(boolean in_debug) { debug = in_debug; }
@@ -43,8 +45,6 @@ public abstract class AltosLink {
set_monitor(false);
}
- public abstract void print(String data);
-
public void printf(String format, Object ... arguments) {
String line = String.format(format, arguments);
if (debug)
@@ -207,6 +207,7 @@ public abstract class AltosLink {
public boolean remote;
public int serial;
+ public String name;
public void start_remote() throws TimeoutException, InterruptedException {
if (debug)
diff --git a/altosui/AltosLog.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLog.java
index 740f0be6..08c45ca8 100644
--- a/altosui/AltosLog.java
+++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLog.java
@@ -15,14 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package altosui;
+package org.altusmetrum.AltosLib;
import java.io.*;
import java.lang.*;
import java.util.*;
import java.text.ParseException;
import java.util.concurrent.LinkedBlockingQueue;
-import org.altusmetrum.AltosLib.*;
/*
* This creates a thread to capture telemetry data and write it to
@@ -114,10 +113,10 @@ class AltosLog implements Runnable {
close();
}
- public AltosLog (AltosSerial s) {
+ public AltosLog (AltosLink link) {
pending_queue = new LinkedBlockingQueue<String> ();
input_queue = new LinkedBlockingQueue<AltosLine> ();
- s.add_monitor(input_queue);
+ link.add_monitor(input_queue);
serial = -1;
flight = -1;
log_file = null;
diff --git a/altosui/AltosReplayReader.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosReplayReader.java
index f92c0328..1585f9eb 100644
--- a/altosui/AltosReplayReader.java
+++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosReplayReader.java
@@ -15,19 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package altosui;
+package org.altusmetrum.AltosLib;
-import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.table.*;
import java.io.*;
import java.util.*;
import java.text.*;
import java.util.prefs.*;
import java.util.concurrent.LinkedBlockingQueue;
-import org.altusmetrum.AltosLib.*;
/*
* Open an existing telemetry file and replay it in realtime
@@ -46,9 +40,9 @@ public class AltosReplayReader extends AltosFlightReader {
public void close (boolean interrupted) {
}
- void update(AltosState state) throws InterruptedException {
+ public void update(AltosState state) throws InterruptedException {
/* Make it run in realtime after the rocket leaves the pad */
- if (state.state > Altos.ao_flight_pad)
+ if (state.state > AltosLib.ao_flight_pad)
Thread.sleep((int) (Math.min(state.time_change,10) * 1000));
}
diff --git a/altosui/AltosTelemetryReader.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java
index 9709007b..d9b7c4b9 100644
--- a/altosui/AltosTelemetryReader.java
+++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java
@@ -15,17 +15,15 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package altosui;
+package org.altusmetrum.AltosLib;
import java.lang.*;
import java.text.*;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.AltosLib.*;
-class AltosTelemetryReader extends AltosFlightReader {
- AltosDevice device;
- AltosSerial serial;
+public class AltosTelemetryReader extends AltosFlightReader {
+ AltosLink link;
AltosLog log;
AltosRecord previous;
double frequency;
@@ -33,7 +31,7 @@ class AltosTelemetryReader extends AltosFlightReader {
LinkedBlockingQueue<AltosLine> telem;
- AltosRecord read() throws InterruptedException, ParseException, AltosCRCException, IOException {
+ public AltosRecord read() throws InterruptedException, ParseException, AltosCRCException, IOException {
AltosLine l = telem.take();
if (l.line == null)
throw new IOException("IO error");
@@ -42,52 +40,52 @@ class AltosTelemetryReader extends AltosFlightReader {
return next;
}
- void flush() {
+ public void flush() {
telem.clear();
}
- void close(boolean interrupted) {
- serial.remove_monitor(telem);
+ public void close(boolean interrupted) {
+ link.remove_monitor(telem);
log.close();
- serial.close();
+ link.close();
}
public void set_frequency(double in_frequency) throws InterruptedException, TimeoutException {
frequency = in_frequency;
- serial.set_radio_frequency(frequency);
+ link.set_radio_frequency(frequency);
}
- void save_frequency() {
- AltosPreferences.set_frequency(device.getSerial(), frequency);
+ public void save_frequency() {
+ AltosPreferences.set_frequency(link.serial, frequency);
}
- void set_telemetry(int in_telemetry) {
+ public void set_telemetry(int in_telemetry) {
telemetry = in_telemetry;
- serial.set_telemetry(telemetry);
+ link.set_telemetry(telemetry);
}
- void save_telemetry() {
- AltosPreferences.set_telemetry(device.getSerial(), telemetry);
+ public void save_telemetry() {
+ AltosPreferences.set_telemetry(link.serial, telemetry);
}
- File backing_file() {
+ public void set_monitor(boolean monitor) {
+ link.set_monitor(monitor);
+ }
+
+ public File backing_file() {
return log.file();
}
- public AltosTelemetryReader (AltosDevice in_device)
- throws FileNotFoundException, AltosSerialInUseException, IOException, InterruptedException, TimeoutException {
- device = in_device;
- serial = new AltosSerial(device);
- log = new AltosLog(serial);
- name = device.toShortString();
+ public AltosTelemetryReader (AltosLink in_link)
+ throws IOException, InterruptedException, TimeoutException {
+ log = new AltosLog(link);
+ name = link.name;
previous = null;
-
telem = new LinkedBlockingQueue<AltosLine>();
- frequency = AltosPreferences.frequency(device.getSerial());
+ frequency = AltosPreferences.frequency(link.serial);
set_frequency(frequency);
- telemetry = AltosPreferences.telemetry(device.getSerial());
+ telemetry = AltosPreferences.telemetry(link.serial);
set_telemetry(telemetry);
- serial.set_callsign(AltosUIPreferences.callsign());
- serial.add_monitor(telem);
+ link.add_monitor(telem);
}
}