summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosAccel.java2
-rw-r--r--altoslib/AltosCRCException.java2
-rw-r--r--altoslib/AltosCompanion.java2
-rw-r--r--altoslib/AltosConfigData.java2
-rw-r--r--altoslib/AltosConfigValues.java2
-rw-r--r--altoslib/AltosConvert.java4
-rw-r--r--altoslib/AltosDebug.java2
-rw-r--r--altoslib/AltosDistance.java2
-rw-r--r--altoslib/AltosEeprom.java2
-rw-r--r--altoslib/AltosEepromChunk.java2
-rw-r--r--altoslib/AltosEepromDownload.java2
-rw-r--r--altoslib/AltosEepromFile.java2
-rw-r--r--altoslib/AltosEepromHeader.java2
-rw-r--r--altoslib/AltosEepromIterable.java2
-rw-r--r--altoslib/AltosEepromList.java2
-rw-r--r--altoslib/AltosEepromLog.java2
-rw-r--r--altoslib/AltosEepromMega.java20
-rw-r--r--altoslib/AltosEepromMetrum2.java2
-rw-r--r--altoslib/AltosEepromMini.java2
-rw-r--r--altoslib/AltosEepromMonitor.java2
-rw-r--r--altoslib/AltosEepromTM.java2
-rw-r--r--altoslib/AltosEepromTm.java2
-rw-r--r--altoslib/AltosFile.java2
-rw-r--r--altoslib/AltosFlash.java2
-rw-r--r--altoslib/AltosFlashListener.java2
-rw-r--r--altoslib/AltosFlightReader.java2
-rw-r--r--altoslib/AltosFrequency.java2
-rw-r--r--altoslib/AltosGPS.java2
-rw-r--r--altoslib/AltosGPSSat.java2
-rw-r--r--altoslib/AltosGreatCircle.java2
-rw-r--r--altoslib/AltosHeight.java2
-rw-r--r--altoslib/AltosHexfile.java2
-rw-r--r--altoslib/AltosHexsym.java2
-rw-r--r--altoslib/AltosIMU.java38
-rw-r--r--altoslib/AltosIdle.java2
-rw-r--r--altoslib/AltosIdleFetch.java2
-rw-r--r--altoslib/AltosIdleMonitor.java2
-rw-r--r--altoslib/AltosIdleMonitorListener.java2
-rw-r--r--altoslib/AltosIgnite.java66
-rw-r--r--altoslib/AltosLib.java2
-rw-r--r--altoslib/AltosLine.java2
-rw-r--r--altoslib/AltosLink.java2
-rw-r--r--altoslib/AltosListenerState.java2
-rw-r--r--altoslib/AltosLog.java2
-rw-r--r--altoslib/AltosMag.java20
-rw-r--r--altoslib/AltosMma655x.java2
-rw-r--r--altoslib/AltosMs5607.java2
-rw-r--r--altoslib/AltosNoSymbol.java2
-rw-r--r--altoslib/AltosOrient.java41
-rw-r--r--altoslib/AltosParse.java2
-rw-r--r--altoslib/AltosPreferences.java2
-rw-r--r--altoslib/AltosPreferencesBackend.java2
-rw-r--r--altoslib/AltosProgrammer.java2
-rw-r--r--altoslib/AltosPyro.java2
-rw-r--r--altoslib/AltosReplayReader.java2
-rw-r--r--altoslib/AltosRomconfig.java2
-rw-r--r--altoslib/AltosSelfFlash.java2
-rw-r--r--altoslib/AltosSensorEMini.java2
-rw-r--r--altoslib/AltosSensorMM.java2
-rw-r--r--altoslib/AltosSensorMega.java2
-rw-r--r--altoslib/AltosSensorMetrum.java2
-rw-r--r--altoslib/AltosSensorTM.java2
-rw-r--r--altoslib/AltosSensorTMini.java2
-rw-r--r--altoslib/AltosSpeed.java2
-rw-r--r--altoslib/AltosState.java31
-rw-r--r--altoslib/AltosStateIterable.java2
-rw-r--r--altoslib/AltosStateUpdate.java2
-rw-r--r--altoslib/AltosTelemetry.java2
-rw-r--r--altoslib/AltosTelemetryConfiguration.java2
-rw-r--r--altoslib/AltosTelemetryFile.java2
-rw-r--r--altoslib/AltosTelemetryIterable.java2
-rw-r--r--altoslib/AltosTelemetryLegacy.java2
-rw-r--r--altoslib/AltosTelemetryLocation.java2
-rw-r--r--altoslib/AltosTelemetryMap.java2
-rw-r--r--altoslib/AltosTelemetryMegaData.java2
-rw-r--r--altoslib/AltosTelemetryMegaSensor.java25
-rw-r--r--altoslib/AltosTelemetryMetrumData.java2
-rw-r--r--altoslib/AltosTelemetryMetrumSensor.java2
-rw-r--r--altoslib/AltosTelemetryMini.java2
-rw-r--r--altoslib/AltosTelemetryRaw.java2
-rw-r--r--altoslib/AltosTelemetryReader.java2
-rw-r--r--altoslib/AltosTelemetrySatellite.java2
-rw-r--r--altoslib/AltosTelemetrySensor.java2
-rw-r--r--altoslib/AltosTelemetryStandard.java2
-rw-r--r--altoslib/AltosTemperature.java2
-rw-r--r--altoslib/AltosUnits.java2
-rw-r--r--altoslib/AltosUnitsListener.java2
-rw-r--r--altoslib/Makefile.am1
88 files changed, 249 insertions, 155 deletions
diff --git a/altoslib/AltosAccel.java b/altoslib/AltosAccel.java
index b838d30b..43dc20bd 100644
--- a/altoslib/AltosAccel.java
+++ b/altoslib/AltosAccel.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosAccel extends AltosUnits {
diff --git a/altoslib/AltosCRCException.java b/altoslib/AltosCRCException.java
index be2ec4fe..94962731 100644
--- a/altoslib/AltosCRCException.java
+++ b/altoslib/AltosCRCException.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosCRCException extends Exception {
public int rssi;
diff --git a/altoslib/AltosCompanion.java b/altoslib/AltosCompanion.java
index 57bb21af..47ca328e 100644
--- a/altoslib/AltosCompanion.java
+++ b/altoslib/AltosCompanion.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosCompanion {
public final static int board_id_telescience = 0x0a;
diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java
index 1c3085bd..c4e108f8 100644
--- a/altoslib/AltosConfigData.java
+++ b/altoslib/AltosConfigData.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.*;
import java.text.*;
diff --git a/altoslib/AltosConfigValues.java b/altoslib/AltosConfigValues.java
index fd5584c2..4aa55d6a 100644
--- a/altoslib/AltosConfigValues.java
+++ b/altoslib/AltosConfigValues.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public interface AltosConfigValues {
/* set and get all of the dialog values */
diff --git a/altoslib/AltosConvert.java b/altoslib/AltosConvert.java
index 8d0b74dd..8f214c8b 100644
--- a/altoslib/AltosConvert.java
+++ b/altoslib/AltosConvert.java
@@ -18,7 +18,7 @@
/*
* Sensor data conversion functions
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosConvert {
/*
@@ -330,6 +330,8 @@ public class AltosConvert {
public static AltosTemperature temperature = new AltosTemperature();
+ public static AltosOrient orient = new AltosOrient();
+
public static String show_gs(String format, double a) {
a = meters_to_g(a);
format = format.concat(" g");
diff --git a/altoslib/AltosDebug.java b/altoslib/AltosDebug.java
index fb11d39a..4dfb31e5 100644
--- a/altoslib/AltosDebug.java
+++ b/altoslib/AltosDebug.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
diff --git a/altoslib/AltosDistance.java b/altoslib/AltosDistance.java
index 8d359feb..71ee81d7 100644
--- a/altoslib/AltosDistance.java
+++ b/altoslib/AltosDistance.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosDistance extends AltosUnits {
diff --git a/altoslib/AltosEeprom.java b/altoslib/AltosEeprom.java
index dd5993c7..57ee73ad 100644
--- a/altoslib/AltosEeprom.java
+++ b/altoslib/AltosEeprom.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromChunk.java b/altoslib/AltosEepromChunk.java
index c03fa931..c884b659 100644
--- a/altoslib/AltosEepromChunk.java
+++ b/altoslib/AltosEepromChunk.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
import java.util.concurrent.*;
diff --git a/altoslib/AltosEepromDownload.java b/altoslib/AltosEepromDownload.java
index 1b043167..04101079 100644
--- a/altoslib/AltosEepromDownload.java
+++ b/altoslib/AltosEepromDownload.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromFile.java b/altoslib/AltosEepromFile.java
index 60ab2573..91ffc223 100644
--- a/altoslib/AltosEepromFile.java
+++ b/altoslib/AltosEepromFile.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromHeader.java b/altoslib/AltosEepromHeader.java
index 0aeb78dd..6ce7ddd3 100644
--- a/altoslib/AltosEepromHeader.java
+++ b/altoslib/AltosEepromHeader.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromIterable.java b/altoslib/AltosEepromIterable.java
index fc793579..081721b3 100644
--- a/altoslib/AltosEepromIterable.java
+++ b/altoslib/AltosEepromIterable.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromList.java b/altoslib/AltosEepromList.java
index 763bd1e2..a9dac13a 100644
--- a/altoslib/AltosEepromList.java
+++ b/altoslib/AltosEepromList.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromLog.java b/altoslib/AltosEepromLog.java
index 95c0c3f6..cc298207 100644
--- a/altoslib/AltosEepromLog.java
+++ b/altoslib/AltosEepromLog.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
import java.util.concurrent.*;
diff --git a/altoslib/AltosEepromMega.java b/altoslib/AltosEepromMega.java
index 7a4ee52d..1ac72b1c 100644
--- a/altoslib/AltosEepromMega.java
+++ b/altoslib/AltosEepromMega.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
@@ -115,19 +115,19 @@ public class AltosEepromMega extends AltosEeprom {
state.set_ms5607(pres(), temp());
AltosIMU imu = new AltosIMU();
- imu.accel_x = accel_x();
- imu.accel_y = accel_y();
- imu.accel_z = accel_z();
+ imu.accel_x = AltosIMU.convert_accel(accel_x());
+ imu.accel_y = AltosIMU.convert_accel(accel_y());
+ imu.accel_z = AltosIMU.convert_accel(accel_z());
- imu.gyro_x = gyro_x();
- imu.gyro_y = gyro_y();
- imu.gyro_z = gyro_z();
+ imu.gyro_x = AltosIMU.convert_gyro(gyro_x());
+ imu.gyro_y = AltosIMU.convert_gyro(gyro_y());
+ imu.gyro_z = AltosIMU.convert_gyro(gyro_z());
state.imu = imu;
AltosMag mag = new AltosMag();
- mag.x = mag_x();
- mag.y = mag_y();
- mag.z = mag_z();
+ mag.x = AltosMag.convert_gauss(mag_x());
+ mag.y = AltosMag.convert_gauss(mag_y());
+ mag.z = AltosMag.convert_gauss(mag_z());
state.mag = mag;
diff --git a/altoslib/AltosEepromMetrum2.java b/altoslib/AltosEepromMetrum2.java
index c1d62c0c..f1bca6dc 100644
--- a/altoslib/AltosEepromMetrum2.java
+++ b/altoslib/AltosEepromMetrum2.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromMini.java b/altoslib/AltosEepromMini.java
index a09a62ce..fb3b4d23 100644
--- a/altoslib/AltosEepromMini.java
+++ b/altoslib/AltosEepromMini.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromMonitor.java b/altoslib/AltosEepromMonitor.java
index eeef0678..9ab1a5ab 100644
--- a/altoslib/AltosEepromMonitor.java
+++ b/altoslib/AltosEepromMonitor.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public interface AltosEepromMonitor {
diff --git a/altoslib/AltosEepromTM.java b/altoslib/AltosEepromTM.java
index 36803912..c8b1e60c 100644
--- a/altoslib/AltosEepromTM.java
+++ b/altoslib/AltosEepromTM.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosEepromTm.java b/altoslib/AltosEepromTm.java
index b8914131..049dd340 100644
--- a/altoslib/AltosEepromTm.java
+++ b/altoslib/AltosEepromTm.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosFile.java b/altoslib/AltosFile.java
index f39c3962..37bf7075 100644
--- a/altoslib/AltosFile.java
+++ b/altoslib/AltosFile.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.File;
import java.util.*;
diff --git a/altoslib/AltosFlash.java b/altoslib/AltosFlash.java
index 0977070e..25c76863 100644
--- a/altoslib/AltosFlash.java
+++ b/altoslib/AltosFlash.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
diff --git a/altoslib/AltosFlashListener.java b/altoslib/AltosFlashListener.java
index 777ae635..b7fcd73b 100644
--- a/altoslib/AltosFlashListener.java
+++ b/altoslib/AltosFlashListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public interface AltosFlashListener {
public void position(String label, int percent);
diff --git a/altoslib/AltosFlightReader.java b/altoslib/AltosFlightReader.java
index b251e7cc..86757e82 100644
--- a/altoslib/AltosFlightReader.java
+++ b/altoslib/AltosFlightReader.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
import java.io.*;
diff --git a/altoslib/AltosFrequency.java b/altoslib/AltosFrequency.java
index ece7525a..5770b646 100644
--- a/altoslib/AltosFrequency.java
+++ b/altoslib/AltosFrequency.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosFrequency {
public double frequency;
diff --git a/altoslib/AltosGPS.java b/altoslib/AltosGPS.java
index f5162225..01e6fdbc 100644
--- a/altoslib/AltosGPS.java
+++ b/altoslib/AltosGPS.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
import java.util.concurrent.*;
diff --git a/altoslib/AltosGPSSat.java b/altoslib/AltosGPSSat.java
index 0e17d7f2..76fa3a56 100644
--- a/altoslib/AltosGPSSat.java
+++ b/altoslib/AltosGPSSat.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosGPSSat {
public int svid;
diff --git a/altoslib/AltosGreatCircle.java b/altoslib/AltosGreatCircle.java
index 2c84bf4a..b884a3bc 100644
--- a/altoslib/AltosGreatCircle.java
+++ b/altoslib/AltosGreatCircle.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.lang.Math;
diff --git a/altoslib/AltosHeight.java b/altoslib/AltosHeight.java
index 84bd42d9..a81897e7 100644
--- a/altoslib/AltosHeight.java
+++ b/altoslib/AltosHeight.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosHeight extends AltosUnits {
diff --git a/altoslib/AltosHexfile.java b/altoslib/AltosHexfile.java
index 717c1c5d..60f4ecdc 100644
--- a/altoslib/AltosHexfile.java
+++ b/altoslib/AltosHexfile.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.LinkedList;
diff --git a/altoslib/AltosHexsym.java b/altoslib/AltosHexsym.java
index 810a4803..a98ef0fc 100644
--- a/altoslib/AltosHexsym.java
+++ b/altoslib/AltosHexsym.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosHexsym {
String name;
diff --git a/altoslib/AltosIMU.java b/altoslib/AltosIMU.java
index 6d88ccae..260f3587 100644
--- a/altoslib/AltosIMU.java
+++ b/altoslib/AltosIMU.java
@@ -15,18 +15,30 @@
* 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 AltosIMU implements Cloneable {
- public int accel_x;
- public int accel_y;
- public int accel_z;
+ public double accel_x;
+ public double accel_y;
+ public double accel_z;
- public int gyro_x;
- public int gyro_y;
- public int gyro_z;
+ public double gyro_x;
+ public double gyro_y;
+ public double gyro_z;
+
+ public static int counts_per_g = 2048;
+
+ public static double convert_accel(int counts) {
+ return (double) counts / (double) counts_per_g * (-AltosConvert.GRAVITATIONAL_ACCELERATION);
+ }
+
+ public static double counts_per_degsec = 16.4;
+
+ public static double convert_gyro(int counts) {
+ return (double) counts / counts_per_degsec;
+ }
public boolean parse_string(String line) {
if (!line.startsWith("Accel:"))
@@ -35,12 +47,12 @@ public class AltosIMU implements Cloneable {
String[] items = line.split("\\s+");
if (items.length >= 8) {
- accel_x = Integer.parseInt(items[1]);
- accel_y = Integer.parseInt(items[2]);
- accel_z = Integer.parseInt(items[3]);
- gyro_x = Integer.parseInt(items[5]);
- gyro_y = Integer.parseInt(items[6]);
- gyro_z = Integer.parseInt(items[7]);
+ accel_x = convert_accel(Integer.parseInt(items[1]));
+ accel_y = convert_accel(Integer.parseInt(items[2]));
+ accel_z = convert_accel(Integer.parseInt(items[3]));
+ gyro_x = convert_gyro(Integer.parseInt(items[5]));
+ gyro_y = convert_gyro(Integer.parseInt(items[6]));
+ gyro_z = convert_gyro(Integer.parseInt(items[7]));
}
return true;
}
diff --git a/altoslib/AltosIdle.java b/altoslib/AltosIdle.java
index 456a9247..c7b546b6 100644
--- a/altoslib/AltosIdle.java
+++ b/altoslib/AltosIdle.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosIdleFetch.java b/altoslib/AltosIdleFetch.java
index 4adc6c41..02cb7a94 100644
--- a/altoslib/AltosIdleFetch.java
+++ b/altoslib/AltosIdleFetch.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosIdleMonitor.java b/altoslib/AltosIdleMonitor.java
index d9d71143..8342f8a5 100644
--- a/altoslib/AltosIdleMonitor.java
+++ b/altoslib/AltosIdleMonitor.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.concurrent.*;
diff --git a/altoslib/AltosIdleMonitorListener.java b/altoslib/AltosIdleMonitorListener.java
index 0b03b897..dcaa77a6 100644
--- a/altoslib/AltosIdleMonitorListener.java
+++ b/altoslib/AltosIdleMonitorListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public interface AltosIdleMonitorListener {
public void update(AltosState state, AltosListenerState listener_state);
diff --git a/altoslib/AltosIgnite.java b/altoslib/AltosIgnite.java
index fc9599b6..8ab47d1d 100644
--- a/altoslib/AltosIgnite.java
+++ b/altoslib/AltosIgnite.java
@@ -15,8 +15,9 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
+import java.util.*;
import java.io.*;
import java.util.concurrent.*;
@@ -24,10 +25,13 @@ public class AltosIgnite {
AltosLink link;
boolean remote;
boolean link_started;
+ boolean have_npyro = false;
+ int npyro;
+ AltosConfigData config_data;
- public final static int None = 0;
- public final static int Apogee = 1;
- public final static int Main = 2;
+ public final static String None = null;
+ public final static String Apogee = "drogue";
+ public final static String Main = "main";
public final static int Unknown = 0;
public final static int Ready = 1;
@@ -81,7 +85,7 @@ public class AltosIgnite {
}
*/
- private int status(String status_name) {
+ private int map_status(String status_name) {
if (status_name.equals("unknown"))
return Unknown;
if (status_name.equals("ready"))
@@ -93,13 +97,38 @@ public class AltosIgnite {
return Unknown;
}
- public int status(int igniter) throws InterruptedException, TimeoutException {
- int status = Unknown;
+ private void get_npyro() throws InterruptedException, TimeoutException {
+ if (config_data == null)
+ config_data = new AltosConfigData(link);
+ if (config_data != null)
+ npyro = config_data.npyro;
+ else
+ npyro = 0;
+ have_npyro = true;
+ }
+
+ public int npyro() throws InterruptedException, TimeoutException {
+ if (!have_npyro) {
+ start_link();
+ get_npyro();
+ stop_link();
+ }
+ return npyro;
+ }
+
+ public HashMap<String,Integer> status() throws InterruptedException, TimeoutException {
+ HashMap<String,Integer> status = new HashMap<String,Integer>();
+
if (link == null)
return status;
- //string_ref status_name = new string_ref();
try {
start_link();
+ get_npyro();
+
+ String last_igniter = Main;
+ if (npyro > 0)
+ last_igniter = String.format("%d", npyro - 1);
+
link.printf("t\n");
for (;;) {
String line = link.get_reply(5000);
@@ -116,14 +145,10 @@ public class AltosIgnite {
if (!items[2].equals("Status:"))
continue;
- if (items[1].equals("drogue")) {
- if (igniter == Apogee)
- status = status(items[3]);
- } else if (items[1].equals("main")) {
- if (igniter == Main)
- status = status(items[3]);
+ status.put(items[1], map_status(items[3]));
+
+ if (items[1].equals(last_igniter))
break;
- }
}
} finally {
stop_link();
@@ -141,19 +166,12 @@ public class AltosIgnite {
}
}
- public void fire(int igniter) throws InterruptedException {
+ public void fire(String igniter) throws InterruptedException {
if (link == null)
return;
try {
start_link();
- switch (igniter) {
- case Main:
- link.printf("i DoIt main\n");
- break;
- case Apogee:
- link.printf("i DoIt drogue\n");
- break;
- }
+ link.printf("i DoIt %s\n", igniter);
} catch (TimeoutException te) {
} finally {
stop_link();
diff --git a/altoslib/AltosLib.java b/altoslib/AltosLib.java
index efbc3ddb..05f0af8d 100644
--- a/altoslib/AltosLib.java
+++ b/altoslib/AltosLib.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.*;
import java.io.*;
diff --git a/altoslib/AltosLine.java b/altoslib/AltosLine.java
index e5dd13fc..9d796a89 100644
--- a/altoslib/AltosLine.java
+++ b/altoslib/AltosLine.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosLine {
public String line;
diff --git a/altoslib/AltosLink.java b/altoslib/AltosLink.java
index ee1f9785..8346d281 100644
--- a/altoslib/AltosLink.java
+++ b/altoslib/AltosLink.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.concurrent.*;
diff --git a/altoslib/AltosListenerState.java b/altoslib/AltosListenerState.java
index 01dd7afb..53ed33f9 100644
--- a/altoslib/AltosListenerState.java
+++ b/altoslib/AltosListenerState.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosListenerState {
public int crc_errors;
diff --git a/altoslib/AltosLog.java b/altoslib/AltosLog.java
index d4fbee97..70c017b7 100644
--- a/altoslib/AltosLog.java
+++ b/altoslib/AltosLog.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.text.*;
diff --git a/altoslib/AltosMag.java b/altoslib/AltosMag.java
index 89e72bd6..d2bb9da6 100644
--- a/altoslib/AltosMag.java
+++ b/altoslib/AltosMag.java
@@ -15,14 +15,20 @@
* 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")) {
@@ -36,9 +42,9 @@ public class AltosMag implements Cloneable {
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;
}
diff --git a/altoslib/AltosMma655x.java b/altoslib/AltosMma655x.java
index f8256190..0d90c351 100644
--- a/altoslib/AltosMma655x.java
+++ b/altoslib/AltosMma655x.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.*;
diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java
index 2319d5b8..97d08c3e 100644
--- a/altoslib/AltosMs5607.java
+++ b/altoslib/AltosMs5607.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.*;
diff --git a/altoslib/AltosNoSymbol.java b/altoslib/AltosNoSymbol.java
index e94687cd..791899c0 100644
--- a/altoslib/AltosNoSymbol.java
+++ b/altoslib/AltosNoSymbol.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosNoSymbol extends Exception {
public AltosNoSymbol(String name) {
diff --git a/altoslib/AltosOrient.java b/altoslib/AltosOrient.java
new file mode 100644
index 00000000..d916a0fb
--- /dev/null
+++ b/altoslib/AltosOrient.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright © 2013 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.altusmetrum.altoslib_3;
+
+public class AltosOrient extends AltosUnits {
+
+ public double value(double p, boolean imperial_units) {
+ return p;
+ }
+
+ public double inverse(double p, boolean imperial_units) {
+ return p;
+ }
+
+ public String show_units(boolean imperial_units) {
+ return "°";
+ }
+
+ public String say_units(boolean imperial_units) {
+ return "degrees";
+ }
+
+ public int show_fraction(int width, boolean imperial_units) {
+ return 0;
+ }
+} \ No newline at end of file
diff --git a/altoslib/AltosParse.java b/altoslib/AltosParse.java
index ca96a8f9..5137fef8 100644
--- a/altoslib/AltosParse.java
+++ b/altoslib/AltosParse.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java
index c4051f9b..b8920d26 100644
--- a/altoslib/AltosPreferences.java
+++ b/altoslib/AltosPreferences.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosPreferencesBackend.java b/altoslib/AltosPreferencesBackend.java
index 1ea28b01..2eb29702 100644
--- a/altoslib/AltosPreferencesBackend.java
+++ b/altoslib/AltosPreferencesBackend.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.File;
diff --git a/altoslib/AltosProgrammer.java b/altoslib/AltosProgrammer.java
index b010d564..750e1f02 100644
--- a/altoslib/AltosProgrammer.java
+++ b/altoslib/AltosProgrammer.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
diff --git a/altoslib/AltosPyro.java b/altoslib/AltosPyro.java
index a219468c..aefc6fbd 100644
--- a/altoslib/AltosPyro.java
+++ b/altoslib/AltosPyro.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.*;
import java.text.*;
diff --git a/altoslib/AltosReplayReader.java b/altoslib/AltosReplayReader.java
index 19091d3d..4cf642ca 100644
--- a/altoslib/AltosReplayReader.java
+++ b/altoslib/AltosReplayReader.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosRomconfig.java b/altoslib/AltosRomconfig.java
index 2f106deb..1273fbc6 100644
--- a/altoslib/AltosRomconfig.java
+++ b/altoslib/AltosRomconfig.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
diff --git a/altoslib/AltosSelfFlash.java b/altoslib/AltosSelfFlash.java
index 3bf7ce41..aae993eb 100644
--- a/altoslib/AltosSelfFlash.java
+++ b/altoslib/AltosSelfFlash.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
diff --git a/altoslib/AltosSensorEMini.java b/altoslib/AltosSensorEMini.java
index 5f9eed55..f888754c 100644
--- a/altoslib/AltosSensorEMini.java
+++ b/altoslib/AltosSensorEMini.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.TimeoutException;
diff --git a/altoslib/AltosSensorMM.java b/altoslib/AltosSensorMM.java
index 0ef42cf6..0c23d671 100644
--- a/altoslib/AltosSensorMM.java
+++ b/altoslib/AltosSensorMM.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.TimeoutException;
diff --git a/altoslib/AltosSensorMega.java b/altoslib/AltosSensorMega.java
index e715242a..c52f688d 100644
--- a/altoslib/AltosSensorMega.java
+++ b/altoslib/AltosSensorMega.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.TimeoutException;
diff --git a/altoslib/AltosSensorMetrum.java b/altoslib/AltosSensorMetrum.java
index c30eaebd..bb794a1e 100644
--- a/altoslib/AltosSensorMetrum.java
+++ b/altoslib/AltosSensorMetrum.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.TimeoutException;
diff --git a/altoslib/AltosSensorTM.java b/altoslib/AltosSensorTM.java
index f867de4b..b8f54bcb 100644
--- a/altoslib/AltosSensorTM.java
+++ b/altoslib/AltosSensorTM.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.TimeoutException;
diff --git a/altoslib/AltosSensorTMini.java b/altoslib/AltosSensorTMini.java
index ee030910..35857e35 100644
--- a/altoslib/AltosSensorTMini.java
+++ b/altoslib/AltosSensorTMini.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.util.concurrent.TimeoutException;
diff --git a/altoslib/AltosSpeed.java b/altoslib/AltosSpeed.java
index 6618c539..d93229dd 100644
--- a/altoslib/AltosSpeed.java
+++ b/altoslib/AltosSpeed.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosSpeed extends AltosUnits {
diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java
index 6d55b833..08dafbb4 100644
--- a/altoslib/AltosState.java
+++ b/altoslib/AltosState.java
@@ -19,7 +19,7 @@
* Track flight state from telemetry or eeprom data stream
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosState implements Cloneable {
@@ -464,6 +464,20 @@ public class AltosState implements Cloneable {
return acceleration.max();
}
+ public AltosValue orient;
+
+ public void set_orient(double new_orient) {
+ orient.set(new_orient, time);
+ }
+
+ public double orient() {
+ return orient.value();
+ }
+
+ public double max_orient() {
+ return orient.max();
+ }
+
public AltosValue kalman_height, kalman_speed, kalman_acceleration;
public void set_kalman(double height, double speed, double acceleration) {
@@ -560,6 +574,7 @@ public class AltosState implements Cloneable {
pressure = new AltosPressure();
speed = new AltosSpeed();
acceleration = new AltosAccel();
+ orient = new AltosValue();
temperature = AltosLib.MISSING;
battery_voltage = AltosLib.MISSING;
@@ -621,6 +636,7 @@ public class AltosState implements Cloneable {
pressure.finish_update();
speed.finish_update();
acceleration.finish_update();
+ orient.finish_update();
kalman_height.finish_update();
kalman_speed.finish_update();
@@ -665,6 +681,7 @@ public class AltosState implements Cloneable {
pressure.copy(old.pressure);
speed.copy(old.speed);
acceleration.copy(old.acceleration);
+ orient.copy(old.orient);
battery_voltage = old.battery_voltage;
pyro_voltage = old.pyro_voltage;
@@ -932,14 +949,8 @@ public class AltosState implements Cloneable {
}
void update_accel() {
- double ground = ground_accel;
-
- if (ground == AltosLib.MISSING)
- ground = ground_accel_avg;
if (accel == AltosLib.MISSING)
return;
- if (ground == AltosLib.MISSING)
- return;
if (accel_plus_g == AltosLib.MISSING)
return;
if (accel_minus_g == AltosLib.MISSING)
@@ -947,7 +958,7 @@ public class AltosState implements Cloneable {
double counts_per_g = (accel_minus_g - accel_plus_g) / 2.0;
double counts_per_mss = counts_per_g / 9.80665;
- acceleration.set_measured((ground - accel) / counts_per_mss, time);
+ acceleration.set_measured((accel_plus_g - accel) / counts_per_mss, time);
}
public void set_accel_g(double accel_plus_g, double accel_minus_g) {
@@ -959,10 +970,8 @@ public class AltosState implements Cloneable {
}
public void set_ground_accel(double ground_accel) {
- if (ground_accel != AltosLib.MISSING) {
+ if (ground_accel != AltosLib.MISSING)
this.ground_accel = ground_accel;
- update_accel();
- }
}
public void set_accel(double accel) {
diff --git a/altoslib/AltosStateIterable.java b/altoslib/AltosStateIterable.java
index 6d637419..5a919b66 100644
--- a/altoslib/AltosStateIterable.java
+++ b/altoslib/AltosStateIterable.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosStateUpdate.java b/altoslib/AltosStateUpdate.java
index 97a5dfe2..4614c67a 100644
--- a/altoslib/AltosStateUpdate.java
+++ b/altoslib/AltosStateUpdate.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public interface AltosStateUpdate {
public void update_state(AltosState state) throws InterruptedException;
diff --git a/altoslib/AltosTelemetry.java b/altoslib/AltosTelemetry.java
index 03ca9f80..01bedd5e 100644
--- a/altoslib/AltosTelemetry.java
+++ b/altoslib/AltosTelemetry.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
diff --git a/altoslib/AltosTelemetryConfiguration.java b/altoslib/AltosTelemetryConfiguration.java
index e5d444dd..67a43748 100644
--- a/altoslib/AltosTelemetryConfiguration.java
+++ b/altoslib/AltosTelemetryConfiguration.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryConfiguration extends AltosTelemetryStandard {
diff --git a/altoslib/AltosTelemetryFile.java b/altoslib/AltosTelemetryFile.java
index 7566d946..09d7d3f8 100644
--- a/altoslib/AltosTelemetryFile.java
+++ b/altoslib/AltosTelemetryFile.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosTelemetryIterable.java b/altoslib/AltosTelemetryIterable.java
index bf30b4c8..002f53b4 100644
--- a/altoslib/AltosTelemetryIterable.java
+++ b/altoslib/AltosTelemetryIterable.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.io.*;
import java.util.*;
diff --git a/altoslib/AltosTelemetryLegacy.java b/altoslib/AltosTelemetryLegacy.java
index 132b9e80..d302addd 100644
--- a/altoslib/AltosTelemetryLegacy.java
+++ b/altoslib/AltosTelemetryLegacy.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
diff --git a/altoslib/AltosTelemetryLocation.java b/altoslib/AltosTelemetryLocation.java
index 6e880914..8dcda9e1 100644
--- a/altoslib/AltosTelemetryLocation.java
+++ b/altoslib/AltosTelemetryLocation.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryLocation extends AltosTelemetryStandard {
diff --git a/altoslib/AltosTelemetryMap.java b/altoslib/AltosTelemetryMap.java
index 37883a1c..37b2527b 100644
--- a/altoslib/AltosTelemetryMap.java
+++ b/altoslib/AltosTelemetryMap.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
import java.util.HashMap;
diff --git a/altoslib/AltosTelemetryMegaData.java b/altoslib/AltosTelemetryMegaData.java
index f5cc01d0..a4df70be 100644
--- a/altoslib/AltosTelemetryMegaData.java
+++ b/altoslib/AltosTelemetryMegaData.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryMegaData extends AltosTelemetryStandard {
int state;
diff --git a/altoslib/AltosTelemetryMegaSensor.java b/altoslib/AltosTelemetryMegaSensor.java
index 23b67af8..d1a463c0 100644
--- a/altoslib/AltosTelemetryMegaSensor.java
+++ b/altoslib/AltosTelemetryMegaSensor.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
int accel;
@@ -34,9 +34,12 @@ public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
int mag_y;
int mag_z;
+ int orient;
+
public AltosTelemetryMegaSensor(int[] bytes) {
super(bytes);
+ orient = int8(5);
accel = int16(6);
pres = int32(8);
temp = int16(12);
@@ -61,23 +64,25 @@ public class AltosTelemetryMegaSensor extends AltosTelemetryStandard {
state.set_pressure(pres);
state.set_temperature(temp / 100.0);
+ state.set_orient(orient);
+
AltosIMU imu = new AltosIMU();
- imu.accel_x = accel_x;
- imu.accel_y = accel_y;
- imu.accel_z = accel_z;
+ imu.accel_x = AltosIMU.convert_accel(accel_x);
+ imu.accel_y = AltosIMU.convert_accel(accel_y);
+ imu.accel_z = AltosIMU.convert_accel(accel_z);
- imu.gyro_x = gyro_x;
- imu.gyro_y = gyro_y;
- imu.gyro_z = gyro_z;
+ imu.gyro_x = AltosIMU.convert_gyro(gyro_x);
+ imu.gyro_y = AltosIMU.convert_gyro(gyro_y);
+ imu.gyro_z = AltosIMU.convert_gyro(gyro_z);
state.imu = imu;
AltosMag mag = new AltosMag();
- mag.x = mag_x;
- mag.y = mag_y;
- mag.z = mag_z;
+ mag.x = AltosMag.convert_gauss(mag_x);
+ mag.y = AltosMag.convert_gauss(mag_y);
+ mag.z = AltosMag.convert_gauss(mag_z);
state.mag = mag;
}
diff --git a/altoslib/AltosTelemetryMetrumData.java b/altoslib/AltosTelemetryMetrumData.java
index b6239971..b8f7e9ea 100644
--- a/altoslib/AltosTelemetryMetrumData.java
+++ b/altoslib/AltosTelemetryMetrumData.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryMetrumData extends AltosTelemetryStandard {
diff --git a/altoslib/AltosTelemetryMetrumSensor.java b/altoslib/AltosTelemetryMetrumSensor.java
index fc047afd..232468bb 100644
--- a/altoslib/AltosTelemetryMetrumSensor.java
+++ b/altoslib/AltosTelemetryMetrumSensor.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryMetrumSensor extends AltosTelemetryStandard {
diff --git a/altoslib/AltosTelemetryMini.java b/altoslib/AltosTelemetryMini.java
index e7109460..e0a493dc 100644
--- a/altoslib/AltosTelemetryMini.java
+++ b/altoslib/AltosTelemetryMini.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryMini extends AltosTelemetryStandard {
diff --git a/altoslib/AltosTelemetryRaw.java b/altoslib/AltosTelemetryRaw.java
index dbe70fe9..91cfbb18 100644
--- a/altoslib/AltosTelemetryRaw.java
+++ b/altoslib/AltosTelemetryRaw.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetryRaw extends AltosTelemetryStandard {
public AltosTelemetryRaw(int[] bytes) {
diff --git a/altoslib/AltosTelemetryReader.java b/altoslib/AltosTelemetryReader.java
index eeb35cb5..5e283587 100644
--- a/altoslib/AltosTelemetryReader.java
+++ b/altoslib/AltosTelemetryReader.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
import java.text.*;
import java.io.*;
diff --git a/altoslib/AltosTelemetrySatellite.java b/altoslib/AltosTelemetrySatellite.java
index fde3d86d..01252bde 100644
--- a/altoslib/AltosTelemetrySatellite.java
+++ b/altoslib/AltosTelemetrySatellite.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetrySatellite extends AltosTelemetryStandard {
int channels;
diff --git a/altoslib/AltosTelemetrySensor.java b/altoslib/AltosTelemetrySensor.java
index e1106440..d6389865 100644
--- a/altoslib/AltosTelemetrySensor.java
+++ b/altoslib/AltosTelemetrySensor.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTelemetrySensor extends AltosTelemetryStandard {
diff --git a/altoslib/AltosTelemetryStandard.java b/altoslib/AltosTelemetryStandard.java
index 3186ae09..c9531fcb 100644
--- a/altoslib/AltosTelemetryStandard.java
+++ b/altoslib/AltosTelemetryStandard.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public abstract class AltosTelemetryStandard extends AltosTelemetry {
int[] bytes;
diff --git a/altoslib/AltosTemperature.java b/altoslib/AltosTemperature.java
index a636533f..36e26564 100644
--- a/altoslib/AltosTemperature.java
+++ b/altoslib/AltosTemperature.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public class AltosTemperature extends AltosUnits {
diff --git a/altoslib/AltosUnits.java b/altoslib/AltosUnits.java
index 8f9ccded..e573a43b 100644
--- a/altoslib/AltosUnits.java
+++ b/altoslib/AltosUnits.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public abstract class AltosUnits {
diff --git a/altoslib/AltosUnitsListener.java b/altoslib/AltosUnitsListener.java
index 1e3ad655..e9b29f9a 100644
--- a/altoslib/AltosUnitsListener.java
+++ b/altoslib/AltosUnitsListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_3;
public interface AltosUnitsListener {
public void units_changed(boolean imperial_units);
diff --git a/altoslib/Makefile.am b/altoslib/Makefile.am
index 6d396635..2ee4d89f 100644
--- a/altoslib/Makefile.am
+++ b/altoslib/Makefile.am
@@ -70,6 +70,7 @@ altoslib_JAVA = \
AltosMma655x.java \
AltosMs5607.java \
AltosNoSymbol.java \
+ AltosOrient.java \
AltosParse.java \
AltosPreferences.java \
AltosPreferencesBackend.java \