27 #ifndef FREENECT_INTERNAL_H
28 #define FREENECT_INTERNAL_H
32 #include "libfreenect.h"
34 typedef void (*fnusb_iso_cb)(
freenect_device *dev, uint8_t *buf,
int len);
36 #include "usb_libusb10.h"
43 static inline uint16_t fn_le16(uint16_t d)
45 return (d<<8) | (d>>8);
47 static inline uint32_t fn_le32(uint32_t d)
49 return (d<<24) | ((d<<8)&0xFF0000) | ((d>>8)&0xFF00) | (d>>24);
52 #define fn_le16(x) (x)
53 #define fn_le32(x) (x)
56 #define DEPTH_RAW_10_BIT_SIZE 384000
57 #define DEPTH_RAW_11_BIT_SIZE 422400
58 #define FRAME_H FREENECT_FRAME_H
59 #define FRAME_W FREENECT_FRAME_W
60 #define FRAME_PIX FREENECT_FRAME_PIX
62 #define DEPTH_PKTSIZE 1760
63 #define RGB_PKTSIZE 1920
65 #define DEPTH_PKTDSIZE (DEPTH_PKTSIZE-12)
66 #define RGB_PKTDSIZE (RGB_PKTSIZE-12)
68 #define DEPTH_PKTS_10_BIT_PER_FRAME ((DEPTH_RAW_10_BIT_SIZE+DEPTH_PKTDSIZE-1)/DEPTH_PKTDSIZE)
69 #define DEPTH_PKTS_11_BIT_PER_FRAME ((DEPTH_RAW_11_BIT_SIZE+DEPTH_PKTDSIZE-1)/DEPTH_PKTDSIZE)
70 #define RGB_PKTS_PER_FRAME ((FRAME_PIX+RGB_PKTDSIZE-1)/RGB_PKTDSIZE)
72 #define MS_MAGIC_VENDOR 0x45e
73 #define MS_MAGIC_CAMERA_PRODUCT 0x02ae
74 #define MS_MAGIC_MOTOR_PRODUCT 0x02b0
85 uint32_t last_timestamp;
99 freenect_depth_cb depth_cb;
100 freenect_depth_raw_cb depth_raw_cb;
101 freenect_rgb_cb rgb_cb;
102 freenect_rgb_format rgb_format;
103 freenect_depth_format depth_format;
108 uint8_t depth_raw[DEPTH_RAW_11_BIT_SIZE];
109 uint16_t depth_frame[FRAME_PIX];
112 uint8_t rgb_raw[FRAME_PIX];
113 uint8_t rgb_frame[3*FRAME_PIX];
126 uint8_t cmddata[1024];
127 uint8_t replydata[1024];