mirror of
https://github.com/eclipse/upm.git
synced 2025-03-14 20:47:30 +03:00
Added bindings for iDistance sensors.
Signed-off-by: Serban Waltter <serban.waltter@rinftech.com>
This commit is contained in:
parent
2ac7778d2d
commit
852065f718
29
include/interfaces/CMakeLists.txt
Normal file
29
include/interfaces/CMakeLists.txt
Normal 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})
|
15
include/interfaces/new_interfaces.cxx
Normal file
15
include/interfaces/new_interfaces.cxx
Normal 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"
|
69
include/interfaces/new_interfaces.i
Normal file
69
include/interfaces/new_interfaces.i
Normal 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
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user