*
* 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
import java.util.*;
import libaltosJNI.*;
-import org.altusmetrum.altosuilib.*;
+import org.altusmetrum.altoslib_11.*;
+import org.altusmetrum.altosuilib_11.*;
public class MicroUSB extends altos_device implements AltosDevice {
String name = getName();
if (name == null)
name = "Altus Metrum";
- return String.format("%-20.20s %s",
+ return String.format("%-24.24s %s",
name, getPath());
}
return libaltos.altos_open(this);
}
+ private boolean isFTDI() {
+ int vid = getVendor();
+ int pid = getProduct();
+ if (vid == 0x0403 && pid == 0x6015)
+ return true;
+ return false;
+ }
+
private boolean isMicro() {
- if (getVendor() != 0x0403)
- return false;
- if (getProduct() != 0x6015)
- return false;
- return true;
+ int vid = getVendor();
+ int pid = getProduct();
+ if (vid == AltosLib.vendor_altusmetrum &&
+ pid == AltosLib.product_mpusb)
+ return true;
+ return false;
}
public boolean matchProduct(int product) {
- return isMicro();
+ return isFTDI() || isMicro();
}
static java.util.List<MicroUSB> list() {
if (!load_library())
return null;
- SWIGTYPE_p_altos_list list = libaltos.altos_list_start();
-
ArrayList<MicroUSB> device_list = new ArrayList<MicroUSB>();
+
+ SWIGTYPE_p_altos_list list;
+
+ list = libaltos.altos_ftdi_list_start();
+
+ if (list != null) {
+ for (;;) {
+ MicroUSB device = new MicroUSB();
+ if (libaltos.altos_list_next(list, device) == 0)
+ break;
+ if (device.isFTDI())
+ device_list.add(device);
+ }
+ libaltos.altos_list_finish(list);
+ }
+
+ list = libaltos.altos_list_start();
+
if (list != null) {
for (;;) {
MicroUSB device = new MicroUSB();
return device_list;
}
-}
\ No newline at end of file
+}