{"id":28964049,"url":"https://github.com/ryanmccartney/probel-swp-08","last_synced_at":"2025-06-24T04:41:33.671Z","repository":{"id":57330752,"uuid":"467945652","full_name":"ryanmccartney/probel-swp-08","owner":"ryanmccartney","description":"Probel routing protocol 8 implemented in Javascript","archived":false,"fork":false,"pushed_at":"2025-05-21T10:41:44.000Z","size":773,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-21T10:55:15.536Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryanmccartney.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-09T13:48:12.000Z","updated_at":"2025-05-21T10:41:48.000Z","dependencies_parsed_at":"2024-11-16T23:16:11.895Z","dependency_job_id":"a1f16bfe-6e46-46c2-869c-636407b5294a","html_url":"https://github.com/ryanmccartney/probel-swp-08","commit_stats":{"total_commits":31,"total_committers":4,"mean_commits":7.75,"dds":0.5161290322580645,"last_synced_commit":"1f597c2fcbf6f29a25c20bb85a46d5336076bee0"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ryanmccartney/probel-swp-08","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmccartney%2Fprobel-swp-08","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmccartney%2Fprobel-swp-08/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmccartney%2Fprobel-swp-08/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmccartney%2Fprobel-swp-08/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanmccartney","download_url":"https://codeload.github.com/ryanmccartney/probel-swp-08/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmccartney%2Fprobel-swp-08/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261606853,"owners_count":23183985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-24T04:41:26.814Z","updated_at":"2025-06-24T04:41:33.663Z","avatar_url":"https://github.com/ryanmccartney.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# probel-swp-08\n\n[![NPM Publish](https://github.com/ryanmccartney/probel-swp-08/actions/workflows/publish.yml/badge.svg)](https://github.com/ryanmccartney/probel-swp-08/actions/workflows/publish.yml)\n\nProbel routing protocol 8 implemented in Javascript\n\nA simple Javascript [NPM Package](https://www.npmjs.com/package/probel-swp-08) for controlling video routers supporting SW-P-08.\n\nFollows protocol as documented here [ProBel SW-P-08](https://wwwapps.grassvalley.com/docs/Manuals/sam/Protocols%20and%20MIBs/Router%20Control%20Protocols%20SW-P-88%20Issue%204b.pdf) implementing the IP transport section.\n\nAdditionl notes on specific commands implemented in Ross Ultrix matrix can be seen here - [Ross Ultrix User Guide](\u003chttps://documentation.rossvideo.com/files/Manuals/Connectivity/Ultrix/Ultricore%20User%20Guide%20(2201DR-104).pdf\u003e) implementing the IP transport section.\n\n# Install\n\n`npm i probel-swp-08`\n\n# Features Implemented\n\n-   Interogate matrix for crosspoint information\n-   Get destination labels (Up to 8 characters)\n-   Get source labels (Up to 8 characters)\n-   Make crosspoints\n-   'Married' routing - routes all levels from one source to destination (1 video + 16 audio from source to destination)\n-   Asynchronous commands to router\n\n# Work in progress\n\n-   UMD label commands\n-   Confirm a route has been made (Only getting ACKs currently)\n\n# Usage\n\n## Importing\n\n```js\nconst Probel = require(\"probel-swp-08\");\n```\n\n## Making a route\n\n```js\nconst Probel = require(\"probel-swp-08\");\n\nconst host = \"IP_ADDRESS_OF_ROUTER\";\n\n//Example config object\nconst config = {\n    port: 8910,\n    destinations: destinationTotal,\n    sources: sourceTotal,\n    extended: true,\n    levels: levelTotal,\n};\n\nconst probel = new Probel(host, config);\n\n//Turn on debug mode so we can see what's being sent and received in bytes\nprobel.debug = true;\n\n//Make a single crosspoint Probel.route(DESTINATION_LEVEL_NUMBER,SOURCE_NUMBER, DESTINATION_NUMBER)\nprobel.route(5, 16, 16);\n\n//'Married Route' route all levels of one source to a destination Probel.routeAllLevels(SOURCE_NUMBER, DESTINATION_NUMBER)\nprobel.routeAllLevels(10, 10);\n```\n\n## Asynchronous Calls\n\n```js\nconst main = async () =\u003e {\n    //Get source labels (8 chars long) and return them in an object\n    const sourceNames = await probel.getSourceNames();\n    console.log(sourceNames);\n\n    //Get destination labels (8 chars long) and return them in an object\n    const destinationNames = await probel.getDestinationNames();\n    console.log(destinationNames);\n};\n\nmain();\n```\n\n## Client Usage\n\n`node ./examples/example-cli --source=1 --destination=3`\n\nResponse\n\n```js\nRouted all levels of a source #1 to destination #3\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanmccartney%2Fprobel-swp-08","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanmccartney%2Fprobel-swp-08","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanmccartney%2Fprobel-swp-08/lists"}