Skip to content

Commit ca3a5a1

Browse files
committed
Update Cp21xxSerialDriver.cs
1 parent 775788e commit ca3a5a1

1 file changed

Lines changed: 10 additions & 22 deletions

File tree

UsbSerialForAndroid/driver/Cp21xxSerialDriver.cs

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ public class Cp21xxSerialPort : CommonUsbSerialPort
5757
private const int FLUSH_READ_CODE = 0x0a;
5858
private const int FLUSH_WRITE_CODE = 0x05;
5959

60-
private static int GET_MODEM_STATUS_REQUEST = 0x08; // 0x08 Get modem status.
61-
private static int MODEM_STATUS_CTS = 0x10;
62-
private static int MODEM_STATUS_DSR = 0x20;
63-
private static int MODEM_STATUS_RI = 0x40;
64-
private static int MODEM_STATUS_CD = 0x80;
60+
private const int GET_MODEM_STATUS_REQUEST = 0x08; // 0x08 Get modem status.
61+
private const int MODEM_STATUS_CTS = 0x10;
62+
private const int MODEM_STATUS_DSR = 0x20;
63+
private const int MODEM_STATUS_RI = 0x40;
64+
private const int MODEM_STATUS_CD = 0x80;
6565
/*
6666
* SILABSER_IFC_ENABLE_REQUEST_CODE
6767
*/
@@ -86,7 +86,7 @@ public class Cp21xxSerialPort : CommonUsbSerialPort
8686
private UsbEndpoint mReadEndpoint;
8787
private UsbEndpoint mWriteEndpoint;
8888

89-
private IUsbSerialDriver Driver;
89+
private new IUsbSerialDriver Driver;
9090
private string TAG => (Driver as Cp21xxSerialDriver)?.TAG;
9191

9292

@@ -210,28 +210,16 @@ public override int Read(byte[] dest, int timeoutMillis)
210210
public override int Write(byte[] src, int timeoutMillis)
211211
{
212212
int offset = 0;
213+
int writeLength;
214+
int amtWritten;
213215

214216
while (offset < src.Length)
215217
{
216-
int writeLength;
217-
int amtWritten;
218-
219218
lock(mWriteBufferLock) {
220-
byte[] writeBuffer;
221219

222-
writeLength = Math.Min(src.Length - offset, mWriteBuffer.Length);
223-
if (offset == 0)
224-
{
225-
writeBuffer = src;
226-
}
227-
else
228-
{
229-
// bulkTransfer does not support offsets, make a copy.
230-
Buffer.BlockCopy(src, offset, mWriteBuffer, 0, writeLength);
231-
writeBuffer = mWriteBuffer;
232-
}
220+
writeLength = src.Length - offset;
233221

234-
amtWritten = mConnection.BulkTransfer(mWriteEndpoint, writeBuffer, writeLength,
222+
amtWritten = mConnection.BulkTransfer(mWriteEndpoint, src, offset, writeLength,
235223
timeoutMillis);
236224
}
237225
if (amtWritten <= 0)

0 commit comments

Comments
 (0)