diff --git a/src/hmc5883l/jsupm_hmc5883l.i b/src/hmc5883l/jsupm_hmc5883l.i index 1735f17a..b04b3e90 100644 --- a/src/hmc5883l/jsupm_hmc5883l.i +++ b/src/hmc5883l/jsupm_hmc5883l.i @@ -1,8 +1,14 @@ %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"