diff options
author | Keith Packard <keithp@keithp.com> | 2018-04-26 16:30:54 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2018-04-26 19:24:21 -0700 |
commit | eee9f6128da146b0e9c711d49b2a3eb49a95aaf3 (patch) | |
tree | bff501a7b7c2161277628ee948b4b4bfb4cb89cf /altoslib/AltosAccelCal.java | |
parent | b3474fb33a58e78b3b8f36958dd44768e49f3edc (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.java | 20 |
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 |