Home | History | Annotate | Download | only in adxl335
      1 %module javaupm_adxl335
      2 %include "../upm.i"
      3 %include "cpointer.i"
      4 %include "typemaps.i"
      5 
      6 %apply int *OUTPUT { int *xVal, int *yVal, int *zVal };
      7 %apply float *OUTPUT { float *xAccel, float *yAccel, float *zAccel  };
      8 
      9 %{
     10     #include "adxl335.h"
     11 %}
     12 
     13 %typemap(jni) float* "jfloatArray"
     14 %typemap(jstype) float* "float[]"
     15 %typemap(jtype) float* "float[]"
     16 
     17 %typemap(javaout) float* {
     18     return $jnicall;
     19 }
     20 
     21 %typemap(out) float *acceleration {
     22     $result = JCALL1(NewFloatArray, jenv, 3);
     23     JCALL4(SetFloatArrayRegion, jenv, $result, 0, 3, $1);
     24 }
     25 
     26 %typemap(jni) int* "jintArray"
     27 %typemap(jstype) int* "int[]"
     28 %typemap(jtype) int* "int[]"
     29 
     30 %typemap(javaout) int* {
     31     return $jnicall;
     32 }
     33 
     34 %typemap(out) int *values {
     35     $result = JCALL1(NewIntArray, jenv, 3);
     36     JCALL4(SetIntArrayRegion, jenv, $result, 0, 3, (const signed int*)$1);
     37     delete [] $1;
     38 }
     39 
     40 %ignore values(int *, int *, int *);
     41 %ignore acceleration(float *, float *, float *);
     42 
     43 %include "adxl335.h"
     44