Communication with external systems

Edward Updated by Edward

NEO can connect to and communicate with external systems via a network connection, a serial line or a MIDI interface. The following sections provide details of the commands used.

Telnet

Telnet provides a way to send and receive commands over a network connection. The following commands can be used to establish a connection with and send commands to an external system.

connect ({ip address} | {system name})

Use the system name if it can be resolved by the network or the ip address of the external system if the name cannot be resolved. The port number is fixed at 3100.

NEO Notes & Tips: You can establish a telnet connection to a program running on the same system as NEO by using the system name localhost (or ip address 127.0.0.1).

Once connected to a remote system, commands can be sent using the “send” or “sendto” command.

send {command string} - Send the command to the first connected system.

send hex {##} {##} {##}... – Send raw 8-bit bytes. Each byte is entered as a 2-character hex value (00-FF).

sendto (all | {remote system}) {command string} - Send the command to a specific remote system or all remote systems.

Use the disconnect command to end communication with a remote system.

disconnect – End communication to all connected systems.

disconnect ({ip address} | {system name}) – End communication with a specific external system.

Use the commands telnet off and telnet on to suspend and restore telnet traffic without disconnecting the link.

UDP Messages

Unlike telnet, UDP messages are connectionless with no acknowledgement received back when a message is sent.

send udp {port number} {message} – Send a text message as ASCII up to 255 characters.

send udp hex {port number} {##} {##} {##}... – Send raw 8-bit bytes. Each byte is entered as a 2-character hex value (00-FF).

Serial Port

Similar to Telnet, commands may be sent to or received from another system or device connected to the NEO computer via a serial line. The following commands can be used to open a serial port, send commands and close the port.

serialopen {port} [{parameter}, [{parameter}…]]

The (optional) parameters that may be specified are:

baud ({rate}), data bits ( [7 | 8]), stop bits ([1 | 2]), parity ([none | even | odd]),

flow ([none | xon/xoff | rts])

The default parameters are: baud=9600, data bits=8, stop bits=1, parity=none, flow=none. In addition, the parameter ignore can be added which will prevent incoming serial data from being sent to the command line processor.

serialwrite {port} {text}

Write the text data to the serial port. A \r may be added to send a return. If the specified port has not been opened previously, this command will open it with default parameters and set to ignore incoming commands

serialclose {port} – End communications on the specified port.

MIDI

In addition to receiving MIDI commands, NEO can send commands to external systems. The basic form of a MIDI message is:

midi {device #}[.{channel #}] {message type} [{data 1} {data 2}]

A MIDI connection can support up to 16 devices, each having 16 channels. The device # specifies which device will receive the message. NEO polls for connected MIDI devices and lists them in the command history screen during startup. A device number must be specified as part of the command syntax.

An optional channel number may be specified also after the device number separated by a period. If not specified, the channel number defaults to 1.

The message type is one of the following keywords: ALLNOTESOFF, NOTEOFF, NOTEON, KEYAFTERTOUCH, CONTROLCHANGE, PROGRAMCHANGE, CHANAFTERTOUCH, PITCHBEND, SYSTEMMESSAGE, BEGINSYSEX, MTCQUARTERFRAME, SONGPOSPTR, SONGSELECT, ENDSYSEX, TIMINGCLOCK, START, CONTINUE, STOP, ACTIVESENSING, SYSTEMRESET.

The data fields will contain values relevant to the message type. Knowledge of the receiving system is needed in order to construct proper messages for it.

Chillinet & Ican

There are architectural controls that can be integrated into a venue’s lighting system. NEO can send and receive messages from these systems via a serial line or network connection. These commands can be used to send command strings from NEO. The syntax of these commands are:

chilli {message string}

ican {message string}

Knowledge of the receiving system is needed in order to construct proper messages for it.

Vision.Net

Vision.Net is a fully integrated lighting management system from Vari-Lite. More information is available at the Vari-Lite website. The basic form of a VisionNet command is:

vn {message type} [{data 1} {data 2} {data 3}]

Each message can have up to 3 bytes of data depending on the message type. Knowledge of the receiving system is needed in order to construct proper messages for it.

How did we do?

Programming Commands

Timing Commands

Contact