summaryrefslogtreecommitdiff
path: root/altoslib/AltosState.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-01-14 23:29:59 -0800
committerKeith Packard <keithp@keithp.com>2014-01-14 23:29:59 -0800
commitcc06242e882cba462791962c199b7c89e79adc65 (patch)
tree10c33547bcd3c75021e283be00409825f32eedaa /altoslib/AltosState.java
parent9d812b3db418fd9816731b761a0853eb38f5a265 (diff)
altos: Use factory calibration for all acceleration computations
The ground acceleration value will vary depending on the tilt angle of the airframe, which will result in incorrect acceleration computations during flight. This also avoids accidental boost detect when moving the airframe around in pad mode. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosState.java')
-rw-r--r--altoslib/AltosState.java12
1 files changed, 2 insertions, 10 deletions
diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java
index 134aeb4e..08dafbb4 100644
--- a/altoslib/AltosState.java
+++ b/altoslib/AltosState.java
@@ -949,14 +949,8 @@ public class AltosState implements Cloneable {
}
void update_accel() {
- double ground = ground_accel;
-
- if (ground == AltosLib.MISSING)
- ground = ground_accel_avg;
if (accel == AltosLib.MISSING)
return;
- if (ground == AltosLib.MISSING)
- return;
if (accel_plus_g == AltosLib.MISSING)
return;
if (accel_minus_g == AltosLib.MISSING)
@@ -964,7 +958,7 @@ public class AltosState implements Cloneable {
double counts_per_g = (accel_minus_g - accel_plus_g) / 2.0;
double counts_per_mss = counts_per_g / 9.80665;
- acceleration.set_measured((ground - accel) / counts_per_mss, time);
+ acceleration.set_measured((accel_plus_g - accel) / counts_per_mss, time);
}
public void set_accel_g(double accel_plus_g, double accel_minus_g) {
@@ -976,10 +970,8 @@ public class AltosState implements Cloneable {
}
public void set_ground_accel(double ground_accel) {
- if (ground_accel != AltosLib.MISSING) {
+ if (ground_accel != AltosLib.MISSING)
this.ground_accel = ground_accel;
- update_accel();
- }
}
public void set_accel(double accel) {