FrameV2 / HLA Support - Analyzer SDK
The C++ analyzer SDK was created before our new, python high level analyzers were introduced.
High level analyzers allow for new analyzers to be created, which instead of processing the raw input signals recorded by the device, instead process frames produced by C++ analyzers.
When the HLA system was introduced, only a handful of Saleae created protocol analyzers produced results that could be passed into the HLA system.
However, as of Saleae Logic 2.3.43, released in early 2022, it is now possible for custom 3rd party C++ analyzers to produce results that can be then interpreted by HLAs. This requires C++ analyzers to be updated to use the new "FrameV2" API.
The FrameV2 API does not completely replace the existing "Frame" class and collection yet. The existing "Frame" class is still exclusively used to produce the displayed bubbles, and for the analyzer-specific export feature. However, If a C++ analyzer uses FrameV2, these new objects will be available to HLAs.
Additionally, FrameV2 objects replace the original Frame objects in the data table, allowing for multiple, user configurable columns, as well as a variety of data formats.
Using FrameV2
Requirements:
Make sure you're using the latest version of the Analyzer SDK. The newest version of the Analyzer SDK contains the new public method
UseFrameV2
in the Analyzer.h header file.Make sure you're using the Latest Logic software, 2.3.43 or newer. Note, analyzers that support FrameV2 cannot be loaded in older versions of the application.
This example assumes you already have a working C++ Analyzer, and just want to add FrameV2 support.
Usage example:
Screenshots:
API Documentation
UseFrameV2();
Call from the constructor one time to register your Analyzer as using FrameV2 objects. Without this, the V1 Frame objects will be displayed in the data table, and you will not be able to use your C++ Analyzer with HLAs.
FrameV2 Methods
The new FrameV2 class declaration can be viewed here: https://github.com/saleae/AnalyzerSDK/blob/fc2fd81512a0c3d97a516b7f52b8c73fbd404889/include/AnalyzerResults.h#L14
Usage from an HLA
Before writing your own HLA, you can test your C++ Analyzer using the "LLA Frame V2 Tester" available in the marketplace. It's a simple utility which converts the key value pairs from the connected C++ analyzer into JSON objects, for easy inspection.
Check out our HLA data format documentation:
HLA - Analyzer Frame FormatLearn more about building HLAs here:
High-Level Analyzer (HLA) ExtensionsLast updated