This section covers the following topics:

Introduction

The protocol is text based commands and responses sent on TCP/IP. Text encoding is UTF-8. The protocol is synchronous - i.e. a command (request) shall always result in a response, and a new command shall not be sent until the response to the previous command has been received.

Configuration

AVAutomation

The router protocol is named JUPITERPIXELNET. Configuring the PixelNet video wall interface requires the following parameters:

  • IP address of the PixelNet Domain Controller

  • Port number (default is set to 30326)

Template Editor

In the template editor, enable Video Wall. In Device Properties, enter wall and layout (in double quotes) in that order, space separated, in both ‘RECALL PREVIE’ and EMEMNR:

Implementation may be based on the WATCHOUT protocol implementation.

Configuration File

The PixelNet configuration file is located in the program-folder under \Mosart Medialab\Mosart Server\ConfigurationFiles\VideoWallJupiterPixelNet.xml. To use it, copy it to c:\channeltemplates, and append

;Config=VideoWallJupiterPixelNet.xml

to the connection string.

The following configurations are available:

Setting

Description

Default

PingInterval

The amount of time (in ms) to wait before ping after connect, ping or RecallAndMix

10000 (10s)

Port

The port number of the PDC computer

30326

ReconnectInterval

The amount of time (in ms) to wait before reconnect after unsuccessful connect or lost connection

10000 (10s)

Server

The DNS name of the PDC computer

None

TimeoutActivateWall

The timeout (in ms) for the ActivateWall request

2000 (2s)

TimeoutLoadLayout

The timeout (in ms) for the LoadLayout request

2000 (2s)

TimeoutLoadLayoutEx

The timeout (in ms) for the LoadLayoutEx request

2000 (2s)

TimeoutLoadLayoutOnWall

The timeout (in ms) for the LoadLayoutOnWall request

2000 (2s)

TimeoutQuerySystemStatus

The timeout (in ms) for the QuerySystemStatus request

2000 (2s)

UseActivateWall

Whether (True/False) an ActivateWall request is sent before the LoadLayoutOnWall request. Has no effect unless UseLoadLayout is False.

False

UseDispatcherForRecallAndMixes

Whether (True/False) the RecallAndMix requests are executed in the dispatcher, i.e. in the same Thread as (re-)connects and pings.

False

UseLoadLayout

Whether (True/False) LoadLayout requests are sent instead of LoadLayoutEx requests

False

UseLoadLayoutOnWall

Whether (True/False) LoadLayoutOnWall requests are sent instead of LoadLayoutEx requests

False

WallIsFirstArgument

Whether (True/False) the Wall argument of the LoadLayoutOnWall request is the first Argument

False

WallIsInt

Whether (True/False) the Wall argument of the LoadLayoutOnWall request is an integer

False

Implementation

Connection

  • PixelNet uses the PixelNet Domain Control (PDC) protocol. PDC protocol is developed on top of the Remote Method Call (RMC) inter-process communication protocol, implemented over a TCP/IP connection.

  • The Watchout video wall driver may serve as a model for this driver.

  • The protocol can be tested over a Telnet session.

  • Port number to connect to is 30326.

Requests to Implement

Five requests are implemented:

  • ActivateWall (used only if UseLoadLayout is True, or if both UseActivateWall and UseLoadLayoutOnWall are True)

  • LoadLayout (used only if UseLoadLayout is True)

  • LoadLayoutEx (used if both UseLoadLayout and UseLoadLayoutOnWall are False)

  • LoadLayoutOnWall (used only if UseLoadLayout is False, and UseLoadLayoutOnWall is True)

  • QuerySystemStatus (used for (internal) Ping)

Note: Although LoadLayoutOnWall will likely not work, it was included since version 1.5 indicated that this was the request that should be utilized.

To use LoadLayoutEx

  • Leave all Use… settings at their default False.

To use ActivateWall and LoadLayout

  • Set UseLoadLayout = True.

To use LoadLayoutOnWall

  • Set

    • UseLoadLayout = False

    • UseLoadLayoutOnWall = True

    • WallIsFirstArgument = True

    • WallIsInt = True.

Note: LoadLayoutOnWall may not work. 

To use ActivateWall with LoadLayoutOnWall 

  • UseActivateWall = True.

Note: ActivateWall with LoadLayoutOnWall may not work. 

AVAutomation Implementation

The following methods declared in MMVideoWall must be implemented:

    Public MustOverride Function Connect(ByVal strConnection As String) As String Implements IConnect.Connect

    Public MustOverride Function Disconnect() As String Implements IConnect.Disconnect

    Public MustOverride Function Ping() As String Implements IConnect.Ping

    Public MustOverride Sub RecallAndMix(ByVal presetName As String, ByVal transrate As Integer)

Note: The final method in the list above, RecallAndMix, calls LoadLayoutOnWall.