mirror of
https://github.com/eclipse/upm.git
synced 2025-06-09 06:40:22 +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:
parent
e1c66c351a
commit
2cd043c2a1
@ -67,6 +67,7 @@ macro(upm_SWIG_JAVA)
|
|||||||
if (BUILDSWIGJAVA AND BUILDSWIG)
|
if (BUILDSWIGJAVA AND BUILDSWIG)
|
||||||
|
|
||||||
FIND_PACKAGE (JNI REQUIRED)
|
FIND_PACKAGE (JNI REQUIRED)
|
||||||
|
pkg_check_modules (MRAAJAVA REQUIRED mraajava>=0.8.0)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
${JAVA_INCLUDE_PATH}
|
${JAVA_INCLUDE_PATH}
|
||||||
@ -77,7 +78,7 @@ macro(upm_SWIG_JAVA)
|
|||||||
set_source_files_properties (javaupm_${libname}.i PROPERTIES CPLUSPLUS ON)
|
set_source_files_properties (javaupm_${libname}.i PROPERTIES CPLUSPLUS ON)
|
||||||
set_source_files_properties (javaupm_${libname}.i PROPERTIES SWIG_FLAGS ";-package;upm_${libname};-I${CMAKE_BINARY_DIR}/src")
|
set_source_files_properties (javaupm_${libname}.i PROPERTIES SWIG_FLAGS ";-package;upm_${libname};-I${CMAKE_BINARY_DIR}/src")
|
||||||
swig_add_module (javaupm_${libname} java javaupm_${libname}.i ${module_src})
|
swig_add_module (javaupm_${libname} java javaupm_${libname}.i ${module_src})
|
||||||
swig_link_libraries (javaupm_${libname} ${MRAA_LIBRARIES} ${JAVA_LIBRARIES})
|
swig_link_libraries (javaupm_${libname} ${MRAAJAVA_LDFLAGS} ${JAVA_LDFLAGS})
|
||||||
target_include_directories ( ${SWIG_MODULE_javaupm_${libname}_REAL_NAME}
|
target_include_directories ( ${SWIG_MODULE_javaupm_${libname}_REAL_NAME}
|
||||||
PUBLIC
|
PUBLIC
|
||||||
"${JAVA_INCLUDE_DIRS}"
|
"${JAVA_INCLUDE_DIRS}"
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
class IsrCallback
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
virtual ~IsrCallback()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
virtual void run()
|
|
||||||
{ /* empty, overloaded in Java*/
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
static void generic_callback_isr (void* data)
|
|
||||||
{
|
|
||||||
IsrCallback* callback = (IsrCallback*) data;
|
|
||||||
if (callback == NULL)
|
|
||||||
return;
|
|
||||||
callback->run();
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -58,9 +58,9 @@ bool A110X::magnetDetected()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
#ifdef JAVACALLBACK
|
||||||
void A110X::installISR( IsrCallback *cb)
|
void A110X::installISR(jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(generic_callback_isr, cb);
|
installISR(mraa_java_isr_callback, runnable);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -26,10 +26,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <mraa/gpio.h>
|
#include <mraa/gpio.h>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace upm {
|
namespace upm {
|
||||||
/**
|
/**
|
||||||
* @brief A110X Hall Effect library
|
* @brief A110X Hall Effect library
|
||||||
@ -90,7 +86,7 @@ namespace upm {
|
|||||||
* argument to the ISR.
|
* argument to the ISR.
|
||||||
*/
|
*/
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(IsrCallback *cb);
|
void installISR(jobject runnable);
|
||||||
#else
|
#else
|
||||||
void installISR(void (*isr)(void *), void *arg);
|
void installISR(void (*isr)(void *), void *arg);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
%module(directors="1") javaupm_a110x
|
%module javaupm_a110x
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
%include "stdint.i"
|
%include "stdint.i"
|
||||||
%include "typemaps.i"
|
%include "typemaps.i"
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%{
|
%{
|
||||||
#include "a110x.h"
|
#include "a110x.h"
|
||||||
%}
|
%}
|
||||||
|
@ -489,14 +489,21 @@ bool BMA220::resetInterrupts()
|
|||||||
return writeReg(REG_ENABLE_CONFIG2, reg);
|
return writeReg(REG_ENABLE_CONFIG2, reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SWIGJAVA
|
#if defined(SWIGJAVA) || (JAVACALLBACK)
|
||||||
void BMA220::installISR(int gpio, mraa::Edge level,
|
void BMA220::installISR(int gpio, mraa::Edge level,
|
||||||
IsrCallback *cb)
|
jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(gpio, level, generic_callback_isr, cb);
|
// delete any existing ISR and GPIO context
|
||||||
}
|
uninstallISR();
|
||||||
#endif
|
|
||||||
|
|
||||||
|
// 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 BMA220::installISR(int gpio, mraa::Edge level,
|
||||||
void (*isr)(void *), void *arg)
|
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->dir(mraa::DIR_IN);
|
||||||
m_gpioIntr->isr(level, isr, arg);
|
m_gpioIntr->isr(level, isr, arg);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void BMA220::uninstallISR()
|
void BMA220::uninstallISR()
|
||||||
{
|
{
|
||||||
|
@ -28,10 +28,6 @@
|
|||||||
#include <mraa/i2c.hpp>
|
#include <mraa/i2c.hpp>
|
||||||
#include <mraa/gpio.hpp>
|
#include <mraa/gpio.hpp>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BMA220_I2C_BUS 0
|
#define BMA220_I2C_BUS 0
|
||||||
#define BMA220_DEFAULT_ADDR 0x0a
|
#define BMA220_DEFAULT_ADDR 0x0a
|
||||||
|
|
||||||
@ -782,7 +778,7 @@ namespace upm {
|
|||||||
bool resetInterrupts();
|
bool resetInterrupts();
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(int gpio, mraa::Edge level, IsrCallback *cb);
|
void installISR(int gpio, mraa::Edge level, jobject runnable);
|
||||||
#else
|
#else
|
||||||
/**
|
/**
|
||||||
* install an interrupt handler.
|
* install an interrupt handler.
|
||||||
|
@ -1,15 +1,10 @@
|
|||||||
%module(directors="1") javaupm_bma220
|
%module javaupm_bma220
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
%include "cpointer.i"
|
%include "cpointer.i"
|
||||||
%include "typemaps.i"
|
%include "typemaps.i"
|
||||||
%include "arrays_java.i";
|
%include "arrays_java.i";
|
||||||
%include "../java_buffer.i"
|
%include "../java_buffer.i"
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%apply int {mraa::Edge};
|
%apply int {mraa::Edge};
|
||||||
%apply float *INOUT { float *x, float *y, float *z };
|
%apply float *INOUT { float *x, float *y, float *z };
|
||||||
|
|
||||||
|
@ -279,9 +279,9 @@ int GroveButton::value()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
#ifdef JAVACALLBACK
|
||||||
void GroveButton::installISR(mraa::Edge level, IsrCallback *cb)
|
void GroveButton::installISR(mraa::Edge level, jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(level, generic_callback_isr, cb);
|
installISR(level, mraa_java_isr_callback, runnable);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -29,10 +29,6 @@
|
|||||||
#include <mraa/aio.hpp>
|
#include <mraa/aio.hpp>
|
||||||
#include <mraa/gpio.hpp>
|
#include <mraa/gpio.hpp>
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace upm {
|
namespace upm {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -392,7 +388,7 @@ class GroveButton: public Grove {
|
|||||||
* argument to the ISR.
|
* argument to the ISR.
|
||||||
*/
|
*/
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(mraa::Edge level, IsrCallback *cb);
|
void installISR(mraa::Edge level, jobject runnable);
|
||||||
#else
|
#else
|
||||||
void installISR(mraa::Edge level, void (*isr)(void *), void *arg);
|
void installISR(mraa::Edge level, void (*isr)(void *), void *arg);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
%module (directors="1", docstring="Basic Grove sensors") javaupm_grove
|
%module (docstring="Basic Grove sensors") javaupm_grove
|
||||||
|
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%apply int {mraa::Edge}
|
%apply int {mraa::Edge}
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
@ -30,6 +30,10 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
|
#ifdef JAVACALLBACK
|
||||||
|
#undef JAVACALLBACK
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "hcsr04.h"
|
#include "hcsr04.h"
|
||||||
|
|
||||||
using namespace upm;
|
using namespace upm;
|
||||||
|
@ -30,10 +30,6 @@
|
|||||||
#include <mraa/pwm.h>
|
#include <mraa/pwm.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CM 1
|
#define CM 1
|
||||||
#define INC 0
|
#define INC 0
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
%module(directors="1") javaupm_hcsr04
|
%module javaupm_hcsr04
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
@ -1,15 +1,10 @@
|
|||||||
%module(directors="1") javaupm_lsm9ds0
|
%module javaupm_lsm9ds0
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
%include "cpointer.i"
|
%include "cpointer.i"
|
||||||
%include "typemaps.i"
|
%include "typemaps.i"
|
||||||
%include "arrays_java.i";
|
%include "arrays_java.i";
|
||||||
%include "../java_buffer.i"
|
%include "../java_buffer.i"
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%apply int {mraa::Edge};
|
%apply int {mraa::Edge};
|
||||||
%apply float *INOUT { float *x, float *y, float *z };
|
%apply float *INOUT { float *x, float *y, float *z };
|
||||||
|
|
||||||
|
@ -741,14 +741,21 @@ uint8_t LSM9DS0::getInterruptGen2Src()
|
|||||||
return readReg(DEV_XM, REG_INT_GEN_2_SRC);
|
return readReg(DEV_XM, REG_INT_GEN_2_SRC);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SWIGJAVA
|
#if defined(SWIGJAVA) || defined (JAVACALLBACK)
|
||||||
void LSM9DS0::installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
void LSM9DS0::installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
||||||
IsrCallback *cb)
|
jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(intr, gpio, level, generic_callback_isr, cb);
|
// delete any existing ISR and GPIO context
|
||||||
}
|
uninstallISR(intr);
|
||||||
#endif
|
|
||||||
|
|
||||||
|
// greate gpio context
|
||||||
|
getPin(intr) = new mraa::Gpio(gpio);
|
||||||
|
|
||||||
|
getPin(intr)->dir(mraa::DIR_IN);
|
||||||
|
getPin(intr)->isr(level, runnable);
|
||||||
|
|
||||||
|
}
|
||||||
|
#else
|
||||||
void LSM9DS0::installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
void LSM9DS0::installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
||||||
void (*isr)(void *), void *arg)
|
void (*isr)(void *), void *arg)
|
||||||
{
|
{
|
||||||
@ -761,6 +768,7 @@ void LSM9DS0::installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
|||||||
getPin(intr)->dir(mraa::DIR_IN);
|
getPin(intr)->dir(mraa::DIR_IN);
|
||||||
getPin(intr)->isr(level, isr, arg);
|
getPin(intr)->isr(level, isr, arg);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void LSM9DS0::uninstallISR(INTERRUPT_PINS_T intr)
|
void LSM9DS0::uninstallISR(INTERRUPT_PINS_T intr)
|
||||||
{
|
{
|
||||||
|
@ -29,10 +29,6 @@
|
|||||||
|
|
||||||
#include <mraa/gpio.hpp>
|
#include <mraa/gpio.hpp>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define LSM9DS0_I2C_BUS 1
|
#define LSM9DS0_I2C_BUS 1
|
||||||
#define LSM9DS0_DEFAULT_XM_ADDR 0x1d
|
#define LSM9DS0_DEFAULT_XM_ADDR 0x1d
|
||||||
#define LSM9DS0_DEFAULT_GYRO_ADDR 0x6b
|
#define LSM9DS0_DEFAULT_GYRO_ADDR 0x6b
|
||||||
@ -1413,7 +1409,7 @@ namespace upm {
|
|||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
void installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
||||||
IsrCallback *cb);
|
jobject runnable);
|
||||||
#else
|
#else
|
||||||
/**
|
/**
|
||||||
* install an interrupt handler.
|
* install an interrupt handler.
|
||||||
@ -1464,11 +1460,6 @@ namespace upm {
|
|||||||
private:
|
private:
|
||||||
// OR'd with a register, this enables register autoincrement mode,
|
// OR'd with a register, this enables register autoincrement mode,
|
||||||
// which we need.
|
// which we need.
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
void installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level,
|
|
||||||
void (*isr)(void *), void *arg);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const uint8_t m_autoIncrementMode = 0x80;
|
static const uint8_t m_autoIncrementMode = 0x80;
|
||||||
|
|
||||||
mraa::I2c m_i2cG;
|
mraa::I2c m_i2cG;
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
%module(directors="1") javaupm_mma7660
|
%module javaupm_mma7660
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
%include "cpointer.i"
|
%include "cpointer.i"
|
||||||
%include "typemaps.i"
|
%include "typemaps.i"
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%apply int *OUTPUT { int *x, int *y, int *z };
|
%apply int *OUTPUT { int *x, int *y, int *z };
|
||||||
%apply float *OUTPUT { float *ax, float *ay, float *az };
|
%apply float *OUTPUT { float *ax, float *ay, float *az };
|
||||||
|
|
||||||
|
@ -207,9 +207,9 @@ bool MMA7660::tiltShake()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
#ifdef JAVACALLBACK
|
||||||
void MMA7660::installISR(int pin, IsrCallback *cb)
|
void MMA7660::installISR(int pin, jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(pin, generic_callback_isr, cb);
|
installISR(pin, mraa_java_isr_callback, runnable);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -27,10 +27,6 @@
|
|||||||
#include <mraa/i2c.h>
|
#include <mraa/i2c.h>
|
||||||
#include <mraa/gpio.h>
|
#include <mraa/gpio.h>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MMA7660_I2C_BUS 0
|
#define MMA7660_I2C_BUS 0
|
||||||
#define MMA7660_DEFAULT_I2C_ADDR 0x4c
|
#define MMA7660_DEFAULT_I2C_ADDR 0x4c
|
||||||
|
|
||||||
@ -271,7 +267,7 @@ namespace upm {
|
|||||||
* argument to the ISR.
|
* argument to the ISR.
|
||||||
*/
|
*/
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(int pin, IsrCallback *cb);
|
void installISR(int pin, jobject runnable);
|
||||||
#else
|
#else
|
||||||
void installISR(int pin, void (*isr)(void *), void *arg);
|
void installISR(int pin, void (*isr)(void *), void *arg);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,14 +1,9 @@
|
|||||||
%module(directors="1") javaupm_mpu9150
|
%module javaupm_mpu9150
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
%include "typemaps.i"
|
%include "typemaps.i"
|
||||||
%include "arrays_java.i"
|
%include "arrays_java.i"
|
||||||
%include "../java_buffer.i"
|
%include "../java_buffer.i"
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%apply int {mraa::Edge};
|
%apply int {mraa::Edge};
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
@ -384,14 +384,20 @@ uint8_t MPU60X0::getInterruptPinConfig()
|
|||||||
return readReg(REG_INT_PIN_CFG);
|
return readReg(REG_INT_PIN_CFG);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void MPU60X0::installISR(int gpio, mraa::Edge level,
|
void MPU60X0::installISR(int gpio, mraa::Edge level,
|
||||||
IsrCallback *cb)
|
jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(gpio, level, generic_callback_isr, cb);
|
// delete any existing ISR and GPIO context
|
||||||
}
|
uninstallISR();
|
||||||
#endif
|
|
||||||
|
|
||||||
|
// greate gpio context
|
||||||
|
m_gpioIRQ = new mraa::Gpio(gpio);
|
||||||
|
|
||||||
|
m_gpioIRQ->dir(mraa::DIR_IN);
|
||||||
|
m_gpioIRQ->isr(level, runnable);
|
||||||
|
}
|
||||||
|
#else
|
||||||
void MPU60X0::installISR(int gpio, mraa::Edge level,
|
void MPU60X0::installISR(int gpio, mraa::Edge level,
|
||||||
void (*isr)(void *), void *arg)
|
void (*isr)(void *), void *arg)
|
||||||
{
|
{
|
||||||
@ -404,6 +410,7 @@ void MPU60X0::installISR(int gpio, mraa::Edge level,
|
|||||||
m_gpioIRQ->dir(mraa::DIR_IN);
|
m_gpioIRQ->dir(mraa::DIR_IN);
|
||||||
m_gpioIRQ->isr(level, isr, arg);
|
m_gpioIRQ->isr(level, isr, arg);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void MPU60X0::uninstallISR()
|
void MPU60X0::uninstallISR()
|
||||||
{
|
{
|
||||||
|
@ -29,10 +29,6 @@
|
|||||||
|
|
||||||
#include <mraa/gpio.hpp>
|
#include <mraa/gpio.hpp>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MPU60X0_I2C_BUS 0
|
#define MPU60X0_I2C_BUS 0
|
||||||
#define MPU60X0_DEFAULT_I2C_ADDR 0x68
|
#define MPU60X0_DEFAULT_I2C_ADDR 0x68
|
||||||
|
|
||||||
@ -921,7 +917,7 @@ namespace upm {
|
|||||||
* @param arg the argument to pass the the interrupt handler
|
* @param arg the argument to pass the the interrupt handler
|
||||||
*/
|
*/
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(int gpio, mraa::Edge level, IsrCallback *cb);
|
void installISR(int gpio, mraa::Edge level, jobject runnable);
|
||||||
#else
|
#else
|
||||||
void installISR(int gpio, mraa::Edge level, void (*isr)(void *), void *arg);
|
void installISR(int gpio, mraa::Edge level, void (*isr)(void *), void *arg);
|
||||||
#endif
|
#endif
|
||||||
@ -951,10 +947,6 @@ namespace upm {
|
|||||||
float m_gyroScale;
|
float m_gyroScale;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
void installISR(int gpio, mraa::Edge level, void (*isr)(void *), void *arg);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mraa::I2c m_i2c;
|
mraa::I2c m_i2c;
|
||||||
uint8_t m_addr;
|
uint8_t m_addr;
|
||||||
|
|
||||||
|
@ -32,6 +32,10 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
|
#ifdef JAVACALLBACK
|
||||||
|
#undef JAVACALLBACK
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "pn532.h"
|
#include "pn532.h"
|
||||||
|
|
||||||
using namespace upm;
|
using namespace upm;
|
||||||
|
@ -24,6 +24,9 @@
|
|||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
#ifdef JAVACALLBACK
|
||||||
|
#undef JAVACALLBACK
|
||||||
|
#endif
|
||||||
#include "rgbringcoder.h"
|
#include "rgbringcoder.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
%module(directors="1") javaupm_rpr220
|
%module javaupm_rpr220
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
|
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%{
|
%{
|
||||||
#include "rpr220.h"
|
#include "rpr220.h"
|
||||||
%}
|
%}
|
||||||
|
@ -59,9 +59,9 @@ bool RPR220::blackDetected()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
#ifdef JAVACALLBACK
|
||||||
void RPR220::installISR(IsrCallback *cb)
|
void RPR220::installISR(jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(generic_callback_isr, cb);
|
installISR(mraa_java_isr_callback, runnable);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -26,10 +26,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <mraa/gpio.h>
|
#include <mraa/gpio.h>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace upm {
|
namespace upm {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -88,7 +84,7 @@ namespace upm {
|
|||||||
bool blackDetected();
|
bool blackDetected();
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(IsrCallback *cb);
|
void installISR(jobject runnable);
|
||||||
#else
|
#else
|
||||||
/**
|
/**
|
||||||
* Installs an ISR to be called when
|
* Installs an ISR to be called when
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
%module(directors="1") javaupm_sx1276
|
%module javaupm_sx1276
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
%include "cpointer.i"
|
%include "cpointer.i"
|
||||||
%include "typemaps.i"
|
%include "typemaps.i"
|
||||||
|
@ -29,6 +29,10 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#ifdef JAVACALLBACK
|
||||||
|
#undef JAVACALLBACK
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "sx1276.h"
|
#include "sx1276.h"
|
||||||
|
|
||||||
using namespace upm;
|
using namespace upm;
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
%module (directors=1, docstring="TTP223 Touch Sensor") javaupm_ttp223
|
%module (docstring="TTP223 Touch Sensor") javaupm_ttp223
|
||||||
|
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
|
|
||||||
%feature("director") IsrCallback;
|
|
||||||
SWIG_DIRECTOR_OWNED(IsrCallback)
|
|
||||||
%ignore generic_callback_isr;
|
|
||||||
%include "../IsrCallback.h"
|
|
||||||
|
|
||||||
%apply int {mraa::Edge}
|
%apply int {mraa::Edge}
|
||||||
|
|
||||||
|
|
||||||
|
@ -60,9 +60,9 @@ bool TTP223::isPressed() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JAVACALLBACK
|
#ifdef JAVACALLBACK
|
||||||
void TTP223::installISR(mraa::Edge level, IsrCallback *cb)
|
void TTP223::installISR(mraa::Edge level, jobject runnable)
|
||||||
{
|
{
|
||||||
installISR(level, generic_callback_isr, cb);
|
installISR(level, mraa_java_isr_callback, runnable);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -26,10 +26,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <mraa/gpio.hpp>
|
#include <mraa/gpio.hpp>
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
#include "../IsrCallback.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace upm {
|
namespace upm {
|
||||||
/**
|
/**
|
||||||
* @brief TTP223 Touch Detector Sensor library
|
* @brief TTP223 Touch Detector Sensor library
|
||||||
@ -100,7 +96,7 @@ class TTP223 {
|
|||||||
* argument to the ISR.
|
* argument to the ISR.
|
||||||
*/
|
*/
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||||
void installISR(mraa::Edge level, IsrCallback *cb);
|
void installISR(mraa::Edge level, jobject runnable);
|
||||||
#else
|
#else
|
||||||
void installISR(mraa::Edge level, void (*isr)(void *), void *arg);
|
void installISR(mraa::Edge level, void (*isr)(void *), void *arg);
|
||||||
#endif
|
#endif
|
||||||
|
@ -26,4 +26,6 @@ void cleanUp();
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (SWIGJAVA)
|
#if (SWIGJAVA)
|
||||||
|
%typemap(jtype) jobject runnable "java.lang.Runnable"
|
||||||
|
%typemap(jstype) jobject runnable "java.lang.Runnable"
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,6 +24,9 @@
|
|||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
#ifdef JAVACALLBACK
|
||||||
|
#undef JAVACALLBACK
|
||||||
|
#endif
|
||||||
#include "wheelencoder.h"
|
#include "wheelencoder.h"
|
||||||
|
|
||||||
using namespace upm;
|
using namespace upm;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user