### Navigation

- previous
- ItemEncode 2.7.11.240 documentation »

# API Reference

## Overview

Controlling applications communicate with the Impinj ItemEncode device using the ItemEncode API. The API is a thin layer to provide a connection to the ItemEncode device using Google Protocol Buffers messages. The API is generated in multiple Host languages. For language specific API documentation, please see the doc folder within that language’s section of the ItemEncode package. This section will cover the ItemEncode Protocol Buffer messages. Please note that the Command/Response pairs will be wrapped in an API function for the Host language.

See also

For more information about Google Protocol Buffers, please see the Protocol Buffers website.

## Enumerations

### CartonContentsErrorType

Enum | Value | Description
--- | --- | ---
CARTON_CONTENTS_ERROR_EXTRA_LEADING_ENTER | 1 |
CARTON_CONTENTS_ERROR_EXTRA_TRAILING_ENTER | 2 |
CARTON_CONTENTS_ERROR_MISSING_LEADING_ENTER | 3 |
CARTON_CONTENTS_ERROR_MISSING_TRAILING_ENTER | 4 |

### CartonContentsResult

Enum | Value | Description
--- | --- | ---
CARTON_CONTENTS_RESULT_OK | 1 | This indicates that the contents of this packet describes a carton for which the device had good data.
CARTON_CONTENTS_RESULT_ERROR_NO_ENTER | 3 | The stop trigger was seen for this carton, but no corresponding start was seen. An example would be in a belt stoppage scenario during startup
CARTON_CONTENTS_RESULT_ERROR_NO_START | 2 | DEPRECATED

### DeviceExceptionEventType

NOT YET SUPPORTED

Enum | Value | Description
--- | --- | ---
DEVICE_EXCEPTION_EVENT_TYPE_UNKNOWN | 1 |
DEVICE_EXCEPTION_EVENT_TYPE_SYSTEM_FAULT | 2 |
DEVICE_EXCEPTION_EVENT_TYPE_OPERATION_START_TRIGGER_FAULT | 3 | Generated when a GPI start trigger fires before STP is done with the current operation and returned to the engaged state.

### DeviceFaultType

Enum | Value | Description
--- | --- | ---
DEVICE_FAULT_TYPE_NONE | 0 |
DEVICE_FAULT_TYPE_NETWORK_DISCONNECT | 1 |
DEVICE_FAULT_TYPE_APPLICATION_FAILURE | 2 |
DEVICE_FAULT_TYPE_FPGA_FAILURE | 3 |

### DeviceMode

Enum | Value | Description
--- | --- | ---
DEVICE_MODE_INVENTORY | 0 |
DEVICE_MODE_ENCODE | 1 |
DEVICE_MODE_VERIFY_TAGCHIP_BASIC | 2 |
DEVICE_MODE_VERIFY_TAGCHIP_DATA | 3 |
DEVICE_MODE_ITEM_VERIFY | 6 |

### DeviceOperatingState

Enum | Value | Description
--- | --- | ---
DEVICE_OPERATING_STATE_READY | 0 |
DEVICE_OPERATING_STATE_OPERATING | 1 |
DEVICE_OPERATING_STATE_ENGAGED | 2 |
DEVICE_OPERATING_STATE_FAULT | 3 |

### ErrorCode

Enum | Value | Description
--- | --- | ---
ERROR_CODE_SUCCESS | 0 |
ERROR_CODE_INVALID_COMMAND | 1 |
ERROR_CODE_INVALID_SET_KEY | 2 |
ERROR_CODE_INVALID_GET_KEY | 3 |
ERROR_CODE_INVALID_ADDRESS | 4 |
ERROR_CODE_INVALID_VALUE | 5 |
ERROR_CODE_FIRMWARE_INVALID | 6 |
ERROR_CODE_COMMAND_REFUSED | 7 |
ERROR_CODE_SET_KEY_READ_ONLY | 8 |
ERROR_CODE_NO_HANDSHAKE | 9 |
ERROR_CODE_NO_DEVICE_CONNECTION | 10 |
ERROR_CODE_UNSUPPORTED | 11 |
ERROR_CODE_NETWORK_INIT | 12 | Failure when initializing the device network connection.

### GPIOPolarity

Enum | Value | Description
--- | --- | ---
GPIO_POLARITY_ACTIVE_LOW | 0 |
GPIO_POLARITY_ACTIVE_HIGH | 1 |

### GPIOSignalMode

The way that GPIOs are used, with functions on the same GPIOs or on separate GPIOs.

Enum | Value | Description
--- | --- | ---
GPIO_SIGNAL_MODE_COMBINED | 0 |
GPIO_SIGNAL_MODE_SEPARATE | 1 |
GPIO_SIGNAL_MODE_PRESENCE_DETECTION | 2 |

### GPIOState

Enum | Value | Description
--- | --- | ---
GPIO_STATE_LOW | 0 |
GPIO_STATE_HIGH | 1 |

### Gen2Mode

Enum | Value | Description
--- | --- | ---
GEN2_MODE_MAX_THROUGHPUT | 0 |
GEN2_MODE_HYBRID | 1 |
GEN2_MODE_DENSE_READER_M4 | 2 |
GEN2_MODE_DENSE_READER_M8 | 3 |
GEN2_MODE_MAX_MILLER | 4 |
GEN2_MODE_DENSE_READER_M4_2 | 5 |
GEN2_MODE_MAX_THROUGHPUT_M4 | 6 |
GEN2_MODE_AUTO_SET | 1000 | DEPRECATED

### Gen2Session

Enum | Value | Description
--- | --- | ---
GEN2_SESSION_0 | 0 |
GEN2_SESSION_1 | 1 |
GEN2_SESSION_2 | 2 |
GEN2_SESSION_3 | 3 |

### InventorySearchMode

How to inventory tags.

Enum | Value | Description
--- | --- | ---
INVENTORY_SEARCH_MODE_DUAL_TARGET | 1 | Inventory tags from A to B state and back to A.
INVENTORY_SEARCH_MODE_SINGLE_TARGET_A_TO_B | 2 | Inventory tags from A to B state.
INVENTORY_SEARCH_MODE_SINGLE_TARGET_B_TO_A | 3 | Inventory tags from B to A state.
INVENTORY_SEARCH_MODE_SINGLE_TARGET_A_TO_B_MONZA_TAGFOCUS | 4 | Inventory tags from A to B state with boost.
INVENTORY_SEARCH_MODE_SINGLE_TARGET_B_TO_A_MONZA_TAGFOCUS | 5 | Inventory tags from B to A state with boost.
INVENTORY_SEARCH_MODE_CARTON_STAGE_1 | 7 | ItemVerify Inventory Search Mode 1
INVENTORY_SEARCH_MODE_CARTON_STAGE_2 | 8 | ItemVerify Inventory Search Mode 2

### LowEncodeVolumeEventType

Enum | Value | Description
--- | --- | ---
LOW_ENCODE_VOLUME_EVENT_MONZA | 1 |
LOW_ENCODE_VOLUME_EVENT_NON_MONZA | 2 |

### MonzaR6PMemoryMapConfig

Enum | Value | Description
--- | --- | ---
MONZA_R6P_MEMORY_MAP_CONFIG_96_BIT_EPC_64_BIT_USER | 0 |
MONZA_R6P_MEMORY_MAP_CONFIG_128_BIT_EPC_32_BIT_USER | 1 |

### OperationEventType

NOT YET SUPPORTED

Enum | Value | Description
--- | --- | ---
OPERATION_EVENT_TYPE_START_TRIGGER | 1 |
OPERATION_EVENT_TYPE_STOP_TRIGGER | 2 |
OPERATION_EVENT_TYPE_COMPLETE | 3 | An event for the end of the operation, and when no more reports will be delivered.

### OperationMode

How the reader will be used.

Enum | Value | Description
--- | --- | ---
OPERATION_MODE_BATCH | 0 | Use with a start and stop for a quantity of tags.
OPERATION_MODE_SINGLE | 1 | Use with a start and stop for optimized encoding or verification when a single tag is in the FoV.
OPERATION_MODE_CONTINUOUS | 2 | Use this mode to encode a continuous stream of tags.

### OperationSummaryResult

Enum | Value | Description
--- | --- | ---
OPERATION_SUMMARY_RESULT_PASS | 0 |
OPERATION_SUMMARY_RESULT_FAIL | 1 |

### OperationTriggerType

NOT YET SUPPORTED The source of the operation start/stop.

Enum | Value | Description
--- | --- | ---
OPERATION_TRIGGER_TYPE_CLIENT | 1 |
OPERATION_TRIGGER_TYPE_GPI | 2 |
OPERATION_TRIGGER_TYPE_TIMEOUT | 4 |

### PasswordGenerationMethod

Enum | Value | Description
--- | --- | ---
PASSWORD_GENERATION_METHOD_STATIC | 1 |

### RegulatoryRegion

RF regulatory region.

Enum | Value | Description
--- | --- | ---
REGULATORY_REGION_FCC_PART_15_247 | 0 |
REGULATORY_REGION_ETSI_EN_300_220 | 1 |
REGULATORY_REGION_ETSI_EN_302_208_LBT | 2 |
REGULATORY_REGION_HONG_KONG_920_925_MHZ | 3 |
REGULATORY_REGION_TAIWAN_922_928_MHZ | 4 |
REGULATORY_REGION_JAPAN_952_954_MHZ | 5 |
REGULATORY_REGION_JAPAN_952_954_MHZ_LOWPOWER | 6 |
REGULATORY_REGION_ETSI_EN_302_208_V1_2_1 | 7 |
REGULATORY_REGION_KOREA_917_921_MHZ | 8 |
REGULATORY_REGION_MALAYSIA_919_921_MHZ | 9 |
REGULATORY_REGION_CHINA_920_925_MHZ | 10 |
REGULATORY_REGION_JAPAN_952_956_MHZ_NO_LBT | 11 |
REGULATORY_REGION_SOUTH_AFRICA_915_919_MHZ | 12 |
REGULATORY_REGION_BRAZIL_902_907_AND_915_928_MHZ | 13 |
REGULATORY_REGION_THAILAND_920_925_MHZ | 14 |
REGULATORY_REGION_SINGAPORE_920_925_MHZ | 15 |
REGULATORY_REGION_AUSTRALIA_920_926_MHZ | 16 |
REGULATORY_REGION_INDIA_865_867_MHZ | 17 |
REGULATORY_REGION_URUGUAY_916_928_MHZ | 18 |
REGULATORY_REGION_VIETNAM_920_925_MHZ | 19 |
REGULATORY_REGION_ISRAEL_915_917_MHZ | 20 |
REGULATORY_REGION_PHILIPPINES_918_920_MHZ | 21 |
REGULATORY_REGION_INDONESIA_923_925_MHZ | 22 |
REGULATORY_REGION_NEW_ZEALAND_921P5_928_MHZ | 23 |
REGULATORY_REGION_JAPAN_916_921_MHZ_NO_LBT | 24 |
REGULATORY_REGION_LATIN_AMERICA_902_928_MHZ | 25 |

### ReportType

Use this type when registering a report handler.

Enum | Value | Description
--- | --- | ---
REPORT_TYPE_ALL | 0 |
REPORT_TYPE_DEVICE_EVENT | 1 |
REPORT_TYPE_OPERATION_SUMMARY | 2 |
REPORT_TYPE_TAG_OPERATION | 3 |
REPORT_TYPE_CARTON_CONTENTS | 4 |

### SerialNumberRangeFormat

Serial Number Range format specifies whether the EPC will be formatted in binary coded hexadecimal or binary coded decimal.

Enum | Value | Description
--- | --- | ---
SERIAL_NUMBER_RANGE_FORMAT_HEX | 0 |
SERIAL_NUMBER_RANGE_FORMAT_DEC | 1 |

### SerializationJobCompletionCriteria

Enum | Value | Description
--- | --- | ---
SERIALIZATION_JOB_COMPLETION_CRITERIA_NONE | 4 |

### SerializationJobType

Enum | Value | Description
--- | --- | ---
SERIALIZATION_JOB_TYPE_STATIC | 1 |
SERIALIZATION_JOB_TYPE_TID_TABLE | 4 |
SERIALIZATION_JOB_TYPE_ORDERED_LIST | 5 |

### TagOperationReportTrigger

Enum | Value | Description
--- | --- | ---
TAG_OPERATION_REPORT_TRIGGER_IMMEDIATE | 1 | Send reports as operations are performed.

### TagOperationReportType

Enum | Value | Description
--- | --- | ---
TAG_OPERATION_REPORT_TYPE_INVENTORY | 0 |
TAG_OPERATION_REPORT_TYPE_VERIFY | 1 |
TAG_OPERATION_REPORT_TYPE_ENCODE | 2 |

### TagOperationResult

Enum | Value | Description
--- | --- | ---
TAG_OPERATION_RESULT_PASS | 0 |
TAG_OPERATION_RESULT_PASS_ALREADY_DONE | 1 |
TAG_OPERATION_RESULT_RETRY | 2 |
TAG_OPERATION_RESULT_RETRY_INSUFFICIENT_POWER | 3 |
TAG_OPERATION_RESULT_RETRY_NO_RESPONSE_FROM_TAG | 4 |
TAG_OPERATION_RESULT_RETRY_SERIALIZATION_JOB_QUEUE_EMPTY | 5 |
TAG_OPERATION_RESULT_RETRY_TID_TABLE_NO_MATCH | 6 |
TAG_OPERATION_RESULT_RETRY_ORDERED_LIST_EMPTY | 7 |
TAG_OPERATION_RESULT_FAIL | 8 |
TAG_OPERATION_RESULT_FAIL_INSUFFICIENT_POWER | 9 |
TAG_OPERATION_RESULT_FAIL_NO_RESPONSE_FROM_TAG | 10 |
TAG_OPERATION_RESULT_FAIL_MEMORY_BANK_LOCKED | 11 |
TAG_OPERATION_RESULT_FAIL_MEMORY_BANK_MEMORY_OVERRUN | 12 |
TAG_OPERATION_RESULT_FAIL_GEN2_INSUFFICIENT_PRIVILEGES | 13 |
TAG_OPERATION_RESULT_FAIL_SERIALIZATION_JOB_QUEUE_EMPTY | 14 |
TAG_OPERATION_RESULT_FAIL_TID_TABLE_NO_MATCH | 15 | There was no TIDTableEntry for this tag.
TAG_OPERATION_RESULT_FAIL_ORDERED_LIST_EMPTY | 16 | The device has run out of OrderedListEntry.
TAG_OPERATION_RESULT_FAIL_TAG_CHIP_NOT_SUPPORTED | 17 | This tag chip is not supported.
TAG_OPERATION_RESULT_FAIL_TAG_CHIP_SUPPORTED_LICENSE_KEY_NOT_INSTALLED | 18 | This tag chip is supported, but the corresponding feature key has not been installed.
TAG_OPERATION_RESULT_FAIL_TAG_NOT_INVENTORIED | 19 | The device was expecting to see a tag (Single mode), but did not.
TAG_OPERATION_RESULT_FAIL_VOLUME_EXHAUSTED | 20 | The remaining encoding volume for this tag type has exhausted.
TAG_OPERATION_RESULT_FAIL_TID_PARITY_CHECK | 21 |
TAG_OPERATION_RESULT_FAIL_SERIAL_NUMBER_RANGE_EMPTY | 22 | The device has run out of serial numbers.
TAG_OPERATION_RESULT_FAIL_VOYANTIC_TEST_RESULT_MISSING | 23 | Device was configured to expect performance information packet, but did not receive one for this tid
TAG_OPERATION_RESULT_FAIL_VOYANTIC_TEST_RESULT_FAILED | 24 | The upstream performance indicator reported that this tag had poor performance. This will only come from a tagchip basic verifier who receives a performance report that declares a failure.
TAG_OPERATION_RESULT_VOID_TAG_PASS | 25 | The device attempted to void the tag, and was successful.
TAG_OPERATION_RESULT_VOID_TAG_FAIL | 26 | The device attempted to void the tag and failed to complete the task
TAG_OPERATION_RESULT_FAIL_TID_TABLE_INVALID_CONFIG | 27 | The encoding configuration for this tag was invalid.
TAG_OPERATION_RESULT_FAIL_FILTER_NO_MATCH | 28 | This tag didn’t match one of the configured filters.
TAG_OPERATION_RESULT_FAIL_VOLUME_LICENSE_REVOKED | 29 | The Volume License for this tag has been revoked. Please contact Impinj Support for assistance.
TAG_OPERATION_RESULT_FAIL_INVENTORIED_EPC_MISMATCH | 30 | The device has detected that the backscattered EPC does not match the EPC writes that were already performed.
TAG_OPERATION_RESULT_FAIL_CANNOT_CHANGE_MEMORY_MAP_CONFIG | 31 | The device has detected that the Monza R6P memory map was previously configured to a different state than what was requested.

### VersionType

The local library or remote device component corresponding to the version.

Enum | Value | Description
--- | --- | ---
VERSION_TYPE_KODIAK_HOST | 0 | Version of the tool used to create the API on the host.
VERSION_TYPE_KODIAK_READER | 1 | Version of the tool used to create the API on the reader.
VERSION_TYPE_FRAME_READER | 2 | Version of the protocol used by the reader.
VERSION_TYPE_API_HOST | 3 | Version of the API on the host.
VERSION_TYPE_API_READER | 4 | Version of the API on the reader.
VERSION_TYPE_FIRMWARE | 5 | Version of the reader firmware.
VERSION_TYPE_FIRMWARE_CUST | 6 | Version of custom application.
VERSION_TYPE_UPGRADE_AGENT | 7 | Version of the tool which upgrades reader software.
VERSION_TYPE_FPGA_IMAGE | 8 |

## Messages

### AddLicenseKeyCommand

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | LicenseKey | license_key |  |

### AddLicenseKeyResp

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### AddOrderedListEntriesCommand

Send a list of tag operations to perform.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | OrderedListEntries | ordered_list_entries |  |

### AddOrderedListEntriesResp

Returns SUCCESS if the OrderedListEntries were added. See AddOrderedListEntriesCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### AddSerializationJobCommand

Set the SerializationJob

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | SerializationJob | serialization_job |  |

### AddSerializationJobResp

See AddSerializationJobCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### AddTIDTableEntriesCommand

Send a list of tag operations to perform.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | TIDTableEntries | table_entries |  |

### AddTIDTableEntriesResp

Returns SUCCESS if the TID entry was added. See AddTIDTableEntriesCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### AntennaConfig

An antenna’s RF, timing, and Gen 2 behavior parameters.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | uint32 | antenna_ID |  | The 1-based ID of the reader antenna.
optional | Gen2Mode | gen2_mode | GEN2_MODE_MAX_THROUGHPUT |
optional | InventorySearchMode | inventory_search_mode | INVENTORY_SEARCH_MODE_SINGLE_TARGET_A_TO_B_MONZA_TAGFOCUS |
optional | Gen2Session | gen2_session | GEN2_SESSION_1 |
optional | int32 | transmit_power | 3000 | Transmit power in cdBm.
optional | int32 | receive_sensitivity |  | Receive sensitivity in cdBm. If not specified, no RSSI filtering is done.
optional | uint32 | tag_population_estimate | 32 |
optional | uint32 | minimum_dwell_time | 0 | Minimum time to dwell on the antenna in milliseconds. A value of 0 indicates no minimum.
optional | uint32 | maximum_dwell_time | 0 | Maximum time to dwell on the antenna in milliseconds. A value of 0 indicates no maximum.
optional | bool | enable_query_for_q_increase | false | Indicates whether a query should be used instead of a query adjust when the reader wishes to increase the Q value during the round.
optional | bool | enable_query_for_q_decrease | false | Indicates whether a query should be used instead of a query adjust when the reader wishes to decrease the Q value during the round.
optional | bool | enable_query_at_u_cycle_end | false | Indicates whether a query should be used instead of a query adjust for the flush queries at the end of the round.
optional | bool | enable_adaptive_tag_population_estimate | false | Indicates whether the tag_population_estimate in the AntennaConfig should be updated with the actual number of tags seen.

### AntennasConfig

A list of antenna configurations.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
repeated | AntennaConfig | antenna_config |  | The device will cycle through the configurations in the order in which they appear in the list. The amount of time spent on each antenna is determined by the reader, but constrained by the minimum_dwell_time and maximum_dwell_time if those parameters are set. It is valid to provide multiple AntennaConfig messages that contain the same antenna_id in which case they will simply be treated as independent AntennaConfig entries.

### BlockPermalockConfig

Gen 2 BlockPermalock command (BlockPtr, BlockRange) on User Memory Bank - Read/Permalock behavior.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | uint32 | block_pointer |  | The starting address for BlockMask in units of 16-bit blocks.
required | bytes | block_mask |  | The blocks to lock, starting at BlockPointer and ending ((16*(BlockMask array length)) - 1) blocks later.

### CartonContentsError

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | CartonContentsErrorType | error_type |  |
optional | Timestamp | extra_timestamp |  |
optional | Timestamp | min_timestamp |  |
optional | Timestamp | max_timestamp |  |

### CartonContentsJob

A Carton contents job is what you use to provide you with an estimate of what tags are in a given carton

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | uint32 | job_id | 1 |
optional | uint32 | enter_trigger_offset |  | Distance in millimeters from the enter trigger to the center of the tunnel
optional | uint32 | exit_trigger_offset |  | Distance in millimeters from the exit trigger to the center of the tunnel
optional | uint32 | carton_velocity |  | Speed of the cartons measured in millimeters / second
optional | bool | read_tid | true | Setting to false disables reading the TID. This can improve overall carton accuracy.
optional | uint32 | carton_spacing |  | DEPRECATED
optional | uint32 | start_trigger_offset |  | DEPRECATED
optional | uint32 | stop_trigger_offset |  | DEPRECATED

### CartonContentsReport

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | CartonContentsResult | carton_contents_result |  |
optional | Timestamp | enter_timestamp |  | Timestamp of the start trigger
optional | Timestamp | exit_timestamp |  | Timestamp of the stop trigger
optional | uint32 | carton_size |  | Detected carton size in millimeters
repeated | CartonContentsTag | carton_contents_tag |  | A list of all tags seen for the duration the carton was between the entry and exit sensors.
repeated | CartonContentsError | carton_contents_error |  |
optional | Timestamp | start_timestamp |  | DEPRECATED
optional | Timestamp | stop_timestamp |  | DEPRECATED

### CartonContentsTag

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bytes | tid |  |
optional | bytes | epc |  |
optional | uint32 | confidence |  | Confidence is given as a value between 0 and 100 (inclusive) to indicate whether the given tag is in the carton for which this report corresponds
optional | uint32 | metric_1 |  | A metric to add color to the confidence
optional | uint32 | metric_2 |  | A metric to add color to the confidence
optional | uint32 | metric_3 |  | A metric to add color to the confidence

### Command

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | ConnectCommand | connect |  | Connect to device.
optional | GetVersionsReaderCommand | get_versions_reader |  | Return all version information reported by the device and by the host-side library.
optional | StartCommand | start |  | Start the encode or inventory run. The device must be engaged with GPI or by calling engage before starting.
optional | StopCommand | stop |  | Stop the encode or inventory run. The device must be operating.
optional | GetDeviceStateCommand | get_device_state |  | Get the state (operating, fault, etc.) of the device. Contains a fault description, if any.
optional | SetDeviceConfigCommand | set_device_config |  |
optional | GetDeviceConfigCommand | get_device_config |  |
optional | SetAntennaConfigCommand | set_antenna_config |  |
optional | GetAntennaConfigCommand | get_antenna_config |  |
optional | EngageCommand | engage |  |
optional | DisengageCommand | disengage |  |
optional | SetOperationResultGPOCommand | set_operation_result_gpo |  | When the GPOConfig enable_operation_result_gpo is set false, this command lets the client application set the pass/fail GPO based on its own pass/fail conditions.
optional | AddSerializationJobCommand | add_serialization_job |  |
optional | RemoveSerializationJobCommand | remove_serialization_job |  |
optional | AddTIDTableEntriesCommand | add_tid_table_entries |  |
optional | AddOrderedListEntriesCommand | add_ordered_list_entries |  |
optional | SetInventoryJobCommand | set_inventory_job |  |
optional | SetCartonContentsJobCommand | set_carton_contents_job |  |
optional | GetOperationDataCommand | get_operation_data |  |
optional | AddLicenseKeyCommand | add_license_key |  |

### ConnectCommand

Sent on the initial device connection to verify the health of the channel.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | HandShake | hand_shake |  |

### ConnectResp

Indicates that the connection was successful. See ConnectCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |
optional | HandShake | hand_shake |  |

### DeviceConfig

Defines the behavior of the device. See SetDeviceConfigResp.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Region | region |  |
required | DeviceMode | device_mode | DEVICE_MODE_INVENTORY |
required | OperationMode | operation_mode | OPERATION_MODE_CONTINUOUS |
optional | OperationResponsibility | operation_responsibility |  |
optional | TriggerConfig | trigger_config |  |
optional | GPIConfig | GPI_config |  |
optional | GPOConfig | GPO_config |  |
optional | ReportConfig | report_config |  |

### DeviceEventConfig

Enable or disable classes of reports.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_operation_events | true |
optional | bool | enable_GPI_events | false |
optional | LowEncodeVolumeEventConfig | low_encode_volume_event_config |  |

### DeviceEventReport

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | OperationEvent | operation_event |  |
optional | GPIEvent | GPI_event |  |
optional | DeviceExceptionEvent | device_exception_event |  |
optional | LowEncodeVolumeEvent | low_encode_volume_event |  |

### DeviceExceptionEvent

NOT YET SUPPORTED

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | Timestamp | timestamp |  |
required | DeviceExceptionEventType | device_exception_event_type |  |
required | string | exception_detail |  |

### DeviceState

The health or fault state of the device.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | DeviceOperatingState | device_operating_state |  |
optional | DeviceFaultType | device_fault |  |
optional | string | fault_details |  |

### DisengageCommand

Called after StopCommand, return the device to its initial state.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### DisengageResp

See DisengageCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### EPCMemory

Describes the EPC memory of a tag.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bytes | data |  |
optional | bytes | mask |  | Bit mask permitting read-modify-write of the existing EPC data. For each bit use a ‘1’ to update/write new EPC bit and a ‘0’ to keep the existing EPC bit. The default is to update the entire EPC (96 bits).
optional | Serialization | serialization |  |
optional | PCWord | pc_word |  | Defines the PC bits (hence the inventoried EPC length).

### EngageCommand

Tell the device to do any preparation possible before a StartCommand is sent so that the operation begins as soon after the start as possible.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### EngageResp

See EngageCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### Filter

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bytes | data |  | Data to be matched.
optional | bytes | mask |  | Which bits to match.
optional | uint32 | word_offset | 0 | This offset specifies the word address to start the data and mask at.

### GPIConfig

Define how input functions map to signal lines and defines input polarities.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | GPIOSignalMode | signaling_mode | GPIO_SIGNAL_MODE_COMBINED |
optional | GPIOPolarity | GPI1_polarity | GPIO_POLARITY_ACTIVE_LOW |
optional | GPIOPolarity | GPI2_polarity | GPIO_POLARITY_ACTIVE_LOW |
optional | GPIOPolarity | GPI3_polarity | GPIO_POLARITY_ACTIVE_LOW |

### GPIEvent

Generated when any of the gpi inputs change

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | Timestamp | timestamp |  |
required | uint32 | gpi_state |  |

### GPOConfig

Define how output functions map to signal lines and defines output polarities.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | GPIOSignalMode | signaling_mode | GPIO_SIGNAL_MODE_SEPARATE | Operation pass/fail on the same GPO or separate GPOs.
optional | GPIOPolarity | GPO1_polarity | GPIO_POLARITY_ACTIVE_LOW | Operation Status - Start and Complete
optional | GPIOPolarity | GPO2_polarity | GPIO_POLARITY_ACTIVE_LOW | In separate output mode, GPO2 will indicate with this polarity that the operation passed. In combined mode when the operation clock transitions, this setting indicates pass and the opposite polarity failure.
optional | GPIOPolarity | GPO3_polarity | GPIO_POLARITY_ACTIVE_LOW | In separate output mode, a failure will set GPO3 low or high depending on this setting.
optional | uint32 | GPO_pulse_duration | 1 | The output pulse duration in milliseconds. A value of zero means toggle as fast as possible.
optional | bool | enable_operation_result_gpo | true | If set to true, the GPO will change when the operation is complete. If false the client may set pass/fail with the set_operation_result_gpo command.

### GetAntennaConfigCommand

Request the antenna configuration.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### GetAntennaConfigResp

Return the configuration which was set on all antennas.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |
optional | AntennasConfig | antennas_config |  |

### GetDeviceConfigCommand

Get the DeviceConfig

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### GetDeviceConfigResp

Return the device configuration. See GetDeviceConfigCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |
optional | DeviceConfig | device_config |  |

### GetDeviceStateCommand

Request the health of the device. See GetDeviceStateResp

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### GetDeviceStateResp

The health of the device. See GetDeviceStateCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |
optional | DeviceState | device_state |  |

### GetOperationDataCommand

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### GetOperationDataResp

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |
optional | OperationData | operation_data |  |

### GetVersionsReaderCommand

Get versions of device firmware, API. See GetVersionsReaderResp

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### GetVersionsReaderResp

The device firmware and API versions. See GetVersionsReaderCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |
optional | Versions | versions |  | A list of remote device API and firmware versions.

### HandShake

API description sent as part of the connection. The client app does not need to create or send this message.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | string | API_name |  |
required | uint32 | API_version |  |

### InterDeviceCommunicationMetrics

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | string | serial_number |  |
optional | uint64 | received_message_count |  |

### InvalidResp

The command sent to the device was not recognized as valid.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### InventoryJob

What to report during an inventory.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | uint32 | job_id | 1 |
optional | UserMemory | user_memory |  |

### LicenseKey

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | bytes | license_key_payload |  |

### LockConfig

The Gen 2 lock payload.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | bytes | lock_config_payload |  | A binary string representation of the 20-bit Gen 2 lock command payload.

### LowEncodeVolumeEvent

Generated when the remaining number of encodes falls below a threshold

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | LowEncodeVolumeEventType | low_encode_volume_event_type |  |
optional | uint64 | remaining_monza_encodes |  |
optional | uint64 | remaining_non_monza_encodes |  |

### LowEncodeVolumeEventConfig

Configuration of Low Encode Volume Events

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_low_encode_volume_events | true |
optional | uint64 | monza_threshold | 200000 | The threshold at which the device will start sending reports that the remaining Monza encode volume is low.
optional | uint64 | non_monza_threshold | 200000 | The threshold at which the device will start sending reports that the remaining Non Monza encode volume is low.
optional | uint32 | monza_reminder_period | 50000 | The period at which the the device will send a reminder report that the remaining Monza encode volume is low. The value is the number of attempted encodes since last report. Set to 0 to disable reminders.
optional | uint32 | non_monza_reminder_period | 50000 | The period at which the the device will send a reminder report that the remaining Non Monza encode volume is low. The value is the number of attempted encodes since last report. Set to 0 to disable reminders.

### MonzaR6AFeatureConfig

Tag specific feature configuration for Monza R6-A tags. For further details, see: https://support.impinj.com/hc/en-us/articles/115001376564-Monza-R6-A-Product-Brief-Datasheet

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_auto_tune |  | Enable Auto-tune
optional | bool | enable_short_range_mode |  | Enable Short-Range mode

### MonzaR6FeatureConfig

Tag specific feature configuration for Monza R6 tags. For further details, see: https://support.impinj.com/hc/en-us/articles/202765328-Monza-R6-Product-Datasheet

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_auto_tune |  | Enable Auto-tune

### MonzaR6PFeatureConfig

Tag specific feature configuration for Monza R6P tags. All three features must be specified. For further details, see: https://support.impinj.com/hc/en-us/articles/204793258-Monza-R6-P-Product-Datasheet

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_auto_tune |  | Enable Auto-tune
optional | bool | enable_short_range_mode |  | Enable Short-Range mode
optional | MonzaR6PMemoryMapConfig | memory_map_config |  | Configure tag memory map

### MonzaS6CFeatureConfig

Tag specific feature configuration for Monza S6C tags. Both features must be specified. For further details, see: https://support.impinj.com/hc/en-us/articles/205744047-Monza-S6-C-Product-Datasheet

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_auto_tune |  | Enable Auto-tune
optional | bool | enable_short_range_mode |  | Enable Short-Range mode

### MonzaSelfSerialization

Monza Self-Serialization between 34-bits and 96-bits in length.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | string | serialization_prefix |  | Up to a 4-bit prefix, always left most MSB of 38-bit serial number, e.g. “10”.

### OperationData

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | OperationDataDetails | operation_details |  |
repeated | string | data |  |

### OperationDataDetails

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | string | serial_number |  |
optional | string | firmware_version |  |
optional | string | region |  |
repeated | string | installed_features |  |
optional | uint32 | non_monza_volume_key_id |  |
optional | OperationMetrics | operation_metrics |  |
optional | uint32 | monza_volume_key_id |  |

### OperationEvent

NOT YET SUPPORTED A change in the device operating state driven by completion of the tag operation or a start or stop driven by GPI.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | Timestamp | timestamp |  |
required | OperationEventType | operation_event_type |  |
optional | OperationTriggerType | operation_trigger_type |  |

### OperationMetrics

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | uint64 | remaining_non_monza_encodes |  |
repeated | TagMetrics | tag_metrics |  |
repeated | InterDeviceCommunicationMetrics | inter_device_communication_metrics |  |
optional | uint64 | remaining_monza_encodes |  |

### OperationResponsibility

Define which areas of tag memory this device is responsible for writing and which operations to perform.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bytes | EPC_memory_mask | [FFFF] | Hex representation of 32-bit Blocks (F = 1111 = encode 4 32-bit blocks).
optional | bool | EPC_memory_pc_word | true | Encode or verify configured PC Word
optional | bool | TID_config_word | true | Write TID config word
optional | bytes | user_memory_mask | [FFFFFFFFFFFFFFFF] | Hex representation of 32-bit Blocks (F = 1111 = encode 4 32-bit blocks)
optional | bool | secure_password | true | If true, use the secured password to move tag to secure state on this device.
optional | bool | access_password | true | Encode or verify configured 32-bit Access password
optional | bool | kill_password | true | Encode or verify configured 32-bit Kill password
optional | bool | lock_config | true | Set or verify (read reserved memory) Lock config
optional | bool | blockpermalock_config | true | Set or verify (read reserved memory) BlockPermalock config
optional | bool | kill_tag | true |
optional | bool | tag_specific_feature_config | true | Tag specific feature configuration for Monza 6 (and possibly) later tags
optional | uint32 | tags_in_view_count | 6 | The approximate number of tags in the field of view. This parameter is only valid In continuous mode; a report will be sent when a tag is removed from a list of this size. A larger number will delay reports, but allow retries if a tag remains in view.
optional | uint32 | tags_in_pipeline_view_count | 0 | The approximate number of total tags expected in the STP pipeline. This parameter is only significant in systems that have multiple devices working together to pipeline the encoding process, the value should be set to exceed the total number of tags between the first and last STP devices. By default this is set to 0 (disabling the feature).
repeated | STPDevice | downstream_pipeline_devices |  | A list of downstream STP devices in pipeline which will be sent operation notifications, only necessary when ‘tags_in_pipeline_view_count’ is used. The order the devices will determine the order the notifications are sent.
optional | STPDevice | device_of_record |  | Downstream STP device that allows non Monza encoding
optional | uint32 | voyantic_tagsurance_test_results_cache_size |  | The approximate number of tags expected in the pipeline between a third party tester and the first ItemEncode device. Setting this to 0 disables the listening feature. Setting this to any other value indicates that this ItemEncode device should expect rf performance reports for every tag it sees
optional | VoidTagResponsibility | void_tag_responsibility |  | In cases where there is voiding possible, this is how the user specifies the responsibility of this device

### OperationSummaryReport

If enabled in ReportConfig, this report is sent when the device operation stops.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | Timestamp | timestamp |  |
required | OperationSummaryResult | operation_result |  |
optional | string | operation_result_detail |  |
optional | uint32 | operation_elapsed_time |  |
optional | uint32 | tag_operation_total_count |  |
optional | uint32 | tag_operation_pass_count |  |
optional | uint32 | tag_operation_fail_count |  |

### OperationSummaryReportConfig

Enable a summary report at the end of the device operation.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | bool | enable_operation_summary_reports | true |

### OrderedListEntries

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
repeated | OrderedListEntry | ordered_list_entries |  |

### OrderedListEntry

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | EPCMemory | EPC_memory |  |
optional | UserMemory | user_memory |  |
optional | Password | secure_password |  |
optional | Password | access_password |  |
optional | Password | kill_password |  |
optional | LockConfig | lock_config |  |
optional | BlockPermalockConfig | blockpermalock_config |  | NOT YET SUPPORTED
optional | TIDMemory | TID_memory |  |
optional | MonzaR6PFeatureConfig | monza_r6p_feature_config |  | MonzaR6PFeatureConfig will only be acted upon when encoding a Monza R6P tag. Will be ignored for all other tag types.
optional | MonzaS6CFeatureConfig | monza_s6c_feature_config |  | MonzaS6CFeatureConfig will only be acted upon when encoding a Monza S6C tag. Will be ignored for all other tag types.
optional | MonzaR6FeatureConfig | monza_r6_feature_config |  | MonzaR6FeatureConfig will only be acted upon when encoding a Monza R6 tag. Will be ignored for all other tag types.
optional | MonzaR6AFeatureConfig | monza_r6a_feature_config |  | MonzaR6AFeatureConfig will only be acted upon when encoding a Monza R6A tag. Will be ignored for all other tag types.

### PCWord

EPC PC word, see Gen2 specification for packing of bits

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bytes | data |  | 32 bit PC Word.
optional | bytes | mask |  | DEPRECATED

### Packet

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Command | command |  |
optional | Response | response |  |
optional | Report | report |  |
optional | Update | update |  |

### Password

A password for accessing, securing, or locking a tag.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | PasswordGenerationMethod | password_generation_method | PASSWORD_GENERATION_METHOD_STATIC |
required | bytes | data |  | A 32-bit password or passcode for Hash with TID as salt.

### Region

Details needed to specify all region parameters.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | RegulatoryRegion | region_id | REGULATORY_REGION_FCC_PART_15_247 |
repeated | uint32 | fixed_frequency_list |  |

### RemoveSerializationJobCommand

NOT YET SUPPORTED

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | uint32 | job_id |  |

### RemoveSerializationJobResp

NOT YET SUPPORTED

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### Reply

A response sent by all commands.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | ErrorCode | error_code |  |
optional | string | error_string |  | Human-readable text describing what happened.

### Report

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | DeviceEventReport | device_event_report |  |
optional | TagOperationReport | tag_operation_report |  |
optional | OperationSummaryReport | operation_summary_report |  |
optional | CartonContentsReport | carton_contents_report |  |

### ReportConfig

Define what to report to the client application.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | DeviceEventConfig | device_event_config |  |
optional | OperationSummaryReportConfig | operation_summary_report_config |  |
optional | TagOperationReportConfig | tag_operation_report_config |  |

### Response

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | ConnectResp | connect |  |
optional | GetVersionsReaderResp | get_versions_reader |  |
optional | StartResp | start |  |
optional | StopResp | stop |  |
optional | InvalidResp | invalid |  |
optional | GetDeviceStateResp | get_device_state |  |
optional | SetDeviceConfigResp | set_device_config |  |
optional | GetDeviceConfigResp | get_device_config |  |
optional | SetAntennaConfigResp | set_antenna_config |  |
optional | GetAntennaConfigResp | get_antenna_config |  |
optional | EngageResp | engage |  |
optional | DisengageResp | disengage |  |
optional | SetOperationResultGPOResp | set_operation_result_gpo |  |
optional | AddSerializationJobResp | add_serialization_job |  |
optional | RemoveSerializationJobResp | remove_serialization_job |  |
optional | AddTIDTableEntriesResp | add_tid_table_entries |  |
optional | AddOrderedListEntriesResp | add_ordered_list_entries |  |
optional | SetInventoryJobResp | set_inventory_job |  |
optional | SetCartonContentsJobResp | set_carton_contents_job |  |
optional | GetOperationDataResp | get_operation_data |  |
optional | AddLicenseKeyResp | add_license_key |  |

### STPDevice

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | string | hostname |  | This must be an IP address (for now) in the format ‘ddd.ddd.ddd.ddd’, for example: 192.168.1.10

### SerialNumberRange

Serial number range can be up to 496-bits or full length of EPC (pad left with zeros)

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | uint64 | serial_number_range_start |  |
optional | uint64 | serial_number_range_end |  |
optional | uint32 | bit_offset |  |
optional | SerialNumberRangeFormat | serial_number_range_format |  |

### Serialization

How serial numbers are determined.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | uint32 | serialization_bits |  | Length of serial number to generate e.g. 38-bits
optional | MonzaSelfSerialization | monza_self_serialization |  | Monza Self-Serialization between 34-bits and 96-bits in length.
optional | SerialNumberRange | serial_number_range |  | Serial Number Range can be up to 496-bits or full length of EPC (pad left with zeros).

### SerializationJob

What to write and whether to set passwords and lock the tag.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | uint32 | job_id |  |
required | SerializationJobType | job_type |  |
optional | SerializationJobCompletionCriteria | job_completion_criteria | SERIALIZATION_JOB_COMPLETION_CRITERIA_NONE |
optional | uint32 | operation_quantity |  | NOT YET SUPPORTED
optional | EPCMemory | EPC_memory |  |
optional | TIDMemory | TID_memory |  |
optional | UserMemory | user_memory |  |
optional | Password | secure_password |  |
optional | Password | access_password |  |
optional | Password | kill_password |  |
optional | LockConfig | lock_config |  |
optional | BlockPermalockConfig | blockpermalock_config |  | NOT YET SUPPORTED
optional | bool | kill_tag |  |
optional | MonzaR6PFeatureConfig | monza_r6p_feature_config |  | MonzaR6PFeatureConfig will only be acted upon when encoding a Monza R6P tag. Will be ignored for all other tag types.
optional | MonzaS6CFeatureConfig | monza_s6c_feature_config |  | MonzaS6CFeatureConfig will only be acted upon when encoding a Monza S6C tag. Will be ignored for all other tag types.
optional | MonzaR6FeatureConfig | monza_r6_feature_config |  | MonzaR6FeatureConfig will only be acted upon when encoding a Monza R6 tag. Will be ignored for all other tag types.
optional | MonzaR6AFeatureConfig | monza_r6a_feature_config |  | MonzaR6AFeatureConfig will only be acted upon when encoding a Monza R6A tag. Will be ignored for all other tag types.
optional | uint32 | TID_table_size | 100 |
repeated | TIDTableEntry | TID_table_entries |  |
repeated | OrderedListEntry | ordered_list_entries |  |
optional | VoidTagConfig | void_tag_config |  |
optional | SerializationJobFilters | filters |  |

### SerializationJobFilters

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
repeated | Filter | tid_filters |  |
repeated | Filter | epc_filters |  |

### SetAntennaConfigCommand

Set the configuration for one or more antennas.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | AntennasConfig | antennas_config |  |

### SetAntennaConfigResp

See SetAntennaConfigCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### SetCartonContentsJobCommand

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | CartonContentsJob | carton_contents_job |  |

### SetCartonContentsJobResp

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### SetDeviceConfigCommand

Set the device’s behavior.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | DeviceConfig | device_config |  |

### SetDeviceConfigResp

See SetDeviceConfigCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### SetInventoryJobCommand

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | InventoryJob | inventory_job |  |

### SetInventoryJobResp

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### SetOperationResultGPOCommand

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | OperationSummaryResult | operation_summary_result |  |

### SetOperationResultGPOResp

See SetOperationResultGPOCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### StartCommand

Start the encode or inventory operation.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### StartResp

The reply to StartCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### StartTriggerConfig

Always accept the start command from the client or optionally a GPI start trigger.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_gpi_start_trigger | true |

### StopCommand

Stop the current device encode or inventory operation.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | reserved |  |

### StopResp

See StopCommand.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | Reply | reply |  |

### StopTriggerConfig

Always accept stop command from the client or optionally from GPI, count, or timeout.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | enable_gpi_stop_trigger | true |
optional | uint32 | timeout | 0 | Timeout in milliseconds. 0 = no timeout.

### TIDMemory

Describes the TID memory of a tag.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | bytes | data |  | The data to write to a tag. The length of this binary string must be a multiple of 16-bits
optional | uint32 | word_offset | 0 | If you don’t want to start the data the beginning of memory, specify this offset so that the data and mask start at your specified word offset

### TIDTableEntries

A list of tag operations to perform.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
repeated | TIDTableEntry | tid_table_entries |  |

### TIDTableEntry

Describes the operation to perform on a single tag.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | bytes | TID |  | The TID of the tag for these encoding actions to be performed on.
optional | EPCMemory | EPC_memory |  |
optional | TIDMemory | TID_memory |  | This is the TID memory to write. In tags such as Monza4QT or UCodeX, there is writable memory in the TID memory bank after the read-only unique serialized TID bits.
optional | UserMemory | user_memory |  |
optional | Password | secure_password |  |
optional | Password | access_password |  |
optional | Password | kill_password |  |
optional | LockConfig | lock_config |  |
optional | BlockPermalockConfig | blockpermalock_config |  | NOT YET SUPPORTED
optional | bool | kill_tag |  |
optional | bool | void_tag |  |
optional | MonzaR6PFeatureConfig | monza_r6p_feature_config |  | MonzaR6PFeatureConfig will only be acted upon when encoding a Monza R6P tag. Will be ignored for all other tag types.
optional | MonzaS6CFeatureConfig | monza_s6c_feature_config |  | MonzaS6CFeatureConfig will only be acted upon when encoding a Monza S6C tag. Will be ignored for all other tag types.
optional | MonzaR6FeatureConfig | monza_r6_feature_config |  | MonzaR6FeatureConfig will only be acted upon when encoding a Monza R6 tag. Will be ignored for all other tag types.
optional | MonzaR6AFeatureConfig | monza_r6a_feature_config |  | MonzaR6AFeatureConfig will only be acted upon when encoding a Monza R6A tag. Will be ignored for all other tag types.

### TagMetrics

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bytes | tag_chip |  |
optional | TagModeMetrics | verify_basic_metrics |  |
optional | TagModeMetrics | verify_data_metrics |  |
optional | TagModeMetrics | encode_metrics |  |
optional | TagModeMetrics | inventory_metrics |  |
optional | TagModeMetrics | carton_contents_metrics |  |

### TagModeMetrics

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | uint64 | total_count |  |
optional | uint64 | pass_count |  |
optional | uint64 | fail_count |  |
optional | uint64 | void_count |  |

### TagOperationReport

Timestamp, antenna id, frequency, RSSI should be last values on last attempt. All *_result bools should be included and set to true when they are enabled in the OperationResponsibility and confirmed as complete.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | TagOperationReportType | tag_operation_report_type |  |
optional | TagOperationResult | tag_operation_result |  |
optional | string | tag_operation_result_detail |  |
optional | bytes | TID |  | big endian 16-bit words representing the TID.
optional | bytes | EPC |  | big endian 16-bit words representing the EPC.
optional | bytes | EPC_attempted |  |
optional | bytes | user_memory_inv |  | big endian 16-bit words representing the user memory. Used in Inventory mode, note that ‘user_memory_result’ is unrelated.
optional | bool | EPC_memory_result |  |
optional | bool | access_password_result |  |
optional | bool | kill_password_result |  |
optional | bool | lock_config_result |  |
optional | bool | user_memory_result |  |
optional | bool | blockpermalock_result |  |
optional | bool | kill_tag_result |  |
optional | bool | pc_word_result |  |
optional | bool | tag_specific_feature_config_result |  |
optional | bool | tid_write_result |  |
optional | Timestamp | timestamp |  |
optional | uint32 | antenna_ID |  |
optional | uint32 | frequency |  | Units are kHz
optional | int32 | RSSI |  | RSSI of the Ack response (EPC) in units of dBm * 100.
optional | uint32 | job_id |  |

### TagOperationReportConfig

Configure what types of reports to send from the device.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | bool | enable_tag_operation_reports | true |
optional | bool | enable_tag_operation_retry_reports | false |
optional | TagOperationReportTrigger | tag_operation_report_trigger | TAG_OPERATION_REPORT_TRIGGER_IMMEDIATE |
optional | bool | enable_reporting_over_serial_port | false | Send a brief one-line ASCII report over the device’s serial port. Only used for single operating mode. See OperationMode.
optional | bool | send_serial_report_after_GPO_deassert | false | Send after GPO pass/fail assert or deassert.
optional | bool | enable_epc_in_serial_report | false | This only has meaning if enable_reporting_over_serial_port is true. When this is false, the EPC reported in the serial tag report is the empty string instead of the actual EPC read. This is useful for reducing the amount of traffic over the serial port if the EPC is not useful for a particular application.
optional | bool | enable_tag_operation_pass_already_done_reports | false |

### Timestamp

The time that an event happened on the device. Used in reports so a client application knows when tag operations occur.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | uint64 | useconds_since_epoch |  | Microseconds since Jan. 1 1970.

### TriggerConfig

Define how GPI signals affect operations start and stop.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | StartTriggerConfig | start_trigger_config |  |
optional | StopTriggerConfig | stop_trigger_config |  |

### Update

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | AddTIDTableEntriesCommand | add_tid_table_entries |  |

### UserMemory

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bytes | data |  | data length must be a multiple of 16-bits, used in Encode and Verify modes
optional | bytes | mask |  | DEPRECATED
optional | uint32 | word_offset | 0 | If you don’t want to start the data the beginning of memory, specify this offset so that the data and mask start at your specified word offset.
optional | uint32 | word_count_inv | 0 | Number of words to read, used in Inventory mode, the default of 0 means don’t ready anything.

### Version

A version of part of the system. The version number is usually in the form “major.minor.maintenance.build-ident”.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
required | VersionType | version_ID |  |
optional | uint32 | major |  | Also used for single number versions.
optional | uint32 | minor |  |
optional | uint32 | maintenance |  |
optional | uint32 | build |  |
optional | string | ident |  | A semicolon-separated list of additional version information, such as the name of the component and if a “Final” or “Dev” build was done.

### Versions

A list of local API library and device versions.

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
repeated | Version | version_list |  |

### VoidTagConfig

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | kill_tag |  | If kill_tag is set, it overrides the other possible voiding operations, and none of the other ones will be attempted.
optional | bool | permalock_all_banks |  | Attempt to permalock all the memory banks after writing a 0 length to the PC word and 0xDEADDEAD to the first 2 words of EPC memory.

### VoidTagResponsibility

Label | Type | Field | Default | Description
--- | --- | --- | --- | ---
optional | bool | pc_word_to_zero | true | Set EPC Length to 0.
optional | bool | first_epc_words | true | Encode first two EPC words to DEAD DEAD.
optional | bool | permalock | true | Permalock the entire tag.
optional | bool | kill | true | Kill the tag.

### Navigation

- previous
- ItemEncode 2.7.11.240 documentation »