MCPcopy Create free account
hub / github.com/XCSoar/XCSoar / UsbSerialHelper

Class UsbSerialHelper

android/src/UsbSerialHelper.java:47–420  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

45import com.felhr.usbserial.UsbSerialDevice;
46
47@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
48public final class UsbSerialHelper extends BroadcastReceiver {
49
50 private static final String TAG = "UsbSerialHelper";
51 private static final String ACTION_USB_PERMISSION = "org.xcsoar.otg.action.USB_PERMISSION";
52
53 private final Context context;
54 private final UsbManager usbmanager;
55
56 private final Collection<UsbDeviceInterface> interfaces = new LinkedList<>();
57
58 private final Collection<DetectDeviceListener> detectListeners =
59 new LinkedList<DetectDeviceListener>();
60
61 // keep this list in sync with res/xml/usb_device_filter.xml
62 private static final long[] supported_ids = createTable(
63 createDevice(0x16D0, 0x0BA9), // GPSBip
64 createDevice(0x0403, 0x6015), // Digifly AIR (FT X-Series)
65 createDevice(0x0483, 0x5740), // SoftRF Dongle
66 createDevice(0x239A, 0x8029), // SoftRF Badge
67 createDevice(0x2341, 0x804d), // SoftRF Academy
68 createDevice(0x1d50, 0x6089), // SoftRF ES
69 createDevice(0x2e8a, 0x000a), // SoftRF Lego
70 createDevice(0x2e8a, 0xf00a), // SoftRF Lego
71 createDevice(0x15ba, 0x0044), // SoftRF Balkan
72 createDevice(0x303a, 0x8133), // SoftRF Prime Mk3
73
74 createDevice(0x0403, 0x6001), // FT232AM, FT232BM, FT232R FT245R,
75 createDevice(0x0403, 0x6010), // FT2232D, FT2232H
76 createDevice(0x0403, 0x6011), // FT4232H
77 createDevice(0x0403, 0x6014), // FT232H
78
79 createDevice(0x10C4, 0xEA60), // CP210x
80 createDevice(0x1A86, 0x55D4), // CH9102
81
82 createDevice(0x067B, 0x2303), // PL2303
83 createDevice(0x1546, 0x01A7) // U-BLOX 7 USB GPS
84 );
85
86 private static String makeDeviceId(UsbDevice device,
87 boolean withSerialNumber) {
88 String id = String.format("%04X:%04X",
89 device.getVendorId(), device.getProductId());
90
91 if (withSerialNumber) {
92 String serialNumber = getSerialNumber(device);
93 if (serialNumber != null)
94 id += "[" + serialNumber + "]";
95 }
96
97 return id;
98 }
99
100 private static String makePortId(UsbDevice device, int iface,
101 boolean withSerialNumber) {
102 String id = makeDeviceId(device, withSerialNumber);
103
104 if (iface > 0)

Callers

nothing calls this directly

Calls 2

createTableMethod · 0.95
createDeviceMethod · 0.95

Tested by

no test coverage detected