Skip to content

Commit

Permalink
Merge pull request #398 from nneonneo/java-changes
Browse files Browse the repository at this point in the history
A few minor Java wrapper changes

Reviewed-by: Benn Snyder <benn.snyder@gmail.com>
  • Loading branch information
piedar committed Sep 1, 2014
2 parents 4e489af + 0aba05e commit 2994c6d
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 3 deletions.
46 changes: 46 additions & 0 deletions fakenect/fakenect.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,11 @@ freenect_raw_tilt_state* freenect_get_tilt_state(freenect_device *dev)
return &state;
}

freenect_tilt_status_code freenect_get_tilt_status(freenect_raw_tilt_state *state)
{
return state->tilt_status;
}

void freenect_get_mks_accel(freenect_raw_tilt_state *state, double* x, double* y, double* z)
{
//the documentation for the accelerometer (http://www.kionix.com/Product%20Sheets/KXSD9%20Product%20Brief.pdf)
Expand Down Expand Up @@ -261,6 +266,21 @@ freenect_frame_mode freenect_find_video_mode(freenect_resolution res, freenect_v
return out;
}

int freenect_get_video_mode_count()
{
return 1;
}

freenect_frame_mode freenect_get_video_mode(int mode_num)
{
return freenect_find_video_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_VIDEO_RGB);
}

freenect_frame_mode freenect_get_current_video_mode(freenect_device *dev)
{
return freenect_get_video_mode(0);
}

freenect_frame_mode freenect_find_depth_mode(freenect_resolution res, freenect_depth_format fmt) {
assert(FREENECT_RESOLUTION_MEDIUM == res);
assert(FREENECT_DEPTH_11BIT == fmt);
Expand All @@ -270,6 +290,21 @@ freenect_frame_mode freenect_find_depth_mode(freenect_resolution res, freenect_d
return out;
}

int freenect_get_depth_mode_count()
{
return 1;
}

freenect_frame_mode freenect_get_depth_mode(int mode_num)
{
return freenect_find_depth_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_DEPTH_11BIT);
}

freenect_frame_mode freenect_get_current_depth_mode(freenect_device *dev)
{
return freenect_get_depth_mode(0);
}

int freenect_num_devices(freenect_context *ctx)
{
// Always 1 device
Expand All @@ -283,12 +318,23 @@ int freenect_open_device(freenect_context *ctx, freenect_device **dev, int index
return 0;
}

int freenect_open_device_by_camera_serial(freenect_context *ctx, freenect_device **dev, const char* camera_serial)
{
*dev = fake_dev;
return 0;
}

int freenect_init(freenect_context **ctx, freenect_usb_context *usb_ctx)
{
*ctx = fake_ctx;
return 0;
}

int freenect_supported_subdevices(void)
{
return FREENECT_DEVICE_MOTOR | FREENECT_DEVICE_CAMERA;
}

void freenect_select_subdevices(freenect_context *ctx, freenect_device_flags subdevs) {
// Ideally, we'd actually check for MOTOR and CAMERA and AUDIO, but for now
// we just ignore them and provide all captured data.
Expand Down
2 changes: 2 additions & 0 deletions wrappers/java/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
all:
mvn assembly:assembly -Dmaven.test.skip=true
11 changes: 10 additions & 1 deletion wrappers/java/pom.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.openkinect</groupId>
<artifactId>freenect</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>1.0</version>

<dependencies>
<dependency>
Expand Down Expand Up @@ -38,6 +39,14 @@
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import com.sun.jna.ptr.PointerByReference;

import java.io.IOException;
import java.nio.ByteOrder;
import java.nio.ByteBuffer;
import java.nio.DoubleBuffer;

Expand Down Expand Up @@ -173,8 +174,8 @@ protected NativeDevice (Pointer ptr, int index) {
this.rawTiltState = freenect_get_tilt_state(this);
this.accel = new double[3];
refreshTiltState();
setVideoFormat(VideoFormat.RGB);
setDepthFormat(DepthFormat.D10BIT);
//setVideoFormat(VideoFormat.RGB);
//setDepthFormat(DepthFormat.D10BIT);
}

protected void setDeviceIndex (int index) {
Expand Down Expand Up @@ -206,6 +207,7 @@ public void setDepthFormat (DepthFormat fmt, Resolution res) {
if (mode.isValid()) {
freenect_set_depth_mode(this, mode);
depthBuffer = ByteBuffer.allocateDirect(mode.getFrameSize());
depthBuffer.order(ByteOrder.nativeOrder());
freenect_set_depth_buffer(this, depthBuffer);
this.depthMode = mode;
}
Expand All @@ -217,6 +219,7 @@ public void setVideoFormat (VideoFormat fmt, Resolution res) {
if (mode.isValid()) {
freenect_set_video_mode(this, mode);
videoBuffer = ByteBuffer.allocateDirect(mode.getFrameSize());
videoBuffer.order(ByteOrder.nativeOrder());
freenect_set_video_buffer(this, videoBuffer);
this.videoMode = mode;
}
Expand Down

0 comments on commit 2994c6d

Please sign in to comment.