diff options
| author | Keith Packard <keithp@keithp.com> | 2017-09-12 13:35:25 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-09-12 13:35:25 -0700 | 
| commit | 4151c30e1294c0dda3aa02e7ac23b9616f25a4d0 (patch) | |
| tree | 0a70e82926a2665de9f4e35a6332cf2cce34c6e3 | |
| parent | d84f5e576e83a2b965d0e9752a9bbef100954815 (diff) | |
altoslib: Make receive frequency available in telem data
This lets AltosDroid record which frequency each station was heard on.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | altoslib/AltosDataListener.java | 5 | ||||
| -rw-r--r-- | altoslib/AltosTelemetry.java | 9 | 
2 files changed, 14 insertions, 0 deletions
| diff --git a/altoslib/AltosDataListener.java b/altoslib/AltosDataListener.java index 5f89b3e4..be6d840f 100644 --- a/altoslib/AltosDataListener.java +++ b/altoslib/AltosDataListener.java @@ -20,6 +20,7 @@ public abstract class AltosDataListener {  	public double		time = AltosLib.MISSING;  	public int		state = AltosLib.MISSING; +	public double		frequency = AltosLib.MISSING;  	public void set_tick(int tick) {  		cal_data.set_tick(tick); @@ -55,6 +56,10 @@ public abstract class AltosDataListener {  		cal_data().set_flight(flight);  	} +	public void set_frequency(double frequency) { +		this.frequency = frequency; +	} +  	/* Called after all records are captured */  	public void finish() {  	} diff --git a/altoslib/AltosTelemetry.java b/altoslib/AltosTelemetry.java index 7d576942..f17e1171 100644 --- a/altoslib/AltosTelemetry.java +++ b/altoslib/AltosTelemetry.java @@ -38,6 +38,9 @@ public abstract class AltosTelemetry implements AltosDataProvider {  	/* Mark when we received the packet */  	long		received_time; +	/* Mark frequency packet was received on */ +	public double		frequency = AltosLib.MISSING; +  	static boolean cksum(int[] bytes) {  		int	sum = 0x5a;  		for (int i = 1; i < bytes.length - 1; i++) @@ -50,6 +53,8 @@ public abstract class AltosTelemetry implements AltosDataProvider {  		listener.set_serial(serial());  		if (listener.state == AltosLib.ao_flight_invalid)  			listener.set_state(AltosLib.ao_flight_startup); +		if (frequency != AltosLib.MISSING) +			listener.set_frequency(frequency);  		listener.set_tick(tick());  		listener.set_rssi(rssi(), status());  		listener.set_received_time(received_time); @@ -108,6 +113,10 @@ public abstract class AltosTelemetry implements AltosDataProvider {  		return telem;  	} +	public void set_frequency(double frequency) { +		this.frequency = frequency; +	} +  	public AltosTelemetry() {  		this.received_time = System.currentTimeMillis();  	} | 
