All Pages
AMX Protocol v1.1

Overview

The protocol is based on sending and receiving commands as ASCII strings. The aim is to keep the commands as human-readable as possible. The system consists of two parts: the AMX Server which is used to receive and handle the protocol commands and AMX Beacon which is used for AMX Device Discovery.

Requirements

The AMX control protocol is available with MultiTaction firmware version 1.9.1-taction17. Both servers, the AMX Server and AMX Beacon, are disabled by default. They must be enabled from the MultiTaction OSD under Setup → AMX. When enabled, the AMX Server can be reached on TCP port 6000.

Strings

Strings should consist of only ASCII characters. The maximum length for send and return strings should be less than 256 characters. Strings are terminated with CR, LF.

Command Structure

There are four types of strings used in the command protocol:

  1. Command strings (client → MultiTaction Cell)
  2. ACK string (MultiTaction Cell → client)
  3. Query response strings (MultiTaction Cell → client)
  4. Error strings (MultiTaction Cell → client)

Command strings

<Command name>[param 0][param 1...]<Line feed>

Command name and parameters are separated by ASCII space character. Example: STANDBY 1\r\n is STANDBY command with one parameter 1. Query commands are prefixed with ?, for example, ?STANDBY\r\n would query the standby status. All integer parameters are encoded as ASCII decimal character arrays.

ACK String

OK<Line feed>

Server will send ACK response when it has parsed a command from the client and there has been no errors when processing the command.

Query Response Strings

<Request>=<Response, no line feeds><Line feed>

Server will send response to query commands with one response string per query. On normal commands, only ACK is returned, unless there was an error. Request is the original command, excluding the beginning question mark ‘?’.

Error strings

Error <Human readable description><Line feed>

In case of internal error or invalid / unknown command server will send error string to client.

Command reference

List of valid commands and responses.

Command Example response Description
?VERSION PROTOCOL: 1.1, VM1: B2.7, DCU: 7 7 7 7 7 7 7 7, DGU: 10, FIRMWARE: 1.9.1-taction17

Query the AMX control protocol, hardware and firmware version information.

?VERSION <COMPONENT> VERSION VM1=B2.7 (for query ?VERSION VM1)

Version information of the given component. Return response only includes the version string without any prefix. List of components: PROTOCOL, FIRMWARE, VM1, DGU, DCU

?MODEL MODEL=MT550L

Query the hardware model.

?STANDBY STANDBY=1|0

Is the screen on standby?

STANDBY 1 Enter standby mode (turn off LCD, IR, Cameras, Backlight)
STANDBY 0

Recover from standby mode

?DPMS DPMS=ON | STANDBY | SUSPEND | OFF

Query the DPMS state of the panel / internal PC graphics card.

LCD-POWER 0

Turn off LCD power.

LCD-POWER 1

Turn on LCD power.

?BRIGHTNESS BRIGHTNESS=0-255

Query LCD backlight brightness.

BRIGHTNESS <X>

Set LCD backlight brightness to X, X is integer between 0 and 255.

?LOGO-TIMEOUT LOGO-TIMEOUT=<seconds>

Query the VM1 logo timeout in seconds (how long the logo is displayed before the screen is blanked)

LOGO-TIMEOUT <X>

Set the VM1 logo timeout to X seconds.

?VIDEO-INPUT-AUTO VIDEO-INPUT-AUTO=1 | 0

Query the status of VM1 video input auto-selection.

VIDEO-INPUT-AUTO 1

Turns on video input auto-selection.

VIDEO-INPUT-AUTO 0

Turns the auto-selection off.

?VIDEO-INPUT-PRIORITY VIDEO-INPUT-PRIORITY=EXTERNAL_DVI | INTERNAL

Query the priority of VM1 video input auto-selection.

VIDEO-INPUT-PRIORITY EXTERNAL_DVI

Give priority to external video input.

VIDEO-INPUT-PRIORITY INTERNAL

Give priority to the internal PC (OSD).

?VIDEO-INPUT VIDEO-INPUT=EXTERNAL_DVI | INTERNAL | TEST_IMAGE | LOGO

Query active video input.

VIDEO-INPUT <INPUT>

Choose video input, INPUT parameter is one of the ?VIDEO-INPUT responses. Overrides and turns off auto-selection.

?TEMPERATURE VM1 TEMPERATURE VM1=<Integer, °C>

Query the VM1 temperature, return value is in degree Celsius.

?TEMPERATURE GPU TEMPERATURE GPU=<Integer, °C>

GPU temperature.

?IMAGE-DATA-INFO RX IMAGE-DATA-INFO RX=<Integer, bytes>

Query the internal image stream statistics. Returns the number of bytes the internal PC has received camera stream data from DGU since last reboot.

?IMAGE-DATA-INFO TX IMAGE-DATA-INFO TX=<Integer, bytes>

Number of bytes sent to DGU since last reboot.

?IMAGE-DATA-INFO ERRORS IMAGE-DATA-INFO ERRORS=<Integer, number of errors>

Number of detected errors in the camera data stream since last reboot.

?NETWORK-INFO RX NETWORK-INFO RX=<Integer, bytes>

Number of bytes received from the external network adapter since last reboot.

?NETWORK-INFO TX NETWORK-INFO TX=<Integer, bytes>

Number of bytes sent to external network adapter since last reboot.

?NETWORK-INFO ERRORS NETWORK-INFO ERRORS=<Integer, number of errors>

Number of detected errors in the external network adapter since last reboot.

REBOOT

Restarts the embedded computer, does not cycle power.