* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.*;
public class AltosMag implements Cloneable {
- public int x;
- public int y;
- public int z;
+ public double x;
+ public double y;
+ public double z;
+
+ public static double counts_per_gauss = 1090;
+
+ public static double convert_gauss(int counts) {
+ return (double) counts / counts_per_gauss;
+ }
public boolean parse_string(String line) {
+// if (line.startsWith("Syntax error")) {
+// x = y = z = 0;
+// return true;
+// }
+
if (!line.startsWith("X:"))
return false;
String[] items = line.split("\\s+");
if (items.length >= 6) {
- x = Integer.parseInt(items[1]);
- y = Integer.parseInt(items[3]);
- z = Integer.parseInt(items[5]);
+ x = convert_gauss(Integer.parseInt(items[1]));
+ y = convert_gauss(Integer.parseInt(items[3]));
+ z = convert_gauss(Integer.parseInt(items[5]));
}
return true;
}
z = AltosLib.MISSING;
}
- static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) {
+ static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException {
try {
AltosMag mag = new AltosMag(link);
if (mag != null)
state.set_mag(mag);
} catch (TimeoutException te) {
- } catch (InterruptedException ie) {
}
}