diff options
author | Keith Packard <keithp@keithp.com> | 2017-06-11 22:39:53 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-06-11 22:54:22 -0700 |
commit | 8da38e5217f366a7da24a8af4a5ca620fad35df3 (patch) | |
tree | a79cbd0310faf9c49e43bb7b32b8a4c64e0a415a /altoslib/AltosMag.java | |
parent | 2a05849c3bf8c1617409237be48802dd6fc6255b (diff) |
altoslib: Adapt to Mag sensor value ordering changes
The HMC5883 sensor data is ordered x, z, y. Relabel everything to
match that to preserve compatibility with existing firmware. With the
data correctly ordered, fix the labling of the axes along, across and
through.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosMag.java')
-rw-r--r-- | altoslib/AltosMag.java | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/altoslib/AltosMag.java b/altoslib/AltosMag.java index 523a31a5..e24fa11d 100644 --- a/altoslib/AltosMag.java +++ b/altoslib/AltosMag.java @@ -22,9 +22,9 @@ import java.util.concurrent.*; import java.io.*; public class AltosMag implements Cloneable { - public int along; - public int across; - public int through; + public int x; + public int z; + public int y; public static final double counts_per_gauss = 1090; @@ -33,10 +33,6 @@ public class AltosMag implements Cloneable { } public boolean parse_string(String line) { -// if (line.startsWith("Syntax error")) { -// along = across = through = 0; -// return true; -// } if (!line.startsWith("X:")) return false; @@ -44,9 +40,9 @@ public class AltosMag implements Cloneable { String[] items = line.split("\\s+"); if (items.length >= 6) { - along = Integer.parseInt(items[1]); - across = Integer.parseInt(items[3]); - through = Integer.parseInt(items[5]); + x = Integer.parseInt(items[1]); + z = Integer.parseInt(items[3]); + y = Integer.parseInt(items[5]); } return true; } @@ -54,22 +50,16 @@ public class AltosMag implements Cloneable { public AltosMag clone() { AltosMag n = new AltosMag(); - n.along = along; - n.across = across; - n.through = through; + n.x = x; + n.z = z; + n.y = y; return n; } public AltosMag() { - along = AltosLib.MISSING; - across = AltosLib.MISSING; - through = AltosLib.MISSING; - } - - public AltosMag(int along, int across, int through) { - this.along = along; - this.across = across; - this.through = through; + x = AltosLib.MISSING; + z = AltosLib.MISSING; + y = AltosLib.MISSING; } static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { @@ -77,9 +67,9 @@ public class AltosMag implements Cloneable { AltosMag mag = new AltosMag(link); if (mag != null) - listener.set_mag(cal_data.mag_along(mag.along), - cal_data.mag_across(mag.across), - cal_data.mag_through(mag.through)); + listener.set_mag(cal_data.mag_along(mag.y), + cal_data.mag_across(mag.x), + cal_data.mag_through(mag.z)); } catch (TimeoutException te) { } } |