-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Here's some corrections based on my older research.
- When the
unkbool in thepacket_tis true the length must be doubled (probably a pair of related data, maybe channels?). - There are special command packets that exist for example those that control the Mic.
- Mic ON:
91 02 0b 1f - Mic OFF:
91 01 00 - Mic ON (Media Remote):
91 01 01(simpler than DS, though I think both command forms work on each) - Enable Keys (Media Remote):
91 01 02(note this appears to be a bitmask, at least on the media remote, to toggle features. Thus00is all off,01is mic on,02is keys enabled, and03is mic on and keys enabled.)
- Mic ON:
I guess now that this is publicly known I should get off my butt and put the results of my research on my wiki (which you've linked actually, about 99% of it is my original research so I'm glad it's been helpful). I never got the audio out working because other life matters took priority, else we'd probably have had this information known sooner. I got hung up on the audio being Opus codec because that's what the microphone data is and had only considered other options like raw PCM just when I was no longer able to invest the time on the research.
Here are some packet samples that you can test against you packet structure. They are taken from a very terse BT capture which were all I could get due to limited tools and options. You can see the length doubling in practice here. packet_samples.txt
I'll try to find time to get the Opus data onto the wiki. It is true for both the DualSense and the Media Remote (Lotus). I have the media remote entirely figured out except for setting the IR codes, which is annoying.