HLA > Export results to CSV

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

1 Like