Logic 2.2.6 - High Level Analyzers!

Again sounds promising. Currently I get the impression that only Serial, I2C and SPI work with the HLAs?

Also, it is not the “DATA” objects that I want, but more specifically those transactions that either send or receive data (not sure if I explained this correctly). It is sort of a cross between your V1 control transfers output and packets output. I have had the best luck starting from “Packets” mode.

So for example if I have a Teensy 4 with a host USB setup, in this case the mouse example of the USBhost_t3 library. and I capture the usb data for plugging in a USB mouse (This case belkin). I receive a bunch of stuff, which I then export a file, looks like I can not upload text files or zip files here… But this simple example output about 2340 lines. The majority of the lines I don’t care about, for example here are the first 50 lines:

Time [s],PID,Address,Endpoint,Frame #,Data,CRC
2.492700044000000,SETUP,0x00,0x00,,,0x02
2.492724536000000,DATA0,,,,0x80 0x06 0x00 0x01 0x00 0x00 0x08 0x00,0x94EB
2.492792732000000,ACK,,,,,
2.492808040000000,IN,0x00,0x00,,,0x02
2.492834018000000,NAK,,,,,
2.492848440000000,IN,0x00,0x00,,,0x02
2.492874314000000,NAK,,,,,
2.492889108000000,IN,0x00,0x00,,,0x02
2.492915280000000,NAK,,,,,
2.492929840000000,IN,0x00,0x00,,,0x02
2.492955574000000,NAK,,,,,
2.492969906000000,IN,0x00,0x00,,,0x02
2.492995872000000,NAK,,,,,
2.493010642000000,IN,0x00,0x00,,,0x02
2.493036838000000,NAK,,,,,
2.493051408000000,IN,0x00,0x00,,,0x02
2.493077134000000,NAK,,,,,
2.493091474000000,IN,0x00,0x00,,,0x02
2.493117430000000,NAK,,,,,
2.493132208000000,IN,0x00,0x00,,,0x02
2.493158400000000,NAK,,,,,
2.493172942000000,IN,0x00,0x00,,,0x02
2.493198692000000,NAK,,,,,
2.493213040000000,IN,0x00,0x00,,,0x02
2.493238988000000,NAK,,,,,
2.493253776000000,IN,0x00,0x00,,,0x02
2.493279956000000,NAK,,,,,
2.493294506000000,IN,0x00,0x00,,,0x02
2.493320252000000,NAK,,,,,
2.493334574000000,IN,0x00,0x00,,,0x02
2.493360546000000,NAK,,,,,
2.493375342000000,IN,0x00,0x00,,,0x02
2.493401514000000,NAK,,,,,
2.493496916000000,IN,0x00,0x00,,,0x02
2.493523074000000,NAK,,,,,
2.493537474000000,IN,0x00,0x00,,,0x02
2.493563370000000,NAK,,,,,
2.493700044000000,IN,0x00,0x00,,,0x02
2.493725898000000,DATA1,,,,0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x08,0x7711
2.493793538000000,ACK,,,,,
2.493807368000000,OUT,0x00,0x00,,,0x02
2.493831870000000,DATA1,,,,,0x0000
2.493857528000000,ACK,,,,,
2.494777690000000,SETUP,0x00,0x00,,,0x02
2.494802172000000,DATA0,,,,0x00 0x05 0x01 0x00 0x00 0x00 0x00 0x00,0x25EB
2.494870984000000,ACK,,,,,
2.494885942000000,IN,0x00,0x00,,,0x02
2.494911952000000,NAK,,,,,

I don’t need or want all of those IN/NAK combinations. Note the higher speed Bluetooth communications have a lot of other things I don’t need, like start of frames…

In the above lines there is about 4 things of interest.

The grep I mentioned strips this down to a file of about 314 line that look like:

2.492700044000000,SETUP,0x00,0x00,,,0x02
2.492724536000000,DATA0,,,,0x80 0x06 0x00 0x01 0x00 0x00 0x08 0x00,0x94EB
--
2.493700044000000,IN,0x00,0x00,,,0x02
2.493725898000000,DATA1,,,,0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x08,0x7711
--
2.493807368000000,OUT,0x00,0x00,,,0x02
2.493831870000000,DATA1,,,,,0x0000
--
2.494777690000000,SETUP,0x00,0x00,,,0x02
2.494802172000000,DATA0,,,,0x00 0x05 0x01 0x00 0x00 0x00 0x00 0x00,0x25EB
--

This again can be mostly good enough especially if you get rid of the – lines.
But I then usually edit such as to remove the – lines plus convert the two lines into one… I currently strip out time stamp but if I were programmatically doing it, I would probably leave one.

So my edit knocks this down to 105 lines, which the first one look like:

SETUP,0x00,,,0x02,,0x80 0x06 0x00 0x01 0x00 0x00 0x08 0x00,0x94EB
IN,0x00,,,0x02,,0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x08,0x7711
OUT,0x00,,,0x02,,,0x0000
SETUP,0x00,,,0x02,,0x00 0x05 0x01 0x00 0x00 0x00 0x00 0x00,0x25EB
IN,0x00,,,0x02,,,0x0000
SETUP,0x00,,,0x1D,,0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00,0xF4E0

Again it will be fun to see what initial ones you setup for USB. Again I am assuming that the USB analyzer is not yet setup to work with HLA? If it is, is there some more documents/examples/

Thanks