HighLevelAnalyzer

Base class for High Level Analyzer (HLA) extensions.

Subclass this to create a custom HLA that processes frames from a lower-level analyzer and produces higher-level decoded frames.

Declare settings as class-level attributes using StringSetting,

NumberSetting, or ChoicesSetting. Define a result_types

dict mapping frame type names to their display format. Implement the decode method to process each input frame.

from saleae.analyzers import HighLevelAnalyzer, AnalyzerFrame, StringSetting

class MyHLA(HighLevelAnalyzer):
    my_setting = StringSetting(label='My Setting')

    result_types = {
        'mytype': {'format': 'Output: {{data.val}}'}
    }

    def __init__(self):
        pass

    def decode(self, frame: AnalyzerFrame) -> AnalyzerFrame:
        return AnalyzerFrame('mytype', frame.start_time, frame.end_time,
                             {'val': 'hello'})
AI/LLM users: see llms-extensions.txt for machine-readable documentation.