PSVRFramework icon indicating copy to clipboard operation
PSVRFramework copied to clipboard

Unknown bytes in report 0x21

Open gusmanb opened this issue 8 years ago • 4 comments

I'm looking at the capture posted on #17 and there is a very interesting thing on the 0x21 reports.

byte b4 which for us is still unknown and b7 what we suppose is IPD have values on the report, 0x80 and 0xC0 for b4 and 0x14 on b7, b7 matches exactly our thoughts, I mean, 63mm of IPD is the default value, but for asian people, usually european/american males tend to have values near 67mm, and 0x14 matches that, 67mm.

And b4, we need to test that byte, it looks to me like a mask of some type, 0x80 is 10000 0000 and 0xC0 is 1100 0000, so it's like something got activated.

@mungewell we know you can't achieve a lock on the screen when you change the size to small, on your reports you were sending that byte as 0xFF (at least on the posted ones) but I send 0x00, maybe this is related?

EDIT: the IPD value matches if 0x00=48mm, 0x0F = 63mm and 0x1E = 78mm

gusmanb avatar Nov 08 '16 18:11 gusmanb

Regarding 0x80->0xC0. This is an OUT report, so it's the PC/PS4 choosing to set the bit. I agree that this is most likely a bit field rather than a byte value, just don't have an idea of what

For the 0xF0 IN report, I think the 0x95->0x97 is a bit field, and this is the 'worn' bit being set (ie user put the headset on). https://github.com/gusmanb/PSVRFramework/wiki/Status-Report---0xF0

My script currently writes '0x14' when setting the size/distance. I'll double check my ranges tonight. I think you mentioned that there are minimum values (ie not 0) which are allowed.

mungewell avatar Nov 08 '16 19:11 mungewell

Yeah, when I said someething got activated I meant on the report, it seems like that mask controlls the use of some bytes on this report, if that flag is disabled maybe other bytes stop working or vice-versa, like on the led report.

About 0xF0, I got it, have posted the info.

gusmanb avatar Nov 08 '16 19:11 gusmanb

Found out the meaning of some....

# Social Screen Resolution in VR mode
# 4 = 480p
# 3 = 720p
# 2 = 1080i
# 1 = 1080p
# 0 = Auto?
ep.write('\x21\x00\xaa\x10\x80\x01\x32\xff\x00\x00\x00\x00\x00\x00\x20\x05\x04\x00\x00\x00')

# HDMI audio through HMD
# 2 = No
# 1 = Yes
# 0 = Auto?
ep.write('\x21\x00\xaa\x10\xff\x01\x32\xff\x00\x00\x00\x00\x00\x00\x20\x05\x03\x01\x00\x00')

# Social Screen frequency in VR mode
# 0 = 60Hz
# 1 = 58Hz? - was doing something
ep.write('\x21\x00\xaa\x10\xff\x01\x32\xff\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x01\x00')

mungewell avatar Nov 16 '16 05:11 mungewell

Perfect, will test these tomorrow. Sorry for being away these days, I've been sick :(

gusmanb avatar Nov 16 '16 13:11 gusmanb