mirror of
https://github.com/eclipse/upm.git
synced 2025-03-15 04:57:30 +03:00
Added new macros for installISR and applied where possible.
This commit is contained in:
parent
7ab1e52327
commit
1895004cf5
50
src/_upm.i
50
src/_upm.i
@ -10,6 +10,56 @@
|
|||||||
}
|
}
|
||||||
%enddef
|
%enddef
|
||||||
|
|
||||||
|
/* Define GETTER in the appropiate .i file with the getter function name
|
||||||
|
*/
|
||||||
|
%define JAVA_ADD_INSTALLISR_GPIO(UPM_Classname)
|
||||||
|
%extend UPM_Classname {
|
||||||
|
void installISR(int gpio, mraa::Edge level, jobject runnable)
|
||||||
|
{
|
||||||
|
// delete any existing ISR and GPIO context
|
||||||
|
$self->uninstallISR();
|
||||||
|
|
||||||
|
// create gpio context
|
||||||
|
mraa::Gpio* swg_gpioIntr = $self->GETTER;
|
||||||
|
|
||||||
|
swg_gpioIntr->dir(mraa::DIR_IN);
|
||||||
|
swg_gpioIntr->isr(level, runnable);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%enddef
|
||||||
|
|
||||||
|
/* Define INTERRUPT in the appropiate .i file with the interrupt type
|
||||||
|
*/
|
||||||
|
%define JAVA_ADD_INSTALLISR_INTERRUPT(UPM_Classname)
|
||||||
|
%extend UPM_Classname {
|
||||||
|
void installISR(INTERRUPT intr, int gpio,
|
||||||
|
mraa::Edge level, jobject runnable)
|
||||||
|
{
|
||||||
|
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%enddef
|
||||||
|
|
||||||
|
%define JAVA_ADD_INSTALLISR_EDGE(UPM_Classname)
|
||||||
|
%extend UPM_Classname {
|
||||||
|
void installISR(mraa::Edge level, jobject runnable)
|
||||||
|
{
|
||||||
|
$self->installISR(level, mraa_java_isr_callback, runnable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%enddef
|
||||||
|
|
||||||
|
%define JAVA_ADD_INSTALLISR_PIN(UPM_Classname)
|
||||||
|
%extend UPM_Classname {
|
||||||
|
void installISR(int pin, jobject runnable)
|
||||||
|
{
|
||||||
|
$self->installISR(pin, mraa_java_isr_callback, runnable);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
%enddef
|
||||||
|
|
||||||
/* Macro for adding JNI loadLibrary dependency
|
/* Macro for adding JNI loadLibrary dependency
|
||||||
usage: JAVA_JNI_LOADLIBRARY(javaupm_rhusb)
|
usage: JAVA_JNI_LOADLIBRARY(javaupm_rhusb)
|
||||||
*/
|
*/
|
||||||
|
@ -30,21 +30,9 @@
|
|||||||
|
|
||||||
%include "bma220.hpp"
|
%include "bma220.hpp"
|
||||||
|
|
||||||
%extend upm::BMA220 {
|
%define GETTER get_gpioIntr();
|
||||||
void installISR(int gpio, mraa::Edge level, jobject runnable)
|
%enddef
|
||||||
{
|
JAVA_ADD_INSTALLISR_GPIO(upm::BMA220)
|
||||||
// delete any existing ISR and GPIO context
|
|
||||||
$self->uninstallISR();
|
|
||||||
|
|
||||||
// create gpio context
|
|
||||||
mraa::Gpio* swg_gpioIntr = $self->get_gpioIntr();
|
|
||||||
|
|
||||||
swg_gpioIntr->dir(mraa::DIR_IN);
|
|
||||||
swg_gpioIntr->isr(level, runnable);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
%ignore installISR(int, mraa::Edge, void *, void *);
|
%ignore installISR(int, mraa::Edge, void *, void *);
|
||||||
|
|
||||||
|
@ -30,14 +30,9 @@ import java.lang.Float;
|
|||||||
|
|
||||||
%ignore installISR (BMA250E_INTERRUPT_PINS_T, int, mraa::Edge , void *, void *);
|
%ignore installISR (BMA250E_INTERRUPT_PINS_T, int, mraa::Edge , void *, void *);
|
||||||
|
|
||||||
%extend upm::BMA250E {
|
%define INTERRUPT BMA250E_INTERRUPT_PINS_T
|
||||||
void installISR(BMA250E_INTERRUPT_PINS_T intr, int gpio,
|
%enddef
|
||||||
mraa::Edge level, jobject runnable)
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::BMA250E)
|
||||||
{
|
|
||||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_bma250e)
|
JAVA_JNI_LOADLIBRARY(javaupm_bma250e)
|
||||||
|
@ -30,12 +30,8 @@ import java.lang.Float;
|
|||||||
|
|
||||||
%ignore installISR (BMG160_INTERRUPT_PINS_T , int mraa::Edge , void *, void *);
|
%ignore installISR (BMG160_INTERRUPT_PINS_T , int mraa::Edge , void *, void *);
|
||||||
|
|
||||||
%extend upm::BMG160 {
|
%define INTERRUPT BMG160_INTERRUPT_PINS_T
|
||||||
void installISR(BMG160_INTERRUPT_PINS_T intr, int gpio,
|
%enddef
|
||||||
mraa::Edge level, jobject runnable)
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::BMG160)
|
||||||
{
|
|
||||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_bmg160)
|
JAVA_JNI_LOADLIBRARY(javaupm_bmg160)
|
||||||
|
@ -29,13 +29,8 @@ import java.lang.Float;
|
|||||||
|
|
||||||
%ignore installISR (BMM150_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
%ignore installISR (BMM150_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
||||||
|
|
||||||
%extend upm::BMM150 {
|
%define INTERRUPT BMM150_INTERRUPT_PINS_T
|
||||||
void installISR(BMM150_INTERRUPT_PINS_T intr, int gpio,
|
%enddef
|
||||||
mraa::Edge level,
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::BMM150)
|
||||||
jobject runnable)
|
|
||||||
{
|
|
||||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_bmm150)
|
JAVA_JNI_LOADLIBRARY(javaupm_bmm150)
|
||||||
|
@ -11,11 +11,6 @@
|
|||||||
|
|
||||||
#%ignore
|
#%ignore
|
||||||
|
|
||||||
%extend upm::Button {
|
JAVA_ADD_INSTALLISR_EDGE(upm::Button)
|
||||||
void installISR(mraa::Edge level, jobject runnable)
|
|
||||||
{
|
|
||||||
$self->installISR(level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_button)
|
JAVA_JNI_LOADLIBRARY(javaupm_button)
|
||||||
|
@ -49,12 +49,8 @@
|
|||||||
#include "grovetemp.hpp"
|
#include "grovetemp.hpp"
|
||||||
%}
|
%}
|
||||||
|
|
||||||
%extend upm::GroveButton {
|
JAVA_ADD_INSTALLISR_EDGE(upm::GroveButton)
|
||||||
void installISR(mraa::Edge level, jobject runnable)
|
|
||||||
{
|
|
||||||
$self->installISR(level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_grove)
|
JAVA_JNI_LOADLIBRARY(javaupm_grove)
|
||||||
|
@ -9,5 +9,5 @@
|
|||||||
%include javaupm_iPressureSensor.i
|
%include javaupm_iPressureSensor.i
|
||||||
%include javaupm_iTemperatureSensor.i
|
%include javaupm_iTemperatureSensor.i
|
||||||
|
|
||||||
|
%include _upm.i
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_interfaces)
|
JAVA_JNI_LOADLIBRARY(javaupm_interfaces)
|
||||||
|
@ -15,13 +15,8 @@
|
|||||||
|
|
||||||
#%ignore installISR(LIS2DS12_INTERRUPT_PINS_T , int , mraa::Edge, void *, void *);
|
#%ignore installISR(LIS2DS12_INTERRUPT_PINS_T , int , mraa::Edge, void *, void *);
|
||||||
|
|
||||||
%extend upm::LIS2DS12 {
|
%define INTERRUPT LIS2DS12_INTERRUPT_PINS_T
|
||||||
void installISR(LIS2DS12_INTERRUPT_PINS_T intr, int gpio,
|
%enddef
|
||||||
mraa::Edge level, jobject runnable)
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LIS2DS12)
|
||||||
{
|
|
||||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback,
|
|
||||||
runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_lis2ds12)
|
JAVA_JNI_LOADLIBRARY(javaupm_lis2ds12)
|
||||||
|
@ -5,10 +5,18 @@
|
|||||||
|
|
||||||
%ignore getAccelerometer(float *, float *, float *);
|
%ignore getAccelerometer(float *, float *, float *);
|
||||||
|
|
||||||
%include "lis3dh_defs.h"
|
|
||||||
%include "lis3dh.hpp"
|
|
||||||
%{
|
%{
|
||||||
#include "lis3dh.hpp"
|
#include "lis3dh.hpp"
|
||||||
|
#include "lis3dh_defs.h"
|
||||||
%}
|
%}
|
||||||
|
%include "lis3dh_defs.h"
|
||||||
|
%include "lis3dh.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
%ignore installISR(LIS3DH_INTERRUPT_PINS_T , int , mraa::Edge , void *, void* );
|
||||||
|
|
||||||
|
%define INTERRUPT LIS3DH_INTERRUPT_PINS_T
|
||||||
|
%enddef
|
||||||
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LIS3DH)
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_lis3dh)
|
JAVA_JNI_LOADLIBRARY(javaupm_lis3dh)
|
||||||
|
@ -329,13 +329,6 @@ class LIS3DH
|
|||||||
*/
|
*/
|
||||||
uint8_t getStatusAux();
|
uint8_t getStatusAux();
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
void
|
|
||||||
installISR(LIS3DH_INTERRUPT_PINS_T intr, int gpio, mraa::Edge level, jobject runnable)
|
|
||||||
{
|
|
||||||
installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
/**
|
/**
|
||||||
* Install an interrupt handler
|
* Install an interrupt handler
|
||||||
*
|
*
|
||||||
@ -354,7 +347,6 @@ class LIS3DH
|
|||||||
mraa::Edge level,
|
mraa::Edge level,
|
||||||
void (*isr)(void*),
|
void (*isr)(void*),
|
||||||
void* arg);
|
void* arg);
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Uninstall a previously installed interrupt handler
|
* Uninstall a previously installed interrupt handler
|
||||||
@ -372,13 +364,5 @@ class LIS3DH
|
|||||||
LIS3DH(const LIS3DH&) = delete;
|
LIS3DH(const LIS3DH&) = delete;
|
||||||
LIS3DH& operator=(const LIS3DH&) = delete;
|
LIS3DH& operator=(const LIS3DH&) = delete;
|
||||||
|
|
||||||
// Adding a private function definition for Java bindings
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
void installISR(LIS3DH_INTERRUPT_PINS_T intr,
|
|
||||||
int gpio,
|
|
||||||
mraa::Edge level,
|
|
||||||
void (*isr)(void*),
|
|
||||||
void* arg);
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -31,13 +31,8 @@ import java.lang.Float;
|
|||||||
|
|
||||||
%ignore installISR(LSM303AGR_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
%ignore installISR(LSM303AGR_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
||||||
|
|
||||||
%extend upm::LSM303AGR {
|
%define INTERRUPT LSM303AGR_INTERRUPT_PINS_T
|
||||||
void installISR(LSM303AGR_INTERRUPT_PINS_T intr, int gpio,
|
%enddef
|
||||||
mraa::Edge level,
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LSM303AGR)
|
||||||
jobject runnable)
|
|
||||||
{
|
|
||||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_lsm303agr)
|
JAVA_JNI_LOADLIBRARY(javaupm_lsm303agr)
|
||||||
|
@ -15,13 +15,8 @@
|
|||||||
|
|
||||||
%ignore installISR(LSM6DS3H_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
%ignore installISR(LSM6DS3H_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
||||||
|
|
||||||
%extend upm::LSM6DS3H {
|
%define INTERRUPT LSM6DS3H_INTERRUPT_PINS_T
|
||||||
void installISR(LSM6DS3H_INTERRUPT_PINS_T intr, int gpio,
|
%enddef
|
||||||
mraa::Edge level, jobject runnable)
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LSM6DS3H)
|
||||||
{
|
|
||||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback,
|
|
||||||
runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_lsm6ds3h)
|
JAVA_JNI_LOADLIBRARY(javaupm_lsm6ds3h)
|
||||||
|
@ -16,13 +16,7 @@
|
|||||||
|
|
||||||
%ignore installISR(LSM6DSL_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
%ignore installISR(LSM6DSL_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
||||||
|
|
||||||
%extend upm::LSM6DSL {
|
%define INTERRUPT LSM6DSL_INTERRUPT_PINS_T
|
||||||
void installISR(LSM6DSL_INTERRUPT_PINS_T intr, int gpio,
|
%enddef
|
||||||
mraa::Edge level, jobject runnable)
|
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LSM6DSL)
|
||||||
{
|
|
||||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback,
|
|
||||||
runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_lsm6dsl)
|
JAVA_JNI_LOADLIBRARY(javaupm_lsm6dsl)
|
||||||
|
@ -14,12 +14,5 @@
|
|||||||
|
|
||||||
%ignore installISR(int pin, void *, void *);
|
%ignore installISR(int pin, void *, void *);
|
||||||
|
|
||||||
|
JAVA_ADD_INSTALLISR_PIN(upm::MCP2515)
|
||||||
%extend upm::MCP2515 {
|
|
||||||
void installISR(int pin, jobject runnable)
|
|
||||||
{
|
|
||||||
$self->installISR(pin, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_mcp2515)
|
JAVA_JNI_LOADLIBRARY(javaupm_mcp2515)
|
||||||
|
@ -35,13 +35,18 @@
|
|||||||
JCALL4(SetIntArrayRegion, jenv, $result, 0, 3, (const signed int*)$1);
|
JCALL4(SetIntArrayRegion, jenv, $result, 0, 3, (const signed int*)$1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
%ignore getRawValues(int *, int *, int *);
|
%ignore getRawValues(int *, int *, int *);
|
||||||
%ignore getAcceleration(float *, float *, float *);
|
%ignore getAcceleration(float *, float *, float *);
|
||||||
|
|
||||||
%include "mma7660_regs.h"
|
|
||||||
%include "mma7660.hpp"
|
|
||||||
%{
|
%{
|
||||||
#include "mma7660.hpp"
|
#include "mma7660.hpp"
|
||||||
|
#include "mma7660_regs.h"
|
||||||
%}
|
%}
|
||||||
|
%include "mma7660_regs.h"
|
||||||
|
%include "mma7660.hpp"
|
||||||
|
|
||||||
|
%ignore installISR(int , void *, void *);
|
||||||
|
|
||||||
|
JAVA_ADD_INSTALLISR_PIN(upm::MMA7660)
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_mma7660)
|
JAVA_JNI_LOADLIBRARY(javaupm_mma7660)
|
||||||
|
@ -225,12 +225,7 @@ namespace upm {
|
|||||||
getRawValues(&values[0], &values[1], &values[2]);
|
getRawValues(&values[0], &values[1], &values[2]);
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
void installISR(int pin, jobject runnable)
|
|
||||||
{
|
|
||||||
installISR(pin, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
/**
|
/**
|
||||||
* 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
|
||||||
@ -241,7 +236,6 @@ namespace upm {
|
|||||||
* argument to the ISR.
|
* argument to the ISR.
|
||||||
*/
|
*/
|
||||||
void installISR(int pin, void (*isr)(void *), void *arg);
|
void installISR(int pin, void (*isr)(void *), void *arg);
|
||||||
#endif // defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
mma7660_context m_mma7660;
|
mma7660_context m_mma7660;
|
||||||
@ -251,9 +245,5 @@ namespace upm {
|
|||||||
MMA7660(const MMA7660&) = delete;
|
MMA7660(const MMA7660&) = delete;
|
||||||
MMA7660 &operator=(const MMA7660&) = delete;
|
MMA7660 &operator=(const MMA7660&) = delete;
|
||||||
|
|
||||||
#if defined(SWIGJAVA) || defined(JAVACALLBACK)
|
|
||||||
void installISR(int pin, void (*isr)(void *), void *arg);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -35,19 +35,8 @@
|
|||||||
|
|
||||||
%ignore installISR(int , mraa::Edge , void *, void *);
|
%ignore installISR(int , mraa::Edge , void *, void *);
|
||||||
|
|
||||||
%extend upm::MPU60X0 {
|
%define GETTER get_gpioIRQ()
|
||||||
void installISR(int gpio, mraa::Edge level,
|
%enddef
|
||||||
jobject runnable)
|
JAVA_ADD_INSTALLISR_GPIO(upm::MPU60X0)
|
||||||
{
|
|
||||||
// delete any existing ISR and GPIO context
|
|
||||||
$self->uninstallISR();
|
|
||||||
|
|
||||||
// greate gpio context
|
|
||||||
mraa::Gpio* swg_gpioIRQ = $self->get_gpioIRQ();
|
|
||||||
|
|
||||||
swg_gpioIRQ->dir(mraa::DIR_IN);
|
|
||||||
swg_gpioIRQ->isr(level, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_mpu9150)
|
JAVA_JNI_LOADLIBRARY(javaupm_mpu9150)
|
||||||
|
@ -13,11 +13,6 @@
|
|||||||
|
|
||||||
#%ignore installISR(mraa::Edge , void *, void *)
|
#%ignore installISR(mraa::Edge , void *, void *)
|
||||||
|
|
||||||
%extend upm::TTP223 {
|
JAVA_ADD_INSTALLISR_EDGE(upm::TTP223)
|
||||||
void installISR(mraa::Edge level, jobject runnable)
|
|
||||||
{
|
|
||||||
$self->installISR(level, mraa_java_isr_callback, runnable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_ttp223)
|
JAVA_JNI_LOADLIBRARY(javaupm_ttp223)
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
%module javaupm_utilities
|
%module javaupm_utilities
|
||||||
|
|
||||||
JAVA_JNI_LOADLIBRARY(javaupm_utilities)
|
%pragma(java) jniclasscode=%{
|
||||||
|
static {
|
||||||
|
try {
|
||||||
|
System.loadLibrary("javaupm_utilities");
|
||||||
|
} catch (UnsatisfiedLinkError e) {
|
||||||
|
System.err.println("Native code library failed to load. \n" + e);
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user