Logic 2.2.6 - High Level Analyzers!

Sorry about that Mike, this is a known bug and it’s our highest priority. It won’t be out in today’s release (2.2.7) but it will be in the next one. This bug causes a lot of problems when the app tries to delete a tab, or tries to re-record in an existing session, because it tries to free all that memory at once, locking up the back-end, and leaving the front-end in bad shape.

Yup, this is a limitation we’re still trying to work out. Sorry for the trouble! We ship with a specific version of Python (3.8 I believe) without a python executable. (we only ship the shared libs). I think pip is included though.

First of all, great job again, the new Logic2 is a great improvement!

I tried adding a HLA for an SPI gpio extender chip I’m playing with and got it within a few minutes to do the basic work, and after a few hours playing around I want to give a little bit of feedback.

  • The only drawback i saw is the lack of logging internal data ( I’m an old school programmer and like printf like debugging :wink: ) but then i wrote a little file logger to see what’s going on.
  • Another thing to note is that I have 5 of these port extenders sharing one SPI bus with different CS lines, so currently I need 5 instances of my HLA to decode everything.

Are there any plans for grouping low level analyzers (like SPI, UART, …) together as input for an HLA?

What I have in mind is a project at work with an full duplex UART and a command/response protocol where it would be nice for verification to see if a packet on TX line matches a response on RX line and decode the transferred data for humans.

If you are interested i could share the SPI HLA example, so you can add it to your examples for completeness (actually you have UART and I2C examples as I see)

1 Like

When I try to run with my 16 channel Logic Pro, the app (2.2.6 in this case) crashes (simply quits with no information) and after that point my Logic Pro blinks its little red LED in a pattern 7, 1, 3, then a longer pause, then 7, 1, 3. Any idea what that means? This is on a Windows 10 laptop.

Nevermind. It turned out to be a bad USB cable. Replaced that, and it’s working fine now. Hmm.

1 Like

Glad to hear that it’s working for you. Try 2.2.7, it’s much faster! :love_you_gesture:

Awesome! We’re glad to hear that you’re using the new HLAs (and using the acronym HLA :wink: )

Yes and yes, these two are our roadmap.
We’re planning to stream the data of the HLAs to the results table and the terminal. As part of the terminal, you’ll be able to printf to it as well.
We’re waiting for some feedback before adding multiple low-level analyzers (LLA) as input. The tricky part is how to pass the data to the HLA, should we pass it immediately even if one low-level analyzer is behind or pass the results from all inputs for the same time frame. What would be better for you?

If you are interested i could share the SPI HLA example, so you can add it to your examples for completeness

Of course!
In addition, in a couple of weeks we’ll add a community “marketplace” to allow everyone to publish and share their HLAs (and Python measurements)

Hi Kurt,

I just wanted to check in and say that we are still going to be taking a look at this! It’s on my list for this week. I’ll be taking a look once I finish work on a few stability issues.

Ryan

1 Like

Thanks, not a hurry on this.

But having some good examples of how to do something like this will be great!

Hi Chris - I would recommend trying out 2.2.8, it contains a handful of stability improvements, including a fix that is in the same area as the crash log you posted. Please let us know if it continues to occur, though!

Edit: Just saw your message from the 2.2.8 thread - glad to hear that things are more stable for you!

Great to hear that logging will be supported in future!

Regarding the way to pass the data to an HLA I have not enough knowledge on how your analyzers work right now. Right now this is also not crucial, as long as I can combine data from multiple low level analyzers into one HLA. But the time frame based input sounds native to me as it also implies the possibility to process everything in an chronological order.

Below you can see an example use case I have in mind (each character means 1 byte on UART):

HLA:     ....[---PACKET 1---]....[---PACKET 2---]....[---PACKET 3---]....
UART_TX: ....Bccc1E..............Bccc2E........................Brrr3E....
UART_RX: ..............Brrr1E..............Brrr2E....Bccc3E..............

The protocol i want to visualize is using data frames with begin of packet (B) and end of packet (E) markers and some payload. Both participants are able to send commands (Bccc1E) which must be acknowledged (Brrr1E). As it’s an old legacy protocol and we have arround 200 different packets/message it would be great to have textual representaion of the data and also some kind of indication that the awaited response has been received.
I have already implemented a python class for parsing/matching and decoding the packets offline after recording and exporting the data as CSV with Logic1 SW but integration into Logic2 as an HLA would be a real benefit.

How can can I share my simple SPI HLA to you? I could post it here but mail seems more convenient.

You can find some documentation here: GitHub - saleae/logic2-extensions: Logic 2 Extension Examples
Feel free to ask if anything is missing there.

We currently support only one low-level analyzer input, however, we’re planning on extending that to any number of inputs.

How can can I share my simple SPI HLA to you? I could post it here but mail seems more convenient.

Next week we’ll start building the community marketplace and allow people to install/share their HLAs with others. In the meantime, you can email it to us directly: rani(@)saleae.com

Hi Kurt. The work involved for the HLA will be more involved than I originally expected. It will require adding HLA support to the USB analyzer, which is one of our more complex analyzers (if not the most). I’ve added partial support, but unfortunately I won’t have more time to complete it this week. I’ll let you know once I have time to revisit it, but it’s on hold for the moment.

Is it a known issue that the analog and digital traces of the same channel are poorly aligned?

Is there a way to change the analog scaling on the display?

No, that was fixed a few months ago. Could you share some information for us?

  1. please check what version you are using. The latest is 2.2.8
  2. What device are you using? (Logic 4/Logic 8/Pro 8/Pro 16)
  3. Which channels do you have enabled, and what analog & digital sample rate are you seeing?
  4. Can you send a screenshot showing the problem?
  5. Does the alignment problem get worse/better as you zoom out? (meaning the data is not tracking with the viewport zoom & pan properly)

To vertically scale an analog channel, hold ctrl (cmd on mac) and use the mousewheel.
To vertically pan an analog channel, hold ctrl (cmd on mac) and click & drag vertically with the mouse.
We’re working out a way to make it easier to find these interaction commands!

Ahh. This is a little trick with a track pad as it depends on where the cursor is when you start to scroll.

Thanks for the help.

@Glenn Note too that if you “mouse over” an analogue channel an “autoscale” icon pops up in the top right of the channel pane. Click that to get the visible region of the signal scaled so display range is set to the minimum and maximum signal values.

1 Like

Cool. I’ve learned a lot while working from home.

1 Like

Thanks for getting this feature out there! I’ve been anticipating this ever since I heard it was coming :slight_smile:

Any plans to expand the SPI format to include ‘CS asserted’ and ‘CS deasserted’ conditions? That would really help simplify SPI HLA designs (at least it would for mine!)