Not sure if this helps or not, but here is what I do. The examples below are some stuff I am doing now to try to understand the differences between two different USB Hosting setups on how they handle a HUB…
I have a version of the USB LS/FS analyzer that supports the HLA, and a couple of HLA’s that boil the data down to what I mostly am interested in, which are the Setup, IN and OUT packets.
Here is showing the output in Data table mode.
The way I output is done manually, that is in Terminal mode, I make sure that the other analyzers do not output to terminal. For example:
And you will see my output is in a CSV format… Actually, I use Semi-colon Note in the image I highlighted that the LLA outputs are currently turned off.
I then select all of the text and copy to the clipboard. And then open excel and do a paste.
I then go to the Data tab/menu and select the text to columns item, and then follow the steps to use separators and select ; …
Which gives me data like:
1.39360519 | SETUP | 0x0 | 0x0 | ACK | [GET_DESCRIPTOR - DEVICE #:0 I:0x0 L:0x8] | 0x80 0x6 0x0 0x1 0x0 0x0 0x8 0x0 |
---|---|---|---|---|---|---|
1.393620256 | IN | 0x0 | 0x0 | ACK | 0x12 0x1 0x10 0x1 0x9 0x0 0x0 0x8 | |
1.394682918 | SETUP | 0x0 | 0x0 | ACK | SET_ADDRESS I:0x0 L:0x0] | 0x0 0x5 0x1 0x0 0x0 0x0 0x0 0x0 |
1.395682942 | SETUP | 0x0 | 0x1 | ACK | [GET_DESCRIPTOR - DEVICE #:0 I:0x0 L:0x12] | 0x80 0x6 0x0 0x1 0x0 0x0 0x12 0x0 |
1.395697974 | IN | 0x0 | 0x1 | ACK | 0x12 0x1 0x10 0x1 0x9 0x0 0x0 0x8 | |
1.39571154 | IN | 0x0 | 0x1 | ACK | 0x3c 0x41 0x4 0x10 0x0 0x48 0x1 0x2 | |
1.395725106 | IN | 0x0 | 0x1 | ACK | 0x0 0x1 | |
1.396682968 | SETUP | 0x0 | 0x1 | ACK | [GET_DESCRIPTOR - STRING #:0 I:0x0 L:0x7fc] | 0x80 0x6 0x0 0x3 0x0 0x0 0xfc 0x7 |
1.396698166 | IN | 0x0 | 0x1 | ACK | 0x4 0x3 0x9 0x4 | |
1.397682992 | SETUP | 0x0 | 0x1 | ACK | [GET_DESCRIPTOR - STRING #:1 I:0x409 L:0x7fc] | 0x80 0x6 0x1 0x3 0x9 0x4 0xfc 0x7 |
1.397698122 | IN | 0x0 | 0x1 | ACK | 0xa 0x3 0x44 0x0 0x65 0x0 0x6c 0x0 | |
1.39771169 | IN | 0x0 | 0x1 | ACK | 0x6c 0x0 |
And my HLA has print statements in it to generate the above stuff, like:
if self.base == 10:
print(str(start_bias_time), ';', self.frame_data['pid'], ';', str(self.endpoint[0]), ';', str(self.addr[0]), ";", self.frame_data['ack'], ';', text_str, ";",data_str)
else:
print(str(start_bias_time), ';', self.frame_data['pid'], ';', hex(self.endpoint[0]), ';', hex(self.addr[0]), ";", self.frame_data['ack'], ';', text_str, ";",data_str)
Not sure if that helps or not…
Current stuff up on github:
KurtE/Saleae_USB_Data_Packets_HLA at decode_bt (github.com)
KurtE/usb-analyzer: Saleae USB Analyzer (github.com)
Note: the above github projects are always WIP… Would be great if Saleae would make an official version of the USB analyzer that supports HLA…
Good luck