java: Created a general interface that is no longer included in each package and updated examples

Signed-off-by: Bogdan Ichim <bogdan.ichim@rinftech.com>
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@gmail.com>
This commit is contained in:
Stefan Andritoiu 2017-04-05 18:36:43 +03:00 committed by sisinty sasmita patra
parent e3a8b2fc13
commit fe9254c004
24 changed files with 141 additions and 44 deletions

View File

@ -24,6 +24,7 @@
*/ */
import upm_bmp280.*; import upm_bmp280.*;
import upm_interfaces.*;
public class BME280_InterfaceExample public class BME280_InterfaceExample
{ {

View File

@ -17,13 +17,26 @@ macro(add_example_with_path example_name jar_path jar_name)
add_dependencies(${example_name} javaupm_${jar_name}) add_dependencies(${example_name} javaupm_${jar_name})
endmacro() endmacro()
macro(add_example_multiple_jars example_name example_jar_name jar_name_list)
set(example_src "${example_name}.java")
set(list_of_jars "")
foreach(jar_name ${jar_name_list})
set(example_jar "${CMAKE_CURRENT_BINARY_DIR}/../../src/${jar_name}/upm_${jar_name}.jar")
list(APPEND list_of_jars ${example_jar})
endforeach()
add_jar(${example_name} SOURCES ${example_src} INCLUDE_JARS ${list_of_jars})
add_dependencies(${example_name} javaupm_${example_jar_name})
endmacro()
add_example(A110X_intrSample a110x) add_example(A110X_intrSample a110x)
add_example(A110XSample a110x) add_example(A110XSample a110x)
add_example(ADC121C021Sample adc121c021) add_example(ADC121C021Sample adc121c021)
add_example(Adxl345Sample adxl345) add_example(Adxl345Sample adxl345)
add_example(Apds9002 apds9002) add_example(Apds9002 apds9002)
add_example(BISS0001Sample biss0001) add_example(BISS0001Sample biss0001)
add_example(BMPX8XSample bmpx8x) add_example_multiple_jars(BMPX8XSample bmpx8x "bmpx8x;interfaces")
add_example(BuzzerSample buzzer) add_example(BuzzerSample buzzer)
add_example(CJQ4435Sample cjq4435) add_example(CJQ4435Sample cjq4435)
add_example(DS1307Sample ds1307) add_example(DS1307Sample ds1307)
@ -150,7 +163,7 @@ endif()
if (JPEG_FOUND) if (JPEG_FOUND)
add_example(VCAP_Example vcap) add_example(VCAP_Example vcap)
endif() endif()
add_example(BMP280_Example bmp280) add_example_multiple_jars(BMP280_Example bmp280 "bmp280;interfaces")
add_example(BNO055_Example bno055) add_example(BNO055_Example bno055)
add_example(BMX055_Example bmx055) add_example(BMX055_Example bmx055)
add_example(NMEAGPS_Example nmea_gps) add_example(NMEAGPS_Example nmea_gps)
@ -165,7 +178,7 @@ add_example(ECEZO_Example ecezo)
add_example(IMS_Example ims) add_example(IMS_Example ims)
add_example(MB704X_Example mb704x) add_example(MB704X_Example mb704x)
add_example(MCP2515_Example mcp2515) add_example(MCP2515_Example mcp2515)
add_example(Ads1015Sample ads1x15) add_example_multiple_jars(Ads1015Sample ads1x15 "ads1x15;interfaces")
add_example(MAX30100_Example max30100) add_example(MAX30100_Example max30100)
add_example(Ads1115Sample ads1x15) add_example(Ads1115Sample ads1x15)
add_example(SensorTemplateSample sensortemplate) add_example(SensorTemplateSample sensortemplate)
@ -182,10 +195,10 @@ add_example_with_path(Lcm1602_i2cSample lcm1602 lcm1602)
add_example_with_path(Lcm1602_parallelSample lcm1602 lcm1602) add_example_with_path(Lcm1602_parallelSample lcm1602 lcm1602)
add_example_with_path(SSD1308_oledSample lcd i2clcd) add_example_with_path(SSD1308_oledSample lcd i2clcd)
add_example_with_path(SSD1327_oledSample lcd i2clcd) add_example_with_path(SSD1327_oledSample lcd i2clcd)
add_example_with_path(BME280_Example bmp280 bmp280) add_example_multiple_jars(BME280_Example bmp280 "bmp280;interfaces")
if(SWIG_VERSION VERSION_GREATER 3.0.8) if(SWIG_VERSION VERSION_GREATER 3.0.8)
add_example_with_path(BME280_InterfaceExample bmp280 bmp280) add_example_multiple_jars(BME280_InterfaceExample bmp280 "bmp280;interfaces")
endif() endif()
add_example_with_path(BMC150_Example bmx055 bmx055) add_example_with_path(BMC150_Example bmx055 bmx055)

View File

@ -431,8 +431,13 @@ macro(upm_swig_java)
# See issue #518 # See issue #518
# TODO: Fix this somehow # TODO: Fix this somehow
swig_add_module (javaupm_${libname} java javaupm_${libname}.i ${module_src}) swig_add_module (javaupm_${libname} java javaupm_${libname}.i ${module_src})
# If the C++ target depends on C++ interfaces, make the JAVA target
# depend on the JAVA interfaces
if ("${_c_cxx_dependency_list}" MATCHES interfaces)
add_dependencies(javaupm_${libname} javaupm_interfaces)
endif ()
swig_link_libraries (javaupm_${libname} ${MRAAJAVA_LIBRARY} ${JAVA_LIBRARIES} ${libname}) swig_link_libraries (javaupm_${libname} ${MRAAJAVA_LIBRARY} ${JAVA_LIBRARIES} ${libname})
add_dependencies(javaupm_${libname} ${libname})
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}"
@ -472,7 +477,8 @@ macro(upm_swig_java)
POST_BUILD POST_BUILD
COMMAND cmake -E echo "Compiling java.." COMMAND cmake -E echo "Compiling java.."
COMMAND cmake -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/upm_${libname} COMMAND cmake -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/upm_${libname}
COMMAND ${JAVAC} *.java -d ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${JAVAC} *.java -d ${CMAKE_CURRENT_BINARY_DIR} -cp ${CMAKE_BINARY_DIR}/src/interfaces/upm_interfaces.jar:.
COMMAND cmake -E echo "Creating jar" COMMAND cmake -E echo "Creating jar"
COMMAND ${JAR} cvf upm_${libname}.jar upm_${libname} COMMAND ${JAR} cvf upm_${libname}.jar upm_${libname}
) )
@ -668,6 +674,9 @@ endfunction (UPM_MIXED_MODULE_INIT)
function(upm_module_init) function(upm_module_init)
set (basename ${libname}) set (basename ${libname})
# Save off ARGN as target dependency list for use in any macros below
set (_c_cxx_dependency_list ${ARGN})
# If this is a C library, handle different collateral naming # If this is a C library, handle different collateral naming
if (IS_C_LIBRARY) if (IS_C_LIBRARY)
set (libname ${libname}-c) set (libname ${libname}-c)

View File

@ -1,17 +1,19 @@
%module javaupm_ads1x15 %module javaupm_ads1x15
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iADC.i"
%include "typemaps.i" %include "typemaps.i"
%import "../interfaces/javaupm_iADC.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "ads1x15.hpp" #include "ads1x15.hpp"
#include "ads1015.hpp" #include "ads1015.hpp"
#include "ads1115.hpp" #include "ads1115.hpp"
%} %}
%include "iADC.hpp"
%include "ads1x15.hpp" %include "ads1x15.hpp"
%include "ads1015.hpp" %include "ads1015.hpp"
%include "ads1115.hpp" %include "ads1115.hpp"

View File

@ -1,9 +1,19 @@
%module javaupm_bmp280 %module javaupm_bmp280
%include "../upm.i"
%include "../interfaces/javaupm_iTemperatureSensor.i" %import "../interfaces/javaupm_iTemperatureSensor.i"
%include "../interfaces/javaupm_iHumiditySensor.i" %import "../interfaces/javaupm_iHumiditySensor.i"
%include "../interfaces/javaupm_iPressureSensor.i" %import "../interfaces/javaupm_iPressureSensor.i"
%include "../upm.i"
%include "cpointer.i"
%include "typemaps.i"
%include "arrays_java.i";
%include "../java_buffer.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%include "bmp280_regs.h" %include "bmp280_regs.h"
%include "bmp280.hpp" %include "bmp280.hpp"
@ -16,7 +26,6 @@
#include "bme280.hpp" #include "bme280.hpp"
%} %}
%pragma(java) jniclasscode=%{ %pragma(java) jniclasscode=%{
static { static {
try { try {

View File

@ -1,8 +1,12 @@
%module javaupm_bmpx8x %module javaupm_bmpx8x
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iTemperatureSensor.i" %import "../interfaces/javaupm_iTemperatureSensor.i"
%include "../interfaces/javaupm_iPressureSensor.i" %import "../interfaces/javaupm_iPressureSensor.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "bmpx8x.hpp" #include "bmpx8x.hpp"

View File

@ -1,7 +1,11 @@
%module javaupm_ds1808lc %module javaupm_ds1808lc
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iLightController.i" %import "../interfaces/javaupm_iLightController.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%include "arrays_java.i"; %include "arrays_java.i";
%include "../java_buffer.i" %include "../java_buffer.i"

View File

@ -1,13 +1,17 @@
%module javaupm_hlg150h %module javaupm_hlg150h
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iLightController.i"
%include "arrays_java.i"; %include "arrays_java.i";
%include "../java_buffer.i" %include "../java_buffer.i"
%include "cpointer.i" %include "cpointer.i"
%include "typemaps.i" %include "typemaps.i"
%import "../interfaces/javaupm_iLightController.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "hlg150h.hpp" #include "hlg150h.hpp"
%} %}

View File

@ -7,3 +7,6 @@
%include "javaupm_iModuleStatus.i" %include "javaupm_iModuleStatus.i"
%include "iADC.hpp" %include "iADC.hpp"
%{
#include "iADC.hpp"
%}

View File

@ -3,7 +3,11 @@
%interface_impl(upm::ICO2Sensor); %interface_impl(upm::ICO2Sensor);
#endif #endif
%include "stdint.i"
%include "javaupm_interfaces.i" %include "javaupm_interfaces.i"
%include "javaupm_iModuleStatus.i" %include "javaupm_iModuleStatus.i"
%include "iCO2Sensor.hpp" %include "iCO2Sensor.hpp"
%{
#include "iCO2Sensor.hpp"
%}

View File

@ -7,3 +7,6 @@
%include "javaupm_iModuleStatus.i" %include "javaupm_iModuleStatus.i"
%include "iHumiditySensor.hpp" %include "iHumiditySensor.hpp"
%{
#include "iHumiditySensor.hpp"
%}

View File

@ -7,3 +7,6 @@
%include "javaupm_iModuleStatus.i" %include "javaupm_iModuleStatus.i"
%include "iLightController.hpp" %include "iLightController.hpp"
%{
#include "iLightController.hpp"
%}

View File

@ -7,3 +7,6 @@
%include "javaupm_iModuleStatus.i" %include "javaupm_iModuleStatus.i"
%include "iLightSensor.hpp" %include "iLightSensor.hpp"
%{
#include "iLightSensor.hpp"
%}

View File

@ -4,3 +4,6 @@
#endif #endif
%include "iModuleStatus.hpp" %include "iModuleStatus.hpp"
%{
#include "iModuleStatus.hpp"
%}

View File

@ -7,3 +7,6 @@
%include "javaupm_iModuleStatus.i" %include "javaupm_iModuleStatus.i"
%include "iPressureSensor.hpp" %include "iPressureSensor.hpp"
%{
#include "iPressureSensor.hpp"
%}

View File

@ -7,3 +7,6 @@
%include "javaupm_iModuleStatus.i" %include "javaupm_iModuleStatus.i"
%include "iTemperatureSensor.hpp" %include "iTemperatureSensor.hpp"
%{
#include "iTemperatureSensor.hpp"
%}

View File

@ -1,5 +1,15 @@
%module javaupm_interfaces %module javaupm_interfaces
%include javaupm_iModuleStatus.i
%include javaupm_iADC.i
%include javaupm_iCO2Sensor.i
%include javaupm_iHumiditySensor.i
%include javaupm_iLightController.i
%include javaupm_iLightSensor.i
%include javaupm_iPressureSensor.i
%include javaupm_iTemperatureSensor.i
%pragma(java) jniclasscode=%{ %pragma(java) jniclasscode=%{
static { static {
try { try {

View File

@ -1,9 +1,13 @@
%module javaupm_lp8860 %module javaupm_lp8860
%include "../interfaces/javaupm_iLightController.i" %import "../interfaces/javaupm_iLightController.i"
%include "../upm.i" %include "../upm.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "lp8860.hpp" #include "lp8860.hpp"
%} %}

View File

@ -1,13 +1,17 @@
%module javaupm_max44009 %module javaupm_max44009
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iLightSensor.i"
%include "arrays_java.i"; %include "arrays_java.i";
%include "../java_buffer.i" %include "../java_buffer.i"
%include "cpointer.i" %include "cpointer.i"
%include "typemaps.i" %include "typemaps.i"
%import "../interfaces/javaupm_iLightSensor.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "max44009.hpp" #include "max44009.hpp"
%} %}

View File

@ -1,8 +1,12 @@
%module javaupm_ms5611 %module javaupm_ms5611
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iTemperatureSensor.i" %import "../interfaces/javaupm_iTemperatureSensor.i"
%include "../interfaces/javaupm_iPressureSensor.i" %import "../interfaces/javaupm_iPressureSensor.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "ms5611.hpp" #include "ms5611.hpp"

View File

@ -58,7 +58,7 @@ namespace upm
* @snippet ms5611.cxx Interesting * @snippet ms5611.cxx Interesting
*/ */
class MS5611 : public IPressureSensor, ITemperatureSensor class MS5611 : public IPressureSensor, public ITemperatureSensor
{ {
public: public:
enum OsrMode enum OsrMode

View File

@ -6,7 +6,11 @@
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iLightSensor.i" %import "../interfaces/javaupm_iLightSensor.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%pragma(java) jniclasscode=%{ %pragma(java) jniclasscode=%{
static { static {
@ -19,17 +23,9 @@
} }
%} %}
%include "si1132.hpp"
%{ %{
#include "si1132.hpp" #include "si1132.hpp"
%} %}
/*
%include "../iModuleStatus.hpp"
%include "../iLightSensor.hpp"
%feature("director") IModuleStatus;
%feature("director") ILightSensor;
*/
%include "si1132.hpp"

View File

@ -1,14 +1,18 @@
%module javaupm_si7005 %module javaupm_si7005
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iTemperatureSensor.i"
%include "../interfaces/javaupm_iHumiditySensor.i"
%include "arrays_java.i"; %include "arrays_java.i";
%include "../java_buffer.i" %include "../java_buffer.i"
%include "cpointer.i" %include "cpointer.i"
%include "typemaps.i" %include "typemaps.i"
%import "../interfaces/javaupm_iTemperatureSensor.i"
%import "../interfaces/javaupm_iHumiditySensor.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "si7005.hpp" #include "si7005.hpp"
%} %}

View File

@ -1,13 +1,17 @@
%module javaupm_t6713 %module javaupm_t6713
%include "../upm.i" %include "../upm.i"
%include "../interfaces/javaupm_iCO2Sensor.i" %import "../interfaces/javaupm_iCO2Sensor.i"
%include "arrays_java.i"; %include "arrays_java.i";
%include "../java_buffer.i" %include "../java_buffer.i"
%include "cpointer.i" %include "cpointer.i"
%include "typemaps.i" %include "typemaps.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
%{ %{
#include "t6713.hpp" #include "t6713.hpp"
%} %}