openc3-cosmos-tool-docs 5.14.1 → 5.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/tools/staticdocs/404.html +3 -3
- data/tools/staticdocs/assets/css/styles.a4426211.css +1 -0
- data/tools/staticdocs/assets/js/{019369f3.d8613c30.js → 019369f3.3a124fd7.js} +1 -1
- data/tools/staticdocs/assets/js/{058ffc22.acfac831.js → 058ffc22.c85ad785.js} +1 -1
- data/tools/staticdocs/assets/js/0686a885.4d6b8154.js +1 -0
- data/tools/staticdocs/assets/js/{07876b9c.990c8af0.js → 07876b9c.b8d12431.js} +1 -1
- data/tools/staticdocs/assets/js/078dbab0.45ea4593.js +1 -0
- data/tools/staticdocs/assets/js/0f5d161c.dda04dbb.js +1 -0
- data/tools/staticdocs/assets/js/{0ff569c9.f11f548e.js → 0ff569c9.317b47d0.js} +1 -1
- data/tools/staticdocs/assets/js/103cc3be.a946540f.js +1 -0
- data/tools/staticdocs/assets/js/{13196248.1b40932b.js → 13196248.d8f8ef9f.js} +1 -1
- data/tools/staticdocs/assets/js/13c1b4e4.50ee3d02.js +1 -0
- data/tools/staticdocs/assets/js/{1b2b4b61.b662e271.js → 1b2b4b61.2556cd65.js} +1 -1
- data/tools/staticdocs/assets/js/{2047b354.cf71ed85.js → 2047b354.75fe47dd.js} +1 -1
- data/tools/staticdocs/assets/js/{22b3ac48.10ffd4c3.js → 22b3ac48.77516494.js} +1 -1
- data/tools/staticdocs/assets/js/2601.ca992ab9.js +1 -0
- data/tools/staticdocs/assets/js/26b8abb2.dcdf815e.js +1 -0
- data/tools/staticdocs/assets/js/{2923e883.0cbdcbc5.js → 2923e883.ed90d0a7.js} +1 -1
- data/tools/staticdocs/assets/js/{2bb7bf90.41136655.js → 2bb7bf90.c642620c.js} +1 -1
- data/tools/staticdocs/assets/js/3dd7ef3b.f84c6956.js +1 -0
- data/tools/staticdocs/assets/js/{3df159b4.6c6b5f85.js → 3df159b4.ff98bfab.js} +1 -1
- data/tools/staticdocs/assets/js/40365d27.c318f801.js +1 -0
- data/tools/staticdocs/assets/js/{411898ad.fb3b44cb.js → 411898ad.e29e2db3.js} +1 -1
- data/tools/staticdocs/assets/js/{42170351.99726677.js → 42170351.15f2f1e3.js} +1 -1
- data/tools/staticdocs/assets/js/43652efd.4e7d6a97.js +1 -0
- data/tools/staticdocs/assets/js/53ca7c5b.3f1245d5.js +1 -0
- data/tools/staticdocs/assets/js/54d0d530.769f5473.js +1 -0
- data/tools/staticdocs/assets/js/55cdbca5.695875ea.js +1 -0
- data/tools/staticdocs/assets/js/5723.f6123e37.js +1 -0
- data/tools/staticdocs/assets/js/{1131.f9e1547d.js → 5778.7d36f1c2.js} +1 -1
- data/tools/staticdocs/assets/js/5b233ba7.0029b2f5.js +1 -0
- data/tools/staticdocs/assets/js/{5bc719f6.80666891.js → 5bc719f6.84f6ce9e.js} +1 -1
- data/tools/staticdocs/assets/js/{5c6ce5ec.3cb1b75a.js → 5c6ce5ec.8667906a.js} +1 -1
- data/tools/staticdocs/assets/js/5e3ed378.91d6735f.js +1 -0
- data/tools/staticdocs/assets/js/5fe211ef.1d991947.js +1 -0
- data/tools/staticdocs/assets/js/64630c4f.a229ae1d.js +1 -0
- data/tools/staticdocs/assets/js/6831b732.a77e4761.js +1 -0
- data/tools/staticdocs/assets/js/696b4199.2700ad91.js +1 -0
- data/tools/staticdocs/assets/js/{6b210247.0db8db18.js → 6b210247.074332a1.js} +1 -1
- data/tools/staticdocs/assets/js/6b65133b.109a6bef.js +1 -0
- data/tools/staticdocs/assets/js/6f92e431.67f5a7a4.js +1 -0
- data/tools/staticdocs/assets/js/{72c6d8a8.41b091e3.js → 72c6d8a8.5fca8d68.js} +1 -1
- data/tools/staticdocs/assets/js/75373ac0.6a0a4fa2.js +1 -0
- data/tools/staticdocs/assets/js/75e64983.e31793e1.js +1 -0
- data/tools/staticdocs/assets/js/7760.7f593c4f.js +2 -0
- data/tools/staticdocs/assets/js/7918.25ec42db.js +1 -0
- data/tools/staticdocs/assets/js/{867640d5.7d9b46cc.js → 867640d5.a8f59357.js} +1 -1
- data/tools/staticdocs/assets/js/89e76475.de702714.js +1 -0
- data/tools/staticdocs/assets/js/8f7843ee.0f25fdc3.js +1 -0
- data/tools/staticdocs/assets/js/9424f0b3.66b19930.js +1 -0
- data/tools/staticdocs/assets/js/97535711.ddc0f5af.js +1 -0
- data/tools/staticdocs/assets/js/99581c43.0767018a.js +1 -0
- data/tools/staticdocs/assets/js/{99b59eea.56ab3bff.js → 99b59eea.d4dd9989.js} +1 -1
- data/tools/staticdocs/assets/js/9d6e81d0.c31feabc.js +1 -0
- data/tools/staticdocs/assets/js/9fb6059a.30085d79.js +1 -0
- data/tools/staticdocs/assets/js/{a507c363.b04cc959.js → a507c363.198e9246.js} +1 -1
- data/tools/staticdocs/assets/js/a677c089.48b6c791.js +1 -0
- data/tools/staticdocs/assets/js/{a9987364.a33207e6.js → a9987364.cfb3492e.js} +1 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.065a8213.js +1 -0
- data/tools/staticdocs/assets/js/b4596165.b4c6c1b8.js +1 -0
- data/tools/staticdocs/assets/js/b6d70f94.66d95cb7.js +1 -0
- data/tools/staticdocs/assets/js/b9f60ba6.655a4097.js +1 -0
- data/tools/staticdocs/assets/js/bd0034eb.ff7f6265.js +1 -0
- data/tools/staticdocs/assets/js/c24eae19.db62873a.js +1 -0
- data/tools/staticdocs/assets/js/{cb8c3f08.bd7af12d.js → cb8c3f08.f669adda.js} +1 -1
- data/tools/staticdocs/assets/js/cd879be4.6ee752c7.js +1 -0
- data/tools/staticdocs/assets/js/d1b923aa.e7ee188a.js +1 -0
- data/tools/staticdocs/assets/js/d1bfc316.963c2477.js +1 -0
- data/tools/staticdocs/assets/js/{d24bf9b6.a8d698fc.js → d24bf9b6.31d82456.js} +1 -1
- data/tools/staticdocs/assets/js/{d57a4b5d.743b976b.js → d57a4b5d.905988ec.js} +1 -1
- data/tools/staticdocs/assets/js/{d5d77c37.cd2d8652.js → d5d77c37.80e1a28b.js} +1 -1
- data/tools/staticdocs/assets/js/{d797a795.9243eac2.js → d797a795.5725bf2b.js} +1 -1
- data/tools/staticdocs/assets/js/{d8ca4191.abd56e6c.js → d8ca4191.56c22a69.js} +1 -1
- data/tools/staticdocs/assets/js/{d9b92eba.d632d375.js → d9b92eba.16d983a0.js} +1 -1
- data/tools/staticdocs/assets/js/{db8fa1d0.b9ed5eb0.js → db8fa1d0.c35b153c.js} +1 -1
- data/tools/staticdocs/assets/js/dc5f7beb.88b0f00b.js +1 -0
- data/tools/staticdocs/assets/js/{e501b0d1.21aadf25.js → e501b0d1.3aa571ae.js} +1 -1
- data/tools/staticdocs/assets/js/{ebec1ccb.4fc9c662.js → ebec1ccb.a801549e.js} +1 -1
- data/tools/staticdocs/assets/js/{f15615f1.0d1e925a.js → f15615f1.0b19ae07.js} +1 -1
- data/tools/staticdocs/assets/js/fd886806.57eeb84b.js +1 -0
- data/tools/staticdocs/assets/js/main.a6fe34c0.js +2 -0
- data/tools/staticdocs/assets/js/runtime~main.256dc9a2.js +1 -0
- data/tools/staticdocs/docs/configuration/command.html +169 -75
- data/tools/staticdocs/docs/configuration/format.html +52 -23
- data/tools/staticdocs/docs/configuration/interfaces.html +90 -27
- data/tools/staticdocs/docs/configuration/plugins.html +163 -114
- data/tools/staticdocs/docs/configuration/protocols.html +87 -47
- data/tools/staticdocs/docs/configuration/ssl-tls.html +103 -32
- data/tools/staticdocs/docs/configuration/table.html +114 -49
- data/tools/staticdocs/docs/configuration/target.html +31 -23
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +442 -184
- data/tools/staticdocs/docs/configuration/telemetry.html +176 -76
- data/tools/staticdocs/docs/configuration.html +3 -3
- data/tools/staticdocs/docs/development/curl.html +55 -12
- data/tools/staticdocs/docs/development/developing.html +84 -72
- data/tools/staticdocs/docs/development/host-install.html +21 -8
- data/tools/staticdocs/docs/development/json-api.html +31 -19
- data/tools/staticdocs/docs/development/log-structure.html +12 -12
- data/tools/staticdocs/docs/development/roadmap.html +32 -6
- data/tools/staticdocs/docs/development/streaming-api.html +82 -10
- data/tools/staticdocs/docs/development/testing.html +24 -15
- data/tools/staticdocs/docs/development.html +4 -4
- data/tools/staticdocs/docs/getting-started/generators.html +108 -34
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +71 -23
- data/tools/staticdocs/docs/getting-started/installation.html +34 -23
- data/tools/staticdocs/docs/getting-started/key_concepts.html +34 -34
- data/tools/staticdocs/docs/getting-started/podman.html +55 -24
- data/tools/staticdocs/docs/getting-started/requirements.html +19 -19
- data/tools/staticdocs/docs/getting-started/upgrading.html +15 -10
- data/tools/staticdocs/docs/getting-started.html +3 -3
- data/tools/staticdocs/docs/guides/bridges.html +62 -18
- data/tools/staticdocs/docs/guides/cfs.html +183 -43
- data/tools/staticdocs/docs/guides/custom-widgets.html +45 -18
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +13 -4
- data/tools/staticdocs/docs/guides/local-mode.html +19 -14
- data/tools/staticdocs/docs/guides/logging.html +11 -11
- data/tools/staticdocs/docs/guides/monitoring.html +136 -21
- data/tools/staticdocs/docs/guides/performance.html +25 -16
- data/tools/staticdocs/docs/guides/raspberrypi.html +23 -8
- data/tools/staticdocs/docs/guides/script-writing.html +388 -83
- data/tools/staticdocs/docs/guides/scripting-api.html +1340 -477
- data/tools/staticdocs/docs/guides.html +3 -3
- data/tools/staticdocs/docs/meta/contributing.html +18 -13
- data/tools/staticdocs/docs/meta/licenses.html +29 -11
- data/tools/staticdocs/docs/meta/philosophy.html +3 -3
- data/tools/staticdocs/docs/meta/xtce.html +15 -13
- data/tools/staticdocs/docs/meta.html +3 -3
- data/tools/staticdocs/docs/privacy.html +18 -18
- data/tools/staticdocs/docs/tools/autonomic.html +21 -21
- data/tools/staticdocs/docs/tools/bucket-explorer.html +12 -12
- data/tools/staticdocs/docs/tools/calendar.html +20 -20
- data/tools/staticdocs/docs/tools/cmd-sender.html +14 -14
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +22 -22
- data/tools/staticdocs/docs/tools/data-extractor.html +25 -25
- data/tools/staticdocs/docs/tools/data-viewer.html +12 -12
- data/tools/staticdocs/docs/tools/handbooks.html +5 -5
- data/tools/staticdocs/docs/tools/limits-monitor.html +18 -18
- data/tools/staticdocs/docs/tools/packet-viewer.html +14 -14
- data/tools/staticdocs/docs/tools/script-runner.html +73 -34
- data/tools/staticdocs/docs/tools/table-manager.html +47 -12
- data/tools/staticdocs/docs/tools/tlm-grapher.html +21 -21
- data/tools/staticdocs/docs/tools/tlm-viewer.html +16 -16
- data/tools/staticdocs/docs/tools.html +3 -3
- data/tools/staticdocs/docs.html +13 -13
- data/tools/staticdocs/index.html +3 -3
- data/tools/staticdocs/lunr-index-1710043920959.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +4 -4
- data/tools/staticdocs/search-doc-1710043920959.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- metadata +87 -87
- data/tools/staticdocs/assets/css/styles.dd31dbff.css +0 -1
- data/tools/staticdocs/assets/js/0686a885.b4118c45.js +0 -1
- data/tools/staticdocs/assets/js/078dbab0.d34d0a8f.js +0 -1
- data/tools/staticdocs/assets/js/0f5d161c.d4d5d4dc.js +0 -1
- data/tools/staticdocs/assets/js/103cc3be.53ec680c.js +0 -1
- data/tools/staticdocs/assets/js/12.afe230eb.js +0 -1
- data/tools/staticdocs/assets/js/13c1b4e4.a9ce7463.js +0 -1
- data/tools/staticdocs/assets/js/1670.3df3e214.js +0 -1
- data/tools/staticdocs/assets/js/2624.ae6ba6f0.js +0 -1
- data/tools/staticdocs/assets/js/26b8abb2.98364dbd.js +0 -1
- data/tools/staticdocs/assets/js/3dd7ef3b.5133eebe.js +0 -1
- data/tools/staticdocs/assets/js/40365d27.b31cf9ac.js +0 -1
- data/tools/staticdocs/assets/js/43652efd.f9ce2508.js +0 -1
- data/tools/staticdocs/assets/js/4657.780d60d2.js +0 -2
- data/tools/staticdocs/assets/js/53ca7c5b.5ba66d69.js +0 -1
- data/tools/staticdocs/assets/js/54d0d530.29eb7035.js +0 -1
- data/tools/staticdocs/assets/js/55cdbca5.9562da85.js +0 -1
- data/tools/staticdocs/assets/js/5b233ba7.b7a30c7f.js +0 -1
- data/tools/staticdocs/assets/js/5e3ed378.c40da631.js +0 -1
- data/tools/staticdocs/assets/js/5fe211ef.9938cdb0.js +0 -1
- data/tools/staticdocs/assets/js/64630c4f.d3aaa17e.js +0 -1
- data/tools/staticdocs/assets/js/6831b732.176e2062.js +0 -1
- data/tools/staticdocs/assets/js/696b4199.68411c90.js +0 -1
- data/tools/staticdocs/assets/js/6b65133b.3b600a13.js +0 -1
- data/tools/staticdocs/assets/js/6f92e431.0e99b0f7.js +0 -1
- data/tools/staticdocs/assets/js/75373ac0.f2ff00fb.js +0 -1
- data/tools/staticdocs/assets/js/75e64983.6078b2bb.js +0 -1
- data/tools/staticdocs/assets/js/89e76475.76286adb.js +0 -1
- data/tools/staticdocs/assets/js/8f7843ee.7aaf5f45.js +0 -1
- data/tools/staticdocs/assets/js/9424f0b3.d0685f0f.js +0 -1
- data/tools/staticdocs/assets/js/97535711.7354a61a.js +0 -1
- data/tools/staticdocs/assets/js/99581c43.9077ef97.js +0 -1
- data/tools/staticdocs/assets/js/9d6e81d0.48e17a84.js +0 -1
- data/tools/staticdocs/assets/js/9fb6059a.709498de.js +0 -1
- data/tools/staticdocs/assets/js/a677c089.759b7b09.js +0 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.c81fb740.js +0 -1
- data/tools/staticdocs/assets/js/b4596165.0d43540a.js +0 -1
- data/tools/staticdocs/assets/js/b6d70f94.67e3cf1e.js +0 -1
- data/tools/staticdocs/assets/js/b9f60ba6.4f87cb90.js +0 -1
- data/tools/staticdocs/assets/js/bd0034eb.caedd00a.js +0 -1
- data/tools/staticdocs/assets/js/c24eae19.541e6a95.js +0 -1
- data/tools/staticdocs/assets/js/cd879be4.5d8c0503.js +0 -1
- data/tools/staticdocs/assets/js/d1b923aa.2c753a51.js +0 -1
- data/tools/staticdocs/assets/js/d1bfc316.3ba6fac4.js +0 -1
- data/tools/staticdocs/assets/js/dc5f7beb.002b1519.js +0 -1
- data/tools/staticdocs/assets/js/fd886806.823bd757.js +0 -1
- data/tools/staticdocs/assets/js/main.89007ebb.js +0 -2
- data/tools/staticdocs/assets/js/runtime~main.8f84aa81.js +0 -1
- data/tools/staticdocs/lunr-index-1706136992441.json +0 -1
- data/tools/staticdocs/search-doc-1706136992441.json +0 -1
- /data/tools/staticdocs/assets/js/{4657.780d60d2.js.LICENSE.txt → 7760.7f593c4f.js.LICENSE.txt} +0 -0
- /data/tools/staticdocs/assets/js/{main.89007ebb.js.LICENSE.txt → main.a6fe34c0.js.LICENSE.txt} +0 -0
@@ -3,22 +3,22 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="UTF-8">
|
5
5
|
<meta name="generator" content="Docusaurus v3.1.0">
|
6
|
-
<title data-rh="true">Bridges | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Bridges | OpenC3 Docs"><meta data-rh="true" name="description" content="COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS."><meta data-rh="true" property="og:description" content="COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS."><link data-rh="true" rel="icon" href="/tools/staticdocs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.
|
7
|
-
<script src="/tools/staticdocs/assets/js/runtime~main.
|
8
|
-
<script src="/tools/staticdocs/assets/js/main.
|
6
|
+
<title data-rh="true">Bridges | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Bridges | OpenC3 Docs"><meta data-rh="true" name="description" content="COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS."><meta data-rh="true" property="og:description" content="COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS."><link data-rh="true" rel="icon" href="/tools/staticdocs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/bridges" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.a4426211.css">
|
7
|
+
<script src="/tools/staticdocs/assets/js/runtime~main.256dc9a2.js" defer="defer"></script>
|
8
|
+
<script src="/tools/staticdocs/assets/js/main.a6fe34c0.js" defer="defer"></script>
|
9
9
|
</head>
|
10
10
|
<body class="navigation-with-keyboard">
|
11
11
|
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Collapse sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/guides/bridges">Bridges</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/cfs">COSMOS and NASA cFS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/custom-widgets">Custom Widgets</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/little-endian-bitfields">Little Endian Bitfields</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/local-mode">Local Mode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/logging">Logging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/monitoring">Monitoring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/performance">Performance</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/raspberrypi">Raspberry Pi</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/script-writing">Script Writing Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/scripting-api">Scripting API Guide</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Expand sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/guides"><span itemprop="name">Guides</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Bridges</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Bridges</h1></header><p>COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS.
|
12
12
|
Serial ports are the most common, but other devices such as USB, PCI cards, and Bluetooth devices can also be
|
13
13
|
supported by using bridges to convert from a host computer accessible device, into an Ethernet byte stream that
|
14
14
|
COSMOS can process from inside of containers.</p>
|
15
|
-
<
|
16
|
-
packet delineation.</p></
|
17
|
-
<h2
|
15
|
+
<admonition title="Bridges are Meant to be Dumb" type="warning"><p>The purpose of bridges is to get bytes into COSMOS. Processing should be done in COSMOS itself, including details such as
|
16
|
+
packet delineation.</p></admonition>
|
17
|
+
<h2 id="bridges-are-generally-just-an-interface-and-router">Bridges are Generally Just an Interface and Router</h2>
|
18
18
|
<p>Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to
|
19
19
|
COSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation
|
20
20
|
protocol like LENGTH.</p>
|
21
|
-
<h2
|
21
|
+
<h2 id="host-requirements-for-running-bridges">Host Requirements for Running Bridges</h2>
|
22
22
|
<ul>
|
23
23
|
<li>Requires a host Ruby installation (Ruby 3)</li>
|
24
24
|
<li>Install the OpenC3 gem<!-- -->
|
@@ -33,31 +33,75 @@ protocol like LENGTH.</p>
|
|
33
33
|
</li>
|
34
34
|
<li>If successful, you should be able to run <code>openc3cli</code> from a terminal</li>
|
35
35
|
</ul>
|
36
|
-
<h2
|
36
|
+
<h2 id="bridge-configuration-bridgetxt">Bridge Configuration: bridge.txt</h2>
|
37
37
|
<p>Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword.</p>
|
38
38
|
<p>The following is the default bridge.txt that is generated by running <code>openc3cli bridgesetup</code></p>
|
39
|
-
<div class="language-ruby codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-ruby codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Write serial port name</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> write_port_name </span><span class="token constant" style="color:rgb(130, 170, 255)">COM1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Read serial port name</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> read_port_name </span><span class="token constant" style="color:rgb(130, 170, 255)">COM1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Baud Rate</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> baud_rate </span><span class="token number" style="color:rgb(247, 140, 108)">115200</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Parity - NONE, ODD, or EVEN</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> parity </span><span class="token constant" style="color:rgb(130, 170, 255)">NONE</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Stop bits - 0, 1, or 2</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> stop_bits </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Write Timeout</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> write_timeout </span><span class="token number" style="color:rgb(247, 140, 108)">10.0</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Read Timeout</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> read_timeout </span><span class="token keyword" style="color:rgb(127, 219, 202)">nil</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Flow Control - NONE, or RTSCTS</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> flow_control </span><span class="token constant" style="color:rgb(130, 170, 255)">NONE</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Data bits per word - Typically 8</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> data_bits </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Port to listen for connections from COSMOS - Plugin must match</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> router_port </span><span class="token number" style="color:rgb(247, 140, 108)">2950</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># if COSMOS is on another machine.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> router_listen_address </span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token number" style="color:rgb(247, 140, 108)">.0</span><span class="token number" style="color:rgb(247, 140, 108)">.1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token constant" style="color:rgb(130, 170, 255)">INTERFACE</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SERIAL_INT</span><span class="token plain"> serial_interface</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">rb </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token operator" style="color:rgb(127, 219, 202)">%=</span><span class="token plain"> write_port_name </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%> <%= read_port_name %></span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token operator" style="color:rgb(127, 219, 202)">%=</span><span class="token plain"> baud_rate </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%> <%= parity %></span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token operator" style="color:rgb(127, 219, 202)">%=</span><span class="token plain"> stop_bits </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%> <%= write_timeout %></span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token operator" style="color:rgb(127, 219, 202)">%=</span><span class="token plain"> read_timeout </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token string-literal string" style="color:rgb(173, 219, 103)"> OPTION FLOW_CONTROL <%= flow_control %></span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">OPTION</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">DATA_BITS</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token operator" style="color:rgb(127, 219, 202)">%=</span><span class="token plain"> data_bits </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token string-literal string" style="display:inline-block;color:rgb(173, 219, 103)"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token string-literal string" style="color:rgb(173, 219, 103)">ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %></span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token operator" style="color:rgb(127, 219, 202)">%=</span><span class="token plain"> router_port </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%> 10.0 nil BURST</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token string-literal string" style="color:rgb(173, 219, 103)"> ROUTE SERIAL_INT</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token string-literal string" style="color:rgb(173, 219, 103)"> OPTION LISTEN_ADDRESS <%= router_listen_address %></span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
|
39
|
+
<pre><code class="language-ruby"># Write serial port name
|
40
|
+
VARIABLE write_port_name COM1
|
41
|
+
|
42
|
+
# Read serial port name
|
43
|
+
VARIABLE read_port_name COM1
|
44
|
+
|
45
|
+
# Baud Rate
|
46
|
+
VARIABLE baud_rate 115200
|
47
|
+
|
48
|
+
# Parity - NONE, ODD, or EVEN
|
49
|
+
VARIABLE parity NONE
|
50
|
+
|
51
|
+
# Stop bits - 0, 1, or 2
|
52
|
+
VARIABLE stop_bits 1
|
53
|
+
|
54
|
+
# Write Timeout
|
55
|
+
VARIABLE write_timeout 10.0
|
56
|
+
|
57
|
+
# Read Timeout
|
58
|
+
VARIABLE read_timeout nil
|
59
|
+
|
60
|
+
# Flow Control - NONE, or RTSCTS
|
61
|
+
VARIABLE flow_control NONE
|
62
|
+
|
63
|
+
# Data bits per word - Typically 8
|
64
|
+
VARIABLE data_bits 8
|
65
|
+
|
66
|
+
# Port to listen for connections from COSMOS - Plugin must match
|
67
|
+
VARIABLE router_port 2950
|
68
|
+
|
69
|
+
# Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened
|
70
|
+
# if COSMOS is on another machine.
|
71
|
+
VARIABLE router_listen_address 127.0.0.1
|
72
|
+
|
73
|
+
INTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %>
|
74
|
+
OPTION FLOW_CONTROL <%= flow_control %>
|
75
|
+
OPTION DATA_BITS <%= data_bits %>
|
76
|
+
|
77
|
+
ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST
|
78
|
+
ROUTE SERIAL_INT
|
79
|
+
OPTION LISTEN_ADDRESS <%= router_listen_address %>
|
80
|
+
</code></pre>
|
40
81
|
<p>VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access
|
41
82
|
this server using the host.docker.internal hostname and the configured port (2950 in this example).</p>
|
42
|
-
<h2
|
83
|
+
<h2 id="bridge-commands-openc3cli">Bridge Commands: openc3cli</h2>
|
43
84
|
<p><code>openc3cli bridgesetup</code></p>
|
44
85
|
<p>Generates a bridge.txt example file</p>
|
45
86
|
<p><code>openc3cli bridge [filename] [variable1=value1] [variable2=value2]</code></p>
|
46
87
|
<p>Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults.</p>
|
47
88
|
<p><code>openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2]</code></p>
|
48
89
|
<p>Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults.</p>
|
49
|
-
<h2
|
90
|
+
<h2 id="example-bridge-gems">Example Bridge Gems</h2>
|
50
91
|
<ul>
|
51
|
-
<li>Serial Port: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-serial"
|
52
|
-
<li>Host: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-host"
|
53
|
-
<li>HIDAPI: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-hidapi"
|
54
|
-
<li>PS5 Dual Sense Controller: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-dualsense"
|
92
|
+
<li>Serial Port: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-serial">openc3-cosmos-bridge-serial</a></li>
|
93
|
+
<li>Host: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-host">openc3-cosmos-bridge-host</a></li>
|
94
|
+
<li>HIDAPI: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-hidapi">openc3-cosmos-bridge-hidapi</a></li>
|
95
|
+
<li>PS5 Dual Sense Controller: <a href="https://github.com/OpenC3/openc3-cosmos-bridge-dualsense">openc3-cosmos-bridge-dualsense</a></li>
|
55
96
|
</ul>
|
56
|
-
<h2
|
97
|
+
<h2 id="note-on-serial-ports">Note on Serial Ports</h2>
|
57
98
|
<p>Serial ports can be used directly without bridges on Linux Docker installations.</p>
|
58
99
|
<p>Add the following to the operator service in compose.yaml:</p>
|
59
|
-
<
|
100
|
+
<pre><code> devices:
|
101
|
+
- "/dev/ttyUSB0:/dev/ttyUSB0"
|
102
|
+
</code></pre>
|
60
103
|
<p>Make sure the serial device has permissions for the user running Docker to access:</p>
|
61
|
-
<
|
104
|
+
<pre><code>sudo chmod 666 /dev/ttyUSB0
|
105
|
+
</code></pre></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/bridges.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/staticdocs/docs/guides"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Guides</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/staticdocs/docs/guides/cfs"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">COSMOS and NASA cFS</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#bridges-are-generally-just-an-interface-and-router" class="table-of-contents__link toc-highlight">Bridges are Generally Just an Interface and Router</a></li><li><a href="#host-requirements-for-running-bridges" class="table-of-contents__link toc-highlight">Host Requirements for Running Bridges</a></li><li><a href="#bridge-configuration-bridgetxt" class="table-of-contents__link toc-highlight">Bridge Configuration: bridge.txt</a></li><li><a href="#bridge-commands-openc3cli" class="table-of-contents__link toc-highlight">Bridge Commands: openc3cli</a></li><li><a href="#example-bridge-gems" class="table-of-contents__link toc-highlight">Example Bridge Gems</a></li><li><a href="#note-on-serial-ports" class="table-of-contents__link toc-highlight">Note on Serial Ports</a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
|
62
106
|
</body>
|
63
107
|
</html>
|