Discovery of roboception sensors
This package contains tools for the discovery of Roboception devices (e.g. rc_visard and rc_cube) via GigE Vision.
rcdiscover: console application for discovering Roboception devices
rcdiscover-gui: graphical application for discovering Roboception devices and sending magic packets for resetting of parameters
Compiling on Linux
For compilation of
rcdiscover cmake is required.
rcdiscover-gui additionally requires WxWidgets.
To install this under Debian/Ubuntu:
sudo apt-get install cmake libwxgtk3.0-dev
It's required to do an out-of-source build:
mkdir build cd build cmake .. make
To build the gui as well, pass the CMAKE option
cmake -DBUILD_RCDISCOVER_GUI=ON ..
Afterwards, the binaries can be found in
Installation can either be done via
On Debian (and derivatives like Ubuntu) Debian packages can be built with
cmake -DCMAKE_INSTALL_PREFIX="/usr" .. 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
sysctl net.ipv4.conf.all.rp_filter sysctl net.ipv4.conf.default.rp_filter
Reverse path filtering can be turned off with
sudo sysctl -w net.ipv4.conf.all.rp_filter=0 sudo sysctl -w net.ipv4.conf.default.rp_filter=0
You might also need to disable it for your specific interface, e.g.:
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.
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
Install MinGW-w64 by e.g. downloading
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
Static libraries of WxWidgets are required for the rcdiscover-gui. To build them, the steps from here have been adapted slightly:
git clone https://github.com/wxWidgets/wxWidgets.git cd wxWidgets git checkout v3.1.0 # or other stable version cd build\msw mingw32-make -f makefile.gcc SHARED=0 BUILD=release -j4 CXXFLAGS="-mtune=generic -mno-abm" CFLAGS="-mtune=generic -mno-abm"
cd rcdiscover mkdir build-mingw32 cd build-mingw32 cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_RCDISCOVER_GUI=ON -DwxWidgets_ROOT_DIR=<path to WxWidgets root folder> .. 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
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:
cd build\msw mingw32-make -f makefile.gcc SHARED=0 BUILD=release -j4 CXXFLAGS="-mtune=generic -mno-abm" CFLAGS="-mtune=generic -mno-abm"
Finally, rebuild rcdiscover.