X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosuilib%2FAltosUSBDevice.java;h=ea4f9f3c5ce54bb90abee486e283720742c48aa8;hb=HEAD;hp=48daf1310ecce8e0db21fdfde315f0b475394c4a;hpb=643c2fb03833d658320f476ef731bbb06fe3cc31;p=fw%2Faltos diff --git a/altosuilib/AltosUSBDevice.java b/altosuilib/AltosUSBDevice.java index 48daf131..585bd774 100644 --- a/altosuilib/AltosUSBDevice.java +++ b/altosuilib/AltosUSBDevice.java @@ -3,7 +3,8 @@ * * 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. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,16 +16,17 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altosuilib_7; +package org.altusmetrum.altosuilib_14; import java.util.*; import libaltosJNI.*; +import org.altusmetrum.altoslib_14.*; public class AltosUSBDevice extends altos_device implements AltosDevice { public String toString() { String name = getName(); - if (name == null) + if (name == null || "".equals(name)) name = "Altus Metrum"; return String.format("%-20.20s %4d %s", name, getSerial(), getPath()); @@ -32,7 +34,7 @@ public class AltosUSBDevice extends altos_device implements AltosDevice { public String toShortString() { String name = getName(); - if (name == null) + if (name == null || "".equals(name)) name = "Altus Metrum"; return String.format("%s %d %s", name, getSerial(), getPath()); @@ -72,13 +74,13 @@ public class AltosUSBDevice extends altos_device implements AltosDevice { if (want_product == AltosUILib.product_basestation) return have_product == AltosUILib.product_teledongle || - have_product == AltosUILib.product_teleterra || have_product == AltosUILib.product_telebt || have_product == AltosUILib.product_megadongle; if (want_product == AltosUILib.product_altimeter) return have_product == AltosUILib.product_telemetrum || have_product == AltosUILib.product_telemega || + have_product == AltosUILib.product_easytimer || have_product == AltosUILib.product_easymega || have_product == AltosUILib.product_telegps || have_product == AltosUILib.product_easymini || @@ -93,6 +95,32 @@ public class AltosUSBDevice extends altos_device implements AltosDevice { return false; } + public int hashCode() { + return getVendor() ^ getProduct() ^ getSerial() ^ getPath().hashCode(); + } + + public AltosUsbId usb_id() { + return new AltosUsbId(getVendor(), getProduct()); + } + + public String usb_product() { + return getName(); + } + + public boolean equals(Object o) { + if (o == null) + return false; + + if (!(o instanceof AltosUSBDevice)) + return false; + AltosUSBDevice other = (AltosUSBDevice) o; + + return getVendor() == other.getVendor() && + getProduct() == other.getProduct() && + getSerial() == other.getSerial() && + getPath().equals(other.getPath()); + } + static public java.util.List list(int product) { if (!AltosUILib.load_library()) return null;