diff --git a/usbSerialExamples/src/main/res/xml/device_filter.xml b/usbSerialExamples/src/main/res/xml/device_filter.xml index 18fadc6..60ecd65 100644 --- a/usbSerialExamples/src/main/res/xml/device_filter.xml +++ b/usbSerialExamples/src/main/res/xml/device_filter.xml @@ -1,13 +1,13 @@ - + - + @@ -16,8 +16,9 @@ - - + + + diff --git a/usbSerialForAndroid/build.gradle b/usbSerialForAndroid/build.gradle index 463e97f..676f669 100644 --- a/usbSerialForAndroid/build.gradle +++ b/usbSerialForAndroid/build.gradle @@ -18,7 +18,7 @@ android { } dependencies { - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13' androidTestImplementation 'com.android.support:support-annotations:28.0.0' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'commons-net:commons-net:3.6' diff --git a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/Ch34xSerialDriver.java b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/Ch34xSerialDriver.java index b93da1a..f924af2 100644 --- a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/Ch34xSerialDriver.java +++ b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/Ch34xSerialDriver.java @@ -181,8 +181,7 @@ public class Ch34xSerialDriver implements UsbSerialDriver { throw new IOException("Init failed: #5"); } - checkState("init #6", 0x95, 0x0706, new int[]{-1/*0xf?*/, 0xee}); - + checkState("init #6", 0x95, 0x0706, new int[]{-1/*0xf?*/, -1/*0xec,0xee*/}); if (controlOut(0xa1, 0x501f, 0xd90a) < 0) { throw new IOException("Init failed: #7"); @@ -192,7 +191,7 @@ public class Ch34xSerialDriver implements UsbSerialDriver { writeHandshakeByte(); - checkState("init #10", 0x95, 0x0706, new int[]{-1/* 0x9f, 0xff*/, 0xee}); + checkState("init #10", 0x95, 0x0706, new int[]{-1/* 0x9f, 0xff*/, -1/*0xec,0xee*/}); } @@ -213,7 +212,7 @@ public class Ch34xSerialDriver implements UsbSerialDriver { } factor = 0x10000 - factor; - + divisor |= 0x0080; // else ch341a waits until buffer full int ret = controlOut(0x9a, 0x1312, (int) ((factor & 0xff00) | divisor)); if (ret < 0) { throw new IOException("Error setting baud rate: #1)"); @@ -335,7 +334,8 @@ public class Ch34xSerialDriver implements UsbSerialDriver { public static Map getSupportedDevices() { final Map supportedDevices = new LinkedHashMap(); supportedDevices.put(UsbId.VENDOR_QINHENG, new int[]{ - UsbId.QINHENG_HL340 + UsbId.QINHENG_CH340, + UsbId.QINHENG_CH341A, }); return supportedDevices; } diff --git a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/UsbId.java b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/UsbId.java index 18abf29..35a501c 100644 --- a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/UsbId.java +++ b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/UsbId.java @@ -69,7 +69,8 @@ public final class UsbId { public static final int PROLIFIC_PL2303 = 0x2303; public static final int VENDOR_QINHENG = 0x1a86; - public static final int QINHENG_HL340 = 0x7523; + public static final int QINHENG_CH340 = 0x7523; + public static final int QINHENG_CH341A = 0x5523; // at www.linux-usb.org/usb.ids listed for NXP/LPC1768, but all processors supported by ARM mbed DAPLink firmware report these ids public static final int VENDOR_ARM = 0x0d28;