kopia lustrzana https://github.com/felHR85/UsbSerial
Ready to take some tests to prove me wrong :)
rodzic
6db9ff44d5
commit
db2a03f0f6
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
|
@ -117,7 +117,10 @@ public class CP2102SerialDevice extends UsbSerialDevice
|
||||||
@Override
|
@Override
|
||||||
public void close()
|
public void close()
|
||||||
{
|
{
|
||||||
// TODO
|
setControlCommand(CP210x_IFC_ENABLE, CP210x_UART_DISABLE, null);
|
||||||
|
connection.close();
|
||||||
|
workerThread.stopWorkingThread();
|
||||||
|
listenThread.stopListenThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -147,7 +150,7 @@ public class CP2102SerialDevice extends UsbSerialDevice
|
||||||
@Override
|
@Override
|
||||||
public void setParity(int parity)
|
public void setParity(int parity)
|
||||||
{
|
{
|
||||||
// TODO Auto-generated method stub
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -181,7 +184,9 @@ public class CP2102SerialDevice extends UsbSerialDevice
|
||||||
{
|
{
|
||||||
dataLength = data.length;
|
dataLength = data.length;
|
||||||
}
|
}
|
||||||
return connection.controlTransfer(CP210x_REQTYPE_HOST2DEVICE, request, value, 0, data, dataLength, USB_TIMEOUT);
|
int response = connection.controlTransfer(CP210x_REQTYPE_HOST2DEVICE, request, value, 0, data, dataLength, USB_TIMEOUT);
|
||||||
|
Log.i(CLASS_ID,"Control Transfer Response: " + String.valueOf(response));
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,12 +12,12 @@ public class SerialBuffer
|
||||||
private Object mReadLock;
|
private Object mReadLock;
|
||||||
private Object mWriteLock;
|
private Object mWriteLock;
|
||||||
|
|
||||||
public SerialBuffer(Object mReadLock, Object mWriteLock)
|
public SerialBuffer()
|
||||||
{
|
{
|
||||||
writeBuffer = ByteBuffer.allocate(DEFAULT_WRITE_BUFFER_SIZE);
|
writeBuffer = ByteBuffer.allocate(DEFAULT_WRITE_BUFFER_SIZE);
|
||||||
readBuffer = ByteBuffer.allocate(DEFAULT_READ_BUFFER_SIZE);
|
readBuffer = ByteBuffer.allocate(DEFAULT_READ_BUFFER_SIZE);
|
||||||
this.mReadLock = mReadLock;
|
this.mReadLock = new Object();
|
||||||
this.mWriteLock = mWriteLock;
|
this.mWriteLock = new Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void putWriteBuffer(byte[] data)
|
public void putWriteBuffer(byte[] data)
|
||||||
|
|
|
@ -17,8 +17,6 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
|
||||||
protected final UsbDeviceConnection connection;
|
protected final UsbDeviceConnection connection;
|
||||||
|
|
||||||
protected SerialBuffer serialBuffer;
|
protected SerialBuffer serialBuffer;
|
||||||
protected final Object readBufferLock;
|
|
||||||
protected final Object writeBufferLock;
|
|
||||||
|
|
||||||
private Object objectMonitor;
|
private Object objectMonitor;
|
||||||
protected ListenThread listenThread;
|
protected ListenThread listenThread;
|
||||||
|
@ -28,9 +26,8 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
|
||||||
{
|
{
|
||||||
this.device = device;
|
this.device = device;
|
||||||
this.connection = connection;
|
this.connection = connection;
|
||||||
this.readBufferLock = new Object();
|
this.objectMonitor = new Object();
|
||||||
this.writeBufferLock = new Object();
|
serialBuffer = new SerialBuffer();
|
||||||
serialBuffer = new SerialBuffer(readBufferLock, writeBufferLock);
|
|
||||||
workerThread = new WorkerThread();
|
workerThread = new WorkerThread();
|
||||||
workerThread.start();
|
workerThread.start();
|
||||||
}
|
}
|
||||||
|
@ -88,7 +85,10 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
|
||||||
Log.i(CLASS_ID, "Send data length: " + String.valueOf(pos + 1));
|
Log.i(CLASS_ID, "Send data length: " + String.valueOf(pos + 1));
|
||||||
serialBuffer.clearWriteBuffer();
|
serialBuffer.clearWriteBuffer();
|
||||||
}
|
}
|
||||||
objectMonitor.notify();
|
synchronized(objectMonitor)
|
||||||
|
{
|
||||||
|
objectMonitor.notify();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue