A Java terminal IO library designed to communicate and control the serial (RS232) drivers.
Serial4j is a terminal I/O library primarily built on top of POSIX base file API <fcntl>
for file control operations, <unistd>
for Unix std R/W operations, <dirent>
for directory entry dir operations, and <sys/ioctl>
for controlling modem bits.
Contents | Specifications |
---|---|
Problem Definition | Controlling the serial ports with the most possible minimalistic approach without irrelevant multithreading/processing bloatware. |
How does Serial4j approach the problem? | Serial4j ports the Unix/POSIX standard terminal IO library to the Java platform without adding extra threading stuff, leaving them to the user application, the framework is sub-divided into layered APIs, of which the classes starting with Native- prefix acts as the literal native library. |
Does Serial4j provide a threading/processing model? | No, it doesn't; but as it evolves, it may provide a threading model, however mostly on a different module. |
Can I use libserial4j dynamic library only? |
Yes, you can do this and there are ongoing optimizations to remove the JNI source binaries for C++ applications cross-compatibility. |
Is it easy to build my own serial monitor on top of Serial4j? | Yes, yes, and yes, the serial/monitor package has the right tools! |
From where should I start, should I learn the Unix/POSIX interface first? | Currently, you can start testing the examples provided in the serial4j-examples modules, but knowing how the Unix terminal works will help you to understand the bit manipulations taking place at the terminal flags part. |
What about other operating systems and machines? | The library hasn't been tested on Windows, Mac, and |