openc3-cosmos-tool-docs 6.2.1 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/staticdocs/404.html +1 -1
- data/tools/staticdocs/assets/images/horizontalbox-085c91cebe26fdd5f85b467556607dd4631da5bccabd84fb164d1f46e45e60c9.png +0 -0
- data/tools/staticdocs/assets/images/verticalbox-75738427d398302986b52afb373acef11abf3a24f60d20b8cca442688054b22b.png +0 -0
- data/tools/staticdocs/assets/js/1e02e6a3.12bdc98d.js +1 -0
- data/tools/staticdocs/assets/js/2bb7bf90.4a658ce6.js +1 -0
- data/tools/staticdocs/assets/js/35398c5c.fcf47881.js +1 -0
- data/tools/staticdocs/assets/js/5bc719f6.6d27292c.js +1 -0
- data/tools/staticdocs/assets/js/5c6ce5ec.652b922b.js +1 -0
- data/tools/staticdocs/assets/js/6b210247.6a77064a.js +1 -0
- data/tools/staticdocs/assets/js/6f92e431.6439052e.js +1 -0
- data/tools/staticdocs/assets/js/75e64983.324643a8.js +1 -0
- data/tools/staticdocs/assets/js/{7f5b2696.72e3b019.js → 7f5b2696.a3dc640e.js} +1 -1
- data/tools/staticdocs/assets/js/{9424f0b3.96e6dac4.js → 9424f0b3.3683501c.js} +1 -1
- data/tools/staticdocs/assets/js/964eb012.dbc2c206.js +1 -0
- data/tools/staticdocs/assets/js/97535711.e595488c.js +1 -0
- data/tools/staticdocs/assets/js/99581c43.841b4a2e.js +1 -0
- data/tools/staticdocs/assets/js/a9987364.b418f772.js +1 -0
- data/tools/staticdocs/assets/js/a9b2dc27.e01c9bb4.js +1 -0
- data/tools/staticdocs/assets/js/aa6b6c1b.3aad95fc.js +1 -0
- data/tools/staticdocs/assets/js/b062d239.535a2ceb.js +1 -0
- data/tools/staticdocs/assets/js/ce89ef36.6b89b0fe.js +1 -0
- data/tools/staticdocs/assets/js/{d8ca4191.f5da7c6d.js → d8ca4191.8df86c99.js} +1 -1
- data/tools/staticdocs/assets/js/db8fa1d0.f1eed806.js +1 -0
- data/tools/staticdocs/assets/js/{main.485b7747.js → main.8d947189.js} +2 -2
- data/tools/staticdocs/assets/js/runtime~main.d38c5d36.js +1 -0
- data/tools/staticdocs/docs/configuration/accessors.html +1 -1
- data/tools/staticdocs/docs/configuration/command.html +1 -1
- data/tools/staticdocs/docs/configuration/format.html +1 -1
- data/tools/staticdocs/docs/configuration/interfaces.html +1 -1
- data/tools/staticdocs/docs/configuration/plugins.html +1 -1
- data/tools/staticdocs/docs/configuration/protocols.html +1 -1
- data/tools/staticdocs/docs/configuration/ssl-tls.html +1 -1
- data/tools/staticdocs/docs/configuration/table.html +1 -1
- data/tools/staticdocs/docs/configuration/target.html +1 -1
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +5 -5
- data/tools/staticdocs/docs/configuration/telemetry.html +1 -1
- data/tools/staticdocs/docs/configuration.html +1 -1
- data/tools/staticdocs/docs/development/curl.html +1 -1
- data/tools/staticdocs/docs/development/developing.html +1 -1
- data/tools/staticdocs/docs/development/json-api.html +1 -1
- data/tools/staticdocs/docs/development/log-structure.html +1 -1
- data/tools/staticdocs/docs/development/roadmap.html +20 -29
- data/tools/staticdocs/docs/development/streaming-api.html +88 -2
- data/tools/staticdocs/docs/development/testing.html +5 -2
- data/tools/staticdocs/docs/development.html +1 -1
- data/tools/staticdocs/docs/getting-started/cli.html +47 -0
- data/tools/staticdocs/docs/getting-started/generators.html +2 -2
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +2 -2
- data/tools/staticdocs/docs/getting-started/installation.html +3 -3
- data/tools/staticdocs/docs/getting-started/{key_concepts.html → key-concepts.html} +3 -3
- data/tools/staticdocs/docs/getting-started/podman.html +2 -2
- data/tools/staticdocs/docs/getting-started/requirements.html +2 -2
- data/tools/staticdocs/docs/getting-started/upgrading.html +3 -3
- data/tools/staticdocs/docs/getting-started.html +1 -1
- data/tools/staticdocs/docs/guides/bridges.html +1 -1
- data/tools/staticdocs/docs/guides/cfs.html +1 -1
- data/tools/staticdocs/docs/guides/custom-widgets.html +2 -2
- data/tools/staticdocs/docs/guides/dynamic-packets.html +17 -0
- data/tools/staticdocs/docs/guides/{exposing_microservices.html → exposing-microservices.html} +2 -2
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +2 -2
- data/tools/staticdocs/docs/guides/local-mode.html +1 -1
- data/tools/staticdocs/docs/guides/logging.html +1 -1
- data/tools/staticdocs/docs/guides/monitoring.html +1 -1
- data/tools/staticdocs/docs/guides/performance.html +1 -1
- data/tools/staticdocs/docs/guides/raspberrypi.html +1 -1
- data/tools/staticdocs/docs/guides/script-writing.html +1 -1
- data/tools/staticdocs/docs/guides/scripting-api.html +33 -3
- data/tools/staticdocs/docs/guides.html +1 -1
- data/tools/staticdocs/docs/meta/contributing.html +1 -1
- data/tools/staticdocs/docs/meta/licenses.html +1 -1
- data/tools/staticdocs/docs/meta/philosophy.html +1 -1
- data/tools/staticdocs/docs/meta/xtce.html +1 -1
- data/tools/staticdocs/docs/meta.html +1 -1
- data/tools/staticdocs/docs/privacy.html +1 -1
- data/tools/staticdocs/docs/tools/admin.html +1 -1
- data/tools/staticdocs/docs/tools/autonomic.html +1 -1
- data/tools/staticdocs/docs/tools/bucket-explorer.html +1 -1
- data/tools/staticdocs/docs/tools/calendar.html +1 -1
- data/tools/staticdocs/docs/tools/cmd-sender.html +1 -1
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +1 -1
- data/tools/staticdocs/docs/tools/command_history.html +1 -1
- data/tools/staticdocs/docs/tools/data-extractor.html +1 -1
- data/tools/staticdocs/docs/tools/data-viewer.html +1 -1
- data/tools/staticdocs/docs/tools/handbooks.html +1 -1
- data/tools/staticdocs/docs/tools/limits-monitor.html +1 -1
- data/tools/staticdocs/docs/tools/packet-viewer.html +1 -1
- data/tools/staticdocs/docs/tools/script-runner.html +1 -1
- data/tools/staticdocs/docs/tools/table-manager.html +1 -1
- data/tools/staticdocs/docs/tools/tlm-grapher.html +1 -1
- data/tools/staticdocs/docs/tools/tlm-viewer.html +1 -1
- data/tools/staticdocs/docs/tools.html +1 -1
- data/tools/staticdocs/docs.html +1 -1
- data/tools/staticdocs/img/telemetry_viewer/widgets/horizontalbox.png +0 -0
- data/tools/staticdocs/img/telemetry_viewer/widgets/verticalbox.png +0 -0
- data/tools/staticdocs/index.html +1 -1
- data/tools/staticdocs/lunr-index-1743825503427.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +1 -1
- data/tools/staticdocs/search-doc-1743825503427.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- data/tools/staticdocs/sitemap.xml +1 -1
- metadata +33 -32
- data/tools/staticdocs/assets/images/horizontalbox-ddf82f64de700286a742a71e0c1adebbc7e9822a0dff41139f41bc476e4fc4ce.png +0 -0
- data/tools/staticdocs/assets/images/verticalbox-28fdba6f2c051a499b7f08a1be97edf0297ac9a9ce0dba44f02a7fe1c2616d91.png +0 -0
- data/tools/staticdocs/assets/js/1e02e6a3.f477eca7.js +0 -1
- data/tools/staticdocs/assets/js/2bb7bf90.4051cf46.js +0 -1
- data/tools/staticdocs/assets/js/31436304.a6b2eb4a.js +0 -1
- data/tools/staticdocs/assets/js/5bc719f6.b84c55e3.js +0 -1
- data/tools/staticdocs/assets/js/5c6ce5ec.67d1d92e.js +0 -1
- data/tools/staticdocs/assets/js/6b210247.ef28d4e5.js +0 -1
- data/tools/staticdocs/assets/js/6f92e431.d2ce2753.js +0 -1
- data/tools/staticdocs/assets/js/75e64983.81988bef.js +0 -1
- data/tools/staticdocs/assets/js/97535711.78660098.js +0 -1
- data/tools/staticdocs/assets/js/99581c43.5e55992d.js +0 -1
- data/tools/staticdocs/assets/js/a9987364.81e9c91d.js +0 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.08f58887.js +0 -1
- data/tools/staticdocs/assets/js/ce89ef36.1d76e86a.js +0 -1
- data/tools/staticdocs/assets/js/db8fa1d0.94b76b52.js +0 -1
- data/tools/staticdocs/assets/js/ebec1ccb.f938ebaa.js +0 -1
- data/tools/staticdocs/assets/js/runtime~main.61a578da.js +0 -1
- data/tools/staticdocs/lunr-index-1741317069195.json +0 -1
- data/tools/staticdocs/search-doc-1741317069195.json +0 -1
@@ -0,0 +1,47 @@
|
|
1
|
+
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/cli" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Command Line Interface | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><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/getting-started/cli><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="Command Line Interface | OpenC3 Docs"><meta data-rh=true name=description content="Using openc3.sh"><meta data-rh=true property=og:description content="Using openc3.sh"><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/getting-started/cli><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.d38c5d36.js defer></script><script src=/tools/staticdocs/assets/js/main.8d947189.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,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",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></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 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/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" 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/getting-started/key-concepts>Key Concepts</a><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/getting-started/installation>Installation</a><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/getting-started/gettingstarted>Getting Started</a><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/getting-started/upgrading>Upgrading</a><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/getting-started/cli>Command Line Interface</a><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/getting-started/generators>Code Generators</a><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/getting-started/podman>Podman</a><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/getting-started/requirements>Requirements and Design</a></ul><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 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 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/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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 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 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></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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/getting-started><span itemprop=name>Getting Started</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Command Line Interface</span><meta itemprop=position content=2></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>Command Line Interface</h1></header><p>The COSMOS Command Line Interface is <code>openc3.sh</code> and <code>openc3.bat</code> which are included in the COSMOS <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">project</a> (more about <a href=/tools/staticdocs/docs/getting-started/key-concepts#projects>projects</a>).</p>
|
2
|
+
<p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">openc3-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available type the following:</p>
|
3
|
+
<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 cli</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Usage:</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">help</span><span class="token plain"> </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Displays this information</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli rake </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs rake in the local directory</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli irb </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs irb in the local directory</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli script list /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain"> SCOPE </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># lists script names filtered by path within scope, 'DEFAULT' if not given</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli script spawn NAME SCOPE </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable1</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value1 </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable2</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value2 </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Starts named script remotely</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli script run NAME SCOPE </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable1</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value1 </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable2</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value2 </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Starts named script, monitoring status on console, by default until error or exit</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> PARAMETERS name-value pairs to form the script's runtime environment</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> OPTIONS: </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--wait</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain"> seconds to monitor status before detaching from the running script</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> ie </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--wait</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">100</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--disconnect</span><span class="token plain"> run the script </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> disconnect mode</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli script init </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># initialize running scripts (Enterprise Only)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli validate /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain">/FILENAME.gem SCOPE variables.txt </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Validate a COSMOS plugin gem file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli load /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain">/FILENAME.gem SCOPE variables.txt </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loads a COSMOS plugin gem file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli list </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">SCOPE</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Lists installed plugins, SCOPE is DEFAULT if not given</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli generate TYPE OPTIONS </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Generate various COSMOS entities</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> OPTIONS: </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--ruby</span><span class="token plain"> or </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--python</span><span class="token plain"> is required to specify the language </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> the generated code unless OPENC3_LANGUAGE is </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridge CONFIG_FILENAME </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run COSMOS host bridge</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridgegem gem_name </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable1</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value1 </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable2</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value2 </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs bridge using gem bridge.txt</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridgesetup CONFIG_FILENAME </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Create a default config file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli pkginstall PKGFILENAME SCOPE </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Install loaded package (Ruby gem or python package)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli pkguninstall PKGFILENAME SCOPE </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Uninstall loaded package (Ruby gem or python package)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli rubysloc </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># DEPRECATED: Please use scc (https://github.com/boyter/scc)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli xtce_converter </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Convert to and from the XTCE format. Run with --help for more info.</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli cstol_converter </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Converts CSTOL files (.prc) to COSMOS. Run with --help for more info.</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"/></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 /></svg></span></button></div></div></div>
|
4
|
+
<div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>seccomp profile</div><div class=admonitionContent_bl22><p>You can safely ignore <code>WARNING: daemon is not using the default seccomp profile</code></div></div>
|
5
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=rake>Rake<a href=#rake class=hash-link aria-label="Direct link to Rake" title="Direct link to Rake"></a></h2>
|
6
|
+
<p>You can execute rake tasks using <code>openc3.sh cli rake</code>. The most typical usage is to generate a plugin and then build it. For example:</p>
|
7
|
+
<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 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"/></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 /></svg></span></button></div></div></div>
|
8
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=irb>IRB<a href=#irb class=hash-link aria-label="Direct link to IRB" title="Direct link to IRB"></a></h2>
|
9
|
+
<p>IRB stands for Interactive Ruby and is a way to start a Ruby interpreter that you can play around with. When using it from the CLI, it includes the COSMOS Ruby path so you can <code>require 'cosmos'</code> and try out various methods. For example:</p>
|
10
|
+
<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 cli irb</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">irb</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">main</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">:001:</span><span class="token operator file-descriptor important" style="color:rgb(127, 219, 202)">0</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> require </span><span class="token string" style="color:rgb(173, 219, 103)">'cosmos'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><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"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">irb</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">main</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">:002:</span><span class="token operator file-descriptor important" style="color:rgb(127, 219, 202)">0</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> Cosmos::Api::WHITELIST</span><br></span><span class=token-line style=color:#d6deeb><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"></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 string" style="color:rgb(173, 219, 103)">"get_interface"</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)">"get_interface_names"</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"/></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 /></svg></span></button></div></div></div>
|
11
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=script>Script<a href=#script class=hash-link aria-label="Direct link to Script" title="Direct link to Script"></a></h2>
|
12
|
+
<p>The script methods allow you to list the available scripts, spawn a script, and run a script while monitoring its output. Note that you must set the OPENC3_API_PASSWORD in Open Source and both the OPENC3_API_USER and OPENC3_API_PASSWORD in Enterprise.</p>
|
13
|
+
<div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>Offline Access Token</div><div class=admonitionContent_bl22><p>You must visit the frontend Script Runner page as the OPENC3_API_USER or run "openc3.sh cli script init" in order to obtain an offline access token before the other script cli methods will work.</div></div>
|
14
|
+
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id=list>List<a href=#list class=hash-link aria-label="Direct link to List" title="Direct link to List"></a></h3>
|
15
|
+
<p>List all the available scripts which includes all the files in every target directory. You can filter this list using bash to only include procedures, Ruby files, Python files, etc.</p>
|
16
|
+
<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">% </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_API_USER</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">operator</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)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_API_PASSWORD</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">operator</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli script list</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">EXAMPLE/cmd_tlm/example_cmds.txt</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">EXAMPLE/cmd_tlm/example_tlm.txt</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></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"/></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 /></svg></span></button></div></div></div>
|
17
|
+
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id=spawn>Spawn<a href=#spawn class=hash-link aria-label="Direct link to Spawn" title="Direct link to Spawn"></a></h3>
|
18
|
+
<p>The ID of the spawned script is returned. You can connect to it in Script Runner by visiting <code>http://localhost:2900/tools/scriptrunner/1</code> where the final value is the ID.</p>
|
19
|
+
<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 spawn INST/procedures/checks.rb</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">1</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"/></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 /></svg></span></button></div></div></div>
|
20
|
+
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id=run>Run<a href=#run class=hash-link aria-label="Direct link to Run" title="Direct link to Run"></a></h3>
|
21
|
+
<p>Run spawns the script and then captures the output and prints it to the shell. Note that this will not work with user input prompts so the script must be written to prevent user input. You can also pass variables to the script as shown in the CLI help.</p>
|
22
|
+
<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 cli script run INST/procedures/stash.rb</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Filename INST/procedures/stash.rb scope DEFAULT</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.429 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Script config/DEFAULT/targets/INST/procedures/stash.rb spawned </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.796683293</span><span class="token plain"> seconds </span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">ruby </span><span class="token number" style="color:rgb(247, 140, 108)">3.2</span><span class="token plain">.</span><span class="token operator file-descriptor important" style="color:rgb(127, 219, 202)">6</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.453 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Starting script: stash.rb, line_delay </span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.1</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:3</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:4</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.732 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:4</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: key1: val1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:5</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:6</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.936 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:6</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: key2: val2</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:7</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.039 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:7</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'val1'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'val1'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:8</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.146 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:8</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'val2'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'val2'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:9</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.256 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:9</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'["key1", "key2"]'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'["key1", "key2"]'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:10</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:11</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:12</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.556 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:12</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'{"key1"=>1, "key2"=>2}'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"key1"=>1, "key2"=>2}'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:13</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:14</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.763 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:14</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:15</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:16</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:17</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:18</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:42.176 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:18</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'[1, 2, [3, 4]]'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'[1, 2, [3, 4]]'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:19</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:21</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:22</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:23</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:42.587 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:23</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'{"one"=>1, "two"=>2, "string"=>"string"}'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"one"=>1, "two"=>2, "string"=>"string"}'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:24</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</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 number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:42.697 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Script completed: stash.rb</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">stopped</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">script complete</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">%</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"/></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 /></svg></span></button></div></div></div>
|
23
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=validate>Validate<a href=#validate class=hash-link aria-label="Direct link to Validate" title="Direct link to Validate"></a></h2>
|
24
|
+
<p>Validate is used to validate built COSMOS plugins. It walks through the installation process without actually installing the plugin.</p>
|
25
|
+
<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 cli validate openc3-cosmos-cfdp-1.0.0.gem</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Installing openc3-cosmos-cfdp-1.0.0.gem</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Successfully validated openc3-cosmos-cfdp-1.0.0.gem</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"/></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 /></svg></span></button></div></div></div>
|
26
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=load>Load<a href=#load class=hash-link aria-label="Direct link to Load" title="Direct link to Load"></a></h2>
|
27
|
+
<p>Load can load a plugin into COSMOS without using the GUI. This is useful for scripts or CI/CD pipelines.</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 cli load openc3-cosmos-cfdp-1.0.0.gem</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Loading new plugin: openc3-cosmos-cfdp-1.0.0.gem</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 string" style="color:rgb(173, 219, 103)">"name"</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 string" style="color:rgb(173, 219, 103)">"openc3-cosmos-cfdp-1.0.0.gem"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"variables"</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 punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_microservice_name"</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 string" style="color:rgb(173, 219, 103)">"CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_route_prefix"</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 string" style="color:rgb(173, 219, 103)">"/cfdp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_port"</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 string" style="color:rgb(173, 219, 103)">"2905"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_cmd_target_name"</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 string" style="color:rgb(173, 219, 103)">"CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_cmd_packet_name"</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 string" style="color:rgb(173, 219, 103)">"CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_cmd_item_name"</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 string" style="color:rgb(173, 219, 103)">"PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_tlm_target_name"</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 string" style="color:rgb(173, 219, 103)">"CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_tlm_packet_name"</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 string" style="color:rgb(173, 219, 103)">"CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_tlm_item_name"</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 string" style="color:rgb(173, 219, 103)">"PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"source_entity_id"</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 string" style="color:rgb(173, 219, 103)">"1"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"destination_entity_id"</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 string" style="color:rgb(173, 219, 103)">"2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"root_path"</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 string" style="color:rgb(173, 219, 103)">"/DEFAULT/targets_modified/CFDP/tmp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"bucket"</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 string" style="color:rgb(173, 219, 103)">"config"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"plugin_test_mode"</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 string" style="color:rgb(173, 219, 103)">"false"</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)">"plugin_txt_lines"</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 punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_microservice_name CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_route_prefix /cfdp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_port 2905"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_cmd_target_name CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_cmd_packet_name CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_cmd_item_name PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_tlm_target_name CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_tlm_packet_name CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_tlm_item_name PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE source_entity_id 1"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE destination_entity_id 2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE root_path /DEFAULT/targets_modified/CFDP/tmp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE bucket config"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"# Set to true to enable a test configuration"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE plugin_test_mode </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">false</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"MICROSERVICE CFDP <%= cfdp_microservice_name %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" WORK_DIR ."</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ROUTE_PREFIX <%= cfdp_route_prefix %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV OPENC3_ROUTE_PREFIX <%= cfdp_route_prefix %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV SECRET_KEY_BASE 324973597349867207430793759437697498769349867349674"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" PORT <%= cfdp_port %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" CMD rails s -b 0.0.0.0 -p <%= cfdp_port %> -e production"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" # MIB Options Follow -"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" # You will need to modify these for your mission"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION source_entity_id <%= source_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION tlm_info <%= cfdp_tlm_target_name %> <%= cfdp_tlm_packet_name %> <%= cfdp_tlm_item_name %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION destination_entity_id <%= destination_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION cmd_info <%= cfdp_cmd_target_name %> <%= cfdp_cmd_packet_name %> <%= cfdp_cmd_item_name %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION root_path <%= root_path %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" <% if bucket.to_s.strip != '' %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION bucket <%= bucket %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" <% end %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"<% include_test = (plugin_test_mode.to_s.strip.downcase == </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">true</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">) %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"<% if include_test %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" TARGET CFDPTEST CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" TARGET CFDPTEST CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" MICROSERVICE CFDP CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" WORK_DIR ."</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ROUTE_PREFIX /cfdp2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV OPENC3_ROUTE_PREFIX /cfdp2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV SECRET_KEY_BASE 324973597349867207430793759437697498769349867349674"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" PORT 2906"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" CMD rails s -b 0.0.0.0 -p 2906 -e production"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION source_entity_id <%= destination_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION tlm_info CFDP CFDP_PDU PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION destination_entity_id <%= source_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION cmd_info CFDP CFDP_PDU PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION root_path <%= root_path %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" <% if bucket.to_s.strip != '' %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION bucket <%= bucket %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" <% end %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" <% test_host = ENV['KUBERNETES_SERVICE_HOST'] ? (scope.to_s.downcase + </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">-interface-cfdp2-int-service</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">) : </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">openc3-operator</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)"> %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" INTERFACE CFDP_INT tcpip_client_interface.rb <%= test_host %> 2907 2907 10.0 nil LENGTH 0 32 4 1 BIG_ENDIAN 0 nil nil true"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" MAP_TARGET CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" INTERFACE CFDP2_INT tcpip_server_interface.rb 2907 2907 10.0 nil LENGTH 0 32 4 1 BIG_ENDIAN 0 nil nil true"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" PORT 2907"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" MAP_TARGET CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"<% end %>"</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)">"needs_dependencies"</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">false, </span><span class="token string" style="color:rgb(173, 219, 103)">"updated_at"</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">nil</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">Updating </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">local</span><span class="token plain"> plugin files: /plugins/DEFAULT/openc3-cosmos-cfdp</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"/></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 /></svg></span></button></div></div></div>
|
29
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=list-1>List<a href=#list-1 class=hash-link aria-label="Direct link to List" title="Direct link to List"></a></h2>
|
30
|
+
<p>List displays all the installed plugins.</p>
|
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 cli list</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cfdp-1.0.0.gem__20250325160956</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-demo-6.2.2.pre.beta0.20250325143120.gem__20250325160201</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-enterprise-tool-admin-6.2.2.pre.beta0.20250325155648.gem__20250325160159</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-autonomic-6.2.2.pre.beta0.20250325155658.gem__20250325160225</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-bucketexplorer-6.2.2.pre.beta0.20250325143107.gem__20250325160227</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-calendar-6.2.2.pre.beta0.20250325155654.gem__20250325160224</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-cmdhistory-6.2.2.pre.beta0.20250325155651.gem__20250325160212</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-cmdsender-6.2.2.pre.beta0.20250325143111.gem__20250325160211</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-cmdtlmserver-6.2.2.pre.beta0.20250325143114.gem__20250325160208</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-dataextractor-6.2.2.pre.beta0.20250325143104.gem__20250325160219</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-dataviewer-6.2.2.pre.beta0.20250325143108.gem__20250325160220</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-docs-6.2.2.pre.beta0.20250325155535.gem__20250325160228</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-grafana-6.2.2.pre.beta0.20250325155658.gem__20250325160233</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-handbooks-6.2.2.pre.beta0.20250325143113.gem__20250325160222</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-iframe-6.2.2.pre.beta0.20250325143110.gem__20250325160158</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-limitsmonitor-6.2.2.pre.beta0.20250325155448.gem__20250325160209</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-packetviewer-6.2.2.pre.beta0.20250325143104.gem__20250325160215</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-scriptrunner-6.2.2.pre.beta0.20250325143111.gem__20250325160214</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-tablemanager-6.2.2.pre.beta0.20250325143116.gem__20250325160223</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-tlmgrapher-6.2.2.pre.beta0.20250325143105.gem__20250325160218</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-tlmviewer-6.2.2.pre.beta0.20250325143108.gem__20250325160216</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-enterprise-tool-base-6.2.2.pre.beta0.20250325155704.gem__20250325160153</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"/></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 /></svg></span></button></div></div></div>
|
32
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=generate>Generate<a href=#generate class=hash-link aria-label="Direct link to Generate" title="Direct link to Generate"></a></h2>
|
33
|
+
<p>Generate is used to scaffold new COSMOS plugins, targets, conversions, and more! See the <a href=/tools/staticdocs/docs/getting-started/generators>Generators</a> page for more information.</p>
|
34
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=bridge>Bridge<a href=#bridge class=hash-link aria-label="Direct link to Bridge" title="Direct link to Bridge"></a></h2>
|
35
|
+
<p>A COSMOS Bridge is a small application that is run on the local computer to connect to hardware not available to Docker containers. A good example is connecting to a serial port on a non-linux system. See the
|
36
|
+
<a href=/tools/staticdocs/docs/guides/bridges>Bridge Guide</a> for more information.</p>
|
37
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=pkginstall-and-pkguninstall>Pkginstall and pkguninstall<a href=#pkginstall-and-pkguninstall class=hash-link aria-label="Direct link to Pkginstall and pkguninstall" title="Direct link to Pkginstall and pkguninstall"></a></h2>
|
38
|
+
<p>Allows you to install or remove Ruby gems or Python wheels into COSMOS. These are dependencies that are not packaged with the COSMOS plugin itself.</p>
|
39
|
+
<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 cli pkginstall rspec-3.13.0.gem</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"/></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 /></svg></span></button></div></div></div>
|
40
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=rubysloc-deprecated>Rubysloc (deprecated)<a href=#rubysloc-deprecated class=hash-link aria-label="Direct link to Rubysloc (deprecated)" title="Direct link to Rubysloc (deprecated)"></a></h2>
|
41
|
+
<p>Calculates the Ruby Source Lines of Code (SLOC) from the current directory recursively. We recommend using <a href=https://github.com/boyter/scc target=_blank rel="noopener noreferrer">scc</a> as it works across any programming language, calculates many more statistics, and is blazing fast.</p>
|
42
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=xtce-converter>XTCE Converter<a href=#xtce-converter class=hash-link aria-label="Direct link to XTCE Converter" title="Direct link to XTCE Converter"></a></h2>
|
43
|
+
<p>Converts from the XTCE format to the COSMOS format and also exports XTCE files given a COSMOS plugin.</p>
|
44
|
+
<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 cli xtce_converter</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Usage: xtce_converter </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">options</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--import</span><span class="token plain"> input_xtce_filename </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--output</span><span class="token plain"> output_dir</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> xtce_converter </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">options</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--plugin</span><span class="token plain"> /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain">/FILENAME.gem </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--output</span><span class="token plain"> output_dir </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--variables</span><span class="token plain"> variables.txt</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"> -h, </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--help</span><span class="token plain"> Show this message</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> -i, </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--import</span><span class="token plain"> VALUE Import the specified .xtce </span><span class="token function" style="color:rgb(130, 170, 255)">file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> -o, </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--output</span><span class="token plain"> DIRECTORY Create files </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> the directory</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> -p, </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--plugin</span><span class="token plain"> PLUGIN Export .xtce file</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">s</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain"> from the plugin</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> -v, </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--variables</span><span class="token plain"> Optional variables </span><span class="token function" style="color:rgb(130, 170, 255)">file</span><span class="token plain"> to pass to the plugin</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"/></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 /></svg></span></button></div></div></div>
|
45
|
+
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=cstol-converter>CSTOL Converter<a href=#cstol-converter class=hash-link aria-label="Direct link to CSTOL Converter" title="Direct link to CSTOL Converter"></a></h2>
|
46
|
+
<p>Converts from the Colorado System Test and Operations Language (CSTOL) to a COSMOS Script Runner Ruby script. It currently does not support conversion to Python. Simply run it in the same directory as CSTOL files (*.prc) and it will convert them all.</p>
|
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 plain">% openc3.sh cli cstol_converter</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"/></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 /></svg></span></button></div></div></div></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/getting-started/cli.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"/></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/getting-started/upgrading><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Upgrading</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/getting-started/generators><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Code Generators</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=#rake class="table-of-contents__link toc-highlight">Rake</a><li><a href=#irb class="table-of-contents__link toc-highlight">IRB</a><li><a href=#script class="table-of-contents__link toc-highlight">Script</a><ul><li><a href=#list class="table-of-contents__link toc-highlight">List</a><li><a href=#spawn class="table-of-contents__link toc-highlight">Spawn</a><li><a href=#run class="table-of-contents__link toc-highlight">Run</a></ul><li><a href=#validate class="table-of-contents__link toc-highlight">Validate</a><li><a href=#load class="table-of-contents__link toc-highlight">Load</a><li><a href=#list-1 class="table-of-contents__link toc-highlight">List</a><li><a href=#generate class="table-of-contents__link toc-highlight">Generate</a><li><a href=#bridge class="table-of-contents__link toc-highlight">Bridge</a><li><a href=#pkginstall-and-pkguninstall class="table-of-contents__link toc-highlight">Pkginstall and pkguninstall</a><li><a href=#rubysloc-deprecated class="table-of-contents__link toc-highlight">Rubysloc (deprecated)</a><li><a href=#xtce-converter class="table-of-contents__link toc-highlight">XTCE Converter</a><li><a href=#cstol-converter class="table-of-contents__link toc-highlight">CSTOL Converter</a></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></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></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/generators" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Code Generators | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><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/getting-started/generators><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="Code Generators | OpenC3 Docs"><meta data-rh=true name=description content="Using openc3.sh to generate code"><meta data-rh=true property=og:description content="Using openc3.sh to generate code"><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/getting-started/generators><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.61a578da.js defer></script><script src=/tools/staticdocs/assets/js/main.485b7747.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,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",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></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 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/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" 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/getting-started/installation>Installation</a><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/getting-started/gettingstarted>Getting Started</a><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/getting-started/generators>Code Generators</a><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/getting-started/upgrading>Upgrading</a><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/getting-started/key_concepts>Key Concepts</a><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/getting-started/requirements>Requirements and Design</a><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/getting-started/podman>Podman</a></ul><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 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 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/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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 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 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></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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/getting-started><span itemprop=name>Getting Started</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Code Generators</span><meta itemprop=position content=2></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>Code Generators</h1></header><p>The COSMOS Code Generators are built into the scripts <code>openc3.sh</code> and <code>openc3.bat</code> that are included in the COSMOS <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">project</a> (more about <a href=/tools/staticdocs/docs/getting-started/key_concepts#projects>projects</a>).</p>
|
1
|
+
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/generators" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Code Generators | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><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/getting-started/generators><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="Code Generators | OpenC3 Docs"><meta data-rh=true name=description content="Using openc3.sh to generate code"><meta data-rh=true property=og:description content="Using openc3.sh to generate code"><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/getting-started/generators><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.d38c5d36.js defer></script><script src=/tools/staticdocs/assets/js/main.8d947189.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,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",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></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 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/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" 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/getting-started/key-concepts>Key Concepts</a><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/getting-started/installation>Installation</a><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/getting-started/gettingstarted>Getting Started</a><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/getting-started/upgrading>Upgrading</a><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/getting-started/cli>Command Line Interface</a><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/getting-started/generators>Code Generators</a><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/getting-started/podman>Podman</a><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/getting-started/requirements>Requirements and Design</a></ul><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 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 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/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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 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 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></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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/getting-started><span itemprop=name>Getting Started</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Code Generators</span><meta itemprop=position content=2></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>Code Generators</h1></header><p>The COSMOS Code Generators are built into the scripts <code>openc3.sh</code> and <code>openc3.bat</code> that are included in the COSMOS <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">project</a> (more about <a href=/tools/staticdocs/docs/getting-started/key-concepts#projects>projects</a>).</p>
|
2
2
|
<p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">openc3-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available code generators type the following:</p>
|
3
3
|
<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 cli generate</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Unknown generator </span><span class="token string" style="color:rgb(173, 219, 103)">''</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token plain"> Valid generators: plugin, target, microservice, widget, conversion,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">limits_response, tool, tool_vue, tool_angular, tool_react, tool_svelte</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"/></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 /></svg></span></button></div></div></div>
|
4
4
|
<div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>Training Available</div><div class=admonitionContent_bl22><p>If any of this gets confusing, contact us at <a href=mailto:support@openc3.com></a><a href=mailto:support@openc3.com target=_blank rel="noopener noreferrer">support@openc3.com</a>. We have training classes available!</div></div>
|
@@ -49,4 +49,4 @@
|
|
49
49
|
<p>This creates the following files and directories:</p>
|
50
50
|
<table><thead><tr><th>Name<th>Description<tbody><tr><td>src/App.vue<td>Basic Vue template to render the application.<tr><td>src/main.js<td>Entry point for the new tool which loads Vue, Vuetify, and other libraries.<tr><td>src/router.js<td>Vue component router.<tr><td>src/tools/datavis<td>Contains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation.<tr><td>src/tools/datavis/datavis.vue<td>Fully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable.<tr><td>package.json<td>Build and dependency definition file. Used by npm or yarn to build the tool.<tr><td>vue.config.js<td>Vue configuration file used to serve the application in development and build the application.<tr><td><dotfiles><td>Various dotfiles which help configure formatters and tools for Javascript frontend development</table>
|
51
51
|
<p>It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found <a href=https://pictogrammers.com/library/mdi/ target=_blank rel="noopener noreferrer">here</a>.</p>
|
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)">TOOL</span><span class="token plain"> datavis </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"DataVis"</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)">INLINE_URL</span><span class="token plain"> main</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">js</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)">ICON</span><span class="token plain"> mdi</span><span class="token operator" style="color:rgb(127, 219, 202)">-</span><span class="token plain">file</span><span class="token operator" style="color:rgb(127, 219, 202)">-</span><span class="token plain">cad</span><span class="token operator" style="color:rgb(127, 219, 202)">-</span><span class="token plain">box</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"/></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 /></svg></span></button></div></div></div></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/getting-started/generators.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"/></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/getting-started/
|
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)">TOOL</span><span class="token plain"> datavis </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"DataVis"</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)">INLINE_URL</span><span class="token plain"> main</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">js</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)">ICON</span><span class="token plain"> mdi</span><span class="token operator" style="color:rgb(127, 219, 202)">-</span><span class="token plain">file</span><span class="token operator" style="color:rgb(127, 219, 202)">-</span><span class="token plain">cad</span><span class="token operator" style="color:rgb(127, 219, 202)">-</span><span class="token plain">box</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"/></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 /></svg></span></button></div></div></div></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/getting-started/generators.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"/></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/getting-started/cli><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Command Line Interface</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/getting-started/podman><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Podman</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=#plugin-generator class="table-of-contents__link toc-highlight">Plugin Generator</a><li><a href=#target-generator class="table-of-contents__link toc-highlight">Target Generator</a><li><a href=#microservice-generator class="table-of-contents__link toc-highlight">Microservice Generator</a><li><a href=#conversion-generator class="table-of-contents__link toc-highlight">Conversion Generator</a><li><a href=#limits-response-generator class="table-of-contents__link toc-highlight">Limits Response Generator</a><li><a href=#widget-generator class="table-of-contents__link toc-highlight">Widget Generator</a><li><a href=#tool-generator class="table-of-contents__link toc-highlight">Tool Generator</a></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></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></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/gettingstarted" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Getting Started | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><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/getting-started/gettingstarted><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="Getting Started | OpenC3 Docs"><meta data-rh=true name=description content="Getting starting with COSMOS"><meta data-rh=true property=og:description content="Getting starting with COSMOS"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.61a578da.js defer></script><script src=/tools/staticdocs/assets/js/main.485b7747.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,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",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></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 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/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" 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/getting-started/installation>Installation</a><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/getting-started/gettingstarted>Getting Started</a><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/getting-started/generators>Code Generators</a><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/getting-started/upgrading>Upgrading</a><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/getting-started/key_concepts>Key Concepts</a><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/getting-started/requirements>Requirements and Design</a><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/getting-started/podman>Podman</a></ul><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 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 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/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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 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 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></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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/getting-started><span itemprop=name>Getting Started</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Getting Started</span><meta itemprop=position content=2></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>Getting Started</h1></header><p>Welcome to the OpenC3 COSMOS system... Let's get started! This guide is a high level overview that will help with setting up your first COSMOS project.</p>
|
1
|
+
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/gettingstarted" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Getting Started | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><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/getting-started/gettingstarted><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="Getting Started | OpenC3 Docs"><meta data-rh=true name=description content="Getting starting with COSMOS"><meta data-rh=true property=og:description content="Getting starting with COSMOS"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.d38c5d36.js defer></script><script src=/tools/staticdocs/assets/js/main.8d947189.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,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",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></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 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/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" 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/getting-started/key-concepts>Key Concepts</a><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/getting-started/installation>Installation</a><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/getting-started/gettingstarted>Getting Started</a><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/getting-started/upgrading>Upgrading</a><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/getting-started/cli>Command Line Interface</a><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/getting-started/generators>Code Generators</a><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/getting-started/podman>Podman</a><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/getting-started/requirements>Requirements and Design</a></ul><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 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 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/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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 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 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></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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/getting-started><span itemprop=name>Getting Started</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Getting Started</span><meta itemprop=position content=2></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>Getting Started</h1></header><p>Welcome to the OpenC3 COSMOS system... Let's get started! This guide is a high level overview that will help with setting up your first COSMOS project.</p>
|
2
2
|
<ol>
|
3
3
|
<li>Get COSMOS Installed onto your computer by following the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a>.<!-- -->
|
4
4
|
<ul>
|
@@ -114,4 +114,4 @@
|
|
114
114
|
<li>
|
115
115
|
<p>At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our <a href=https://github.com/OpenC3/cosmos/issues target=_blank rel="noopener noreferrer">Github Issues</a> page. If you would like to enquire about support contracts or professional COSMOS development please contact us at <a href=mailto:support@openc3.com target=_blank rel="noopener noreferrer">support@openc3.com</a>.</p>
|
116
116
|
</li>
|
117
|
-
</ol></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/getting-started/gettingstarted.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"/></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/getting-started/installation><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Installation</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/getting-started/
|
117
|
+
</ol></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/getting-started/gettingstarted.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"/></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/getting-started/installation><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Installation</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/getting-started/upgrading><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Upgrading</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=#interfacing-with-your-hardware class="table-of-contents__link toc-highlight">Interfacing with Your Hardware</a><li><a href=#building-your-plugin class="table-of-contents__link toc-highlight">Building Your Plugin</a></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></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></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|