You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.6 KiB
72 lines
1.6 KiB
/*
|
|
* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef HID_QVR_H_FILE
|
|
#define HID_QVR_H_FILE
|
|
|
|
#define QVR_EXTERNAL_SENSOR_REPORT_ID 0x1
|
|
|
|
//CMD IDs
|
|
#define QVR_CMD_ID_CALIBRATION_DATA_SIZE 20
|
|
#define QVR_CMD_ID_CALIBRATION_BLOCK_DATA 21
|
|
#define QVR_CMD_ID_START_CALIBRATION_UPDATE 22
|
|
#define QVR_CMD_ID_UPDATE_CALIBRATION_BLOCK 23
|
|
#define QVR_CMD_ID_FINISH_CALIBRATION_UPDATE 24
|
|
#define QVR_CMD_ID_IMU_CONTROL 25
|
|
#define QVR_CMD_ID_IMU_CONTROL_FALLBACK 7
|
|
|
|
#define QVR_HID_REPORT_ID_CAL 2
|
|
#define QVR_HID_REQUEST_REPORT_SIZE 64
|
|
|
|
struct external_imu_format {
|
|
u8 reportID;
|
|
u8 padding;
|
|
u16 version;
|
|
u16 numIMUs;
|
|
u16 numSamplesPerImuPacket;
|
|
u16 totalPayloadSize;
|
|
u8 reservedPadding[28];
|
|
|
|
s16 imuID;
|
|
s16 sampleID;
|
|
s16 temperature;
|
|
|
|
u64 gts0;
|
|
u32 gNumerator;
|
|
u32 gDenominator;
|
|
s32 gx0;
|
|
s32 gy0;
|
|
s32 gz0;
|
|
|
|
u64 ats0;
|
|
u32 aNumerator;
|
|
u32 aDenominator;
|
|
s32 ax0;
|
|
s32 ay0;
|
|
s32 az0;
|
|
|
|
u64 mts0;
|
|
u32 mNumerator;
|
|
u32 mDenominator;
|
|
s32 mx0;
|
|
s32 my0;
|
|
s32 mz0;
|
|
} __packed;
|
|
|
|
void qvr_clear_def_parmeter(void);
|
|
void qvr_init(struct hid_device *hdev);
|
|
int qvr_input_init(void);
|
|
void qvr_input_remove(void);
|
|
|
|
#endif
|
|
|