diff options
author | Bdale Garbee <bdale@gag.com> | 2017-05-12 12:58:18 -0600 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-05-19 21:41:40 -0700 |
commit | e8794ab1d512418e312a1a779777119e20dc8c38 (patch) | |
tree | 3cdeeabc670ce74e29b8ef0012320ee0d2bcd48e /altoslib | |
parent | bbe0c2e0a3216f40f49af34b756330ba28d7c7e1 (diff) |
add thrust as a graphable time series type
Diffstat (limited to 'altoslib')
-rw-r--r-- | altoslib/AltosEepromRecordFireTwo.java | 2 | ||||
-rw-r--r-- | altoslib/AltosFlightListener.java | 1 | ||||
-rw-r--r-- | altoslib/AltosFlightSeries.java | 10 | ||||
-rw-r--r-- | altoslib/AltosState.java | 20 |
4 files changed, 32 insertions, 1 deletions
diff --git a/altoslib/AltosEepromRecordFireTwo.java b/altoslib/AltosEepromRecordFireTwo.java index a430bd97..bfdd6cf8 100644 --- a/altoslib/AltosEepromRecordFireTwo.java +++ b/altoslib/AltosEepromRecordFireTwo.java @@ -82,7 +82,7 @@ public class AltosEepromRecordFireTwo extends AltosEepromRecord { break; case AltosLib.AO_LOG_SENSOR: state.set_pressure(adc_to_pa(pres())); - state.set_accel(adc_to_n(thrust())); + state.set_thrust(adc_to_n(thrust())); break; } } diff --git a/altoslib/AltosFlightListener.java b/altoslib/AltosFlightListener.java index ff5e4c3d..f7705165 100644 --- a/altoslib/AltosFlightListener.java +++ b/altoslib/AltosFlightListener.java @@ -62,6 +62,7 @@ public abstract class AltosFlightListener { public abstract void set_accel(double accel); public abstract void set_accel_g(double accel_plus_g, double accel_minus_g); public abstract void set_pressure(double pa); + public abstract void set_thrust(double N); public abstract void set_temperature(double deg_c); public abstract void set_battery_voltage(double volts); diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index 752aa48b..0e260fb4 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -136,6 +136,16 @@ public class AltosFlightSeries extends AltosFlightListener { pressure_series.add(time(), pa); } + AltosTimeSeries thrust_series; + + public static final String thrust_name = "Thrust"; + + public void set_thrust(double N) { + if (thrust_series == null) + thrust_series = add_series(thrust_name, AltosConvert.force); + thrust_series.add(time(), N); + } + public void set_temperature(double deg_c) { } diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 6aa77139..846bda42 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -513,6 +513,25 @@ public class AltosState extends AltosFlightListener implements Cloneable { 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(); @@ -760,6 +779,7 @@ public class AltosState extends AltosFlightListener implements Cloneable { ground_pressure = new AltosGroundPressure(); altitude = new AltosAltitude(); pressure = new AltosPressure(); + thrust = new AltosForce(); speed = new AltosSpeed(); acceleration = new AltosAccel(); orient = new AltosCValue(); |