12

Support custom protocol analyzers

  • Live

R
Rani Horev

Loading and developing other analyzers

A

Activity Newest / Oldest

A

Amy

I see now, github.com/saleae/AnalyzerSDK/tree/alpha. I will follow along.


A

Amy

.. and, what does Live mean for version 2.3.5? Per the release notes, custom analyzers can be loaded, but how are they built and debugged? With the earlier SDK?


A

Amy

What about the Windows custom analyzer SDK? When will it be published, even in unstable form? Will I be able to debug them? For some reason, doing so what impossible with the prior SDK.


N

Neel

Status changed to: Live

N

Neel

Status changed to: In progress

A

Please please please enable this? I've got custom protocol analyzers that I'd really like to be able to load so I can then mesh them with the added features the HLA api provides for visualizing packet structures etc. Currently it looks like as a Mac user I'm SOL :-(


M

Mark

We will get to this, and I'm sorry it's not out already!
In the meantime, here are instructions to do this now. Note - the C++ API for hla support (called FrameV2) is not stable, and expected to change, and future updates to the app could cause your analyzer to either fail to load or crash the app :)
1. on MacOS, you can place your compiled analyzer into the `/Applications/Logic2.app/Contents/Resources/osx/Analyzers` directory, after making the following change to it:
`install_name_tool -change @executable_path/libAnalyzer.dylib @rpath/libAnalyzer.dylib libYourCustomAnalyzer.so`
That's needed because the relative locations of various libs are different in Logic2, and I haven't figured out how to make analyzers "just work" in the new setup.
2. Now your results can't be accessed by an HLA until you start adding FrameV2 object. Again, this part of the API is considered "internal" and we plan to break it, probably many times before we make it official.
Take a look at these:
github.com/saleae/AnalyzerSDK/tree/alpha
github.com/saleae/i2c-analyzer/tree/alpha
Note - that's the "alpha" branch of both of those repos.
Here you can see how the I2C analyzer uses FrameV2: github.com/saleae/i2c-analyzer/blob/76086e9b8fd8be9abb0d9fdebe241488827d6e6a/src/I2cAnalyzer.cpp#L117
Also, you will need to compile your analyzer with "LOGIC2" defined. You can see that set in the i2c cmake here:
github.com/saleae/i2c-analyzer/blob/alpha/CMakeLists.txt#L4
Again, this will probably work for at least a few weeks, but when it breaks you will want to go back to the i2c-analyzer and AnalyzerSDK repos to see what we changed :)


R

Rani Horev

Status changed to: Planned