summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md119
1 files changed, 119 insertions, 0 deletions
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/
+```