Nevion MRP User Manual

Modular Routing Protocol
User manual
Rev. L
Nevion
Nordre Kullerød 1 3241 Sandefjord Norway Tel: +47 33 48 99 99
nevion.com
Modular Routing Protocol - MRP Rev. L
Nevion Europe
P.O. Box 1020
3204 Sandefjord, Norway Support phone 1: +47 33 48 99 97 Support phone 2: +47 90 60 99 99
Nevion USA
1600 Emerson Avenue
Oxnard, CA 93033, USA
Toll free North America: (866) 515-0811
Outside North America: +1 (805) 247-8560
E-mail: support@nevion.com
See http://www.nevion.com/support/ for service hours for customer support globally.
Rev.
Repl.
Date
Sign
Change description
L K 2013-10-22
PN/JGS
Added alarms to protocol. Updated events. Added request partial status for parameters. Updated supported commands table, appendix A.
K J 2013-05-03
JGS
Updated filter command, added chapters for description commands.
J 8 2013-02-04
JGS
Updated supported commands table in appendix
8 7 2012-05-04
JGS
Added description of SI-command, chapter 6.6 Request status – partial status
7 6 2011-01-24
PN
Updated to reflect Multicon release 3.5.0
6 5 2009-12-07
JGS
Updated to reflect Multicon release 3.2.0
5 4 2009-06-02
JIH
First official release
4 3 2009-04-03
JIH
Updated with new style
3 2 2009-04-03
JAP
Added salvos and virtual tables to protocol. Took out deprecated commands. General clean-up.
2 1 2005-10-05
NBS
Command- and response-syntaxes updated.
1 0 2005-07-01
NBS
Some commands updated and more commands added.
0 - 2003-10-08
NBS
Initial release.
Nevion Support
Revision history
Current revision of this document is the uppermost in the table below.
nevion.com | 2
Modular Routing Protocol - MRP Rev. L
Contents
Revision history ........................................................................................................ 2
1 Introduction ............................................................................................................ 5
2 Definitions .............................................................................................................. 6
2.1 Routers and levels ........................................................................................................ 6
2.2 Clients and servers ....................................................................................................... 6
2.3 Message format and structure ....................................................................................... 6
2.4 Common syntax definitions ........................................................................................... 7
2.5 Locking ......................................................................................................................... 7
2.6 Check Sum (Cyclic Redundancy Checksum, CRC) ....................................................... 8
2.7 Protocol error handling .................................................................................................. 8
2.8 Future expansion .......................................................................................................... 8
3 Initial communication ............................................................................................. 9
3.1 Connection to server ..................................................................................................... 9
3.2 User identification and privileges ................................................................................... 9
3.3 User list ......................................................................................................................... 9
4 Protocol configuration .......................................................................................... 10
4.1 Protocol syntax.............................................................................................................10
4.2 CRC in response ..........................................................................................................10
4.3 Command echo ............................................................................................................11
4.4 Protocol version ...........................................................................................................11
4.5 Server Ping ..................................................................................................................11
4.6 Status message suppression .......................................................................................11
5 Logical system structure ...................................................................................... 13
5.1 Level list .......................................................................................................................13
5.2 Virtual Table list ............................................................................................................13
5.3 Virtual Level list ............................................................................................................14
5.4 Parameter group list .....................................................................................................14
5.5 Salvo group list.............................................................................................................14
5.6 Level input information list ............................................................................................15
5.7 Level output information list ..........................................................................................15
5.8 Virtual sources information list ......................................................................................16
5.9 Virtual destinations information list ...............................................................................17
5.10 Category list ...............................................................................................................17
5.11 Salvo list .....................................................................................................................17
5.12 Listing available parameters .......................................................................................18
5.13 Changing the alias of an item .....................................................................................19
5.14 Changing the name of an item ...................................................................................20
5.15 Changing the description of an item ...........................................................................20
6 System status ...................................................................................................... 22
6.1 Status messages ..........................................................................................................22
6.2 Request Crosspoint Status Entire Level ...................................................................22
6.3 Request Crosspoint Status – Entire Level – Compact ..................................................23
6.4 Request Virtual Crosspoint Status Entire Virtual Table ............................................23
6.5 Request Salvo Status Entire Salvo Group ...............................................................24
6.6 Request status – partial status .....................................................................................24
6.6.1 Levels........................................................................................................................24
nevion.com | 3
Modular Routing Protocol - MRP Rev. L
6.6.2 Virtual router..............................................................................................................25
6.6.3 Salvos ................................ ................................................................ .......................25
6.6.4 Parameters ...............................................................................................................26
6.7 Input signal presence status .........................................................................................27
6.8 Output signal presence status ......................................................................................28
6.9 Getting status for all parameters in group .....................................................................29
7 System operation commands ................................ ................................ .............. 30
7.1 Crosspoint Take ...........................................................................................................30
7.2 Order of execution ........................................................................................................30
7.3 Virtual Crosspoint Take ................................................................................................31
7.4 Salvo Take ...................................................................................................................31
7.5 Setting parameter .........................................................................................................32
7.6 Lock/protect .................................................................................................................32
7.7 Reset lock/protect ........................................................................................................32
7.8 Diagonal .......................................................................................................................32
8 Server Alarms and Events ................................................................ ................... 33
8.1 Alarm status .................................................................................................................33
8.2 Alarm list ......................................................................................................................34
8.3 Alarm acknowledge ......................................................................................................34
8.4 Event status .................................................................................................................35
9 Deprecated commands ....................................................................................... 36
9.1 Request Crosspoint Locking Status — Single Destination ............................................36
9.2 Router list .....................................................................................................................36
9.3 Router partition list .......................................................................................................36
9.4 Bus list .........................................................................................................................37
9.5 Module list ....................................................................................................................37
9.6 List input configuration and status ................................................................................37
9.7 List output configuration and status ..............................................................................38
9.8 Monitor status ..............................................................................................................38
9.9 Partition router..............................................................................................................39
9.10 Set input configuration ................................................................................................39
9.11 Set output configuration .............................................................................................40
9.12 Monitor configuration ..................................................................................................42
9.13 Set environment alarm limits ......................................................................................44
9.14 List environment status ..............................................................................................44
Appendix A – Supported commands ...................................................................... 45
nevion.com | 4
Modular Routing Protocol - MRP Rev. L
1 Introduction
This document describes the communication protocol for controlling Nevion products. Nevion VikinX Modular, Sublime and Compact routers in addition to Flashlink frames can be connected to Nevion Control Panels or computers through Ethernet, RS232 or RS422. As the protocol is ASCII based, changes can be made using a terminal program.
This document contains a command reference of the Modular Routing Protocol. All syntax in this document is presented in the Backus-Naur form (BNF).
nevion.com | 5
Modular Routing Protocol - MRP Rev. L
2 Definitions
2.1 Routers and levels
Physical routers must be partitioned into one or more levels to make them controllable. Level is a logical router inside a physical router. A physical router output can not be included in more than one level. Input and output sequences are continuous and span from 0 to size-1. Refer to the Nevion Configurator user manual for more details.
Nevion products can only be partitioned into levels when Multicon is used. Without Multicon, the level size is equal to the physical router size.
2.2 Clients and servers
Typically, control panels are clients connecting to a server. Units controlling a router or Multicon system are clients. Servers are typically Sublime routers and the part of Multicon communicating with control panels. Units being controlled by others are servers.
2.3 Message format and structure
All message and command data consists of ASCII characters. There are three types of messages:
Commands. Command responses. Responses that the server sends back after receiving a
command. Command responses are prefixed with a '?' character, may contain an echo of the command and are sent only to the client issuing the command.
Status messages. Messages that the server sends to inform about status changes.
Status messages are prefixed with a % character, do not echo any commands, and are sent to all connected clients.
A message consists of a sequence of ASCII characters (a string), terminated by two linefeed (value 0x10) characters. For the rest of this document, <LF> will represent a linefeed. Message termination is not shown in syntax descriptions for clarity. Literal strings are enclosed in single quotes in this document.
No part of the message will be executed before the complete message is received. The optional CRC is placed immediately preceding the pair of linefeed characters, see chapter
2.5 and 4.2. For commands, the CRC should be added after the last character of the command, before the pair of linefeeds. For command responses and status messages the CRC is preceded with a linefeed:
Command message:
<message> ::= <command> ['*'<CRC>]<LF><LF>
Command response:
<message> ::= '?' ['"'<command>'"']<LF><response> [<LF>'*'<CRC>]<LF><LF>
Status message:
<message> ::= '%'<LF><status>[<LF>'*'<CRC>]<LF><LF>
Example:
z l3 52 27 *53A2
? "z l3 52 27" ERROR: Unknown command *61AD
nevion.com | 6
Modular Routing Protocol - MRP Rev. L
Start and end of a text string is by means of a single " character. If a string contains a " or \ character, it must be preceded by a \ (like in the C programming language). Description fields may be up to 127 bytes long. UTF-8 is used for character encoding throughout the system.
2.4 Common syntax definitions
These syntax definitions are common to many functions.
<tables> ::= 'l'<levels>|'vt'<vtables>|'sg'<salvo_groups>
<levels> ::= <level>|<level>','<levels>|<level>'-'<level>
<vtables> ::= <vtable>|<vtable>','<vtables>|<vtable>'-'<vtable>
<salvo_groups> ::= <salvo_group>|<salvo_group>','<salvo_groups>|<salvo_group>'­'<salvo_group>
<param_groups> ::= <param_group>|<param_group>','<param_groups>|<param_group>'­'<param_group>
<vlevels> ::= <vlevel>|<vlevel>','<vlevels>|<vlevel>'-'<vlevel>
<salvos> ::= <salvo>|<salvo>','<salvos>|<salvo>'-'<salvo>
Mnemonics are supported for a lot of items. The alias and name is freely assignable, and will in many cases be called a label. The initial item name, alias and description is set during configuration. The description is not available for modification through this protocol.
<name_desc> ::= '"'<name>'"' '"'<alias>'"' '"'<description>'"' '"'<icon>'"'
<format> ::= 'TGSDI'|'HDSDI'|'SDI'|'AnalogHD'| 'AnalogSD'|'AnalogAudio'| 'AES'|'Audio'|'Data'|'Video'
2.5 Locking
LOCK CROSSPOINT A lock is a property applied to an output, destination, salvo or parameter that makes that
output, destination, salvo or parameter unchangeable to all users, including the user that locked it.
UNLOCK CROSSPOINT Unlock is only effective if it is sent by a user with higher access level than the user which
sent the lock or protect command, or the unlock is sent by the same user that sent the lock or protect command.
PROTECT CROSSPOINT A protect is a property applied to an output, destination or salvo that makes that output,
destination or salvo unchangeable to all other users, except for the one that protected it. Refer to the Nevion Configurator for user management details. The user that owns a locked or protected item is allowed to change the lock/protect state of
this item. A user with higher access level then the user that owns the locked/protected item is allowed to change the state. An administrator can always unlock.
nevion.com | 7
Modular Routing Protocol - MRP Rev. L
Lock command/state
Partial
Protect
Lock
Decimal
Unlock/unprotect
0 0 0
0
Lock
0 0 1
1
Protect
0 1 0
2
N/A
0 1 1
3
N/A
1 0 0
4
Partial lock
1 0 1 5 Partial protect
1 1 0
6
Partial lock + protect
1 1 1
7
Table 1. Lock command/state definitions
<user ID> is a two-byte number specifying the user id of the user that locked the item. User privileges are defined at configuration time. The optional user id is ignored in commands, but legal for backwards compatibility. Refer to chapter 3.2.
When setting a lock, only LOCK, PROTECT and UNLOCK are valid commands. In status messages, the state values are considered bitmask values, enabling a combined status value ranging from 0-7 (Table 1).
2.6 Check Sum (Cyclic Redundancy Checksum, CRC)
If the message is terminated by a * followed by 4 hexadecimal numbers, and then two <LF>, the message contains a check sum. The receiver of the message should verify that the check sum is correct, before executing the command.
The checksum is not needed for operation of the server. The checksum is a 16-bit word. The polynomial used for CRC calculation is defined in CCITT X.25 and UIT V.41. [*CRC] denotes proper placement of the checksum in commands and responses.
Example:
x l3 52 27 *53A2
2.7 Protocol error handling
Unknown or misspelled commands and syntactic errors return the same error message. Example command response:
? "portocol"
ERROR: Unknown command
2.8 Future expansion
New commands and status messages may be added in the future, and messages may have parameters added. A client or host implementation must be able to ignore these extra parameters and messages without system failure. New parameters will always be added at the end of the command or status line.
nevion.com | 8
Modular Routing Protocol - MRP Rev. L
Command:
Response:
login admin password
? "login admin password"
login admin ok
Command:
Response:
userlist
? "userlist"
user admin 1
user guest 2
user Oper1 3
user Oper2 4
user Studio3 5
3 Initial communication
3.1 Connection to server
Access to the server(s) for communication purposes is achieved by connecting either the serial port of your computer and/or by using an Ethernet connection (TCP at port 4381).
3.2 User identification and privileges
A default user will be set when a connection is opened. Access rights are set in relation to this. To change user to get additional privileges, use the login command. This command is new to MRP 3.0. Omitting username will return an ok response including the current username.
Logging in with the login command will set syntax to v3 (see 4.1).
<command> ::= 'login' [<username> [<password>]]
<response> ::= 'login' <username> <result>
<result> ::= 'ok'|'failed' [<error code>]
Example:
3.3 User list
Status commands only return a numerical value for identifying users, to map numerical values to user names, use this command.
<command> ::= 'userlist'
<response> ::= ['user' <username> <user ID> {<LF>'user' <username> <user ID>}]
Example:
nevion.com | 9
Modular Routing Protocol - MRP Rev. L
'compact'
When using the compact syntax, some of the syntax in Compact Router Control Protocol is used. This includes using input number 127 as disconnect commands and status on levels which support disconnect.
'v128'
When using the v128 syntax, disconnect commands and status is using the letter 'd'. This makes it possible to support data-routers with 128 or more inputs.
'v3'
Updated protocol syntax, where locking and user information is produced at all times. Turns on output of notifications not present in earlier versions, i.e. parameters, salvos, virtual routing updates etc.
Command:
Response:
syntax v128
? "syntax v128"
v128 mode
Command:
Response:
crc on
? "crc on"
*CBCE
ping *2E23
? "ping *2E23"
pong
*BD8C
4 Protocol configuration
4.1 Protocol syntax
Set the syntax used in the protocol. The syntax is local for each connection.
<command> ::= 'syntax' <mode>
<response> ::= <mode> 'mode'
Possible modes:
Example:
The default syntax is v128. Always send the syntax command after connecting to the server. It is recommended to use v3 for new implementations; the others are for backwards compatibility only.
4.2 CRC in response
Switch on or off CRC in responses from the server. This command is local for each connection. Command response is empty apart from CRC and command echo.
<command> ::= 'crc' 'on'|'off'
<response> ::= ''
CRC in response is off by default. Example:
nevion.com | 10
Modular Routing Protocol - MRP Rev. L
Command:
Response:
command_echo off
? "command_echo off"
Command:
Response:
ping
? "ping"
pong
4.3 Command echo
Switch on or off echo on commands. This command is local for each connection to the server. Command response is empty apart from CRC and command echo.
<command> ::= 'command_echo' 'on'|'off'
<response> ::= ''
Command echo is on by default.
4.4 Protocol version
This command is used to determine the current protocol implementation. This command is new to MRP 3.0.
<command> ::= 'protocol'
<response> ::= <protocol description>
Response example:
? "protocol"
MRP rev 3.0
4.5 Server Ping
This command is used to check if the server is still responding.
<command> ::= 'ping'
<response> ::= 'pong'
Example:
4.6 Status message suppression
To minimize load on clients, only physical crosspoint status messages are sent until a request has been made for more. Not specifying on or off will return the current setting.
<command> ::= 'filter' <filters> ['on'|'off']
<filters> ::= <filter> {',' <filter>}
<filter> ::= 'xpt'|'vxpt'|'salvo'|'param'|'status'|'ssp'|'name'|'event'
<response> ::= <filter_info> {<LF><filter_info>}
<filter_info> ::= 'filter' <filter> 'on'|'off'
Please note the sense of the filter setting; 'filter vxpt on' means allow virtual routing status across this interface.
nevion.com | 11
Modular Routing Protocol - MRP Rev. L
Filters
status
ssp
name
xpt
x, xl
sspo, sspi
l, in, out
vxpt
x
sspo, sspi
vt, vl, vcat, vsrc, vdest
salvo x sspi
sg, salvo
param x -
pg, par
event
event - -
The following table shows how the filter features and properties are connected together. The properties (status, ssp, name) turns on/off columns. The features (xpt, vxpt, salvo, param, event) turns on/off rows.
nevion.com | 12
Modular Routing Protocol - MRP Rev. L
Command:
Response:
llist
? "llist"
l1 128x128 Video "Main router" "MAIN" "" ""
l2 128x4 Video "Monitor router" "MONITOR" "" ""
16 8x8 Audio "Sound router" "AUDIO" "" ""
l101 16x16 Data "Data router" "DATA" "" ""
Command:
Response:
vtlist
? "vtlist"
vt1 128x128x2 "Main A" "Main audio & video" "MAIN A" ""
vt2 128x4x2 "Mon A" "" "MON A" ""
vt16 16x8x4 "Edit 1" "Edit suite 1 routing" "EDIT 1" ""
5 Logical system structure
5.1 Level list
This command is used to get the list of all levels.
<command> ::= 'llist'
<response> ::= [<level_info> {<LF><level_info>}]
<level_info> ::= 'l'<level> <size> <format> <name_desc>
<format> ::= 'Video'|'Video-SDI'|'Video-HD-SDI'|'Video-3GHD­SDI'|'Video-Analogue'|'Audio'|'Audio-AES3'|'Audio­Analogue'|'Data'|'Data-Ported'
Some product might also report the formats 'Data (Video)' and 'Data (Audio)', but these formats are not supported by revision 3 and later of this protocol.
Example:
5.2 Virtual Table list
This command is used to get the list of all virtual tables.
<command> ::= 'vtlist'
<response> ::= [<vtable_info> {<LF><vtable_info>}]
<vtable_info> ::= 'vt'<vtable> <n_srcs>'x'<n_dests>'x'<n_vlevels> <name_desc>
Example:
nevion.com | 13
Modular Routing Protocol - MRP Rev. L
Command:
Response:
vllist vt1
? "vllist vt1"
vl vt1 1 "HDSDI" "Video" "Main router video" "VIDEO" "IconV" 3
vl vt1 2 "" "Audio" "Main router audio" "AUDIO" "IconA" 1
Command:
Response:
pglist
? "pglist"
pg1 5 "Changeover controls" "Description1" "CHO 1" ""
pg2 26 "Tally control lines" "Description2" "Tally" ""
pg3 l2 "ADC-SDI-CC controls" "Description3" "ADC 1" ""
5.3 Virtual Level list
This command is used to get the list of all virtual levels for a virtual table.
<command> ::= 'vllist' 'vt'<vtable>
<response> ::= [<vlevel_info> {<LF><vlevel_info>}]
<vlevel_info> ::= 'vl' 'vt'<vtable> <vlevel> <format> <name_desc> <vlevel_ix>
Example:
5.4 Parameter group list
This command is used to get the list of all parameter groups.
<command> ::= 'pglist'
<response> ::= [<pgroup_info> {<LF><pgroup_info>}]
<pgroup_info> ::= 'pg'<param_group> <size> <name_desc>
Example:
5.5 Salvo group list
This command is used to get the list of all salvo groups.
<command> ::= 'sglist'
<response> ::= [<sgroup_info> {<LF><sgroup_info>}]
<sgroup_info> ::= 'sg'<salvo_group> <size> <name_desc>
nevion.com | 14
Loading...
+ 32 hidden pages