openc3-cosmos-tool-docs 5.17.1 → 5.18.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 +4 -4
- data/tools/staticdocs/assets/css/{styles.8a0f1b26.css → styles.80ddca08.css} +1 -1
- data/tools/staticdocs/assets/js/{019369f3.34291acc.js → 019369f3.727d87f1.js} +1 -1
- data/tools/staticdocs/assets/js/{058ffc22.8d9049f4.js → 058ffc22.f2d69d72.js} +1 -1
- data/tools/staticdocs/assets/js/{0686a885.dde7b18b.js → 0686a885.83641127.js} +1 -1
- data/tools/staticdocs/assets/js/078dbab0.945c9f59.js +1 -0
- data/tools/staticdocs/assets/js/{0f5d161c.ca02c5b2.js → 0f5d161c.e26d88b8.js} +1 -1
- data/tools/staticdocs/assets/js/{0ff569c9.ad025a56.js → 0ff569c9.aa4daee5.js} +1 -1
- data/tools/staticdocs/assets/js/{103cc3be.6b6cd0fa.js → 103cc3be.78f97eb1.js} +1 -1
- data/tools/staticdocs/assets/js/{13196248.9e7794e3.js → 13196248.ca2e8950.js} +1 -1
- data/tools/staticdocs/assets/js/{13c1b4e4.cec67b9c.js → 13c1b4e4.22a0b1d4.js} +1 -1
- data/tools/staticdocs/assets/js/{2047b354.bdd2586a.js → 2047b354.25d11993.js} +1 -1
- data/tools/staticdocs/assets/js/22b3ac48.7a5ea984.js +1 -0
- data/tools/staticdocs/assets/js/{2bb7bf90.043455de.js → 2bb7bf90.fa05d998.js} +1 -1
- data/tools/staticdocs/assets/js/3917.1ec7d126.js +1 -0
- data/tools/staticdocs/assets/js/{3dd7ef3b.c7c1d93f.js → 3dd7ef3b.d55880a8.js} +1 -1
- data/tools/staticdocs/assets/js/{40365d27.7eb3f7b1.js → 40365d27.4b4b2ccd.js} +1 -1
- data/tools/staticdocs/assets/js/{411898ad.d5f62a27.js → 411898ad.1d6a609d.js} +1 -1
- data/tools/staticdocs/assets/js/{42170351.69a8ed02.js → 42170351.c68b85e1.js} +1 -1
- data/tools/staticdocs/assets/js/43652efd.d1e1add3.js +1 -0
- data/tools/staticdocs/assets/js/53ca7c5b.c3111020.js +1 -0
- data/tools/staticdocs/assets/js/{54d0d530.28ba5be7.js → 54d0d530.d3f9a4ac.js} +1 -1
- data/tools/staticdocs/assets/js/{5b233ba7.9c621552.js → 5b233ba7.6fdd6b6c.js} +1 -1
- data/tools/staticdocs/assets/js/{5bc719f6.7fa17221.js → 5bc719f6.daa2a049.js} +1 -1
- data/tools/staticdocs/assets/js/{5c6ce5ec.5e6ca46b.js → 5c6ce5ec.61a9cae2.js} +1 -1
- data/tools/staticdocs/assets/js/5e3ed378.2bee863a.js +1 -0
- data/tools/staticdocs/assets/js/5fe211ef.a9f21277.js +1 -0
- data/tools/staticdocs/assets/js/6831b732.185eb427.js +1 -0
- data/tools/staticdocs/assets/js/{696b4199.0335bd94.js → 696b4199.a5ae3d65.js} +1 -1
- data/tools/staticdocs/assets/js/{6b210247.2cbd59e6.js → 6b210247.e96f3982.js} +1 -1
- data/tools/staticdocs/assets/js/{6b65133b.87dc7da6.js → 6b65133b.4e84b1c2.js} +1 -1
- data/tools/staticdocs/assets/js/6f92e431.65aa0240.js +1 -0
- data/tools/staticdocs/assets/js/72c6d8a8.98daa27a.js +1 -0
- data/tools/staticdocs/assets/js/{75e64983.932fbc0e.js → 75e64983.6ef0928b.js} +1 -1
- data/tools/staticdocs/assets/js/{867640d5.ffd4cf4c.js → 867640d5.48133ad5.js} +1 -1
- data/tools/staticdocs/assets/js/{89e76475.97389cc5.js → 89e76475.13ce283b.js} +1 -1
- data/tools/staticdocs/assets/js/{8f7843ee.d1ffd5ee.js → 8f7843ee.7a68246a.js} +1 -1
- data/tools/staticdocs/assets/js/9424f0b3.61c6bd97.js +1 -0
- data/tools/staticdocs/assets/js/{97535711.fc45ced1.js → 97535711.5311ddd9.js} +1 -1
- data/tools/staticdocs/assets/js/{99581c43.8e571df8.js → 99581c43.527aab44.js} +1 -1
- data/tools/staticdocs/assets/js/{9fb6059a.42881e94.js → 9fb6059a.a5107afb.js} +1 -1
- data/tools/staticdocs/assets/js/{a507c363.04b98d2c.js → a507c363.d2cc5d72.js} +1 -1
- data/tools/staticdocs/assets/js/{a677c089.b2928bac.js → a677c089.abc52ace.js} +1 -1
- data/tools/staticdocs/assets/js/{a9987364.8f065f19.js → a9987364.5ef1644f.js} +1 -1
- data/tools/staticdocs/assets/js/{aa6b6c1b.d78e5212.js → aa6b6c1b.c51c044d.js} +1 -1
- data/tools/staticdocs/assets/js/{b4596165.6806d46b.js → b4596165.daa24b72.js} +1 -1
- data/tools/staticdocs/assets/js/b6d70f94.4923c793.js +1 -0
- data/tools/staticdocs/assets/js/b9f60ba6.e55cd937.js +1 -0
- data/tools/staticdocs/assets/js/{bd0034eb.b4e3d6c1.js → bd0034eb.6691ccc4.js} +1 -1
- data/tools/staticdocs/assets/js/c24eae19.251e0038.js +1 -0
- data/tools/staticdocs/assets/js/{cb8c3f08.a0ef4b5f.js → cb8c3f08.b82ad06f.js} +1 -1
- data/tools/staticdocs/assets/js/cd879be4.f956406f.js +1 -0
- data/tools/staticdocs/assets/js/d1b923aa.d6bafb72.js +1 -0
- data/tools/staticdocs/assets/js/{d1bfc316.2d823a88.js → d1bfc316.0a5ff560.js} +1 -1
- data/tools/staticdocs/assets/js/{d24bf9b6.53eca5e8.js → d24bf9b6.6c422113.js} +1 -1
- data/tools/staticdocs/assets/js/{d57a4b5d.aaa48891.js → d57a4b5d.8f23a506.js} +1 -1
- data/tools/staticdocs/assets/js/{d5d77c37.be6fe7b6.js → d5d77c37.70fdbbc6.js} +1 -1
- data/tools/staticdocs/assets/js/{d8ca4191.c6632184.js → d8ca4191.2349d796.js} +1 -1
- data/tools/staticdocs/assets/js/{d9b92eba.c6a2c7e5.js → d9b92eba.8f82360d.js} +1 -1
- data/tools/staticdocs/assets/js/{db8fa1d0.f078bc02.js → db8fa1d0.8f1b2c9f.js} +1 -1
- data/tools/staticdocs/assets/js/{dc5f7beb.a4afe7cd.js → dc5f7beb.e3a82d1e.js} +1 -1
- data/tools/staticdocs/assets/js/{e501b0d1.d108a8a9.js → e501b0d1.0b407477.js} +1 -1
- data/tools/staticdocs/assets/js/ebec1ccb.9bea92b0.js +1 -0
- data/tools/staticdocs/assets/js/f15615f1.5c433923.js +1 -0
- data/tools/staticdocs/assets/js/{fd886806.a21dd400.js → fd886806.4a41fa80.js} +1 -1
- data/tools/staticdocs/assets/js/main.b5390098.js +2 -0
- data/tools/staticdocs/assets/js/runtime~main.12d1e41d.js +1 -0
- data/tools/staticdocs/docs/configuration/command.html +96 -180
- data/tools/staticdocs/docs/configuration/format.html +25 -54
- data/tools/staticdocs/docs/configuration/interfaces.html +25 -80
- data/tools/staticdocs/docs/configuration/plugins.html +138 -178
- data/tools/staticdocs/docs/configuration/protocols.html +91 -110
- data/tools/staticdocs/docs/configuration/ssl-tls.html +33 -104
- data/tools/staticdocs/docs/configuration/table.html +67 -125
- data/tools/staticdocs/docs/configuration/target.html +23 -31
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +194 -455
- data/tools/staticdocs/docs/configuration/telemetry.html +104 -187
- data/tools/staticdocs/docs/configuration.html +4 -4
- data/tools/staticdocs/docs/development/curl.html +17 -126
- data/tools/staticdocs/docs/development/developing.html +29 -80
- data/tools/staticdocs/docs/development/host-install.html +10 -23
- data/tools/staticdocs/docs/development/json-api.html +20 -32
- data/tools/staticdocs/docs/development/log-structure.html +14 -14
- data/tools/staticdocs/docs/development/roadmap.html +15 -15
- data/tools/staticdocs/docs/development/streaming-api.html +11 -83
- data/tools/staticdocs/docs/development/testing.html +17 -26
- data/tools/staticdocs/docs/development.html +4 -4
- data/tools/staticdocs/docs/getting-started/generators.html +35 -109
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +26 -74
- data/tools/staticdocs/docs/getting-started/installation.html +24 -35
- data/tools/staticdocs/docs/getting-started/key_concepts.html +35 -35
- data/tools/staticdocs/docs/getting-started/podman.html +26 -57
- data/tools/staticdocs/docs/getting-started/requirements.html +21 -21
- data/tools/staticdocs/docs/getting-started/upgrading.html +12 -17
- data/tools/staticdocs/docs/getting-started.html +4 -4
- data/tools/staticdocs/docs/guides/bridges.html +19 -63
- data/tools/staticdocs/docs/guides/cfs.html +44 -184
- data/tools/staticdocs/docs/guides/custom-widgets.html +20 -47
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +5 -14
- data/tools/staticdocs/docs/guides/local-mode.html +16 -21
- data/tools/staticdocs/docs/guides/logging.html +12 -12
- data/tools/staticdocs/docs/guides/monitoring.html +22 -137
- data/tools/staticdocs/docs/guides/performance.html +18 -27
- data/tools/staticdocs/docs/guides/raspberrypi.html +10 -23
- data/tools/staticdocs/docs/guides/script-writing.html +85 -391
- data/tools/staticdocs/docs/guides/scripting-api.html +482 -1353
- data/tools/staticdocs/docs/guides.html +4 -4
- data/tools/staticdocs/docs/meta/contributing.html +14 -19
- data/tools/staticdocs/docs/meta/licenses.html +13 -31
- data/tools/staticdocs/docs/meta/philosophy.html +4 -4
- data/tools/staticdocs/docs/meta/xtce.html +15 -17
- data/tools/staticdocs/docs/meta.html +4 -4
- data/tools/staticdocs/docs/privacy.html +20 -20
- data/tools/staticdocs/docs/tools/autonomic.html +22 -22
- data/tools/staticdocs/docs/tools/bucket-explorer.html +13 -13
- data/tools/staticdocs/docs/tools/calendar.html +21 -21
- data/tools/staticdocs/docs/tools/cmd-sender.html +16 -16
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +23 -23
- data/tools/staticdocs/docs/tools/data-extractor.html +27 -27
- data/tools/staticdocs/docs/tools/data-viewer.html +13 -13
- data/tools/staticdocs/docs/tools/handbooks.html +7 -7
- data/tools/staticdocs/docs/tools/limits-monitor.html +19 -19
- data/tools/staticdocs/docs/tools/packet-viewer.html +16 -16
- data/tools/staticdocs/docs/tools/script-runner.html +36 -75
- data/tools/staticdocs/docs/tools/table-manager.html +13 -48
- data/tools/staticdocs/docs/tools/tlm-grapher.html +23 -23
- data/tools/staticdocs/docs/tools/tlm-viewer.html +18 -18
- data/tools/staticdocs/docs/tools.html +4 -4
- data/tools/staticdocs/docs.html +14 -14
- data/tools/staticdocs/index.html +4 -4
- data/tools/staticdocs/lunr-index-1724101625047.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +5 -5
- data/tools/staticdocs/search-doc-1724101625047.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- metadata +71 -71
- data/tools/staticdocs/assets/js/078dbab0.b275e04c.js +0 -1
- data/tools/staticdocs/assets/js/22b3ac48.0f4fbe9d.js +0 -1
- data/tools/staticdocs/assets/js/43652efd.be2c1d02.js +0 -1
- data/tools/staticdocs/assets/js/4650.292aca67.js +0 -1
- data/tools/staticdocs/assets/js/53ca7c5b.3f1245d5.js +0 -1
- data/tools/staticdocs/assets/js/5e3ed378.77db7b87.js +0 -1
- data/tools/staticdocs/assets/js/5fe211ef.71dc8326.js +0 -1
- data/tools/staticdocs/assets/js/6831b732.5714d508.js +0 -1
- data/tools/staticdocs/assets/js/6f92e431.300a9857.js +0 -1
- data/tools/staticdocs/assets/js/72c6d8a8.cfccace6.js +0 -1
- data/tools/staticdocs/assets/js/9424f0b3.29299bde.js +0 -1
- data/tools/staticdocs/assets/js/b6d70f94.f5514e8b.js +0 -1
- data/tools/staticdocs/assets/js/b9f60ba6.c3b3046d.js +0 -1
- data/tools/staticdocs/assets/js/c24eae19.6b084c7c.js +0 -1
- data/tools/staticdocs/assets/js/cd879be4.6f19050a.js +0 -1
- data/tools/staticdocs/assets/js/d1b923aa.3f3e186d.js +0 -1
- data/tools/staticdocs/assets/js/ebec1ccb.1ded1149.js +0 -1
- data/tools/staticdocs/assets/js/f15615f1.f9b655a6.js +0 -1
- data/tools/staticdocs/assets/js/main.c2e2b617.js +0 -2
- data/tools/staticdocs/assets/js/runtime~main.2bb31799.js +0 -1
- data/tools/staticdocs/lunr-index-1719505302032.json +0 -1
- data/tools/staticdocs/search-doc-1719505302032.json +0 -1
- /data/tools/staticdocs/assets/js/{main.c2e2b617.js.LICENSE.txt → main.b5390098.js.LICENSE.txt} +0 -0
@@ -2,107 +2,54 @@
|
|
2
2
|
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guides/cfs" data-has-hydrated="false">
|
3
3
|
<head>
|
4
4
|
<meta charset="UTF-8">
|
5
|
-
<meta name="generator" content="Docusaurus v3.
|
6
|
-
<title data-rh="true">COSMOS and NASA cFS | 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/cfs"><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="COSMOS and NASA cFS | OpenC3 Docs"><meta data-rh="true" name="description" content="Working configuration"><meta data-rh="true" property="og:description" content="Working configuration"><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/cfs"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/cfs" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/cfs" 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.
|
5
|
+
<meta name="generator" content="Docusaurus v3.5.2">
|
6
|
+
<title data-rh="true">COSMOS and NASA cFS | 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/cfs"><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="COSMOS and NASA cFS | OpenC3 Docs"><meta data-rh="true" name="description" content="Working configuration"><meta data-rh="true" property="og:description" content="Working configuration"><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/cfs"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/cfs" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/cfs" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.80ddca08.css">
|
7
|
+
<script src="/tools/staticdocs/assets/js/runtime~main.12d1e41d.js" defer="defer"></script>
|
8
|
+
<script src="/tools/staticdocs/assets/js/main.b5390098.js" defer="defer"></script>
|
9
9
|
</head>
|
10
10
|
<body class="navigation-with-keyboard">
|
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 window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)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" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded="false" 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" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded="false" 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" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded="false" 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" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded="true" 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" 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 menu__link--active" aria-current="page" 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" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Expand sidebar category 'Development'" aria-expanded="false" 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" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded="false" 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">COSMOS and NASA cFS</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>COSMOS and NASA cFS</h1></header><h2 id="working-configuration">Working configuration
|
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 window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)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" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded="false" 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" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded="false" 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" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded="false" 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" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded="true" 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" 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 menu__link--active" aria-current="page" 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" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Expand sidebar category 'Development'" aria-expanded="false" 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" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded="false" 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">COSMOS and NASA cFS</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>COSMOS and NASA cFS</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="working-configuration">Working configuration<a href="#working-configuration" class="hash-link" aria-label="Direct link to Working configuration" title="Direct link to Working configuration"></a></h2>
|
12
12
|
<p>This tutorial has been tested using the following components:</p>
|
13
13
|
<ul>
|
14
|
-
<li>COSMOS v5 release <a href="https://github.com/OpenC3/cosmos/releases/tag/v5.0.6">5.0.6</a></li>
|
14
|
+
<li>COSMOS v5 release <a href="https://github.com/OpenC3/cosmos/releases/tag/v5.0.6" target="_blank" rel="noopener noreferrer">5.0.6</a></li>
|
15
15
|
<li>cFS master-branch commit: 561b128 (June 1, 2022)</li>
|
16
16
|
<li>Docker Desktop 4.9.0 on Windows</li>
|
17
17
|
</ul>
|
18
18
|
<p>Replace all <code><xxxxxx></code> with your matching paths and names. Example: <code><USERNAME></code>.</p>
|
19
|
-
<h2 id="setting-up-cosmos">Setting up COSMOS
|
19
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="setting-up-cosmos">Setting up COSMOS<a href="#setting-up-cosmos" class="hash-link" aria-label="Direct link to Setting up COSMOS" title="Direct link to Setting up COSMOS"></a></h2>
|
20
20
|
<p>Install COSMOS according to the official <a href="/tools/staticdocs/docs/getting-started/installation">installation</a> instructions.</p>
|
21
|
-
<h3 id="configuring-cosmos">Configuring COSMOS
|
21
|
+
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="configuring-cosmos">Configuring COSMOS<a href="#configuring-cosmos" class="hash-link" aria-label="Direct link to Configuring COSMOS" title="Direct link to Configuring COSMOS"></a></h3>
|
22
22
|
<p>Change the Docker configuration for the interoperability with NASA cFS. For
|
23
23
|
subscribing to the telemetry, you have to append a port binding in the file
|
24
24
|
<code>compose.yaml</code> under the section <code>openc3-operator</code>. The port number has to
|
25
25
|
match with the port number cFS is sending the telemetry on.</p>
|
26
|
-
<
|
27
|
-
ports:
|
28
|
-
- "1235:1235/udp"
|
29
|
-
</code></pre>
|
26
|
+
<div class="language-yaml codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-yaml codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token key atrule">openc3-operator</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token key atrule">ports</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"1235:1235/udp"</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>
|
30
27
|
<p>Run COSMOS, the first run takes a while (~15 min).</p>
|
31
|
-
<
|
32
|
-
</
|
33
|
-
<p>When started, connect with a browser to <a href="http://localhost:2900">http://localhost:2900</a>.</p>
|
28
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3.sh start</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>
|
29
|
+
<p>When started, connect with a browser to <a href="http://localhost:2900" target="_blank" rel="noopener noreferrer">http://localhost:2900</a>.</p>
|
34
30
|
<p>For shutting down COSMOS:</p>
|
35
|
-
<
|
36
|
-
|
37
|
-
<
|
38
|
-
<
|
39
|
-
<
|
40
|
-
<
|
41
|
-
</code></pre>
|
42
|
-
<h3 id="
|
43
|
-
<pre><code class="language-docker">FROM ubuntu:22.10 AS builder
|
44
|
-
|
45
|
-
ARG DEBIAN_FRONTEND=noninteractive
|
46
|
-
ARG SIMULATION=native
|
47
|
-
ENV SIMULATION=${SIMULATION}
|
48
|
-
ARG BUILDTYPE=debug
|
49
|
-
ENV BUILDTYPE=${BUILDTYPE}
|
50
|
-
ARG OMIT_DEPRECATED=true
|
51
|
-
ENV OMIT_DEPRECATED=${OMIT_DEPRECATED}
|
52
|
-
|
53
|
-
RUN \
|
54
|
-
apt-get update && \
|
55
|
-
apt-get -y upgrade && \
|
56
|
-
apt-get install -y build-essential git cmake && \
|
57
|
-
rm -rf /var/lib/apt/lists/*
|
58
|
-
|
59
|
-
WORKDIR /cFS
|
60
|
-
COPY . .
|
61
|
-
|
62
|
-
RUN git submodule init \
|
63
|
-
&& git submodule update \
|
64
|
-
&& cp cfe/cmake/Makefile.sample Makefile \
|
65
|
-
&& cp -r cfe/cmake/sample_defs .
|
66
|
-
|
67
|
-
RUN make prep
|
68
|
-
RUN make
|
69
|
-
RUN make install
|
70
|
-
|
71
|
-
FROM ubuntu:22.10
|
72
|
-
COPY --from=builder /cFS/build /cFS/build
|
73
|
-
WORKDIR /cFS/build/exe/cpu1
|
74
|
-
ENTRYPOINT [ "./core-cpu1" ]
|
75
|
-
</code></pre>
|
76
|
-
<h3 id="build-and-run-cfs">Build and run cFS</h3>
|
31
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3.sh stop</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>
|
32
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="setting-up-cfs">Setting up cFS<a href="#setting-up-cfs" class="hash-link" aria-label="Direct link to Setting up cFS" title="Direct link to Setting up cFS"></a></h2>
|
33
|
+
<p>To run <a href="https://github.com/nasa/cFS" target="_blank" rel="noopener noreferrer">NASA cFS</a> as a Docker container do the following:</p>
|
34
|
+
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="clone-cfs">Clone cFS<a href="#clone-cfs" class="hash-link" aria-label="Direct link to Clone cFS" title="Direct link to Clone cFS"></a></h3>
|
35
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token function" style="color:rgb(130, 170, 255)">git</span><span class="token plain"> clone --recurse-submodules https://github.com/nasa/cFS.git</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>
|
36
|
+
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="create-dockerfile-in-cfs-dir">Create Dockerfile in cFS dir<a href="#create-dockerfile-in-cfs-dir" class="hash-link" aria-label="Direct link to Create Dockerfile in cFS dir" title="Direct link to Create Dockerfile in cFS dir"></a></h3>
|
37
|
+
<div class="language-docker codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-docker codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">FROM ubuntu:22.10 AS builder</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">ARG DEBIAN_FRONTEND=noninteractive</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ARG SIMULATION=native</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ENV SIMULATION=${SIMULATION}</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ARG BUILDTYPE=debug</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ENV BUILDTYPE=${BUILDTYPE}</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ARG OMIT_DEPRECATED=true</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ENV OMIT_DEPRECATED=${OMIT_DEPRECATED}</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">RUN \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> apt-get update && \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> apt-get -y upgrade && \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> apt-get install -y build-essential git cmake && \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> rm -rf /var/lib/apt/lists/*</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">WORKDIR /cFS</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">COPY . .</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">RUN git submodule init \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> && git submodule update \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> && cp cfe/cmake/Makefile.sample Makefile \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> && cp -r cfe/cmake/sample_defs .</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">RUN make prep</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">RUN make</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">RUN make install</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">FROM ubuntu:22.10</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">COPY --from=builder /cFS/build /cFS/build</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">WORKDIR /cFS/build/exe/cpu1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ENTRYPOINT [ "./core-cpu1" ]</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>
|
38
|
+
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="build-and-run-cfs">Build and run cFS<a href="#build-and-run-cfs" class="hash-link" aria-label="Direct link to Build and run cFS" title="Direct link to Build and run cFS"></a></h3>
|
77
39
|
<p>Note we're connecting to the COSMOS network (<code>docker network ls</code>) and exposing the cFS ports.</p>
|
78
|
-
<
|
79
|
-
|
80
|
-
</code></pre>
|
81
|
-
<h2 id="creating-a-cosmos-plugin-for-tmtc-interface-with-cfs">Creating a COSMOS plugin for TM/TC interface with cFS</h2>
|
40
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> build </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-t</span><span class="token plain"> cfs </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> run --cap-add CAP_SYS_RESOURCE </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--net</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">openc3-cosmos-network </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--name</span><span class="token plain"> cfs -p1234:1234/udp </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-p1235:1235</span><span class="token plain"> cfs</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>
|
41
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="creating-a-cosmos-plugin-for-tmtc-interface-with-cfs">Creating a COSMOS plugin for TM/TC interface with cFS<a href="#creating-a-cosmos-plugin-for-tmtc-interface-with-cfs" class="hash-link" aria-label="Direct link to Creating a COSMOS plugin for TM/TC interface with cFS" title="Direct link to Creating a COSMOS plugin for TM/TC interface with cFS"></a></h2>
|
82
42
|
<p>The detailed instructions how to create a plugin, can be found
|
83
43
|
<a href="/tools/staticdocs/docs/getting-started/gettingstarted">here</a>, in the chapter "Interfacing with Your Hardware".</p>
|
84
44
|
<p>Create a new plugin with the name <code>CFS</code>. <code>CFS</code> is the name of the plugin and
|
85
45
|
must be in capital letters according to the COSMOS documentation. This command
|
86
46
|
should create the plugin structure. Then cd into the plugin to create the target.</p>
|
87
|
-
<
|
88
|
-
$PATH_TO_OPENC3/openc3.sh cli generate plugin CFS
|
89
|
-
cd openc3-cosmos-cfs
|
90
|
-
$PATH_TO_OPENC3/openc3.sh cli generate target CFS
|
91
|
-
</code></pre>
|
47
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash 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"># cd .. to the location of the cfs dir</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token variable" style="color:rgb(214, 222, 235)">$PATH_TO_OPENC3</span><span class="token plain">/openc3.sh cli generate plugin CFS</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> openc3-cosmos-cfs</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token variable" style="color:rgb(214, 222, 235)">$PATH_TO_OPENC3</span><span class="token plain">/openc3.sh cli generate target CFS</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>
|
92
48
|
<p>In this newly created plugin, change the <code>plugin.txt</code> file, so that the
|
93
49
|
communication happens over UDP. <code>port_tm</code> is the port number on which cFS
|
94
50
|
sends the telemetry messages. <code>port_tc</code> indicates the port on which cFS listens to the
|
95
51
|
telecommands.</p>
|
96
|
-
<
|
97
|
-
VARIABLE port_tm 1235
|
98
|
-
VARIABLE port_tc 1234
|
99
|
-
VARIABLE cfs_target_name CFS
|
100
|
-
|
101
|
-
TARGET CFS <%= cfs_target_name %>
|
102
|
-
# hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address
|
103
|
-
INTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil
|
104
|
-
MAP_TARGET <%= cfs_target_name %>
|
105
|
-
</code></pre>
|
52
|
+
<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 constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> ip </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"></span><span class="token constant" style="color:rgb(130, 170, 255)">VARIABLE</span><span class="token plain"> port_tm </span><span class="token number" style="color:rgb(247, 140, 108)">1235</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"> port_tc </span><span class="token number" style="color:rgb(247, 140, 108)">1234</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"> cfs_target_name </span><span class="token constant" style="color:rgb(130, 170, 255)">CFS</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)">TARGET</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CFS</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"> cfs_target_name </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)"># hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token string-literal string" style="color:rgb(173, 219, 103)">INTERFACE <%= cfs_target_name %></span><span class="token plain">_INT udp_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"> ip </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%> <%= port_tc %></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"> port_tm </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">%> nil nil 128 nil nil</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token string-literal string" style="color:rgb(173, 219, 103)"> MAP_TARGET <%= cfs_target_name %></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>
|
106
53
|
<p>Note that the two arguments to the <code>TARGET</code> parameter are:</p>
|
107
54
|
<ol>
|
108
55
|
<li>
|
@@ -117,136 +64,49 @@ convention, the server will refuse to install your plugin at the following steps
|
|
117
64
|
</li>
|
118
65
|
</ol>
|
119
66
|
<p>In this example, we keep both names to be <code>CFS</code>.</p>
|
120
|
-
<h2 id="creating-tmtc-definitions">Creating TM/TC definitions
|
67
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="creating-tmtc-definitions">Creating TM/TC definitions<a href="#creating-tmtc-definitions" class="hash-link" aria-label="Direct link to Creating TM/TC definitions" title="Direct link to Creating TM/TC definitions"></a></h2>
|
121
68
|
<p>Change to the target folder and remove the existing files and create own files.</p>
|
122
|
-
<
|
123
|
-
rm *
|
124
|
-
touch cfs_cmds.txt
|
125
|
-
touch cfs_tlm.txt
|
126
|
-
touch to_lab_cmds.txt
|
127
|
-
</code></pre>
|
69
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> openc3-cfs/targets/CFS/cmd_tlm</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">rm</span><span class="token plain"> *</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">touch</span><span class="token plain"> cfs_cmds.txt</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">touch</span><span class="token plain"> cfs_tlm.txt</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">touch</span><span class="token plain"> to_lab_cmds.txt</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>
|
128
70
|
<p>Open these newly created files in a text editor and fill them with following
|
129
71
|
content.</p>
|
130
72
|
<p><code>to_lab_cmds.txt</code>:</p>
|
131
|
-
<
|
132
|
-
|
133
|
-
APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID"
|
134
|
-
FORMAT_STRING "0x%04X"
|
135
|
-
APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 ""
|
136
|
-
FORMAT_STRING "0x%04X"
|
137
|
-
APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet"
|
138
|
-
APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 ""
|
139
|
-
APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 ""
|
140
|
-
FORMAT_STRING "0x%2X"
|
141
|
-
APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57"
|
142
|
-
</code></pre>
|
143
|
-
<admonition title="Enabling Telemetry" type="info"><p>The command <code>0x1880</code> is needed to enable telemetry. When the cFS receives
|
73
|
+
<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 constant" style="color:rgb(130, 170, 255)">COMMAND</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CFS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">TO_LAB_ENABLE</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Enable telemetry"</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"># NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION</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)">APPEND_ID_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">STREAM_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1880</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1880</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1880</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Stream ID"</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SEQUENCE</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0xC000</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT16</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0xC000</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">PKT_LEN</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0xFFFF</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0012</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"length of the packet"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CMD_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">6</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">6</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">6</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CHECKSUM</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT8</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x98</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%2X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">DEST_IP</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">144</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"127.0.0.1"</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Destination IP, i.e. 172.16.9.112, pc-57"</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>
|
74
|
+
<div class="theme-admonition theme-admonition-info admonition_IZjC alert alert--info"><div class="admonitionHeading_uVvU"><span class="admonitionIcon_HiR3"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Enabling Telemetry</div><div class="admonitionContent_bl22"><p>The command <code>0x1880</code> is needed to enable telemetry. When the cFS receives
|
144
75
|
this command, it starts sending telemetry to the IP address provided via the
|
145
|
-
<code>DEST_IP</code> field.</p></
|
76
|
+
<code>DEST_IP</code> field.</p></div></div>
|
146
77
|
<p><code>cfs_cmds.txt</code>:</p>
|
147
|
-
<pre><code class="language-ruby">COMMAND CFS NOOP BIG_ENDIAN "NOOP Command"
|
148
|
-
# cFS primary header
|
149
|
-
APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
|
150
|
-
FORMAT_STRING "0x%04X"
|
151
|
-
APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
|
152
|
-
FORMAT_STRING "0x%04X"
|
153
|
-
APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
|
154
|
-
# cFS CMD secondary header
|
155
|
-
APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 ""
|
156
|
-
APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""
|
157
|
-
|
158
|
-
COMMAND CFS RESET BIG_ENDIAN "Reset Counters Command"
|
159
|
-
APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
|
160
|
-
FORMAT_STRING "0x%04X"
|
161
|
-
APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
|
162
|
-
FORMAT_STRING "0x%04X"
|
163
|
-
APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
|
164
|
-
APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 ""
|
165
|
-
APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""
|
166
|
-
|
167
|
-
COMMAND CFS PROCESS BIG_ENDIAN "Process Command"
|
168
|
-
APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
|
169
|
-
FORMAT_STRING "0x%04X"
|
170
|
-
APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
|
171
|
-
FORMAT_STRING "0x%04X"
|
172
|
-
APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
|
173
|
-
APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 ""
|
174
|
-
APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""
|
175
|
-
</code></pre>
|
78
|
+
<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 constant" style="color:rgb(130, 170, 255)">COMMAND</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CFS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">NOOP</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"NOOP Command"</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"># cFS primary header</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)">APPEND_ID_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">STREAM_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Packet Identification"</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SEQUENCE</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT16</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0xC000</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">PKT_LEN</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Packet length"</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"># cFS CMD secondary header</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CMD_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CHECKSUM</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT8</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">COMMAND</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CFS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">RESET</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Reset Counters Command"</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)">APPEND_ID_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">STREAM_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Packet Identification"</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SEQUENCE</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT16</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0xC000</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">PKT_LEN</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Packet length"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CMD_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CHECKSUM</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT8</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">COMMAND</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CFS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">PROCESS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Process Command"</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)">APPEND_ID_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">STREAM_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x1882</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Packet Identification"</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SEQUENCE</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT16</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0xC000</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">PKT_LEN</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0001</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Packet length"</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CMD_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">APPEND_PARAMETER</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CHECKSUM</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MAX_UINT8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">MIN_UINT8</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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>
|
176
79
|
<p><code>cfs_tlm.txt</code>:</p>
|
177
|
-
<pre><code class="language-ruby">TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry"
|
178
|
-
# NAME BITS TYPE ID DESCRIPTION
|
179
|
-
APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID"
|
180
|
-
FORMAT_STRING "0x%04X"
|
181
|
-
APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence"
|
182
|
-
FORMAT_STRING "0x%04X"
|
183
|
-
APPEND_ITEM PKT_LEN 16 UINT "Length of the packet"
|
184
|
-
# telemetry secondary header
|
185
|
-
APPEND_ITEM SECONDS 32 UINT ""
|
186
|
-
UNITS Seconds sec
|
187
|
-
APPEND_ITEM SUBSECS 16 UINT ""
|
188
|
-
UNITS Milliseconds ms
|
189
|
-
# some bytes not known for what
|
190
|
-
APPEND_ITEM SPARE2ALIGN 32 UINT "Spares"
|
191
|
-
# payload
|
192
|
-
APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter"
|
193
|
-
APPEND_ITEM CMD_CNT 8 UINT "Command Counter"
|
194
|
-
# spare / alignment
|
195
|
-
APPEND_ITEM SPARE 16 UINT "Spares"
|
196
|
-
</code></pre>
|
80
|
+
<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 constant" style="color:rgb(130, 170, 255)">TELEMETRY</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CFS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">HK</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"housekeeping telemetry"</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"># NAME BITS TYPE ID DESCRIPTION</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)">APPEND_ID_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">STREAM_ID</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0x0883</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Stream ID"</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SEQUENCE</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Packet Sequence"</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)">FORMAT_STRING</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"0x%04X"</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">PKT_LEN</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Length of the packet"</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"># telemetry secondary header</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SECONDS</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">32</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">UNITS</span><span class="token plain"> Seconds sec</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SUBSECS</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">""</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)">UNITS</span><span class="token plain"> Milliseconds ms</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"># some bytes not known for what</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SPARE2ALIGN</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">32</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Spares"</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"># payload</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CMD_ERRS</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Command Error Counter"</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">CMD_CNT</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Command Counter"</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"># spare / alignment</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)">APPEND_ITEM</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">SPARE</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">16</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">UINT</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Spares"</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>
|
197
81
|
<p>Build the plugin from the base of your plugin folder:</p>
|
198
|
-
<
|
199
|
-
|
200
|
-
</code></pre>
|
201
|
-
<admonition title="Plugin versioning" type="info"><p>Do not forget to change the version number with every build if you want to
|
82
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash 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"># cd openc3-cfs</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token variable" style="color:rgb(214, 222, 235)">$PATH_TO_OPENC3</span><span class="token plain">/openc3.sh cli rake build </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">VERSION</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">.0</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>
|
83
|
+
<div class="theme-admonition theme-admonition-info admonition_IZjC alert alert--info"><div class="admonitionHeading_uVvU"><span class="admonitionIcon_HiR3"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Plugin versioning</div><div class="admonitionContent_bl22"><p>Do not forget to change the version number with every build if you want to
|
202
84
|
better distinguish between the versions of the plugin. When the version is
|
203
85
|
seen in the plugin's .gem file name, it is easier to visualize the existing
|
204
|
-
versions and the newly uploaded versions.</p></
|
205
|
-
<admonition
|
206
|
-
<h2 id="uploading-the-plugin">Uploading the plugin
|
86
|
+
versions and the newly uploaded versions.</p></div></div>
|
87
|
+
<div class="theme-admonition theme-admonition-info admonition_IZjC alert alert--info"><div class="admonitionHeading_uVvU"><span class="admonitionIcon_HiR3"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Plugin parameters</div><div class="admonitionContent_bl22"><p>Multiple parameters are available for the plugin configuration. See the <a href="/tools/staticdocs/docs/configuration/plugins">plugin</a> page.</p></div></div>
|
88
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="uploading-the-plugin">Uploading the plugin<a href="#uploading-the-plugin" class="hash-link" aria-label="Direct link to Uploading the plugin" title="Direct link to Uploading the plugin"></a></h2>
|
207
89
|
<p>After the plugin has been built, you can import the plugin in the admin area of
|
208
90
|
the page.</p>
|
209
91
|
<p>Connect with a browser to
|
210
|
-
<a href="http://localhost:2900/tools/admin">http://localhost:2900/tools/admin</a>.</p>
|
92
|
+
<a href="http://localhost:2900/tools/admin" target="_blank" rel="noopener noreferrer">http://localhost:2900/tools/admin</a>.</p>
|
211
93
|
<p>Click on the clip icon and navigate to where your plugin is stored and select
|
212
94
|
the <code>openc3-cosmos-cfs-1.0.0.gem</code> file. Right of the selection line click on <code>UPLOAD</code>.</p>
|
213
95
|
<p>Determine the IP address the cFS container and COSMOS operator container are running at:</p>
|
214
|
-
<
|
215
|
-
NETWORK ID NAME DRIVER SCOPE
|
216
|
-
d842f813f1c7 openc3-cosmos-network bridge local
|
217
|
-
|
218
|
-
docker network inspect openc3-cosmos-network
|
219
|
-
[
|
220
|
-
{
|
221
|
-
"Name": "openc3-cosmos-network",
|
222
|
-
...
|
223
|
-
"Containers": {
|
224
|
-
"03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": {
|
225
|
-
"Name": "cfs",
|
226
|
-
"IPv4Address": "172.20.0.9/16",
|
227
|
-
},
|
228
|
-
"ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": {
|
229
|
-
"Name": "openc3_openc3-operator_1",
|
230
|
-
"IPv4Address": "172.20.0.8/16",
|
231
|
-
}
|
232
|
-
}
|
233
|
-
...
|
234
|
-
}
|
235
|
-
]
|
236
|
-
</code></pre>
|
96
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#d6deeb;background-color:#011627"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> network </span><span class="token function" style="color:rgb(130, 170, 255)">ls</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">NETWORK ID NAME DRIVER SCOPE</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">d842f813f1c7 openc3-cosmos-network bridge </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">local</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 function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> network inspect openc3-cosmos-network</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Name"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"openc3-cosmos-network"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Containers"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Name"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"cfs"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"IPv4Address"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"172.20.0.9/16"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Name"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"openc3_openc3-operator_1"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"IPv4Address"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"172.20.0.8/16"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</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>
|
237
97
|
<p>When using this plugin, make sure to change the <code>ip</code> variable during uploading
|
238
98
|
to match where cFS is running. In the example above you would set it to 172.20.0.9.
|
239
99
|
<code>port_tm</code> is the port number on which cFS is sending the telemetry messages.
|
240
100
|
<code>port_tc</code> indicates the port on cFS is listening for telecommands.</p>
|
241
101
|
<p>Under <code>cfs_target_name</code> you can change the target name of this plugin. This
|
242
102
|
step is optional as long as you are fine with your plugin showing up as <code>CFS</code>.</p>
|
243
|
-
<p><img alt="Plugin Variable Settings" src="/tools/staticdocs/assets/images/plugin_variables-6904e1d9003a6c8c530bd1f738f7966217beca7d3064b40670e7a4ab7e200927.png" width="1183" height="270"></p>
|
244
|
-
<admonition
|
245
|
-
Other plugins will not receive any TM anymore.</p></
|
246
|
-
<admonition
|
247
|
-
the plugin's .gem file. Make sure your configuration is typo-free.</p></
|
103
|
+
<p><img decoding="async" loading="lazy" alt="Plugin Variable Settings" src="/tools/staticdocs/assets/images/plugin_variables-6904e1d9003a6c8c530bd1f738f7966217beca7d3064b40670e7a4ab7e200927.png" width="1183" height="270" class="img__Ss2"></p>
|
104
|
+
<div class="theme-admonition theme-admonition-warning admonition_IZjC alert alert--warning"><div class="admonitionHeading_uVvU"><span class="admonitionIcon_HiR3"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>Port subscription</div><div class="admonitionContent_bl22"><p>The last uploaded plugin on COSMOS will subscribe to TM on port 1235.
|
105
|
+
Other plugins will not receive any TM anymore.</p></div></div>
|
106
|
+
<div class="theme-admonition theme-admonition-info admonition_IZjC alert alert--info"><div class="admonitionHeading_uVvU"><span class="admonitionIcon_HiR3"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Typo errors</div><div class="admonitionContent_bl22"><p>Presence of typos in one of the plugin files can cause problems when uploading and installing
|
107
|
+
the plugin's .gem file. Make sure your configuration is typo-free.</p></div></div>
|
248
108
|
<p>In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect to
|
249
|
-
<a href="http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE">http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE</a>. Change the <code>DEST_IP</code> to the IP address of the operator image (172.20.0.8) and send the command.</p>
|
250
|
-
<p>Under <a href="http://localhost:2900/tools/cmdtlmserver/tlm-packets">http://localhost:2900/tools/cmdtlmserver/tlm-packets</a>, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/cfs.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_g62E"></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/bridges"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Bridges</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/staticdocs/docs/guides/custom-widgets"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Custom Widgets</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 class="table-of-contents__link toc-highlight"
|
109
|
+
<a href="http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE" target="_blank" rel="noopener noreferrer">http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE</a>. Change the <code>DEST_IP</code> to the IP address of the operator image (172.20.0.8) and send the command.</p>
|
110
|
+
<p>Under <a href="http://localhost:2900/tools/cmdtlmserver/tlm-packets" target="_blank" rel="noopener noreferrer">http://localhost:2900/tools/cmdtlmserver/tlm-packets</a>, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/cfs.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_g62E"></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/bridges"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Bridges</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/staticdocs/docs/guides/custom-widgets"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Custom Widgets</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="#working-configuration" class="table-of-contents__link toc-highlight">Working configuration</a></li><li><a href="#setting-up-cosmos" class="table-of-contents__link toc-highlight">Setting up COSMOS</a><ul><li><a href="#configuring-cosmos" class="table-of-contents__link toc-highlight">Configuring COSMOS</a></li></ul></li><li><a href="#setting-up-cfs" class="table-of-contents__link toc-highlight">Setting up cFS</a><ul><li><a href="#clone-cfs" class="table-of-contents__link toc-highlight">Clone cFS</a></li><li><a href="#create-dockerfile-in-cfs-dir" class="table-of-contents__link toc-highlight">Create Dockerfile in cFS dir</a></li><li><a href="#build-and-run-cfs" class="table-of-contents__link toc-highlight">Build and run cFS</a></li></ul></li><li><a href="#creating-a-cosmos-plugin-for-tmtc-interface-with-cfs" class="table-of-contents__link toc-highlight">Creating a COSMOS plugin for TM/TC interface with cFS</a></li><li><a href="#creating-tmtc-definitions" class="table-of-contents__link toc-highlight">Creating TM/TC definitions</a></li><li><a href="#uploading-the-plugin" class="table-of-contents__link toc-highlight">Uploading the plugin</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>
|
251
111
|
</body>
|
252
112
|
</html>
|