41

HLA - Support multiple LLA inputs


Avatar
Jonathan Gjertsen

Some (real) example use cases:

  • Example 1: I have some SPI traffic that I want the HLA to annotate it with different data depending on the state of some other GPIO pins.

  • Example 2: I have some serial traffic that contains a battery voltage reading, and I want the HLA to compare that reading with some analog data on another channel.

  • Example 3: I want to combine the aforementioned serial and SPI traffic to see e.g. the time between some event on the SPI bus and an associated event on the serial bus.


Saleae Edit: Changed title

A

Activity Newest / Oldest

H

Henri

I need multichannel support for differential power measurements


B

Bert

Is there an update on this? I also have a usecase to decode two LLA in a single HLA e.g. generate an error bubble when timings between two channels are incorrect


Avatar

Tim

We unfortunately don't have any udpates on this yet. We're continuing to monitor interest in this in the meantime, and I wish we could work on this sooner. Allowing for multiple LLA inputs would certainly make HLAs much more powerful. We're a small team of only 3 developers and we're backed up with other priority work for quite some time.


  • B
Avatar

Tim

discuss.saleae.com/t/for-serial-port-dual-channel-data-capture-then-use-the-wireshark-to-analyze-the-protocol/1836
"Now I can get the data of the channel through Hal, but the channel can only be single channel, and the serial port is sent and received through negotiation and encryption. Therefore, is there any way to get the messages of two channels in Python at the same time, and decrypt the encrypted data through AES in Python?"


Avatar

Tim

Merged with: HLA: Support analyzing data from multiple LLAs

N

Noah Andrews

When writing an HLA for a UART-based protocol, there's no reliable way to read the data for both TX and RX. It would be great if I could provide a way to hook up multiple low-level analyzers to the same high-level analyzer, to handle this use case.


Avatar

Tim

Merged with: Dual analyzer support

R

Ryan Lindeman

I am attempting to develop a High Level Analyzer for a serial protocol that involves encrypted payloads.
The issue is that the AES key is only sent from one Async serial lines but is used for decrypting payloads on the other Async serial line in my capture.
It would be helpful if a High Level Analyzer could select and decode two lower level Async serial lines so I could use one Python instance of the High Level Analyzer which would be able to share this encryption key.


M

Michael

One work around might be to save the key locally in a file from the one HLA, and read it from the 2nd HLA, or use the parameters, and print out from one Analyzer and set it via parameters to the other, and do a reload on the 2nd one.


R

Ryan Lindeman

Thank you for the suggestion. IIRC, my testing seemed to indicate that each HLA source was processed serially so it wasn't possible to use an external source (e.g. local file) since it didn't seem to processing the two inputs at the same time.


Avatar

Tim

Merged with: Multiple inputs to HLAs

Avatar

Ryan Huffman

Currently HLAs only accept input from one analyzer. For some use-cases, taking input from multiple analyzers is necessary.


Avatar

Tim

github.com/saleae/gitbook-docs/issues/37
"Feature Request: High Level Analyzers - Multiple Input Analyzers"


A

Andre

Let the instances (added Filters) of the same HLA Class knowing each other by sharing their self pointer in a "classs" list.
The basic idea is that one instance of a HLA Class can read one protocol and have one output channel. So the basic framework can stay the same. Additionally each HLA instance of of the same Class has a list of the other self pointers. The goal is that the programmer can define which data from different inputs are shared. The different task of the HLA can defined by the programmer as a selectable option. So the programmer has all the freedom he needs:
- read and combine multiple inputs
- displaying multiple individual output lines
- select different task for each HLA instance


Avatar

Tim

#61310
"right now a HLA can only have one input. My idea was to store the HLA objects in a class list. Unfortunately from my point of view, your framework separates the HLA classes when I load the same HLA twice. Both work fine separately, but wont see eachother. Do you have a solution for me?"


Avatar

Tim

discuss.saleae.com/t/hla-monitoring-two-sources/1044/2
"I also had this issue. I’ve been using sockets to connect the two HLAs and let them communicate with each other, but it’s been a bit finnicky getting the timing right."


Avatar

Tim

Allow a single high level analyzer to monitor and decode multiple low level analyzer sources.


Avatar

Tim

discuss.saleae.com/t/hla-monitoring-two-sources/1044
"Hi. Had a Logic8 for about 30mins so far and love it! Wow.

I would like to write an HLA that monitors two (AsyncSerial) sources. It would monitor the master and slave comms of a serial bus. I see how easy it is to write a python HLA monitoring one side, but is it possible to get an AnalyzerFrame from each channel so I can check for bus sync issues?"


C

Colin

+1 I have a master and slave serial bus that I'd like to synchronize and verify the command and response.


Avatar

Tim

discuss.saleae.com/t/hla-monitoring-two-sources/1044
"Hi. Had a Logic8 for about 30mins so far and love it! Wow.

I would like to write an HLA that monitors two (AsyncSerial) sources. It would monitor the master and slave comms of a serial bus. I see how easy it is to write a python HLA monitoring one side, but is it possible to get an AnalyzerFrame from each channel so I can check for bus sync issues?"


Avatar

Tim

A multiple input HLA could allow for adding addons for existing analyzers. Example use case:
For SPI, adding an IO pin (often called DC for Data/Command), that emulate 9 bit Data.

Discuss post:
discuss.saleae.com/t/logic-2-3-7/722/10?u=timreyes


P

Peter

I have an application that fits example 1; a wireless module that has a pin that selects if the serial data into and out of the module is over the air data or commands for the chip.


Avatar

Jonas Jonsson

If you have a parallel DAC there can be multiple signals that all constructs an analog signal.


P

Paul Y

Good idea. For example on Thunderbolt3 data from both TX and RX is important to associate commands and responses.


J

JEAN VISCONTE

Serial use 2 wires with one analyzer each. You may have to group I2C & SPI for testing purposes...