How Do I Filter Data on Two Addresses using Command Line Instructions?

Question from the Customer:
I have captured hours of data using Data Center Software (.tdc files). I’d like to filter data starting with a specific address, such as 0xF0 OR 0xFF. How can I do that? Also, is it possible to filter data on two addresses?

I’m also looking into using command line instructions (CLI), such as:

filter({'addr_10bit': _not(None), 'data': {_not((['^', 0xf0], 'hex')), _not((['^', 0xff], 'hex'))}, 'addr_unknown': False})

Do you have any guidance for implementing filters via the Command Line?

Response from Technical Support:
Thanks for your question! You can filter captured data in the Data Center Software. It’s easy to filter for a single address such as 0XF0 or 0xFF in the LiveFilter pane by entering the address under Device Address.  You can also identify the device in the device tree under the Bus Pane and right click to filter. You can filter data for two addresses using a two-stage process. The instructions are provided in the following sections.

Filter Data on One Address

  1. Click View -> navigator.
  2. Click on the LiveFilter tab
  3. Find the Address field.  For I2C, it is labeled “Addresses.” For CAN, the field is labeled “ID.” For USB, the field name is “DEV.”
  4. Enter the value of the desired address. In this case, 0XF0 or 0xFF.

Two-Stage Filtering for Two Addresses

It is possible to filter data for two addresses in the Data Center Software.  It takes two stages to complete:

  1. Open the .tdc file.
  2. Filter the data for address 0xF0 using the instructions above.
  3. Save a copy of the filtered data to a new .tdc file, by selecting the option Save only filtered view.
  4. Reopen the newly saved .tdc file.
  5. Filter the data for address 0xFF using the instructions above.

For more information about filtering a capture, refer to the section Filtering in the Data Center Software User Manual.

 

Two-Stage Filtering Using Command Line Instructions

The command line can be used, but the format must be correct. Here is an example of CLI that should work. Similar to above, it would be done in two stages:

 

Stage 1: filter({'addr_10bit': _not(None), 'data': _not(([0xf0], 'hex'))})
Stage 2: filter({'addr_10bit': _not(None), 'data': _not(([0xff], 'hex'))})

 

For more information about using CLI, refer to the section Command Line Window in the Data Center Software User Manual.

We hope this answers your question. Additional resources that you may find helpful include the following

Have more questions? Please contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo