Monado OpenXR Runtime
ulv5_driver.cpp File Reference

Driver for Ultraleap's V5 API for the Leap Motion Controller. More...

#include "ulv5_interface.h"
#include "util/u_device.h"
#include "util/u_var.h"
#include "util/u_debug.h"
#include "math/m_space.h"
#include "math/m_api.h"
#include "util/u_time.h"
#include "os/os_time.h"
#include "os/os_threading.h"
#include "LeapC.h"
Include dependency graph for ulv5_driver.cpp:

Data Structures

struct  ulv5_device
 

Macros

#define ULV5_TRACE(ulv5d, ...)   U_LOG_XDEV_IFL_T(&ulv5d->base, ulv5d->log_level, __VA_ARGS__)
 
#define ULV5_DEBUG(ulv5d, ...)   U_LOG_XDEV_IFL_D(&ulv5d->base, ulv5d->log_level, __VA_ARGS__)
 
#define ULV5_INFO(ulv5d, ...)   U_LOG_XDEV_IFL_I(&ulv5d->base, ulv5d->log_level, __VA_ARGS__)
 
#define ULV5_WARN(ulv5d, ...)   U_LOG_XDEV_IFL_W(&ulv5d->base, ulv5d->log_level, __VA_ARGS__)
 
#define ULV5_ERROR(ulv5d, ...)   U_LOG_XDEV_IFL_E(&ulv5d->base, ulv5d->log_level, __VA_ARGS__)
 
#define joint_set(y)   &joint_set.values.hand_joint_set_default[XRT_HAND_JOINT_##y]
 

Functions

const char * leap_result_to_string (eLeapRS result)
 
struct ulv5_deviceulv5_device (struct xrt_device *xdev)
 
static void ulv5_device_update_inputs (struct xrt_device *xdev)
 
static void ulv5_device_get_hand_tracking (struct xrt_device *xdev, enum xrt_input_name name, uint64_t at_timestamp_ns, struct xrt_hand_joint_set *out_value, uint64_t *out_timestamp_ns)
 
static void ulv5_device_destroy (struct xrt_device *xdev)
 
static void ulv5_process_joint (LEAP_VECTOR joint_pos, LEAP_QUATERNION joint_orientation, float width, struct xrt_hand_joint_value *joint)
 
void ulv5_process_hand (LEAP_HAND hand, struct ulv5_device *ulv5d, int handedness)
 
void * leap_input_loop (void *ptr_to_xdev)
 
xrt_result_t ulv5_create_device (struct xrt_device **out_xdev)
 Probing function for Leap Motion Controller. More...
 

Variables

static enum xrt_space_relation_flags valid_flags
 

Detailed Description

Driver for Ultraleap's V5 API for the Leap Motion Controller.

Author
Joseph Albers josep.nosp@m.h.al.nosp@m.bers@.nosp@m.outl.nosp@m.ook.d.nosp@m.e

Variable Documentation

◆ valid_flags

enum xrt_space_relation_flags valid_flags
static
Initial value:
XRT_SPACE_RELATION_ORIENTATION_VALID_BIT | XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT |
XRT_SPACE_RELATION_POSITION_VALID_BIT | XRT_SPACE_RELATION_POSITION_TRACKED_BIT)
xrt_space_relation_flags
Flags of which components of a xrt_space_relation is valid.
Definition: xrt_defines.h:629