// GetAccelerometerState returns the axis-based gravity adjusted accelerometer // state in the form of x-axis, y-axis, and z-axis states. func (device *Device) GetAccelerometerState() (float64, float64, float64) { tiltState := C.freenect_get_tilt_state(device.device) var x, y, z C.double C.freenect_get_mks_accel(tiltState, &x, &y, &z) return float64(x), float64(y), float64(z) }
// Tells the device to update it's state data. If you're going to be reading values off the device, // it's really necessary to be calling this function on a draw/game loop or go routine, otherwise the data will be stale. func (tilt *Tilt) Refresh() { C.freenect_update_tilt_state(tilt.device.dev) state := C.freenect_get_tilt_state(tilt.device.dev) tilt.Angle = float32(C.freenect_get_tilt_degs(state)) tilt.Status = int(C.freenect_get_tilt_status(state)) var x, y, z C.double C.freenect_get_mks_accel(state, &x, &y, &z) tilt.AccelX = float32(x) tilt.AccelY = float32(y) tilt.AccelZ = float32(z) }
//FREENECTAPI freenect_raw_tilt_state* freenect_get_tilt_state(freenect_device *dev); func (dev *Device) GetTiltState() *RawTiltState { return (*RawTiltState)(unsafe.Pointer(C.freenect_get_tilt_state(dev.ptr()))) }
// GetTiltStatus returns the current status of the tilting motor. func (device *Device) GetTiltStatus() TiltStatus { tiltState := C.freenect_get_tilt_state(device.device) return TiltStatus(C.freenect_get_tilt_status(tiltState)) }
// GetTiltAngle returns the current angle the Kinect is tilted. func (device *Device) GetTiltAngle() float64 { tiltState := C.freenect_get_tilt_state(device.device) return float64(C.freenect_get_tilt_degs(tiltState)) }