diff options
| author | Keith Packard <keithp@keithp.com> | 2012-01-02 22:35:41 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-06-02 19:37:26 -0700 | 
| commit | 5270a0f1416baef5fde08547c6c98d97f973ae95 (patch) | |
| tree | b9fbfcebf0c9b1869c162ccc9b55d1c7b1579642 | |
| parent | 93305717ac4c993c88d9144d797ca64d26db97c5 (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.java | 6 | ||||
| -rw-r--r-- | altosui/AltosSerial.java | 1 | ||||
| -rw-r--r-- | altosui/AltosUI.java | 2 | ||||
| -rw-r--r-- | altosui/Makefile.am | 6 | ||||
| -rw-r--r-- | altosui/altoslib/Makefile.am | 5 | ||||
| -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) | 27 | ||||
| -rw-r--r-- | altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java | 5 | ||||
| -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, 62 insertions, 72 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 cc384586..54cdcba7 100644 --- a/altosui/AltosSerial.java +++ b/altosui/AltosSerial.java @@ -396,6 +396,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 25c6c36b..538f8734 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 270fe114..2946890b 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -49,12 +49,10 @@ altosui_JAVA = \  	AltosIMU.java \  	AltosMag.java \  	AltosEepromSelect.java \ -	AltosFile.java \  	AltosFlash.java \  	AltosFlashUI.java \  	AltosFlightDisplay.java \  	AltosFlightInfoTableModel.java \ -	AltosFlightReader.java \  	AltosFlightStats.java \  	AltosFlightStatsTable.java \  	AltosFlightStatus.java \ @@ -74,12 +72,9 @@ altosui_JAVA = \  	AltosLanded.java \  	AltosLed.java \  	AltosLights.java \ -	AltosLog.java \  	AltosPad.java \  	AltosUIPreferences.java \  	AltosReader.java \ -	AltosTelemetryReader.java \ -	AltosReplayReader.java \  	AltosRomconfig.java \  	AltosRomconfigUI.java \  	AltosScanUI.java \ @@ -90,7 +85,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 1ac9f848..3fdea469 100644 --- a/altosui/AltosFlightReader.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFlightReader.java @@ -15,36 +15,35 @@   * 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 { } -	boolean supports_telemetry(int telemetry) { return false; } +	public boolean supports_telemetry(int telemetry) { return false; } -	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 dc7e4a75..2cc2822a 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,19 +40,19 @@ 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);  	}  	public boolean supports_telemetry(int telemetry) { @@ -84,37 +82,37 @@ class AltosTelemetryReader extends AltosFlightReader {  		}  	} -	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);  	}  } | 
