@floyd ... I downloaded your java classes and followed your instructions for running lib-usb. Thanks much for posting the info. It works great and is providing a good foundation to build upon.
I've been playing around with writing a new class for parsing out the RF codes. I'm using about a half dozen DS10A window sensors, a KR19A keyfob, and a MS14A motion sensor, to figure out how to parse the bytes.
I modified your bulk read method to reverse the bit order for the bytes read in. Not sure what's the correct bit order (big or little endian), but as long as I'm parsing the bits correctly, I guess it doesn't matter. When I figured out how to parse the RF version of the Powerline command sent by the MS14A and the KR19A, the house code ended up being bit-flipped, so it was more convenient to just bit-flip everything and start from there. An X10 engineer somewhere is laughing, thinking about someone having to reverse engineer the RF PLC string .... the device code and function code bit fields are all intertwined.
When I added in the bit-flipping code, lib-usb started spitting a USBTimeoutException. It occured everytime the bulk reader hit the CM15A and there was no data, so I added a no-op exception handler for that exception, and modified the translate data method, so that it didn't unnecessarily send a null string down the line.
Thanks again for posting!
Denny