openc3-cosmos-tool-docs 6.0.1 → 6.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/tools/staticdocs/404.html +1 -1
  3. data/tools/staticdocs/assets/js/{019369f3.8413befc.js → 019369f3.1a6a0205.js} +1 -1
  4. data/tools/staticdocs/assets/js/{058ffc22.a4ceeb8e.js → 058ffc22.5cfabd67.js} +1 -1
  5. data/tools/staticdocs/assets/js/{0686a885.ae0a89e8.js → 0686a885.0e2ea47d.js} +1 -1
  6. data/tools/staticdocs/assets/js/{078dbab0.90ef4019.js → 078dbab0.5515d5e3.js} +1 -1
  7. data/tools/staticdocs/assets/js/{0f5d161c.1c827de2.js → 0f5d161c.7697df48.js} +1 -1
  8. data/tools/staticdocs/assets/js/{0ff569c9.3b7f9c95.js → 0ff569c9.f81b787b.js} +1 -1
  9. data/tools/staticdocs/assets/js/{103cc3be.76716a45.js → 103cc3be.e7943c80.js} +1 -1
  10. data/tools/staticdocs/assets/js/{13196248.18801ae0.js → 13196248.ea83002e.js} +1 -1
  11. data/tools/staticdocs/assets/js/{13c1b4e4.4457fa9a.js → 13c1b4e4.eb5250f4.js} +1 -1
  12. data/tools/staticdocs/assets/js/1e02e6a3.f477eca7.js +1 -0
  13. data/tools/staticdocs/assets/js/{2047b354.9470f5c9.js → 2047b354.d91f6c3e.js} +1 -1
  14. data/tools/staticdocs/assets/js/{22b3ac48.ac895789.js → 22b3ac48.0df9587b.js} +1 -1
  15. data/tools/staticdocs/assets/js/26b8abb2.a9f9025d.js +1 -0
  16. data/tools/staticdocs/assets/js/{2bb7bf90.471e10a1.js → 2bb7bf90.4051cf46.js} +1 -1
  17. data/tools/staticdocs/assets/js/31436304.a6b2eb4a.js +1 -0
  18. data/tools/staticdocs/assets/js/3969.afdd070b.js +1 -0
  19. data/tools/staticdocs/assets/js/{3dd7ef3b.d8bb37a8.js → 3dd7ef3b.c3455b97.js} +1 -1
  20. data/tools/staticdocs/assets/js/{40365d27.5f8a5da7.js → 40365d27.5ed2e9b5.js} +1 -1
  21. data/tools/staticdocs/assets/js/{411898ad.c8f67fde.js → 411898ad.f7fc4d80.js} +1 -1
  22. data/tools/staticdocs/assets/js/{42170351.86617d4a.js → 42170351.fbc05869.js} +1 -1
  23. data/tools/staticdocs/assets/js/{43652efd.0c473c25.js → 43652efd.60fa883f.js} +1 -1
  24. data/tools/staticdocs/assets/js/{2124.0e1f26f5.js → 5205.07e5caf3.js} +1 -1
  25. data/tools/staticdocs/assets/js/5328.3e2a53eb.js +1 -0
  26. data/tools/staticdocs/assets/js/53ca7c5b.fe331a71.js +1 -0
  27. data/tools/staticdocs/assets/js/{54d0d530.9ace531c.js → 54d0d530.ef91ba12.js} +1 -1
  28. data/tools/staticdocs/assets/js/5761.e7fabbc9.js +4 -0
  29. data/tools/staticdocs/assets/js/{5b233ba7.565c0c28.js → 5b233ba7.2ea0179c.js} +1 -1
  30. data/tools/staticdocs/assets/js/{5bc719f6.80b7b43c.js → 5bc719f6.b84c55e3.js} +1 -1
  31. data/tools/staticdocs/assets/js/{5c6ce5ec.ed839e0d.js → 5c6ce5ec.67d1d92e.js} +1 -1
  32. data/tools/staticdocs/assets/js/5e3ed378.cc5e2748.js +1 -0
  33. data/tools/staticdocs/assets/js/{5fe211ef.96109971.js → 5fe211ef.5a6390e4.js} +1 -1
  34. data/tools/staticdocs/assets/js/651.a043d7b1.js +1 -0
  35. data/tools/staticdocs/assets/js/6831b732.bb38c0d0.js +1 -0
  36. data/tools/staticdocs/assets/js/{696b4199.34aa1d77.js → 696b4199.2a7ff897.js} +1 -1
  37. data/tools/staticdocs/assets/js/6b210247.ef28d4e5.js +1 -0
  38. data/tools/staticdocs/assets/js/{6b65133b.f71c0e94.js → 6b65133b.0376a397.js} +1 -1
  39. data/tools/staticdocs/assets/js/{6f92e431.c98e31e0.js → 6f92e431.d2ce2753.js} +1 -1
  40. data/tools/staticdocs/assets/js/{72c6d8a8.1053fbd7.js → 72c6d8a8.10f0f9ec.js} +1 -1
  41. data/tools/staticdocs/assets/js/{75e64983.45bf7edc.js → 75e64983.81988bef.js} +1 -1
  42. data/tools/staticdocs/assets/js/{80c97f38.5a408d9c.js → 80c97f38.607160d3.js} +1 -1
  43. data/tools/staticdocs/assets/js/{867640d5.866fe67b.js → 867640d5.2c0fa6d9.js} +1 -1
  44. data/tools/staticdocs/assets/js/89e76475.a76d0072.js +1 -0
  45. data/tools/staticdocs/assets/js/{8f7843ee.59da8025.js → 8f7843ee.abe30983.js} +1 -1
  46. data/tools/staticdocs/assets/js/9357.9a7e89b5.js +101 -0
  47. data/tools/staticdocs/assets/js/{9424f0b3.cc8aa06e.js → 9424f0b3.bc60f3d9.js} +1 -1
  48. data/tools/staticdocs/assets/js/{97535711.94a5b402.js → 97535711.88c7444a.js} +1 -1
  49. data/tools/staticdocs/assets/js/99581c43.5e55992d.js +1 -0
  50. data/tools/staticdocs/assets/js/9d6e81d0.141ccd61.js +1 -0
  51. data/tools/staticdocs/assets/js/9fb6059a.821f7504.js +1 -0
  52. data/tools/staticdocs/assets/js/{a677c089.d8d7a8f5.js → a677c089.7caa32f6.js} +1 -1
  53. data/tools/staticdocs/assets/js/a9987364.81e9c91d.js +1 -0
  54. data/tools/staticdocs/assets/js/{aa6b6c1b.993f091d.js → aa6b6c1b.72eac29d.js} +1 -1
  55. data/tools/staticdocs/assets/js/{b4596165.a5fe2cea.js → b4596165.c648533a.js} +1 -1
  56. data/tools/staticdocs/assets/js/{b6d70f94.5df56282.js → b6d70f94.7813125e.js} +1 -1
  57. data/tools/staticdocs/assets/js/{b9f60ba6.cdb4a698.js → b9f60ba6.4c0bb1dd.js} +1 -1
  58. data/tools/staticdocs/assets/js/{bd0034eb.5fb449fc.js → bd0034eb.8ad39448.js} +1 -1
  59. data/tools/staticdocs/assets/js/{c24eae19.f419c8fb.js → c24eae19.89738127.js} +1 -1
  60. data/tools/staticdocs/assets/js/{c2598f55.85419dc8.js → c2598f55.812cdcd1.js} +1 -1
  61. data/tools/staticdocs/assets/js/{cb8c3f08.9264e5dd.js → cb8c3f08.07d1c9e9.js} +1 -1
  62. data/tools/staticdocs/assets/js/{cd879be4.aa3c877c.js → cd879be4.59af1749.js} +1 -1
  63. data/tools/staticdocs/assets/js/{d1b923aa.de9e8fd6.js → d1b923aa.a73e7e79.js} +1 -1
  64. data/tools/staticdocs/assets/js/d1bfc316.a58b9bbd.js +1 -0
  65. data/tools/staticdocs/assets/js/{d24bf9b6.1cb515f4.js → d24bf9b6.9fef8263.js} +1 -1
  66. data/tools/staticdocs/assets/js/{d57a4b5d.09769a64.js → d57a4b5d.c74b62b1.js} +1 -1
  67. data/tools/staticdocs/assets/js/{d5d77c37.1704d750.js → d5d77c37.e812e6e7.js} +1 -1
  68. data/tools/staticdocs/assets/js/{d66bf9c0.9a597f56.js → d66bf9c0.842d2efa.js} +1 -1
  69. data/tools/staticdocs/assets/js/d8ca4191.f5da7c6d.js +1 -0
  70. data/tools/staticdocs/assets/js/{d9b92eba.5a40eb6d.js → d9b92eba.34e63ba6.js} +1 -1
  71. data/tools/staticdocs/assets/js/{db8fa1d0.f9f65c91.js → db8fa1d0.94b76b52.js} +1 -1
  72. data/tools/staticdocs/assets/js/{dbe31111.dae4b9bd.js → dbe31111.75e9fc53.js} +1 -1
  73. data/tools/staticdocs/assets/js/dc5f7beb.9e4e6681.js +1 -0
  74. data/tools/staticdocs/assets/js/{e501b0d1.cb2ef34f.js → e501b0d1.d3a1e4bc.js} +1 -1
  75. data/tools/staticdocs/assets/js/{ebec1ccb.086b8668.js → ebec1ccb.120a5b80.js} +1 -1
  76. data/tools/staticdocs/assets/js/{f15615f1.afd4ba93.js → f15615f1.49804e96.js} +1 -1
  77. data/tools/staticdocs/assets/js/fd886806.124ffe26.js +1 -0
  78. data/tools/staticdocs/assets/js/main.ed84fc7e.js +36 -0
  79. data/tools/staticdocs/assets/js/runtime~main.91337aca.js +1 -0
  80. data/tools/staticdocs/docs/configuration/accessors.html +2 -2
  81. data/tools/staticdocs/docs/configuration/command.html +2 -2
  82. data/tools/staticdocs/docs/configuration/format.html +2 -2
  83. data/tools/staticdocs/docs/configuration/interfaces.html +2 -2
  84. data/tools/staticdocs/docs/configuration/plugins.html +4 -4
  85. data/tools/staticdocs/docs/configuration/protocols.html +2 -2
  86. data/tools/staticdocs/docs/configuration/ssl-tls.html +2 -2
  87. data/tools/staticdocs/docs/configuration/table.html +2 -2
  88. data/tools/staticdocs/docs/configuration/target.html +2 -2
  89. data/tools/staticdocs/docs/configuration/telemetry-screens.html +2 -2
  90. data/tools/staticdocs/docs/configuration/telemetry.html +2 -2
  91. data/tools/staticdocs/docs/configuration.html +1 -1
  92. data/tools/staticdocs/docs/development/curl.html +2 -2
  93. data/tools/staticdocs/docs/development/developing.html +3 -3
  94. data/tools/staticdocs/docs/development/json-api.html +2 -2
  95. data/tools/staticdocs/docs/development/log-structure.html +2 -2
  96. data/tools/staticdocs/docs/development/roadmap.html +2 -2
  97. data/tools/staticdocs/docs/development/streaming-api.html +2 -2
  98. data/tools/staticdocs/docs/development/testing.html +2 -2
  99. data/tools/staticdocs/docs/development.html +1 -1
  100. data/tools/staticdocs/docs/getting-started/generators.html +2 -2
  101. data/tools/staticdocs/docs/getting-started/gettingstarted.html +2 -2
  102. data/tools/staticdocs/docs/getting-started/installation.html +2 -2
  103. data/tools/staticdocs/docs/getting-started/key_concepts.html +2 -2
  104. data/tools/staticdocs/docs/getting-started/podman.html +2 -2
  105. data/tools/staticdocs/docs/getting-started/requirements.html +2 -2
  106. data/tools/staticdocs/docs/getting-started/upgrading.html +2 -2
  107. data/tools/staticdocs/docs/getting-started.html +1 -1
  108. data/tools/staticdocs/docs/guides/bridges.html +2 -2
  109. data/tools/staticdocs/docs/guides/cfs.html +2 -2
  110. data/tools/staticdocs/docs/guides/custom-widgets.html +2 -2
  111. data/tools/staticdocs/docs/guides/exposing_microservices.html +33 -0
  112. data/tools/staticdocs/docs/guides/little-endian-bitfields.html +2 -2
  113. data/tools/staticdocs/docs/guides/local-mode.html +2 -2
  114. data/tools/staticdocs/docs/guides/logging.html +2 -2
  115. data/tools/staticdocs/docs/guides/monitoring.html +2 -2
  116. data/tools/staticdocs/docs/guides/performance.html +2 -2
  117. data/tools/staticdocs/docs/guides/raspberrypi.html +2 -2
  118. data/tools/staticdocs/docs/guides/script-writing.html +2 -2
  119. data/tools/staticdocs/docs/guides/scripting-api.html +2 -2
  120. data/tools/staticdocs/docs/guides.html +1 -1
  121. data/tools/staticdocs/docs/meta/contributing.html +2 -2
  122. data/tools/staticdocs/docs/meta/licenses.html +2 -2
  123. data/tools/staticdocs/docs/meta/philosophy.html +2 -2
  124. data/tools/staticdocs/docs/meta/xtce.html +2 -2
  125. data/tools/staticdocs/docs/meta.html +1 -1
  126. data/tools/staticdocs/docs/privacy.html +2 -2
  127. data/tools/staticdocs/docs/tools/admin.html +2 -2
  128. data/tools/staticdocs/docs/tools/autonomic.html +2 -2
  129. data/tools/staticdocs/docs/tools/bucket-explorer.html +2 -2
  130. data/tools/staticdocs/docs/tools/calendar.html +2 -2
  131. data/tools/staticdocs/docs/tools/cmd-sender.html +2 -2
  132. data/tools/staticdocs/docs/tools/cmd-tlm-server.html +2 -2
  133. data/tools/staticdocs/docs/tools/command_history.html +2 -2
  134. data/tools/staticdocs/docs/tools/data-extractor.html +2 -2
  135. data/tools/staticdocs/docs/tools/data-viewer.html +2 -2
  136. data/tools/staticdocs/docs/tools/handbooks.html +2 -2
  137. data/tools/staticdocs/docs/tools/limits-monitor.html +2 -2
  138. data/tools/staticdocs/docs/tools/packet-viewer.html +2 -2
  139. data/tools/staticdocs/docs/tools/script-runner.html +2 -2
  140. data/tools/staticdocs/docs/tools/table-manager.html +2 -2
  141. data/tools/staticdocs/docs/tools/tlm-grapher.html +2 -2
  142. data/tools/staticdocs/docs/tools/tlm-viewer.html +2 -2
  143. data/tools/staticdocs/docs/tools.html +1 -1
  144. data/tools/staticdocs/docs.html +2 -2
  145. data/tools/staticdocs/index.html +1 -1
  146. data/tools/staticdocs/lunr-index-1736455916496.json +1 -0
  147. data/tools/staticdocs/lunr-index.json +1 -1
  148. data/tools/staticdocs/markdown-page.html +2 -2
  149. data/tools/staticdocs/search-doc-1736455916496.json +1 -0
  150. data/tools/staticdocs/search-doc.json +1 -1
  151. data/tools/staticdocs/sitemap.xml +1 -1
  152. metadata +82 -80
  153. data/tools/staticdocs/assets/js/1602.1e622848.js +0 -1
  154. data/tools/staticdocs/assets/js/1e02e6a3.8e63f255.js +0 -1
  155. data/tools/staticdocs/assets/js/26b8abb2.45d268b1.js +0 -1
  156. data/tools/staticdocs/assets/js/3040.18a0bb2a.js +0 -4
  157. data/tools/staticdocs/assets/js/3687.6fa52db1.js +0 -101
  158. data/tools/staticdocs/assets/js/4303.a84f454a.js +0 -1
  159. data/tools/staticdocs/assets/js/53ca7c5b.f0e35da3.js +0 -1
  160. data/tools/staticdocs/assets/js/5e3ed378.048e258b.js +0 -1
  161. data/tools/staticdocs/assets/js/6831b732.4008a669.js +0 -1
  162. data/tools/staticdocs/assets/js/6b210247.d37e3087.js +0 -1
  163. data/tools/staticdocs/assets/js/7690.fc05b8e6.js +0 -1
  164. data/tools/staticdocs/assets/js/89e76475.b4e9da15.js +0 -1
  165. data/tools/staticdocs/assets/js/99581c43.ebea1d08.js +0 -1
  166. data/tools/staticdocs/assets/js/9d6e81d0.4bc52207.js +0 -1
  167. data/tools/staticdocs/assets/js/9fb6059a.57936fbe.js +0 -1
  168. data/tools/staticdocs/assets/js/a9987364.2aa836fd.js +0 -1
  169. data/tools/staticdocs/assets/js/d1bfc316.82dd17ab.js +0 -1
  170. data/tools/staticdocs/assets/js/d8ca4191.1861d710.js +0 -1
  171. data/tools/staticdocs/assets/js/dc5f7beb.15fc7cc8.js +0 -1
  172. data/tools/staticdocs/assets/js/fd886806.fa25adc4.js +0 -1
  173. data/tools/staticdocs/assets/js/main.c4acbd62.js +0 -36
  174. data/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js +0 -1
  175. data/tools/staticdocs/lunr-index-1734734383200.json +0 -1
  176. data/tools/staticdocs/search-doc-1734734383200.json +0 -1
@@ -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-configuration/format" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>File Format | 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/configuration/format><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="File Format | OpenC3 Docs"><meta data-rh=true name=description content="Structure of a COSMOS file, including using ERB"><meta data-rh=true property=og:description content="Structure of a COSMOS file, including using ERB"><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/configuration/format><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/format hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/format hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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 menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>File Format</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>File Format</h1></header><p>COSMOS configuration files are just text files. They can (and should) be checked into your configuration management system and thus can be easily diffed throughout their history. They support ERB syntax, partials, and various line continuations which make them extremely flexible.</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-configuration/format" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>File Format | 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/configuration/format><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="File Format | OpenC3 Docs"><meta data-rh=true name=description content="Structure of a COSMOS file, including using ERB"><meta data-rh=true property=og:description content="Structure of a COSMOS file, including using ERB"><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/configuration/format><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/format hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/format hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.91337aca.js defer></script><script src=/tools/staticdocs/assets/js/main.ed84fc7e.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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 menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>File Format</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>File Format</h1></header><p>COSMOS configuration files are just text files. They can (and should) be checked into your configuration management system and thus can be easily diffed throughout their history. They support ERB syntax, partials, and various line continuations which make them extremely flexible.</p>
2
2
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=keyword--parameters>Keyword / Parameters<a href=#keyword--parameters class=hash-link aria-label="Direct link to Keyword / Parameters" title="Direct link to Keyword / Parameters">​</a></h2>
3
3
  <p>Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example:</p>
4
4
  <div class="language-ruby codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-ruby codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token constant" style="color:rgb(130, 170, 255)">COMMAND</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">TARGET</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">COLLECT</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">"Collect command"</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>
@@ -36,4 +36,4 @@
36
36
  <div class="language-ruby codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-ruby codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token constant" style="color:rgb(130, 170, 255)">TELEMETRY</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">INST</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">HEALTH_STATUS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">'Health and status'</span><span class="token plain"> \</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">'Additional description'</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>
37
37
  <p>The strings will be merged without a newline to result in:</p>
38
38
  <div class="language-ruby codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-ruby codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token constant" style="color:rgb(130, 170, 255)">TELEMETRY</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">INST</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">HEALTH_STATUS</span><span class="token plain"> </span><span class="token constant" style="color:rgb(130, 170, 255)">BIG_ENDIAN</span><span class="token plain"> </span><span class="token string-literal string" style="color:rgb(173, 219, 103)">'Health and statusAdditional description'</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>
39
- <p>The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped.</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/configuration/format.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/configuration><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Configuration</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/plugins><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Plugins</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=#keyword--parameters class="table-of-contents__link toc-highlight">Keyword / Parameters</a><li><a href=#erb class="table-of-contents__link toc-highlight">ERB</a><ul><li><a href=#render class="table-of-contents__link toc-highlight">render</a></ul><li><a href=#line-continuation class="table-of-contents__link toc-highlight">Line Continuation</a><li><a href=#string-concatenation class="table-of-contents__link toc-highlight">String Concatenation</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 © 2024 OpenC3, Inc.</div></div></div></footer></div>
39
+ <p>The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped.</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/configuration/format.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/configuration><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Configuration</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/plugins><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Plugins</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=#keyword--parameters class="table-of-contents__link toc-highlight">Keyword / Parameters</a><li><a href=#erb class="table-of-contents__link toc-highlight">ERB</a><ul><li><a href=#render class="table-of-contents__link toc-highlight">render</a></ul><li><a href=#line-continuation class="table-of-contents__link toc-highlight">Line Continuation</a><li><a href=#string-concatenation class="table-of-contents__link toc-highlight">String Concatenation</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-configuration/interfaces" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Interfaces | 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/configuration/interfaces><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="Interfaces | OpenC3 Docs"><meta data-rh=true name=description content="Built-in COSMOS interfaces including how to create one"><meta data-rh=true property=og:description content="Built-in COSMOS interfaces including how to create one"><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/configuration/interfaces><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/interfaces hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/interfaces hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>Interfaces</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>Interfaces</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id=overview>Overview<a href=#overview class=hash-link aria-label="Direct link to Overview" title="Direct link to Overview">​</a></h2>
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-configuration/interfaces" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Interfaces | 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/configuration/interfaces><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="Interfaces | OpenC3 Docs"><meta data-rh=true name=description content="Built-in COSMOS interfaces including how to create one"><meta data-rh=true property=og:description content="Built-in COSMOS interfaces including how to create one"><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/configuration/interfaces><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/interfaces hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/interfaces hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.91337aca.js defer></script><script src=/tools/staticdocs/assets/js/main.ed84fc7e.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>Interfaces</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>Interfaces</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id=overview>Overview<a href=#overview class=hash-link aria-label="Direct link to Overview" title="Direct link to Overview">​</a></h2>
2
2
  <p>Interfaces are the connection to the external embedded systems called <a href=/tools/staticdocs/docs/configuration/target>targets</a>. Interfaces are defined by the top level <a href=/tools/staticdocs/docs/configuration/plugins#interface-1>INTERFACE</a> keyword in the plugin.txt file.</p>
3
3
  <p>Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, MQTT, SNMP, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with <a href=/tools/staticdocs/docs/configuration/protocols>Protocols</a> rather than implementing a new interface.</p>
4
4
  <div class="theme-admonition theme-admonition-info admonition_IZjC alert alert--info"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg></span>Interface and Routers Are Very Similar</div><div class=admonitionContent_bl22><p>Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target.</div></div>
@@ -132,4 +132,4 @@
132
132
  <li><strong>write</strong> - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent.</li>
133
133
  <li><strong>write_raw</strong> - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data.</li>
134
134
  </ol>
135
- <div class="theme-admonition theme-admonition-warning admonition_IZjC alert alert--warning"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 16 16"><path fill-rule=evenodd d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg></span>Naming Conventions</div><div class=admonitionContent_bl22><p>When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization.</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/configuration/interfaces.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/configuration/telemetry><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Telemetry</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/protocols><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Protocols</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=#overview class="table-of-contents__link toc-highlight">Overview</a><ul><li><a href=#protocols class="table-of-contents__link toc-highlight">Protocols</a><li><a href=#accessors class="table-of-contents__link toc-highlight">Accessors</a></ul><li><a href=#provided-interfaces class="table-of-contents__link toc-highlight">Provided Interfaces</a><ul><li><a href=#tcpip-client-interface class="table-of-contents__link toc-highlight">TCPIP Client Interface</a><li><a href=#tcpip-server-interface class="table-of-contents__link toc-highlight">TCPIP Server Interface</a><ul><li><a href=#interface-options class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#udp-interface class="table-of-contents__link toc-highlight">UDP Interface</a><li><a href=#http-client-interface class="table-of-contents__link toc-highlight">HTTP Client Interface</a><li><a href=#http-server-interface class="table-of-contents__link toc-highlight">HTTP Server Interface</a><ul><li><a href=#interface-options-1 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#mqtt-interface class="table-of-contents__link toc-highlight">MQTT Interface</a><ul><li><a href=#interface-options-2 class="table-of-contents__link toc-highlight">Interface Options</a><li><a href=#packet-definitions class="table-of-contents__link toc-highlight">Packet Definitions</a></ul><li><a href=#mqtt-streaming-interface class="table-of-contents__link toc-highlight">MQTT Streaming Interface</a><ul><li><a href=#interface-options-3 class="table-of-contents__link toc-highlight">Interface Options</a><li><a href=#packet-definitions-1 class="table-of-contents__link toc-highlight">Packet Definitions</a></ul><li><a href=#serial-interface class="table-of-contents__link toc-highlight">Serial Interface</a><ul><li><a href=#interface-options-4 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#snmp-interface-enterprise class="table-of-contents__link toc-highlight">SNMP Interface (Enterprise)</a><ul><li><a href=#interface-options-5 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#snmp-trap-interface-enterprise class="table-of-contents__link toc-highlight">SNMP Trap Interface (Enterprise)</a><ul><li><a href=#interface-options-6 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#grpc-interface-enterprise class="table-of-contents__link toc-highlight">gRPC Interface (Enterprise)</a><ul><li><a href=#commands class="table-of-contents__link toc-highlight">Commands</a></ul></ul><li><a href=#custom-interfaces class="table-of-contents__link toc-highlight">Custom Interfaces</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 © 2024 OpenC3, Inc.</div></div></div></footer></div>
135
+ <div class="theme-admonition theme-admonition-warning admonition_IZjC alert alert--warning"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 16 16"><path fill-rule=evenodd d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg></span>Naming Conventions</div><div class=admonitionContent_bl22><p>When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization.</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/configuration/interfaces.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/configuration/telemetry><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Telemetry</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/protocols><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Protocols</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=#overview class="table-of-contents__link toc-highlight">Overview</a><ul><li><a href=#protocols class="table-of-contents__link toc-highlight">Protocols</a><li><a href=#accessors class="table-of-contents__link toc-highlight">Accessors</a></ul><li><a href=#provided-interfaces class="table-of-contents__link toc-highlight">Provided Interfaces</a><ul><li><a href=#tcpip-client-interface class="table-of-contents__link toc-highlight">TCPIP Client Interface</a><li><a href=#tcpip-server-interface class="table-of-contents__link toc-highlight">TCPIP Server Interface</a><ul><li><a href=#interface-options class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#udp-interface class="table-of-contents__link toc-highlight">UDP Interface</a><li><a href=#http-client-interface class="table-of-contents__link toc-highlight">HTTP Client Interface</a><li><a href=#http-server-interface class="table-of-contents__link toc-highlight">HTTP Server Interface</a><ul><li><a href=#interface-options-1 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#mqtt-interface class="table-of-contents__link toc-highlight">MQTT Interface</a><ul><li><a href=#interface-options-2 class="table-of-contents__link toc-highlight">Interface Options</a><li><a href=#packet-definitions class="table-of-contents__link toc-highlight">Packet Definitions</a></ul><li><a href=#mqtt-streaming-interface class="table-of-contents__link toc-highlight">MQTT Streaming Interface</a><ul><li><a href=#interface-options-3 class="table-of-contents__link toc-highlight">Interface Options</a><li><a href=#packet-definitions-1 class="table-of-contents__link toc-highlight">Packet Definitions</a></ul><li><a href=#serial-interface class="table-of-contents__link toc-highlight">Serial Interface</a><ul><li><a href=#interface-options-4 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#snmp-interface-enterprise class="table-of-contents__link toc-highlight">SNMP Interface (Enterprise)</a><ul><li><a href=#interface-options-5 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#snmp-trap-interface-enterprise class="table-of-contents__link toc-highlight">SNMP Trap Interface (Enterprise)</a><ul><li><a href=#interface-options-6 class="table-of-contents__link toc-highlight">Interface Options</a></ul><li><a href=#grpc-interface-enterprise class="table-of-contents__link toc-highlight">gRPC Interface (Enterprise)</a><ul><li><a href=#commands class="table-of-contents__link toc-highlight">Commands</a></ul></ul><li><a href=#custom-interfaces class="table-of-contents__link toc-highlight">Custom Interfaces</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-configuration/plugins" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Plugins | 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/configuration/plugins><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="Plugins | OpenC3 Docs"><meta data-rh=true name=description content="Plugin definition file format and keywords"><meta data-rh=true property=og:description content="Plugin definition file format and keywords"><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/configuration/plugins><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/plugins hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/plugins hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>Plugins</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>Plugins</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id=introduction>Introduction<a href=#introduction class=hash-link aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h2>
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-configuration/plugins" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Plugins | 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/configuration/plugins><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="Plugins | OpenC3 Docs"><meta data-rh=true name=description content="Plugin definition file format and keywords"><meta data-rh=true property=og:description content="Plugin definition file format and keywords"><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/configuration/plugins><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/plugins hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/plugins hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.91337aca.js defer></script><script src=/tools/staticdocs/assets/js/main.ed84fc7e.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>Plugins</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>Plugins</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id=introduction>Introduction<a href=#introduction class=hash-link aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h2>
2
2
  <p>This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS.</p>
3
3
  <p>Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality.</p>
4
4
  <p>Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains.</p>
@@ -316,8 +316,8 @@ This file follows the standard COSMOS configuration file format of keywords foll
316
316
  <table><thead><tr><th>Parameter<th>Description<th>Required<tbody><tr><td>Url<td>The url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools.<td>True</table>
317
317
  <h3 class="anchor anchorWithStickyNavbar_fF9Z" id=inline_url>INLINE_URL<a href=#inline_url class=hash-link aria-label="Direct link to INLINE_URL" title="Direct link to INLINE_URL">​</a></h3>
318
318
  <p><strong>Internal url to load a tool</strong></p>
319
- <p>The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js".</p>
320
- <table><thead><tr><th>Parameter<th>Description<th>Required<tbody><tr><td>Url<td>The inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.<td>True</table>
319
+ <p>The url of the javascript file used to load the tool into single-SPA. Defaults to "main.js".</p>
320
+ <table><thead><tr><th>Parameter<th>Description<th>Required<tbody><tr><td>Url<td>The inline url. If not given defaults to main.js. Generally should not be given unless using a non-standard filename.<td>True</table>
321
321
  <h3 class="anchor anchorWithStickyNavbar_fF9Z" id=window>WINDOW<a href=#window class=hash-link aria-label="Direct link to WINDOW" title="Direct link to WINDOW">​</a></h3>
322
322
  <p><strong>How to display the tool when navigated to</strong></p>
323
323
  <p>The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB.</p>
@@ -356,4 +356,4 @@ This file follows the standard COSMOS configuration file format of keywords foll
356
356
  <h3 class="anchor anchorWithStickyNavbar_fF9Z" id=disable_erb-3>DISABLE_ERB<a href=#disable_erb-3 class=hash-link aria-label="Direct link to DISABLE_ERB" title="Direct link to DISABLE_ERB">​</a></h3>
357
357
  <p><div class=right>(Since 5.12.0)</div><strong>Disable ERB processing</strong><p></p>
358
358
  <p>Disable ERB processing for the entire widget or a set of regular expressions over its filenames</p>
359
- <table><thead><tr><th>Parameter<th>Description<th>Required<tbody><tr><td>Regex<td>Regex to match against filenames. If match, then no ERB processing<td>False</table></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/configuration/plugins.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/configuration/format><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>File Format</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/target><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Targets</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=#introduction class="table-of-contents__link toc-highlight">Introduction</a><li><a href=#concepts class="table-of-contents__link toc-highlight">Concepts</a><ul><li><a href=#target class="table-of-contents__link toc-highlight">Target</a><li><a href=#interface class="table-of-contents__link toc-highlight">Interface</a><li><a href=#router class="table-of-contents__link toc-highlight">Router</a><li><a href=#tool class="table-of-contents__link toc-highlight">Tool</a><li><a href=#microservice class="table-of-contents__link toc-highlight">Microservice</a></ul><li><a href=#plugin-directory-structure class="table-of-contents__link toc-highlight">Plugin Directory Structure</a><li><a href=#plugintxt-configuration-file class="table-of-contents__link toc-highlight">plugin.txt Configuration File</a><li><a href=#variable class="table-of-contents__link toc-highlight">VARIABLE</a><li><a href=#needs_dependencies class="table-of-contents__link toc-highlight">NEEDS_DEPENDENCIES</a><li><a href=#interface-1 class="table-of-contents__link toc-highlight">INTERFACE</a><li><a href=#interface-modifiers class="table-of-contents__link toc-highlight">INTERFACE Modifiers</a><ul><li><a href=#map_target class="table-of-contents__link toc-highlight">MAP_TARGET</a><li><a href=#map_cmd_target class="table-of-contents__link toc-highlight">MAP_CMD_TARGET</a><li><a href=#map_tlm_target class="table-of-contents__link toc-highlight">MAP_TLM_TARGET</a><li><a href=#dont_connect class="table-of-contents__link toc-highlight">DONT_CONNECT</a><li><a href=#dont_reconnect class="table-of-contents__link toc-highlight">DONT_RECONNECT</a><li><a href=#reconnect_delay class="table-of-contents__link toc-highlight">RECONNECT_DELAY</a><li><a href=#disable_disconnect class="table-of-contents__link toc-highlight">DISABLE_DISCONNECT</a><li><a href=#log_raw class="table-of-contents__link toc-highlight">LOG_RAW</a><li><a href=#log_stream class="table-of-contents__link toc-highlight">LOG_STREAM</a><li><a href=#protocol class="table-of-contents__link toc-highlight">PROTOCOL</a><li><a href=#option class="table-of-contents__link toc-highlight">OPTION</a><li><a href=#secret class="table-of-contents__link toc-highlight">SECRET</a><li><a href=#env class="table-of-contents__link toc-highlight">ENV</a><li><a href=#work_dir class="table-of-contents__link toc-highlight">WORK_DIR</a><li><a href=#port class="table-of-contents__link toc-highlight">PORT</a><li><a href=#cmd class="table-of-contents__link toc-highlight">CMD</a><li><a href=#container class="table-of-contents__link toc-highlight">CONTAINER</a><li><a href=#route_prefix class="table-of-contents__link toc-highlight">ROUTE_PREFIX</a><li><a href=#shard class="table-of-contents__link toc-highlight">SHARD</a></ul><li><a href=#router-1 class="table-of-contents__link toc-highlight">ROUTER</a><li><a href=#target-1 class="table-of-contents__link toc-highlight">TARGET</a><li><a href=#target-modifiers class="table-of-contents__link toc-highlight">TARGET Modifiers</a><ul><li><a href=#cmd_buffer_depth class="table-of-contents__link toc-highlight">CMD_BUFFER_DEPTH</a><li><a href=#cmd_log_cycle_time class="table-of-contents__link toc-highlight">CMD_LOG_CYCLE_TIME</a><li><a href=#cmd_log_cycle_size class="table-of-contents__link toc-highlight">CMD_LOG_CYCLE_SIZE</a><li><a href=#cmd_log_retain_time class="table-of-contents__link toc-highlight">CMD_LOG_RETAIN_TIME</a><li><a href=#cmd_decom_log_cycle_time class="table-of-contents__link toc-highlight">CMD_DECOM_LOG_CYCLE_TIME</a><li><a href=#cmd_decom_log_cycle_size class="table-of-contents__link toc-highlight">CMD_DECOM_LOG_CYCLE_SIZE</a><li><a href=#cmd_decom_log_retain_time class="table-of-contents__link toc-highlight">CMD_DECOM_LOG_RETAIN_TIME</a><li><a href=#tlm_buffer_depth class="table-of-contents__link toc-highlight">TLM_BUFFER_DEPTH</a><li><a href=#tlm_log_cycle_time class="table-of-contents__link toc-highlight">TLM_LOG_CYCLE_TIME</a><li><a href=#tlm_log_cycle_size class="table-of-contents__link toc-highlight">TLM_LOG_CYCLE_SIZE</a><li><a href=#tlm_log_retain_time class="table-of-contents__link toc-highlight">TLM_LOG_RETAIN_TIME</a><li><a href=#tlm_decom_log_cycle_time class="table-of-contents__link toc-highlight">TLM_DECOM_LOG_CYCLE_TIME</a><li><a href=#tlm_decom_log_cycle_size class="table-of-contents__link toc-highlight">TLM_DECOM_LOG_CYCLE_SIZE</a><li><a href=#tlm_decom_log_retain_time class="table-of-contents__link toc-highlight">TLM_DECOM_LOG_RETAIN_TIME</a><li><a href=#reduced_minute_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_MINUTE_LOG_RETAIN_TIME</a><li><a href=#reduced_hour_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_HOUR_LOG_RETAIN_TIME</a><li><a href=#reduced_day_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_DAY_LOG_RETAIN_TIME</a><li><a href=#log_retain_time class="table-of-contents__link toc-highlight">LOG_RETAIN_TIME</a><li><a href=#reduced_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_LOG_RETAIN_TIME</a><li><a href=#cleanup_poll_time class="table-of-contents__link toc-highlight">CLEANUP_POLL_TIME</a><li><a href=#reducer_disable class="table-of-contents__link toc-highlight">REDUCER_DISABLE</a><li><a href=#reducer_max_cpu_utilization class="table-of-contents__link toc-highlight">REDUCER_MAX_CPU_UTILIZATION</a><li><a href=#target_microservice class="table-of-contents__link toc-highlight">TARGET_MICROSERVICE</a><li><a href=#packet class="table-of-contents__link toc-highlight">PACKET</a><li><a href=#disable_erb class="table-of-contents__link toc-highlight">DISABLE_ERB</a><li><a href=#shard-1 class="table-of-contents__link toc-highlight">SHARD</a></ul><li><a href=#microservice-1 class="table-of-contents__link toc-highlight">MICROSERVICE</a><li><a href=#microservice-modifiers class="table-of-contents__link toc-highlight">MICROSERVICE Modifiers</a><ul><li><a href=#env-1 class="table-of-contents__link toc-highlight">ENV</a><li><a href=#work_dir-1 class="table-of-contents__link toc-highlight">WORK_DIR</a><li><a href=#port-1 class="table-of-contents__link toc-highlight">PORT</a><li><a href=#topic class="table-of-contents__link toc-highlight">TOPIC</a><li><a href=#target_name class="table-of-contents__link toc-highlight">TARGET_NAME</a><li><a href=#cmd-1 class="table-of-contents__link toc-highlight">CMD</a><li><a href=#option-1 class="table-of-contents__link toc-highlight">OPTION</a><li><a href=#container-1 class="table-of-contents__link toc-highlight">CONTAINER</a><li><a href=#secret-1 class="table-of-contents__link toc-highlight">SECRET</a><li><a href=#route_prefix-1 class="table-of-contents__link toc-highlight">ROUTE_PREFIX</a><li><a href=#disable_erb-1 class="table-of-contents__link toc-highlight">DISABLE_ERB</a><li><a href=#shard-2 class="table-of-contents__link toc-highlight">SHARD</a></ul><li><a href=#tool-1 class="table-of-contents__link toc-highlight">TOOL</a><li><a href=#tool-modifiers class="table-of-contents__link toc-highlight">TOOL Modifiers</a><ul><li><a href=#url class="table-of-contents__link toc-highlight">URL</a><li><a href=#inline_url class="table-of-contents__link toc-highlight">INLINE_URL</a><li><a href=#window class="table-of-contents__link toc-highlight">WINDOW</a><li><a href=#icon class="table-of-contents__link toc-highlight">ICON</a><li><a href=#category class="table-of-contents__link toc-highlight">CATEGORY</a><li><a href=#shown class="table-of-contents__link toc-highlight">SHOWN</a><li><a href=#position class="table-of-contents__link toc-highlight">POSITION</a><li><a href=#disable_erb-2 class="table-of-contents__link toc-highlight">DISABLE_ERB</a><li><a href=#import_map_item class="table-of-contents__link toc-highlight">IMPORT_MAP_ITEM</a></ul><li><a href=#widget class="table-of-contents__link toc-highlight">WIDGET</a><li><a href=#widget-modifiers class="table-of-contents__link toc-highlight">WIDGET Modifiers</a><ul><li><a href=#disable_erb-3 class="table-of-contents__link toc-highlight">DISABLE_ERB</a></ul></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 © 2024 OpenC3, Inc.</div></div></div></footer></div>
359
+ <table><thead><tr><th>Parameter<th>Description<th>Required<tbody><tr><td>Regex<td>Regex to match against filenames. If match, then no ERB processing<td>False</table></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/configuration/plugins.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/configuration/format><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>File Format</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/target><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Targets</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=#introduction class="table-of-contents__link toc-highlight">Introduction</a><li><a href=#concepts class="table-of-contents__link toc-highlight">Concepts</a><ul><li><a href=#target class="table-of-contents__link toc-highlight">Target</a><li><a href=#interface class="table-of-contents__link toc-highlight">Interface</a><li><a href=#router class="table-of-contents__link toc-highlight">Router</a><li><a href=#tool class="table-of-contents__link toc-highlight">Tool</a><li><a href=#microservice class="table-of-contents__link toc-highlight">Microservice</a></ul><li><a href=#plugin-directory-structure class="table-of-contents__link toc-highlight">Plugin Directory Structure</a><li><a href=#plugintxt-configuration-file class="table-of-contents__link toc-highlight">plugin.txt Configuration File</a><li><a href=#variable class="table-of-contents__link toc-highlight">VARIABLE</a><li><a href=#needs_dependencies class="table-of-contents__link toc-highlight">NEEDS_DEPENDENCIES</a><li><a href=#interface-1 class="table-of-contents__link toc-highlight">INTERFACE</a><li><a href=#interface-modifiers class="table-of-contents__link toc-highlight">INTERFACE Modifiers</a><ul><li><a href=#map_target class="table-of-contents__link toc-highlight">MAP_TARGET</a><li><a href=#map_cmd_target class="table-of-contents__link toc-highlight">MAP_CMD_TARGET</a><li><a href=#map_tlm_target class="table-of-contents__link toc-highlight">MAP_TLM_TARGET</a><li><a href=#dont_connect class="table-of-contents__link toc-highlight">DONT_CONNECT</a><li><a href=#dont_reconnect class="table-of-contents__link toc-highlight">DONT_RECONNECT</a><li><a href=#reconnect_delay class="table-of-contents__link toc-highlight">RECONNECT_DELAY</a><li><a href=#disable_disconnect class="table-of-contents__link toc-highlight">DISABLE_DISCONNECT</a><li><a href=#log_raw class="table-of-contents__link toc-highlight">LOG_RAW</a><li><a href=#log_stream class="table-of-contents__link toc-highlight">LOG_STREAM</a><li><a href=#protocol class="table-of-contents__link toc-highlight">PROTOCOL</a><li><a href=#option class="table-of-contents__link toc-highlight">OPTION</a><li><a href=#secret class="table-of-contents__link toc-highlight">SECRET</a><li><a href=#env class="table-of-contents__link toc-highlight">ENV</a><li><a href=#work_dir class="table-of-contents__link toc-highlight">WORK_DIR</a><li><a href=#port class="table-of-contents__link toc-highlight">PORT</a><li><a href=#cmd class="table-of-contents__link toc-highlight">CMD</a><li><a href=#container class="table-of-contents__link toc-highlight">CONTAINER</a><li><a href=#route_prefix class="table-of-contents__link toc-highlight">ROUTE_PREFIX</a><li><a href=#shard class="table-of-contents__link toc-highlight">SHARD</a></ul><li><a href=#router-1 class="table-of-contents__link toc-highlight">ROUTER</a><li><a href=#target-1 class="table-of-contents__link toc-highlight">TARGET</a><li><a href=#target-modifiers class="table-of-contents__link toc-highlight">TARGET Modifiers</a><ul><li><a href=#cmd_buffer_depth class="table-of-contents__link toc-highlight">CMD_BUFFER_DEPTH</a><li><a href=#cmd_log_cycle_time class="table-of-contents__link toc-highlight">CMD_LOG_CYCLE_TIME</a><li><a href=#cmd_log_cycle_size class="table-of-contents__link toc-highlight">CMD_LOG_CYCLE_SIZE</a><li><a href=#cmd_log_retain_time class="table-of-contents__link toc-highlight">CMD_LOG_RETAIN_TIME</a><li><a href=#cmd_decom_log_cycle_time class="table-of-contents__link toc-highlight">CMD_DECOM_LOG_CYCLE_TIME</a><li><a href=#cmd_decom_log_cycle_size class="table-of-contents__link toc-highlight">CMD_DECOM_LOG_CYCLE_SIZE</a><li><a href=#cmd_decom_log_retain_time class="table-of-contents__link toc-highlight">CMD_DECOM_LOG_RETAIN_TIME</a><li><a href=#tlm_buffer_depth class="table-of-contents__link toc-highlight">TLM_BUFFER_DEPTH</a><li><a href=#tlm_log_cycle_time class="table-of-contents__link toc-highlight">TLM_LOG_CYCLE_TIME</a><li><a href=#tlm_log_cycle_size class="table-of-contents__link toc-highlight">TLM_LOG_CYCLE_SIZE</a><li><a href=#tlm_log_retain_time class="table-of-contents__link toc-highlight">TLM_LOG_RETAIN_TIME</a><li><a href=#tlm_decom_log_cycle_time class="table-of-contents__link toc-highlight">TLM_DECOM_LOG_CYCLE_TIME</a><li><a href=#tlm_decom_log_cycle_size class="table-of-contents__link toc-highlight">TLM_DECOM_LOG_CYCLE_SIZE</a><li><a href=#tlm_decom_log_retain_time class="table-of-contents__link toc-highlight">TLM_DECOM_LOG_RETAIN_TIME</a><li><a href=#reduced_minute_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_MINUTE_LOG_RETAIN_TIME</a><li><a href=#reduced_hour_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_HOUR_LOG_RETAIN_TIME</a><li><a href=#reduced_day_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_DAY_LOG_RETAIN_TIME</a><li><a href=#log_retain_time class="table-of-contents__link toc-highlight">LOG_RETAIN_TIME</a><li><a href=#reduced_log_retain_time class="table-of-contents__link toc-highlight">REDUCED_LOG_RETAIN_TIME</a><li><a href=#cleanup_poll_time class="table-of-contents__link toc-highlight">CLEANUP_POLL_TIME</a><li><a href=#reducer_disable class="table-of-contents__link toc-highlight">REDUCER_DISABLE</a><li><a href=#reducer_max_cpu_utilization class="table-of-contents__link toc-highlight">REDUCER_MAX_CPU_UTILIZATION</a><li><a href=#target_microservice class="table-of-contents__link toc-highlight">TARGET_MICROSERVICE</a><li><a href=#packet class="table-of-contents__link toc-highlight">PACKET</a><li><a href=#disable_erb class="table-of-contents__link toc-highlight">DISABLE_ERB</a><li><a href=#shard-1 class="table-of-contents__link toc-highlight">SHARD</a></ul><li><a href=#microservice-1 class="table-of-contents__link toc-highlight">MICROSERVICE</a><li><a href=#microservice-modifiers class="table-of-contents__link toc-highlight">MICROSERVICE Modifiers</a><ul><li><a href=#env-1 class="table-of-contents__link toc-highlight">ENV</a><li><a href=#work_dir-1 class="table-of-contents__link toc-highlight">WORK_DIR</a><li><a href=#port-1 class="table-of-contents__link toc-highlight">PORT</a><li><a href=#topic class="table-of-contents__link toc-highlight">TOPIC</a><li><a href=#target_name class="table-of-contents__link toc-highlight">TARGET_NAME</a><li><a href=#cmd-1 class="table-of-contents__link toc-highlight">CMD</a><li><a href=#option-1 class="table-of-contents__link toc-highlight">OPTION</a><li><a href=#container-1 class="table-of-contents__link toc-highlight">CONTAINER</a><li><a href=#secret-1 class="table-of-contents__link toc-highlight">SECRET</a><li><a href=#route_prefix-1 class="table-of-contents__link toc-highlight">ROUTE_PREFIX</a><li><a href=#disable_erb-1 class="table-of-contents__link toc-highlight">DISABLE_ERB</a><li><a href=#shard-2 class="table-of-contents__link toc-highlight">SHARD</a></ul><li><a href=#tool-1 class="table-of-contents__link toc-highlight">TOOL</a><li><a href=#tool-modifiers class="table-of-contents__link toc-highlight">TOOL Modifiers</a><ul><li><a href=#url class="table-of-contents__link toc-highlight">URL</a><li><a href=#inline_url class="table-of-contents__link toc-highlight">INLINE_URL</a><li><a href=#window class="table-of-contents__link toc-highlight">WINDOW</a><li><a href=#icon class="table-of-contents__link toc-highlight">ICON</a><li><a href=#category class="table-of-contents__link toc-highlight">CATEGORY</a><li><a href=#shown class="table-of-contents__link toc-highlight">SHOWN</a><li><a href=#position class="table-of-contents__link toc-highlight">POSITION</a><li><a href=#disable_erb-2 class="table-of-contents__link toc-highlight">DISABLE_ERB</a><li><a href=#import_map_item class="table-of-contents__link toc-highlight">IMPORT_MAP_ITEM</a></ul><li><a href=#widget class="table-of-contents__link toc-highlight">WIDGET</a><li><a href=#widget-modifiers class="table-of-contents__link toc-highlight">WIDGET Modifiers</a><ul><li><a href=#disable_erb-3 class="table-of-contents__link toc-highlight">DISABLE_ERB</a></ul></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-configuration/protocols" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Protocols | 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/configuration/protocols><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="Protocols | OpenC3 Docs"><meta data-rh=true name=description content="Built-in COSMOS protocols including how to create one"><meta data-rh=true property=og:description content="Built-in COSMOS protocols including how to create one"><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/configuration/protocols><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/protocols hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/protocols hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>Protocols</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>Protocols</h1></header><p>Protocols process data on behalf of an <a href=/tools/staticdocs/docs/configuration/interfaces>Interface</a>. They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol.</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-configuration/protocols" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Protocols | 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/configuration/protocols><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="Protocols | OpenC3 Docs"><meta data-rh=true name=description content="Built-in COSMOS protocols including how to create one"><meta data-rh=true property=og:description content="Built-in COSMOS protocols including how to create one"><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/configuration/protocols><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/protocols hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration/protocols hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.91337aca.js defer></script><script src=/tools/staticdocs/assets/js/main.ed84fc7e.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><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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li 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/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" 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/configuration/format>File Format</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/configuration/plugins>Plugins</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/configuration/target>Targets</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/configuration/command>Commands</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/configuration/telemetry>Telemetry</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/configuration/interfaces>Interfaces</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/configuration/protocols>Protocols</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/configuration/accessors>Accessors</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/configuration/table>Tables</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/configuration/telemetry-screens>Screens</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/configuration/ssl-tls>SSL-TLS</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/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/configuration><span itemprop=name>Configuration</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>Protocols</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>Protocols</h1></header><p>Protocols process data on behalf of an <a href=/tools/staticdocs/docs/configuration/interfaces>Interface</a>. They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol.</p>
2
2
  <div class="theme-admonition theme-admonition-info admonition_IZjC alert alert--info"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg></span>Protocol Run Order</div><div class=admonitionContent_bl22><p>Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first).</div></div>
3
3
  <p>Protocols are typically used to define the logic to delineate packets and manipulate data as it written to and read from Interfaces. COSMOS includes Interfaces for TCP/IP Client, TCP/IP Server, Udp Client / Server, and Serial connections. For 99% of use cases these Interfaces should not require any changes as they universally handle the low-level details of reading and writing from these types of connections. All unique behavior should now be defined in Protocols.</p>
4
4
  <p>At a minimum, any byte stream based Interface will require a Protocol to delineate packets. TCP/IP and Serial are examples of byte stream based Interfaces. A byte stream is just a simple stream of bytes and thus you need some way to know where packets begin and end within the stream.</p>
@@ -158,4 +158,4 @@
158
158
  <div class="language-python codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-python codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token keyword" style="color:rgb(127, 219, 202)">def</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">protocol_cmd</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">self</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"> cmd_name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">*</span><span class="token plain">cmd_args</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</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 comment" style="color:rgb(99, 119, 119);font-style:italic"># Default do nothing - Implemented by subclasses</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token keyword" style="color:rgb(127, 219, 202)">return</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">False</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>
159
159
  <p>The base class does nothing as this is special functionality implemented by subclasses.</p>
160
160
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=examples>Examples<a href=#examples class=hash-link aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h2>
161
- <p>Please see the linked <a href=https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/interfaces/protocols target=_blank rel="noopener noreferrer">Ruby Protocol</a> and <a href=https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/interfaces/protocols target=_blank rel="noopener noreferrer">Python Protocol</a> code for examples of the above methods in action.</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/configuration/protocols.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/configuration/interfaces><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Interfaces</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/accessors><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Accessors</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=#packet-delineation-protocols class="table-of-contents__link toc-highlight">Packet Delineation Protocols</a><ul><li><a href=#cobs-protocol class="table-of-contents__link toc-highlight">COBS Protocol</a><li><a href=#slip-protocol class="table-of-contents__link toc-highlight">SLIP Protocol</a><li><a href=#burst-protocol class="table-of-contents__link toc-highlight">Burst Protocol</a><li><a href=#fixed-protocol class="table-of-contents__link toc-highlight">Fixed Protocol</a><li><a href=#length-protocol class="table-of-contents__link toc-highlight">Length Protocol</a><li><a href=#terminated-protocol class="table-of-contents__link toc-highlight">Terminated Protocol</a><li><a href=#gems-protocol-enterprise class="table-of-contents__link toc-highlight">GEMS Protocol (Enterprise)</a><li><a href=#ccsds-cltu-protocol-enterprise class="table-of-contents__link toc-highlight">CCSDS CLTU Protocol (Enterprise)</a><li><a href=#ccsds-tctf-protocol-enterprise class="table-of-contents__link toc-highlight">CCSDS TCTF Protocol (Enterprise)</a><li><a href=#ccsds-tmtf-protocol-enterprise class="table-of-contents__link toc-highlight">CCSDS TMTF Protocol (Enterprise)</a><li><a href=#template-protocol-deprecated class="table-of-contents__link toc-highlight">Template Protocol (Deprecated)</a><li><a href=#preidentified-protocol-internal class="table-of-contents__link toc-highlight">Preidentified Protocol (Internal)</a></ul><li><a href=#helper-protocols class="table-of-contents__link toc-highlight">Helper Protocols</a><ul><li><a href=#cmdresponse-protocol class="table-of-contents__link toc-highlight">CmdResponse Protocol</a><ul><li><a href=#packet-definitions class="table-of-contents__link toc-highlight">Packet Definitions</a></ul><li><a href=#crc-protocol class="table-of-contents__link toc-highlight">CRC Protocol</a><li><a href=#ignore-packet-protocol class="table-of-contents__link toc-highlight">Ignore Packet Protocol</a></ul><li><a href=#custom-protocols class="table-of-contents__link toc-highlight">Custom Protocols</a><li><a href=#method-discussions class="table-of-contents__link toc-highlight">Method discussions</a><ul><li><a href=#initialize-or-init class="table-of-contents__link toc-highlight">initialize or <strong>init</strong></a><li><a href=#reset class="table-of-contents__link toc-highlight">reset</a><li><a href=#connect_reset class="table-of-contents__link toc-highlight">connect_reset</a><li><a href=#disconnect_reset class="table-of-contents__link toc-highlight">disconnect_reset</a><li><a href=#read_data class="table-of-contents__link toc-highlight">read_data</a><li><a href=#read_packet class="table-of-contents__link toc-highlight">read_packet</a><li><a href=#write_packet class="table-of-contents__link toc-highlight">write_packet</a><li><a href=#write_data class="table-of-contents__link toc-highlight">write_data</a><li><a href=#post_write_interface class="table-of-contents__link toc-highlight">post_write_interface</a><li><a href=#protocol_cmd class="table-of-contents__link toc-highlight">protocol_cmd</a></ul><li><a href=#examples class="table-of-contents__link toc-highlight">Examples</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 © 2024 OpenC3, Inc.</div></div></div></footer></div>
161
+ <p>Please see the linked <a href=https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/interfaces/protocols target=_blank rel="noopener noreferrer">Ruby Protocol</a> and <a href=https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/interfaces/protocols target=_blank rel="noopener noreferrer">Python Protocol</a> code for examples of the above methods in action.</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/configuration/protocols.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/configuration/interfaces><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Interfaces</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/accessors><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Accessors</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=#packet-delineation-protocols class="table-of-contents__link toc-highlight">Packet Delineation Protocols</a><ul><li><a href=#cobs-protocol class="table-of-contents__link toc-highlight">COBS Protocol</a><li><a href=#slip-protocol class="table-of-contents__link toc-highlight">SLIP Protocol</a><li><a href=#burst-protocol class="table-of-contents__link toc-highlight">Burst Protocol</a><li><a href=#fixed-protocol class="table-of-contents__link toc-highlight">Fixed Protocol</a><li><a href=#length-protocol class="table-of-contents__link toc-highlight">Length Protocol</a><li><a href=#terminated-protocol class="table-of-contents__link toc-highlight">Terminated Protocol</a><li><a href=#gems-protocol-enterprise class="table-of-contents__link toc-highlight">GEMS Protocol (Enterprise)</a><li><a href=#ccsds-cltu-protocol-enterprise class="table-of-contents__link toc-highlight">CCSDS CLTU Protocol (Enterprise)</a><li><a href=#ccsds-tctf-protocol-enterprise class="table-of-contents__link toc-highlight">CCSDS TCTF Protocol (Enterprise)</a><li><a href=#ccsds-tmtf-protocol-enterprise class="table-of-contents__link toc-highlight">CCSDS TMTF Protocol (Enterprise)</a><li><a href=#template-protocol-deprecated class="table-of-contents__link toc-highlight">Template Protocol (Deprecated)</a><li><a href=#preidentified-protocol-internal class="table-of-contents__link toc-highlight">Preidentified Protocol (Internal)</a></ul><li><a href=#helper-protocols class="table-of-contents__link toc-highlight">Helper Protocols</a><ul><li><a href=#cmdresponse-protocol class="table-of-contents__link toc-highlight">CmdResponse Protocol</a><ul><li><a href=#packet-definitions class="table-of-contents__link toc-highlight">Packet Definitions</a></ul><li><a href=#crc-protocol class="table-of-contents__link toc-highlight">CRC Protocol</a><li><a href=#ignore-packet-protocol class="table-of-contents__link toc-highlight">Ignore Packet Protocol</a></ul><li><a href=#custom-protocols class="table-of-contents__link toc-highlight">Custom Protocols</a><li><a href=#method-discussions class="table-of-contents__link toc-highlight">Method discussions</a><ul><li><a href=#initialize-or-init class="table-of-contents__link toc-highlight">initialize or <strong>init</strong></a><li><a href=#reset class="table-of-contents__link toc-highlight">reset</a><li><a href=#connect_reset class="table-of-contents__link toc-highlight">connect_reset</a><li><a href=#disconnect_reset class="table-of-contents__link toc-highlight">disconnect_reset</a><li><a href=#read_data class="table-of-contents__link toc-highlight">read_data</a><li><a href=#read_packet class="table-of-contents__link toc-highlight">read_packet</a><li><a href=#write_packet class="table-of-contents__link toc-highlight">write_packet</a><li><a href=#write_data class="table-of-contents__link toc-highlight">write_data</a><li><a href=#post_write_interface class="table-of-contents__link toc-highlight">post_write_interface</a><li><a href=#protocol_cmd class="table-of-contents__link toc-highlight">protocol_cmd</a></ul><li><a href=#examples class="table-of-contents__link toc-highlight">Examples</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>