36 typedef uint16_t freenect_depth;
37 typedef uint8_t freenect_pixel;
39 #define FREENECT_FRAME_W 640
40 #define FREENECT_FRAME_H 480
41 #define FREENECT_FRAME_PIX (FREENECT_FRAME_H*FREENECT_FRAME_W)
42 #define FREENECT_RGB_SIZE (FREENECT_FRAME_PIX*3)
43 #define FREENECT_BAYER_SIZE (FREENECT_FRAME_PIX)
44 #define FREENECT_DEPTH_SIZE (FREENECT_FRAME_PIX*sizeof(freenect_depth))
45 #define FREENECT_COUNTS_PER_G 819
48 FREENECT_FORMAT_RGB = 0,
49 FREENECT_FORMAT_BAYER = 1,
50 } freenect_rgb_format;
59 LED_BLINK_RED_YELLOW = 6
60 } freenect_led_options;
63 FREENECT_FORMAT_11_BIT = 0,
64 FREENECT_FORMAT_10_BIT = 1
65 } freenect_depth_format;
75 typedef libusb_context freenect_usb_context;
90 typedef void (*freenect_depth_cb)(
freenect_device *dev, freenect_depth *depth, uint32_t timestamp);
91 typedef void (*freenect_depth_raw_cb)(
freenect_device *dev, uint8_t *depth_raw, uint32_t timestamp);
92 typedef void (*freenect_rgb_cb)(
freenect_device *dev, freenect_pixel *rgb, uint32_t timestamp);
94 void freenect_set_depth_callback(
freenect_device *dev, freenect_depth_cb cb);
95 void freenect_set_depth_raw_callback(
freenect_device *dev, freenect_depth_raw_cb cb);
96 void freenect_set_rgb_callback(
freenect_device *dev, freenect_rgb_cb cb);
97 int freenect_set_rgb_format(
freenect_device *dev, freenect_rgb_format fmt);
98 int freenect_set_depth_format(
freenect_device *dev, freenect_depth_format fmt);
105 uint16_t unpack_depth(uint8_t* depth_raw,
int row,
int column);
109 int freenect_set_led(
freenect_device *dev, freenect_led_options option);
111 int freenect_get_raw_accelerometers(
freenect_device *dev, int16_t* x, int16_t* y, int16_t* z);
112 int freenect_get_mks_accelerometers(
freenect_device *dev,
double* x,
double* y,
double* z);