The open source OpenXR runtime
at main 60 lines 2.0 kB view raw
1// Copyright 2018, Philipp Zabel. 2// Copyright 2020-2021, N Madsen. 3// Copyright 2020-2021, Collabora, Ltd. 4// SPDX-License-Identifier: BSL-1.0 5/*! 6 * @file 7 * @brief WMR and MS HoloLens protocol helpers implementation. 8 * @author Philipp Zabel <philipp.zabel@gmail.com> 9 * @author nima01 <nima_zero_one@protonmail.com> 10 * @ingroup drv_wmr 11 */ 12 13#include "wmr_protocol.h" 14 15 16/* 17 * 18 * WMR and MS HoloLens Sensors protocol helpers 19 * 20 */ 21 22void 23vec3_from_hololens_accel(int32_t sample[3][4], int i, struct xrt_vec3 *out_vec) 24{ 25 out_vec->x = (float)sample[0][i] * 0.001f * 1.0f; 26 out_vec->y = (float)sample[1][i] * 0.001f * 1.0f; 27 out_vec->z = (float)sample[2][i] * 0.001f * 1.0f; 28} 29 30void 31vec3_from_hololens_gyro(int16_t sample[3][32], int i, struct xrt_vec3 *out_vec) 32{ 33 out_vec->x = (float)(sample[0][8 * i + 0] + // 34 sample[0][8 * i + 1] + // 35 sample[0][8 * i + 2] + // 36 sample[0][8 * i + 3] + // 37 sample[0][8 * i + 4] + // 38 sample[0][8 * i + 5] + // 39 sample[0][8 * i + 6] + // 40 sample[0][8 * i + 7]) * 41 0.001f * 0.125f; 42 out_vec->y = (float)(sample[1][8 * i + 0] + // 43 sample[1][8 * i + 1] + // 44 sample[1][8 * i + 2] + // 45 sample[1][8 * i + 3] + // 46 sample[1][8 * i + 4] + // 47 sample[1][8 * i + 5] + // 48 sample[1][8 * i + 6] + // 49 sample[1][8 * i + 7]) * 50 0.001f * 0.125f; 51 out_vec->z = (float)(sample[2][8 * i + 0] + // 52 sample[2][8 * i + 1] + // 53 sample[2][8 * i + 2] + // 54 sample[2][8 * i + 3] + // 55 sample[2][8 * i + 4] + // 56 sample[2][8 * i + 5] + // 57 sample[2][8 * i + 6] + // 58 sample[2][8 * i + 7]) * 59 0.001f * 0.125f; 60}