Releases: Fazecast/jSerialComm
Releases · Fazecast/jSerialComm
jSerialComm v2.5.3
- Add function calls to get RTS/DTR/RI line statuses (
getRTS()
,getDTR()
,getRI()
) - Add functions to attempt to set/retrieve the underlying device driver's transmit buffer sizes
- Suppress output of setting RTS/DTR line states before a port is opened
- Set global read/write/execute permissions on extracted native libraries so multiple instances of jSerialComm can function at the same time
- Tie all "safety sleep" timers to the parameter in
openPort()
so that every sleep is user-configurable at runtime - Ensure that ports are fully/automatically closed if it is detected that they are no longer connected
- Check for open ports before reading/writing so that disconnected ports don't continually spit out garbage data
- Properly initialize all C data structs
jSerialComm v2.5.2
- Ensure that a valid file descriptor exists before closing ports
- Add RS-485 mode for drivers that support it
- Reset interrupted state on threads in which interruptions may occur
- Add DataListener class which can inform users when a read/null pointer exception has occurred asynchronously
- Store native code libraries inside a tmp directory instead of the tmp root to cut down on library removal/cleanup time during startup
- Check sun.arch.data.model Java system value to determine correct runtime architecture on ARM (armv8) devices
- Allow waitForSerialEvent() to propagate any kind of exception
jSerialComm v2.5.1
- Add Android Manifest file to begin process of including AAR in Maven
- Ensure that waiting for full message retrieval is able to be broken out of
- Fix getDSR() status call in Posix
- Make getCommPort() unchecked-throwable instead of returning invalid CommPort object
- Add ability to get library version programmatically with getVersion()
- New SerialPortMessageListener functionality (receive full messages based on expected delimiter value(s))
jSerialComm v2.4.2
- Added functionality to retrieve DCD status line via getDCD()
- Ensure that only one process can open a serial port at any time, even if multiple users are running as "root"
jSerialComm v2.4.1
- Fixed InputStream.read() to throw SerialPortTimeoutException upon read timeout
- Ensure no NullPointerException is thrown on systems without ldd
- Replace all unsupported tc* function calls on Android
jSerialComm v2.4.0
- Added Solaris support (beta)
- Fixed bug in calling convention of FTDI drivers on Windows
- Allow enumeration of Advantech Serial Port Extender ports
- Fixed stty flag capitalization bug
- Consolidated all Posix-based OSs into one source code file
- Add return value checks for TIOCGSERIAL ioctl calls on Linux
- Change all polling calls from select() to poll() to overcome maximum FD limit on Linux
jSerialComm v2.3.0
- Removed all dependencies on FTDI drivers if not already installed on the host computer
- Allow user to specify the device driver input/output buffer size
- Default the input/output buffer device driver buffer size to 4096 (if implemented)
- Add method to disable all port configuration attempts (for virtual ports with drivers that choke on these attempts)
- Allow user to set the DTR/RTS state of a port before opening it (for Arduino users with DTR-reset boards)
- Implement write-blocking mode across all OSs
- Avoid using su on Android if not required
- Add secondary library search path on Android due to Android Studio weirdness
jSerialComm v2.2.2
- Add default value to os.full_arch Java property to fix null-pointer exception
- Ensure that semi-blocking read timeout mode on Windows works as expected
jSerialComm v2.2.1
- Ensure that the absolute file path of library is loaded instead of its string representation
- Use correct external Javadoc linkage so that Java classes can be auto-linked into the Javadoc
- Create new SerialPortIOException and SerialPortTimeoutException classes to be used for InputStream/OutputStream error throwing (both inherit from IOException to maintain compatibility with existing code)
- Fix some Javadoc inconsistencies
- Remove newer GLIBC features from Linux version of the native libraries to ensure usability even by very old/out-of-date systems
- Add Java system property "os.arch_full" which can be used to directly specify the Linux library version to load (armv5, armv6, armv6-hf, armv7, armv7-hf, armv8_32, armv8_64, x86, x86_64) instead of letting the system auto-detect it
jSerialComm v2.1.1
- Do not print stack trace if a Thread.sleep() call is interrupted
- Manually override fortification functions in Linux so that newer GLIBC library versions are not required to use the library