#include "libfreenect.h"
#include "platform.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <unistd.h>
#include <assert.h>
Go to the source code of this file.
|
int | freenect_close_device (freenect_device *dev) |
|
freenect_frame_mode | freenect_find_depth_mode (freenect_resolution res, freenect_depth_format fmt) |
|
freenect_frame_mode | freenect_find_video_mode (freenect_resolution res, freenect_video_format fmt) |
|
freenect_frame_mode | freenect_get_current_depth_mode (freenect_device *dev) |
|
freenect_frame_mode | freenect_get_current_video_mode (freenect_device *dev) |
|
freenect_frame_mode | freenect_get_depth_mode (int mode_num) |
|
int | freenect_get_depth_mode_count () |
|
void | freenect_get_mks_accel (freenect_raw_tilt_state *state, double *x, double *y, double *z) |
|
double | freenect_get_tilt_degs (freenect_raw_tilt_state *state) |
|
freenect_raw_tilt_state * | freenect_get_tilt_state (freenect_device *dev) |
|
freenect_tilt_status_code | freenect_get_tilt_status (freenect_raw_tilt_state *state) |
|
void * | freenect_get_user (freenect_device *dev) |
|
freenect_frame_mode | freenect_get_video_mode (int mode_num) |
|
int | freenect_get_video_mode_count () |
|
int | freenect_init (freenect_context **ctx, freenect_usb_context *usb_ctx) |
|
int | freenect_num_devices (freenect_context *ctx) |
|
int | freenect_open_device (freenect_context *ctx, freenect_device **dev, int index) |
|
int | freenect_open_device_by_camera_serial (freenect_context *ctx, freenect_device **dev, const char *camera_serial) |
|
int | freenect_process_events (freenect_context *ctx) |
|
int | freenect_process_events_timeout (freenect_context *ctx, struct timeval *timeout) |
|
void | freenect_select_subdevices (freenect_context *ctx, freenect_device_flags subdevs) |
|
int | freenect_set_depth_buffer (freenect_device *dev, void *buf) |
|
void | freenect_set_depth_callback (freenect_device *dev, freenect_depth_cb cb) |
|
int | freenect_set_depth_format (freenect_device *dev, freenect_depth_format fmt) |
|
int | freenect_set_depth_mode (freenect_device *dev, const freenect_frame_mode mode) |
|
int | freenect_set_led (freenect_device *dev, freenect_led_options option) |
|
void | freenect_set_log_callback (freenect_context *ctx, freenect_log_cb cb) |
|
void | freenect_set_log_level (freenect_context *ctx, freenect_loglevel level) |
|
int | freenect_set_tilt_degs (freenect_device *dev, double angle) |
|
void | freenect_set_user (freenect_device *dev, void *user) |
|
int | freenect_set_video_buffer (freenect_device *dev, void *buf) |
|
void | freenect_set_video_callback (freenect_device *dev, freenect_video_cb cb) |
|
int | freenect_set_video_format (freenect_device *dev, freenect_video_format fmt) |
|
int | freenect_set_video_mode (freenect_device *dev, const freenect_frame_mode mode) |
|
int | freenect_shutdown (freenect_context *ctx) |
|
int | freenect_start_depth (freenect_device *dev) |
|
int | freenect_start_video (freenect_device *dev) |
|
int | freenect_stop_depth (freenect_device *dev) |
|
int | freenect_stop_video (freenect_device *dev) |
|
int | freenect_supported_subdevices (void) |
|
int | freenect_update_tilt_state (freenect_device *dev) |
|
static int | get_data_size (FILE *fp) |
|
static char * | one_line (FILE *fp) |
|
static void | open_index () |
|
static int | parse_line (char *type, double *cur_time, unsigned int *timestamp, unsigned int *data_size, char **data) |
|
static char * | skip_line (char *str) |
|
Closes a device that is currently open
- Parameters
-
- Returns
- 0 on success
Definition at line 406 of file fakenect.c.
Convenience function to return a mode descriptor matching the specified resolution and depth camera pixel format, if one exists.
- Parameters
-
res | Resolution desired |
fmt | Pixel format desired |
- Returns
- A freenect_frame_mode that matches the arguments specified, if such a valid mode exists; otherwise, an invalid freenect_frame_mode.
Definition at line 284 of file fakenect.c.
Convenience function to return a mode descriptor matching the specified resolution and video camera pixel format, if one exists.
- Parameters
-
res | Resolution desired |
fmt | Pixel format desired |
- Returns
- A freenect_frame_mode that matches the arguments specified, if such a valid mode exists; otherwise, an invalid freenect_frame_mode.
Definition at line 260 of file fakenect.c.
Get the frame descriptor of the current depth mode for the specified freenect device.
- Parameters
-
dev | Which device to return the currently-set depth mode for |
- Returns
- A freenect_frame_mode describing the current depth mode of the specified device
Definition at line 303 of file fakenect.c.
Get the frame descriptor of the current video mode for the specified freenect device.
- Parameters
-
dev | Which device to return the currently-set video mode for |
- Returns
- A freenect_frame_mode describing the current video mode of the specified device
Definition at line 279 of file fakenect.c.
Get the frame descriptor of the nth supported depth mode for the depth camera.
- Parameters
-
mode_num | Which of the supported modes to return information about |
- Returns
- A freenect_frame_mode describing the nth depth mode
Definition at line 298 of file fakenect.c.
int freenect_get_depth_mode_count |
( |
| ) |
|
Get the number of depth camera modes supported by the driver. This includes both RGB and IR modes.
- Returns
- Number of depth modes supported by the driver
Definition at line 293 of file fakenect.c.
Get the axis-based gravity adjusted accelerometer state, as laid out via the accelerometer data sheet, which is available at
http://www.kionix.com/Product%20Sheets/KXSD9%20Product%20Brief.pdf
- Parameters
-
state | State to extract accelerometer data from |
x | Stores X-axis accelerometer state |
y | Stores Y-axis accelerometer state |
z | Stores Z-axis accelerometer state |
Definition at line 227 of file fakenect.c.
Return the tilt state, in degrees with respect to the horizon
- Parameters
-
state | The tilt state struct from a device |
- Returns
- Current degree of tilt of the device
Definition at line 211 of file fakenect.c.
Retrieve the tilt state from a device
- Parameters
-
dev | Device to retrieve tilt state from |
- Returns
- The tilt state struct of the device
Definition at line 217 of file fakenect.c.
Return the movement state of the tilt motor (moving, stopped, etc...)
- Parameters
-
state | Raw state struct to get the tilt status code from |
- Returns
- Status code of the tilt device. See freenect_tilt_status_code enum for more info.
Definition at line 222 of file fakenect.c.
Retrieve the pointer to user data from the device struct
- Parameters
-
dev | Device from which to get user data |
- Returns
- Pointer to user data
Definition at line 360 of file fakenect.c.
Get the frame descriptor of the nth supported video mode for the video camera.
- Parameters
-
mode_num | Which of the supported modes to return information about |
- Returns
- A freenect_frame_mode describing the nth video mode
Definition at line 274 of file fakenect.c.
int freenect_get_video_mode_count |
( |
| ) |
|
Get the number of video camera modes supported by the driver. This includes both RGB and IR modes.
- Returns
- Number of video modes supported by the driver
Definition at line 269 of file fakenect.c.
Initialize a freenect context and do any setup required for platform specific USB libraries.
- Parameters
-
ctx | Address of pointer to freenect context struct to allocate and initialize |
usb_ctx | USB context to initialize. Can be NULL if not using multiple contexts. |
- Returns
- 0 on success, < 0 on error
Definition at line 327 of file fakenect.c.
Return the number of kinect devices currently connected to the system
- Parameters
-
ctx | Context to access device count through |
- Returns
- Number of devices connected, < 0 on error
Definition at line 308 of file fakenect.c.
Opens a kinect device via a context. Index specifies the index of the device on the current state of the bus. Bus resets may cause indexes to shift.
- Parameters
-
ctx | Context to open device through |
dev | Device structure to assign opened device to |
index | Index of the device on the bus |
- Returns
- 0 on success, < 0 on error
Definition at line 314 of file fakenect.c.
Opens a kinect device (via a context) associated with a particular camera subdevice serial number. This function will fail if no device with a matching serial number is found.
- Parameters
-
ctx | Context to open device through |
dev | Device structure to assign opened device to |
camera_serial | Null-terminated ASCII string containing the serial number of the camera subdevice in the device to open |
- Returns
- 0 on success, < 0 on error
Definition at line 321 of file fakenect.c.
Calls the platform specific usb event processor
- Parameters
-
ctx | context to process events for |
- Returns
- 0 on success, other values on error, platform/library dependant
Definition at line 140 of file fakenect.c.
int freenect_process_events_timeout |
( |
freenect_context * |
ctx, |
|
|
struct timeval * |
timeout |
|
) |
| |
Calls the platform specific usb event processor until either an event occurs or the timeout parameter time has passed. If a zero timeval is passed, this function will handle any already-pending events, then return immediately.
- Parameters
-
ctx | Context to process events for |
timeout | Pointer to a timeval containing the maximum amount of time to block waiting for events, or zero for nonblocking mode |
- Returns
- 0 on success, other values on error, platform/library dependant
Definition at line 206 of file fakenect.c.
Set which subdevices any subsequent calls to freenect_open_device() should open. This will not affect devices which have already been opened. The default behavior, should you choose not to call this function at all, is to open all supported subdevices - motor, cameras, and audio, if supported on the platform.
- Parameters
-
ctx | Context to set future subdevice selection for |
subdevs | Flags representing the subdevices to select |
Definition at line 338 of file fakenect.c.
Set the buffer to store depth information to. Size of buffer is dependant on depth format. See FREENECT_DEPTH_*_SIZE defines for more information.
- Parameters
-
dev | Device to set depth buffer for. |
buf | Buffer to store depth information to. |
- Returns
- 0 on success, < 0 on error
Definition at line 343 of file fakenect.c.
Set callback for depth information received event
- Parameters
-
dev | Device to set callback for |
cb | Function pointer for processing depth information |
Definition at line 236 of file fakenect.c.
Sets the current depth mode for the specified device. The mode cannot be changed while streaming is active.
- Parameters
-
dev | Device for which to set the depth mode |
mode | Frame mode to set |
- Returns
- 0 on success, < 0 if error
Definition at line 253 of file fakenect.c.
Set the state of the LED. Uses blocking control message call to update device.
- Parameters
-
dev | Device to set the LED state |
option | LED state to set on device. See freenect_led_options enum. |
- Returns
- 0 on success, < 0 on error
Definition at line 414 of file fakenect.c.
Callback for log messages (i.e. for rerouting to a file instead of stdout)
- Parameters
-
ctx | context to set log callback for |
cb | callback function pointer |
Definition at line 400 of file fakenect.c.
Set the log level for the specified freenect context
- Parameters
-
ctx | context to set log level for |
level | log level to use (see freenect_loglevel enum) |
Definition at line 401 of file fakenect.c.
Set the tilt state of the device, in degrees with respect to the horizon. Uses blocking control message call to update device. Function return does not reflect state of device, device may still be moving to new position after the function returns. Use freenect_get_tilt_status() to find current movement state.
- Parameters
-
dev | Device to set tilt state |
angle | Angle the device should tilt to |
- Returns
- 0 on success, < 0 on error.
Definition at line 410 of file fakenect.c.
Set the device user data, for passing generic information into callbacks
- Parameters
-
dev | Device to attach user data to |
user | User data to attach |
Definition at line 355 of file fakenect.c.
Set the buffer to store depth information to. Size of buffer is dependant on video format. See FREENECT_VIDEO_*_SIZE defines for more information.
- Parameters
-
dev | Device to set video buffer for. |
buf | Buffer to store video information to. |
- Returns
- 0 on success, < 0 on error
Definition at line 349 of file fakenect.c.
Set callback for video information received event
- Parameters
-
dev | Device to set callback for |
cb | Function pointer for processing video information |
Definition at line 241 of file fakenect.c.
Sets the current video mode for the specified device. If the freenect_frame_mode specified is not one provided by the driver e.g. from freenect_get_video_mode() or freenect_find_video_mode() then behavior is undefined. The current video mode cannot be changed while streaming is active.
- Parameters
-
dev | Device for which to set the video mode |
mode | Frame mode to set |
- Returns
- 0 on success, < 0 if error
Definition at line 246 of file fakenect.c.
Closes the device if it is open, and frees the context
- Parameters
-
ctx | freenect context to close/free |
- Returns
- 0 on success
Definition at line 402 of file fakenect.c.
Start the depth information stream for a device.
- Parameters
-
dev | Device to start depth information stream for. |
- Returns
- 0 on success, < 0 on error
Definition at line 365 of file fakenect.c.
Start the video information stream for a device.
- Parameters
-
dev | Device to start video information stream for. |
- Returns
- 0 on success, < 0 on error
Definition at line 371 of file fakenect.c.
Stop the depth information stream for a device
- Parameters
-
dev | Device to stop depth information stream on. |
- Returns
- 0 on success, < 0 on error
Definition at line 377 of file fakenect.c.
Stop the video information stream for a device
- Parameters
-
dev | Device to stop video information stream on. |
- Returns
- 0 on success, < 0 on error
Definition at line 383 of file fakenect.c.
int freenect_supported_subdevices |
( |
void |
| ) |
|
Answer which subdevices this library supports. This is most useful for wrappers trying to determine whether the underlying library was built with audio support or not, so the wrapper can avoid calling functions that do not exist.
- Returns
- Flags representing the subdevices that the library supports opening (see freenect_device_flags)
Definition at line 333 of file fakenect.c.
Updates the accelerometer state using a blocking control message call.
- Parameters
-
dev | Device to get accelerometer data from |
- Returns
- 0 on success, < 0 on error. Accelerometer data stored to device struct.
Definition at line 418 of file fakenect.c.
static int get_data_size |
( |
FILE * |
fp | ) |
|
|
static |
static char* one_line |
( |
FILE * |
fp | ) |
|
|
static |
static void open_index |
( |
| ) |
|
|
static |
static int parse_line |
( |
char * |
type, |
|
|
double * |
cur_time, |
|
|
unsigned int * |
timestamp, |
|
|
unsigned int * |
data_size, |
|
|
char ** |
data |
|
) |
| |
|
static |
static char* skip_line |
( |
char * |
str | ) |
|
|
static |
void* depth_buffer = NULL |
|
static |
double playback_prev_time = 0. |
|
static |
double record_prev_time = 0. |
|
static |