* Track flight state from telemetry or eeprom data stream
*/
-package org.altusmetrum.altoslib_13;
+package org.altusmetrum.altoslib_14;
public class AltosState extends AltosDataListener {
class AltosGpsGroundAltitude extends AltosValue {
void set(double a, double t) {
super.set(a, t);
- pad_alt = value();
+
gps_altitude.set_gps_height();
}
void set_filtered(double a, double t) {
super.set_filtered(a, t);
- pad_alt = value();
gps_altitude.set_gps_height();
}
}
public double height() {
- double k = kalman_height.value();
- if (k != AltosLib.MISSING)
- return k;
-
double b = baro_height();
if (b != AltosLib.MISSING)
return b;
+ double k = kalman_height.value();
+ if (k != AltosLib.MISSING)
+ return k;
+
return gps_height();
}
public double max_height() {
- double k = kalman_height.max();
- if (k != AltosLib.MISSING)
- return k;
-
double a = altitude.max();
double g = ground_altitude();
if (a != AltosLib.MISSING && g != AltosLib.MISSING)
return a - g;
+
+ double k = kalman_height.max();
+ if (k != AltosLib.MISSING)
+ return k;
+
return max_gps_height();
}
public double gps_height;
- public double pad_lat, pad_lon, pad_alt;
+ public double pad_lat, pad_lon;
public int speak_tick;
public double speak_altitude;
public int pyro_fired;
+ public double motor_pressure;
+
public void set_npad(int npad) {
this.npad = npad;
gps_waiting = MIN_PAD_SAMPLES - npad;
pad_lat = AltosLib.MISSING;
pad_lon = AltosLib.MISSING;
- pad_alt = AltosLib.MISSING;
gps_altitude = new AltosGpsAltitude();
gps_ground_altitude = new AltosGpsGroundAltitude();
this.pyro_fired = fired;
}
+ public void set_motor_pressure(double motor_pressure) {
+ this.motor_pressure = motor_pressure;
+ }
+
public AltosState() {
init();
}