From 7ad3d3795fe2d80ac646e8efa0cb5505c6918780 Mon Sep 17 00:00:00 2001 From: Felipe Herranz Date: Sat, 16 Jan 2016 12:33:35 +0100 Subject: [PATCH] Added callbacks for CTS and DSR --- .../felhr/usbserial/BLED112SerialDevice.java | 12 ++++++++++ .../com/felhr/usbserial/CDCSerialDevice.java | 12 ++++++++++ .../felhr/usbserial/CH34xSerialDevice.java | 12 ++++++++++ .../felhr/usbserial/CP2102SerialDevice.java | 24 +++++++++++++++++++ .../com/felhr/usbserial/FTDISerialDevice.java | 12 ++++++++++ .../felhr/usbserial/PL2303SerialDevice.java | 12 ++++++++++ .../felhr/usbserial/UsbSerialInterface.java | 8 ++++++- .../felhr/usbserial/XdcVcpSerialDevice.java | 12 ++++++++++ 8 files changed, 103 insertions(+), 1 deletion(-) diff --git a/usbserial/src/main/java/com/felhr/usbserial/BLED112SerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/BLED112SerialDevice.java index 220af7b..e6bcab4 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/BLED112SerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/BLED112SerialDevice.java @@ -211,6 +211,18 @@ public class BLED112SerialDevice extends UsbSerialDevice } + @Override + public void getCTS(UsbCTSCallback ctsCallback) + { + //TODO + } + + @Override + public void getDSR(UsbDSRCallback dsrCallback) + { + //TODO + } + private int setControlCommand(int request, int value, byte[] data) { int dataLength = 0; diff --git a/usbserial/src/main/java/com/felhr/usbserial/CDCSerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/CDCSerialDevice.java index 87677ac..a327283 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/CDCSerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/CDCSerialDevice.java @@ -227,6 +227,18 @@ public class CDCSerialDevice extends UsbSerialDevice //TODO } + @Override + public void getCTS(UsbCTSCallback ctsCallback) + { + //TODO + } + + @Override + public void getDSR(UsbDSRCallback dsrCallback) + { + //TODO + } + private int setControlCommand(int request, int value, byte[] data) { int dataLength = 0; diff --git a/usbserial/src/main/java/com/felhr/usbserial/CH34xSerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/CH34xSerialDevice.java index 999a8ef..8baf174 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/CH34xSerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/CH34xSerialDevice.java @@ -255,6 +255,18 @@ public class CH34xSerialDevice extends UsbSerialDevice //TODO } + @Override + public void getCTS(UsbCTSCallback ctsCallback) + { + //TODO + } + + @Override + public void getDSR(UsbDSRCallback dsrCallback) + { + //TODO + } + private int init() { if(checkState("init #1", 0x5f, 0, new int[]{-1 /* 0x27, 0x30 */, 0x00}) == -1) diff --git a/usbserial/src/main/java/com/felhr/usbserial/CP2102SerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/CP2102SerialDevice.java index 57e8c5f..239d395 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/CP2102SerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/CP2102SerialDevice.java @@ -310,6 +310,18 @@ public class CP2102SerialDevice extends UsbSerialDevice } } + @Override + public void getCTS(UsbCTSCallback ctsCallback) + { + //TODO + } + + @Override + public void getDSR(UsbDSRCallback dsrCallback) + { + //TODO + } + private int setControlCommand(int request, int value, byte[] data) { int dataLength = 0; @@ -322,6 +334,18 @@ public class CP2102SerialDevice extends UsbSerialDevice return response; } + private int setControlCommand2Host(int request, int value, byte[] data) + { + int dataLength = 0; + if(data != null) + { + dataLength = data.length; + } + int response = connection.controlTransfer(CP210x_REQTYPE_DEVICE2HOST, request, value, mInterface.getId(), data, dataLength, USB_TIMEOUT); + Log.i(CLASS_ID,"Control Transfer Response: " + String.valueOf(response)); + return response; + } + private byte[] getCTL() { byte[] data = new byte[2]; diff --git a/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java index 54d35f3..322759b 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/FTDISerialDevice.java @@ -334,6 +334,18 @@ public class FTDISerialDevice extends UsbSerialDevice //TODO } + @Override + public void getCTS(UsbCTSCallback ctsCallback) + { + //TODO + } + + @Override + public void getDSR(UsbDSRCallback dsrCallback) + { + //TODO + } + private int setControlCommand(int request, int value, int index, byte[] data) { int dataLength = 0; diff --git a/usbserial/src/main/java/com/felhr/usbserial/PL2303SerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/PL2303SerialDevice.java index 7c498ec..a78ce38 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/PL2303SerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/PL2303SerialDevice.java @@ -292,6 +292,18 @@ public class PL2303SerialDevice extends UsbSerialDevice //TODO } + @Override + public void getCTS(UsbCTSCallback ctsCallback) + { + //TODO + } + + @Override + public void getDSR(UsbDSRCallback dsrCallback) + { + //TODO + } + private int setControlCommand(int reqType , int request, int value, int index, byte[] data) { int dataLength = 0; diff --git a/usbserial/src/main/java/com/felhr/usbserial/UsbSerialInterface.java b/usbserial/src/main/java/com/felhr/usbserial/UsbSerialInterface.java index 4033596..a6cc3b8 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/UsbSerialInterface.java +++ b/usbserial/src/main/java/com/felhr/usbserial/UsbSerialInterface.java @@ -44,10 +44,16 @@ public interface UsbSerialInterface // Flow control commands and interface callback void setRTS(boolean state); void setDTR(boolean state); + void getCTS(UsbCTSCallback ctsCallback); + void getDSR(UsbDSRCallback dsrCallback); - interface UsbFlowCallback + interface UsbCTSCallback { void onCTSChanged(boolean state); + } + + interface UsbDSRCallback + { void onDSRChanged(boolean state); } diff --git a/usbserial/src/main/java/com/felhr/usbserial/XdcVcpSerialDevice.java b/usbserial/src/main/java/com/felhr/usbserial/XdcVcpSerialDevice.java index b02aee9..9c83419 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/XdcVcpSerialDevice.java +++ b/usbserial/src/main/java/com/felhr/usbserial/XdcVcpSerialDevice.java @@ -298,6 +298,18 @@ public class XdcVcpSerialDevice extends UsbSerialDevice //TODO } + @Override + public void getCTS(UsbCTSCallback ctsCallback) + { + //TODO + } + + @Override + public void getDSR(UsbDSRCallback dsrCallback) + { + //TODO + } + private int setControlCommand(int request, int value, byte[] data) { int dataLength = 0;