kai-morich
7ffbc73919
restore FT2232C support
2021-07-01 07:45:24 +02:00
kai-morich
c82cd284ae
support PL2303GC/GB/GT/GL/GE/GS
...
see https://lore.kernel.org/linux-usb/20190213123000.4656-1-charlesyeh522@gmail.com/
2021-05-13 20:55:15 +02:00
kai-morich
2f23bdfb6d
custom baud rates for PL2303TA/TB
...
see https://lore.kernel.org/r/3aee5708-7961-f464-8c5f-6685d96920d6@IEEE.org
2021-05-11 17:30:09 +02:00
kai-morich
22a685e738
target-sdk-version update from 29 to 30
2021-05-09 08:50:29 +02:00
kai-morich
38527730cd
Merge pull request #289 from rusefi/st_cdc
...
ST CDC
2021-05-08 19:22:38 +02:00
kai-morich
5f94a47b63
read w/o timeout now only throws exception on connection lost
...
partly revert f4166f34, as there might be unkown reasons for empty response
2021-04-20 22:53:53 +02:00
kai-morich
128d1a00b1
new SerialInputOutputManager.start() method
...
Previously recommended start action `Executors.newSingleThreadExecutor().submit(ioManager)` did not shutdown the Executor, which caused a thread leak. It's still possible to use old style start, as SerialInputOutputManager continues to implement Runnable interface.
2021-04-16 21:55:22 +02:00
kai-morich
848d4e7713
SerialInputOutputManager: use optimal read buffer size to reduce latency for FTDI and CH34x
2021-04-04 20:55:41 +02:00
kai-morich
f1d73c04dc
fixed some warnings
2021-04-02 20:28:41 +02:00
kai-morich
b6e9dbe40f
generate unit test coverage xml for codecov upload
2021-03-26 20:25:59 +01:00
kai-morich
f4166f34a0
read w/o timeout now throws exception on connection lost or buffer to small
...
SerialInputOutputManager already returned connection lost exception, as the next read failed
2021-03-26 18:11:23 +01:00
Daniel Hugenroth
b8c3057967
Use monotonic clock for timeouts
2021-03-16 22:39:00 +00:00
kai-morich
c06ccf70bc
really set thread priority in SerialInputOutputManager ( #349 )
2021-02-27 13:59:30 +01:00
kai-morich
cbed086279
fix write timeout calculation
2021-02-14 14:16:25 +01:00
kai-morich
4ffcc8d0fb
simplify write timeout handling
2021-02-13 21:07:21 +01:00
kai-morich
f60414f8ec
improve write timeout handling
...
Return type of write() method changed to void. The return value was redundant before, as it always was 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.
Added CommonUsbSerialPort.getReadEndpoint() and .getWriteEndpoint() to assist in setting the optimal write buffer size 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 the exception typically stores 0. With optimal write buffer size, this value is known and stored in SerialTimeoutException, but due to more kernel round trips write() might take slightly longer().
2021-02-07 16:37:01 +01:00
kai-morich
85d0348844
improve error quality + test for PR #339
2021-01-31 19:58:59 +01:00
kai-morich
fc610a9764
IntDef Parity for better warnings
...
but no @Intdef for databits, stopbits as these are frequently used with numbers instead of constants
remove redundant modifiers
2021-01-16 23:21:10 +01:00
kai-morich
5519182256
Merge pull request #339 from ybs-github/master
...
catch exception thrown by `close()` inside `open()`
2021-01-10 10:04:27 +01:00
Ilja
911cf96ba0
Debug mode disable
...
Ability to disable DEBUG Logging for in/out bytes.
2020-12-16 14:24:43 +02:00
Yehezkiel Syamsuhadi
ebc8d791fc
catch exception thrown by close()
2020-12-14 10:23:29 +11:00
kai-morich
115fb407b4
coverage fix, gradle update
2020-10-14 20:36:49 +02:00
kai-morich
768f716600
new setBreak() method
2020-10-14 20:36:49 +02:00
kai-morich
1e75f91467
slightly more coverage, local coverage report, dependency update
2020-10-12 21:28:50 +02:00
kai-morich
08a93ec530
PL2303 fix initial input control line values
2020-10-07 21:40:07 +02:00
kai-morich
732e138630
PL2303(HX) support non-standard baud rates
2020-09-28 21:12:50 +02:00
kai-morich
1adf2a9b98
PL2303 throw error on unsupported baud rates
...
instead of silently falling back to 9600 baud
2020-09-27 09:03:37 +02:00
kai-morich
d63a24762d
mention other CP210x devices, remove CP2110 which is a HID device
2020-09-22 07:52:18 +02:00
kai-morich
26999e3626
read with timeout now throws error on connection lost, e.g. device disconnected
...
and similar connection lost detection for prolific input control lines
2020-09-12 21:17:52 +02:00
kai-morich
c53c3ed0ae
check read buffer size
2020-09-06 09:48:10 +02:00
kai-morich
6f4cd0313c
FTDI read() now waits until timeout
...
previously returned after periodic FTDI status response (default 16 msec)
2020-09-05 12:00:37 +02:00
kai-morich
80e8eb8a60
iomanager with configurable threadpriority and higher default to prevent data loss
2020-08-31 22:40:28 +02:00
kai-morich
f443d1f012
iomanager with configurable buffer size
2020-08-31 22:40:28 +02:00
kai-morich
698f590d58
restored UsbId.FTDI_FT231X
...
same ID for FT230X, FT231X, FT234XD
tested with FT230X
2020-08-23 20:44:34 +02:00
kai-morich
a664082f23
throw UnsupportedOperationException instead of returning false
2020-08-01 10:06:51 +02:00
kai-morich
954295456c
rebase new FTDI baudrate test
2020-07-30 17:52:18 +02:00
kai-morich
2d13b90f59
move from LGPL to MIT license ( #244 )
...
moving away from LGPL possible, as the FTDI driver is rewritten and not based any more on LGPL code from libftdi.
2020-07-29 11:03:26 +02:00
kai-morich
e496195bd9
rewrite ftdi driver without LGPL code from libftdi
2020-07-27 17:39:01 +02:00
kai-morich
e0ed25b85f
CH341A readme update
2020-07-27 17:38:16 +02:00
kai-morich
963729924b
mention close of UsbDeviceConnection in javadoc comment
2020-07-21 08:20:22 +02:00
kai-morich
ce73857825
slightly more tests
2020-07-19 19:47:13 +02:00
kai-morich
8eaf3f5c5f
tests UsbDeviceConnection close behavior
...
and extract test utilities
2020-07-18 20:48:27 +02:00
kai-morich
a1e58b9843
implement CP21xx input control lines
...
open() CP21xx without RTS, DTR set
2020-07-04 15:31:58 +02:00
kai-morich
7423fd9d79
new getControlLines() and getSupportedControLines() methods
...
getControlLines() requires less USB calls than calling getRTS() + ... + getRI() individually.
getSupportedControlLines() tells you, which control lines are supported by a driver. Previously you had to check the driver implementation.
2020-06-30 18:10:02 +02:00
kai-morich
13df128226
implement CH34x input control lines
2020-06-27 11:53:12 +02:00
kai-morich
06d1041738
added CH341A support
2020-06-27 08:46:23 +02:00
rusefi
aee7fc1b9d
ST CDC
...
See https://www.the-sz.com/products/usbid/index.php?v=0483&p=&n=
2020-06-24 20:38:52 -04:00
kai-morich
735fa3d70f
make all SerialPort classes public
...
and test FtdiSerialPort methods
2020-06-10 19:09:34 +02:00
Behxhet Sadiku
37324c6b0f
Expose isOpen on CommonUsbSerialPort
2020-05-19 20:50:42 +02:00
kai-morich
cffe54e15c
test control lines
2020-03-21 18:01:05 +01:00