Skip to content

Releases: java-native/jssc

2.8.0

05 Apr 17:00

Choose a tag to compare

(Original release date 2014-01-24)

Description

  • Contains native libs for Windows (x86, x86-64), Linux (x86, x86-64, ARM soft & hard float), Solaris (x86, x86-64), Mac OS X (x86, x86-64, PPC, PPC64). All native libs contained within the jssc.jar file and you don't need manage native libs manually.
  • Contains Javadocs

Fixes

Enhancements

  • Added method writeString(String string, String charsetName) e56d39f
  • Added method getNativeLibraryVersion() in SerialNativeInterface class 4cc7332
  • Enabled Java and Native libraries versions mismatch check 5d1515a

2.6.0

05 Apr 17:36

Choose a tag to compare

(Original release date 2013-06-01)

Enhancements

  • Added os.name - "Darwin" and os.arch - "universal" support; useful for MacOS X developers.
  • Added ttyO to Linux RegExp for listing OMAP serial devices.
  • Added JSSC_IGNPAR and JSSC_PARMRK properties for enabling IGNPAR and PARMRK flags in _nix termios structure.

2.5.0

05 Apr 17:27

Choose a tag to compare

(Original release date 2013-04-27)

Fixes

  • Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now read methods works correctly and are blocking like in Windows
  • Fixed error with garbage reading in Windows using this library after another application used serial port. To prevent this effect COMMTIMEOUTS structure zeroing added to setParams() method
  • The port handle now stored in variable of type long instead of int, to prevent potential problems with type conversions on Win64
  • Fixed MacOS X 10.8 bug with native lib loading (*.dylib -> *.jnilib)
  • Fixed Linux error with exclusive access to serial port (TIOCEXCL). TIOCNXCL added to closePort() method for clearing exclusive access
  • Fixed Windows native lib port name concatenation error
  • Fixed native lib extraction path if user home is read only, in this situation lib will be extracted to tmp folder
  • Null port name fix. If try to invoke method openPort() for SerialPort(null) object, exception TYPE_NULL_NOT_PERMITTED will be thrown
  • Enabled TIOCEXCL support in Solaris

Enhancements

  • Added ARM Soft & Hard float support (Tested of Raspberry Pi with Oracle JDK 6, 7, 8)
  • Added ttyACM, ttyAMA, rfcomm to Linux RegExp and tty.usbmodem to MacOS X RegExp
  • Added precompiled RegExp's for Linux, Solaris, MacOS X for more faster port listing
  • Added private common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports
  • Rewrote comparator for sorting port names. Now it's a common comparator for Windows, Linux, Solaris and MacOS X
  • Added some syntax sugar to SerialPortList class, for changing search path, RegExp and comparator
  • Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions
  • Added JSSC_NO_TIOCEXCL JVM property for disable using of exclusive access to serial port
  • Added termios(_nix) and DCB(Windows) structure checking on port opening, it helps separate real serial devices from others
  • Added ERR_ constants into SerialNativeInterface
  • Added new exception TYPE_INCORRECT_SERIAL_PORT
  • Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device

0.9.0

11 Apr 03:29

Choose a tag to compare

(Original release date 2011-12-21)

Features

  • Added Solaris support (x86, x86-64)
  • Added Mac OS X support 10.5 and higher (x86, x86-64, PPC, PPC64)
  • Fixed some bugs in Linux native part
  • Changed openPort() method
    • openPort() if port busy SerialPortException with type: TYPE_PORT_BUSY will be thrown,
      and if port not found SerialPortException with type: TYPE_PORT_NOT_FOUND will be thrown.

Caveats

  • TIOCEXCL directive in *nix native library can detect if port is busy but disabled in Solaris as it causes issues.
  • Solaris and Mac OS X versions of this library do not support following events: ERR, TXEMPTY, BREAK
  • Solaris version does not support non-standard baudrates
  • Mac OS X version does not support parity: MARK, SPACE

Previous Releases

0.8.0 - Google Code release 2011-11-28

  • Implemented events BREAK and ERR (RXFLAG not supported in Linux)
  • Added method sendBreak(int duration) - send Break signal for setted time
  • Fixed bugs in Linux events listener
  • Fixed bug with long port closing operation in Linux

0.8.0-RC4 - Google Code release 2011-11-21

  • Fixed a bug in getPortNames() method under Linux.
  • Not implemented yet:
    • Events: BREAK, ERR and RXFLAG

0.8.0-RC3 - Google Code release 2011-09-09

  • Implemented purgePort()
  • Fixed some Linux and Windows lib bugs.
  • New function getInputBufferBytesCount() - get count of bytes in input buffer (if error has occurred -1 will be returned)
  • New function getOutputBufferBytesCount() - get count of bytes in output buffer (if error has occurred -1 will be returned)
  • New function setFlowControlMode() available:
    • FLOWCONTROL_NONE
    • FLOWCONTROL_RTSCTS_IN
    • FLOWCONTROL_RTSCTS_OUT
    • FLOWCONTROL_XONXOFF_IN
    • FLOWCONTROL_XONXOFF_OUT
  • getFlowControlMode() - getting setted flow control mode
  • New functions for more usability (syntactic sugar):
    • writeByte() - write single byte
    • writeString() - write string
    • writeInt() - write int value (for example 0xFF)
    • writeIntArray - write int array (for example new int[] { 0xFF, 0x00, 0xFF })
    • readString(int byteCount) - read string
    • readHexString(int byteCount) - read Hex string with a space separator (for example FF 00 FF)
    • readHexString(int byteCount, String separator) - read Hex string with setted separator (for example if separator : FF:00:FF)
    • readHexStringArray(int byteCount) - read Hex string array (for example {FF, 00, FF})
    • readIntArray(int byteCount) - read int array (values in int array are in range from 0 to 255 for example if byte == -1 value in this array it will be 255)
    • The following methods read all bytes in input buffer, if buffer is empty methods will return null
      • readBytes()
      • readString()
      • readHexString()
      • readHexString()
      • readHexStringArray()
      • readIntArray()
    • Not implemented yet:
      • Events: BREAK, ERR and RXFLAG

0.8.0-RC2 - Google Code release 2011-07-14

  • Implemented getPortNames()
  • Implemented: Parity: MARK and SPACE
  • Fixed some Linux lib bugs.
  • Not implemented yet:
    • purgePort()
    • Events: BREAK, ERR and RXFLAG

0.8.0-RC1 - Google Code release 2011-07-11

  • Not implemented yet:
    • getPortNames()
    • Parity: MARK and SPACE
    • purgePort()
    • Events: BREAK, ERR and RXFLAG