0.0.23 • Published 2 years ago

probel-swp-08 v0.0.23

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

probel-swp-08

NPM Publish

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
0.0.20

2 years ago

0.0.21

2 years ago

0.0.22

2 years ago

0.0.23

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.17

2 years ago

0.0.18

2 years ago

0.0.19

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago