Skip to content

Releases: mik3y/usb-serial-for-android

v3.4.4

22 Dec 07:24
896b242
Compare
Choose a tag to compare

changes:

  • CommonUsbSerialPort.DEBUG log configurable, disabled by default

v3.4.3

21 Sep 18:43
Compare
Choose a tag to compare

fixes:

  • fix PL2303G product IDs (#383)

v3.4.2

05 Aug 15:10
cd83951
Compare
Choose a tag to compare

fixes:

  • Ch34x baud rate 921600 calculation

v3.4.1

01 Jul 16:35
76f0260
Compare
Choose a tag to compare

fixes:

  • restore FT2232C support that got lost with v3.0.0

v3.4.0

14 May 11:22
Compare
Choose a tag to compare

features:

  • support PL2303GC/GB/GT/GL/GE/GS
  • custom baud rates for PL2303TA/TB
  • added VID 0x0483, PID 0x5740 to preconfigured CDC devices, as it is frequently used as STMicroelectronics virtual COM port

v3.3.3

25 Apr 07:27
Compare
Choose a tag to compare

features:

  • new SerialInputOutputManager.start() method for starting ioManager thread

fixes:

  • Previously recommended start action Executors.newSingleThreadExecutor().submit(ioManager) did not shutdown the executor, which caused a thread leak.
    Use new SerialInputOutputManager.start() method instead. It's still possible to use old style start, as SerialInputOutputManager continues to implement Runnable interface.
  • read w/o timeout now only throws exception on connection lost. Reverted buffer to small handling from f4166f3, as there might be unkown reasons for empty response

v3.3.2

10 Apr 19:20
Compare
Choose a tag to compare

features:

  • use optimal read buffer size in SerialInputOutputManagerto reduce latency for FTDI and CH34x
  • getReadEndpoint() and getWriteEndpoint() methods moved to UsbSerialPort interface

fixes:

  • read w/o timeout now throws exception on connection lost or buffer to small (when using SerialInputOutputManager the exception was already thrown before this change, because the next read failed)
  • Use monotonic clock for timeout calculation, to avoid issues when time is adjusted

v3.3.1

27 Feb 14:39
Compare
Choose a tag to compare

features:

  • new SerialTimeoutException class
  • new getReadEndpoint() and getWriteEndpoint() methods in CommonUsbSerialPort class
  • distinguish generic IO error and timeout in write()
    • Return type of write() method changed to void. The return value was redundant before, as it was always the request length or an exception was thrown
    • If timeout is reached, write() now throws a SerialTimeoutException with ex.bytesTransferred filled with known transferred bytes
    • Optimal write buffer size can be set with port.setWriteBufferSize(port.getWriteEndpoint().getMaxPacketSize())
    • By default the write buffer size is > MaxPacketSize and the Linux kernel splits writes in chunks. When the timeout occurs, it's unknown how many chunks have already been transferred and 0 is returned in SerialTimeoutException.bytesTransferred. With optimal write buffer size, this value is known and returned in SerialTimeoutException.bytesTransferred as the chunking is done in this library, but due to more kernel round trips write() might take slightly longer and cause more CPU load
  • introduced IntDef annotation @Parity at setParameters(..., @Parity int parity) parameter for better warnings
  • disable debug logging in SerialInputOutputManager by default. Can be enabled with public static boolean DEBUG;

fixes:

  • set thread priority in SerialInputOutputManager.run
  • improve error handling in close

changes:

  • Return type of write() method changed to void. The return value was redundant before, as it was always the request length or an exception was thrown

v3.3.0

17 Oct 15:02
69330e9
Compare
Choose a tag to compare

features:

  • support BREAK with setBreak(boolean) method

fixes:

  • fix PL2303 initial input control line values

v3.2.0

30 Sep 12:19
Compare
Choose a tag to compare

features:

  • PL2303 support non-standard baud rates