summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-06-17 19:01:24 -0700
committerKeith Packard <keithp@keithp.com>2012-06-17 19:01:24 -0700
commit4cb46b8a84a0dd5b8fcb479d7aa5157480e1bc67 (patch)
tree38e7d3b5ef12ce623b905f747bb451375b56d887
parent55747ce210d7d80d5b4fdaaf9dc7ee0f7bc8b0a3 (diff)
altosui: Add rudimentary MM support to altosui
Decoded the MM sensor packets as if they were TM packets. Add the USB ids. Add class of 'altimeter' devices and match those instead of just telemetrum as appropriate. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altoslib/AltosTelemetryRecord.java2
-rw-r--r--altosui/AltosIdleMonitorUI.java2
-rw-r--r--altosui/AltosIgnite.java2
-rw-r--r--altosui/AltosUSBDevice.java7
4 files changed, 10 insertions, 3 deletions
diff --git a/altoslib/AltosTelemetryRecord.java b/altoslib/AltosTelemetryRecord.java
index 4292dae8..6b6a252d 100644
--- a/altoslib/AltosTelemetryRecord.java
+++ b/altoslib/AltosTelemetryRecord.java
@@ -42,6 +42,7 @@ public abstract class AltosTelemetryRecord {
final static int packet_type_location = 0x05;
final static int packet_type_satellite = 0x06;
final static int packet_type_companion = 0x07;
+ final static int packet_type_MM_sensor = 0x08;
static AltosTelemetryRecord parse_hex(String hex) throws ParseException, AltosCRCException {
AltosTelemetryRecord r;
@@ -75,6 +76,7 @@ public abstract class AltosTelemetryRecord {
case packet_type_TM_sensor:
case packet_type_Tm_sensor:
case packet_type_Tn_sensor:
+ case packet_type_MM_sensor:
r = new AltosTelemetryRecordSensor(bytes, rssi);
break;
case packet_type_configuration:
diff --git a/altosui/AltosIdleMonitorUI.java b/altosui/AltosIdleMonitorUI.java
index 02295ea9..2ee90937 100644
--- a/altosui/AltosIdleMonitorUI.java
+++ b/altosui/AltosIdleMonitorUI.java
@@ -325,7 +325,7 @@ public class AltosIdleMonitorUI extends AltosFrame implements AltosFlightDisplay
device = AltosDeviceDialog.show(in_owner, Altos.product_any);
remote = false;
- if (!device.matchProduct(Altos.product_telemetrum))
+ if (!device.matchProduct(Altos.product_altimeter))
remote = true;
serial = device.getSerial();
diff --git a/altosui/AltosIgnite.java b/altosui/AltosIgnite.java
index c0cd44f1..45d37d16 100644
--- a/altosui/AltosIgnite.java
+++ b/altosui/AltosIgnite.java
@@ -178,7 +178,7 @@ public class AltosIgnite {
serial = new AltosSerial(device);
remote = false;
- if (!device.matchProduct(Altos.product_telemetrum))
+ if (!device.matchProduct(Altos.product_altimeter))
remote = true;
}
} \ No newline at end of file
diff --git a/altosui/AltosUSBDevice.java b/altosui/AltosUSBDevice.java
index b11a3934..ed5f8307 100644
--- a/altosui/AltosUSBDevice.java
+++ b/altosui/AltosUSBDevice.java
@@ -71,7 +71,12 @@ public class AltosUSBDevice extends altos_device implements AltosDevice {
if (want_product == Altos.product_basestation)
return matchProduct(Altos.product_teledongle) ||
matchProduct(Altos.product_teleterra) ||
- matchProduct(Altos.product_telebt);
+ matchProduct(Altos.product_telebt) ||
+ matchProduct(Altos.product_megadongle);
+
+ if (want_product == Altos.product_altimeter)
+ return matchProduct(Altos.product_telemetrum) ||
+ matchProduct(Altos.product_megametrum);
int have_product = getProduct();