MSmithDev / AirAPI_Windows

MIT License
113 stars 20 forks source link

Add support for Nreal Light and Rokid Air #8

Open iraqigeek opened 1 year ago

iraqigeek commented 1 year ago

Hi, The current API supports only the Air. What would you need to add support for the Light and Rokid Air? Both use a very similar HID magic packet to switch from 2D to SBS 3D mode.

I have a USB 2.0 sniffer. I have some dumps that I could share of you want. They were taken with (an old) Lecroy USB Analyzer, and require Lecroy's USB Protocol suite

I'm not able to record new ones as Nebula refuses to open now asking me to update, but Nreal hasn't made Nebula available in the Netherlands :\ I don't currently have the Rokids with me. I'm not sure if I have any dumps from them either.

The Light's HID device VID is 0x0486 and the PID is 0x573C.

The Rokid's HID VID is 0x04D2 and the PID is 0x162F.

MSmithDev commented 1 year ago

Hello!

I would love to take a look at whatever you have. Me and a few others have been working on this for a few months now. We have done a lot of reverse engineering and packet captures but with a dedicated tool you might have some easier data to work with.

As for support for the lights, this can be done, I think we have some idea of the commands but I don't have access to a pair so it's hard to develop for it.

Same pretty much goes for the rokid, if you have the commands and can figure out the HID protocol that too could also be added. But it would be hard to calibrate them without having like the lights.

I would still be willing to try but we are mainly trying to get the sensor fusion stable on the Airs first as most of us have them.

Thanks for reaching out.

Matt

On Sat, Apr 22, 2023, 11:43 AM iraqigeek @.***> wrote:

Hi, The current API supports only the Air. What would you need to add support for the Light and Rokid Air? Both use a very similar HID magic packet to switch from 2D to SBS 3D mode.

I have a USB 2.0 sniffer. I have some dumps that I could share of you want. They were taken with (an old) Lecroy USB Analyzer, and require Lecroy's USB Protocol suite

I'm not able to record new ones as Nebula refuses to open now asking me to update, but Nreal hasn't made Nebula available in the Netherlands :\ I don't currently have the Rokids with me. I'm not sure if I have any dumps from them either.

The Light's HID device VID is 0x0486 and the PID is 0x573C.

The Rokid's HID VID is 0x04D2 and the PID is 0x162F.

— Reply to this email directly, view it on GitHub https://github.com/MSmithDev/AirAPI_Windows/issues/8, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKPHYBGJCCDGJQ5K3X2LBW3XCP4CDANCNFSM6AAAAAAXH5C64U . You are receiving this because you are subscribed to this thread.Message ID: @.***>

spirodonfl commented 1 year ago

I have two pairs of light (dev kits) so I am happy to help out. I'm also a programmer (although mostly web) but not afraid to get into lower level code (I've picked up a bit of Zig recently) if that helps too. If I have some guidance on what to do, I can help out.

Edit: I should also add - I run Windows 11 with WSL (subsystem Linux - Ubuntu) and I have a Macbook Pro. I also have an iPad Air, an older iPhone, some android phones & tablets. Lots of devices for me to test on/with.

iraqigeek commented 1 year ago

The Light and the Air share the same sensor fusion code in Nebula. Whatever works on one will work on the other :)

MSmithDev commented 10 months ago

We are working on improving some of the code, we will try and add support for the lights in the next version