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:
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.
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.
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.
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.
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.
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.
par pg23 0 bool wrap rw "Laser" "Laser control for
maintenance" "Laser" ""
par pg23 1 enum "4:3","16:9LB","16:9" wrap rw "Aspect
ratio" "Aspect ratio for output" "ARC" ""
par pg23 2 fixedpoint 1 s1 u300 l-150 d"dB" trunc r "Video
gain" "Analog Component video gain adjustment" "Gain" ""
Example:
For the enum data type, a simple integer is used for status and set messages,
numbered from 0 to option count - 1 where n is the number of possible values.
5.13 Changing the alias of an item
All items that have a <name_desc> attached may have their alias (label) changed in real
time. The response is the details of the item as returned by other commands. Multiple items
of the same type can be changed by the same command. The multiple item features should
be used for increasing performance when changing many aliases.
This command changes the system configuration. The complete system must
be available to get a consistent configuration.
All items that have a <name_desc> attached may have their name changed in real time.
The response is the details of the item as returned by other commands. Multiple items of
the same type can be changed by the same command. The multiple item features should
be used for performance when changing many names.
This command changes the system configuration. The complete system must
be available to get a consistent configuration.
Refer to 5.13 for description of <item> and <item_info>.
5.15 Changing the description of an item
All items that have a <name_desc> attached may have their description changed in real
time. The response is the details of the item as returned by other commands. Multiple items
of the same type can be changed by the same command. The multiple item features should
be used for performance when changing many names.
This command changes the system configuration. The complete system must
be available to get a consistent configuration.
nevion.com | 20
Modular Routing Protocol - MRP Rev. L
Command:
Response:
desc l3 "Main router"
%
l3 64x64 3GHD-SDI "Level 1" "L1" "Main
router" ""
desc l3 in1 "Camera in
left corner"
%
in l3 1 "Camera1" "Cam1" "Camera in left
corner" ""
Whenever the state of a monitored item, i.e. crosspoints, parameters or signal presence, in
the system changes, status messages are sent to all listeners. A single state change may
generate any number of status messages, caused by the interconnection of parameters,
physical and virtual crosspoints and the use of salvos.
6.2 Request Crosspoint Status — Entire Level
This command is used to requests the crosspoint status of all destinations on a specified
level. For compact and v128 modes, lock state and user ID are omitted, and the sl
command is defined.
<command> ::= 's' 'l'<level>
<response> ::= [<status> {<LF><status>}]
<status> ::= 'x' <item> [<lock state> <user ID>]
<item> ::= 'l'<level> <input> <output>
<command> ::= 'sl' 'l'<level> (v128 and compact modes only)
6.4 Request Virtual Crosspoint Status — Entire Virtual Table
This command is used to request the crosspoint status of all destinations in a specified
virtual table. 'u' (unknown) is sent if the status cannot be determined, e.g. due to
disconnection of a router.
"Cross-level break-away" routing is indicated similarly to ordinary break-away routing, this
can greatly reduce the number of required sources if operational flexibility is needed with
respect to separation of inputs into separate virtual levels, depending on intended purpose.
Input number in the range from zero to one less than the number of
inputs on the level. <in> can also be one of the following characters:
d
Disconnect. Used when a destination is not connected to any
source.
o
Out of range. Used when a destination is connected to a source
not included in a level. This may occur with overlapping partitions.
Only valid in the response.
u
Undefined/Unknown. This might be used at start-up before the
status is read from the physical router. It is also used on ported
routers where a port can be used as an input or an output. Only
valid in the response.
<out>
Output number in the range from zero to one less than the number of
outputs on the level.
Command
Desired action
x l3 52 27
Switch input 53 to output 28 in level 3.
x l1,2 2 4-6,8
Switch input 3 to output 5, 6, 7 and 9 in levels 1
and 2.
x l37 1 1 2 2
In level 37 switch input 2 to output 2 and input 3 to
output 3.
7 System operation commands
7.1 Crosspoint Take
This command directly takes the specified crosspoint. The command specifies which inputs
to connect to which outputs and on what levels. Several crosspoint takes can be specified
on a single command line. In such cases all specified crosspoints are taken simultaneously.
A single Crosspoint Take command can switch multiple crosspoints. You will however
receive one status message for each crosspoint that is switched.
Examples:
7.2 Order of execution
The following rules apply:
For all crosspoints specified directly or indirectly through the use of virtual tables
and salvos, the commands will be executed as soon as possible.
All crosspoints residing in the same router will be switched at the same video line if
this is supported by hardware.
No further guaranties are given for time of execution.
nevion.com | 30
Modular Routing Protocol - MRP Rev. L
Command
Desired action
x vt3 2 7
Switch source 3 to destination 8 in virtual
table 3.
x vt1,2 2 4
Switch source 3 to destination 5 in virtual
tables 1 and 2.
x vt7 vl2-4 1 1 2 2
Switch source 2 to destination 2 and source
3 to destination 3 in virtual table 7,
switching only virtual levels 2, 3 and 4
x vt7 vl2:vl3 6 2
"Cross-level break-away"
Switch source 7 in virtual level 3 to
destination 3 in virtual level 2 (assuming
the levels are compatible).
s
Means to store all current statuses for crosspoints, virtual crosspoints,
and parameters in the salvo. This does not directly take. Storage is
performed locally (not in the complete system) and is lost on reset.
Refer to the salvo update command for permanent system storage.
r
Means to restore the previously stored salvo using direct take.
7.3 Virtual Crosspoint Take
This command directly takes the specified virtual crosspoint. The command specifies which
virtual sources to connect to which virtual destinations and in which virtual tables. Several
virtual crosspoint takes can be specified on a single command line. In such cases all
specified virtual crosspoints are taken simultaneously.
Virtual level break-away is handled by specifying which virtual levels of the virtual table are
included in the command. If no virtual levels are specified, all virtual levels are switched.
This command takes, reverts or stores the specified salvo. Store and restore are only valid
if the salvo has enabled 'salvo restore'. Refer to salvo groups in the Nevion Configurator.
This command resets all locks and protects on the specified tables.
<command> ::= 'lr' <table>
7.8 Diagonal
This command sets the level in diagonal (input1 to output1, input2 to output2, ...)
<command> ::= 'diagonal' 'l'<level>
nevion.com | 32
Modular Routing Protocol - MRP Rev. L
<alarmid>
Unique number identifying the alarm.
<state>
State of the alarm:
0 Removed: the alarm is not present. The alist response
is not required to include removed alarms, if
acknowledge is supported. Acknowledge of a restored
alarm will result in a removed response.
1 New: the alarm is active and has not been
acknowledged.
2 Restored: the alarm has been active, but is now gone.
Do acknowledge this alarm to remove it. Devices
without acknowledge support will not respond with
alarms in this state.
3 Acknowledged: the alarm is active and has been
acknowledged. The alarm will be removed if it becomes
inactive. Devices without acknowledge support will not
respond with alarms in this state. Do unacknowledge
this alarm to set it to new.
<time>
Time when the alarm state was last changed. Seconds since
January 1, 1970 (midnight UTC). Devices without a real-time
clock can respond with zero.
<severity>
The degree of alarm seriousness.
0 Ok
1 Information
2 Warning
3 Minor
4 Major
5 Critical
6 Unknown
<origin>
A description of the originator of the alarm. This string is comma
separated with details from highest layers first and closest to the
originating device last. Multiple layers can be used.
<description>
A description of the alarm.
8 Server Alarms and Events
8.1 Alarm status
Alarms are sent as status messages asynchronously from the controller. Alarms are stored
in the system until they are deactivated and removed.
A number representing the type of event that occured.
1000
Configuration change. This event will be emitted on
major changes in the controller configuration. When a
control-system receives this event, it is time to rescan
the server system.
<event_state>
State of the event:
0
Inactive
1
Active
<description>
Text without quotes describing the event.
8.4 Event status
Events are sent as status messages asynchronously from the controller. Events occur once
and can be handled by connected clients.
A router is connected to the controller on some physical connection. This is called a bus in
this protocol. A bus can have zero to many routers connected. This command lists each
router in the controller and which bus they are connected to.
This appendix describes which commands are supported by devices developed by Nevion.
Use v128 syntax
Uses v128 syntax
It is recommended to support CRC if the protocol is used on an interface which doesn’t include error checking.
For backwards compatibility only, do not use for new implementations
nevion.com | 45
Modular Routing Protocol - MRP Rev. L
s pg
Status parameter group
x
6.9
si
Partial status (l, vt, sg, pg)
x
6.6
sspi
Status input signal presence
x x
6.6
sspo
Status output signal presence
x x
6.8
x l
Crosspoint take
x x x
7.1
x vl
Virtual crosspoint take
x
7.3
x s
Salvo take
x
7.4
x pg
Set parameter value
x
7.5
ld
Lock and protect crosspoint
x x
7.6
lr
Reset all locks and protections on a level
x
7.7
alarm
Server alarms
x x5
8.1
alist
Alarm list
x x
8.2
event
Server events
x6
x7
8.4
sl
Status Locking – level
x8
x
6.2
rlist
Router list
9.2
plist
Router partition list
9.3
blist
Bus list
9.4
mlist
Module list
9.5
sin
List input configuration and status
9.6
sout
List output configuration and status
9.7
smonitor
Monitor status
9.8
partition
Partition router
9.9
in
Set input configuration
9.10
out
Set output configuration
9.11
monitor
Set monitor configuration
9.12
env
Set environment alarm limits
9.13
senv
List environment status
9.14
5
6
7
8
A server which is implementing this protocol must support all the commands in the
minimum column.
A control system which supports this protocol must not require any of the commands not in
the minimum column.
Command not implemented, status returned on changes
Command not implemented, status returned on changes
Command not implemented, status returned on changes
For backwards compatibility only, do not use for new implementations
nevion.com | 46
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.