mirror of
https://github.com/eclipse/upm.git
synced 2025-03-14 20:47: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
|
||||
|
||||
/* 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
|
||||
usage: JAVA_JNI_LOADLIBRARY(javaupm_rhusb)
|
||||
*/
|
||||
|
@ -30,21 +30,9 @@
|
||||
|
||||
%include "bma220.hpp"
|
||||
|
||||
%extend upm::BMA220 {
|
||||
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->get_gpioIntr();
|
||||
|
||||
swg_gpioIntr->dir(mraa::DIR_IN);
|
||||
swg_gpioIntr->isr(level, runnable);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
%define GETTER get_gpioIntr();
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_GPIO(upm::BMA220)
|
||||
|
||||
%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 *);
|
||||
|
||||
%extend upm::BMA250E {
|
||||
void installISR(BMA250E_INTERRUPT_PINS_T intr, int gpio,
|
||||
mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
|
||||
%define INTERRUPT BMA250E_INTERRUPT_PINS_T
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_INTERRUPT(upm::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 *);
|
||||
|
||||
%extend upm::BMG160 {
|
||||
void installISR(BMG160_INTERRUPT_PINS_T intr, int gpio,
|
||||
mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
%define INTERRUPT BMG160_INTERRUPT_PINS_T
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_INTERRUPT(upm::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 *);
|
||||
|
||||
%extend upm::BMM150 {
|
||||
void installISR(BMM150_INTERRUPT_PINS_T intr, int gpio,
|
||||
mraa::Edge level,
|
||||
jobject runnable)
|
||||
{
|
||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
%define INTERRUPT BMM150_INTERRUPT_PINS_T
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_INTERRUPT(upm::BMM150)
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_bmm150)
|
||||
|
@ -11,11 +11,6 @@
|
||||
|
||||
#%ignore
|
||||
|
||||
%extend upm::Button {
|
||||
void installISR(mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(level, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
JAVA_ADD_INSTALLISR_EDGE(upm::Button)
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_button)
|
||||
|
@ -49,12 +49,8 @@
|
||||
#include "grovetemp.hpp"
|
||||
%}
|
||||
|
||||
%extend upm::GroveButton {
|
||||
void installISR(mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(level, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
JAVA_ADD_INSTALLISR_EDGE(upm::GroveButton)
|
||||
|
||||
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_grove)
|
||||
|
@ -9,5 +9,5 @@
|
||||
%include javaupm_iPressureSensor.i
|
||||
%include javaupm_iTemperatureSensor.i
|
||||
|
||||
|
||||
%include _upm.i
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_interfaces)
|
||||
|
@ -15,13 +15,8 @@
|
||||
|
||||
#%ignore installISR(LIS2DS12_INTERRUPT_PINS_T , int , mraa::Edge, void *, void *);
|
||||
|
||||
%extend upm::LIS2DS12 {
|
||||
void installISR(LIS2DS12_INTERRUPT_PINS_T intr, int gpio,
|
||||
mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback,
|
||||
runnable);
|
||||
}
|
||||
}
|
||||
%define INTERRUPT LIS2DS12_INTERRUPT_PINS_T
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LIS2DS12)
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_lis2ds12)
|
||||
|
@ -5,10 +5,18 @@
|
||||
|
||||
%ignore getAccelerometer(float *, float *, float *);
|
||||
|
||||
%include "lis3dh_defs.h"
|
||||
%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)
|
||||
|
@ -329,13 +329,6 @@ class LIS3DH
|
||||
*/
|
||||
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
|
||||
*
|
||||
@ -354,7 +347,6 @@ class LIS3DH
|
||||
mraa::Edge level,
|
||||
void (*isr)(void*),
|
||||
void* arg);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Uninstall a previously installed interrupt handler
|
||||
@ -372,13 +364,5 @@ class LIS3DH
|
||||
LIS3DH(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 *);
|
||||
|
||||
%extend upm::LSM303AGR {
|
||||
void installISR(LSM303AGR_INTERRUPT_PINS_T intr, int gpio,
|
||||
mraa::Edge level,
|
||||
jobject runnable)
|
||||
{
|
||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
%define INTERRUPT LSM303AGR_INTERRUPT_PINS_T
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LSM303AGR)
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_lsm303agr)
|
||||
|
@ -15,13 +15,8 @@
|
||||
|
||||
%ignore installISR(LSM6DS3H_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
||||
|
||||
%extend upm::LSM6DS3H {
|
||||
void installISR(LSM6DS3H_INTERRUPT_PINS_T intr, int gpio,
|
||||
mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback,
|
||||
runnable);
|
||||
}
|
||||
}
|
||||
%define INTERRUPT LSM6DS3H_INTERRUPT_PINS_T
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LSM6DS3H)
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_lsm6ds3h)
|
||||
|
@ -16,13 +16,7 @@
|
||||
|
||||
%ignore installISR(LSM6DSL_INTERRUPT_PINS_T , int , mraa::Edge , void *, void *);
|
||||
|
||||
%extend upm::LSM6DSL {
|
||||
void installISR(LSM6DSL_INTERRUPT_PINS_T intr, int gpio,
|
||||
mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(intr, gpio, level, mraa_java_isr_callback,
|
||||
runnable);
|
||||
}
|
||||
}
|
||||
|
||||
%define INTERRUPT LSM6DSL_INTERRUPT_PINS_T
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_INTERRUPT(upm::LSM6DSL)
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_lsm6dsl)
|
||||
|
@ -14,12 +14,5 @@
|
||||
|
||||
%ignore installISR(int pin, void *, void *);
|
||||
|
||||
|
||||
%extend upm::MCP2515 {
|
||||
void installISR(int pin, jobject runnable)
|
||||
{
|
||||
$self->installISR(pin, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
|
||||
JAVA_ADD_INSTALLISR_PIN(upm::MCP2515)
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_mcp2515)
|
||||
|
@ -35,13 +35,18 @@
|
||||
JCALL4(SetIntArrayRegion, jenv, $result, 0, 3, (const signed int*)$1);
|
||||
}
|
||||
|
||||
|
||||
%ignore getRawValues(int *, int *, int *);
|
||||
%ignore getAcceleration(float *, float *, float *);
|
||||
|
||||
%include "mma7660_regs.h"
|
||||
%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)
|
||||
|
@ -225,12 +225,7 @@ namespace upm {
|
||||
getRawValues(&values[0], &values[1], &values[2]);
|
||||
return values;
|
||||
}
|
||||
|
||||
void installISR(int pin, jobject runnable)
|
||||
{
|
||||
installISR(pin, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
#else
|
||||
#endif
|
||||
/**
|
||||
* Installs an interrupt service routine (ISR) to be called when
|
||||
* an interrupt occurs
|
||||
@ -241,7 +236,6 @@ namespace upm {
|
||||
* argument to the ISR.
|
||||
*/
|
||||
void installISR(int pin, void (*isr)(void *), void *arg);
|
||||
#endif // defined(SWIGJAVA) || defined(JAVACALLBACK)
|
||||
|
||||
protected:
|
||||
mma7660_context m_mma7660;
|
||||
@ -251,9 +245,5 @@ namespace upm {
|
||||
MMA7660(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 *);
|
||||
|
||||
%extend upm::MPU60X0 {
|
||||
void installISR(int gpio, mraa::Edge level,
|
||||
jobject runnable)
|
||||
{
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
%define GETTER get_gpioIRQ()
|
||||
%enddef
|
||||
JAVA_ADD_INSTALLISR_GPIO(upm::MPU60X0)
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_mpu9150)
|
||||
|
@ -13,11 +13,6 @@
|
||||
|
||||
#%ignore installISR(mraa::Edge , void *, void *)
|
||||
|
||||
%extend upm::TTP223 {
|
||||
void installISR(mraa::Edge level, jobject runnable)
|
||||
{
|
||||
$self->installISR(level, mraa_java_isr_callback, runnable);
|
||||
}
|
||||
}
|
||||
JAVA_ADD_INSTALLISR_EDGE(upm::TTP223)
|
||||
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_ttp223)
|
||||
|
@ -1,3 +1,12 @@
|
||||
%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