From cb23b992be8ba40c97d8988c134a814a13ccd58c Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 25 May 2015 20:34:05 -0700 Subject: altoslib/altosuilib: Update library version to 7 So many ABI/API changes Signed-off-by: Keith Packard --- altoslib/AltosState.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'altoslib/AltosState.java') diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index d363027c..ad032a16 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -19,7 +19,7 @@ * Track flight state from telemetry or eeprom data stream */ -package org.altusmetrum.altoslib_6; +package org.altusmetrum.altoslib_7; import java.io.*; -- cgit v1.2.3 From 76532162d63239b00a51dd0ff6b1356b07b62d2d Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 16 Jun 2015 23:41:51 -0700 Subject: altoslib: Expose public function to set state.product Just adds a setter function for this value. Signed-off-by: Keith Packard --- altoslib/AltosState.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'altoslib/AltosState.java') diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index ad032a16..a120e0c7 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -1040,6 +1040,10 @@ public class AltosState implements Cloneable, Serializable { return AltosLib.state_name(state); } + public void set_product(String product) { + this.product = product; + } + public void set_state(int state) { if (state != AltosLib.ao_flight_invalid) { this.state = state; -- cgit v1.2.3 From 60b8bea12edb954e6140a92c8412364c9581e3c2 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 23 Jun 2015 21:38:37 -0700 Subject: altoslib: Use a longer filter for descent values This makes descent speeds almost useful, a huge improvement Signed-off-by: Keith Packard --- altoslib/AltosState.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'altoslib/AltosState.java') diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index a120e0c7..8eacf975 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -31,8 +31,9 @@ public class AltosState implements Cloneable, Serializable { public int set; + static final double filter_len = 2.0; static final double ascent_filter_len = 0.5; - static final double descent_filter_len = 0.5; + static final double descent_filter_len = 5.0; /* derived data */ @@ -64,8 +65,10 @@ public class AltosState implements Cloneable, Serializable { } void set_filtered(double new_value, double time) { - if (prev_value != AltosLib.MISSING) - new_value = (prev_value * 15.0 + new_value) / 16.0; + if (prev_value != AltosLib.MISSING) { + double f = 1/Math.exp((time - prev_set_time) / filter_le); + new_value = f * new_value + (1-f) * prev_value; + } set(new_value, time); } -- cgit v1.2.3 From f275e73f42e0aaf1760da99fb93c394320aafb84 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 23 Jun 2015 21:47:06 -0700 Subject: altoslib: Typo slipped into AltosState.java Oops. Signed-off-by: Keith Packard --- altoslib/AltosState.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'altoslib/AltosState.java') diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 8eacf975..347c1198 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -66,7 +66,7 @@ public class AltosState implements Cloneable, Serializable { void set_filtered(double new_value, double time) { if (prev_value != AltosLib.MISSING) { - double f = 1/Math.exp((time - prev_set_time) / filter_le); + double f = 1/Math.exp((time - prev_set_time) / filter_len); new_value = f * new_value + (1-f) * prev_value; } set(new_value, time); -- cgit v1.2.3