diff options
| author | Bdale Garbee <bdale@gag.com> | 2017-05-12 12:58:18 -0600 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-05-19 21:41:40 -0700 | 
| commit | e8794ab1d512418e312a1a779777119e20dc8c38 (patch) | |
| tree | 3cdeeabc670ce74e29b8ef0012320ee0d2bcd48e | |
| parent | bbe0c2e0a3216f40f49af34b756330ba28d7c7e1 (diff) | |
add thrust as a graphable time series type
| -rw-r--r-- | altoslib/AltosEepromRecordFireTwo.java | 2 | ||||
| -rw-r--r-- | altoslib/AltosFlightListener.java | 1 | ||||
| -rw-r--r-- | altoslib/AltosFlightSeries.java | 10 | ||||
| -rw-r--r-- | altoslib/AltosState.java | 20 | ||||
| -rw-r--r-- | altosuilib/AltosGraphNew.java | 15 | 
5 files changed, 46 insertions, 2 deletions
| diff --git a/altoslib/AltosEepromRecordFireTwo.java b/altoslib/AltosEepromRecordFireTwo.java index a430bd97..bfdd6cf8 100644 --- a/altoslib/AltosEepromRecordFireTwo.java +++ b/altoslib/AltosEepromRecordFireTwo.java @@ -82,7 +82,7 @@ public class AltosEepromRecordFireTwo extends AltosEepromRecord {  			break;  		case AltosLib.AO_LOG_SENSOR:  			state.set_pressure(adc_to_pa(pres())); -			state.set_accel(adc_to_n(thrust())); +			state.set_thrust(adc_to_n(thrust()));  			break;  		}  	} diff --git a/altoslib/AltosFlightListener.java b/altoslib/AltosFlightListener.java index ff5e4c3d..f7705165 100644 --- a/altoslib/AltosFlightListener.java +++ b/altoslib/AltosFlightListener.java @@ -62,6 +62,7 @@ public abstract class AltosFlightListener {  	public abstract void set_accel(double accel);  	public abstract void set_accel_g(double accel_plus_g, double accel_minus_g);  	public abstract void set_pressure(double pa); +	public abstract void set_thrust(double N);  	public abstract void set_temperature(double deg_c);  	public abstract void set_battery_voltage(double volts); diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index 752aa48b..0e260fb4 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -136,6 +136,16 @@ public class AltosFlightSeries extends AltosFlightListener {  		pressure_series.add(time(), pa);  	} +	AltosTimeSeries thrust_series; + +	public static final String thrust_name = "Thrust"; + +	public	void set_thrust(double N) { +		if (thrust_series == null) +			thrust_series = add_series(thrust_name, AltosConvert.force); +		thrust_series.add(time(), N); +	} +  	public  void set_temperature(double deg_c) {  	} diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 6aa77139..846bda42 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -513,6 +513,25 @@ public class AltosState extends AltosFlightListener implements Cloneable {  		pressure.set(p, time);  	} +	class AltosForce extends AltosValue { +		void set(double p, double time) { +			super.set(p, time); +		} + +		AltosForce() { +			super(); +		} +	} +	private AltosForce	thrust; + +	public double thrust() { +		return thrust.value(); +	} + +	public void set_thrust(double N) { +		thrust.set(N, time); +	} +  	public double baro_height() {  		double a = altitude();  		double g = ground_altitude(); @@ -760,6 +779,7 @@ public class AltosState extends AltosFlightListener implements Cloneable {  		ground_pressure = new AltosGroundPressure();  		altitude = new AltosAltitude();  		pressure = new AltosPressure(); +		thrust = new AltosForce();  		speed = new AltosSpeed();  		acceleration = new AltosAccel();  		orient = new AltosCValue(); diff --git a/altosuilib/AltosGraphNew.java b/altosuilib/AltosGraphNew.java index ba2dc717..2c01c466 100644 --- a/altosuilib/AltosGraphNew.java +++ b/altosuilib/AltosGraphNew.java @@ -43,6 +43,7 @@ public class AltosGraphNew extends AltosUIGraphNew {  	static final private Color range_color = new Color(100, 31, 31);  	static final private Color distance_color = new Color(100, 31, 194);  	static final private Color speed_color = new Color(31,194,31); +	static final private Color thrust_color = new Color(31,194,31);  	static final private Color accel_color = new Color(31,31,194);  	static final private Color voltage_color = new Color(194, 194, 31);  	static final private Color battery_voltage_color = new Color(194, 194, 31); @@ -82,13 +83,14 @@ public class AltosGraphNew extends AltosUIGraphNew {  	AltosUITimeSeries[] setup(AltosFlightStats stats, AltosRecordSet record_set) {  		AltosUIAxis	height_axis, speed_axis, accel_axis, voltage_axis, temperature_axis, nsat_axis, dbm_axis; -		AltosUIAxis	distance_axis, pressure_axis; +		AltosUIAxis	distance_axis, pressure_axis, thrust_axis;  		AltosUIAxis	gyro_axis, orient_axis, mag_axis;  		AltosUIAxis	course_axis, dop_axis;  		height_axis = newAxis("Height", AltosConvert.height, height_color);  		pressure_axis = newAxis("Pressure", AltosConvert.pressure, pressure_color, 0);  		speed_axis = newAxis("Speed", AltosConvert.speed, speed_color); +		thrust_axis = newAxis("Thrust", AltosConvert.force, thrust_color);  		accel_axis = newAxis("Acceleration", AltosConvert.accel, accel_color);  		voltage_axis = newAxis("Voltage", AltosConvert.voltage, voltage_color);  		temperature_axis = newAxis("Temperature", AltosConvert.temperature, temperature_color, 0); @@ -120,6 +122,11 @@ public class AltosGraphNew extends AltosUIGraphNew {  					     true,  					     pressure_axis); +		flight_series.register_extra(AltosUIFlightSeries.thrust_name, +					     thrust_color, +					     true, +					     thrust_axis); +  //		addMarker("State", AltosGraphDataPoint.data_state, state_color);  		record_set.capture_series(flight_series); @@ -139,6 +146,12 @@ public class AltosGraphNew extends AltosUIGraphNew {  				  pressure_color,  				  false,  				  pressure_axis); +			addSeries("Thrust", +				  AltosGraphDataPoint.data_thrust, +				  thrust_units, +				  thrust_color, +				  false, +				  thrust_axis);  			addSeries("Speed",  				  AltosGraphDataPoint.data_speed,  				  AltosConvert.speed, | 
