forked from berfenger/linect
An Open Source Kinect Linux module driver compatible with Video4Linux 2
License
Thenarden/linect
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Linect: A MS Kinect Linux Driver ================================== Note : Driver still in development. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Author: Arturo Casal Driver based on the stk11xx driver by Nicolas VIVIEN, and the libfreenect library by OpenKinect Team. --------------------------------------------------------------------------------------------------- Table of contents : 1. Requirements 2. Compilation 3. Usage 4.1 Option "freemotor" 4.2 Option "freeled" 4. Motor and led control 5. Test v4l2 cameras 6. License --------------------------------------------------------------------------------------------------- 1. Requirements Kernel 2.6.21 or higher Kinect device model 1414 --------------------------------------------------------------------------------------------------- 2. Kernel module Compilation To build the kernel module : $ make To install the kernel module : # make install Clean building : $ make clean --------------------------------------------------------------------------------------------------- 3. Usage 3.1 Option "freemotor" module (boolean) default: freemotor=0 $ modprobe linect freemotor=1 If freemotor=0, the driver will reset the motor position to its default on startup (middle). If freemotor=1, the driver won't reset the motor position. 3.2 Option "freeled" module default: freeled=0 $ modprobe linect freeled=1 If freeled=0, the driver will use the led to indicate the device status. If freeled=1, the driver won't use the led. --------------------------------------------------------------------------------------------------- 4. Motor and led control Each Kinect device connected will have a directory at /proc/linect/X/, where X is the device ID. There you will find: * "led": set led status (char and raw entry) Values: 0=off, 1=green, 2=red, 3=yellow, 4=blink yellow, 5=blink green, 6=blink red yellow Usage: bash => $ echo 2 > /proc/linect/1/led (set led red) c => char val = 2; df = fopen("/proc/linect/1/led", "a"); fwrite(&val, 1, 1, df); * "motor_char": set motor degrees (char entry) Values: [0, 62], 0=down, 31=middle, 62=up. Usage: bash => $ echo 47 > /proc/linect/1/motor_char (set motor to +16º) * "motor_raw": set motor degrees (raw entry) Values: [0, 62], 0=down, 31=middle, 62=up. Usage: c => char val = 2; df = fopen("/proc/linect/1/motor_raw", "a"); fwrite(&val, 1, 1, df); //(set motor to -29º) * "accel_char": get accelerometer info (char entry) Values: [0, 62], 0=down, 31=middle, 62=up. Usage: bash => $ cat /proc/linect/1/accel_info * "accel_raw": get accelerometer info (raw entry) Values: [0, 62], 0=down, 31=middle, 62=up. Usage: c => short xyz[3]; //(2 bytes each) df = fopen("/proc/linect/1/accel_raw", "r"); fread(&xyz, 2, 3, df); printf("Accel values x=%f y=%f z=%f\n", (double)xyz[0]/(9.80665*819), (double)xyz[1]/(9.80665*819), (double)xyz[2]/(9.80665*819)); To convert the accelerometer values to device axis values : double dvalue = value / (9.80665*819); --------------------------------------------------------------------------------------------------- 5. Test v4l2 cameras To use mplayer: VGA Color Camera $ mplayer tv:// -tv driver=v4l2:width=640:height=480:outfmt=rgb24:device=/dev/video0 Depth Color Camera (synthetic) $ mplayer tv:// -tv driver=v4l2:width=640:height=480:outfmt=rgb24:device=/dev/video1 --------------------------------------------------------------------------------------------------- 6. License The linect kernel module is distributed under the GPL licence.
About
An Open Source Kinect Linux module driver compatible with Video4Linux 2
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 99.6%
- Shell 0.4%