diff options
| author | Bdale Garbee <bdale@gag.com> | 2017-07-21 17:44:03 -0600 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2017-07-21 17:44:03 -0600 | 
| commit | c8dbcaf69cd538a31ab6e2b568237ae7c8656a9a (patch) | |
| tree | 213ec02db2e80f2e8c39772c0bde95d802900e53 /altoslib/AltosTelemetryReader.java | |
| parent | 0cbfa444a9f9159cb509bb47ca5590fc1d709f64 (diff) | |
| parent | ea3b5815b27005b2f4c3034715f656d28ea8534e (diff) | |
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'altoslib/AltosTelemetryReader.java')
| -rw-r--r-- | altoslib/AltosTelemetryReader.java | 34 | 
1 files changed, 22 insertions, 12 deletions
| diff --git a/altoslib/AltosTelemetryReader.java b/altoslib/AltosTelemetryReader.java index 6a93c2c3..26fe4f26 100644 --- a/altoslib/AltosTelemetryReader.java +++ b/altoslib/AltosTelemetryReader.java @@ -16,19 +16,20 @@   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.   */ -package org.altusmetrum.altoslib_11; +package org.altusmetrum.altoslib_12;  import java.text.*;  import java.io.*;  import java.util.concurrent.*;  public class AltosTelemetryReader extends AltosFlightReader { -	AltosLink	link; -	AltosLog	log; -	double		frequency; -	int		telemetry; -	int		telemetry_rate; -	AltosState	state = null; +	AltosLink		link; +	AltosLog		log; +	double			frequency; +	int			telemetry; +	int			telemetry_rate; +	private AltosState	state = null; +	private AltosCalData	cal_data = null;  	LinkedBlockingQueue<AltosLine> telem; @@ -40,14 +41,22 @@ public class AltosTelemetryReader extends AltosFlightReader {  				throw new IOException("IO error");  		} while (!link.get_monitor());  		AltosTelemetry	telem = AltosTelemetry.parse(l.line); -		if (state == null) -			state = new AltosState(); -		else -			state = state.clone(); -		telem.update_state(state); +		if (state == null) { +			System.out.printf("Make state\n"); +			state = new AltosState(cal_data()); +		} +		telem.provide_data(state);  		return state;  	} +	public AltosCalData cal_data() { +		if (cal_data == null) { +			System.out.printf("Make cal data\n"); +			cal_data = new AltosCalData(); +		} +		return cal_data; +	} +  	public void flush() {  		telem.clear();  	} @@ -55,6 +64,7 @@ public class AltosTelemetryReader extends AltosFlightReader {  	public void reset() {  		flush();  		state = null; +		cal_data = null;  	}  	public void close(boolean interrupted) { | 
