Added bindings for iDistance sensors.

Signed-off-by: Serban Waltter <serban.waltter@rinftech.com>
This commit is contained in:
Serban Waltter 2018-06-21 16:36:12 +03:00
parent 2ac7778d2d
commit 852065f718
13 changed files with 158 additions and 0 deletions

View File

@ -0,0 +1,29 @@
set (libname "new_interfaces")
set (libdescription "CXX Interface Library")
set (module_src ${libname}.cxx)
upm_module_init()
# Add a PUBLIC include directory to the CMAKE src dir
target_include_directories (${libname} PUBLIC ${CMAKE_SOURCE_DIR}/src)
# Don't add the hpp files with upm_module_init, this allows
# them to be installed separately
set (module_hpp iClock.hpp
iCollision.hpp
iDistance.hpp
iDistanceInterrupter.hpp
iEC.hpp
iEmg.hpp
iHallEffect.hpp
iHeartRate.hpp
iHumidity.hpp
iLight.hpp
iLineFinder.hpp
iMoisture.hpp
iMotion.hpp
iPressure.hpp
iTemperature.hpp
)
# Install interfaces headers a bit differently
install (FILES ${module_hpp} DESTINATION include/upm/interfaces COMPONENT ${libname})

View File

@ -0,0 +1,15 @@
#include "iClock.hpp"
#include "iCollision.hpp"
#include "iDistance.hpp"
#include "iDistanceInterrupter.hpp"
#include "iEC.hpp"
#include "iEmg.hpp"
#include "iHallEffect.hpp"
#include "iHeartRate.hpp"
#include "iHumidity.hpp"
#include "iLight.hpp"
#include "iLineFinder.hpp"
#include "iMoisture.hpp"
#include "iMotion.hpp"
#include "iPressure.hpp"
#include "iTemperature.hpp"

View File

@ -0,0 +1,69 @@
#ifdef SWIGPYTHON
%module pyupm_new_interfaces
#else
%module new_interfaces
#endif
#ifdef SWIGJAVA
%include <swiginterface.i>
%interface_impl (upm::iClock);
%interface_impl (upm::iCollision);
%interface_impl (upm::iDistance);
%interface_impl (upm::iDistanceInterrupter);
%interface_impl (upm::iEC);
%interface_impl (upm::iHallEffect);
%interface_impl (upm::iHeartRate);
%interface_impl (upm::iHumidity);
%interface_impl (upm::iLight);
%interface_impl (upm::iLineFinder);
%interface_impl (upm::iMoisture);
%interface_impl (upm::iMotion);
%interface_impl (upm::iPressure);
%interface_impl (upm::iTemperature);
#endif
%{
#include "iClock.hpp"
#include "iCollision.hpp"
#include "iDistance.hpp"
#include "iDistanceInterrupter.hpp"
#include "iEC.hpp"
#include "iHallEffect.hpp"
#include "iHeartRate.hpp"
#include "iHumidity.hpp"
#include "iLight.hpp"
#include "iLineFinder.hpp"
#include "iMoisture.hpp"
#include "iMotion.hpp"
#include "iPressure.hpp"
#include "iTemperature.hpp"
%}
%include "iClock.hpp"
%include "iCollision.hpp"
%include "iDistance.hpp"
%include "iDistanceInterrupter.hpp"
%include "iEC.hpp"
%include "iHallEffect.hpp"
%include "iHeartRate.hpp"
%include "iHumidity.hpp"
%include "iLight.hpp"
%include "iLineFinder.hpp"
%include "iMoisture.hpp"
%include "iMotion.hpp"
%include "iPressure.hpp"
%include "iTemperature.hpp"
/* Java-specific SWIG syntax */
#ifdef SWIGJAVA
%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_interfaces");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
}
}
%}
#endif

View File

@ -4,5 +4,6 @@ upm_mixed_module_init (NAME hcsr04
C_SRC hcsr04.c
CPP_HDR hcsr04.hpp
CPP_SRC hcsr04.cxx
IFACE_HDR iDistance.hpp
CPP_WRAPS_C
REQUIRES mraa utilities-c)

View File

@ -1,7 +1,17 @@
#ifdef SWIGPYTHON
%module (package="pyupm_new_interfaces") hcsr04
#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_hcsr04)
#endif
/* END Java syntax */

View File

@ -2,4 +2,5 @@ upm_mixed_module_init (NAME lidarlitev3
DESCRIPTION "Optical Distance Measurement Sensor"
CPP_HDR lidarlitev3.hpp
CPP_SRC lidarlitev3.cxx
IFACE_HDR iDistance.hpp
REQUIRES mraa)

View File

@ -1,7 +1,17 @@
#ifdef SWIGPYTHON
%module (package="pyupm_new_interfaces") lidarlitev3
#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_lidarlitev3)
#endif
/* END Java syntax */

View File

@ -2,4 +2,5 @@ set (libname "maxsonarez")
set (libdescription "MaxSonar EZ Family of Ultrasonic Rangers")
set (module_src ${libname}.cxx)
set (module_hpp ${libname}.hpp)
set (module_iface iDistance.hpp)
upm_module_init(mraa)

View File

@ -4,6 +4,7 @@ upm_mixed_module_init (NAME mb704x
C_SRC mb704x.c
CPP_HDR mb704x.hpp
CPP_SRC mb704x.cxx
IFACE_HDR iDistance.hpp
FTI_SRC mb704x_fti.c
CPP_WRAPS_C
REQUIRES mraa utilities-c)

View File

@ -1,7 +1,17 @@
#ifdef SWIGPYTHON
%module (package="pyupm_new_interfaces") mb704x
#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_mb704x)
#endif
/* END Java syntax */

View File

@ -2,4 +2,5 @@ set (libname "rfr359f")
set (libdescription "Infrared Distance Interrupter")
set (module_src ${libname}.cxx)
set (module_hpp ${libname}.hpp)
set (module_iface iDistance.hpp)
upm_module_init(mraa)

View File

@ -4,6 +4,7 @@ upm_mixed_module_init (NAME urm37
C_SRC urm37.c
CPP_HDR urm37.hpp
CPP_SRC urm37.cxx
IFACE_HDR iDistance.hpp
FTI_SRC urm37_fti.c
CPP_WRAPS_C
REQUIRES mraa utilities-c)

View File

@ -1,7 +1,16 @@
#ifdef SWIGPYTHON
%module (package="pyupm_new_interfaces") urm37
#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_urm37)
#endif
/* END Java syntax */