| %module javaupm_lsm9ds0 |
| %include "../upm.i" |
| %include "cpointer.i" |
| %include "typemaps.i" |
| %include "arrays_java.i"; |
| %include "../java_buffer.i" |
| |
| %apply int {mraa::Edge}; |
| %apply float *INOUT { float *x, float *y, float *z }; |
| |
| %typemap(jni) float* "jfloatArray" |
| %typemap(jstype) float* "float[]" |
| %typemap(jtype) float* "float[]" |
| |
| %typemap(javaout) float* { |
| return $jnicall; |
| } |
| |
| %typemap(out) float *getAccelerometer { |
| $result = JCALL1(NewFloatArray, jenv, 3); |
| JCALL4(SetFloatArrayRegion, jenv, $result, 0, 3, $1); |
| delete [] $1; |
| } |
| |
| %typemap(out) float *getGyroscope { |
| $result = JCALL1(NewFloatArray, jenv, 3); |
| JCALL4(SetFloatArrayRegion, jenv, $result, 0, 3, $1); |
| delete [] $1; |
| } |
| |
| %typemap(out) float *getMagnetometer { |
| $result = JCALL1(NewFloatArray, jenv, 3); |
| JCALL4(SetFloatArrayRegion, jenv, $result, 0, 3, $1); |
| delete [] $1; |
| } |
| |
| %ignore getAccelerometer(float *, float *, float *); |
| %ignore getGyroscope(float *, float *, float *); |
| %ignore getMagnetometer(float *, float *, float *); |
| |
| %{ |
| #include "lsm9ds0.h" |
| %} |
| |
| %include "lsm9ds0.h" |
| |
| %pragma(java) jniclasscode=%{ |
| static { |
| try { |
| System.loadLibrary("javaupm_lsm9ds0"); |
| } catch (UnsatisfiedLinkError e) { |
| System.err.println("Native code library failed to load. \n" + e); |
| System.exit(1); |
| } |
| } |
| %} |