Skip to content

Releases: Fazecast/jSerialComm

jSerialComm v2.5.3

15 Nov 18:37
Compare
Choose a tag to compare
  • 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

03 Sep 18:58
Compare
Choose a tag to compare
  • 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

06 May 14:47
Compare
Choose a tag to compare
  • 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

09 Mar 14:45
Compare
Choose a tag to compare
  • 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

25 Feb 15:56
Compare
Choose a tag to compare
  • 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

20 Dec 18:19
Compare
Choose a tag to compare
  • 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

12 Oct 22:07
Compare
Choose a tag to compare
  • 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

25 Sep 16:21
Compare
Choose a tag to compare
  • 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

24 Sep 15:38
Compare
Choose a tag to compare
  • 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

02 Aug 16:33
Compare
Choose a tag to compare
  • 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