Ready to take some tests to prove me wrong :)

pull/4/head
Felipe Herranz 2014-04-04 12:51:10 +02:00
rodzic 6db9ff44d5
commit db2a03f0f6
8 zmienionych plików z 17 dodań i 12 usunięć

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -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;
} }
} }

Wyświetl plik

@ -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)

Wyświetl plik

@ -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();
}
} }
} }