diff options
| author | Keith Packard <keithp@keithp.com> | 2017-05-27 23:30:13 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-05-27 23:30:13 -0700 | 
| commit | 9329cb607e36843385e92b677f095c451d50297c (patch) | |
| tree | 220bc7d49e5f34bc406f0eec8274f5761be723b7 /altoslib/AltosFlightSeries.java | |
| parent | 855a7d243a5a85728a7b23fdfe9485d4ecaf71cf (diff) | |
altoslib: Change how speed/accel are computed from pressure
Filter *then* differentiate. This works way better that doing things
in the other order.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosFlightSeries.java')
| -rw-r--r-- | altoslib/AltosFlightSeries.java | 72 | 
1 files changed, 36 insertions, 36 deletions
| diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index 5cf552fc..f8665fdf 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -135,7 +135,7 @@ public class AltosFlightSeries extends AltosDataListener {  		return false;  	} -	AltosTimeSeries state_series; +	public AltosTimeSeries state_series;  	public static final String state_name = "State"; @@ -148,7 +148,7 @@ public class AltosFlightSeries extends AltosDataListener {  		state_series.add(time(), state);  	} -	AltosTimeSeries	accel_series; +	public AltosTimeSeries	accel_series;  	public static final String accel_name = "Accel"; @@ -164,21 +164,21 @@ public class AltosFlightSeries extends AltosDataListener {  			return;  		if (speed_series != null) { -			AltosTimeSeries temp_series = make_series(accel_name, AltosConvert.accel); -			speed_series.differentiate(temp_series); +			AltosTimeSeries temp_series = make_series(speed_name, AltosConvert.speed); +			speed_series.filter(temp_series, 2.0);  			accel_series = add_series(accel_name, AltosConvert.accel); -			temp_series.filter(accel_series, 0.25); +			temp_series.differentiate(accel_series);  		}  	}  	public void set_received_time(long received_time) {  	} -	AltosTimeSeries rssi_series; +	public AltosTimeSeries rssi_series;  	public static final String rssi_name = "RSSI"; -	AltosTimeSeries status_series; +	public AltosTimeSeries status_series;  	public static final String status_name = "Radio Status"; @@ -191,15 +191,15 @@ public class AltosFlightSeries extends AltosDataListener {  		status_series.add(time(), status);  	} -	AltosTimeSeries pressure_series; +	public AltosTimeSeries pressure_series;  	public static final String pressure_name = "Pressure"; -	AltosTimeSeries altitude_series; +	public AltosTimeSeries altitude_series;  	public static final String altitude_name = "Altitude"; -	AltosTimeSeries height_series; +	public AltosTimeSeries height_series;  	public static final String height_name = "Height"; @@ -223,7 +223,7 @@ public class AltosFlightSeries extends AltosDataListener {  		}  	} -	AltosTimeSeries speed_series; +	public AltosTimeSeries speed_series;  	public static final String speed_name = "Speed"; @@ -235,11 +235,11 @@ public class AltosFlightSeries extends AltosDataListener {  		AltosTimeSeries accel_speed_series = null;  		if (altitude_series != null) { -			AltosTimeSeries temp_series = make_series(speed_name, AltosConvert.speed); -			altitude_series.differentiate(temp_series); +			AltosTimeSeries temp_series = make_series(altitude_name, AltosConvert.height); +			altitude_series.filter(temp_series, 1.0);  			alt_speed_series = make_series(speed_name, AltosConvert.speed); -			temp_series.filter(alt_speed_series, 10.0); +			temp_series.differentiate(alt_speed_series);  		}  		if (accel_series != null) {  			AltosTimeSeries temp_series = make_series(speed_name, AltosConvert.speed); @@ -282,7 +282,7 @@ public class AltosFlightSeries extends AltosDataListener {  			add_series(speed_series);  	} -	AltosTimeSeries	kalman_height_series, kalman_speed_series, kalman_accel_series; +	public AltosTimeSeries	kalman_height_series, kalman_speed_series, kalman_accel_series;  	public static final String kalman_height_name = "Kalman Height";  	public static final String kalman_speed_name = "Kalman Speed"; @@ -299,7 +299,7 @@ public class AltosFlightSeries extends AltosDataListener {  		kalman_accel_series.add(time(), acceleration);  	} -	AltosTimeSeries thrust_series; +	public AltosTimeSeries thrust_series;  	public static final String thrust_name = "Thrust"; @@ -309,7 +309,7 @@ public class AltosFlightSeries extends AltosDataListener {  		thrust_series.add(time(), N);  	} -	AltosTimeSeries temperature_series; +	public AltosTimeSeries temperature_series;  	public static final String temperature_name = "Temperature"; @@ -319,7 +319,7 @@ public class AltosFlightSeries extends AltosDataListener {  		temperature_series.add(time(), deg_c);  	} -	AltosTimeSeries battery_voltage_series; +	public AltosTimeSeries battery_voltage_series;  	public static final String battery_voltage_name = "Battery Voltage"; @@ -331,7 +331,7 @@ public class AltosFlightSeries extends AltosDataListener {  		battery_voltage_series.add(time(), volts);  	} -	AltosTimeSeries apogee_voltage_series; +	public AltosTimeSeries apogee_voltage_series;  	public static final String apogee_voltage_name = "Apogee Voltage"; @@ -343,7 +343,7 @@ public class AltosFlightSeries extends AltosDataListener {  		apogee_voltage_series.add(time(), volts);  	} -	AltosTimeSeries main_voltage_series; +	public AltosTimeSeries main_voltage_series;  	public static final String main_voltage_name = "Main Voltage"; @@ -367,15 +367,15 @@ public class AltosFlightSeries extends AltosDataListener {  		return gps;  	} -	AltosTimeSeries	sats_in_view; -	AltosTimeSeries sats_in_soln; -	AltosTimeSeries gps_altitude; -	AltosTimeSeries gps_height; -	AltosTimeSeries gps_ground_speed; -	AltosTimeSeries gps_ascent_rate; -	AltosTimeSeries gps_course; -	AltosTimeSeries gps_speed; -	AltosTimeSeries gps_pdop, gps_vdop, gps_hdop; +	public AltosTimeSeries	sats_in_view; +	public AltosTimeSeries sats_in_soln; +	public AltosTimeSeries gps_altitude; +	public AltosTimeSeries gps_height; +	public AltosTimeSeries gps_ground_speed; +	public AltosTimeSeries gps_ascent_rate; +	public AltosTimeSeries gps_course; +	public AltosTimeSeries gps_speed; +	public AltosTimeSeries gps_pdop, gps_vdop, gps_hdop;  	public static final String sats_in_view_name = "Satellites in view";  	public static final String sats_in_soln_name = "Satellites in solution"; @@ -443,19 +443,19 @@ public class AltosFlightSeries extends AltosDataListener {  	public static final String accel_across_name = "Accel Across";  	public static final String accel_through_name = "Accel Through"; -	AltosTimeSeries accel_along, accel_across, accel_through; +	public AltosTimeSeries accel_along, accel_across, accel_through;  	public static final String gyro_roll_name = "Roll Rate";  	public static final String gyro_pitch_name = "Pitch Rate";  	public static final String gyro_yaw_name = "Yaw Rate"; -	AltosTimeSeries gyro_roll, gyro_pitch, gyro_yaw; +	public AltosTimeSeries gyro_roll, gyro_pitch, gyro_yaw;  	public static final String mag_along_name = "Magnetic Field Along";  	public static final String mag_across_name = "Magnetic Field Across";  	public static final String mag_through_name = "Magnetic Field Through"; -	AltosTimeSeries mag_along, mag_across, mag_through; +	public AltosTimeSeries mag_along, mag_across, mag_through;  	public  void set_accel(double along, double across, double through) {  		if (accel_along == null) { @@ -495,7 +495,7 @@ public class AltosFlightSeries extends AltosDataListener {  	public static final String orient_name = "Tilt Angle"; -	AltosTimeSeries orient_series; +	public AltosTimeSeries orient_series;  	public void set_orient(double orient) {  		if (orient_series == null) @@ -505,7 +505,7 @@ public class AltosFlightSeries extends AltosDataListener {  	public static final String pyro_voltage_name = "Pyro Voltage"; -	AltosTimeSeries pyro_voltage; +	public AltosTimeSeries pyro_voltage;  	public  void set_pyro_voltage(double volts) {  		if (pyro_voltage == null) @@ -531,7 +531,7 @@ public class AltosFlightSeries extends AltosDataListener {  		return igniter_voltage_names[channel];  	} -	AltosTimeSeries[] igniter_voltage; +	public AltosTimeSeries[] igniter_voltage;  	public  void set_igniter_voltage(double[] voltage) {  		int channels = voltage.length; @@ -553,7 +553,7 @@ public class AltosFlightSeries extends AltosDataListener {  	public static final String pyro_fired_name = "Pyro Channel State"; -	AltosTimeSeries pyro_fired_series; +	public AltosTimeSeries pyro_fired_series;  	int	last_pyro_mask; | 
