This section describes the key codes used to configure the Indy Modules.
The key code values may be set using the ipj_set, ipj_set_value, or ipj_bulk_set IRI API functions, and retrieved using the ipj_get, ipj_get_value, and ipj_bulk_get IRI API functions.
For more details on setting key codes, and examples of what configurations they enable, see the Configuration Examples.
These keys are volatile, and will be reset to their default values upon module reset. To set a value for the keys that will be persistent across resets, use the Stored Settings functionality of the modules.
The key listings below contain some or all of the following details on every key code:
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_ANTENNA_TX_POWER | 49 | [0,3150] | 1 | 1 | cdBm | R/W |
E_IPJ_KEY_ANTENNA_SEQUENCE | 50 | ipj_antenna, ipj_antenna_rs2000 | 0 | 16 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_ANTENNA_SEQUENCE_OPTION | 544 | bool | 0 | 1 | – | R/W |
E_IPJ_KEY_ANTENNA_DESCRIPTORS | 545 | uint32 | 16 | 8 | – | R/W |
E_IPJ_KEY_ANTENNA_PHYSICAL_PORT | 546 | ipj_antenna, ipj_antenna_rs2000 | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_ONBOOT_START_ACTION | 258 | ipj_action | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_IN_BOOTSTRAP | 260 | bool | 0 | 1 | – | R |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_DEVICE_BAUDRATE | 256 | ipj_baud_rate | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_FIRST_ERROR | 224 | ipj_error | 0 | 5 | – | R |
E_IPJ_KEY_LAST_ERROR | 225 | ipj_error | 0 | 5 | – | R |
E_IPJ_KEY_SYSTEM_ERROR | 226 | ipj_error | 0 | 5 | – | R |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_ENABLE | 512 | bool | 0 | 1 | – | R/W |
E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_NUM_ANTENNAS | 513 | [0,16] | 0 | 1 | – | R/W |
E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_PHYSICAL_PORT | 514 | uint32 | 0 | 1 | – | R/W |
E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_DELAY_MICROSECONDS | 515 | [0,1000] | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_GPIO_MODE | 192 | ipj_gpio_mode | 5 | 1 | – | R/W |
E_IPJ_KEY_GPIO_STATE | 193 | ipj_gpio_state | 5 | 1 | – | R/W |
E_IPJ_KEY_GPIO_HI_ACTION | 194 | ipj_gpi_action | 5 | 1 | – | R/W |
E_IPJ_KEY_GPIO_LO_ACTION | 195 | ipj_gpi_action | 5 | 1 | – | R/W |
E_IPJ_KEY_GPIO_DEBOUNCE_MS | 197 | uint32 | 5 | 1 | ms | R/W |
E_IPJ_KEY_GPIO_CURRENT_STATE | 198 | ipj_gpio_state | 5 | 1 | – | R |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_GENERIC_DATA | 3072 | uint32 | 1 | 16 | – | R/W |
E_IPJ_KEY_OEM_DATA | 3073 | uint32 | 0 | 16 | – | R |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_INVENTORY_TAG_POPULATION | 64 | uint32 | 0 | 1 | – | R/W |
E_IPJ_KEY_INVENTORY_SELECT_FLAG | 65 | ipj_inventory_select_flag | 0 | 1 | – | R/W |
E_IPJ_KEY_INVENTORY_SESSION | 66 | [0,3] | 0 | 1 | – | R/W |
E_IPJ_KEY_INVENTORY_SEARCH_MODE | 67 | ipj_inventory_search_mode | 0 | 1 | – | R/W |
E_IPJ_KEY_FAST_ID_ENABLE | 69 | bool | 0 | 1 | – | R/W |
E_IPJ_KEY_TAG_FOCUS_ENABLE | 70 | bool | 0 | 1 | – | R/W |
E_IPJ_KEY_TAG_OPERATION_ENABLE | 71 | bool | 0 | 1 | – | R/W |
E_IPJ_KEY_TAG_OPERATION_RETRIES | 72 | uint8 | 0 | 1 | – | R/W |
E_IPJ_KEY_AUTOSTOP_DURATION_MS | 137 | uint32 | 0 | 1 | ms | R/W |
E_IPJ_KEY_AUTOSTOP_TAG_COUNT | 139 | uint32 | 0 | 1 | – | R/W |
E_IPJ_KEY_AUTOSTOP_ROUND_COUNT | 140 | uint32 | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_DEVICE_IDLE_POWER_MODE | 257 | ipj_idle_power_mode | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_RF_MODE | 208 | [0,4] | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_REGION_ID | 32 | ipj_region | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_REGION_CHANNEL_TABLE | 33 | uint8 | 0 | 50 | – | R/W |
E_IPJ_KEY_REGION_CHANNEL_TABLE_SIZE | 34 | [0,50] | 0 | 1 | – | R/W |
E_IPJ_KEY_REGION_ON_TIME_NOMINAL | 35 | uint32 | 0 | 1 | ms | R/W |
E_IPJ_KEY_REGION_ON_TIME_ACCESS | 36 | uint32 | 0 | 1 | ms | R/W |
E_IPJ_KEY_REGION_OFF_TIME | 37 | uint32 | 0 | 1 | ms | R/W |
E_IPJ_KEY_REGION_OFF_TIME_SAME_CHANNEL | 38 | uint32 | 0 | 1 | ms | R/W |
E_IPJ_KEY_REGION_START_FREQUENCY_KHZ | 39 | uint32 | 0 | 1 | kHz | R/W |
E_IPJ_KEY_REGION_CHANNEL_SPACING_KHZ | 40 | uint32 | 0 | 1 | kHz | R/W |
E_IPJ_KEY_REGION_RANDOM_HOP | 41 | bool | 0 | 1 | – | R/W |
E_IPJ_KEY_REGION_INDY_PLL_R_DIVIDER | 42 | [24,60] | 0 | 1 | – | R/W |
E_IPJ_KEY_REGION_RF_FILTER | 43 | [0,2] | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_REPORT_CONTROL_TAG | 161 | ipj_tag_flag | 0 | 1 | – | R/W |
E_IPJ_KEY_REPORT_CONTROL_STATUS | 162 | ipj_status_flag | 0 | 1 | – | R/W |
E_IPJ_KEY_REPORT_CONTROL_TIMESTAMP | 163 | ipj_report_timestamp_flag | 0 | 1 | – | R/W |
E_IPJ_KEY_RESPONSE_CONTROL_TIMESTAMP | 164 | ipj_response_timestamp_flag | 0 | 1 | – | R/W |
E_IPJ_KEY_ENABLE_LT_REPORTS | 259 | bool | 0 | 1 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_SELECT_ENABLE | 80 | bool | 2 | 1 | – | R/W |
E_IPJ_KEY_SELECT_TARGET | 81 | ipj_select_target | 2 | 1 | – | R/W |
E_IPJ_KEY_SELECT_ACTION | 82 | ipj_select_action | 2 | 1 | – | R/W |
E_IPJ_KEY_SELECT_MEM_BANK | 83 | ipj_mem_bank | 2 | 1 | – | R/W |
E_IPJ_KEY_SELECT_POINTER | 84 | int32 | 2 | 1 | – | R/W |
E_IPJ_KEY_SELECT_MASK_LENGTH | 85 | [0,255] | 2 | 1 | – | R/W |
E_IPJ_KEY_SELECT_MASK_VALUE | 86 | uint16 | 2 | 16 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_TEMPERATURE_INTERNAL | 176 | int32 | 0 | 1 | deg C | R |
E_IPJ_KEY_TEMPERATURE_EXTERNAL | 177 | int32 | 0 | 1 | deg C | R |
E_IPJ_KEY_TEMPERATURE_PA | 178 | int32 | 0 | 1 | deg C | R |
E_IPJ_KEY_PA_DIE_TEMPERATURE_TX_DUTY_CYCLE_LIMIT | 4130 | [0,150] | 0 | 1 | deg C | R/W |
E_IPJ_KEY_TEMP_COMP_OFFSETS | 4131 | uint32 | 0 | 5 | – | R/W |
Key | Key ID | Range or Type | Banks | Values | Units | R/W |
---|---|---|---|---|---|---|
E_IPJ_KEY_TEST_ID | 1024 | ipj_test_id | 0 | 1 | – | R/W |
E_IPJ_KEY_TEST_PARAMETERS | 1025 | uint32 | 0 | 16 | – | R/W |
E_IPJ_KEY_TEST_RESULT_1 | 1026 | uint32 | 0 | 1 | – | R |
E_IPJ_KEY_TEST_RESULT_2 | 1027 | uint32 | 0 | 1 | – | R |
E_IPJ_KEY_TEST_RESULT_3 | 1028 | uint32 | 0 | 1 | – | R |
E_IPJ_KEY_TEST_DATA | 1029 | uint32 | 0 | 16 | – | R |
E_IPJ_KEY_TEST_FREQUENCY | 1030 | uint32 | 0 | 1 | – | R |
E_IPJ_KEY_TEST_POWER | 1031 | uint32 | 0 | 23 | – | R |
E_IPJ_KEY_TEST_RF_MODE | 1032 | uint32 | 0 | 5 | – | R |
E_IPJ_KEY_TEST_TIME | 1033 | uint32 | 0 | 1 | – | R |
E_IPJ_KEY_TEST_EVENT | 1034 | uint32 | 0 | 8 | – | R |
E_IPJ_KEY_TEST_REPORTS | 1035 | uint32 | 0 | 6 | – | R |
E_IPJ_KEY_TEST_SYSTEM | 1036 | uint32 | 0 | 1 | – | R |
E_IPJ_KEY_TEST_DEBUG_PORT | 1037 | uint32 | 0 | 1 | – | R/W |
E_IPJ_KEY_SJC_CONTROL | 4123 | uint8 | 0 | 1 | – | R/W |
The version of the bootstrap image loaded in the Indy Module.
Indy Module boostrap allows update of the application image, but cannot itself be updated.
The format of the version number in hexidecimal is 0xABBCCDD where A is the Major number, BB is the Minor number, CC is the Maintenance number, and DD is the Release number.
For more details on bootloading, see the Application Update configuration example.
The CRC (cyclical reduncancy check) value of the bootstrap image on the Indy Module.
The version of the application image loaded in the Indy Module.
The Indy Module bootloader allows update of the application image, which can add new features and improved performance.
The format of the version number in hexidecimal is 0xABBCCDD where A is the Major number, BB is the Minor number, CC is the Maintenance number, and DD is the Release number.
For more details on bootloading, see the Application Update configuration example.
The CRC (cyclical reduncancy check) value of the application image on the Indy Module.
Secondary (non-application) image version numbers.
Secondary (non-application) image CRC (cyclical reduncancy check) values.
Secondary (non-application) image types
Application image revision ID
Application image build ID
A Product ID identifying the Indy Module product. See the ipj_product_id type enumeration for more details.
Serial Number of the Indy Module within a particular lot.
For more details on the serial number, see the Indy Module Datasheets.
The ID number of the Indy reader chip inside the module.
Note
This key value is only populated after the Indy reader chip has been powered up due to an RFID operation such as an Inventory. If this key is read following a reset but before an RFID operation is performed, the contents will be invalid.
The unique ID of the individual microcontroller inside the Indy Module. Can be used to uniquely identify the module.
Contains a version identifier for specially modified module hardware. 0 in most cases.
Contains an identifier for specially modified module hardware. 0 in most cases.
Contains an identifier for specially modified module hardware. 0 in most cases.
Calibration source information.
The number of test commands executed.
The hardware SKU of the module. Each module product has multiple SKUs to enable operation in different regulatory regions.
For more details on SKUs for each module, see the Indy Module Datasheets.
Combined lot and date code in hexadecimal format 0xZZWWYY where ZZ is lot number, WW is work week, and YY is year produced.
For more details on the module date code, see the Indy Module Datasheets.
A unique identifier for the module generated based on various parameters.
Secondary Image Location
Secondary Image Size
A 64-bit Unique ID for each device XXZZWWYYAAAA where XX is SKU, ZZWWYY is Lot Date Code, and AAAA is Serial Number within the lot.
For more details on the Unique ID, see the Indy Module Datasheets.
The hardware revision of the module.
The current timestamp of the system. This value is initialized to 0 at startup, and counts the number of ms that have elapsed since then.
This timestamp is based on the internal timebase of the module, which is inaccurate relative to most system clocks, and should be used for information purposes only.
The commands actively running on the device. Each bit represents the current state of the action based on the ipj_action enumeration.
Sets the regulatory region parameters that the module will use.
Refer to the Regulatory Region section of the documentation for a list of supported regions.
The channel table for the configured custom regulatory region. If this key code is not configured, the default channel table for the current region (configured by the E_IPJ_REGION_ID key) is used. The mapping from channel indices to frequency values depends upon the regulatory region.
For more information on custom regulatory regions, see the Custom Region configuration example.
The size of the custom region channel hop table.
For more information on custom regulatory regions, see the Custom Region configuration example.
Custom regulatory region dwell time (in ms). Only valid for the user-specified custom region. Impinj recommends that this value be 200ms less than REGION_ON_TIME_ACCESS
For more information on custom regulatory regions, see the Custom Region configuration example.
Custom regulatory region dwell time (in ms) when an Access operation is performed. Only valid for the user-specified custom region.
For more information on custom regulatory regions, see the Custom Region configuration example.
Off-time (in ms) when hopping to a different channel in the custom regulatory region. Only valid for the user-specified custom region.
For more information on custom regulatory regions, see the Custom Region configuration example.
Off-time (in ms) when switching to the same channel in the custom regulatory region. Only valid for the user-specified custom region.
For more information on custom regulatory regions, see the Custom Region configuration example.
Custom regulatory region channel 1 frequency in kHz. Only valid for the user-specified custom region.
For more information on custom regulatory regions, see the Custom Region configuration example.
Custom regulatory region channel spacing in kHz. Only valid for the user-specified custom region.
For more information on custom regulatory regions, see the Custom Region configuration example.
Custom regulatory region random hop enable. Only valid for the user-specified custom region.
Key Value | Description |
---|---|
0 | Hopping not randomized (Hoping sequence will be based on the order in the channels table; See E_IPJ_KEY_REGION_CHANNEL_TABLE) |
1 | Hopping randomized |
For more information on custom regulatory regions, see the Custom Region configuration example.
Indy PLL parameter. Recommended values are 24, 30, 48, and 60. Only valid for user-specified custom region.
For more information on custom regulatory regions, see the Custom Region configuration example.
Selects the RF SAW Filter for the user-configured custom regulatory region. When using the Impinj defined regions, this key does not need to be modified.
Key Value | Description |
---|---|
0 | FCC Filter |
1 | ETSI Filter |
2 | China/Japan Filter |
For more information on custom regulatory regions, see the Custom Region configuration example.
Antenna transmit power in cdBm (eg. 2300 cdBm = 23 dBm). The default for RS500 is 2300 cdBm, RS1000 is 2700 cdBm, and RS2000 is 3000 cdBm.
The sequence of antennas through which the reader will cycle. Each value represents one antenna index in the sequence. Any values set to 0 will be skipped.
For more details, see the Antenna Switching configuration example.
A population estimate of the tags in view of the RF field of the antenna. Used to set the Q value in the slotted aloha protocol. The Q-Algorithm will adapt to the actual tag population with the estimate as a starting point.
A tag population estimate of 0 is a special case where the Q-Algorithm will only send queries with Q=0.
Inventory Select Flag. Determines which Tags will respond during Inventory. Only tags with the specified flag value will respond during inventory.
For more information about using the selected flag by configuring the select operation in IRI, see the Select configuration example.
Inventory Session Number (0 - 3). Determines which session the reader will use for tag population management (AKA search mode).
For more information on configuring the session, see the Inventory Parameters configuration example.
Inventory Search Mode. Determines how the reader will manipulate a particular session inventoried flag to control the inventoried tag population.
For more information on configuring search modes, see the Inventory Parameters configuration example.
Enable FastID capability for Monza tags.
Enable TagFocus capability for Monza tags. Session must be S1 and Search Mode must be A->B only.
Tag operation enable during inventory. Enables access operations after the inventory operation is completed on each inventoried tag. The specific operation to be performed is configured using the key TAG_OPERATION.
For more information about configuring the Access operation in IRI, see the Access configuration example.
Maximum number of retries on a failed tag Access operation. If a valid tag response with a Memory Locked or Memory Overrun Gen2 Error is received, the tag access operation is not retried.
For more information about configuring the Access operation in IRI, see the Access configuration example.
Enables the transmission of a Select operation before an inventory round.
For more information about configuring the select operation in IRI, see the Select configuration example.
Determines if the Select command modifies a tag’s selected flag or its inventoried flag.
In the case of the inventoried flag it further determines one of the four sessions.
For more information about configuring the select operation in IRI, see the Select configuration example.
Specifies what flag modification should be performed during the Select command. Options are for matching tags to assert or de-assert the selected flag, or set their inventoried flag to A or to B.
For more information about configuring the select operation in IRI, see the Select configuration example.
The memory bank on which the Select command‘s tag filter is applied. Tag filters may be configured to match contents of the EPC, TID, and user memory banks. Tag filters will not match against the reserved memory bank.
For more information about configuring the select operation in IRI, see the Select configuration example.
The bit offset in the specified memory bank at which the Select command‘s tag mask begins. This is bit offset and need not be word or even byte-aligned.
For more information about configuring the select operation in IRI, see the Select configuration example.
This key code along with the SELECT_POINTER key determines the memory range over which the Select command mask(configured with key SELECT_MASK_VALUE) is applied. This key code specifies the length of the memory range in bits.
For more information about configuring the select operation in IRI, see the Select configuration example.
Defines the bit pattern that the Select command‘s tag filter must match on. For a non-16 bit aligned tag mask the final bits are left justified (high order bits) in the last word.
For more information about configuring the select operation in IRI, see the Select configuration example.
Configures the specific Access command (tag operation) issued to a tag when an access command is enabled using the key TAG_OPERATION_ENABLE.
For more information about configuring the Access operation in IRI, see the Access configuration example.
Specifies the 32-bit Access password that is used in conjunction with the Access command to move the Tag to the Secured state. If the key value is non-zero, the reader implements the access procedure before issuing access commands.
For more details on using the access password, see the Access configuration example.
Specifies the 32-bit Kill password used to kill the Tag, if a Kill operation is enabled.
For more details on killing tags, see the Kill configuration example.
Tag memory bank specified for Read command in an Access operation.
For more details on reading tag memory, see the Read configuration example.
Word pointer for the Read command in an Access operation. Specifies the location within the configured memory bank to start reading tag memory at.
For more details on reading tag memory, see the Read configuration example.
Number of words to read within the specified memory bank and at the specified word pointer in a Read command in an Access operation.
For more details on reading tag memory, see the Read configuration example.
Tag memory bank configured for a Write command in an Access operation.
For more details on writing tag memory, see the Write configuration example.
Word Pointer to access for Write command in an Access operation.
For more details on writing tag memory, see the Write configuration example.
Number of words to write in a Write command in an Access operation.
For more details on writing tag memory, see the Write configuration example.
Data to write into the tag memory in a Write command in an Access operation. Specified in 16-bit words.
For more details on writing tag memory, see the Write configuration example.
Payload field for the Lock command. Specified in a 20-bit value.
For more information on how to use the lock command, see the Lock configuration example.
BlockPermalock action for the BlockPermalock operation.
For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.
Memory Bank to target for the BlockPermalock operation.
For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.
Block Pointer for the BlockPermalock operation.
For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.
BlockPermalock mask range in units of 16 blocks for the BlockPermalock operation.
For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.
BlockPermalock mask for the BlockPermalock operation.
For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.
EPC length handling control for the WRITE_EPC tag operation, when selected using the key TAG_OPERATION.
There are options to automatically update the length, specificy a user length, zero the length, or do not change the length value.
For more information on how to use the Write EPC operation, see the Write EPC configuration example.
The user specified EPC length value when user value EPC length control is selected using key WRITE_EPC_LENGTH_CONTROL.
For more information on how to use the Write EPC operation, see the Write EPC configuration example.
Enables the write of the AFI bits in the tag EPC memory during a Write EPC operation if set to TRUE.
AFI bits are bits 18h-1Fh in EPC memory. The AFI bits will be updated to the user value set by key WRITE_EPC_AFI_VALUE.
Please note that bit 17h in EPC memory should have a logical 1 for bits 18h-1Fh to contain a valid AFI value.
For more information on how to use the Write EPC operation, see the Write EPC configuration example.
The user specified AFI Bits when AFI Control is enabled during a Write EPC operation.
For more information on how to use the Write EPC operation, see the Write EPC configuration example.
QT Action for the QT operation. Selects between QT read and write.
For more information on how to use the QT operation, see the QT configuration example.
QT Persistence for the QT operation.
For more information on how to use the QT operation, see the QT configuration example.
QT Data Profile for the QT operation.
For more information on how to use the QT operation, see the QT configuration example.
QT Access Range for the QT operation.
For more information on how to use the QT operation, see the QT configuration example.
Determines the specific Access command issued to a Tag when Tag Operation enabled after the QT Command. Only Read and Write are supported, specified using the type tag_operation_type.
For more information on how to use the QT operation, see the QT configuration example.
Specifies the duration of time to perform continuous Inventory rounds. Inventory stops automatically once the specified time has elapsed.
The reader will stop inventorying when any one of the autostop conditions are met, including those defined by keys AUTOSTOP_DURATION_MS, AUTOSTOP_TAG_COUNT, and AUTOSTOP_ROUND_COUNT.
Specifies the maximum number of tags to inventory over multiple consecutive Inventory rounds. Inventory stops automatically once the specified number of Tags are inventoried.
The reader will stop inventorying when any one of the autostop conditions are met, including those defined by keys AUTOSTOP_DURATION_MS, AUTOSTOP_TAG_COUNT, and AUTOSTOP_ROUND_COUNT.
Specifies the maximum number of Inventory rounds to be performed before stopping. Inventory stops automatically once the specified number of rounds have occured.
The reader will stop inventorying when any one of the autostop conditions are met, including those defined by keys AUTOSTOP_DURATION_MS, AUTOSTOP_TAG_COUNT, and AUTOSTOP_ROUND_COUNT.
Controls which Tag fields are present in a tag operation report.
For more information on how to configure and use tag operation reports, see the Report Field Configuration configuration example.
Controls which status reports will be generated.
For more information on how to configure and use status reports, see the Measure Forward and Reverse Power configuration example.
Controls which reports from the module will contain timestamps.
Controls which responses from the module will contain timestamps.
Current value of the temperature measured by the sensor in the microcontroller inside the module, in degrees Celsius.
Temperature measurements are performed when this key is accessed, resulting in a slight delay reading the key, but a fresh measurement is guaranteed.
Current extrapolated external temperature of the module in degrees Celsius. This value is based on the internal temperature of the module, TEMPERATURE_INTERNAL, and the known physical characteristics of the module.
Temperature measurements are performed when this key is accessed, resulting in a slight delay reading the key, but a fresh measurement is guaranteed.
Current value of the temperature measured by the power amplifier (PA) temperature sensor in degrees Celsius.
This temperature value is usually the highest in the module, and is used to limit RFID operations during extreme temperatures. For more details on operating temperature, see the Indy Module Hardware User’s Guides.
Temperature measurements are performed when this key is accessed, resulting in a slight delay reading the key, but a fresh measurement is guaranteed.
Selects the mode of the GPIO pins of the module (input, input with action, output, etc.).
For more information on how to use the GPIO functionality see the GPIO configuration examples.
Controls the GPIO Logic level output (+3.3 V/0.0 V).
Output is driven strong (maximum load varies depending on the module and configuration, see the datasheet for more details), input is pulled internally via resistors(or left floating).
For more information on how to use the GPIO output functionality see the GPIO Output configuration examples.
Controls the action performed by the module when a GPIO transitions to a High logical state.
Note that this MUST NOT be set to the same value as GPIO_LO_ACTION on a given pin (undefined behavior will result)
For more information on how to use the GPIO functionality to trigger an action, see the GPIO Input with Action configuration example.
Controls the action performed by the module when the signal input on a GPIO transitions to a Low logical state.
Note that this MUST NOT be set to the same value as GPIO_HI_ACTION on a given pin (undefined behavior will result).
For more information on how to use the GPIO functionality to trigger an action, see the GPIO Input with Action configuration example.
Controls internal debounce timeout for GPIO actions. This is useful when inputs to the GPIOs have bounce, for example if a mechanical button or switch is used.
For examples of how to use the GPIO functionality see the GPIO configuration examples.
Reflects the current logic level (+3.3 V/0.0 V) of the GPIO pins. State is updated while running GPIO action.
For more information on how to use the GPIO functionality see the GPIO configuration examples.
RF Mode for inventory operation. Configures the forward link and reverse link RF parameters for UHF RFID communication with tags.
Forward link parameters include: R2T Modulation, TARI, and RTcal.
Reverse link parameters include: T2R Modulation, BLF, and TRcal.
The following table provides a brief explanation of each of the valid values of this key:
Key Value | Description |
---|---|
0 | Auto (Defaults to mode 1) |
1 | Dense Reader Mode profile for FCC operation |
2 | Dense Reader Mode profile for ETSI operation |
3 | Very fast mode with reduced sensitivity and noise immunity |
4 | Very sensitive mode with reduced speed and reduced noise immunity |
The following table provides the RF mode parameters of the forward and reverse link in each of the non-auto modes:
Key Value | R2T Modulation | T2R Modulation | BLF (kHz) | TARI (us) | RTcal (us) | TRcal (us) |
---|---|---|---|---|---|---|
1 | PR-ASK | M4 | 250 | 25 | 62.5 | 85.333 |
2 | PR-ASK | M4 | 300 | 25 | 62.5 | 71.111 |
3 | DSB-ASK | FM0 | 400 | 6.25 | 15.625 | 20 |
4 | DSB-ASK | FM0 | 40 | 25 | 75 | 200 |
Contains the first error that has occurred since this key was last clearedin value_index 0, as well as additional error parameters in value_index 1-4. This key is automatically cleared when the module is reset.
For more details on error codes, see the IRI Error Codes section.
Contains the last error that occurred.
For more details on error codes, see the IRI Error Codes section.
Contains the last system level error that occurred (Hard Faults).
For more details on error codes, see the IRI Error Codes section.
The serial baud rate that the module UART1 (IRI) interface operates at after boot.
For more details on changing baud rates during operation, see the Change Baud Rate configuration example.
Like all other key values, this value is volatile, and is set to the default value upon boot. If a specific value is desired at bootup, the Stored Settings functionality of the module should be used.
Note
This key behaves differently depending on whether it is being written or read. It should be written with values from the baud_rate enum to reconfigure the device’s baud rate. When read, it will report the nominal baud rate the device is operating at, which may differ slightly from the ideal value that is specified in a write.
Power consumption mode when the device is idle. Indy Modules enter Idle mode automatically when RFID operations are completed. The modules are still capable of IRI communication while in Idle mode.
Allows selection between lower latency (faster time to start inventorying) and lower power (lower current consumption) idle modes using the enumerations of the type idle_power_mode.
For more details on using the low power modes, see the Power Management configuration examples.
For more details on low power mode features and specifications, see the Indy Module Datasheets.
Action to perform immediately after module boot.
Like all other key values, this value is volatile, and is set to the default value upon boot. If a specific value is desired at bootup, the Stored Settings functionality of the module should be used. Specifically, see the Simple Autostart Stored Settings example.
Configures the module to automatically send IRI-LT formatted reports over the UART1 (IRI) interface.
Useful in a “receive only” use case for the ITK-LT host library. The reader can be configured with an ONBOOT_START_ACTION and this key to automatically send up LT tag operation reports.
For an information on how to configure the ONBOOT_START_ACTION key, see the Simple Autostart Stored Settings example.
For more details about IRI-LT, see the ITK-LT-C documentation.
Returns true if reader is executing the bootstrap. Only works for bootstrap version 1.6.8.240 and up.
External antenna multiplexing feature enable. When the value of this key is set to TRUE, the GPIO pins of the module are used to control an external antenna mux.
For an example of how to use this key, see the IRI_External_Antenna_Mux code example.
The number of antennas that the external antenna mux supports, if the external antenna mux feature is enabled.
For an example of how to use this key, see the IRI_External_Antenna_Mux code example.
This key determines how many GPIOs will be used to control the external antenna mux. Each GPIO allows a doubling of the number of antennas. 1 GPIO is required for 2 antennas, 2 GPIOs are required for up to 4 antennas, 3 GPIOs are required for up to 8 antennas, and 4 GPIOs are required for up to 16 antennas. The module will always use the lowest numbered GPIOs available, starting with GPIO1 and moving upward towards GPIO4.
The antennas are mapped to the GPIO states with the lowest numbered antenna mapped to the lowest valued GPIO output state, with the GPIO states interpreted as bits in a binary number. When Antenna 1 is selectected, all used GPIOs are low (0). When antenna 2 is selected, GPIO1 is high (1) and all other used GPIOs are low (0), etc. See table below for more explicit detail.
Antenna Number | GPIO4 State | GPIO3 State | GPIO2 State | GPIO1 State |
---|---|---|---|---|
1 | low (0) | low (0) | low (0) | low (0) |
2 | low (0) | low (0) | low (0) | high (1) |
3 | low (0) | low (0) | high (1) | low (0) |
4 | low (0) | low (0) | high (1) | high (1) |
5 | low (0) | high (1) | low (0) | low (0) |
6 | low (0) | high (1) | low (0) | high (1) |
7 | low (0) | high (1) | high (1) | low (0) |
8 | low (0) | high (1) | high (1) | high (1) |
9 | high (1) | low (0) | low (0) | low (0) |
10 | high (1) | low (0) | low (0) | high (1) |
11 | high (1) | low (0) | high (1) | low (0) |
12 | high (1) | low (0) | high (1) | high (1) |
13 | high (1) | high (1) | low (0) | low (0) |
14 | high (1) | high (1) | low (0) | high (1) |
15 | high (1) | high (1) | high (1) | low (0) |
16 | high (1) | high (1) | high (1) | high (1) |
Note
The module will only use and control the required number of GPIOs to mux between the configured number of antennas, as described above. Unused GPIOs will not be driven, and are shown for informational purposes only.
The physical antenna port that the common port of the external antenna mux is connected to, if the external antenna mux feature is enabled.
For an example of how to use this key, see the IRI_External_Antenna_Mux code example.
Delay in microseconds between RF activity on externally muxed antennas, if the external antenna mux feature is enabled.
For an example of how to use this key, see the IRI_External_Antenna_Mux code example.
Configures whether configurations sequenced using the antenna descriptors are attached to different physical antenna ports, or are simply mutiple logical descriptors for the same physical antenna. FALSE is “Physical” and TRUE is “Logical”.
When set to TRUE (Logical), antenna values in the provided sequence will be interpreted as logical numbers and the appropriate antenna descriptor values will be loaded from the ANTENNA_DESCRIPTORS key when switching antennas.
For an example of how to use this key, see the IRI_Antenna_Descriptors code example.
Banked key to hold key-value pairs of logical antenna parameters. This key enables loading a different configuration for each antenna in a sequence.
For an example of how to use this key, see the IRI_Antenna_Descriptors code example.
Physical antenna port a specific antenna in the antenna descriptors sequence is connected to. This key is only to be used internally to the module in the ANTENNA_DESCRIPTORS key.
For an example of how to use this key, see the IRI_Antenna_Descriptors code example.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Test Command ID is used to select the specific test command.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Test Command Parameters provide inputs for specific test commands.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Test Command Result 1.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Test Command Result 2.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Test Command Result 3.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Test Command Data.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Last locked frequency.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Most recent transmit power.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
RF Profile identifier.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Last transmit on time.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Event Info.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Report Info.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
System Info.
For more details on using the test commands, see the Test Commands configuration examples.
Note
The test commands are intended for engineering use only, and should not be deployed in production systems. Their behaviors are subject to change when firmware is updated.
Serial Debug Port Configuration. Each bit in this key enables or disables a certain type of debug string printing.
For more details on using this key, see the Debug UART Test Behavior section of the debugging documentation.
Generic data storage for third parties to add custom data to the device.
OEM data storage to add custom data to the device during calibration.
Controls BlockWrite command override control. See the Write configuration example for more details.
Key Value | Description |
---|---|
0 | No Effect (default behavior) |
1 | Force one word BlockWrite if two word enabled |
2 | Force no BlockWrite (single word Writes) |
3 | Force two word BlockWrite |
Controls SJC Enabling and debug. 0 = Enabled, 2 = Disabled, 3 = Fast SJC convergence
Loading status for stored settings. 1 if stored settings were loaded properly, 0 otherwise.
RS1000 only. When the PA die temperature exceeds this limit the trasmitter on time duty cycle will proportionally be reduced in order to avoid hitting the PA die maximum thermal limit of 150 C. Setting this value to 150 C will disable this behavior.
Constant offset added to each of the TempComp power curves