Parameter Reference
TiJet SDK uses case-sensitive parameter keys for device configuration, telemetry, and status information.
Usage Conventions
| Rule | Description |
|---|
| Key format | Uppercase letters and underscores; keys are case-sensitive |
| Value format | Values are exchanged as strings |
| Booleans | Use "true" or "false" |
| Numbers | Use decimal notation for integers and doubles |
| Enumerations | Use the tokens listed in the table |
Number suffix _X | Replace X with the number specified by the key. Most keys address a print head; PRINT_COLUMN_SPACING_X addresses a column |
| Access | rw = read/write, ro = read-only, wo = write-only |
| Invalid key or value | The operation returns an error and the existing value is unchanged |
Typed helpers such as ti_set_int() and get_bool() convert between native values and strings.
Logging and Notifications
| Key | Type | Access | Default | Range | Unit | Description |
|---|
LOG_ENABLE | bool | rw | true | true / false | — | Runtime log enable switch |
LOG_LEVEL | int | rw | 2 | [0, 6] | — | Log level; 0 records everything and 6 disables logging |
BEEP_DURATION | int | rw | 100 | [0, 10000] | ms | Beeper duration in milliseconds |
Print Speed, Delay, and Interval
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_SPEED_TIMER | int | rw | 6250 | [6250, 49999999] | — | Print speed in timer mode |
PRINT_SPEED_ENCODER | int | rw | 0 | [0, 10000] | — | Print speed in encoder mode |
PRINT_DELAY_MS | int | rw | 0 | [0, 99999999] | ms | Trigger-to-print delay in milliseconds |
PRINT_DELAY_MM | int | rw | 0 | [0, 99999999] | mm | Trigger-to-print distance in millimeters |
PRINT_INKJET_PASSES | int | rw | 0 | [0, 4] | — | Ink-darkening pass count from 0 to 4 |
PRINT_INTERVAL_MS | int | rw | 1 | [1, 99999999] | ms | Interval between repeated prints in timer mode |
PRINT_INTERVAL_MM | int | rw | 1 | [1, 99999999] | mm | Interval between repeated prints in encoder mode |
PRINT_DIRECTION | enum (LR / RL) | rw | LR | LR / RL | — | Print direction |
PRINT_BURST_COUNT | int | rw | 1 | [0, 999999999] | — | Number of copies per trigger; 0 prints continuously while triggered |
Direction and Mirroring
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_MIRROR_HORIZONTAL | bool | rw | false | true / false | — | Mirror the complete print output horizontally |
PRINT_MIRROR_HORIZONTAL_HEAD_X | bool | rw | false | true / false | — | Mirror output from head X horizontally |
PRINT_MIRROR_VERTICAL_HEAD_X | bool | rw | false | true / false | — | Mirror output from head X vertically |
Encoder
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_ENCODER_ENABLE | bool | rw | false | true / false | — | Enable encoder mode |
PRINT_ENCODER_PPR | int | rw | 2500 | [1, 99999999] | PPR | Encoder pulses per revolution |
PRINT_ENCODER_DIAMETER | double | rw | 50.0 | [1.0, 99999999.0] | mm | Encoder wheel diameter in millimeters |
Head Maintenance
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_FLASH_JET_CONFIG | int | rw | 0 | [0, 999] | — | Flash-jet frequency; 0 disables flash jet |
PRINT_FLASH_JET_LINES | int | rw | 0 | [0, 15] | lines | Flash-jet line count |
Trigger and Notification
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_TRIGGER_LEVEL | enum (POSEDGE / NEGEDGE) | rw | POSEDGE | POSEDGE / NEGEDGE | — | Trigger edge selection |
Alarm Light
| Key | Type | Access | Default | Range | Unit | Description |
|---|
ALARM_RED | bool | rw | false | true / false | — | Alarm light red channel |
ALARM_YELLOW | bool | rw | false | true / false | — | Alarm light yellow channel |
ALARM_GREEN | bool | rw | false | true / false | — | Alarm light green channel |
ALARM_BUZZER | bool | rw | false | true / false | — | Alarm light buzzer |
Nozzle Rows and Head Spacing
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_NOZZLE_ROW_SELECT | enum (NONE / A / B) | rw | NONE | NONE / A / B | — | Nozzle row selection |
PRINT_COLUMN_SPACING_X | int | rw | 0 | [0, 999999] | — | Column spacing (offset) for column X; replace _X with the column number, so _1 means column 1 |
PRINT_HEAD_STITCH_X | int | rw | 0 | [0, 999999] | — | Stitch calibration value for head X |
TIJ
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_TIJ_VOLTAGE | double | rw | 7.0 | [7.0, 12.0] | V | TIJ head drive voltage in volts |
PRINT_TIJ_PULSE_WIDTH | int | rw | 18 | [12, 23] | μs | TIJ head pulse width in microseconds |
PRINT_TIJ_PEN_CHECK_MODE | bool | rw | false | true / false | — | TIJ cartridge detection enable |
PRINT_TIJ_CLEAN_NOZZLE_MODE | bool | rw | false | true / false | — | Continuous full-black nozzle cleaning mode |
PRINT_TIJ_CLEAN_NOZZLE_POWER | int | rw | 100 | [10, 100] | % | Cleaning frequency percentage |
Head Muting
| Key | Type | Access | Default | Range | Unit | Description |
|---|
PRINT_PEN_MUTE_X | bool | rw | false | true / false | — | Exclude head X from printing |
| Key | Type | Access | Default | Range | Unit | Description |
|---|
DEVICE_HEAD_TYPE | string | ro | (empty) | — | — | Supported head type |
DEVICE_HEAD_COUNT | int | ro | 1 | [1, 8] | — | Number of print heads |
DEVICE_PROJECT_VERSION | string | ro | (empty) | — | — | Product version |
DEVICE_FIRMWARE_VERSION | string | ro | (empty) | — | — | Firmware version |
DEVICE_SERIAL_NUMBER | string | ro | (empty) | — | — | Device serial number |
DEVICE_BOARD_NAME | string | ro | (empty) | — | — | Board name |
DEVICE_CPU_MODEL | string | ro | (empty) | — | — | CPU model |
DEVICE_CPU_TEMPERATURE | int | ro | 0 | — | °C | CPU temperature in degrees Celsius |
DEVICE_MEMORY_SIZE | int | ro | 0 | — | MB | Total memory in MiB |
DEVICE_MEMORY_USAGE | int | ro | 0 | — | MB | Used memory in MiB |
DEVICE_AGENT_ID | string | ro | (empty) | — | — | Device agent ID |
DEVICE_ROOTFS_VERSION_CODE | string | ro | (empty) | — | — | System version |
DEVICE_APP_VERSION_CODE | string | ro | (empty) | — | — | Application version |
Head Telemetry and Driver Boards
| Key | Type | Access | Default | Range | Unit | Description |
|---|
VOLTAGE_HEAD_X | double | ro | (empty) | — | — | High voltage of head X, in volts |
PULSE_WIDTH_HEAD_X | double | ro | (empty) | — | — | Pulse width of head X, in microseconds |
TEMPERATURE_HEAD_X | double | ro | (empty) | — | — | Reserved head temperature telemetry; reading is not supported yet |
DRIVER_BOARD_MCU_VERSION_X | string | ro | (empty) | — | — | MCU application version for the driver board associated with head X |
| Key | Type | Access | Default | Range | Unit | Description |
|---|
INK_CARD_INK_TOTAL_X | double | ro | (empty) | — | pL | Total ink recorded on the ink card for head X, in picoliters |
INK_CARD_INK_REMAINING_X | double | ro | (empty) | — | pL | Remaining ink recorded on the ink card for head X, in picoliters |
Divide picoliter values by 1,000,000,000 to display milliliters.
Time Synchronization
| Key | Type | Access | Default | Range | Unit | Description |
|---|
SYSTEM_DATETIME | string | wo | (empty) | — | — | Set device time using yyyy-MM-dd HH:mm:ss |
Examples
C
ti_set_int(cli, TI_PARAM_PRINT_SPEED_TIMER, 10000);
ti_set_bool(cli, TI_PARAM_PRINT_MIRROR_HORIZONTAL, 1);
ti_set_parameter(cli, TI_PARAM_SYSTEM_DATETIME, "2026-09-17 10:30:00");
double ink_total = 0.0;
ti_get_double(cli, TI_PARAM_INK_CARD_INK_TOTAL(1), &ink_total);
For C _X macros, pass a literal number. A runtime variable is stringified as the variable name. Build the key explicitly when the number is dynamic:
char key[64];
snprintf(key, sizeof(key), "INK_CARD_INK_TOTAL_%u", head_no);
ti_get_double(cli, key, &ink_total);
Constant Naming
| Language | Naming rule | Example |
|---|
| C / C++ | TI_PARAM_<KEY> | TI_PARAM_PRINT_SPEED_TIMER |
C and C++ use _X keys as function-like macros with the same function calls.