diff --git a/src/kxcjk1013/javaupm_kxcjk1013.i b/src/kxcjk1013/javaupm_kxcjk1013.i index 48dea5af..1c5e88f0 100755 --- a/src/kxcjk1013/javaupm_kxcjk1013.i +++ b/src/kxcjk1013/javaupm_kxcjk1013.i @@ -1,14 +1,20 @@ %module javaupm_kxcjk1013 %include "../upm.i" -%include "stdint.i" -%include "typemaps.i" - -%feature("director") IsrCallback; - -%ignore generic_callback_isr; -%include "../IsrCallback.h" %{ #include "kxcjk1013.h" %} %include "kxcjk1013.h" + +%ignore installISR(void (*isr)(char*), void* arg); + +%pragma(java) jniclasscode=%{ + static { + try { + System.loadLibrary("javaupm_kxcjk1013"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native code library failed to load. \n" + e); + System.exit(1); + } + } +%} diff --git a/src/kxcjk1013/kxcjk1013.cxx b/src/kxcjk1013/kxcjk1013.cxx index 19ce1366..0eafbb7b 100644 --- a/src/kxcjk1013/kxcjk1013.cxx +++ b/src/kxcjk1013/kxcjk1013.cxx @@ -61,14 +61,6 @@ KXCJK1013::~KXCJK1013() // mraa_iio_stop(m_iio); } -#ifdef JAVACALLBACK -void -KXCJK1013::installISR(IsrCallback* cb) -{ - installISR(generic_callback_isr, cb); -} -#endif - void KXCJK1013::installISR(void (*isr)(char*), void* arg) { @@ -132,9 +124,9 @@ KXCJK1013::getChannelValue(unsigned char* input, mraa_iio_channel* chan) bool KXCJK1013::enableBuffer(int length) { - mraa_iio_write_integer(m_iio, "buffer/length", length); + mraa_iio_write_int(m_iio, "buffer/length", length); // enable must be last step, else will have error in writing above config - mraa_iio_write_integer(m_iio, "buffer/enable", 1); + mraa_iio_write_int(m_iio, "buffer/enable", 1); return true; } @@ -142,7 +134,7 @@ KXCJK1013::enableBuffer(int length) bool KXCJK1013::disableBuffer() { - mraa_iio_write_integer(m_iio, "buffer/enable", 0); + mraa_iio_write_int(m_iio, "buffer/enable", 0); return true; } @@ -170,9 +162,9 @@ KXCJK1013::enable3AxisChannel() sprintf(trigger, "kxcjk1013-hr-dev%d", m_iio_device_num); mraa_iio_write_string(m_iio, "trigger/current_trigger", trigger); - mraa_iio_write_integer(m_iio, "scan_elements/in_accel_x_en", 1); - mraa_iio_write_integer(m_iio, "scan_elements/in_accel_y_en", 1); - mraa_iio_write_integer(m_iio, "scan_elements/in_accel_z_en", 1); + mraa_iio_write_int(m_iio, "scan_elements/in_accel_x_en", 1); + mraa_iio_write_int(m_iio, "scan_elements/in_accel_y_en", 1); + mraa_iio_write_int(m_iio, "scan_elements/in_accel_z_en", 1); // need update channel data size after enable mraa_iio_update_channels(m_iio); diff --git a/src/kxcjk1013/kxcjk1013.h b/src/kxcjk1013/kxcjk1013.h index 63205870..0a2f2ab0 100644 --- a/src/kxcjk1013/kxcjk1013.h +++ b/src/kxcjk1013/kxcjk1013.h @@ -26,10 +26,6 @@ #include #include -#if defined(SWIGJAVA) || defined(JAVACALLBACK) -#include "../IsrCallback.h" -#endif - namespace upm { /** @@ -67,20 +63,16 @@ class KXCJK1013 * KXCJK1013 destructor */ ~KXCJK1013(); -/** - * Installs an interrupt service routine (ISR) to be called when - * an interrupt occurs - * - * @param interrupt channel - * @param fptr Pointer to a function to be called on interrupt - * @param arg Pointer to an object to be supplied as an - * argument to the ISR. - */ -#if defined(SWIGJAVA) || defined(JAVACALLBACK) - void installISR(IsrCallback* cb); -#else + /** + * Installs an interrupt service routine (ISR) to be called when + * an interrupt occurs + * + * @param interrupt channel + * @param fptr Pointer to a function to be called on interrupt + * @param arg Pointer to an object to be supplied as an + * argument to the ISR. + */ void installISR(void (*isr)(char*), void* arg); -#endif /** * Extract the channel value based on channel type * @param input Channel data