:tocdepth: 4

.. _device-modes:

Device Modes
------------

Overview
++++++++

The |project| device has a few different device modes that it is capable of. By
configuring the :ref:`DeviceMode<device-mode>`, the application is telling the 
|project| device what to do when it encounters a tag.

.. _encode-mode:

Encode
++++++
The primary mode of an |project| device. In the Encode mode, the |project| 
device will attempt to encode any tags that it encounters. It will use the 
:ref:`SerializationJob<serialization-job>` to decide what encoding operations
will need to be performed to the tag and the 
:ref:`OperationResponsibility<operation-responsibility>` to determine which
of those encoding operations it is responsible for.

.. _verify-tag-chip-basic-mode:

Verify Tag Chip Basic
+++++++++++++++++++++
In Verify Tag Chip Basic mode, the |project| device will attempt to verify that
any tags that it encounters have the correct EPC length. It will use the 
:ref:`SerializationJob<serialization-job>` to determine what EPC length that the
tag should be matched against.

.. _verify-tag-chip-data-mode:

Verify Tag Chip Data
++++++++++++++++++++
In Verify Tag Chip Basic mode, the |project| device will attempt to verify that
any tags that it encounters have had all requested encode operations completed.
Please note that this is specifically for final tag verification in a 
:ref:`Pipeline System<pipeline-encoding>` with upstream |project| devices 
performing the encoding work. It will use the 
:ref:`SerializationJob<serialization-job>` to decide what encoding operations 
should have been performed.

.. _inventory-mode:

Inventory
+++++++++
In Inventory mode, the |project| device will report all tags that it encounters.
If specified in the :ref:`InventoryJob<inventory-job>`, the device will also 
perform a read on user memory.

.. _operational-modes:

Operational Modes
-----------------

Overview
++++++++
Impinj ItemEncode has two primary types of Operational Modes. By configuring the
:ref:`OperationMode<operation-mode>` in the :ref:`DeviceConfig<device-config>`, 
the application is controlling how long the ItemEncode device will continue to 
operate.

.. _continuous-mode:

Continuous Mode
+++++++++++++++
In Coninuous Operation Mode, the Impinj ItemEncode device will continue to 
operate until it receives a Stop signal from the network or GPI trigger. This 
mode is useful when encoding a continuous stream of tags. 

.. _single-mode:

Single Mode
+++++++++++
In Single Operation Mode, the Impinj ItemEncode device will Stop after finishing
the operations on a single tag. This is useful when there is only a single tag
in the field of view. Because the device can assume that there is only a single 
tag, it can optimize the operations accordingly. 
