diff options
| author | Keith Packard <keithp@keithp.com> | 2014-05-05 23:41:43 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2014-05-08 20:44:10 -0700 | 
| commit | c9d6a1fbb3148f03864df6d1ed5f6b6dccd7b383 (patch) | |
| tree | ba924fd78d835d26c3ee7f1aa1e508d1e528c309 /altosui/AltosGraphDataPoint.java | |
| parent | 39fbc4cb1d4c92522c90aa5e36fd62a4827d8306 (diff) | |
altosui: Add GPS course, ground speed and climb rate to graphs
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosGraphDataPoint.java')
| -rw-r--r-- | altosui/AltosGraphDataPoint.java | 30 | 
1 files changed, 25 insertions, 5 deletions
| diff --git a/altosui/AltosGraphDataPoint.java b/altosui/AltosGraphDataPoint.java index a771db53..a0b0925c 100644 --- a/altosui/AltosGraphDataPoint.java +++ b/altosui/AltosGraphDataPoint.java @@ -50,7 +50,10 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {  	public static final int data_mag_y = 23;  	public static final int data_mag_z = 24;  	public static final int data_orient = 25; -	public static final int data_ignitor_0 = 26; +	public static final int data_gps_course = 26; +	public static final int data_gps_ground_speed = 27; +	public static final int data_gps_climb_rate = 28; +	public static final int data_ignitor_0 = 29;  	public static final int data_ignitor_num = 32;  	public static final int data_ignitor_max = data_ignitor_0 + data_ignitor_num - 1;  	public static final int data_ignitor_fired_0 = data_ignitor_0 + data_ignitor_num; @@ -166,6 +169,24 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {  		case data_orient:  			y = state.orient();  			break; +		case data_gps_course: +			if (state.gps != null) +				y = state.gps.course; +			else +				y = AltosLib.MISSING; +			break; +		case data_gps_ground_speed: +			if (state.gps != null) +				y = state.gps.ground_speed; +			else +				y = AltosLib.MISSING; +			break; +		case data_gps_climb_rate: +			if (state.gps != null) +				y = state.gps.climb_rate; +			else +				y = AltosLib.MISSING; +			break;  		default:  			if (data_ignitor_0 <= index && index <= data_ignitor_max) {  				int ignitor = index - data_ignitor_0; @@ -190,9 +211,8 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {  	public int id(int index) {  		if (index == data_state) {  			int s = state.state; -			if (s < Altos.ao_flight_boost || s > Altos.ao_flight_landed) -				return -1; -			return s; +			if (Altos.ao_flight_boost <= s && s <= Altos.ao_flight_landed) +				return s;  		} else if (data_ignitor_fired_0 <= index && index <= data_ignitor_fired_max) {  			int ignitor = index - data_ignitor_fired_0;  			if (state.ignitor_voltage != null && ignitor < state.ignitor_voltage.length) { @@ -202,7 +222,7 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {  				}  			}  		} -		return 0; +		return -1;  	}  	public String id_name(int index) { | 
