Working on BaudRate

pull/4/head
Felipe Herranz 2014-06-06 23:53:26 +02:00
rodzic 2c3c5a42e2
commit f3fc7cc89f
3 zmienionych plików z 24 dodań i 13 usunięć

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -12,10 +12,13 @@ public class PL2303SerialDevice extends UsbSerialDevice
{
private static final String CLASS_ID = PL2303SerialDevice.class.getSimpleName();
private static final int PL2303_REQTYPE_HOST2DEVICE = 0x40;
private static final int PL2303_REQTYPE_DEVICE2HOST = 0xC0;
private static final int PL2303_REQTYPE_HOST2DEVICE_VENDOR = 0x40;
private static final int PL2303_REQTYPE_DEVICE2HOST_VENDOR = 0xC0;
private static final int PL2303_REQTYPE_HOST2DEVICE = 0x21;
private static final int PL2303_VENDOR_WRITE_REQUEST = 0x01;
private static final int PL2303_SET_LINE_CODING = 0x21;
private UsbInterface mInterface;
private UsbEndpoint inEndpoint;
@ -61,17 +64,18 @@ public class PL2303SerialDevice extends UsbSerialDevice
//Default Setup
byte[] buf = new byte[2];
setControlCommand(PL2303_REQTYPE_DEVICE2HOST, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE, PL2303_VENDOR_WRITE_REQUEST, 0x0404, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST, PL2303_VENDOR_WRITE_REQUEST, 0x8383, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE, PL2303_VENDOR_WRITE_REQUEST, 0x0404, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST, PL2303_VENDOR_WRITE_REQUEST, 0x8383, 0, buf);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE, PL2303_VENDOR_WRITE_REQUEST, 0x0000, 0, null);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE, PL2303_VENDOR_WRITE_REQUEST, 0x0001, 0, null);
//Specific vendor stuff that I barely understand but It is on linux drivers, So I trust :)
setControlCommand(PL2303_REQTYPE_DEVICE2HOST_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x0404, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x8383, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x0404, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x8484, 0, buf);
setControlCommand(PL2303_REQTYPE_DEVICE2HOST_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x8383, 0, buf);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x0000, 0, null);
setControlCommand(PL2303_REQTYPE_HOST2DEVICE_VENDOR, PL2303_VENDOR_WRITE_REQUEST, 0x0001, 0, null);
// End of specific vendor stuff
// Initialize UsbRequest
requestIN = new UsbRequest();
@ -126,6 +130,13 @@ public class PL2303SerialDevice extends UsbSerialDevice
}
private byte[] encodeBaudRateDiv(int baudRate)
{
int tmp;
byte[] baudRateEncoded = new byte[4];
tmp = 12000000 * 32 / baudRate;
}
private int setControlCommand(int reqType ,int request, int value, int index, byte[] data)
{
int dataLength = 0;