diff --git a/examples/java/iHumidity_Example.java b/examples/java/iHumidity_Example.java new file mode 100644 index 00000000..b3092f60 --- /dev/null +++ b/examples/java/iHumidity_Example.java @@ -0,0 +1,30 @@ +/** + * Author: Serban Waltter + */ + +import upm_new_interfaces.*; + +import java.util.ArrayList; + +import upm_bmp280.*; +import upm_htu21d.*; +import upm_rhusb.*; + +/** + * iHumidity_Example + */ +public class iHumidity_Example { + + public static void main(String[] args) { + ArrayList sensors = new ArrayList(); + sensors.add(new BME280()); + sensors.add(new HTU21D(2)); + sensors.add(new RHUSB("/dev/UART")); + + while (true) { + for (int i = 0; i < sensors.size(); i++) { + System.out.println("Humidity from sensor " + i + " is " + sensors.get(i).getHumidity()); + } + } + } +} \ No newline at end of file diff --git a/src/bmp280/CMakeLists.txt b/src/bmp280/CMakeLists.txt index 4864a80e..b1e36225 100644 --- a/src/bmp280/CMakeLists.txt +++ b/src/bmp280/CMakeLists.txt @@ -4,6 +4,7 @@ upm_mixed_module_init (NAME bmp280 C_SRC bmp280.c CPP_HDR bmp280.hpp bme280.hpp CPP_SRC bmp280.cxx bme280.cxx + IFACE_HDR iHumidity.hpp iPressure.hpp iTemperature.hpp CPP_WRAPS_C REQUIRES mraa interfaces utilities-c) target_link_libraries(${libnamec} m) diff --git a/src/bmp280/bmp280.i b/src/bmp280/bmp280.i index f2ab6eaf..3ef01f00 100644 --- a/src/bmp280/bmp280.i +++ b/src/bmp280/bmp280.i @@ -1,7 +1,17 @@ +#ifdef SWIGPYTHON +%module (package="pyupm_new_interfaces") bmp280 +#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_bmp280) #endif /* END Java syntax */ diff --git a/src/hdc1000/CMakeLists.txt b/src/hdc1000/CMakeLists.txt index 93bea618..cd3359d9 100644 --- a/src/hdc1000/CMakeLists.txt +++ b/src/hdc1000/CMakeLists.txt @@ -2,4 +2,5 @@ set (libname "hdc1000") set (libdescription "Humidity/Temperature Sensor") set (module_src ${libname}.cpp) set (module_hpp ${libname}.hpp) +set (module_iface iHumidity.hpp iTemperature.hpp) upm_module_init(mraa) diff --git a/src/htu21d/CMakeLists.txt b/src/htu21d/CMakeLists.txt index 35024786..598e30f7 100644 --- a/src/htu21d/CMakeLists.txt +++ b/src/htu21d/CMakeLists.txt @@ -2,4 +2,5 @@ set (libname "htu21d") set (libdescription "Digital Relative Humidity Sensor with Temperature") set (module_src ${libname}.cpp) set (module_hpp ${libname}.hpp) +set (module_iface iHumidity.hpp) upm_module_init(mraa) diff --git a/src/htu21d/htu21d.i b/src/htu21d/htu21d.i index 064cb239..7fb1d1f4 100644 --- a/src/htu21d/htu21d.i +++ b/src/htu21d/htu21d.i @@ -1,7 +1,17 @@ +#ifdef SWIGPYTHON +%module (package="pyupm_new_interfaces") htu21d +#endif + +%import "interfaces/new_interfaces.i" + %include "../common_top.i" /* BEGIN Java syntax ------------------------------------------------------- */ #ifdef SWIGJAVA +%typemap(javaimports) SWIGTYPE %{ +import upm_new_interfaces.*; +%} + %ignore getHumidityData(float*, float*, float*); JAVA_JNI_LOADLIBRARY(javaupm_htu21d) diff --git a/src/hwxpxx/CMakeLists.txt b/src/hwxpxx/CMakeLists.txt index d6b3dc16..39347403 100644 --- a/src/hwxpxx/CMakeLists.txt +++ b/src/hwxpxx/CMakeLists.txt @@ -3,6 +3,7 @@ if (MODBUS_FOUND) set (libdescription "Module for the Veris HWXPXX (HWXPHTX)") set (module_src ${libname}.cxx) set (module_hpp ${libname}.hpp) + set (module_iface iHumidity.hpp iTemperature.hpp) set (reqlibname "libmodbus") upm_module_init(${MODBUS_LIBRARIES}) diff --git a/src/hwxpxx/hwxpxx.i b/src/hwxpxx/hwxpxx.i index c8eff427..5ce7d4c5 100644 --- a/src/hwxpxx/hwxpxx.i +++ b/src/hwxpxx/hwxpxx.i @@ -1,7 +1,17 @@ +#ifdef SWIGPYTHON +%module (package="pyupm_new_interfaces") hwxpxx +#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_hwxpxx) #endif /* END Java syntax */ diff --git a/src/rhusb/CMakeLists.txt b/src/rhusb/CMakeLists.txt index 0aaa9f1a..300c1531 100644 --- a/src/rhusb/CMakeLists.txt +++ b/src/rhusb/CMakeLists.txt @@ -2,5 +2,6 @@ set (libname "rhusb") set (libdescription "Omega RH-USB Temperature and Humidity Sensor") set (module_src ${libname}.cxx) set (module_hpp ${libname}.hpp) +set (module_iface iHumidity.hpp iTemperature.hpp) upm_module_init(mraa) diff --git a/src/rhusb/rhusb.i b/src/rhusb/rhusb.i index f1e69d89..48a6930b 100644 --- a/src/rhusb/rhusb.i +++ b/src/rhusb/rhusb.i @@ -1,7 +1,17 @@ +#ifdef SWIGPYTHON +%module (package="pyupm_new_interfaces") rhusb +#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" JAVA_JNI_LOADLIBRARY(javaupm_rhusb) diff --git a/src/t3311/CMakeLists.txt b/src/t3311/CMakeLists.txt index 3650c99e..f43689f4 100644 --- a/src/t3311/CMakeLists.txt +++ b/src/t3311/CMakeLists.txt @@ -3,6 +3,7 @@ if (MODBUS_FOUND) set (libdescription "Temperature and Humidity Probe") set (module_src ${libname}.cxx) set (module_hpp ${libname}.hpp) + set (module_iface iHumidity.hpp iTemperature.hpp) set (reqlibname "libmodbus") upm_module_init(${MODBUS_LIBRARIES}) diff --git a/src/t3311/t3311.i b/src/t3311/t3311.i index 6b76f8da..96f9348f 100644 --- a/src/t3311/t3311.i +++ b/src/t3311/t3311.i @@ -1,7 +1,17 @@ +#ifdef SWIGPYTHON +%module (package="pyupm_new_interfaces") 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/th02/CMakeLists.txt b/src/th02/CMakeLists.txt index 5ac30bff..f22b4762 100644 --- a/src/th02/CMakeLists.txt +++ b/src/th02/CMakeLists.txt @@ -2,4 +2,5 @@ set (libname "th02") set (libdescription "Temperature and Humidity Sensor Pro") set (module_src ${libname}.cxx) set (module_hpp ${libname}.hpp) +set (module_iface iHumidity.hpp iTemperature.hpp) upm_module_init(mraa)