#include <stdint.h>
#include <sys/time.h>
Go to the source code of this file.
Classes | |
struct | freenect_device_attributes |
struct | freenect_frame_mode |
struct | freenect_raw_tilt_state |
Data from the tilt motor and accelerometer. More... | |
Macros | |
#define | FREENECT_COUNTS_PER_G 819 |
#define | FREENECT_DEPTH_MM_MAX_VALUE 10000 |
Maximum value that a uint16_t pixel will take on in the buffer of any of the FREENECT_DEPTH_MM or FREENECT_DEPTH_REGISTERED frame callbacks. More... | |
#define | FREENECT_DEPTH_MM_NO_VALUE 0 |
Value indicating that this pixel has no data, when using FREENECT_DEPTH_MM or FREENECT_DEPTH_REGISTERED depth modes. More... | |
#define | FREENECT_DEPTH_RAW_MAX_VALUE 2048 |
Maximum value that a uint16_t pixel will take on in the buffer of any of the FREENECT_DEPTH_11BIT, FREENECT_DEPTH_10BIT, FREENECT_DEPTH_11BIT_PACKED, or FREENECT_DEPTH_10BIT_PACKED frame callbacks. More... | |
#define | FREENECT_DEPTH_RAW_NO_VALUE 2047 |
Value indicating that this pixel has no data, when using FREENECT_DEPTH_11BIT, FREENECT_DEPTH_10BIT, FREENECT_DEPTH_11BIT_PACKED, or FREENECT_DEPTH_10BIT_PACKED. More... | |
#define | FREENECTAPI |
If Win32, export all functions for DLL usage. More... | |
Typedefs | |
typedef void(* | freenect_chunk_cb) (void *buffer, void *pkt_data, int pkt_num, int datalen, void *user_data) |
Typedef for stream chunk processing callbacks. More... | |
typedef struct _freenect_context | freenect_context |
typedef void(* | freenect_depth_cb) (freenect_device *dev, void *depth, uint32_t timestamp) |
Typedef for depth image received event callbacks. More... | |
typedef struct _freenect_device | freenect_device |
typedef void(* | freenect_log_cb) (freenect_context *dev, freenect_loglevel level, const char *msg) |
Typedef for logging callback functions. More... | |
typedef void | freenect_usb_context |
typedef void(* | freenect_video_cb) (freenect_device *dev, void *video, uint32_t timestamp) |
Typedef for video image received event callbacks. More... | |
#define FREENECT_COUNTS_PER_G 819 |
Ticks per G for accelerometer as set per http://www.kionix.com/Product%20Sheets/KXSD9%20Product%20Brief.pdf
Definition at line 42 of file libfreenect.h.
#define FREENECT_DEPTH_MM_MAX_VALUE 10000 |
Maximum value that a uint16_t pixel will take on in the buffer of any of the FREENECT_DEPTH_MM or FREENECT_DEPTH_REGISTERED frame callbacks.
Definition at line 45 of file libfreenect.h.
#define FREENECT_DEPTH_MM_NO_VALUE 0 |
Value indicating that this pixel has no data, when using FREENECT_DEPTH_MM or FREENECT_DEPTH_REGISTERED depth modes.
Definition at line 47 of file libfreenect.h.
#define FREENECT_DEPTH_RAW_MAX_VALUE 2048 |
Maximum value that a uint16_t pixel will take on in the buffer of any of the FREENECT_DEPTH_11BIT, FREENECT_DEPTH_10BIT, FREENECT_DEPTH_11BIT_PACKED, or FREENECT_DEPTH_10BIT_PACKED frame callbacks.
Definition at line 49 of file libfreenect.h.
#define FREENECT_DEPTH_RAW_NO_VALUE 2047 |
Value indicating that this pixel has no data, when using FREENECT_DEPTH_11BIT, FREENECT_DEPTH_10BIT, FREENECT_DEPTH_11BIT_PACKED, or FREENECT_DEPTH_10BIT_PACKED.
Definition at line 51 of file libfreenect.h.
#define FREENECTAPI |
If Win32, export all functions for DLL usage.
DLLExport information for windows, set to nothing on other platforms
Definition at line 187 of file libfreenect.h.
typedef void(* freenect_chunk_cb) (void *buffer, void *pkt_data, int pkt_num, int datalen, void *user_data) |
Typedef for stream chunk processing callbacks.
Definition at line 389 of file libfreenect.h.
typedef struct _freenect_context freenect_context |
Holds information about the usb context.
Definition at line 176 of file libfreenect.h.
typedef void(* freenect_depth_cb) (freenect_device *dev, void *depth, uint32_t timestamp) |
Typedef for depth image received event callbacks.
Definition at line 385 of file libfreenect.h.
typedef struct _freenect_device freenect_device |
Holds device information.
Definition at line 179 of file libfreenect.h.
typedef void(* freenect_log_cb) (freenect_context *dev, freenect_loglevel level, const char *msg) |
Typedef for logging callback functions.
Definition at line 232 of file libfreenect.h.
typedef void freenect_usb_context |
Holds libusb-1.0 context
Definition at line 182 of file libfreenect.h.
typedef void(* freenect_video_cb) (freenect_device *dev, void *video, uint32_t timestamp) |
Typedef for video image received event callbacks.
Definition at line 387 of file libfreenect.h.
Enumeration of depth frame states See http://openkinect.org/wiki/Protocol_Documentation#RGB_Camera for more information.
Definition at line 99 of file libfreenect.h.
Flags representing devices to open when freenect_open_device() is called. In particular, this allows libfreenect to grab only a subset of the devices in the Kinect, so you could (for instance) use libfreenect to handle audio and motor support while letting OpenNI have access to the cameras. If a device is not supported on a particular platform, its flag will be ignored.
Enumerator | |
---|---|
FREENECT_DEVICE_MOTOR | |
FREENECT_DEVICE_CAMERA | |
FREENECT_DEVICE_AUDIO |
Definition at line 58 of file libfreenect.h.
enum freenect_flag |
Enumeration of flags to toggle features with freenect_set_flag()
Enumerator | |
---|---|
FREENECT_AUTO_EXPOSURE | |
FREENECT_AUTO_WHITE_BALANCE | |
FREENECT_RAW_COLOR | |
FREENECT_MIRROR_DEPTH | |
FREENECT_MIRROR_VIDEO |
Definition at line 110 of file libfreenect.h.
enum freenect_flag_value |
Possible values for setting each freenect_flag
Enumerator | |
---|---|
FREENECT_OFF | |
FREENECT_ON |
Definition at line 121 of file libfreenect.h.
enum freenect_led_options |
Enumeration of LED states See http://openkinect.org/wiki/Protocol_Documentation#Setting_LED for more information.
Enumerator | |
---|---|
LED_OFF |
Turn LED off |
LED_GREEN |
Turn LED to Green |
LED_RED |
Turn LED to Red |
LED_YELLOW |
Turn LED to Yellow |
LED_BLINK_GREEN |
Make LED blink Green |
LED_BLINK_RED_YELLOW |
Make LED blink Red/Yellow |
Definition at line 148 of file libfreenect.h.
enum freenect_loglevel |
Enumeration of message logging levels.
Definition at line 200 of file libfreenect.h.
enum freenect_resolution |
Enumeration of available resolutions. Not all available resolutions are actually supported for all video formats. Frame modes may not perfectly match resolutions. For instance, FREENECT_RESOLUTION_MEDIUM is 640x488 for the IR camera.
Definition at line 77 of file libfreenect.h.
Enumeration of tilt motor status.
Enumerator | |
---|---|
TILT_STATUS_STOPPED |
Tilt motor is stopped |
TILT_STATUS_LIMIT |
Tilt motor has reached movement limit |
TILT_STATUS_MOVING |
Tilt motor is currently moving to new position |
Definition at line 160 of file libfreenect.h.
Enumeration of video frame information states. See http://openkinect.org/wiki/Protocol_Documentation#RGB_Camera for more information.
Definition at line 86 of file libfreenect.h.
FREENECTAPI int freenect_close_device | ( | freenect_device * | dev | ) |
Closes a device that is currently open
dev | Device to close |
Definition at line 406 of file fakenect.c.
FREENECTAPI freenect_device_flags freenect_enabled_subdevices | ( | freenect_context * | ctx | ) |
Returns the devices that are enabled after calls to freenect_open_device() On newer kinects the motor and audio are automatically disabled for now
ctx | Context to set future subdevice selection for |
FREENECTAPI freenect_frame_mode freenect_find_depth_mode | ( | freenect_resolution | res, |
freenect_depth_format | fmt | ||
) |
Convenience function to return a mode descriptor matching the specified resolution and depth camera pixel format, if one exists.
res | Resolution desired |
fmt | Pixel format desired |
Definition at line 284 of file fakenect.c.
FREENECTAPI freenect_frame_mode freenect_find_video_mode | ( | freenect_resolution | res, |
freenect_video_format | fmt | ||
) |
Convenience function to return a mode descriptor matching the specified resolution and video camera pixel format, if one exists.
res | Resolution desired |
fmt | Pixel format desired |
Definition at line 260 of file fakenect.c.
FREENECTAPI void freenect_free_device_attributes | ( | struct freenect_device_attributes * | attribute_list | ) |
Free the linked list produced by freenect_list_device_attributes().
attribute_list | Linked list of attributes to free. |
FREENECTAPI freenect_frame_mode freenect_get_current_depth_mode | ( | freenect_device * | dev | ) |
Get the frame descriptor of the current depth mode for the specified freenect device.
dev | Which device to return the currently-set depth mode for |
Definition at line 303 of file fakenect.c.
FREENECTAPI freenect_frame_mode freenect_get_current_video_mode | ( | freenect_device * | dev | ) |
Get the frame descriptor of the current video mode for the specified freenect device.
dev | Which device to return the currently-set video mode for |
Definition at line 279 of file fakenect.c.
FREENECTAPI freenect_frame_mode freenect_get_depth_mode | ( | int | mode_num | ) |
Get the frame descriptor of the nth supported depth mode for the depth camera.
mode_num | Which of the supported modes to return information about |
Definition at line 298 of file fakenect.c.
FREENECTAPI int freenect_get_depth_mode_count | ( | ) |
Get the number of depth camera modes supported by the driver. This includes both RGB and IR modes.
Definition at line 293 of file fakenect.c.
FREENECTAPI void freenect_get_mks_accel | ( | freenect_raw_tilt_state * | state, |
double * | x, | ||
double * | y, | ||
double * | z | ||
) |
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
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.
FREENECTAPI double freenect_get_tilt_degs | ( | freenect_raw_tilt_state * | state | ) |
Return the tilt state, in degrees with respect to the horizon
state | The tilt state struct from a device |
Definition at line 211 of file fakenect.c.
FREENECTAPI freenect_raw_tilt_state* freenect_get_tilt_state | ( | freenect_device * | dev | ) |
Retrieve the tilt state from a device
dev | Device to retrieve tilt state from |
Definition at line 217 of file fakenect.c.
FREENECTAPI freenect_tilt_status_code freenect_get_tilt_status | ( | freenect_raw_tilt_state * | state | ) |
Return the movement state of the tilt motor (moving, stopped, etc...)
state | Raw state struct to get the tilt status code from |
Definition at line 222 of file fakenect.c.
FREENECTAPI void* freenect_get_user | ( | freenect_device * | dev | ) |
Retrieve the pointer to user data from the device struct
dev | Device from which to get user data |
Definition at line 360 of file fakenect.c.
FREENECTAPI freenect_frame_mode freenect_get_video_mode | ( | int | mode_num | ) |
Get the frame descriptor of the nth supported video mode for the video camera.
mode_num | Which of the supported modes to return information about |
Definition at line 274 of file fakenect.c.
FREENECTAPI int freenect_get_video_mode_count | ( | ) |
Get the number of video camera modes supported by the driver. This includes both RGB and IR modes.
Definition at line 269 of file fakenect.c.
FREENECTAPI int freenect_init | ( | freenect_context ** | ctx, |
freenect_usb_context * | usb_ctx | ||
) |
Initialize a freenect context and do any setup required for platform specific USB libraries.
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. |
Definition at line 327 of file fakenect.c.
FREENECTAPI int freenect_list_device_attributes | ( | freenect_context * | ctx, |
struct freenect_device_attributes ** | attribute_list | ||
) |
Scans for kinect devices and produces a linked list of their attributes (namely, serial numbers), returning the number of devices.
ctx | Context to scan for kinect devices with |
attribute_list | Pointer to where this function will store the resultant linked list |
FREENECTAPI int freenect_num_devices | ( | freenect_context * | ctx | ) |
Return the number of kinect devices currently connected to the system
ctx | Context to access device count through |
Definition at line 308 of file fakenect.c.
FREENECTAPI int freenect_open_device | ( | freenect_context * | ctx, |
freenect_device ** | dev, | ||
int | index | ||
) |
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.
ctx | Context to open device through |
dev | Device structure to assign opened device to |
index | Index of the device on the bus |
Definition at line 314 of file fakenect.c.
FREENECTAPI int freenect_open_device_by_camera_serial | ( | freenect_context * | ctx, |
freenect_device ** | dev, | ||
const char * | camera_serial | ||
) |
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.
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 |
Definition at line 321 of file fakenect.c.
FREENECTAPI int freenect_process_events | ( | freenect_context * | ctx | ) |
Calls the platform specific usb event processor
ctx | context to process events for |
Definition at line 140 of file fakenect.c.
FREENECTAPI 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.
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 |
Definition at line 206 of file fakenect.c.
FREENECTAPI void freenect_select_subdevices | ( | freenect_context * | ctx, |
freenect_device_flags | subdevs | ||
) |
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.
ctx | Context to set future subdevice selection for |
subdevs | Flags representing the subdevices to select |
Definition at line 338 of file fakenect.c.
FREENECTAPI int freenect_set_depth_buffer | ( | freenect_device * | dev, |
void * | buf | ||
) |
Set the buffer to store depth information to. Size of buffer is dependant on depth format. See FREENECT_DEPTH_*_SIZE defines for more information.
dev | Device to set depth buffer for. |
buf | Buffer to store depth information to. |
Definition at line 343 of file fakenect.c.
FREENECTAPI void freenect_set_depth_callback | ( | freenect_device * | dev, |
freenect_depth_cb | cb | ||
) |
Set callback for depth information received event
dev | Device to set callback for |
cb | Function pointer for processing depth information |
Definition at line 236 of file fakenect.c.
FREENECTAPI void freenect_set_depth_chunk_callback | ( | freenect_device * | dev, |
freenect_chunk_cb | cb | ||
) |
FREENECTAPI int freenect_set_depth_mode | ( | freenect_device * | dev, |
const freenect_frame_mode | mode | ||
) |
Sets the current depth mode for the specified device. The mode cannot be changed while streaming is active.
dev | Device for which to set the depth mode |
mode | Frame mode to set |
Definition at line 253 of file fakenect.c.
FREENECTAPI int freenect_set_flag | ( | freenect_device * | dev, |
freenect_flag | flag, | ||
freenect_flag_value | value | ||
) |
FREENECTAPI void freenect_set_fw_address_k4w | ( | freenect_context * | ctx, |
unsigned char * | fw_ptr, | ||
unsigned int | num_bytes | ||
) |
FREENECTAPI void freenect_set_fw_address_nui | ( | freenect_context * | ctx, |
unsigned char * | fw_ptr, | ||
unsigned int | num_bytes | ||
) |
FREENECTAPI int freenect_set_led | ( | freenect_device * | dev, |
freenect_led_options | option | ||
) |
Set the state of the LED. Uses blocking control message call to update device.
dev | Device to set the LED state |
option | LED state to set on device. See freenect_led_options enum. |
Definition at line 414 of file fakenect.c.
FREENECTAPI void freenect_set_log_callback | ( | freenect_context * | ctx, |
freenect_log_cb | cb | ||
) |
Callback for log messages (i.e. for rerouting to a file instead of stdout)
ctx | context to set log callback for |
cb | callback function pointer |
Definition at line 400 of file fakenect.c.
FREENECTAPI void freenect_set_log_level | ( | freenect_context * | ctx, |
freenect_loglevel | level | ||
) |
Set the log level for the specified freenect context
ctx | context to set log level for |
level | log level to use (see freenect_loglevel enum) |
Definition at line 401 of file fakenect.c.
FREENECTAPI int freenect_set_tilt_degs | ( | freenect_device * | dev, |
double | angle | ||
) |
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.
dev | Device to set tilt state |
angle | Angle the device should tilt to |
Definition at line 410 of file fakenect.c.
FREENECTAPI void freenect_set_user | ( | freenect_device * | dev, |
void * | user | ||
) |
Set the device user data, for passing generic information into callbacks
dev | Device to attach user data to |
user | User data to attach |
Definition at line 355 of file fakenect.c.
FREENECTAPI int freenect_set_video_buffer | ( | freenect_device * | dev, |
void * | buf | ||
) |
Set the buffer to store depth information to. Size of buffer is dependant on video format. See FREENECT_VIDEO_*_SIZE defines for more information.
dev | Device to set video buffer for. |
buf | Buffer to store video information to. |
Definition at line 349 of file fakenect.c.
FREENECTAPI void freenect_set_video_callback | ( | freenect_device * | dev, |
freenect_video_cb | cb | ||
) |
Set callback for video information received event
dev | Device to set callback for |
cb | Function pointer for processing video information |
Definition at line 241 of file fakenect.c.
FREENECTAPI void freenect_set_video_chunk_callback | ( | freenect_device * | dev, |
freenect_chunk_cb | cb | ||
) |
FREENECTAPI int freenect_set_video_mode | ( | freenect_device * | dev, |
freenect_frame_mode | mode | ||
) |
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.
dev | Device for which to set the video mode |
mode | Frame mode to set |
Definition at line 246 of file fakenect.c.
FREENECTAPI int freenect_shutdown | ( | freenect_context * | ctx | ) |
Closes the device if it is open, and frees the context
ctx | freenect context to close/free |
Definition at line 402 of file fakenect.c.
FREENECTAPI int freenect_start_depth | ( | freenect_device * | dev | ) |
Start the depth information stream for a device.
dev | Device to start depth information stream for. |
Definition at line 365 of file fakenect.c.
FREENECTAPI int freenect_start_video | ( | freenect_device * | dev | ) |
Start the video information stream for a device.
dev | Device to start video information stream for. |
Definition at line 371 of file fakenect.c.
FREENECTAPI int freenect_stop_depth | ( | freenect_device * | dev | ) |
Stop the depth information stream for a device
dev | Device to stop depth information stream on. |
Definition at line 377 of file fakenect.c.
FREENECTAPI int freenect_stop_video | ( | freenect_device * | dev | ) |
Stop the video information stream for a device
dev | Device to stop video information stream on. |
Definition at line 383 of file fakenect.c.
FREENECTAPI 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.
Definition at line 333 of file fakenect.c.
FREENECTAPI int freenect_update_tilt_state | ( | freenect_device * | dev | ) |
Updates the accelerometer state using a blocking control message call.
dev | Device to get accelerometer data from |
Definition at line 418 of file fakenect.c.