Skip to content

Commit 7e876a6

Browse files
committed
Implement all FREENECTAPI functions in fakenect to avoid issues with Java wrapper
Signed-off-by: Robert Xiao <[email protected]>
1 parent 4dfb75f commit 7e876a6

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

fakenect/fakenect.c

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,11 @@ freenect_raw_tilt_state* freenect_get_tilt_state(freenect_device *dev)
219219
return &state;
220220
}
221221

222+
freenect_tilt_status_code freenect_get_tilt_status(freenect_raw_tilt_state *state)
223+
{
224+
return state->tilt_status;
225+
}
226+
222227
void freenect_get_mks_accel(freenect_raw_tilt_state *state, double* x, double* y, double* z)
223228
{
224229
//the documentation for the accelerometer (http://www.kionix.com/Product%20Sheets/KXSD9%20Product%20Brief.pdf)
@@ -261,6 +266,21 @@ freenect_frame_mode freenect_find_video_mode(freenect_resolution res, freenect_v
261266
return out;
262267
}
263268

269+
int freenect_get_video_mode_count()
270+
{
271+
return 1;
272+
}
273+
274+
freenect_frame_mode freenect_get_video_mode(int mode_num)
275+
{
276+
return freenect_find_video_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_VIDEO_RGB);
277+
}
278+
279+
freenect_frame_mode freenect_get_current_video_mode(freenect_device *dev)
280+
{
281+
return freenect_get_video_mode(0);
282+
}
283+
264284
freenect_frame_mode freenect_find_depth_mode(freenect_resolution res, freenect_depth_format fmt) {
265285
assert(FREENECT_RESOLUTION_MEDIUM == res);
266286
assert(FREENECT_DEPTH_11BIT == fmt);
@@ -270,6 +290,21 @@ freenect_frame_mode freenect_find_depth_mode(freenect_resolution res, freenect_d
270290
return out;
271291
}
272292

293+
int freenect_get_depth_mode_count()
294+
{
295+
return 1;
296+
}
297+
298+
freenect_frame_mode freenect_get_depth_mode(int mode_num)
299+
{
300+
return freenect_find_depth_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_DEPTH_11BIT);
301+
}
302+
303+
freenect_frame_mode freenect_get_current_depth_mode(freenect_device *dev)
304+
{
305+
return freenect_get_depth_mode(0);
306+
}
307+
273308
int freenect_num_devices(freenect_context *ctx)
274309
{
275310
// Always 1 device
@@ -283,12 +318,23 @@ int freenect_open_device(freenect_context *ctx, freenect_device **dev, int index
283318
return 0;
284319
}
285320

321+
int freenect_open_device_by_camera_serial(freenect_context *ctx, freenect_device **dev, const char* camera_serial)
322+
{
323+
*dev = fake_dev;
324+
return 0;
325+
}
326+
286327
int freenect_init(freenect_context **ctx, freenect_usb_context *usb_ctx)
287328
{
288329
*ctx = fake_ctx;
289330
return 0;
290331
}
291332

333+
int freenect_supported_subdevices(void)
334+
{
335+
return FREENECT_DEVICE_MOTOR | FREENECT_DEVICE_CAMERA;
336+
}
337+
292338
void freenect_select_subdevices(freenect_context *ctx, freenect_device_flags subdevs) {
293339
// Ideally, we'd actually check for MOTOR and CAMERA and AUDIO, but for now
294340
// we just ignore them and provide all captured data.

0 commit comments

Comments
 (0)