### Navigation

- next
- previous |
- Indy ITK 1.8.0 documentation »

# Key Codes

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 Name - The name of the key, also defined as a constant for use in customer code
- Key Description - An explanation of the funcitonality of the key, with cross-references to term definitions and other relevant documentation.
- Key ID - The literal value of the key constant
- Permissions - Key read or write permissions: R for readable / W for writable
- Range/Type - The data type of the value stored, or the range of valid values
- Units - The units of the key, if applicable
- Bank Count - The number of banks the key has
- Value Count - The number of values the key has
- Default Value - The default value of the key at startup

## Key Codes By Category

### Antenna

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

### Antenna Descriptor

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

### Boot Action

Key | Key ID | Range or Type | Banks | Values | Units | R/W
--- | --- | --- | --- | --- | --- | ---
E_IPJ_KEY_ONBOOT_START_ACTION | `258` | ipj_action | `0` | `1` | – | R/W

### Bootstrap

Key | Key ID | Range or Type | Banks | Values | Units | R/W
--- | --- | --- | --- | --- | --- | ---
E_IPJ_KEY_IN_BOOTSTRAP | `260` | bool | `0` | `1` | – | R

### Device

Key | Key ID | Range or Type | Banks | Values | Units | R/W
--- | --- | --- | --- | --- | --- | ---
E_IPJ_KEY_DEVICE_BAUDRATE | `256` | ipj_baud_rate | `0` | `1` | – | R/W

### Error

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

### External Antenna Mux

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

### GPIO

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

### Generic

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

### Info Only

Key | Key ID | Range or Type | Banks | Values | Units | R/W
--- | --- | --- | --- | --- | --- | ---
E_IPJ_KEY_BOOTSTRAP_VERSION | `1` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_BOOTSTRAP_CRC | `2` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_APPLICATION_VERSION | `3` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_APPLICATION_CRC | `4` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_SECONDARY_IMAGE_VERSION | `5` | uint32 | `3` | `1` | – | R
E_IPJ_KEY_SECONDARY_IMAGE_CRC | `6` | uint32 | `3` | `1` | – | R
E_IPJ_KEY_SECONDARY_IMAGE_TYPE | `7` | uint32 | `3` | `1` | – | R
E_IPJ_KEY_APPLICATION_REVISION_ID | `8` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_APPLICATION_BUILD_ID | `9` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_PRODUCT_ID | `10` | ipj_product_id | `0` | `1` | – | R
E_IPJ_KEY_SERIAL_NUMBER | `11` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_TRANSCEIVER_ID | `12` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_MICROPROCESSOR_ID | `13` | uint32 | `0` | `4` | – | R
E_IPJ_KEY_CUSTOMER_VERSION | `14` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_CUSTOMER_ID | `15` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_CUSTOMER_PRODUCT_ID | `16` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_CALIBRATION_INFO | `17` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_TEST_INFO | `18` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_PRODUCT_SKU | `19` | ipj_product_sku | `0` | `1` | – | R
E_IPJ_KEY_LOT_DATE_CODE | `20` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_PRODUCT_KEY | `21` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_SECONDARY_IMAGE_LOCATION | `22` | uint32 | `3` | `1` | – | R
E_IPJ_KEY_SECONDARY_IMAGE_SIZE | `23` | uint32 | `3` | `1` | – | R
E_IPJ_KEY_UNIQUE_ID | `24` | uint32 | `0` | `2` | – | R
E_IPJ_KEY_HARDWARE_REVISION | `25` | uint8 | `0` | `1` | – | R
E_IPJ_KEY_SYSTEM_TIMESTAMP_MS | `26` | uint32 | `0` | `1` | ms | R
E_IPJ_KEY_ACTIVE_ACTIONS | `27` | uint32 | `0` | `1` | – | R
E_IPJ_KEY_STORED_SETTINGS_LOAD_STATUS | `4129` | uint8 | `0` | `1` | – | R

### Inventory

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

### Power Mode

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

### RF Mode

Key | Key ID | Range or Type | Banks | Values | Units | R/W
--- | --- | --- | --- | --- | --- | ---
E_IPJ_KEY_RF_MODE | `208` | [0,4] | `0` | `1` | – | R/W

### Region

Key | Key ID | Range or Type | Banks | Values | Units | R/W
--- | --- | --- | --- | --- | --- | ---
E_IPJ_KEY_REGION_ID | `32` | ipj_region | `0` | `1` | – | R/W

### Region - Custom

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

### Report

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

### Select

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

### Sensor

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

### Tag Access

Key | Key ID | Range or Type | Banks | Values | Units | R/W
--- | --- | --- | --- | --- | --- | ---
E_IPJ_KEY_TAG_OPERATION | `96` | ipj_tag_operation_type | `0` | `1` | – | R/W
E_IPJ_KEY_ACCESS_PASSWORD | `97` | uint32 | `0` | `1` | – | R/W
E_IPJ_KEY_KILL_PASSWORD | `98` | uint32 | `0` | `1` | – | R/W
E_IPJ_KEY_READ_MEM_BANK | `99` | ipj_mem_bank | `0` | `1` | – | R/W
E_IPJ_KEY_READ_WORD_POINTER | `100` | uint32 | `0` | `1` | – | R/W
E_IPJ_KEY_READ_WORD_COUNT | `101` | [0,32] | `0` | `1` | – | R/W
E_IPJ_KEY_WRITE_MEM_BANK | `102` | ipj_mem_bank | `0` | `1` | – | R/W
E_IPJ_KEY_WRITE_WORD_POINTER | `103` | uint32 | `0` | `1` | – | R/W
E_IPJ_KEY_WRITE_WORD_COUNT | `104` | [0,32] | `0` | `1` | – | R/W
E_IPJ_KEY_WRITE_DATA | `105` | uint16 | `0` | `32` | – | R/W
E_IPJ_KEY_LOCK_PAYLOAD | `106` | [0,0xFFFFF] | `0` | `1` | – | R/W
E_IPJ_KEY_BLOCKPERMALOCK_ACTION | `107` | ipj_blockpermalock_action | `0` | `1` | – | R/W
E_IPJ_KEY_BLOCKPERMALOCK_MEM_BANK | `108` | ipj_mem_bank | `0` | `1` | – | R/W
E_IPJ_KEY_BLOCKPERMALOCK_BLOCK_POINTER | `109` | uint32 | `0` | `1` | – | R/W
E_IPJ_KEY_BLOCKPERMALOCK_BLOCK_RANGE | `110` | uint32 | `0` | `1` | – | R/W
E_IPJ_KEY_BLOCKPERMALOCK_MASK | `111` | uint16 | `0` | `16` | – | R/W
E_IPJ_KEY_WRITE_EPC_LENGTH_CONTROL | `112` | ipj_write_epc_length_control | `0` | `1` | – | R/W
E_IPJ_KEY_WRITE_EPC_LENGTH_VALUE | `113` | [0,31] | `0` | `1` | – | R/W
E_IPJ_KEY_WRITE_EPC_AFI_CONTROL | `114` | uint8 | `0` | `1` | – | R/W
E_IPJ_KEY_WRITE_EPC_AFI_VALUE | `115` | uint8 | `0` | `1` | – | R/W
E_IPJ_KEY_QT_ACTION | `116` | ipj_qt_action | `0` | `1` | – | R/W
E_IPJ_KEY_QT_PERSISTENCE | `117` | ipj_qt_persistence | `0` | `1` | – | R/W
E_IPJ_KEY_QT_DATA_PROFILE | `118` | ipj_qt_data_profile | `0` | `1` | – | R/W
E_IPJ_KEY_QT_ACCESS_RANGE | `119` | ipj_qt_access_range | `0` | `1` | – | R/W
E_IPJ_KEY_QT_TAG_OPERATION | `120` | ipj_tag_operation_type | `0` | `1` | – | R/W
E_IPJ_KEY_BLOCK_WRITE_OVERRIDE | `4120` | uint8 | `0` | `1` | – | R/W

### Test

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

## Key Codes By Key Id

### `E_IPJ_KEY_BOOTSTRAP_VERSION`

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.

- Key ID: `1`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_BOOTSTRAP_CRC`

The CRC (cyclical reduncancy check) value of the bootstrap image on the Indy Module.

- Key ID: `2`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_APPLICATION_VERSION`

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.

- Key ID: `3`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_APPLICATION_CRC`

The CRC (cyclical reduncancy check) value of the application image on the Indy Module.

- Key ID: `4`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_SECONDARY_IMAGE_VERSION`

Secondary (non-application) image version numbers.

- Key ID: `5`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `3`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_SECONDARY_IMAGE_CRC`

Secondary (non-application) image CRC (cyclical reduncancy check) values.

- Key ID: `6`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `3`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_SECONDARY_IMAGE_TYPE`

Secondary (non-application) image types

- Key ID: `7`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `3`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_APPLICATION_REVISION_ID`

Application image revision ID

- Key ID: `8`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_APPLICATION_BUILD_ID`

Application image build ID

- Key ID: `9`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_PRODUCT_ID`

A Product ID identifying the Indy Module product. See the ipj_product_id type enumeration for more details.

- Key ID: `10`
- Permissions: R
- Range/Type: ipj_product_id
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_SERIAL_NUMBER`

Serial Number of the Indy Module within a particular lot.

For more details on the serial number, see the Indy Module Datasheets.

- Key ID: `11`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_TRANSCEIVER_ID`

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.

- Key ID: `12`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_MICROPROCESSOR_ID`

The unique ID of the individual microcontroller inside the Indy Module. Can be used to uniquely identify the module.

- Key ID: `13`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `4`
- Default Value: Dynamic

### `E_IPJ_KEY_CUSTOMER_VERSION`

Contains a version identifier for specially modified module hardware. `0` in most cases.

- Key ID: `14`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_CUSTOMER_ID`

Contains an identifier for specially modified module hardware. `0` in most cases.

- Key ID: `15`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_CUSTOMER_PRODUCT_ID`

Contains an identifier for specially modified module hardware. `0` in most cases.

- Key ID: `16`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_CALIBRATION_INFO`

Calibration source information.

- Key ID: `17`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_TEST_INFO`

The number of test commands executed.

- Key ID: `18`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_PRODUCT_SKU`

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.

- Key ID: `19`
- Permissions: R
- Range/Type: ipj_product_sku
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_LOT_DATE_CODE`

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.

- Key ID: `20`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_PRODUCT_KEY`

A unique identifier for the module generated based on various parameters.

- Key ID: `21`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_SECONDARY_IMAGE_LOCATION`

Secondary Image Location

- Key ID: `22`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `3`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_SECONDARY_IMAGE_SIZE`

Secondary Image Size

- Key ID: `23`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `3`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_UNIQUE_ID`

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.

- Key ID: `24`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `2`
- Default Value: Dynamic

### `E_IPJ_KEY_HARDWARE_REVISION`

The hardware revision of the module.

- Key ID: `25`
- Permissions: R
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_SYSTEM_TIMESTAMP_MS`

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.

- Key ID: `26`
- Permissions: R
- Range/Type: uint32
- Units: ms
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_ACTIVE_ACTIONS`

The commands actively running on the device. Each bit represents the current state of the action based on the ipj_action enumeration.

- Key ID: `27`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_ID`

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.

- Key ID: `32`
- Permissions: R/W
- Range/Type: ipj_region
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_CHANNEL_TABLE`

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.

- Key ID: `33`
- Permissions: R/W
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `50`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_CHANNEL_TABLE_SIZE`

The size of the custom region channel hop table.

For more information on custom regulatory regions, see the Custom Region configuration example.

- Key ID: `34`
- Permissions: R/W
- Range/Type: [0,50]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_ON_TIME_NOMINAL`

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.

- Key ID: `35`
- Permissions: R/W
- Range/Type: uint32
- Units: ms
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_ON_TIME_ACCESS`

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.

- Key ID: `36`
- Permissions: R/W
- Range/Type: uint32
- Units: ms
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_OFF_TIME`

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.

- Key ID: `37`
- Permissions: R/W
- Range/Type: uint32
- Units: ms
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_OFF_TIME_SAME_CHANNEL`

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.

- Key ID: `38`
- Permissions: R/W
- Range/Type: uint32
- Units: ms
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_START_FREQUENCY_KHZ`

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.

- Key ID: `39`
- Permissions: R/W
- Range/Type: uint32
- Units: kHz
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_CHANNEL_SPACING_KHZ`

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.

- Key ID: `40`
- Permissions: R/W
- Range/Type: uint32
- Units: kHz
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_RANDOM_HOP`

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.

- Key ID: `41`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_INDY_PLL_R_DIVIDER`

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.

- Key ID: `42`
- Permissions: R/W
- Range/Type: [24,60]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_REGION_RF_FILTER`

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.

- Key ID: `43`
- Permissions: R/W
- Range/Type: [0,2]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_ANTENNA_TX_POWER`

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.

- Key ID: `49`
- Permissions: R/W
- Range/Type: [0,3150]
- Units: cdBm
- Bank Count: `1`
- Value Count: `1`
- Default Value: Dynamic

### `E_IPJ_KEY_ANTENNA_SEQUENCE`

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.

- Key ID: `50`
- Permissions: R/W
- Range/Type: ipj_antenna, ipj_antenna_rs2000
- Units: –
- Bank Count: `0`
- Value Count: `16`
- Default Value: `0`

### `E_IPJ_KEY_INVENTORY_TAG_POPULATION`

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.

- Key ID: `64`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `16`

### `E_IPJ_KEY_INVENTORY_SELECT_FLAG`

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.

- Key ID: `65`
- Permissions: R/W
- Range/Type: ipj_inventory_select_flag
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `1`

### `E_IPJ_KEY_INVENTORY_SESSION`

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.

- Key ID: `66`
- Permissions: R/W
- Range/Type: [0,3]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_INVENTORY_SEARCH_MODE`

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.

- Key ID: `67`
- Permissions: R/W
- Range/Type: ipj_inventory_search_mode
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_FAST_ID_ENABLE`

Enable FastID capability for Monza tags.

- Key ID: `69`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TAG_FOCUS_ENABLE`

Enable TagFocus capability for Monza tags. Session must be S1 and Search Mode must be A->B only.

- Key ID: `70`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TAG_OPERATION_ENABLE`

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.

- Key ID: `71`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TAG_OPERATION_RETRIES`

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.

- Key ID: `72`
- Permissions: R/W
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `3`

### `E_IPJ_KEY_SELECT_ENABLE`

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.

- Key ID: `80`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `2`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_SELECT_TARGET`

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.

- Key ID: `81`
- Permissions: R/W
- Range/Type: ipj_select_target
- Units: –
- Bank Count: `2`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_SELECT_ACTION`

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.

- Key ID: `82`
- Permissions: R/W
- Range/Type: ipj_select_action
- Units: –
- Bank Count: `2`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_SELECT_MEM_BANK`

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.

- Key ID: `83`
- Permissions: R/W
- Range/Type: ipj_mem_bank
- Units: –
- Bank Count: `2`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_SELECT_POINTER`

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.

- Key ID: `84`
- Permissions: R/W
- Range/Type: int32
- Units: –
- Bank Count: `2`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_SELECT_MASK_LENGTH`

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.

- Key ID: `85`
- Permissions: R/W
- Range/Type: [0,255]
- Units: –
- Bank Count: `2`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_SELECT_MASK_VALUE`

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.

- Key ID: `86`
- Permissions: R/W
- Range/Type: uint16
- Units: –
- Bank Count: `2`
- Value Count: `16`
- Default Value: `0`

### `E_IPJ_KEY_TAG_OPERATION`

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.

- Key ID: `96`
- Permissions: R/W
- Range/Type: ipj_tag_operation_type
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_ACCESS_PASSWORD`

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.

- Key ID: `97`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_KILL_PASSWORD`

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.

- Key ID: `98`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_READ_MEM_BANK`

Tag memory bank specified for Read command in an Access operation.

For more details on reading tag memory, see the Read configuration example.

- Key ID: `99`
- Permissions: R/W
- Range/Type: ipj_mem_bank
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_READ_WORD_POINTER`

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.

- Key ID: `100`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_READ_WORD_COUNT`

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.

- Key ID: `101`
- Permissions: R/W
- Range/Type: [0,32]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_MEM_BANK`

Tag memory bank configured for a Write command in an Access operation.

For more details on writing tag memory, see the Write configuration example.

- Key ID: `102`
- Permissions: R/W
- Range/Type: ipj_mem_bank
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_WORD_POINTER`

Word Pointer to access for Write command in an Access operation.

For more details on writing tag memory, see the Write configuration example.

- Key ID: `103`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_WORD_COUNT`

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.

- Key ID: `104`
- Permissions: R/W
- Range/Type: [0,32]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_DATA`

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.

- Key ID: `105`
- Permissions: R/W
- Range/Type: uint16
- Units: –
- Bank Count: `0`
- Value Count: `32`
- Default Value: `0`

### `E_IPJ_KEY_LOCK_PAYLOAD`

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.

- Key ID: `106`
- Permissions: R/W
- Range/Type: [0,0xFFFFF]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_BLOCKPERMALOCK_ACTION`

BlockPermalock action for the BlockPermalock operation.

For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.

- Key ID: `107`
- Permissions: R/W
- Range/Type: ipj_blockpermalock_action
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_BLOCKPERMALOCK_MEM_BANK`

Memory Bank to target for the BlockPermalock operation.

For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.

- Key ID: `108`
- Permissions: R/W
- Range/Type: ipj_mem_bank
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_BLOCKPERMALOCK_BLOCK_POINTER`

Block Pointer for the BlockPermalock operation.

For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.

- Key ID: `109`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_BLOCKPERMALOCK_BLOCK_RANGE`

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.

- Key ID: `110`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_BLOCKPERMALOCK_MASK`

BlockPermalock mask for the BlockPermalock operation.

For more information on how to use the BlockPermalock command, see the BlockPermalock configuration example.

- Key ID: `111`
- Permissions: R/W
- Range/Type: uint16
- Units: –
- Bank Count: `0`
- Value Count: `16`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_EPC_LENGTH_CONTROL`

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.

- Key ID: `112`
- Permissions: R/W
- Range/Type: ipj_write_epc_length_control
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_EPC_LENGTH_VALUE`

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.

- Key ID: `113`
- Permissions: R/W
- Range/Type: [0,31]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_EPC_AFI_CONTROL`

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.

- Key ID: `114`
- Permissions: R/W
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_WRITE_EPC_AFI_VALUE`

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.

- Key ID: `115`
- Permissions: R/W
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_QT_ACTION`

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.

- Key ID: `116`
- Permissions: R/W
- Range/Type: ipj_qt_action
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_QT_PERSISTENCE`

QT Persistence for the QT operation.

For more information on how to use the QT operation, see the QT configuration example.

- Key ID: `117`
- Permissions: R/W
- Range/Type: ipj_qt_persistence
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_QT_DATA_PROFILE`

QT Data Profile for the QT operation.

For more information on how to use the QT operation, see the QT configuration example.

- Key ID: `118`
- Permissions: R/W
- Range/Type: ipj_qt_data_profile
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_QT_ACCESS_RANGE`

QT Access Range for the QT operation.

For more information on how to use the QT operation, see the QT configuration example.

- Key ID: `119`
- Permissions: R/W
- Range/Type: ipj_qt_access_range
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_QT_TAG_OPERATION`

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.

- Key ID: `120`
- Permissions: R/W
- Range/Type: ipj_tag_operation_type
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_AUTOSTOP_DURATION_MS`

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.

- Key ID: `137`
- Permissions: R/W
- Range/Type: uint32
- Units: ms
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_AUTOSTOP_TAG_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.

- Key ID: `139`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_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.

- Key ID: `140`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_REPORT_CONTROL_TAG`

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.

- Key ID: `161`
- Permissions: R/W
- Range/Type: ipj_tag_flag
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0x00000023`

### `E_IPJ_KEY_REPORT_CONTROL_STATUS`

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.

- Key ID: `162`
- Permissions: R/W
- Range/Type: ipj_status_flag
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_REPORT_CONTROL_TIMESTAMP`

Controls which reports from the module will contain timestamps.

- Key ID: `163`
- Permissions: R/W
- Range/Type: ipj_report_timestamp_flag
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_RESPONSE_CONTROL_TIMESTAMP`

Controls which responses from the module will contain timestamps.

- Key ID: `164`
- Permissions: R/W
- Range/Type: ipj_response_timestamp_flag
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEMPERATURE_INTERNAL`

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.

- Key ID: `176`
- Permissions: R
- Range/Type: int32
- Units: deg C
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEMPERATURE_EXTERNAL`

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.

- Key ID: `177`
- Permissions: R
- Range/Type: int32
- Units: deg C
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEMPERATURE_PA`

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.

- Key ID: `178`
- Permissions: R
- Range/Type: int32
- Units: deg C
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_GPIO_MODE`

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.

- Key ID: `192`
- Permissions: R/W
- Range/Type: ipj_gpio_mode
- Units: –
- Bank Count: `5`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_GPIO_STATE`

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.

- Key ID: `193`
- Permissions: R/W
- Range/Type: ipj_gpio_state
- Units: –
- Bank Count: `5`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_GPIO_HI_ACTION`

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.

- Key ID: `194`
- Permissions: R/W
- Range/Type: ipj_gpi_action
- Units: –
- Bank Count: `5`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_GPIO_LO_ACTION`

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.

- Key ID: `195`
- Permissions: R/W
- Range/Type: ipj_gpi_action
- Units: –
- Bank Count: `5`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_GPIO_DEBOUNCE_MS`

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.

- Key ID: `197`
- Permissions: R/W
- Range/Type: uint32
- Units: ms
- Bank Count: `5`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_GPIO_CURRENT_STATE`

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.

- Key ID: `198`
- Permissions: R
- Range/Type: ipj_gpio_state
- Units: –
- Bank Count: `5`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_RF_MODE`

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

- Key ID: `208`
- Permissions: R/W
- Range/Type: [0,4]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_FIRST_ERROR`

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.

- Key ID: `224`
- Permissions: R
- Range/Type: ipj_error
- Units: –
- Bank Count: `0`
- Value Count: `5`
- Default Value: `0`

### `E_IPJ_KEY_LAST_ERROR`

Contains the last error that occurred.

For more details on error codes, see the IRI Error Codes section.

- Key ID: `225`
- Permissions: R
- Range/Type: ipj_error
- Units: –
- Bank Count: `0`
- Value Count: `5`
- Default Value: `0`

### `E_IPJ_KEY_SYSTEM_ERROR`

Contains the last system level error that occurred (Hard Faults).

For more details on error codes, see the IRI Error Codes section.

- Key ID: `226`
- Permissions: R
- Range/Type: ipj_error
- Units: –
- Bank Count: `0`
- Value Count: `5`
- Default Value: `0`

### `E_IPJ_KEY_DEVICE_BAUDRATE`

The serial baud rate that the module UART1 (IRI) interface operates at after 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.

For more details on changing baud rates during operation, see the Change Baud Rate configuration example.

- Key ID: `256`
- Permissions: R/W
- Range/Type: ipj_baud_rate
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_DEVICE_IDLE_POWER_MODE`

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.

- Key ID: `257`
- Permissions: R/W
- Range/Type: ipj_idle_power_mode
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_ONBOOT_START_ACTION`

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.

- Key ID: `258`
- Permissions: R/W
- Range/Type: ipj_action
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `E_IPJ_ACTION_NONE`

### `E_IPJ_KEY_ENABLE_LT_REPORTS`

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.

- Key ID: `259`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_IN_BOOTSTRAP`

Returns true if reader is executing the bootstrap. Only works for bootstrap version 1.6.8.240 and up.

- Key ID: `260`
- Permissions: R
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_ENABLE`

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.

- Key ID: `512`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_NUM_ANTENNAS`

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.

- Key ID: `513`
- Permissions: R/W
- Range/Type: [0,16]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_PHYSICAL_PORT`

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.

- Key ID: `514`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_EXTERNAL_ANTENNA_MUX_DELAY_MICROSECONDS`

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.

- Key ID: `515`
- Permissions: R/W
- Range/Type: [0,1000]
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_ANTENNA_SEQUENCE_OPTION`

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.

- Key ID: `544`
- Permissions: R/W
- Range/Type: bool
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_ANTENNA_DESCRIPTORS`

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.

- Key ID: `545`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `16`
- Value Count: `8`
- Default Value: `0`

### `E_IPJ_KEY_ANTENNA_PHYSICAL_PORT`

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.

- Key ID: `546`
- Permissions: R/W
- Range/Type: ipj_antenna, ipj_antenna_rs2000
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_ID`

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.

- Key ID: `1024`
- Permissions: R/W
- Range/Type: ipj_test_id
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_PARAMETERS`

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.

- Key ID: `1025`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `16`
- Default Value: `0`

### `E_IPJ_KEY_TEST_RESULT_1`

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.

- Key ID: `1026`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_RESULT_2`

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.

- Key ID: `1027`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_RESULT_3`

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.

- Key ID: `1028`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_DATA`

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.

- Key ID: `1029`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `16`
- Default Value: `0`

### `E_IPJ_KEY_TEST_FREQUENCY`

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.

- Key ID: `1030`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_POWER`

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.

- Key ID: `1031`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `23`
- Default Value: `0`

### `E_IPJ_KEY_TEST_RF_MODE`

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.

- Key ID: `1032`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `5`
- Default Value: `0`

### `E_IPJ_KEY_TEST_TIME`

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.

- Key ID: `1033`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_EVENT`

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.

- Key ID: `1034`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `8`
- Default Value: `0`

### `E_IPJ_KEY_TEST_REPORTS`

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.

- Key ID: `1035`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `6`
- Default Value: `0`

### `E_IPJ_KEY_TEST_SYSTEM`

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.

- Key ID: `1036`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_TEST_DEBUG_PORT`

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.

- Key ID: `1037`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_GENERIC_DATA`

Generic data storage for third parties to add custom data to the device.

- Key ID: `3072`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `1`
- Value Count: `16`
- Default Value: `0`

### `E_IPJ_KEY_OEM_DATA`

OEM data storage to add custom data to the device during calibration.

- Key ID: `3073`
- Permissions: R
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `16`
- Default Value: `0`

### `E_IPJ_KEY_BLOCK_WRITE_OVERRIDE`

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

- Key ID: `4120`
- Permissions: R/W
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_SJC_CONTROL`

Controls SJC Enabling and debug. 0 = Enabled, 2 = Disabled, 3 = Fast SJC convergence

- Key ID: `4123`
- Permissions: R/W
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_STORED_SETTINGS_LOAD_STATUS`

Loading status for stored settings. 1 if stored settings were loaded properly, 0 otherwise.

- Key ID: `4129`
- Permissions: R
- Range/Type: uint8
- Units: –
- Bank Count: `0`
- Value Count: `1`
- Default Value: `0`

### `E_IPJ_KEY_PA_DIE_TEMPERATURE_TX_DUTY_CYCLE_LIMIT`

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.

- Key ID: `4130`
- Permissions: R/W
- Range/Type: [0,150]
- Units: deg C
- Bank Count: `0`
- Value Count: `1`
- Default Value: `130`

### `E_IPJ_KEY_TEMP_COMP_OFFSETS`

> Constant offset added to each of the TempComp power curves

- Key ID: `4131`
- Permissions: R/W
- Range/Type: uint32
- Units: –
- Bank Count: `0`
- Value Count: `5`
- Default Value: `0`

### Navigation

- next
- previous |
- Indy ITK 1.8.0 documentation »