From 4cb46b8a84a0dd5b8fcb479d7aa5157480e1bc67 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 17 Jun 2012 19:01:24 -0700 Subject: [PATCH] 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 --- altoslib/AltosTelemetryRecord.java | 2 ++ altosui/AltosIdleMonitorUI.java | 2 +- altosui/AltosIgnite.java | 2 +- altosui/AltosUSBDevice.java | 7 ++++++- 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(); -- 2.30.2