Pre-Filter Configurations Tutorial

Pre-Filter Configurations Tutorial in RFID API-3

Singulation

Refer Singulation Configuration Tutorial for details. In order to filter tags that match a specific condition, it is necessary to use the tag-sessions and their states (setting the tags to different states based on match criteria - reader.Actions.PreFilters.add) so that while performing inventory, tags can be instructed to participate (singulation - reader.Config.Antennas.setSingulationControl) or not participate in the inventory based on their states in RFID API-3. Same can be used or configured in Zebra IoT Connector too.

State-Aware Singulation

In state-aware singulation the application can specify detailed controls for singulation: Action and Target. Action indicates whether matching Tags assert or deassert SL (Selected Flag), or set their inventoried flag to A or to B. Tags conforming to the match criteria specified using the method reader.Actions.PreFilters. Add are considered matching and the remaining are non-matching. Target indicates whether to modify a tag’s SL flag or its inventoried flag, and in the case of inventoried it further specifies one of four sessions in RFID API-3. Same can be used or configured in Zebra IoT Connector too.

Get Current Pre-Filter

Get current Pre-Filter
{
    "command": "get_mode",
    "command_id": "16266718797272556",
    "payload": {}
}
Set Pre-Filter

To set a Pre-Filter, we should use query and selects parameters in Operating Mode Rest API.

Example of set Pre-Filter payload
{
    "type": "INVENTORY",
    "query": {
        "tagpopulation": 10,
        "sel": "ALL",
        "session": "S0",
        "target": "A"
    },
    "modeSpecificSettings": {
        "interval": {
            "unit": "seconds",
            "value": 0
        }
    },
    "selects": [
        {
            "target": "SL",
            "action": "ASSERTSL_DEASSERTSL",
            "membank": "EPC",
            "pointer": 32,
            "length": 16,
            "mask": "A22F"
        }
    ]
}