Protocol 3000
Kramer devices can be operated using Kramer Protocol 3000 commands sent via serial or Ethernet ports.
Understanding Protocol 3000
Protocol 3000 commands are a sequence of ASCII letters, structured according to the following.
Command format:
Prefix | Command Name | Constant (Space) | Parameter(s) | Suffix |
---|---|---|---|---|
# | Command | Parameter | [CR] |
Feedback format:
Prefix | Device ID | Constant | Command Name | Parameter(s) | Suffix |
---|---|---|---|---|---|
~ | nn | @ | Command | Parameter | [CR][LF] |
Command Structure Rules:
- Command parameters: Multiple parameters must be separated by a comma (,). In addition, multiple parameters can be grouped as a single parameter using brackets ([ and ]).
- Command chain separator character: Multiple commands can be chained in the same string. Each command is delimited by a pipe character (|).
- Parameters attributes: Parameters may contain multiple attributes. Attributes are indicated with pointy brackets (<...>) and must be separated by a period (.).
The command framing varies according to how you interface with the VP-427UHD. The following figure displays how the # command is framed using terminal communication software (such as Hercules):
Hercules SETUP Utility Screenshot Description
A screenshot of the Hercules SETUP utility by HW-group.com is displayed. It shows a TCP Client connection to IP address 192.168.110.54 on port 5000, with a status indicating "Connected" and "#~010 OK". The utility includes sections for TEA authorization, PortStore test, and received/sent data logs. The bottom part shows options for sending data via HEX or Send buttons.
Protocol 3000 Commands
Function | Description | Syntax | Parameters/Attributes | Example |
---|---|---|---|---|
# | Protocol handshaking. Validates the Protocol 3000 connection and gets the machine number. Step-in master products use this command to identify the availability of a device. Get device build date. | COMMAND #<CR> FEEDBACK ~nn@ok<CR><LF> |
date - Format: YYYY/MM/DD where YYYY = Year MM = Month DD = Day time - Format: hh:mm:ss where hh = hours mm = minutes ss = seconds |
Get the device build date: #BUILD-DATE?<CR> |
BUILD-DATE? | Get device build date. | COMMAND #BUILD-DATE?<CR> FEEDBACK ~nn@BUILD-DATE date,time<CR><LF> |
||
ETH-PORT | Set Ethernet port protocol. If the port number you enter is already in use, an error is returned. The port number must be within the following range: 0-(2^16-1). | COMMAND #ETH-PORT port_type,port_id<CR> FEEDBACK ~nn@ETH-PORT_port_type,port_id<CR><LF> |
port type - TCP/UDP port_id - TCP/UDP port number (0-65535) |
Set the Ethernet port protocol for TCP to port 12457: #ETH-PORT 0,12457<CR> |
ETH-PORT? | Get Ethernet port protocol. | COMMAND #ETH-PORT? port_type<CR> FEEDBACK ~nn@ETH-PORT_port_type,port_id<CR><LF> |
port_type - TCP/UDP 0 = TCP 1 = UDP port_id - TCP / UDP port number (0-65535) |
Get the Ethernet port protocol for UDP: #ETH-PORT? 1<CR> |
FACTORY | Reset device to factory default configuration. ⓘ This command deletes all user data from the device. The deletion can take some time. Your device may require powering off and powering on for the changes to take effect. | COMMAND #FACTORY<CR> FEEDBACK ~nn@FACTORY_ok<CR><LF> |
Reset the device to factory default configuration: #FACTORY<CR> | |
HELP | Get command list or help for specific command. | COMMAND #HELP<CR> #HELP_cmd_name<CR> FEEDBACK 1. Multi-line: ~nn@Device cmd_name,cmd_name...<CR><LF> To get help for command use: HELP (COMMAND_NAME)<CR><LF> ~nn@HELP.cmd_name:<CR><LF> description<CR><LF> USAGE: usage<CR><LF> |
cmd_name - Name of a specific command | Get the command list: #HELP<CR> To get help for AV-SW-TIMEOUT: HELP av-sw-timeout<CR> |
MODEL? | Get device model. This command identifies equipment connected to VP-427UHD and notifies of identity changes to the connected equipment. The Matrix saves this data in memory to answer REMOTE-INFO requests. | COMMAND #MODEL?<CR> FEEDBACK ~nn@MODEL_model_name<CR><LF> |
model_name - String of up to 19 printable ASCII chars | Get the device model: #MODEL?<CR> |
NAME | Set machine (DNS) name. The machine name is not the same as the model name. The machine name is used to identify a specific machine or a network in use (with DNS feature on). | COMMAND #NAME machine_name<CR> FEEDBACK ~nn@NAME_machine_name<CR><LF> |
machine_name - String of up to 15 alpha-numeric chars (can include hyphen, not at the beginning or end) | Set the DNS name of the device to room-442: #NAME room-442<CR> |
NAME? | Get machine (DNS) name. The machine name is not the same as the model name. The machine name is used to identify a specific machine or a network in use (with DNS feature on). | COMMAND #NAME?<CR> FEEDBACK ~nn@NAME_machine_name<CR><LF> |
machine_name - String of up to 15 alpha-numeric chars (can include hyphen, not at the beginning or end) | Get the DNS name of the device: #NAME?<CR> |
NAME-RST | Reset machine (DNS) name to factory default. Factory default of machine (DNS) name is "KRAMER_" + 4 last digits of device serial number. | COMMAND #NAME-RST<CR> FEEDBACK ~nn@NAME-RST_ok<CR><LF> |
Reset the machine name (S/N last digits are 0102): #NAME-RST kramer_0102<CR> | |
NET-DHCP | Set DHCP mode. Only 1 is relevant for the mode value. To disable DHCP, the user must configure a static IP address for the device. Connecting Ethernet to devices with DHCP may take more time in some networks. To connect with a randomly assigned IP by DHCP, specify the device DNS name (if available) using the NAME command. You can also get an assigned IP by direct connection to USB or RS-232 protocol port, if available. For proper settings consult your network administrator. | COMMAND #NET-DHCP netw_id,dhcp_state<CR> FEEDBACK ~nn@NET-DHCP_netw_id,dhcp_state<CR><LF> |
netw_id - Network ID - the device network interface (if there are more than one). Counting is 0 based, meaning the control port is '0', additional ports are 1,2,3.... dhcp_state - 1 - Try to use DHCP. (If unavailable, use the IP address set by the factory or the net-ip command). |
Enable DHCP mode for port 1, if available: #NET-DHCP 1,1<CR> |
NET-DHCP? | Get DHCP mode. For Backward compatibility, the id parameter can be omitted. In this case, the Network ID, by default, is 0, which is the Ethernet control port. | COMMAND #NET-DHCP?_netw_id<CR> FEEDBACK ~nn@NET-DHCP_netw_id,dhcp_mode<CR><LF> |
netw_id - Network ID - the device network interface (if there are more than one). Counting is 0 based, meaning the control port is '0', additional ports are 1,2,3.... dhcp_mode - 0 - Do not use DHCP. Use the IP set by the factory or using the net-ip or net-config command. 1 - Try to use DHCP. If unavailable, use the IP set by the factory or using the net-ip or net-config command. |
Get DHCP mode for port 1: #NET-DHCP? 1<CR> |
NET-GATE | Set gateway IP. A network gateway connects the device via another network and maybe over the Internet. Be careful of security issues. For proper settings consult your network administrator. | COMMAND #NET-GATE ip_address<CR> FEEDBACK ~nn@NET-GATE_ ip address<CR><LF> |
ip_address - Format: XXX.XXX.XXX.XXX | Set the gateway IP address to 192.168.0.1: #NET-GATE 192.168.000.001<CR> |
NET-GATE? | Get gateway IP. A network gateway connects the device via another network and maybe over the Internet. Be aware of security problems. | COMMAND #NET-GATE?<CR> FEEDBACK ~nn@NET-GATE_ip_address<CR><LF> |
ip_address - Format: XXX.XXX.XXX.XXX | Get the gateway IP address: #NET-GATE?<CR> |
NET-IP | Set IP address. ⓘ For proper settings consult your network administrator. | COMMAND #NET-IP ip_address<CR> FEEDBACK ~nn@NET-IP ip_address<CR><LF> |
ip_address - Format: XXX.XXX.XXX.XXX | Set the IP address to 192.168.1.39: #NET-IP 192.168.001.039<CR> |
NET-IP? | Get IP address. | COMMAND #NET-IP?<CR> FEEDBACK ~nn@NET-IP ip_address<CR><LF> |
ip_address - Format: XXX.XXX.XXX.XXX | Get the IP address: #NET-IP?<CR> |
NET-MAC? | Get MAC address. For backward compatibility, the id parameter can be omitted. In this case, the Network ID, by default, is 0, which is the Ethernet control port. | COMMAND #NET-MAC? id<CR> FEEDBACK ~nn@NET-MAC id,mac_address<CR><LF> |
id - Network ID - the device network interface (if there are more than one). Counting is 0 based, meaning the control port is '0', additional ports are 1,2,3.... mac_address - Unique MAC address. Format: XX-XX-XX-XX-XX-XX where X is hex digit |
#NET-MAC?id<CR> |
NET-MASK | Set subnet mask. For proper settings consult your network administrator. | COMMAND #NET-MASK net_mask<CR> FEEDBACK ~nn@NET-MASK net_mask<CR><LF> |
net_mask - Format: XXX.XXX.XXX.XXX | Set the subnet mask to 255.255.0.0: #NET-MASK 255.255.000.000<CR> |
NET-MASK? | Get subnet mask. | COMMAND #NET-MASK?<CR> FEEDBACK ~nn@NET-MASK net mask<CR><LF> |
net_mask - Format: XXX.XXX.XXX.XXX | Get the subnet mask: #NET-MASK?<CR> |
PROT-VER? | Get device protocol version. | COMMAND #PROT-VER?<CR> FEEDBACK ~nn@PROT-VER 3000:version<CR><LF> |
version - XX.XX where X is a decimal digit | Get the device protocol version: #PROT-VER?<CR> |
PRST-RCL | Recall saved preset list. In most units, video and audio presets with the same number are stored and recalled together by commands #PRST-STO and #PRST-RCL. | COMMAND #PRST-RCL preset<CR> FEEDBACK ~nn@PRST-RCL preset<CR><LF> |
preset - Preset number | Recall preset 1: #PRST-RCL 1<CR> |
PRST-STO | Store current connections, volumes and modes in preset. ⓘ In most units, video and audio presets with the same number are stored and recalled together by commands #PRST-STO and #PRST-RCL. | COMMAND #PRST-STO preset<CR> FEEDBACK ~nn@PRST-STO preset<CR><LF> |
preset - Preset number | Store preset 1: #PRST-STO 1<CR> |
RESET | Reset device. To avoid locking the port due to a USB bug in Windows, disconnect USB connections immediately after running this command. If the port was locked, disconnect and reconnect the cable to reopen the port. | COMMAND #RESET<CR> FEEDBACK ~nn@RESET_ok<CR><LF> |
Reset the device: #RESET<CR> | |
SN? | Get device serial number. | COMMAND #SN?<CR> FEEDBACK ~nn@SN serial_num<CR><LF> |
serial_num - 14 decimal digits, factory assigned | Get the device serial number: #SN?<CR> |
UPGRADE | Perform firmware upgrade. ⓘ Not necessary for some devices. Firmware usually uploads to a device via a command like LDFW. Reset the device to complete the process. | COMMAND #UPGRADE<CR> FEEDBACK ~nn@UPGRADE_ok<CR><LF> |
Perform firmware upgrade: #UPGRADE<CR> | |
VERSION? | Get firmware version number. | COMMAND #VERSION?<CR> FEEDBACK ~nn@VERSION firmware_version<CR><LF> |
firmware_version - XX.XX.XXXX where the digit groups are: major.minor.build version | Get the device firmware version number: #VERSION?<CR> |
Protocol Y
Y commands are structured according to the following:
Command format:
Prefix | Constant (Space) | Control Type | Command Name | Parameter(s) |
---|---|---|---|---|
#Y | 0=Set command 1=Get command |
Function Number | Parameter |
Feedback format:
Prefix | Constant (Space) | Control Type | Command Name | Parameter(s) |
---|---|---|---|---|
~01@Y | 0=Set command 1=Get command |
Function Number | Parameter |
Example:
Set Command:
Type in: "Y Control_Type=0,Function,Param"
Reply: "~id=01Y Control_Type=0, Function, Param OK"
Set command example, set window control (721) to PiP:
Send: "#y 0,721,1"
Reply: "~01@Y 0,721,1 OK"
Get Command:
Type in: "Y Control_Type=1,Function"
Result: "~id=01Y Control_Type=1,Function, Param"
Get command example: get window control setup (721):
Send: "#y 1,721"
Result: "~01@y 1,721,1"
Protocol Y Commands
The following table lists the VP-427UHD "Y commands”.
Description | Function # | Parameter Value |
---|---|---|
Input Switch Mode | 114 | 0 = Input Switch Mode forced by Input Source parameter (see next item – function 115) or by Input HDBT/HDMI button (default) 1 = Auto Input Switch Mode when signal loss 2 = Auto Input Switch Mode to last connected input |
Input Source | 115 | 0 = HDMI input is active or has higher priority 1 = HDBT input is active or has higher priority |
HDMI Input HDCP capability | 116 | 0 = YES – there is HDCP capability 1 = NO – input is HDCP non-capable |
HDBT Input HDCP capability | 117 | 0 = YES – there is HDCP capability 1 = NO – input is HDCP non-capable |
Input SIGNAL LOSS handle mode | 118 | 0 = Blue screen - default 1 = Black screen 2 = Freeze Last Picture 3 = Turn off HDMI output 20 sec after signal loss |
Output Video Resolution | 200 | 0 = Native (default) 1 = 480i/60 2 = 576i/50 3 = 720p/50 4 = 720p/59 5 = 720p/60 6 = 1080i/50 7=1080i/59 8 = 1080i/60 9 = 1080p/23 10 = 1080p/24 11 = 1080p/25 12 = 1080p/29 13 = 1080p/30 14 = 1080p/50 15 = 1080p/59 16 = 1080p/60 17 = 1080sf/23 18 = 1080sf/24 19 = 1080sf/25 20 = 1080sf/29 21 = 1080sf/30 22 = 640x480/60 23 = 640x480/72 24 = 640x480/75 25 = 640x480/85 26 = 800x600/60 27 = 800x600/72 28 = 800x600/75 29 = 800x600/85 30 = 1024x768/60 31 = 1024x768/70 32 = 1024x768/75 33 = 1024x768/85 34 = 1152x864/75 35 = 1280x768/60 reduced blanking 36 = 1280x768/60 37 = 1280x768/75 38 = 1280x800/60 39 = 1280x960/60 40 = 1280x960/85 41 = 1280x1024/60 42 = 1280x1024/75 43 = 1360x768/60 44 = 1366x768/60 45 = 1400x1050/60 reduced blanking 46 = 1400x1050/60 47 = 1400x1050/75 48 = 1440x900/60 reduced blanking 49 = 1440x900/60 50 = 1440x900/75 51 = 1440x900/85 52 = 1600x1200/60 53 = 1680x1050/60 reduced blanking 54 = 1680x1050/60 55 = 1920x1200/60 reduced blanking 56 = 480p/60 57 = 576p/50 58 = 3840x2160p/24 59 = 3840x2160p/25 60 = 3840x2160p/30 61 = 3840x2160p/50 62 = 3840x2160p/60 |
TEST SIGNAL | 201 | 0 = NO TEST SIGNAL - default 1 = COLOR BARS100% 2 = SPLIT BARS 100% 3 = TILT LINE 4 = CROSS HATCH 5 = MODULATED RAMPS 6 = MOVING TILT LINE |
Output FORMAT select method | 202 | 0 = AUTO 1 = Forced HDMI always 2 = Forced DVI always |
UHD transition to HD filter | 203 | 0 = NO FILTER - Default 1 = SOFT FILTER ENABLED |
FREEZE | 204 | 0 = Unfreeze image 1 = Freeze image |
Output HDCP mode | 205 | 0 = FOLLOW OUTPUT - default 1 = FOLLOW INPU3 2 = ALWAYS ON 3 = ALWAYS OFF |
PORT RS232 DESTINATION | 206 | 0 = Unit control 1 = Pass through |
EXTRA RANGE | 207 | 0 = Normal 1 = Extra Range (only for resolutions not higher than 1080p/60) |
SELECT EDID | 208 | 0 = UHD 4K 1 = 1080P |
Input Resolution | 301 | 1 = 480i/60 2 = 576i/50 3 = 720p/50 4 = 720p/59 5 = 720p/60 6 = 1080i/50 7= 1080i/59 8 = 1080i/60 9 = 1080p/23 10 = 1080p/24 11 = 1080p/25 12 = 1080p/29 13 = 1080p/30 14 = 1080p/50 15 = 1080p/59 16 = 1080p/60 17 = 1080sf/23 18 = 1080sf/24 19 = 1080sf/25 20 = 1080sf/29 21 = 1080sf/30 22 = 640x480/60 23 = 640x480/72 24 = 640x480/75 25 = 640x480/85 26 = 800x600/60 27 = 800x600/72 28 = 800x600/75 29 = 800x600/85 30 = 1024x768/60 31 = 1024x768/70 32 = 1024x768/75 33 = 1024x768/85 34 = 1152x864/75 35 = 1280x768/60 reduced blanking 36 = 1280x768/60 37 = 1280x768/75 38 = 1280x800/60 39 = 1280x960/60 40 = 1280x960/85 41 = 1280x1024/60 42 = 1280x1024/75 43 = 1360x768/60 44 = 1366x768/60 45 = 1400x1050/60 reduced blanking 46 = 1400x1050/60 47 = 1400x1050/75 48 = 1440x900/60 reduced blanking 49 = 1440x900/60 50 = 1440x900/75 51 = 1440x900/85 52 = 1600x1200/60 53 = 1680x1050/60 reduced blanking 54 = 1680x1050/60 55 = 1920x1200/60 reduced blanking 56 = 480p/60 57 = 576p/50 58 = 3840x2160p/24 59 = 3840x2160p/25 60 = 3840x2160p/30 61 = 3840x2160p/50 62 = 3840x2160p/60 99 = UNIDENTIFIED INPUT SIGNAL 100 = NO INPUT SIGNAL |
Image brightness | 319 | [-50:50] If parameter = 0 then default brightness (100%) |
Image contrast | 320 | [-50:50] If parameter = 0 then default contrast (100%) |
Image color | 321 | [-100:50] If parameter = 0 then default color (100%). |
Image sharpness | 322 | [0:11] If parameter = 0 - no sharpness, if = 11, then max sharpness 110% Step = 10% |
Horizontal image size (for aspect 16:9) | 323 | [-50:50] If parameter = 0 then image is fitted to the screen |
Vertical image size (for aspect 16:9) | 324 | [-50:50] If parameter = 0 then image is fitted to the screen |
Horizontal image size (for aspect 4:3) | 325 | [-50:50] If parameter = 0 then image is fitted to the screen |
Vertical image size (for aspect 4:3) | 326 | [-50:50] If parameter = 0 then image is fitted to the screen |
Horizontal image position | 327 | [-100:100] If parameter = 0 then image is fitted to the screen without horizontal shift. Step 0.1% |
Vertical image position | 328 | [-100:100] If parameter = 0 then image is fitted to the screen without vertical shift. Step 0.1% |
Delay of Blue or Black Screen | 329 | 0 = 2 sec 1 = 5 sec 2 = 10 sec 3 = 20 sec |
Freeze delay time | 330 | [1:6] If parameter = 1 (default) delay = 1 sec. Step 1 sec |
Freeze delay mode | 331 | No additional delay Delay only in case of repeated signal loss Delay after every single signal loss |
Result and Error Codes
Syntax
In case of an error, the device responds with an error message. The error message syntax:
- ~NN@ERR XXX[CR][LF] – when general error, no specific command
- ~NN@CMD ERR XXX[CR][LF] – for specific command
Where:
- NN - machine number of device, default = 01
- XXX - error code
Error Codes
Error Name | Error Code | Description |
---|---|---|
P3K_NO_ERROR | 0 | No error |
ERR_PROTOCOL_SYNTAX | 1 | Protocol syntax |
ERR_COMMAND_NOT_AVAILABLE | 2 | Command not available |
ERR_PARAMETER_OUT_OF_RANGE | 3 | Parameter out of range |
ERR_UNAUTHORIZED_ACCESS | 4 | Unauthorized access |
ERR_INTERNAL_FW_ERROR | 5 | Internal FW error |
ERR_BUSY | 6 | Protocol busy |
ERR_WRONG_CRC | 7 | Wrong CRC |
ERR_TIMEDOUT | 8 | Timeout |
ERR_RESERVED | 9 | (Reserved) |
ERR_FW_NOT_ENOUGH_SPACE | 10 | Not enough space for data (firmware, FPGA...) |
ERR_FS_NOT_ENOUGH_SPACE | 11 | Not enough space - file system |
ERR_FS_FILE_NOT_EXISTS | 12 | File does not exist |
ERR_FS_FILE_CANT_CREATED | 13 | File can't be created |
ERR_FS_FILE_CANT_OPEN | 14 | File can't open |
ERR_FEATURE_NOT_SUPPORTED | 15 | Feature is not supported |
ERR_RESERVED_2 | 16 | (Reserved) |
ERR_RESERVED_3 | 17 | (Reserved) |
ERR_RESERVED_4 | 18 | (Reserved) |
ERR_RESERVED_5 | 19 | (Reserved) |
ERR_RESERVED_6 | 20 | (Reserved) |
ERR_PACKET_CRC | 21 | Packet CRC error |
ERR_PACKET_MISSED | 22 | Packet number isn't expected (missing packet) |
ERR_PACKET_SIZE | 23 | Packet size is wrong |
ERR_RESERVED_7 | 24 | (Reserved) |
ERR_RESERVED_8 | 25 | (Reserved) |
ERR_RESERVED_9 | 26 | (Reserved) |
ERR_RESERVED_10 | 27 | (Reserved) |
ERR_RESERVED_11 | 28 | (Reserved) |
ERR_RESERVED_12 | 29 | (Reserved) |
ERR_EDID_CORRUPTED | 30 | EDID corrupted |
ERR_NON_LISTED | 31 | Device specific errors |
ERR_SAME_CRC | 32 | File has the same CRC – no changed |
ERR_WRONG_MODE | 33 | Wrong operation mode |
ERR_NOT_CONFIGURED | 34 | Device/chip was not initialized |