summaryrefslogtreecommitdiff
path: root/altoslib/AltosMag.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-06-11 22:39:53 -0700
committerKeith Packard <keithp@keithp.com>2017-06-11 22:54:22 -0700
commit8da38e5217f366a7da24a8af4a5ca620fad35df3 (patch)
treea79cbd0310faf9c49e43bb7b32b8a4c64e0a415a /altoslib/AltosMag.java
parent2a05849c3bf8c1617409237be48802dd6fc6255b (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.java40
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) {
}
}