Experimental direct bindings of yarp to Matlab without using Java.
C++ Matlab Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmake
matlab
CMakeLists.txt
README.md

README.md

yarp-matlab-bindings

Experimental direct bindings of yarp to Matlab without using Java.

Rationale

While YARP can already be called from MATLAB using JAVA bindings ( http://www.yarp.it/yarp_swig.html#yarp_swig_matlab ), in this repo we host code for the direct bindings between MATLAB and the C++ YARP interfaces, generated by the experimental SWIG fork with MATLAB support developed by the CasADi project.

Installation

Make sure that your YARP installation can found by CMake, either installing YARP in the default location or by defining the YARP_DIR enviromental variable.

Then run the usual cmake + compile + install for this repo. Then add the install location to the matlab path.

Depending on the latest time in which this bindings have been regenerated, the latest YARP version could be compatible with them or not. If you have problem in compilation, you can try to compile the bindings yourself following the instruction in the next section.

Regenerate the matlab bindings (not necessary to use the bindings!!)

If you want to regenerate the bindings (for example because yarp has been updated and you want to generate bindings for the new version of yarp) you have to install the fork of swig that supports matlab, following the instructions at https://github.com/casadi/casadi/wiki/matlab (just follow the first 4 points in the guide, you don't need to actually install casadi) . After that, you have to compile this project enabling the YARP_GENERATE_MATLAB CMake option. As the bindings are generated using the yarp.i from the YARP source repository, you also need to specify the YARP source directory setting the YARP_SOURCE_DIR CMake variable.

This will generate the bindings in the source directory of the repo, so you can commit the generated sources to the repo. We try to make sure that the master branch of this repo stays in sync with YARP master branch, while the devel branch should remain in sync with the YARP devel branch. However, this autogeneration happens manually, so it is possible that this repo and YARP go out of sync.