diff options
| -rw-r--r-- | altoslib/AltosFlightStats.java | 20 | ||||
| -rw-r--r-- | altoslib/AltosTimeSeries.java | 8 | ||||
| -rw-r--r-- | src/test/ao_flight_test.c | 9 | ||||
| -rw-r--r-- | telegps/TeleGPSConfigUI.java | 13 | 
4 files changed, 39 insertions, 11 deletions
| diff --git a/altoslib/AltosFlightStats.java b/altoslib/AltosFlightStats.java index c2e4e2a3..ea1a9675 100644 --- a/altoslib/AltosFlightStats.java +++ b/altoslib/AltosFlightStats.java @@ -212,8 +212,11 @@ public class AltosFlightStats {  					add_times(series, (int) prev.value, prev.time, state.time);  				prev = state;  			} -			if (prev != null) -				add_times(series, (int) prev.value, prev.time, series.accel_series.last().time); +			if (prev != null) { +				AltosTimeValue last_accel = series.accel_series.last(); +				if (last_accel != null) +					add_times(series, (int) prev.value, prev.time, last_accel.time); +			}  		}  		for (int s = 0; s <= AltosLib.ao_flight_invalid; s++) { @@ -245,14 +248,15 @@ public class AltosFlightStats {  			has_gps = true;  			lat = pad_lat = gps.lat;  			lon = pad_lon = gps.lon; -			for (AltosGPSTimeValue gtv : series.gps_series) { -				gps = gtv.gps; -				if (gps.locked && gps.nsat >= 4) { -					lat = gps.lat; -					lon = gps.lon; +			if (series.gps_series != null) { +				for (AltosGPSTimeValue gtv : series.gps_series) { +					gps = gtv.gps; +					if (gps.locked && gps.nsat >= 4) { +						lat = gps.lat; +						lon = gps.lon; +					}  				}  			} -  		}  		max_height = AltosLib.MISSING; diff --git a/altoslib/AltosTimeSeries.java b/altoslib/AltosTimeSeries.java index b3c432fc..9f3b4d80 100644 --- a/altoslib/AltosTimeSeries.java +++ b/altoslib/AltosTimeSeries.java @@ -151,11 +151,15 @@ public class AltosTimeSeries implements Iterable<AltosTimeValue>, Comparable<Alt  	}  	public AltosTimeValue first() { -		return values.get(0); +		if (values.size() > 0) +			return values.get(0); +		return null;  	}  	public AltosTimeValue last() { -		return values.get(values.size() - 1); +		if (values.size() > 0) +			return values.get(values.size() - 1); +		return null;  	}  	public double average() { diff --git a/src/test/ao_flight_test.c b/src/test/ao_flight_test.c index 8e69730e..298848d6 100644 --- a/src/test/ao_flight_test.c +++ b/src/test/ao_flight_test.c @@ -344,8 +344,10 @@ struct ao_cmds {  #include <ao_ms5607.h>  struct ao_ms5607_prom	ao_ms5607_prom;  #include "ao_ms5607_convert.c" +#if TELEMEGA  #define AO_PYRO_NUM	4  #include <ao_pyro.h> +#endif  #else  #include "ao_convert.c"  #endif @@ -427,6 +429,9 @@ static double	ao_test_landed_time;  static int	landed_set;  static double	landed_time;  static double	landed_height; +#if AO_PYRO_NUM +static uint16_t	pyros_fired; +#endif  #if HAS_MPU6000  static struct ao_mpu6000_sample	ao_ground_mpu6000; @@ -825,6 +830,10 @@ ao_sleep(void *wchan)  						ao_insert();  						return;  					case AO_LOG_TEMP_VOLT: +						if (pyros_fired != log_mega->u.volt.pyro) { +							printf("pyro changed %x -> %x\n", pyros_fired, log_mega->u.volt.pyro); +							pyros_fired = log_mega->u.volt.pyro; +						}  						break;  					case AO_LOG_GPS_TIME:  						ao_gps_prev = ao_gps_static; diff --git a/telegps/TeleGPSConfigUI.java b/telegps/TeleGPSConfigUI.java index 88ced192..87683c2b 100644 --- a/telegps/TeleGPSConfigUI.java +++ b/telegps/TeleGPSConfigUI.java @@ -619,7 +619,7 @@ public class TeleGPSConfigUI  		return true;  	} -	void set_dirty() { +	public void set_dirty() {  		dirty = true;  		save.setEnabled(true);  	} @@ -634,6 +634,17 @@ public class TeleGPSConfigUI  		super.dispose();  	} +	public int accel_cal_plus() { +		return AltosLib.MISSING; +	} + +	public int accel_cal_minus() { +		return AltosLib.MISSING; +	} + +	public void set_accel_cal(int accel_plus, int accel_minus) { +	} +  	/* Listen for events from our buttons */  	public void actionPerformed(ActionEvent e) {  		String	cmd = e.getActionCommand(); | 
