diff options
| author | Keith Packard <keithp@keithp.com> | 2013-08-31 01:48:02 -0500 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2013-08-31 01:48:58 -0500 | 
| commit | f07f6d55edf5b97020680b3ce1d9e00bb3df64a6 (patch) | |
| tree | d701ad9e7a598d2436eb66d3cd958409c364a374 /altoslib/AltosLog.java | |
| parent | de8d9c5630ae46378c50faf97f7d2e97fe139e30 (diff) | |
altoslib/altosui: Get legacy telem working with new AltosState structure
Make AltosTelemetry work without AltosRecord
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosLog.java')
| -rw-r--r-- | altoslib/AltosLog.java | 23 | 
1 files changed, 13 insertions, 10 deletions
| diff --git a/altoslib/AltosLog.java b/altoslib/AltosLog.java index 974c9f0f..7f69bb65 100644 --- a/altoslib/AltosLog.java +++ b/altoslib/AltosLog.java @@ -57,8 +57,8 @@ public class AltosLog implements Runnable {  		return file;  	} -	boolean open (AltosRecord telem) throws IOException { -		AltosFile	a = new AltosFile(telem); +	boolean open (AltosState state) throws IOException { +		AltosFile	a = new AltosFile(state);  		log_file = new FileWriter(a, true);  		if (log_file != null) { @@ -78,22 +78,25 @@ public class AltosLog implements Runnable {  	public void run () {  		try { -			AltosRecord	previous = null; +			AltosState	state = null;  			for (;;) {  				AltosLine	line = input_queue.take();  				if (line.line == null)  					continue;  				try { -					AltosRecord	telem = AltosTelemetry.parse(line.line, previous); -					if ((telem.seen & AltosRecord.seen_flight) != 0 && -					    (telem.serial != serial || telem.flight != flight || log_file == null)) +					AltosTelemetry	telem = new AltosTelemetryLegacy(line.line); +					if (state != null) +						state = state.clone(); +					else +						state = new AltosState(); +					telem.update_state(state); +					if (state.serial != serial || state.flight != flight || log_file == null)  					{  						close_log_file(); -						serial = telem.serial; -						flight = telem.flight; -						open(telem); +						serial = state.serial; +						flight = state.flight; +						open(state);  					} -					previous = telem;  				} catch (ParseException pe) {  				} catch (AltosCRCException ce) {  				} | 
