From 688afedab45f858595865af3cba87061bcfb0997 Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Sun, 4 Dec 2016 00:21:00 +0100 Subject: [PATCH] Started jna port --- software/jna/.gitignore | 2 ++ software/jna/SSS7.java | 44 ++++++++++++++++++++++++++++++++++++++ software/jna/SSS7Test.java | 13 +++++++++++ 3 files changed, 59 insertions(+) create mode 100644 software/jna/.gitignore create mode 100644 software/jna/SSS7.java create mode 100644 software/jna/SSS7Test.java diff --git a/software/jna/.gitignore b/software/jna/.gitignore new file mode 100644 index 0000000..9349221 --- /dev/null +++ b/software/jna/.gitignore @@ -0,0 +1,2 @@ +*.jar +*.class diff --git a/software/jna/SSS7.java b/software/jna/SSS7.java new file mode 100644 index 0000000..7ab99bc --- /dev/null +++ b/software/jna/SSS7.java @@ -0,0 +1,44 @@ +import com.sun.jna.Library; +import com.sun.jna.Native; + +public class SSS7 { + private interface NativeSSS7 extends Library { + public int libsss7_start(String serialport); + public int libsss7_can_send(); + public void libsss7_send(String data); + public int libsss7_send_failed(); + public int libsss7_has_received(); + public void libsss7_get_received(String data); + public void libsss7_stop(); + }; + + private NativeSSS7 lib; + private String serial; + + SSS7(String serial) { + this.lib = (NativeSSS7) Native.loadLibrary("libsss7.so", NativeSSS7.class); + this.serial = serial; + } + + public boolean start() { + return this.lib.libsss7_start(this.serial) == 0; + } + + public boolean canSend() { + return this.lib.libsss7_can_send() == 1; + } + + public boolean sendFailed() { + return this.lib.libsss7_send_failed() == 1; + } + + public boolean hasReceived() { + return this.lib.libsss7_has_received() == 1; + } + + public String getReceived() { + String tmp = new String(); + this.lib.libsss7_get_received(tmp); + return tmp; + } +} diff --git a/software/jna/SSS7Test.java b/software/jna/SSS7Test.java new file mode 100644 index 0000000..29ed8d0 --- /dev/null +++ b/software/jna/SSS7Test.java @@ -0,0 +1,13 @@ + + +/** Simple example of native C POSIX library declaration and usage. */ +public class SSS7Test { + + + public static void main(String[] args) { + SSS7 bus = new SSS7("/dev/ttyUSB0"); + + bus.start(); + + } +}