From d83587c3c66b730cc54ca153714eee520ee40b2c Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 1 Jan 2013 15:30:11 -0800 Subject: micropeak is code complete now. Added save and download functionality. Removed 'new' from file menu. Signed-off-by: Keith Packard --- altosuilib/AltosUSBDevice.java | 112 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 altosuilib/AltosUSBDevice.java (limited to 'altosuilib/AltosUSBDevice.java') diff --git a/altosuilib/AltosUSBDevice.java b/altosuilib/AltosUSBDevice.java new file mode 100644 index 00000000..2f4e0dc6 --- /dev/null +++ b/altosuilib/AltosUSBDevice.java @@ -0,0 +1,112 @@ +/* + * Copyright © 2010 Keith Packard + * + * 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.altosuilib; + +import java.util.*; +import libaltosJNI.*; + +public class AltosUSBDevice extends altos_device implements AltosDevice { + + public String toString() { + String name = getName(); + if (name == null) + name = "Altus Metrum"; + return String.format("%-20.20s %4d %s", + name, getSerial(), getPath()); + } + + public String toShortString() { + String name = getName(); + if (name == null) + name = "Altus Metrum"; + return String.format("%s %d %s", + name, getSerial(), getPath()); + + } + + public String getErrorString() { + altos_error error = new altos_error(); + + libaltos.altos_get_last_error(error); + return String.format("%s (%d)", error.getString(), error.getCode()); + } + + public SWIGTYPE_p_altos_file open() { + return libaltos.altos_open(this); + } + + private boolean isAltusMetrum() { + if (getVendor() != AltosUILib.vendor_altusmetrum) + return false; + if (getProduct() < AltosUILib.product_altusmetrum_min) + return false; + if (getProduct() > AltosUILib.product_altusmetrum_max) + return false; + return true; + } + + public boolean matchProduct(int want_product) { + + if (!isAltusMetrum()) + return false; + + if (want_product == AltosUILib.product_any) + return true; + + if (want_product == AltosUILib.product_basestation) + return matchProduct(AltosUILib.product_teledongle) || + matchProduct(AltosUILib.product_teleterra) || + matchProduct(AltosUILib.product_telebt) || + matchProduct(AltosUILib.product_megadongle); + + if (want_product == AltosUILib.product_altimeter) + return matchProduct(AltosUILib.product_telemetrum) || + matchProduct(AltosUILib.product_megametrum); + + int have_product = getProduct(); + + if (have_product == AltosUILib.product_altusmetrum) /* old devices match any request */ + return true; + + if (want_product == have_product) + return true; + + return false; + } + + static java.util.List list(int product) { + if (!AltosUILib.load_library()) + return null; + + SWIGTYPE_p_altos_list list = libaltos.altos_list_start(); + + ArrayList device_list = new ArrayList(); + if (list != null) { + for (;;) { + AltosUSBDevice device = new AltosUSBDevice(); + if (libaltos.altos_list_next(list, device) == 0) + break; + if (device.matchProduct(product)) + device_list.add(device); + } + libaltos.altos_list_finish(list); + } + + return device_list; + } +} \ No newline at end of file -- cgit v1.2.3 From eb670e9b7576563d747ae5c9416371f145455ec1 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 2 Jan 2013 09:50:09 -0800 Subject: altosui: Remove duplicate AltosUSBDevice Signed-off-by: Keith Packard --- altosui/AltosUSBDevice.java | 112 ----------------------------------------- altosui/Makefile.am | 1 - altosuilib/AltosUSBDevice.java | 4 +- 3 files changed, 2 insertions(+), 115 deletions(-) delete mode 100644 altosui/AltosUSBDevice.java (limited to 'altosuilib/AltosUSBDevice.java') diff --git a/altosui/AltosUSBDevice.java b/altosui/AltosUSBDevice.java deleted file mode 100644 index 5c6a8976..00000000 --- a/altosui/AltosUSBDevice.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright © 2010 Keith Packard - * - * 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 altosui; -import java.util.*; -import libaltosJNI.*; -import org.altusmetrum.altosuilib.*; - -public class AltosUSBDevice extends altos_device implements AltosDevice { - - public String toString() { - String name = getName(); - if (name == null) - name = "Altus Metrum"; - return String.format("%-20.20s %4d %s", - name, getSerial(), getPath()); - } - - public String toShortString() { - String name = getName(); - if (name == null) - name = "Altus Metrum"; - return String.format("%s %d %s", - name, getSerial(), getPath()); - - } - - public String getErrorString() { - altos_error error = new altos_error(); - - libaltos.altos_get_last_error(error); - return String.format("%s (%d)", error.getString(), error.getCode()); - } - - public SWIGTYPE_p_altos_file open() { - return libaltos.altos_open(this); - } - - private boolean isAltusMetrum() { - if (getVendor() != Altos.vendor_altusmetrum) - return false; - if (getProduct() < Altos.product_altusmetrum_min) - return false; - if (getProduct() > Altos.product_altusmetrum_max) - return false; - return true; - } - - public boolean matchProduct(int want_product) { - - if (!isAltusMetrum()) - return false; - - if (want_product == Altos.product_any) - return true; - - if (want_product == Altos.product_basestation) - return matchProduct(Altos.product_teledongle) || - matchProduct(Altos.product_teleterra) || - 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(); - - if (have_product == Altos.product_altusmetrum) /* old devices match any request */ - return true; - - if (want_product == have_product) - return true; - - return false; - } - - static java.util.List list(int product) { - if (!Altos.load_library()) - return null; - - SWIGTYPE_p_altos_list list = libaltos.altos_list_start(); - - ArrayList device_list = new ArrayList(); - if (list != null) { - for (;;) { - AltosUSBDevice device = new AltosUSBDevice(); - if (libaltos.altos_list_next(list, device) == 0) - break; - if (device.matchProduct(product)) - device_list.add(device); - } - libaltos.altos_list_finish(list); - } - - return device_list; - } -} \ No newline at end of file diff --git a/altosui/Makefile.am b/altosui/Makefile.am index b97222de..539e14f6 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -33,7 +33,6 @@ altosui_JAVA = \ AltosDebug.java \ AltosDescent.java \ AltosDeviceUIDialog.java \ - AltosUSBDevice.java \ AltosDisplayThread.java \ AltosEepromDelete.java \ AltosEepromDownload.java \ diff --git a/altosuilib/AltosUSBDevice.java b/altosuilib/AltosUSBDevice.java index 2f4e0dc6..bab16fb0 100644 --- a/altosuilib/AltosUSBDevice.java +++ b/altosuilib/AltosUSBDevice.java @@ -50,7 +50,7 @@ public class AltosUSBDevice extends altos_device implements AltosDevice { return libaltos.altos_open(this); } - private boolean isAltusMetrum() { + public boolean isAltusMetrum() { if (getVendor() != AltosUILib.vendor_altusmetrum) return false; if (getProduct() < AltosUILib.product_altusmetrum_min) @@ -89,7 +89,7 @@ public class AltosUSBDevice extends altos_device implements AltosDevice { return false; } - static java.util.List list(int product) { + static public java.util.List list(int product) { if (!AltosUILib.load_library()) return null; -- cgit v1.2.3