Appendix C: Advanced Filters
33
APPENDIX C: ADVANCED FILTERS
The following help text can be seen as well by clicking the Help button of the
Edit Filter Rule
dialog.
Note
Please note that Filters are a very powerful tool. They can however unintentionally hide
valuable data from you. Please be careful when applying custom filters.
A good practice is to start from an existing filter and gradually add new rules while testing
their performance.
Note
Filtering and selecting the columns for display do not affect the actual data acquisition. All
transactions and their full data are always captured.
Data pattern expressions
A data-pattern expression is a string that describes how to determine if a data-block should be
considered as "matched" or "unmatched". The syntax used with data-pattern expressions in
DPA-400 Aux Channel Monitor application is described below
The data-block must be covered completely by the data-pattern expression. If the data block is
shorter, or longer than the expression, then the data block is determined as "not matched". The
'*' wildcard can be used to allow data blocks of any size to match.
Whitespaces and new-lines are ignored, and are allowed anywhere; White spaces and new-
lines can be used strategically to make the expression more readable.
For example: "*!(10)??(10)" is the same as "* ! (10) ? ? (10)"
Comment blocks:
Comments must be written enclosed in curly-braces '{' and '}'.
Wildcards
Wildcards used are '*' and '?'
? = Match any single data byte only.
* = Match any number of any data bytes. (including the possibility of matchin NO data bytes)
For data matching, the byte value must be enclosed in braces '(' and ')'. Use prefixes '$' to
indicate HEX value, '%' to indicate BIN. No prefix indicates DEC.
Examples:
* ($10) ($00) : Matches any data pattern that has the bytes $10, $00 at end of data.
? ($10) ($00) : Matches 3-byte data pattern that has $10 as second byte and $00 as third byte.
* ($10) * ($00) : Matches any data pattern that has $10 and ending to a $00 byte.
* ($10) * ($00) * : Matches any data pattern that has $10 and $00 after it.
($10) ? * ($20) * : Matches any data pattern that has $10 as first byte, followed by $20 with at
least one other byte in between. (i.e. will not match $10, $20)
Use '!' to invert the match:
!($00) = Match any data byte that isn't $00.
Use '?' within HEX or BIN value to ignore that bit in comparison:
($??) = ? = Any data Byte.