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
768f716600
new setBreak() method
2020-10-14 20:36:49 +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
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
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
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
5096d6940c
relax CH340 initialization
...
controlIn(0x95, 0x0706) result includes control line values
2020-03-08 16:06:44 +01:00
kai-morich
2cad1fd5a2
fix CP2102N initialization
...
do not send SET_BAUDDIV command. It fails on CP2102N and CP2102/5 work without
2020-03-01 13:54:35 +01:00
kai-morich
2a77ebf8b9
fix ch340 initialization
2020-02-03 20:36:56 +01:00
kai-morich
bbed92eafb
support multi-port CDC devices
2020-01-10 08:02:56 +01:00
kai-morich
ce97a3408b
reuse UsbRequest
...
less LogCat output
2019-12-13 21:13:48 +01:00
kai-morich
7b578918b0
support FTDI control lines for multi-port devices
2019-11-23 13:24:28 +01:00
uholeschak
6b32e25e9c
Fixed modem status
...
Signed-off-by: kai-morich <mail@kai-morich.de>
2019-11-23 13:23:10 +01:00
uholeschak
21e96594d2
Added missing functions: - latency timer - modem lines
...
Signed-off-by: kai-morich <mail@kai-morich.de>
2019-11-23 13:22:42 +01:00
kai-morich
e2e9df8463
reimplement read timeout
2019-11-15 21:45:22 +01:00
kai-morich
669ab48e0f
resolve merge issue
2019-11-15 07:51:03 +01:00
Tim Vahlbrock
89ad5be9c3
Improved DTR and RTS support. DTR and RTS can now be queried after transmission. Added usage of existing methods and new constants.
2019-11-14 14:44:39 +01:00
Tim Vahlbrock
92b16a8c24
Merge branch 'master' of https://github.com/mik3y/usb-serial-for-android
2019-11-14 14:15:39 +01:00
kai-morich
24187b3af6
refactor duplicated code in close method
2019-11-09 22:48:00 +01:00
kai-morich
5767298636
refactor duplicated read/write methods
2019-11-09 20:26:50 +01:00
kai-morich
e1b62cf675
write + purge tests, remove unused read buffer code
2019-11-03 19:34:14 +01:00
kai-morich
5c6748e1b8
improve setParameter() error handling
...
harmonize exception messages, more UI friendly messages
distinguish IllegalArgumentException and UnsupportedOperationException
2019-11-02 13:49:08 +01:00