From 8261107f6f276ec49b13aa75781a496e26d63b4b Mon Sep 17 00:00:00 2001 From: woobianca Date: Thu, 14 Jun 2018 23:56:28 +0900 Subject: under construction --- src/survive_vive.c | 80 +++++++++++++++++++++++++++------------------- useful_files/81-vive.rules | 4 ++- 2 files changed, 50 insertions(+), 34 deletions(-) diff --git a/src/survive_vive.c b/src/survive_vive.c index 8a4bcd5..ef94677 100755 --- a/src/survive_vive.c +++ b/src/survive_vive.c @@ -47,14 +47,17 @@ const short vidpids[] = { 0x28de, 0x2000, 0, //Valve HMD IMU & Lighthouse Sensors 0x28de, 0x2101, 0, //Valve Watchman 0x28de, 0x2101, 1, //Valve Watchman - 0x28de, 0x2300, 0, //HTC Tracker + 0x28de, 0x2022, 0, //HTC Tracker + 0x28de, 0x2300, 0, //HTC Tracker 2018 0x28de, 0x2012, 0, //Valve Watchman, USB connected #ifdef HIDAPI 0x28de, 0x2000, 1, //Valve HMD lighthouse(B) (only used on HIDAPI, for lightcap) - 0x28de, 0x2300, 1, //HTC Tracker (only used on HIDAPI, for lightcap) + 0x28de, 0x2022, 1, //HTC Tracker (only used on HIDAPI, for lightcap) + 0x28de, 0x2300, 1, //HTC Tracker 2018 (only used on HIDAPI, for lightcap) 0x28de, 0x2012, 1, //Valve Watchman, USB connected (only used on HIDAPI, for lightcap) 0x28de, 0x2000, 2, //Valve HMD lighthouse(B) (only used on HIDAPI, for lightcap) + 0x28de, 0x2022, 2, //HTC Tracker (only used on HIDAPI, for lightcap) 0x28de, 0x2300, 2, //HTC Tracker (only used on HIDAPI, for lightcap) 0x28de, 0x2012, 2, //Valve Watchman, USB connected (only used on HIDAPI, for lightcap) @@ -67,53 +70,64 @@ const char * devnames[] = { "Watchman 1", "Watchman 2", "Tracker 0", + "Tracker(2018) 0", "Wired Watchman 1", #ifdef HIDAPI "HMD Lightcap", "Tracker 0 Lightcap", + "Tracker(2018) 0 Lightcap", "Wired Watchman 1 Lightcap", "HMD Buttons", "Tracker 0 Buttons", + "Tracker(2018) Buttons", "Wired Watchman 1 Buttons", #endif }; //length MAX_USB_INTERFACES -#define USB_DEV_HMD 0 -#define USB_DEV_HMD_IMU_LH 1 -#define USB_DEV_WATCHMAN1 2 -#define USB_DEV_WATCHMAN2 3 -#define USB_DEV_TRACKER0 4 -#define USB_DEV_W_WATCHMAN1 5 // Wired Watchman attached via USB - +enum { + USB_DEV_HMD = 0, + USB_DEV_HMD_IMU_LH, + USB_DEV_WATCHMAN1, + USB_DEV_WATCHMAN2, + USB_DEV_TRACKER0, + USB_DEV_TRACKER0_2018, + USB_DEV_W_WATCHMAN1, // Wired Watchman attached via USB #ifdef HIDAPI -#define USB_DEV_HMD_IMU_LHB 6 -#define USB_DEV_TRACKER0_LIGHTCAP 7 -#define USB_DEV_W_WATCHMAN1_LIGHTCAP 8 - -#define USB_DEV_HMD_BUTTONS 9 -#define USB_DEV_TRACKER0_BUTTONS 10 -#define USB_DEV_W_WATCHMAN1_BUTTONS 11 - -#define MAX_USB_DEVS 12 -#else -#define MAX_USB_DEVS 6 + USB_DEV_HMD_IMU_LHB, + USB_DEV_TRACKER0_LIGHTCAP, + USB_DEV_TRACKER0_2018_LIGHTCAP, + USB_DEV_W_WATCHMAN1_LIGHTCAP, + + USB_DEV_HMD_BUTTONS, + USB_DEV_TRACKER0_BUTTONS, + USB_DEV_TRACKER0_2018_BUTTONS, + USB_DEV_W_WATCHMAN1_BUTTONS, #endif + MAX_USB_DEVS +} -#define USB_IF_HMD 0 -#define USB_IF_HMD_IMU_LH 1 -#define USB_IF_WATCHMAN1 2 -#define USB_IF_WATCHMAN2 3 -#define USB_IF_TRACKER0 4 -#define USB_IF_W_WATCHMAN1 5 -#define USB_IF_LIGHTCAP 6 -#define USB_IF_TRACKER0_LIGHTCAP 7 -#define USB_IF_W_WATCHMAN1_LIGHTCAP 8 -#define USB_IF_HMD_BUTTONS 9 -#define USB_IF_TRACKER0_BUTTONS 10 -#define USB_IF_W_WATCHMAN1_BUTTONS 11 -#define MAX_INTERFACES 12 +enum { + USB_IF_HMD = 0 + USB_IF_HMD_IMU_LH, + USB_IF_WATCHMAN1, + USB_IF_WATCHMAN2, + USB_IF_TRACKER0, + USB_IF_TRACKER0_2018, + USB_IF_W_WATCHMAN1, + + USB_IF_LIGHTCAP, + USB_IF_TRACKER0_LIGHTCAP, + USB_IF_TRACKER0_2018_LIGHTCAP, + USB_IF_W_WATCHMAN1_LIGHTCAP, + + USB_IF_HMD_BUTTONS, + USB_IF_TRACKER0_BUTTON, + USB_IF_TRACKER0_2018_BUTTON, + USB_IF_W_WATCHMAN1_BUTTONS, + MAX_INTERFACES +} typedef struct SurviveUSBInterface SurviveUSBInterface; typedef struct SurviveViveData SurviveViveData; diff --git a/useful_files/81-vive.rules b/useful_files/81-vive.rules index a8b4e63..97b1f65 100644 --- a/useful_files/81-vive.rules +++ b/useful_files/81-vive.rules @@ -6,6 +6,7 @@ KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2050", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2011", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2012", TAG+="uaccess" +KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2022", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2300", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", TAG+="uaccess" @@ -21,7 +22,8 @@ SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2000", MODE="0666" # Light input SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2101", MODE="0666" # Watchman SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2012", MODE="0666" # Watchman wired -SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2300", MODE="0666" # Tracker wired +SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2022", MODE="0666" # Tracker wired +SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2300", MODE="0666" # Tracker 2018 wired #KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0bb4", ATTR{idProduct}=="2c87", MODE="0666" # HTC #KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTR{idProduct}=="2000", MODE="0666" # Valve -- cgit v1.2.3