From 75dced21be3f238e2e0aca1701fdd940547d44a8 Mon Sep 17 00:00:00 2001 From: Serban Waltter Date: Thu, 21 Jun 2018 16:46:09 +0300 Subject: [PATCH] Added bindings for iMotion and iPressure sensors. Signed-off-by: Serban Waltter --- examples/java/iPressure_Example.java | 29 ++++++++++++++++++++++++++++ src/biss0001/CMakeLists.txt | 1 + src/bmpx8x/CMakeLists.txt | 1 + src/bmpx8x/bmpx8x.i | 15 +++++++++----- src/hp20x/CMakeLists.txt | 1 + src/mpl3115a2/CMakeLists.txt | 1 + src/ms5611/CMakeLists.txt | 1 + src/ms5611/ms5611.i | 10 ++++++++++ src/ms5803/CMakeLists.txt | 1 + src/ms5803/ms5803.i | 10 ++++++++++ src/rsc/CMakeLists.txt | 1 + 11 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 examples/java/iPressure_Example.java diff --git a/examples/java/iPressure_Example.java b/examples/java/iPressure_Example.java new file mode 100644 index 00000000..59dbb750 --- /dev/null +++ b/examples/java/iPressure_Example.java @@ -0,0 +1,29 @@ +/** + * Author: Serban Waltter + */ + +import java.util.ArrayList; + +import upm_bmp280.BMP280; +import upm_hp20x.HP20X; +import upm_ms5611.MS5611; +import upm_new_interfaces.*; + +/** + * iPressure_Example + */ +public class iPressure_Example { + + public static void main(String[] args) { + ArrayList sensors = new ArrayList(); + sensors.add(new BMP280(2)); + sensors.add(new HP20X(3)); + sensors.add(new MS5611(4)); + + while (true) { + for (int i = 0; i < sensors.size(); i++) { + System.out.println("Pressure from sensor " + i + " is " + sensors.get(i).getPressure()); + } + } + } +} \ No newline at end of file diff --git a/src/biss0001/CMakeLists.txt b/src/biss0001/CMakeLists.txt index c07b7f52..22e66944 100644 --- a/src/biss0001/CMakeLists.txt +++ b/src/biss0001/CMakeLists.txt @@ -4,6 +4,7 @@ upm_mixed_module_init (NAME biss0001 C_SRC biss0001.c CPP_HDR biss0001.hpp CPP_SRC biss0001.cxx + IFACE_HDR iMotion.hpp FTI_SRC biss0001_fti.c CPP_WRAPS_C REQUIRES mraa) diff --git a/src/bmpx8x/CMakeLists.txt b/src/bmpx8x/CMakeLists.txt index ea363518..a3f61328 100644 --- a/src/bmpx8x/CMakeLists.txt +++ b/src/bmpx8x/CMakeLists.txt @@ -4,6 +4,7 @@ upm_mixed_module_init (NAME bmpx8x C_SRC bmpx8x.c CPP_HDR bmpx8x.hpp CPP_SRC bmpx8x.cxx + IFACE_HDR iPressure.hpp FTI_SRC bmpx8x_fti.c CPP_WRAPS_C REQUIRES mraa interfaces utilities-c) diff --git a/src/bmpx8x/bmpx8x.i b/src/bmpx8x/bmpx8x.i index b809efba..242874b9 100644 --- a/src/bmpx8x/bmpx8x.i +++ b/src/bmpx8x/bmpx8x.i @@ -1,16 +1,21 @@ +#ifdef SWIGPYTHON +%module (package="upm") htu21d +#endif + +%import "interfaces/new_interfaces.i" + %include "../common_top.i" /* BEGIN Java syntax ------------------------------------------------------- */ #ifdef SWIGJAVA +%typemap(javaimports) SWIGTYPE %{ +import upm_new_interfaces.*; +%} + JAVA_JNI_LOADLIBRARY(javaupm_bmpx8x) #endif /* END Java syntax */ -/* BEGIN Python syntax ----------------------------------------------------- */ -#ifdef SWIGPYTHON -#endif -/* END Python syntax */ - /* BEGIN Common SWIG syntax ------------------------------------------------- */ %{ #include "bmpx8x_defs.h" diff --git a/src/hp20x/CMakeLists.txt b/src/hp20x/CMakeLists.txt index 899d03b5..ba835fc1 100644 --- a/src/hp20x/CMakeLists.txt +++ b/src/hp20x/CMakeLists.txt @@ -2,4 +2,5 @@ set (libname "hp20x") set (libdescription "High-accuracy Barometer") set (module_src ${libname}.cxx) set (module_hpp ${libname}.hpp) +set (module_iface iPressure.hpp iTemperature.hpp) upm_module_init(mraa) diff --git a/src/mpl3115a2/CMakeLists.txt b/src/mpl3115a2/CMakeLists.txt index ec8d5e91..7fb8e109 100644 --- a/src/mpl3115a2/CMakeLists.txt +++ b/src/mpl3115a2/CMakeLists.txt @@ -2,4 +2,5 @@ set (libname "mpl3115a2") set (libdescription "I2C Precision Altimeter") set (module_src ${libname}.cpp) set (module_hpp ${libname}.hpp) +set (module_iface iPressure.hpp) upm_module_init(mraa) diff --git a/src/ms5611/CMakeLists.txt b/src/ms5611/CMakeLists.txt index 14ec6244..b911fb8f 100644 --- a/src/ms5611/CMakeLists.txt +++ b/src/ms5611/CMakeLists.txt @@ -2,4 +2,5 @@ set (libname "ms5611") set (libdescription "Barometric Pressure and Temperature Sensor") set (module_src ${libname}.cxx) set (module_hpp ${libname}.hpp) +set (module_iface iPressure.hpp iTemperature.hpp) upm_module_init(mraa interfaces) diff --git a/src/ms5611/ms5611.i b/src/ms5611/ms5611.i index 417cf077..29bf121f 100644 --- a/src/ms5611/ms5611.i +++ b/src/ms5611/ms5611.i @@ -1,7 +1,17 @@ +#ifdef SWIGPYTHON +%module (package="upm") htu21d +#endif + +%import "interfaces/new_interfaces.i" + %include "../common_top.i" /* BEGIN Java syntax ------------------------------------------------------- */ #ifdef SWIGJAVA +%typemap(javaimports) SWIGTYPE %{ +import upm_new_interfaces.*; +%} + JAVA_JNI_LOADLIBRARY(javaupm_ms5611) #endif /* END Java syntax */ diff --git a/src/ms5803/CMakeLists.txt b/src/ms5803/CMakeLists.txt index e7ba6c40..a706a4d2 100644 --- a/src/ms5803/CMakeLists.txt +++ b/src/ms5803/CMakeLists.txt @@ -4,6 +4,7 @@ upm_mixed_module_init (NAME ms5803 C_SRC ms5803.c CPP_HDR ms5803.hpp CPP_SRC ms5803.cxx + IFACE_HDR iPressure.hpp iTemperature.hpp FTI_SRC ms5803_fti.c CPP_WRAPS_C REQUIRES mraa utilities-c) diff --git a/src/ms5803/ms5803.i b/src/ms5803/ms5803.i index 4fb325a5..c77d8beb 100644 --- a/src/ms5803/ms5803.i +++ b/src/ms5803/ms5803.i @@ -1,7 +1,17 @@ +#ifdef SWIGPYTHON +%module (package="upm") htu21d +#endif + +%import "interfaces/new_interfaces.i" + %include "../common_top.i" /* BEGIN Java syntax ------------------------------------------------------- */ #ifdef SWIGJAVA +%typemap(javaimports) SWIGTYPE %{ +import upm_new_interfaces.*; +%} + %include "arrays_java.i" %include "../java_buffer.i" diff --git a/src/rsc/CMakeLists.txt b/src/rsc/CMakeLists.txt index d59a1da1..380e17fc 100644 --- a/src/rsc/CMakeLists.txt +++ b/src/rsc/CMakeLists.txt @@ -4,5 +4,6 @@ upm_mixed_module_init (NAME rsc C_SRC rsc.c CPP_HDR rsc.hpp CPP_SRC rsc.cxx + IFACE_HDR iPressure.hpp iTemperature.hpp CPP_WRAPS_C REQUIRES mraa utilities-c)