import java.io.*;
-public class AltosState implements Cloneable {
+public class AltosState extends AltosFlightListener implements Cloneable {
public static final int set_position = 1;
public static final int set_gps = 2;
public double time;
public double prev_time;
public double time_change;
- public int tick;
private int prev_tick;
- public int boost_tick;
class AltosValue {
double value;
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();
ground_pressure = new AltosGroundPressure();
altitude = new AltosAltitude();
pressure = new AltosPressure();
+ thrust = new AltosForce();
speed = new AltosSpeed();
acceleration = new AltosAccel();
orient = new AltosCValue();
return;
}
+ super.copy(old);
+
received_time = old.received_time;
time = old.time;
time_change = old.time_change;
}
}
- public void set_boost_tick(int boost_tick) {
- if (boost_tick != AltosLib.MISSING)
- this.boost_tick = boost_tick;
- }
-
public String state_name() {
return AltosLib.state_name(state);
}
return tick != AltosLib.MISSING && serial != AltosLib.MISSING;
}
- public AltosGPS make_temp_gps(boolean sats) {
- if (temp_gps == null) {
- temp_gps = new AltosGPS(gps);
- }
- gps_pending = true;
- if (sats) {
- if (tick != temp_gps_sat_tick)
- temp_gps.cc_gps_sat = null;
- temp_gps_sat_tick = tick;
- }
- return temp_gps;
- }
-
public void set_temp_gps() {
set_gps(temp_gps, gps_sequence + 1);
gps_pending = false;
- temp_gps = null;
+ super.set_temp_gps();
}
public void set_config_data(AltosConfigData config_data) {