Releases: java-native/jssc
Releases · java-native/jssc
2.8.0
(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
2.6.0
(Original release date 2013-06-01)
Enhancements
- Added
os.name- "Darwin" andos.arch- "universal" support; useful for MacOS X developers. - Added
ttyOto Linux RegExp for listing OMAP serial devices. - Added
JSSC_IGNPARandJSSC_PARMRKproperties for enablingIGNPARandPARMRKflags in _nix termios structure.
2.5.0
(Original release date 2013-04-27)
Fixes
- Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of
VMINandVTIME. Nowreadmethods 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
COMMTIMEOUTSstructure zeroing added tosetParams()method - The port handle now stored in variable of type
longinstead ofint, 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).TIOCNXCLadded toclosePort()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()forSerialPort(null)object, exceptionTYPE_NULL_NOT_PERMITTEDwill be thrown - Enabled
TIOCEXCLsupport 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 andtty.usbmodemto 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
SerialPortListclass, for changing search path, RegExp and comparator - Added timeouts for read operations and
SerialPortTimeoutExceptionclass for catching timeout exceptions - Added
JSSC_NO_TIOCEXCLJVM 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 intoSerialNativeInterface - 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
(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()methodopenPort()if port busySerialPortExceptionwith type:TYPE_PORT_BUSYwill be thrown,
and if port not foundSerialPortExceptionwith type:TYPE_PORT_NOT_FOUNDwill be thrown.
Caveats
TIOCEXCLdirective 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
BREAKandERR(RXFLAGnot 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,ERRandRXFLAG
- Events:
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_NONEFLOWCONTROL_RTSCTS_INFLOWCONTROL_RTSCTS_OUTFLOWCONTROL_XONXOFF_INFLOWCONTROL_XONXOFF_OUT
- getFlowControlMode() - getting setted flow control mode
- New functions for more usability (syntactic sugar):
writeByte()- write single bytewriteString()- write stringwriteInt()- write int value (for example0xFF)writeIntArray- write int array (for examplenew int[] { 0xFF, 0x00, 0xFF })readString(int byteCount)- read stringreadHexString(int byteCount)- read Hex string with a space separator (for exampleFF 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
nullreadBytes()readString()readHexString()readHexString()readHexStringArray()readIntArray()
- Not implemented yet:
- Events:
BREAK,ERRandRXFLAG
- Events:
0.8.0-RC2 - Google Code release 2011-07-14
- Implemented
getPortNames() - Implemented: Parity:
MARKandSPACE - Fixed some Linux lib bugs.
- Not implemented yet:
purgePort()- Events:
BREAK,ERRandRXFLAG
0.8.0-RC1 - Google Code release 2011-07-11
- Not implemented yet:
getPortNames()- Parity:
MARKandSPACE purgePort()- Events:
BREAK,ERRandRXFLAG