summaryrefslogtreecommitdiff
path: root/peripheral/libupm/src/lsm303d/javaupm_lsm303d.i
diff options
context:
space:
mode:
Diffstat (limited to 'peripheral/libupm/src/lsm303d/javaupm_lsm303d.i')
-rw-r--r--peripheral/libupm/src/lsm303d/javaupm_lsm303d.i22
1 files changed, 22 insertions, 0 deletions
diff --git a/peripheral/libupm/src/lsm303d/javaupm_lsm303d.i b/peripheral/libupm/src/lsm303d/javaupm_lsm303d.i
new file mode 100644
index 0000000..7d938b8
--- /dev/null
+++ b/peripheral/libupm/src/lsm303d/javaupm_lsm303d.i
@@ -0,0 +1,22 @@
+%module javaupm_lsm303d
+%include "../upm.i"
+
+%{
+ #include "lsm303d.h"
+%}
+
+%typemap(jni) int16_t* "jintArray"
+%typemap(jstype) int16_t* "int[]"
+%typemap(jtype) int16_t* "int[]"
+
+%typemap(javaout) int16_t* {
+ return $jnicall;
+}
+
+%typemap(out) int16_t *getRawAccelData {
+ $result = JCALL1(NewIntArray, jenv, 3);
+ JCALL4(SetIntArrayRegion, jenv, $result, 0, 3, (const signed int*)$1);
+ //delete [] $1;
+}
+
+%include "lsm303d.h"