Products > Test Equipment

Brymen IR connection protocol - Anyone sniffed it yet?

<< < (9/31) > >>

jadew:
@Simon

Any chance you can dump the HID descriptor of the original cable?

Edit: HID Report Descriptor.

jadew:
Simon, thanks for the report descriptor!

 >:D

Will post code and schematic in a bit.

Edit: I added the schematic and the code.

Now here's  the deal, I didn't use the original cable's VID and PID, because brymen owns them, this means the cable here won't work with the original software since it's looking for a different VID/PID pair.

Enjoy

Edit2:
Changed the schematic a bit.

aurel:
As suggested before, you should really have a look at Brymen's protocol documentation. You can find the BM869 one inside the BM860-Bs86x windows software distribution from http://brymen.com/product-html/software-download/. It is indeed the documentation of the USB protocol of Brymen's official cable, but it seems to have only a very thin layer over the raw IR protocol.

In the documentation the transfer is described as one 27 bytes packets, but in fact, it is the concatenation of 3 USB HID interrupt transfer, each one composed of one HID report ID byte (always 0x00) and 8 actual payload bytes. So if you remove the HID report bytes, the actual packet is 24 bytes, the last 4 of which are always 0x00 in my experience (probably USB HID padding). So this leaves us with only 20 bytes of actual content, which is.... tadammm... 160 bits ! (does that ring a bell ?  ;))
Looking at the scope capture of the IR data, the encoding seems to match perfectly Brymen's documentation (without the HID report ID bytes), with each byte transferred LSB first. Each bit of the IR transfer represents one segment of the LCD.

So it seems Brymen's cable just packs the raw IR data into some standard USB HID interrupt transfer, without any other kind of transformation.

I hope this can help you support more features with your home made cable.

jadew:
Hey,

Thanks for posting, but the cable is already complete since my last post :P

And you are correct, there's not much to it, it's just the data they describe in that document.

From the code I posted last time:

--- Code: ---switch (read_step)
{
// Report 1
// First report consists of a blank byte + the first 7 bytes read
case 1:
outbuf[0] = 0;
memcpy(outbuf + 1, buff, 7);
break;

// Report 2
// Second one consists of the next 8 bytes read
case 2:
memcpy(outbuf, buff + 7, 8);
break;

// Report 3
// This one consists of only 0x86 in the 4th byte while the other ones are "Don't care"
case 3:
outbuf[3] = 0x86;
break;
}

--- End code ---

jancelot:
So, did anyone achieve a data-logging to the computer of the 869S using custom software and hardware? I would like to see the whole thing.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod