mirror of
https://github.com/eclipse/upm.git
synced 2025-07-05 11:21:12 +03:00
java: Use Runnables instead of IsrCallbacks in Java
Signed-off-by: Petre Eftime <petre.p.eftime@intel.com> Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:

committed by
Mihai Tudor Panu

parent
e1c66c351a
commit
2cd043c2a1
@ -489,14 +489,21 @@ bool BMA220::resetInterrupts()
|
||||
return writeReg(REG_ENABLE_CONFIG2, reg);
|
||||
}
|
||||
|
||||
#ifdef SWIGJAVA
|
||||
#if defined(SWIGJAVA) || (JAVACALLBACK)
|
||||
void BMA220::installISR(int gpio, mraa::Edge level,
|
||||
IsrCallback *cb)
|
||||
jobject runnable)
|
||||
{
|
||||
installISR(gpio, level, generic_callback_isr, cb);
|
||||
}
|
||||
#endif
|
||||
// delete any existing ISR and GPIO context
|
||||
uninstallISR();
|
||||
|
||||
// create gpio context
|
||||
m_gpioIntr = new mraa::Gpio(gpio);
|
||||
|
||||
m_gpioIntr->dir(mraa::DIR_IN);
|
||||
m_gpioIntr->isr(level, runnable);
|
||||
|
||||
}
|
||||
#else
|
||||
void BMA220::installISR(int gpio, mraa::Edge level,
|
||||
void (*isr)(void *), void *arg)
|
||||
{
|
||||
@ -509,6 +516,7 @@ void BMA220::installISR(int gpio, mraa::Edge level,
|
||||
m_gpioIntr->dir(mraa::DIR_IN);
|
||||
m_gpioIntr->isr(level, isr, arg);
|
||||
}
|
||||
#endif
|
||||
|
||||
void BMA220::uninstallISR()
|
||||
{
|
||||
|
@ -28,10 +28,6 @@
|
||||
#include <mraa/i2c.hpp>
|
||||
#include <mraa/gpio.hpp>
|
||||
|
||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||
#include "../IsrCallback.h"
|
||||
#endif
|
||||
|
||||
#define BMA220_I2C_BUS 0
|
||||
#define BMA220_DEFAULT_ADDR 0x0a
|
||||
|
||||
@ -782,7 +778,7 @@ namespace upm {
|
||||
bool resetInterrupts();
|
||||
|
||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||
void installISR(int gpio, mraa::Edge level, IsrCallback *cb);
|
||||
void installISR(int gpio, mraa::Edge level, jobject runnable);
|
||||
#else
|
||||
/**
|
||||
* install an interrupt handler.
|
||||
|
@ -1,15 +1,10 @@
|
||||
%module(directors="1") javaupm_bma220
|
||||
%module javaupm_bma220
|
||||
%include "../upm.i"
|
||||
%include "cpointer.i"
|
||||
%include "typemaps.i"
|
||||
%include "arrays_java.i";
|
||||
%include "../java_buffer.i"
|
||||
|
||||
%feature("director") IsrCallback;
|
||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
||||
%ignore generic_callback_isr;
|
||||
%include "../IsrCallback.h"
|
||||
|
||||
%apply int {mraa::Edge};
|
||||
%apply float *INOUT { float *x, float *y, float *z };
|
||||
|
||||
@ -44,4 +39,4 @@ SWIG_DIRECTOR_OWNED(IsrCallback)
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
%}
|
||||
%}
|
||||
|
Reference in New Issue
Block a user