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++) {
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;
}
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() {
#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
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;
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;
return true;
}
- void set_dirty() {
+ public void set_dirty() {
dirty = true;
save.setEnabled(true);
}
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();