I would assume that the USB packet documentation does exist somewhere. Is there a reason why Phidgets doesn't put that in the public domain? As for my purpose ... I like solving C puzzles and your codebase is certainly that. I also like understanding the fundamentals associated with an embedded device. Ultimately, I'd like to use that knowledge to "teach myself" how to use libusb-1.0. If I get that far I plan to open all my code for others to peruse and use. Any other Linux Phidget developers who want to volunteer are welcome to help out. I'd love to see if this puzzle can be crowd solved.
I'm assuming that the 8/8/8 has to be "initialized" in some fashion. I haven't yet found the "hook" into the code where that occurs. I'm also assuming that the write thread "polls" the 8/8/8 periodically for values. I seem to have found the function which gets called (CGETPACKET(InterfaceKit)) ... although I haven't yet puzzled out how it gets called. I can see the bit bashing section in this function which sets the outgoing USB buffer. Just a matter now of puzzling out what is happening. I have been able to cradle this call in a separate executable so that I can probe more directly what the bit bashing is doing. I've done a similar thing for the CPHIDGETDATA(InterfaceKit) data decomposition function. Unfortunately, while I can see what the bit bashing is doing, I don't readily "know" what bits are set for a 1124 temperature read. Plowing forward ...