diff options
-rw-r--r-- | android-mobile/res/xml/device_filter.xml | 36 | ||||
-rw-r--r-- | android-mobile/src/org/subsurfacedivelog/mobile/AndroidSerial.java | 16 |
2 files changed, 44 insertions, 8 deletions
diff --git a/android-mobile/res/xml/device_filter.xml b/android-mobile/res/xml/device_filter.xml index 59742610d..54445c997 100644 --- a/android-mobile/res/xml/device_filter.xml +++ b/android-mobile/res/xml/device_filter.xml @@ -1,11 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <!-- FTDI Chips --> - <!-- (Smart Interface), Heinrichs Weikamp --> + <!-- FTDI_FT232R --> <usb-device vendor-id="0x0403" product-id="0x6001"/> + <!-- FTDI_FT2232H --> <usb-device vendor-id="0x0403" product-id="0x6010"/> + <!-- FTDI_FT4232H --> <usb-device vendor-id="0x0403" product-id="0x6011"/> - <!-- May be Aqualung custom PID? --> + <!--FTDI_FT232H --> + <usb-device vendor-id="0x0403" product-id="0x6014"/> + <!--FTDI_FT231X --> <usb-device vendor-id="0x0403" product-id="0x6015"/> <!-- Oceanic Custom PID --> <usb-device vendor-id="0x0403" product-id="0xf460"/> @@ -13,6 +17,8 @@ <usb-device vendor-id="0x0403" product-id="0xf680"/> <!-- Cressi (Leonardo) Custom PID --> <usb-device vendor-id="0x0403" product-id="0x87d0"/> + <!-- Mares Icon HD Custom PID --> + <usb-device vendor-id="0xFFFF" product-id="0x0005"/> <!-- USB devices --> <!-- EON Steel --> @@ -27,4 +33,28 @@ <usb-device vendor-id="0xc251" product-id="0x2006"/> <!-- Atomics Aquatics Cobalt --> <usb-device vendor-id="0x0471" product-id="0x0888"/> -</resources> + + <!-- devices supported by usb-serial-for-android which aren't included in FTDI chips --> + <!-- Don't support Arduino / Teensyduino / Leaflabs Maple --> + <!-- SiLabs CP2102 --> + <usb-device vendor-id="0x10c4" product-id="0xea60"/> + <!-- SiLabs CP2105 --> + <usb-device vendor-id="0x10c4" product-id="0xea70"/> + <!-- SiLabs CP2108 --> + <usb-device vendor-id="0x10c4" product-id="0xea71"/> + <!-- SiLabs CP2110 --> + <usb-device vendor-id="0x10c4" product-id="0xea80"/> + + <!-- PROLIFIC_PL2303 --> + <usb-device vendor-id="0x067b" product-id="0x2303"/> + <usb-device vendor-id="0x04B8" product-id="0x0521"/> + <usb-device vendor-id="0x04B8" product-id="0x0522"/> + + <!-- QINHENG_HL340 --> + <usb-device vendor-id="0x1a86" product-id="0x7523"/> + <!-- ARM mBed (possibly not used) --> + <usb-device vendor-id="0x0d28" product-id="0x0204"/> + + + +</resources>
\ No newline at end of file diff --git a/android-mobile/src/org/subsurfacedivelog/mobile/AndroidSerial.java b/android-mobile/src/org/subsurfacedivelog/mobile/AndroidSerial.java index 88b167fda..59b8dc9e9 100644 --- a/android-mobile/src/org/subsurfacedivelog/mobile/AndroidSerial.java +++ b/android-mobile/src/org/subsurfacedivelog/mobile/AndroidSerial.java @@ -1,8 +1,6 @@ package org.subsurfacedivelog.mobile; -import com.hoho.android.usbserial.driver.UsbSerialDriver; -import com.hoho.android.usbserial.driver.UsbSerialPort; -import com.hoho.android.usbserial.driver.UsbSerialProber; +import com.hoho.android.usbserial.driver.*; import android.hardware.usb.UsbDeviceConnection; import android.hardware.usb.UsbManager; @@ -91,9 +89,17 @@ public class AndroidSerial { // Find all available drivers from attached devices. Context context = SubsurfaceMobileActivity.getAppContext(); UsbManager manager = (UsbManager) context.getSystemService(Context.USB_SERVICE); - UsbSerialProber usbSerialProber = UsbSerialProber.getDefaultProber(); + ProbeTable usbSerialProbetable = UsbSerialProber.getDefaultProbeTable(); - // TODO attach custom VID / PID / Drivers + usbSerialProbetable.addProduct(0x0403, 0xf460, FtdiSerialDriver.class); // Oceanic Custom PID + usbSerialProbetable.addProduct(0x0403, 0xf680, FtdiSerialDriver.class); // Suunto Custom PID + usbSerialProbetable.addProduct(0x0403, 0x87d0, FtdiSerialDriver.class); // Cressi (Leonardo) Custom PID + + usbSerialProbetable.addProduct(0x04B8, 0x0521, ProlificSerialDriver.class); // Mares (Nemo Sport) / Cressi Custom PID + usbSerialProbetable.addProduct(0x04B8, 0x0521, ProlificSerialDriver.class); // Zeagle Custom PID + usbSerialProbetable.addProduct(0xFFFF, 0x0005, CdcAcmSerialDriver.class); // Mares Icon HD Custom PID + + UsbSerialProber usbSerialProber = new UsbSerialProber(usbSerialProbetable); List<UsbSerialDriver> availableDrivers = usbSerialProber.findAllDrivers(manager); if (availableDrivers.isEmpty()) { |