%module jsupm_hmc5883l %include "../upm.i" %include "../carrays_int16_t.i" %{ #include "hmc5883l.h" %} // Adding this typemap because SWIG is converting int16 into a short by default // This forces SWIG to convert it correctly %typemap(out) int16_t* { $result = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int16Array, 0 | 0 ); } %include "hmc5883l.h"