From 28d5505edae76ed91708a895815eecf542c23060 Mon Sep 17 00:00:00 2001 From: Niklas Halle Date: Thu, 3 Dec 2020 17:37:01 +0100 Subject: inital, matleap api based on https://github.com/tomh4/matleap --- README.md | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..6589cf5 --- /dev/null +++ b/README.md @@ -0,0 +1,119 @@ +# Matleap: MATLAB Interface to the Leap Motion Controller + +This MATLAB mex-file will allow you to get data from a Leap Motion +Controller device. + +In order to build the mex-file, you need to have a C++ compiler +installed, and you need to setup Matlab for building mex-files. + +For more information on setting up Matlab for building mex-files, see +[the Matlab documentation](http://www.mathworks.com/help/matlab/ref/mex.html). + +## Building + +* Install the Leap SDK +* Give the matleap build module access the Leap SDK: + * If you are running **Windows**, copy the LeapSDK directory to the + directory that contains the matleap code. + * If you are running **OS/X** or **Linux**, you can either copy the + directory, or better still, create a symbolic link to the LeapSDK + directory and place it in the same directory as the matleap code, + for example: + +``` + $ ln -s ~/Software/Leap_Developer_Kit/LeapSDK/ ~/matleap/LeapSDK +``` + +* Build the mex file from within MATLAB + +``` + >> build +``` + +## Testing + +``` + >> test_matleap +``` + +## Examples +``` + >> matleap_version + ans = + 0 4 + >> f=matleap_frame + f = + id: 263725 + timestamp: 8.1430e+09 + pointables: [1x5 struct] + >> f.pointables(1).position + ans = + 8.9769 220.3197 -5.8013 + >> f.pointables(1).velocity + ans = + -6.7446 -4.2978 -13.0157 + >> f.pointables(1).direction + ans = + 0.2089 0.3257 -0.9221 + + >> test_matleap + matleap version 0.4 + frame id 309984 + frame timestamp 8767122812 + frame pointables 5 + pointable 1 + id 6 + position -18.529303 279.245270 -9.088086 + velocity -19.887272 -16.154881 -2.646765 + direction 0.098189 0.300899 -0.948588 + pointable 2 + id 7 + ... + pointable 5 + id 10 + position 34.367825 264.370300 41.408348 + velocity -3.097427 13.046532 9.727820 + direction 0.558435 0.059477 -0.827414 + 89 frames + 1.000254 seconds + 88.977400 fps +``` + +## Troubleshooting + +### General + +* Frames are returned with invalid frame data: **This happens when the + motion controller driver is not installed.** + +* Motion controller has slow framerate: **The driver will go into standby + mode if no movement is detected for a long period of time.** + +### OS/X + +* "libLeap.dylib can't load": **The Leap dynamic link library must be made + available to the mex-file executable either by changing your path, + creating a symbolic link to the library, or by copying the library to the + same directory as the mex-file.** For example: + +``` + $ cp '/Applications/Leap Motion.app/Contents/MacOS/libLeap.dylib' path_to_matleap +``` + +### Windows + +* "Invalid MEX-file '...\matleap.mexw64/32': The specified module could not + be found.": **Leap.dll must be made available to the mex-file executeable, + either by adding it to your path or copying it to the same directory as + the mex-file. The leap DLL is located in the LeapSDK\lib\x86 directory on + 32 bit systems and in the LeapSDK\lib\x64 directory on 64 bit systems.** + +### Linux + +* "Invalid MEX-file ... libLeap.so: cannot open shared object file: No such + file or directory": **The leap shared library must be made available to the + mex-file executable.** For example: + +``` + # ln -s /usr/lib/Leap/libLeap.so /usr/lib/ +``` -- cgit v1.2.3-54-g00ecf