diff --git a/src/adxl345/javaupm_adxl345.i b/src/adxl345/javaupm_adxl345.i index d83ef6cc..b1cdfd26 100644 --- a/src/adxl345/javaupm_adxl345.i +++ b/src/adxl345/javaupm_adxl345.i @@ -13,24 +13,25 @@ return $jnicall; } -%typemap(out) float *getAcceleration { +%typemap(out) float * { $result = JCALL1(NewFloatArray, jenv, 3); JCALL4(SetFloatArrayRegion, jenv, $result, 0, 3, $1); + delete [] $1; } -%typemap(jni) int16_t* "jintArray" -%typemap(jstype) int16_t* "int[]" -%typemap(jtype) int16_t* "int[]" +%typemap(jni) int16_t* "jshortArray" +%typemap(jstype) int16_t* "short[]" +%typemap(jtype) int16_t* "short[]" %typemap(javaout) int16_t* { return $jnicall; } %typemap(out) int16_t *getRawValues { - $result = JCALL1(NewIntArray, jenv, 3); - JCALL4(SetIntArrayRegion, jenv, $result, 0, 3, (const signed int*)$1); - //delete [] $1; + $result = JCALL1(NewShortArray, jenv, 3); + JCALL4(SetShortArrayRegion, jenv, $result, 0, 3, (jshort*)$1); + delete [] $1; } %include "adxl345.h"