From 193dcc8776de96dc4b6b312880cb11f023a9bd10 Mon Sep 17 00:00:00 2001 From: Moses Turner <moses@collabora.com> Date: Fri, 1 Oct 2021 09:50:02 -0500 Subject: [PATCH] d/survive: Switch to new get_hand_tracking signature --- src/xrt/drivers/survive/survive_driver.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/xrt/drivers/survive/survive_driver.c b/src/xrt/drivers/survive/survive_driver.c index 3956ffedc..0b5a314b0 100644 --- a/src/xrt/drivers/survive/survive_driver.c +++ b/src/xrt/drivers/survive/survive_driver.c @@ -392,7 +392,8 @@ static void survive_controller_get_hand_tracking(struct xrt_device *xdev, enum xrt_input_name name, uint64_t at_timestamp_ns, - struct xrt_hand_joint_set *out_value) + struct xrt_hand_joint_set *out_value, + uint64_t *out_timestamp_ns) { struct survive_device *survive = (struct survive_device *)xdev; @@ -436,6 +437,9 @@ survive_controller_get_hand_tracking(struct xrt_device *xdev, u_hand_joints_set_out_data(&survive->ctrl.hand_tracking, hand, &hand_relation, &hand_on_handle_pose, out_value); + // This is the truth - we pose-predicted or interpolated all the way up to `at_timestamp_ns`. + *out_timestamp_ns = at_timestamp_ns; + // This is a lie - apparently libsurvive doesn't report controller tracked/untracked state, so just say that the // hand is being tracked out_value->is_active = true;