summaryrefslogtreecommitdiff
path: root/altoslib/AltosAccelCal.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-04-26 16:30:54 -0700
committerKeith Packard <keithp@keithp.com>2018-04-26 19:24:21 -0700
commiteee9f6128da146b0e9c711d49b2a3eb49a95aaf3 (patch)
treebff501a7b7c2161277628ee948b4b4bfb4cb89cf /altoslib/AltosAccelCal.java
parentb3474fb33a58e78b3b8f36958dd44768e49f3edc (diff)
altoslib: Keep config data accel cal in antenna up form.
Instead of letting the accel cal data live in whatever form it was fetched in, keep it in antenna up form and provide it in whatever orientation is necessary. This fixes bugs in changing pad configuration where the accel cal values from the old orientation would get used in the new orientation and wreck them. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosAccelCal.java')
-rw-r--r--altoslib/AltosAccelCal.java20
1 files changed, 10 insertions, 10 deletions
diff --git a/altoslib/AltosAccelCal.java b/altoslib/AltosAccelCal.java
index 75592d9e..f98090ef 100644
--- a/altoslib/AltosAccelCal.java
+++ b/altoslib/AltosAccelCal.java
@@ -174,23 +174,23 @@ public class AltosAccelCal implements Runnable {
if (worked)
new_config = new AltosConfigData(link);
} finally {
+ int plus = config_data.accel_cal_plus(config_data.pad_orientation);
+ int minus = config_data.accel_cal_minus(config_data.pad_orientation);
System.out.printf("Restore orientation %d +g %d -g %d\n",
config_data.pad_orientation,
- config_data.accel_cal_plus,
- config_data.accel_cal_minus);
- if (config_data.pad_orientation != AltosLib.MISSING && config_data.pad_orientation != 0)
+ plus, minus);
+ if (config_data.pad_orientation != AltosLib.MISSING)
link.printf("c o %d\n", config_data.pad_orientation);
- if (config_data.accel_cal_plus != AltosLib.MISSING && config_data.accel_cal_minus != AltosLib.MISSING)
- link.printf("c a %d %d\n",
- config_data.accel_cal_plus, config_data.accel_cal_minus);
+ if (plus != AltosLib.MISSING && minus != AltosLib.MISSING)
+ link.printf("c a %d %d\n", plus, minus);
link.flush_output();
stop_link();
}
if (new_config != null) {
- System.out.printf("*** +1g %d -1g %d\n",
- new_config.accel_cal_plus,
- new_config.accel_cal_minus);
- listener.cal_done(this, new_config.accel_cal_plus, new_config.accel_cal_minus);
+ int plus = new_config.accel_cal_plus(AltosLib.AO_PAD_ORIENTATION_ANTENNA_UP);
+ int minus = new_config.accel_cal_minus(AltosLib.AO_PAD_ORIENTATION_ANTENNA_UP);
+ System.out.printf("*** +1g %d -1g %d\n", plus, minus);
+ listener.cal_done(this, plus, minus);
if (!wait_signal())
throw new InterruptedException("aborted");
} else