https://github.com/calimero-project/serial-native
Libraries for serial port access on Windows/Linux/macOS using the Java Native Interface (JNI)
https://github.com/calimero-project/serial-native
c ft12 jni linux macos serial-ports tp-uart windows
Last synced: 2 months ago
JSON representation
Libraries for serial port access on Windows/Linux/macOS using the Java Native Interface (JNI)
- Host: GitHub
- URL: https://github.com/calimero-project/serial-native
- Owner: calimero-project
- License: other
- Created: 2013-02-23T18:19:04.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2026-03-08T15:40:40.000Z (3 months ago)
- Last Synced: 2026-03-08T19:35:44.233Z (3 months ago)
- Topics: c, ft12, jni, linux, macos, serial-ports, tp-uart, windows
- Language: C++
- Homepage:
- Size: 936 KB
- Stars: 5
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Calimero serial communication provider [](https://github.com/calimero-project/serial-native/actions/workflows/gradle.yml) [](https://jitpack.io/#calimero-project/serial-native) [](https://jitpack.io/#calimero-project/serial-native/master)
=====
Provider for serial access to KNX networks using JNI. It contains Linux, macOS, and Windows libraries written in C.
Compile the C sources for your target platform, or use one of the precompiled libraries in the
`jar` archive available for Windows, Linux, and macOS. Compiling the C sources requires an installed C/C++ toolchain.
This provider uses `System.Logger` for logging.
### Setup
* Put the `.jar` file on the module or class path used by Calimero.
* Copy the (pre-)compiled C library to a folder of the Java library path, to be found by the JRE.
In Java, this prints the Java library path:
System.out.println("Java library path = " + System.getProperty("java.library.path"));
### Building from source
~~~ sh
git clone https://github.com/calimero-project/serial-native.git
~~~
#### With Gradle
For Linux, macOS, Windows. The compiled library can be found in the _build/lib_ directory.
./gradlew build
#### With Maven
The Java library is compiled via
mvn clean compile
The native library is compiled using the `NAR` maven plugin (the plugin configuration assumes that the _JAVA_HOME_ environment variable is set).
The POM contains settings for Linux and macOS:
mvn nar:nar-compile
The compiled library can be found in the _target/nar_ directory.
The `NAR` maven plugin supports compiling native code on a number of different architectures.