Skip to content

Library Features

Will Hedgecock edited this page Jun 30, 2023 · 17 revisions

This java library provides a platform-independent way to access standard serial ports without requiring external libraries, native code, or any other tools. A general feature list includes:

  • Platform-independent library deployment (automatically uses correct native library based on current architecture),
  • Very lightweight and efficient implementation
  • Enumerates all available serial ports on a machine
  • Returns both a system port description and a friendly device description
  • User-specifiable port descriptors including symbolic links
  • Configurable ports according to baud rate, data bits, stop bits, and parity
  • Configurable port timeouts (blocking and non-blocking) for both reading and writing
  • Configurable flow control parameters for the serial port (CTS, RTS/CTS, DSR, DTR/DSR, XOn/XOff)
  • Direct access to control lines including DTR and RTS
  • Ability to read and write raw data bytes directly to the serial port
  • Ability to read and write byte streams via Java's InputStream and OutputStream
  • Event-based reading and writing capabilities via callbacks
  • Callback notification when:
    • New data is available for reading
    • All data has been successfully written
    • A serial device has become disconnected
    • A complete fixed-length data packet has arrived
    • A delimited string-based message has been received
    • Modem control lines have changed state
    • Communication errors have been encountered

Supported Platforms

  • Windows XP and later (32-bit, 64-bit, ARM, and ARM64)
  • Mac OS X Tiger (10.4) and later (32/64-bit Intel and Apple Silicon)
  • All Linux distributions (32/64-bit x86, ARM, and PowerPC)
  • Solaris 10 and later (32/64-bit x86 and SPARC)
  • FreeBSD (32/64-bit x86 and ARM64)
  • OpenBSD (32/64-bit x86)
  • ARM/Intel/AMD Mobile Linux derivatives (e.g. RaspberryPi, BeagleBone)