Started jna port

This commit is contained in:
Sebastian 2016-12-04 00:21:00 +01:00
parent 93f060a5f2
commit 688afedab4
3 changed files with 59 additions and 0 deletions

2
software/jna/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.jar
*.class

44
software/jna/SSS7.java Normal file
View File

@ -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;
}
}

View File

@ -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();
}
}