diff --git a/src/xrt/ipc/client/ipc_client_device.c b/src/xrt/ipc/client/ipc_client_device.c index 3c42a7d26..ae72ae226 100644 --- a/src/xrt/ipc/client/ipc_client_device.c +++ b/src/xrt/ipc/client/ipc_client_device.c @@ -107,12 +107,13 @@ void ipc_client_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) + struct xrt_hand_joint_set *out_value, + uint64_t *out_timestamp_ns) { struct ipc_client_device *icd = ipc_client_device(xdev); - xrt_result_t r = - ipc_call_device_get_hand_tracking(icd->ipc_c, icd->device_id, name, at_timestamp_ns, out_value); + xrt_result_t r = ipc_call_device_get_hand_tracking(icd->ipc_c, icd->device_id, name, at_timestamp_ns, out_value, + out_timestamp_ns); if (r != XRT_SUCCESS) { IPC_ERROR(icd->ipc_c, "Error sending input update!"); } diff --git a/src/xrt/ipc/server/ipc_server_handler.c b/src/xrt/ipc/server/ipc_server_handler.c index 4bff07d16..b8dec1cac 100644 --- a/src/xrt/ipc/server/ipc_server_handler.c +++ b/src/xrt/ipc/server/ipc_server_handler.c @@ -940,7 +940,8 @@ ipc_handle_device_get_hand_tracking(volatile struct ipc_client_state *ics, uint32_t id, enum xrt_input_name name, uint64_t at_timestamp, - struct xrt_hand_joint_set *out_value) + struct xrt_hand_joint_set *out_value, + uint64_t *out_timestamp) { // To make the code a bit more readable. @@ -948,7 +949,7 @@ ipc_handle_device_get_hand_tracking(volatile struct ipc_client_state *ics, struct xrt_device *xdev = get_xdev(ics, device_id); // Get the pose. - xrt_device_get_hand_tracking(xdev, name, at_timestamp, out_value); + xrt_device_get_hand_tracking(xdev, name, at_timestamp, out_value, out_timestamp); return XRT_SUCCESS; } diff --git a/src/xrt/ipc/shared/proto.json b/src/xrt/ipc/shared/proto.json index 7078ec977..8df780c8b 100644 --- a/src/xrt/ipc/shared/proto.json +++ b/src/xrt/ipc/shared/proto.json @@ -196,7 +196,8 @@ {"name": "at_timestamp", "type": "uint64_t"} ], "out": [ - {"name": "value", "type": "struct xrt_hand_joint_set"} + {"name": "value", "type": "struct xrt_hand_joint_set"}, + {"name": "timestamp", "type": "uint64_t"} ] },