probel-swp-08
v0.0.23
Published
JavaScript Implementation of the Pro Bel Switching Protocol
Downloads
40
Maintainers
Readme
probel-swp-08
Probel routing protocol 8 implemented in Javascript
A simple Javascript NPM Package for controlling video routers supporting SW-P-08.
Follows protocol as documented here ProBel SW-P-08 implementing the IP transport section.
Additionl notes on specific commands implemented in Ross Ultrix matrix can be seen here - Ross Ultrix User Guide implementing the IP transport section.
Install
npm i probel-swp-08
Features Implemented
- Interogate matrix for crosspoint information
- Get destination labels (Up to 8 characters)
- Get source labels (Up to 8 characters)
- Make crosspoints
- 'Married' routing - routes all levels from one source to destination (1 video + 16 audio from source to destination)
- Asynchronous commands to router
Work in progress
- UMD label commands
- Confirm a route has been made (Only getting ACKs currently)
Usage
Importing
const Probel = require("probel-swp-08");
Making a route
const Probel = require("probel-swp-08");
const host = "IP_ADDRESS_OF_ROUTER";
//Example config object
const config = {
port: 8910,
destinations: destinationTotal,
sources: sourceTotal,
extended: true,
levels: levelTotal,
};
const probel = new Probel(host, config);
//Turn on debug mode so we can see what's being sent and received in bytes
probel.debug = true;
//Make a single crosspoint Probel.route(DESTINATION_LEVEL_NUMBER,SOURCE_NUMBER, DESTINATION_NUMBER)
probel.route(5, 16, 16);
//'Married Route' route all levels of one source to a destination Probel.routeAllLevels(SOURCE_NUMBER, DESTINATION_NUMBER)
probel.routeAllLevels(10, 10);
Asynchronous Calls
const main = async () => {
//Get source labels (8 chars long) and return them in an object
const sourceNames = await probel.getSourceNames();
console.log(sourceNames);
//Get destination labels (8 chars long) and return them in an object
const destinationNames = await probel.getDestinationNames();
console.log(destinationNames);
};
main();
Client Usage
node ./examples/example-cli --source=1 --destination=3
Response
Routed all levels of a source #1 to destination #3