# tmr_filter.h File Reference

Mercury API - Tag Filter Interface. More...

`#include "tmr_tag_data.h"`
`#include "tmr_gen2.h"`
`#include "tmr_iso180006b.h"`

## Classes

struct | TMR_TagFilter

## Typedefs

typedef enum TMR_FilterType | TMR_FilterType
typedef struct TMR_TagFilter | TMR_TagFilter

## Enumerations

enum | TMR_FilterType { TMR_FILTER_TYPE_TAG_DATA = 0, TMR_FILTER_TYPE_GEN2_SELECT = 1, TMR_FILTER_TYPE_ISO180006B_SELECT = 2 }

## Functions

bool | TMR_TF_match (TMR_TagFilter *filter, TMR_TagData *tag)
TMR_Status | TMR_TF_init_tag (TMR_TagFilter *filter, TMR_TagData *tag)
TMR_Status | TMR_TF_init_gen2_select (TMR_TagFilter *filter, bool invert, TMR_GEN2_Bank bank, uint32_t bitPointer, uint16_t maskBitLength, uint8_t *mask)

## Detailed Description

Mercury API - Tag Filter Interface.

Author:
  Brian Fiegel

Date:
  4/18/2009

## Typedef Documentation

typedef enum TMR_FilterType TMR_FilterType

Type of a TMR_TagFilter structure

## Enumeration Type Documentation

enum TMR_FilterType

Type of a TMR_TagFilter structure

Enumerator:

  TMR_FILTER_TYPE_TAG_DATA | Tag data filter - non-protocol-specific
  TMR_FILTER_TYPE_GEN2_SELECT | Gen2 Select filter
  TMR_FILTER_TYPE_ISO180006B_SELECT | ISO180006B Select filter

## Function Documentation

TMR_Status TMR_TF_init_gen2_select | ( | TMR_TagFilter * | filter,
|  | bool | invert,
|  | TMR_GEN2_Bank | bank,
|  | uint32_t | bitPointer,
|  | uint16_t | maskBitLength,
|  | uint8_t * | mask |
| ) |  |  |

Initialize a TMR_Filter structure as a Gen2 select filter with the provided parameters.

Parameters:

  | filter | Pointer to the filter structure to initialize
  | invert | Whether to invert the result of the select
  | bank | The memory bank on the tag to compare with the data
  | bitPointer | The bit address of the tag data to compare
  | maskBitLength | The length of the data to compare
  | mask | The data to compare

TMR_Status TMR_TF_init_tag | ( | TMR_TagFilter * | filter,
|  | TMR_TagData * | tag |
| ) |  |  |

Initialize a TMR_Filter structure as tag data (EPC) filter with the provided tag (which is copied).

Parameters:

  | filter | Pointer to the filter structure to initialize
  | tag | TMR_TagData to use as the filter value

bool TMR_TF_match | ( | TMR_TagFilter * | filter,
|  | TMR_TagData * | tag |
| ) |  |  |

Test if a tag matches this filter. Only applies to selects based on the EPC.

Parameters:

  | filter | The filter to test with.
  | tag | The tag to test.

Returns:
  true if the tag matches the filter.