summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2017-05-12 12:58:18 -0600
committerKeith Packard <keithp@keithp.com>2017-05-19 21:41:40 -0700
commite8794ab1d512418e312a1a779777119e20dc8c38 (patch)
tree3cdeeabc670ce74e29b8ef0012320ee0d2bcd48e /altoslib
parentbbe0c2e0a3216f40f49af34b756330ba28d7c7e1 (diff)
add thrust as a graphable time series type
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosEepromRecordFireTwo.java2
-rw-r--r--altoslib/AltosFlightListener.java1
-rw-r--r--altoslib/AltosFlightSeries.java10
-rw-r--r--altoslib/AltosState.java20
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();