DGI.Framework.Transport.Ross.RossProbelDriver 1.0.0

Ross Probel Driver

Ross Probel driver to communicate with Ultrix Routers or any other video router that uses Probel SW-P-08 protocol It will connect to the router at startup, send the appropriate command listen for incoming updates from the switch

Its constructor accepts an IDgiCommunication object that will be used to connect, send messages and disconnect from the router.

Configure the IDgiCommunication driver accordingly to accept connectivity with the router.

On an Ultrix switcher for example the Ross Probel SW-P-08 runs on Port 8910 over TCP or on Serial

Configuration

The driver accepts the following configuration properties

Level:

Sets the levels the router will interact with. Only a single level can be stored a time. The protocol uses 0 base levels. The conversion will be handled by the driver. Defaults to 1,

Level = 1;

MaximumSources:

Sets the maximum number of sources the router will interact with. Defaults to 16.

MaximumSources = 64;

MaximumDestinations:

Sets the maximum number of sources the router will interact with. Defaults to 16.

MaximumDestinations = 64;

BlankingSource:

Source used to blank the video. This source will be selected, when the source to route is 0. Normally the last programed source. Defaults to 17.

This is done to maintain compatibility with other video switchers and routers, when 0 is used to blank the video.

BlankingSource = 65;

WaitBetweenMessages

Milliseconds to wait between continuous messages. Modify this value if the messages are arriving too fast for the router to parse. It default to 200ms

WaitBetweenMessages = 700;

Destinations

A synchronized state list of all the destinations in the router. Each member of the list is an object of type Destination with the following members:

  • Id: The destination number
  • Name: The destination name
  • CurrentSource: The current source routed to this destination

Sources

A synchronized state list of all the sources in the router. Each member of the list is an object of type Source with the following members:

  • Id: The source number
  • Name: The source name

Usage

Constructing the driver

Construct the driver by passing an IDgiCommunication object (in this example the DotNetTcpClient) to the constructor, and initializing default properties:

var tcpClient = new DotNetTcpClient(testConfiguration);
var rossProBelDriver = new RossProbelDriver(tcpClient)
{
    MaximumSources = 53, BlankingSource = 54, MaximumDestinations = 54
};

Events

There are two events that this driver will emit:

  • DestinationChanged: Emitted when a destination is changes either its source or name. This event will emit an object of type DestinationChangedEventArgs with the following properties:

    • Id: The destination Id that changed
    • CurrentSource: The source that is currently routed to the destination
    • Name: The name of the destination
  • SourceChanged: Emitted when a source changes source or name. This event will emit an object of type SourceChangedEventArgs with the following properties:

    • Id: The source Id that changed
    • Name: The name of the source

Registration

Register to these events as necessary to keep the state of the router in sync with the driver's client application.

Once the class has been constructed, a permanent connection to the router needs to be established. In the Ultrix router, this protocol sends unrequested updates to the connected clients, by keeping the connection open, the driver will listen for those updates and update its internal state.

Connect to the router by calling the Register method. This will send the appropriate command to the router and start listening for updates.

 rossProBelDriver.Register();

When the driver is no longer needed, disconnect from the router by calling the Unregister method. This will send the appropriate command to the router and stop listening for updates.

rossProBelDriver.Unregister();

Routing

To route a source to a destination, call the Route method.

Example: To route Source 5 to Destination 4

rossProBelDriver.Route(5, 4)

Example: To blank the video on destination 0 based on the above configuration (this will in turn route logic source 65 to destination 4)

Route(0, 4)

No packages depend on DGI.Framework.Transport.Ross.RossProbelDriver.

Initial Release.

.NET Framework 4.7

.NET 6.0

.NET 7.0

Version Downloads Last updated
1.0.3 2 9/9/2024
1.0.2 2 9/9/2024
1.0.1 3 3/14/2024
1.0.0 3 1/1/2024