Discovery of roboception sensors

This package contains tools for the discovery of Roboception devices (e.g. rc_visard and rc_cube) via GigE Vision.

Compiling on Linux

For compilation of rcdiscover cmake is required.

rcdiscover-gui additionally requires WxWidgets.

To install this under Debian/Ubuntu:

1 sudo apt-get install cmake libwxgtk3.0-dev

Building rcdiscover

It's required to do an out-of-source build:

1 mkdir build
2 cd build
3 cmake ..
4 make

To build the gui as well, pass the CMAKE option BUILD_RCDISCOVER_GUI:

1 cmake -DBUILD_RCDISCOVER_GUI=ON ..

Afterwards, the binaries can be found in build/tools/.

Installation

Installation can either be done via

1 make install

On Debian (and derivatives like Ubuntu) Debian packages can be built with

1 cmake -DCMAKE_INSTALL_PREFIX="/usr" ..
2 make package

which can be installed with e.g. sudo dpkg -i rcdiscover*.deb

Discovering sensors in other subnets

Most Linux distributions have reverse path filtering turned on, which restricts discoverability of sensor to the same subnet as the host.

Check this with

1 sysctl net.ipv4.conf.all.rp_filter
2 sysctl net.ipv4.conf.default.rp_filter

Reverse path filtering can be turned off with

1 sudo sysctl -w net.ipv4.conf.all.rp_filter=0
2 sudo sysctl -w net.ipv4.conf.default.rp_filter=0

You might also need to disable it for your specific interface, e.g.:

1 sudo sysctl -w net.ipv4.conf.eth0.rp_filter=0

Note: These settings are not persistent across reboots! To persist them you can add a file in /etc/sysctl.d/ on most distributions. See debian/50-rcdiscover-rpfilter.conf for an example.

If you built a Debian package with make package, it will automatically ask you if you want to disable reverse path filtering at package installation.

Compiling on Windows

Using MinGW-w64

Install MinGW-w64 by e.g. downloading mingw-w64-install.exe from here. During setup, choose i686 if you want to build 32 bit binaries, or x84_64 for 64 bit. For Threads, select win32. The rest can stay default.

Finally, add the bin directory of MinGW to your PATH variable. For 32 bit installation, it is normally found in C:\Program Files (x86)\mingw-w64\i686-7.1.0-win32-dwarf-rt_v5-rev0\mingw64\bin, for 64 bit it is C:\Program Files\mingw-w64\x86_64-7.1.0-win32-seh-rt_v5-rev0\mingw64\bin.

WxWidgets

Static libraries of WxWidgets are required for the rcdiscover-gui. To build them, the steps from here have been adapted slightly:

1 git clone https://github.com/wxWidgets/wxWidgets.git
2 cd wxWidgets
3 git checkout v3.1.0 # or other stable version
4 cd build\msw
5 mingw32-make -f makefile.gcc SHARED=0 BUILD=release -j4 CXXFLAGS="-mtune=generic -mno-abm" CFLAGS="-mtune=generic -mno-abm"

rcdiscover

1 cd rcdiscover
2 mkdir build-mingw32
3 cd build-mingw32
4 cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_RCDISCOVER_GUI=ON -DwxWidgets_ROOT_DIR=<path to WxWidgets root folder> ..
5 mingw32-make

For the 32 bit build you may encounter a 0xc000007b error when running rcdiscover-gui.exe. This seems to be caused by a bug in WxWidgets build. As a workaround, rename rcdefs.h in lib\gcc_lib\mswu\wx\msw in your WxWidgets root directory to something different (e.g., rcdefs.h_old). Then, rerun above WxWidgets build command:

1 cd build\msw
2 mingw32-make -f makefile.gcc SHARED=0 BUILD=release -j4 CXXFLAGS="-mtune=generic -mno-abm" CFLAGS="-mtune=generic -mno-abm"

Finally, rebuild rcdiscover.



rcdiscover
Author(s): Heiko Hirschmueller , Raphael Schaller
autogenerated on Sun Apr 18 2021 02:16:32