Jump to content

Vive Tracker 3.0 - Inputs via USB API


Recommended Posts

Hello Everyone,

 

In my company QBranch, we are making different tangible devices for AR/VR entertainment and professional training.

Following our different customer requests and generally our own needs, we "link virtual and real" with the VIVE technologies and especially the Vive Tracker (3.0 for now)

To get some inputs linked to the application, we are used to work with the pogo pins. But now, for our current project, we need some analog inputs that we can't get via pogo pins.

So we decided to investigate the USB API to transfer to the PC via the Vive Tracker, all the axis you would find in a classic VIVE Controller.

 

Following my different researches, here is all the different resources i've tried to work on to achieve my goals :

https://dl.vive.com/Tracker/FAQ/HTC Vive Tracker 3.0_FAQ_v1.0_01192021.pdf

https://dl.vive.com/Tracker/Guideline/HTC_Vive_Tracker_Developer_Guidelines_v1.3.pdf

https://www.manualslib.com/manual/1730181/Htc-Vive-Tracker.html

http://www.talariavr.com/blog/

https://www.brightdevelopers.com/communication-htc-vive-tracker-android/

https://github.com/matzman666/USBHost

 

And many others, but here is the best I've found.

 

I'm trying to make it running by myself for about 3 weeks now, so I finally try this forum to ask for some help from anyone, as I'm running now out of time to finish the device...

We are currently dealing with the device with a development board from Texas instrument : Launchpad TM4C1294XL (an arduino-like board)

The USB connection is established, everything is dealing correctly during enumeration phase, we can deal/select/ask with different USB layers and we managed to see different informations of the device.

As an example, we managed to get the "Default Config" information, and run the Interface indexed "2" => String description : "Controller"

Now we send the final packet with the payload defining the different "Controller inputs" we need to transfer, and nothing happen in SteamVR (tracking, top button and pogo pins are still working, but the USB gives no result in the "Controller Test Panel")

 

Here are some questions to start this topic :

- Is the Vive Tracker 3.0 still able to get some inputs informations with this API (like the 2018 version), or is it not working anymore, and this is a copy/paste error on the documentation (which is very similar to the 2018)

- Is there a USB test application (on PC or Android) to send some testing inputs to the Vive Tracker, and see if we get something in the other side (in SteamVR inputs)

- Is there any technical information I'm missing (Timing to send data, payload tricks, way to send it etc...) as the documentation has some mistakes I've tried to cross many different informations to get something running

- Do you have some code samples of an embedded technology doing this (Arduino like or whatever) , I've found only old projects, before 2018. so I'm not sure about what I'm reading...

- Is there a specific way to see the "Controller inputs" in SteamVR, as the Tracker inputs shown are only the ones linked to the pogo pins. For now, we cheated in the tracker firmware to have it shown as a VIVE Controller, so we have all the inputs (for my point of view this is more a cheat than a real solution, so I was wondering if there is something better possible)

- Is There anybody here facing the same issues, or being able to tell me "hey we had it working!"

- Any help please...

 

Hope you will be able to help me and anybody trying to do the same in the world!

Thanks for any help, I wish everybody a nice day, hoping we will be able to do nice things with this device soon!

 

Cheers,

Quentin MAYET

Edited by Quentin MAYET - QBRANCH
Link to comment
Share on other sites

  • 2 months later...

Hello Quentin,


I'm having the same issues as you do while trying to design a DIY controller. Unfortunately, I don't have a solution.
I've followed an old tutorial (based on v1 trackers) [link], thanks to NodeJs and node-hid, I can list HID devices and the interface 2. However, feature reports get denied but output report don't. I've seen quite a lot of topics about this USB API beeing broken since 2017 (e.g. here and there).

Have you find a way around this issue?

Sincerly

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...