mirror of
https://github.com/eclipse/upm.git
synced 2025-03-15 04:57:30 +03:00
kxcjk1013: updated iio calls to match API and disabled Java ISR
ISR support for Java bindings needs iio.c Runnable implementation in MRAA. Might be possible to leverage working implementation for GPIO. Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
parent
3504dc7246
commit
1d085362d9
@ -1,14 +1,20 @@
|
|||||||
%module javaupm_kxcjk1013
|
%module javaupm_kxcjk1013
|
||||||
%include "../upm.i"
|
%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"
|
||||||
%}
|
%}
|
||||||
%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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
@ -61,14 +61,6 @@ KXCJK1013::~KXCJK1013()
|
|||||||
// mraa_iio_stop(m_iio);
|
// mraa_iio_stop(m_iio);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
|
||||||
void
|
|
||||||
KXCJK1013::installISR(IsrCallback* cb)
|
|
||||||
{
|
|
||||||
installISR(generic_callback_isr, cb);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
KXCJK1013::installISR(void (*isr)(char*), void* arg)
|
KXCJK1013::installISR(void (*isr)(char*), void* arg)
|
||||||
{
|
{
|
||||||
@ -132,9 +124,9 @@ KXCJK1013::getChannelValue(unsigned char* input, mraa_iio_channel* chan)
|
|||||||
bool
|
bool
|
||||||
KXCJK1013::enableBuffer(int length)
|
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
|
// 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;
|
return true;
|
||||||
}
|
}
|
||||||
@ -142,7 +134,7 @@ KXCJK1013::enableBuffer(int length)
|
|||||||
bool
|
bool
|
||||||
KXCJK1013::disableBuffer()
|
KXCJK1013::disableBuffer()
|
||||||
{
|
{
|
||||||
mraa_iio_write_integer(m_iio, "buffer/enable", 0);
|
mraa_iio_write_int(m_iio, "buffer/enable", 0);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -170,9 +162,9 @@ KXCJK1013::enable3AxisChannel()
|
|||||||
sprintf(trigger, "kxcjk1013-hr-dev%d", m_iio_device_num);
|
sprintf(trigger, "kxcjk1013-hr-dev%d", m_iio_device_num);
|
||||||
|
|
||||||
mraa_iio_write_string(m_iio, "trigger/current_trigger", trigger);
|
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_int(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_int(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_z_en", 1);
|
||||||
|
|
||||||
// need update channel data size after enable
|
// need update channel data size after enable
|
||||||
mraa_iio_update_channels(m_iio);
|
mraa_iio_update_channels(m_iio);
|
||||||
|
@ -26,10 +26,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <mraa/iio.h>
|
#include <mraa/iio.h>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace upm
|
namespace upm
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -67,20 +63,16 @@ class KXCJK1013
|
|||||||
* KXCJK1013 destructor
|
* KXCJK1013 destructor
|
||||||
*/
|
*/
|
||||||
~KXCJK1013();
|
~KXCJK1013();
|
||||||
/**
|
/**
|
||||||
* Installs an interrupt service routine (ISR) to be called when
|
* Installs an interrupt service routine (ISR) to be called when
|
||||||
* an interrupt occurs
|
* an interrupt occurs
|
||||||
*
|
*
|
||||||
* @param interrupt channel
|
* @param interrupt channel
|
||||||
* @param fptr Pointer to a function to be called on interrupt
|
* @param fptr Pointer to a function to be called on interrupt
|
||||||
* @param arg Pointer to an object to be supplied as an
|
* @param arg Pointer to an object to be supplied as an
|
||||||
* argument to the ISR.
|
* argument to the ISR.
|
||||||
*/
|
*/
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
void installISR(IsrCallback* cb);
|
|
||||||
#else
|
|
||||||
void installISR(void (*isr)(char*), void* arg);
|
void installISR(void (*isr)(char*), void* arg);
|
||||||
#endif
|
|
||||||
/**
|
/**
|
||||||
* Extract the channel value based on channel type
|
* Extract the channel value based on channel type
|
||||||
* @param input Channel data
|
* @param input Channel data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user