HighLevelAnalyzer.py
.README.md
extension.json
HighLevelAnalyzer.py
HighLevelAnalyzer.py
HighLevelAnalyzer.py
.Setting
classes are included so we can specify settings options within the Logic 2 UI.'mytype'
, which spans the same period of time as the input frame, and has 1 data value 'input_type'
that contains the value of the type
of the input frame.print()
statements to print debug messages to our in-app terminal. More information on our in-app terminal can be found below.search_for
setting, which we will be using later.decode(frame:
AnalyzerFrame
)
function.data
, with 3 fields: data
, error
, and address
. The serial data we are looking at will not be configured to produce frames with the address
field, so we can ignore that.decode(frame)
function in our HLA will be called once for each frame from the Async Serial analyzer, where:frame.type
will always be data
frame.data['data']
will be a `bytes` object with the data for that frameframe.data['error']
will be set if there was an error"H"
.Reload Source Files
to reload your HLA:H
or l
:search_for
setting that we added earlier comes in.'Hl'
, let's replace that with the value of search_for
:format
string in result_types
variable will need to be updated. 'mytype'
will also be updated to 'match'
to better represent that the frame represents a matched character.decode()
: we need to update the data in AnalyzerFrame
to include 'char'
, and update the frame 'type'
to 'match'
.AnalyzerFrame
s include a start_time
and end_time
. These get passed as the second and third parameter of AnalyzerFrame
, and can be used to control the time span of a frame. Let's use it to fill in the gaps between the matching frames.__init__()
to initialize the 2 time variables we will use to track the span of time that doesn't have a match:decode()
to track these variables:result_types
for our new AnalyzerFrame
type 'nomatch'
: