openc3-cosmos-tool-docs 6.5.1 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. checksums.yaml +4 -4
  2. data/tools/staticdocs/404.html +1 -1
  3. data/tools/staticdocs/assets/css/{styles.1a361da6.css → styles.3a94737c.css} +1 -1
  4. data/tools/staticdocs/assets/js/019369f3.aee00d57.js +1 -0
  5. data/tools/staticdocs/assets/js/058ffc22.4303e204.js +1 -0
  6. data/tools/staticdocs/assets/js/0686a885.be701f94.js +1 -0
  7. data/tools/staticdocs/assets/js/{078dbab0.babf69ab.js → 078dbab0.e6fc6dd3.js} +1 -1
  8. data/tools/staticdocs/assets/js/0f5d161c.a79a923a.js +1 -0
  9. data/tools/staticdocs/assets/js/{0ff569c9.14ed0a79.js → 0ff569c9.9c143528.js} +1 -1
  10. data/tools/staticdocs/assets/js/103cc3be.37e9dfb2.js +1 -0
  11. data/tools/staticdocs/assets/js/13196248.21d79b91.js +1 -0
  12. data/tools/staticdocs/assets/js/13c1b4e4.91618ec1.js +1 -0
  13. data/tools/staticdocs/assets/js/1836.1d45ff5f.js +1 -0
  14. data/tools/staticdocs/assets/js/1e02e6a3.600ebf22.js +1 -0
  15. data/tools/staticdocs/assets/js/2047b354.50c117b3.js +1 -0
  16. data/tools/staticdocs/assets/js/2124.c8b95b39.js +1 -0
  17. data/tools/staticdocs/assets/js/22b3ac48.cfbc9c82.js +1 -0
  18. data/tools/staticdocs/assets/js/2368.071909f8.js +4 -0
  19. data/tools/staticdocs/assets/js/2bb7bf90.44f29c21.js +1 -0
  20. data/tools/staticdocs/assets/js/2c15ad40.d1ffefde.js +1 -0
  21. data/tools/staticdocs/assets/js/35398c5c.431a9dcc.js +1 -0
  22. data/tools/staticdocs/assets/js/{3687.0a024e4c.js → 3687.0184c4bd.js} +2 -2
  23. data/tools/staticdocs/assets/js/3dd7ef3b.bd26614f.js +1 -0
  24. data/tools/staticdocs/assets/js/40365d27.19107461.js +1 -0
  25. data/tools/staticdocs/assets/js/411898ad.91b73850.js +1 -0
  26. data/tools/staticdocs/assets/js/42170351.082207e5.js +1 -0
  27. data/tools/staticdocs/assets/js/43652efd.f076a420.js +1 -0
  28. data/tools/staticdocs/assets/js/5074.11914a81.js +1 -0
  29. data/tools/staticdocs/assets/js/54d0d530.9ad6d6ad.js +1 -0
  30. data/tools/staticdocs/assets/js/59ed27a4.e9ab6f6b.js +1 -0
  31. data/tools/staticdocs/assets/js/5b233ba7.085f41a9.js +1 -0
  32. data/tools/staticdocs/assets/js/5bc719f6.2b490409.js +1 -0
  33. data/tools/staticdocs/assets/js/5c6ce5ec.1cf87b97.js +1 -0
  34. data/tools/staticdocs/assets/js/5e3ed378.92ac2561.js +1 -0
  35. data/tools/staticdocs/assets/js/5fe211ef.aa0ccb3b.js +1 -0
  36. data/tools/staticdocs/assets/js/{630e5448.699a9dec.js → 630e5448.db32449b.js} +1 -1
  37. data/tools/staticdocs/assets/js/6831b732.bb545e9e.js +1 -0
  38. data/tools/staticdocs/assets/js/696b4199.f976483f.js +1 -0
  39. data/tools/staticdocs/assets/js/6b210247.71cd015b.js +1 -0
  40. data/tools/staticdocs/assets/js/6b65133b.9c1a2ea5.js +1 -0
  41. data/tools/staticdocs/assets/js/6f92e431.acc724a9.js +1 -0
  42. data/tools/staticdocs/assets/js/72c6d8a8.f72c7c50.js +1 -0
  43. data/tools/staticdocs/assets/js/75e64983.f1731ba5.js +1 -0
  44. data/tools/staticdocs/assets/js/80c97f38.b5528d51.js +1 -0
  45. data/tools/staticdocs/assets/js/867640d5.a5ebb584.js +1 -0
  46. data/tools/staticdocs/assets/js/89e76475.6f1bd0e6.js +1 -0
  47. data/tools/staticdocs/assets/js/8b939c74.bb6669b6.js +1 -0
  48. data/tools/staticdocs/assets/js/8f7843ee.56210187.js +1 -0
  49. data/tools/staticdocs/assets/js/9424f0b3.4d21b90c.js +1 -0
  50. data/tools/staticdocs/assets/js/964eb012.7b1d7e91.js +1 -0
  51. data/tools/staticdocs/assets/js/97535711.ba627d0c.js +1 -0
  52. data/tools/staticdocs/assets/js/99581c43.f64fd445.js +1 -0
  53. data/tools/staticdocs/assets/js/9d6e81d0.c58de1b0.js +1 -0
  54. data/tools/staticdocs/assets/js/{9fb6059a.91edfcba.js → 9fb6059a.f48e20dc.js} +1 -1
  55. data/tools/staticdocs/assets/js/a677c089.6178ef83.js +1 -0
  56. data/tools/staticdocs/assets/js/a9987364.0d275743.js +1 -0
  57. data/tools/staticdocs/assets/js/a9b2dc27.b072fff7.js +1 -0
  58. data/tools/staticdocs/assets/js/aa6b6c1b.a3594c17.js +1 -0
  59. data/tools/staticdocs/assets/js/b062d239.96a0a741.js +1 -0
  60. data/tools/staticdocs/assets/js/b38a6d74.9f9ebdb2.js +1 -0
  61. data/tools/staticdocs/assets/js/b4596165.8f48aec1.js +1 -0
  62. data/tools/staticdocs/assets/js/b6d70f94.16ef1b69.js +1 -0
  63. data/tools/staticdocs/assets/js/b9f60ba6.df189198.js +1 -0
  64. data/tools/staticdocs/assets/js/bd0034eb.005cb7d6.js +1 -0
  65. data/tools/staticdocs/assets/js/c24eae19.052a322f.js +1 -0
  66. data/tools/staticdocs/assets/js/cb8c3f08.989b1a52.js +1 -0
  67. data/tools/staticdocs/assets/js/cd879be4.3ca90941.js +1 -0
  68. data/tools/staticdocs/assets/js/cf1c01b8.421b8b4b.js +1 -0
  69. data/tools/staticdocs/assets/js/d1b923aa.5b892530.js +1 -0
  70. data/tools/staticdocs/assets/js/d1bfc316.0670c343.js +1 -0
  71. data/tools/staticdocs/assets/js/{d24bf9b6.ea1e95ab.js → d24bf9b6.2db3594a.js} +1 -1
  72. data/tools/staticdocs/assets/js/d57a4b5d.dd2f0a5d.js +1 -0
  73. data/tools/staticdocs/assets/js/d5d77c37.3fe16a67.js +1 -0
  74. data/tools/staticdocs/assets/js/{d66bf9c0.8018f0a0.js → d66bf9c0.4216f492.js} +1 -1
  75. data/tools/staticdocs/assets/js/d8ca4191.0bdab1a3.js +1 -0
  76. data/tools/staticdocs/assets/js/d9b92eba.3909c726.js +1 -0
  77. data/tools/staticdocs/assets/js/db8fa1d0.416dbe98.js +1 -0
  78. data/tools/staticdocs/assets/js/dbe31111.da0777f1.js +1 -0
  79. data/tools/staticdocs/assets/js/dc5f7beb.bc79c9f5.js +1 -0
  80. data/tools/staticdocs/assets/js/e501b0d1.732c5ad4.js +1 -0
  81. data/tools/staticdocs/assets/js/f15615f1.6a937fc3.js +1 -0
  82. data/tools/staticdocs/assets/js/{f75a5f33.d3a97a44.js → f75a5f33.cdf29c46.js} +1 -1
  83. data/tools/staticdocs/assets/js/fd886806.833fb1cc.js +1 -0
  84. data/tools/staticdocs/assets/js/main.8b65f76b.js +38 -0
  85. data/tools/staticdocs/assets/js/runtime~main.ff5e0de8.js +1 -0
  86. data/tools/staticdocs/docs/configuration/accessors.html +2 -2
  87. data/tools/staticdocs/docs/configuration/command.html +18 -17
  88. data/tools/staticdocs/docs/configuration/conversions.html +22 -65
  89. data/tools/staticdocs/docs/configuration/format.html +1 -1
  90. data/tools/staticdocs/docs/configuration/interfaces.html +22 -47
  91. data/tools/staticdocs/docs/configuration/limits-response.html +1 -1
  92. data/tools/staticdocs/docs/configuration/plugins.html +7 -25
  93. data/tools/staticdocs/docs/configuration/processors.html +3 -9
  94. data/tools/staticdocs/docs/configuration/protocols.html +46 -54
  95. data/tools/staticdocs/docs/configuration/ssl-tls.html +1 -1
  96. data/tools/staticdocs/docs/configuration/table.html +7 -11
  97. data/tools/staticdocs/docs/configuration/target.html +1 -1
  98. data/tools/staticdocs/docs/configuration/telemetry-screens.html +2 -2
  99. data/tools/staticdocs/docs/configuration/telemetry.html +12 -25
  100. data/tools/staticdocs/docs/configuration.html +1 -1
  101. data/tools/staticdocs/docs/development/curl.html +1 -1
  102. data/tools/staticdocs/docs/development/developing.html +3 -3
  103. data/tools/staticdocs/docs/development/json-api.html +1 -1
  104. data/tools/staticdocs/docs/development/log-structure.html +1 -1
  105. data/tools/staticdocs/docs/development/roadmap.html +1 -1
  106. data/tools/staticdocs/docs/development/streaming-api.html +2 -2
  107. data/tools/staticdocs/docs/development/testing.html +1 -1
  108. data/tools/staticdocs/docs/development.html +2 -2
  109. data/tools/staticdocs/docs/getting-started/cli.html +9 -4
  110. data/tools/staticdocs/docs/getting-started/generators.html +2 -2
  111. data/tools/staticdocs/docs/getting-started/gettingstarted.html +4 -4
  112. data/tools/staticdocs/docs/getting-started/installation.html +4 -6
  113. data/tools/staticdocs/docs/getting-started/key-concepts.html +1 -1
  114. data/tools/staticdocs/docs/getting-started/podman.html +7 -2
  115. data/tools/staticdocs/docs/getting-started/requirements.html +1 -1
  116. data/tools/staticdocs/docs/getting-started/upgrading.html +27 -15
  117. data/tools/staticdocs/docs/getting-started.html +1 -1
  118. data/tools/staticdocs/docs/guides/bridges.html +2 -2
  119. data/tools/staticdocs/docs/guides/cfs.html +3 -3
  120. data/tools/staticdocs/docs/guides/custom-widgets.html +2 -2
  121. data/tools/staticdocs/docs/guides/dynamic-packets.html +2 -2
  122. data/tools/staticdocs/docs/guides/exposing-microservices.html +8 -8
  123. data/tools/staticdocs/docs/guides/little-endian-bitfields.html +2 -2
  124. data/tools/staticdocs/docs/guides/local-mode.html +2 -2
  125. data/tools/staticdocs/docs/guides/logging.html +2 -2
  126. data/tools/staticdocs/docs/guides/monitoring.html +2 -2
  127. data/tools/staticdocs/docs/guides/performance.html +2 -2
  128. data/tools/staticdocs/docs/guides/raspberrypi.html +2 -2
  129. data/tools/staticdocs/docs/guides/reference-architectures.html +2 -2
  130. data/tools/staticdocs/docs/guides/script-writing.html +3 -6
  131. data/tools/staticdocs/docs/guides/scripting-api.html +377 -996
  132. data/tools/staticdocs/docs/guides/troubleshooting.html +54 -0
  133. data/tools/staticdocs/docs/guides.html +2 -2
  134. data/tools/staticdocs/docs/meta/contributing.html +1 -1
  135. data/tools/staticdocs/docs/meta/licenses.html +1 -1
  136. data/tools/staticdocs/docs/meta/philosophy.html +1 -1
  137. data/tools/staticdocs/docs/meta/xtce.html +1 -1
  138. data/tools/staticdocs/docs/meta.html +1 -1
  139. data/tools/staticdocs/docs/privacy.html +1 -1
  140. data/tools/staticdocs/docs/tools/admin.html +1 -1
  141. data/tools/staticdocs/docs/tools/autonomic.html +1 -1
  142. data/tools/staticdocs/docs/tools/bucket-explorer.html +1 -1
  143. data/tools/staticdocs/docs/tools/calendar.html +1 -1
  144. data/tools/staticdocs/docs/tools/cmd-sender.html +1 -1
  145. data/tools/staticdocs/docs/tools/cmd-tlm-server.html +3 -6
  146. data/tools/staticdocs/docs/tools/command_history.html +1 -1
  147. data/tools/staticdocs/docs/tools/data-extractor.html +1 -1
  148. data/tools/staticdocs/docs/tools/data-viewer.html +1 -1
  149. data/tools/staticdocs/docs/tools/handbooks.html +1 -1
  150. data/tools/staticdocs/docs/tools/limits-monitor.html +1 -1
  151. data/tools/staticdocs/docs/tools/packet-viewer.html +1 -1
  152. data/tools/staticdocs/docs/tools/script-runner.html +1 -1
  153. data/tools/staticdocs/docs/tools/systemhealth.html +1 -1
  154. data/tools/staticdocs/docs/tools/table-manager.html +1 -1
  155. data/tools/staticdocs/docs/tools/tlm-grapher.html +1 -1
  156. data/tools/staticdocs/docs/tools/tlm-viewer.html +1 -1
  157. data/tools/staticdocs/docs/tools.html +1 -1
  158. data/tools/staticdocs/docs.html +1 -1
  159. data/tools/staticdocs/index.html +1 -1
  160. data/tools/staticdocs/lunr-index-1754357604573.json +1 -0
  161. data/tools/staticdocs/lunr-index.json +1 -1
  162. data/tools/staticdocs/markdown-page.html +1 -1
  163. data/tools/staticdocs/search-doc-1754357604573.json +1 -0
  164. data/tools/staticdocs/search-doc.json +1 -1
  165. data/tools/staticdocs/sitemap.xml +1 -1
  166. metadata +88 -85
  167. data/tools/staticdocs/assets/js/019369f3.52424baa.js +0 -1
  168. data/tools/staticdocs/assets/js/058ffc22.82c2873e.js +0 -1
  169. data/tools/staticdocs/assets/js/0686a885.f620e3dc.js +0 -1
  170. data/tools/staticdocs/assets/js/0f5d161c.e43dd7c9.js +0 -1
  171. data/tools/staticdocs/assets/js/103cc3be.3f08893f.js +0 -1
  172. data/tools/staticdocs/assets/js/13196248.68e92816.js +0 -1
  173. data/tools/staticdocs/assets/js/13c1b4e4.b83f8041.js +0 -1
  174. data/tools/staticdocs/assets/js/1e02e6a3.7cea97a5.js +0 -1
  175. data/tools/staticdocs/assets/js/2047b354.573199a8.js +0 -1
  176. data/tools/staticdocs/assets/js/2124.545702e0.js +0 -1
  177. data/tools/staticdocs/assets/js/22b3ac48.5ab6a17a.js +0 -1
  178. data/tools/staticdocs/assets/js/2368.4443f5c4.js +0 -4
  179. data/tools/staticdocs/assets/js/2bb7bf90.882f03a1.js +0 -1
  180. data/tools/staticdocs/assets/js/2c15ad40.a56e1a40.js +0 -1
  181. data/tools/staticdocs/assets/js/35398c5c.d6cb2a82.js +0 -1
  182. data/tools/staticdocs/assets/js/3dd7ef3b.4782cafe.js +0 -1
  183. data/tools/staticdocs/assets/js/40365d27.4fe19af4.js +0 -1
  184. data/tools/staticdocs/assets/js/411898ad.63be48ce.js +0 -1
  185. data/tools/staticdocs/assets/js/42170351.49ebb70c.js +0 -1
  186. data/tools/staticdocs/assets/js/43652efd.deefbd37.js +0 -1
  187. data/tools/staticdocs/assets/js/54d0d530.97fd90e6.js +0 -1
  188. data/tools/staticdocs/assets/js/59ed27a4.6a4d4905.js +0 -1
  189. data/tools/staticdocs/assets/js/5b233ba7.169a9701.js +0 -1
  190. data/tools/staticdocs/assets/js/5bc719f6.adbdce65.js +0 -1
  191. data/tools/staticdocs/assets/js/5c6ce5ec.1827793d.js +0 -1
  192. data/tools/staticdocs/assets/js/5e3ed378.64ea5a52.js +0 -1
  193. data/tools/staticdocs/assets/js/5fe211ef.866de8e9.js +0 -1
  194. data/tools/staticdocs/assets/js/6831b732.d0e1b5a6.js +0 -1
  195. data/tools/staticdocs/assets/js/696b4199.adf3731a.js +0 -1
  196. data/tools/staticdocs/assets/js/6b210247.bb5dedd5.js +0 -1
  197. data/tools/staticdocs/assets/js/6b65133b.c36fb840.js +0 -1
  198. data/tools/staticdocs/assets/js/6f92e431.13b5aeef.js +0 -1
  199. data/tools/staticdocs/assets/js/72c6d8a8.8f66ae6e.js +0 -1
  200. data/tools/staticdocs/assets/js/75e64983.2bd986ec.js +0 -1
  201. data/tools/staticdocs/assets/js/7719.dfa27269.js +0 -1
  202. data/tools/staticdocs/assets/js/80c97f38.997e4e37.js +0 -1
  203. data/tools/staticdocs/assets/js/867640d5.9dd71bf3.js +0 -1
  204. data/tools/staticdocs/assets/js/89e76475.4d439119.js +0 -1
  205. data/tools/staticdocs/assets/js/8b939c74.5fd8e3e8.js +0 -1
  206. data/tools/staticdocs/assets/js/8f7843ee.b3358f6f.js +0 -1
  207. data/tools/staticdocs/assets/js/9424f0b3.b8d6d2bf.js +0 -1
  208. data/tools/staticdocs/assets/js/964eb012.cb76dd8a.js +0 -1
  209. data/tools/staticdocs/assets/js/97535711.c3a1a5a1.js +0 -1
  210. data/tools/staticdocs/assets/js/99581c43.c9f8e384.js +0 -1
  211. data/tools/staticdocs/assets/js/9d6e81d0.6b6404ff.js +0 -1
  212. data/tools/staticdocs/assets/js/a677c089.d33ab1ca.js +0 -1
  213. data/tools/staticdocs/assets/js/a9987364.530c9592.js +0 -1
  214. data/tools/staticdocs/assets/js/a9b2dc27.50f54e80.js +0 -1
  215. data/tools/staticdocs/assets/js/aa6b6c1b.dc1c4a62.js +0 -1
  216. data/tools/staticdocs/assets/js/b062d239.ff2df9fd.js +0 -1
  217. data/tools/staticdocs/assets/js/b38a6d74.62bc94a3.js +0 -1
  218. data/tools/staticdocs/assets/js/b4596165.7dc1e14d.js +0 -1
  219. data/tools/staticdocs/assets/js/b6d70f94.22ca3e8a.js +0 -1
  220. data/tools/staticdocs/assets/js/b9f60ba6.677e8e46.js +0 -1
  221. data/tools/staticdocs/assets/js/bd0034eb.09d6bbbc.js +0 -1
  222. data/tools/staticdocs/assets/js/c24eae19.3db158fe.js +0 -1
  223. data/tools/staticdocs/assets/js/cb8c3f08.7688d6b1.js +0 -1
  224. data/tools/staticdocs/assets/js/cd879be4.1aff15e7.js +0 -1
  225. data/tools/staticdocs/assets/js/d1b923aa.240ccf18.js +0 -1
  226. data/tools/staticdocs/assets/js/d1bfc316.5c7b9c2f.js +0 -1
  227. data/tools/staticdocs/assets/js/d57a4b5d.82790d9f.js +0 -1
  228. data/tools/staticdocs/assets/js/d5d77c37.51a1f08e.js +0 -1
  229. data/tools/staticdocs/assets/js/d8ca4191.ca5f5dde.js +0 -1
  230. data/tools/staticdocs/assets/js/d9b92eba.41086b81.js +0 -1
  231. data/tools/staticdocs/assets/js/db8fa1d0.5107d903.js +0 -1
  232. data/tools/staticdocs/assets/js/dbe31111.a7be0442.js +0 -1
  233. data/tools/staticdocs/assets/js/dc5f7beb.dfbe012c.js +0 -1
  234. data/tools/staticdocs/assets/js/e501b0d1.512e0a0b.js +0 -1
  235. data/tools/staticdocs/assets/js/f15615f1.d668576a.js +0 -1
  236. data/tools/staticdocs/assets/js/fd886806.656b4fa3.js +0 -1
  237. data/tools/staticdocs/assets/js/main.54699355.js +0 -38
  238. data/tools/staticdocs/assets/js/runtime~main.2a93017a.js +0 -1
  239. data/tools/staticdocs/lunr-index-1751323751078.json +0 -1
  240. data/tools/staticdocs/search-doc-1751323751078.json +0 -1
@@ -1,9 +1,9 @@
1
- <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/cli" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Command Line Interface | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Command Line Interface | OpenC3 Docs"><meta data-rh=true name=description content="Using openc3.sh"><meta data-rh=true property=og:description content="Using openc3.sh"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli hreflang=x-default><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started","name":"Getting Started","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli","name":"Command Line Interface","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1a361da6.css><script src=/tools/staticdocs/assets/js/runtime~main.2a93017a.js defer></script><script src=/tools/staticdocs/assets/js/main.54699355.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
1
+ <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/cli" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Command Line Interface | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Command Line Interface | OpenC3 Docs"><meta data-rh=true name=description content="Using openc3.sh"><meta data-rh=true property=og:description content="Using openc3.sh"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli hreflang=x-default><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started","name":"Getting Started","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started/cli","name":"Command Line Interface","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.3a94737c.css><script src=/tools/staticdocs/assets/js/runtime~main.ff5e0de8.js defer></script><script src=/tools/staticdocs/assets/js/main.8b65f76b.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
2
2
  <symbol id=theme-svg-external-link viewBox="0 0 24 24"><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"/></symbol>
3
3
  </defs></svg>
4
4
  <script>!function(){var t="dark",e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",e||t),document.documentElement.setAttribute("data-theme-choice",e||t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left 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="theme-layout-navbar-right 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="theme-layout-main main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/key-concepts>Key Concepts</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/installation>Installation</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/gettingstarted>Getting Started</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/upgrading>Upgrading</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/getting-started/cli>Command Line Interface</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/generators>Code Generators</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/podman>Podman</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/requirements>Requirements and Design</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Expand sidebar category 'Development'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs><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 class=breadcrumbs__item><a class=breadcrumbs__link href=/tools/staticdocs/docs/getting-started><span>Getting Started</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Command Line Interface</span></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Command Line Interface</h1></header><p>The COSMOS Command Line Interface is <code>openc3.sh</code> and <code>openc3.bat</code> which are included in the COSMOS <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">project</a> (more about <a href=/tools/staticdocs/docs/getting-started/key-concepts#projects>projects</a>).</p>
5
- <p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">openc3-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available type the following:</p>
6
- <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Usage:</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">help</span><span class="token plain"> </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Displays this information</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli rake </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs rake in the local directory</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli irb </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs irb in the local directory</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli script </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Interact with scripts. Run with --help for more info.</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli validate /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain">/FILENAME.gem SCOPE variables.txt </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Validate a COSMOS plugin gem file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli load /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain">/FILENAME.gem SCOPE variables.txt </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loads a COSMOS plugin gem file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli list </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">SCOPE</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Lists installed plugins, SCOPE is DEFAULT if not given</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli generate TYPE OPTIONS </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Generate various COSMOS entities</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> OPTIONS: </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--ruby</span><span class="token plain"> or </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--python</span><span class="token plain"> is required to specify the language </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> the generated code unless OPENC3_LANGUAGE is </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridge CONFIG_FILENAME </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run COSMOS host bridge</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridgegem gem_name </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable1</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value1 </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable2</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value2 </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs bridge using gem bridge.txt</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridgesetup CONFIG_FILENAME </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Create a default config file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli pkginstall PKGFILENAME SCOPE </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Install loaded package (Ruby gem or python package)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli pkguninstall PKGFILENAME SCOPE </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Uninstall loaded package (Ruby gem or python package)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli rubysloc </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># DEPRECATED: Please use scc (https://github.com/boyter/scc)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli xtce_converter </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Convert to and from the XTCE format. Run with --help for more info.</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli cstol_converter </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Converts CSTOL files (.prc) to COSMOS. Run with --help for more info.</span><br></span></code></pre></div></div>
5
+ <p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">cosmos-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available type the following:</p>
6
+ <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Usage:</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">help</span><span class="token plain"> </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Displays this information</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli rake </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs rake in the local directory</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli irb </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs irb in the local directory</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli script </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Interact with scripts. Run with --help for more info.</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli validate /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain">/FILENAME.gem SCOPE variables.json </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Validate a COSMOS plugin gem file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli load /</span><span class="token environment constant" style="color:rgb(130, 170, 255)">PATH</span><span class="token plain">/FILENAME.gem SCOPE plugin_hash.json </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loads a COSMOS plugin gem file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> OPTIONS: </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--variables</span><span class="token plain"> lets you pass a path to a JSON </span><span class="token function" style="color:rgb(130, 170, 255)">file</span><span class="token plain"> containing your plugin</span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain">'s variables</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli list </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">SCOPE</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Lists installed plugins, SCOPE is DEFAULT if not given</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli generate TYPE OPTIONS </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Generate various COSMOS entities</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> OPTIONS: </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--ruby</span><span class="token plain"> or </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--python</span><span class="token plain"> is required to specify the language </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> the generated code unless OPENC3_LANGUAGE is </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridge CONFIG_FILENAME </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run COSMOS host bridge</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridgegem gem_name </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable1</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value1 </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">variable2</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">value2 </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Runs bridge using gem bridge.txt</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli bridgesetup CONFIG_FILENAME </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Create a default config file</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli pkginstall PKGFILENAME SCOPE </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Install loaded package (Ruby gem or python package)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli pkguninstall PKGFILENAME SCOPE </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Uninstall loaded package (Ruby gem or python package)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli rubysloc </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># DEPRECATED: Please use scc (https://github.com/boyter/scc)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli xtce_converter </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Convert to and from the XTCE format. Run with --help for more info.</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> cli cstol_converter </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Converts CSTOL files (.prc) to COSMOS. Run with --help for more info.</span><br></span></code></pre></div></div>
7
7
  <div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>seccomp profile</div><div class=admonitionContent_bl22><p>You can safely ignore <code>WARNING: daemon is not using the default seccomp profile</code></div></div>
8
8
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=rake>Rake<a href=#rake class=hash-link aria-label="Direct link to Rake" title="Direct link to Rake">​</a></h2>
9
9
  <p>You can execute rake tasks using <code>openc3.sh cli rake</code>. The most typical usage is to generate a plugin and then build it. For example:</p>
@@ -20,11 +20,13 @@
20
20
  <p>List all the available scripts which includes all the files in every target directory. You can filter this list using bash to only include procedures, Ruby files, Python files, etc.</p>
21
21
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_API_USER</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">operator</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_API_PASSWORD</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">operator</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli script list</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">EXAMPLE/cmd_tlm/example_cmds.txt</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">EXAMPLE/cmd_tlm/example_tlm.txt</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span><br></span></code></pre></div></div>
22
22
  <h3 class="anchor anchorWithStickyNavbar_fF9Z" id=spawn>Spawn<a href=#spawn class=hash-link aria-label="Direct link to Spawn" title="Direct link to Spawn">​</a></h3>
23
- <p>The ID of the spawned script is returned. You can connect to it in Script Runner by visiting <code>http://localhost:2900/tools/scriptrunner/1</code> where the final value is the ID.</p>
23
+ <p>The ID of the spawned script is returned. You can connect to it in Script Runner by visiting <code>http://localhost:2900/tools/scriptrunner/1</code> where the final value is the ID. For available options see <code>Run</code>.</p>
24
24
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli script spawn INST/procedures/checks.rb</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">4</span><br></span></code></pre></div></div>
25
25
  <h3 class="anchor anchorWithStickyNavbar_fF9Z" id=run>Run<a href=#run class=hash-link aria-label="Direct link to Run" title="Direct link to Run">​</a></h3>
26
26
  <p>Run spawns the script and then captures the output and prints it to the shell. Note that this will not work with user input prompts so the script must be written to prevent user input. You can also pass variables to the script as shown in the CLI help.</p>
27
27
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli script run INST/procedures/stash.rb</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Filename INST/procedures/stash.rb scope DEFAULT</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.429 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Script config/DEFAULT/targets/INST/procedures/stash.rb spawned </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.796683293</span><span class="token plain"> seconds </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">ruby </span><span class="token number" style="color:rgb(247, 140, 108)">3.2</span><span class="token plain">.</span><span class="token operator file-descriptor important" style="color:rgb(127, 219, 202)">6</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.453 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Starting script: stash.rb, line_delay </span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.1</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:3</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:4</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.732 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:4</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: key1: val1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:5</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:6</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:40.936 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:6</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: key2: val2</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:7</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.039 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:7</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'val1'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'val1'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:8</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.146 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:8</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'val2'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'val2'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:9</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.256 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:9</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'["key1", "key2"]'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'["key1", "key2"]'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:10</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:11</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:12</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.556 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:12</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'{"key1"=>1, "key2"=>2}'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"key1"=>1, "key2"=>2}'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:13</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:14</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:41.763 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:14</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:15</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:16</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:17</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:18</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:42.176 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:18</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'[1, 2, [3, 4]]'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'[1, 2, [3, 4]]'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:19</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:21</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:22</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:23</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:42.587 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">stash.rb:23</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: CHECK: </span><span class="token string" style="color:rgb(173, 219, 103)">'{"one"=>1, "two"=>2, "string"=>"string"}'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">==</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"one"=>1, "two"=>2, "string"=>"string"}'</span><span class="token plain"> is TRUE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:24</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">/03/22 </span><span class="token number" style="color:rgb(247, 140, 108)">19</span><span class="token plain">:50:42.697 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Script completed: stash.rb</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST/procedures/stash.rb:0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">stopped</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">script complete</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">%</span><br></span></code></pre></div></div>
28
+ <p>You can also run Test Runner suites by passing the <code>--suite SUITE</code>, <code>--group GROUP</code>, and <code>--script SCRIPT</code> options as shown below. Pass the <code>--method</code> option to run <code>--method setup</code> or <code>--method teardown</code>. The default is <code>--method start</code>. In addition you can pass an <code>--options</code> argument to control the flags set in the Test Runner GUI. See the CLI help for more information.</p>
29
+ <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli script run INST2/procedures/my_script_suite.py </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--suite</span><span class="token plain"> MySuite </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--group</span><span class="token plain"> ExampleGroup </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--script</span><span class="token plain"> script_2</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Filename INST2/procedures/my_script_suite.py scope DEFAULT</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Filename INST2/procedures/my_script_suite.py scope</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Filename INST2/procedures/utilities/clear.py scope</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Filename INST2/procedures/my_script_suite.py scope</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:48</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:49</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:31.284707Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Script config/DEFAULT/targets/INST2/procedures/my_script_suite.py spawned </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0043256282806396484</span><span class="token plain"> seconds </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">python </span><span class="token number" style="color:rgb(247, 140, 108)">3.12</span><span class="token plain">.11 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">main, Jun </span><span class="token number" style="color:rgb(247, 140, 108)">9</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">, 08:58:11</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">GCC </span><span class="token number" style="color:rgb(247, 140, 108)">14.2</span><span class="token plain">.0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:31.310253Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Starting script: my_script_suite.py, line_delay </span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.1</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:31.310949Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">my_script_suite.py:0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: </span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:31.310253Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Starting script: my_script_suite.py, line_delay </span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.1</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Filename INST2/procedures/my_script_suite.py scope</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:21</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:31.415640Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">my_script_suite.py:21</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Running None:ExampleGroup:script_2</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:24</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:31.516645Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">my_script_suite.py:24</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: This </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">test</span><span class="token plain"> verifies requirement </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:25</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:35</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:36</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:31.822472Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">my_script_suite.py:36</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">help</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:37</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:40</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:26</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">running</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:26</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">waiting</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:26</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">waiting</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:34.129293Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">my_script_suite.py:26</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: WAIT: </span><span class="token number" style="color:rgb(247, 140, 108)">2.0</span><span class="token plain"> seconds with actual </span><span class="token function" style="color:rgb(130, 170, 255)">time</span><span class="token plain"> of </span><span class="token number" style="color:rgb(247, 140, 108)">2.001</span><span class="token plain"> seconds</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-07-31T04:45:34.131468Z </span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">SCRIPTRUNNER</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain">: Script completed: INST2/procedures/my_script_suite.py</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">At </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">INST2/procedures/my_script_suite.py:0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> state </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain">completed</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"report"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"--- Script Report ---</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Settings:</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Manual = False</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Pause on Error = False</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Continue After Error = True</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Abort After Error = False</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Loop = False</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Break Loop On Error = False</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Results:</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"2025-07-31T04:45:31.314286Z: Executing MySuite:ExampleGroup:script_2 </span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"2025-07-31T04:45:34.130958Z: ExampleGroup:script_2:PASS</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">" This test verifies requirement 2</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">" </span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"2025-07-31T04:45:34.132814Z: Completed MySuite:ExampleGroup:script_2 </span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"--- Test Summary ---</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Run Time: 2.8185291290283203</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Total Tests: 1</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Pass: 1</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Skip: 0</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> +</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Fail: 0</span><span class="token string entity" style="color:rgb(173, 219, 103)">\n</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain">,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"type"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"report"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">script complete</span><br></span></code></pre></div></div>
28
30
  <h3 class="anchor anchorWithStickyNavbar_fF9Z" id=running-since-650>Running (since 6.5.0)<a href=#running-since-650 class=hash-link aria-label="Direct link to Running (since 6.5.0)" title="Direct link to Running (since 6.5.0)">​</a></h3>
29
31
  <p>List all the running scripts. Add the --verbose option to print the raw output.</p>
30
32
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli script running</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">ID User Filename Start Time State</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">5</span><span class="token plain"> The Operator INST/procedures/collect.rb </span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-06-06T22:40:48Z paused</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token number" style="color:rgb(247, 140, 108)">4</span><span class="token plain"> The Operator INST/procedures/checks.rb </span><span class="token number" style="color:rgb(247, 140, 108)">2025</span><span class="token plain">-06-06T22:40:21Z error</span><br></span></code></pre></div></div>
@@ -37,9 +39,12 @@
37
39
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=validate>Validate<a href=#validate class=hash-link aria-label="Direct link to Validate" title="Direct link to Validate">​</a></h2>
38
40
  <p>Validate is used to validate built COSMOS plugins. It walks through the installation process without actually installing the plugin.</p>
39
41
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli validate openc3-cosmos-cfdp-1.0.0.gem</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Installing openc3-cosmos-cfdp-1.0.0.gem</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Successfully validated openc3-cosmos-cfdp-1.0.0.gem</span><br></span></code></pre></div></div>
42
+ <p>You can optionally pass it the scope to install the plugin in (for Enterprise) and the path to a JSON file containing your plugin variables. If using COSMOS Core, use <code>DEFAULT</code> for the scope. If you pass a variables file, any variables not defined in the file will take the default value (as defined in your <code>plugin.txt</code> file).</p>
40
43
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=load>Load<a href=#load class=hash-link aria-label="Direct link to Load" title="Direct link to Load">​</a></h2>
41
44
  <p>Load can load a plugin into COSMOS without using the GUI. This is useful for scripts or CI/CD pipelines.</p>
42
45
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli load openc3-cosmos-cfdp-1.0.0.gem</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Loading new plugin: openc3-cosmos-cfdp-1.0.0.gem</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"openc3-cosmos-cfdp-1.0.0.gem"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"variables"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_microservice_name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_route_prefix"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"/cfdp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_port"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"2905"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_cmd_target_name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_cmd_packet_name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_cmd_item_name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_tlm_target_name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_tlm_packet_name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"cfdp_tlm_item_name"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"source_entity_id"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"1"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"destination_entity_id"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"root_path"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"/DEFAULT/targets_modified/CFDP/tmp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"bucket"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"config"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"plugin_test_mode"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token string" style="color:rgb(173, 219, 103)">"false"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"plugin_txt_lines"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_microservice_name CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_route_prefix /cfdp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_port 2905"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_cmd_target_name CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_cmd_packet_name CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_cmd_item_name PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_tlm_target_name CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_tlm_packet_name CFDP_PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE cfdp_tlm_item_name PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE source_entity_id 1"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE destination_entity_id 2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE root_path /DEFAULT/targets_modified/CFDP/tmp"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE bucket config"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"# Set to true to enable a test configuration"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"VARIABLE plugin_test_mode </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">false</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"MICROSERVICE CFDP &lt;%= cfdp_microservice_name %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" WORK_DIR ."</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ROUTE_PREFIX &lt;%= cfdp_route_prefix %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV OPENC3_ROUTE_PREFIX &lt;%= cfdp_route_prefix %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV SECRET_KEY_BASE 324973597349867207430793759437697498769349867349674"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" PORT &lt;%= cfdp_port %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" CMD rails s -b 0.0.0.0 -p &lt;%= cfdp_port %> -e production"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" # MIB Options Follow -"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" # You will need to modify these for your mission"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION source_entity_id &lt;%= source_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION tlm_info &lt;%= cfdp_tlm_target_name %> &lt;%= cfdp_tlm_packet_name %> &lt;%= cfdp_tlm_item_name %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION destination_entity_id &lt;%= destination_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION cmd_info &lt;%= cfdp_cmd_target_name %> &lt;%= cfdp_cmd_packet_name %> &lt;%= cfdp_cmd_item_name %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION root_path &lt;%= root_path %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" &lt;% if bucket.to_s.strip != '' %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION bucket &lt;%= bucket %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" &lt;% end %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"&lt;% include_test = (plugin_test_mode.to_s.strip.downcase == </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">true</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">) %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"&lt;% if include_test %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" TARGET CFDPTEST CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" TARGET CFDPTEST CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" MICROSERVICE CFDP CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" WORK_DIR ."</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ROUTE_PREFIX /cfdp2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV OPENC3_ROUTE_PREFIX /cfdp2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" ENV SECRET_KEY_BASE 324973597349867207430793759437697498769349867349674"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" PORT 2906"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" CMD rails s -b 0.0.0.0 -p 2906 -e production"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION source_entity_id &lt;%= destination_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION tlm_info CFDP CFDP_PDU PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION destination_entity_id &lt;%= source_entity_id %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION cmd_info CFDP CFDP_PDU PDU"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION root_path &lt;%= root_path %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" &lt;% if bucket.to_s.strip != '' %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" OPTION bucket &lt;%= bucket %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" &lt;% end %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" &lt;% test_host = ENV['KUBERNETES_SERVICE_HOST'] ? (scope.to_s.downcase + </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">-interface-cfdp2-int-service</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">) : </span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)">openc3-operator</span><span class="token string entity" style="color:rgb(173, 219, 103)">\"</span><span class="token string" style="color:rgb(173, 219, 103)"> %>"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" INTERFACE CFDP_INT tcpip_client_interface.rb &lt;%= test_host %> 2907 2907 10.0 nil LENGTH 0 32 4 1 BIG_ENDIAN 0 nil nil true"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" MAP_TARGET CFDP"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">""</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" INTERFACE CFDP2_INT tcpip_server_interface.rb 2907 2907 10.0 nil LENGTH 0 32 4 1 BIG_ENDIAN 0 nil nil true"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" PORT 2907"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">" MAP_TARGET CFDP2"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"&lt;% end %>"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"needs_dependencies"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain">false, </span><span class="token string" style="color:rgb(173, 219, 103)">"updated_at"</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain">nil</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Updating </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">local</span><span class="token plain"> plugin files: /plugins/DEFAULT/openc3-cosmos-cfdp</span><br></span></code></pre></div></div>
46
+ <p>You can optionally pass it the scope to install the plugin in (for Enterprise) and the path to a JSON file containing the entire <code>plugin_hash</code> for your plugin. This lets you manually set things like the installed name, <code>updated_at</code> timestamp, and other properties. Use this carefully.</p>
47
+ <p>There is also a <code>--variables</code> option, which allows you to pass the path to a JSON file containing your plugin variables. This is the same as the optional variables file mentioned above for <code>cli validate</code>.</p>
43
48
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=list-1>List<a href=#list-1 class=hash-link aria-label="Direct link to List" title="Direct link to List">​</a></h2>
44
49
  <p>List displays all the installed plugins.</p>
45
50
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli list</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cfdp-1.0.0.gem__20250325160956</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-demo-6.2.2.pre.beta0.20250325143120.gem__20250325160201</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-enterprise-tool-admin-6.2.2.pre.beta0.20250325155648.gem__20250325160159</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-autonomic-6.2.2.pre.beta0.20250325155658.gem__20250325160225</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-bucketexplorer-6.2.2.pre.beta0.20250325143107.gem__20250325160227</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-calendar-6.2.2.pre.beta0.20250325155654.gem__20250325160224</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-cmdhistory-6.2.2.pre.beta0.20250325155651.gem__20250325160212</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-cmdsender-6.2.2.pre.beta0.20250325143111.gem__20250325160211</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-cmdtlmserver-6.2.2.pre.beta0.20250325143114.gem__20250325160208</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-dataextractor-6.2.2.pre.beta0.20250325143104.gem__20250325160219</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-dataviewer-6.2.2.pre.beta0.20250325143108.gem__20250325160220</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-docs-6.2.2.pre.beta0.20250325155535.gem__20250325160228</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-grafana-6.2.2.pre.beta0.20250325155658.gem__20250325160233</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-handbooks-6.2.2.pre.beta0.20250325143113.gem__20250325160222</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-iframe-6.2.2.pre.beta0.20250325143110.gem__20250325160158</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-limitsmonitor-6.2.2.pre.beta0.20250325155448.gem__20250325160209</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-packetviewer-6.2.2.pre.beta0.20250325143104.gem__20250325160215</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-scriptrunner-6.2.2.pre.beta0.20250325143111.gem__20250325160214</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-tablemanager-6.2.2.pre.beta0.20250325143116.gem__20250325160223</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-tlmgrapher-6.2.2.pre.beta0.20250325143105.gem__20250325160218</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-tool-tlmviewer-6.2.2.pre.beta0.20250325143108.gem__20250325160216</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-enterprise-tool-base-6.2.2.pre.beta0.20250325155704.gem__20250325160153</span><br></span></code></pre></div></div>
@@ -1,8 +1,8 @@
1
- <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/generators" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Code Generators | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Code Generators | OpenC3 Docs"><meta data-rh=true name=description content="Using openc3.sh to generate code"><meta data-rh=true property=og:description content="Using openc3.sh to generate code"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=x-default><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started","name":"Getting Started","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators","name":"Code Generators","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1a361da6.css><script src=/tools/staticdocs/assets/js/runtime~main.2a93017a.js defer></script><script src=/tools/staticdocs/assets/js/main.54699355.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
1
+ <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/generators" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Code Generators | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Code Generators | OpenC3 Docs"><meta data-rh=true name=description content="Using openc3.sh to generate code"><meta data-rh=true property=og:description content="Using openc3.sh to generate code"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators hreflang=x-default><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started","name":"Getting Started","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started/generators","name":"Code Generators","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.3a94737c.css><script src=/tools/staticdocs/assets/js/runtime~main.ff5e0de8.js defer></script><script src=/tools/staticdocs/assets/js/main.8b65f76b.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
2
2
  <symbol id=theme-svg-external-link viewBox="0 0 24 24"><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"/></symbol>
3
3
  </defs></svg>
4
4
  <script>!function(){var t="dark",e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",e||t),document.documentElement.setAttribute("data-theme-choice",e||t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left 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="theme-layout-navbar-right 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="theme-layout-main main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/key-concepts>Key Concepts</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/installation>Installation</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/gettingstarted>Getting Started</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/upgrading>Upgrading</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/cli>Command Line Interface</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/getting-started/generators>Code Generators</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/podman>Podman</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/requirements>Requirements and Design</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Expand sidebar category 'Development'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs><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 class=breadcrumbs__item><a class=breadcrumbs__link href=/tools/staticdocs/docs/getting-started><span>Getting Started</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Code Generators</span></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Code Generators</h1></header><p>The COSMOS Code Generators are built into the scripts <code>openc3.sh</code> and <code>openc3.bat</code> that are included in the COSMOS <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">project</a> (more about <a href=/tools/staticdocs/docs/getting-started/key-concepts#projects>projects</a>).</p>
5
- <p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">openc3-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available code generators type the following:</p>
5
+ <p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">cosmos-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available code generators type the following:</p>
6
6
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% openc3.sh cli generate</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Unknown generator </span><span class="token string" style="color:rgb(173, 219, 103)">''</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token plain"> Valid generators: plugin, target, microservice, widget, conversion,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> processor, limits_response, tool, tool_vue, tool_angular, tool_react, tool_svelte</span><br></span></code></pre></div></div>
7
7
  <div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>Training Available</div><div class=admonitionContent_bl22><p>If any of this gets confusing, contact us at <a href=mailto:support@openc3.com></a><a href=mailto:support@openc3.com target=_blank rel="noopener noreferrer">support@openc3.com</a>. We have training classes available!</div></div>
8
8
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=plugin-generator>Plugin Generator<a href=#plugin-generator class=hash-link aria-label="Direct link to Plugin Generator" title="Direct link to Plugin Generator">​</a></h2>
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/gettingstarted" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Getting Started | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Getting Started | OpenC3 Docs"><meta data-rh=true name=description content="Getting starting with COSMOS"><meta data-rh=true property=og:description content="Getting starting with COSMOS"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=x-default><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started","name":"Getting Started","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted","name":"Getting Started","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1a361da6.css><script src=/tools/staticdocs/assets/js/runtime~main.2a93017a.js defer></script><script src=/tools/staticdocs/assets/js/main.54699355.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
1
+ <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-getting-started/gettingstarted" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Getting Started | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Getting Started | OpenC3 Docs"><meta data-rh=true name=description content="Getting starting with COSMOS"><meta data-rh=true property=og:description content="Getting starting with COSMOS"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted hreflang=x-default><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started","name":"Getting Started","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/getting-started/gettingstarted","name":"Getting Started","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.3a94737c.css><script src=/tools/staticdocs/assets/js/runtime~main.ff5e0de8.js defer></script><script src=/tools/staticdocs/assets/js/main.8b65f76b.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
2
2
  <symbol id=theme-svg-external-link viewBox="0 0 24 24"><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"/></symbol>
3
3
  </defs></svg>
4
4
  <script>!function(){var t="dark",e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",e||t),document.documentElement.setAttribute("data-theme-choice",e||t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left 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="theme-layout-navbar-right 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="theme-layout-main main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Collapse sidebar category 'Getting Started'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/key-concepts>Key Concepts</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/installation>Installation</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/getting-started/gettingstarted>Getting Started</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/upgrading>Upgrading</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/cli>Command Line Interface</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/generators>Code Generators</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/podman>Podman</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/getting-started/requirements>Requirements and Design</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Expand sidebar category 'Development'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs><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 class=breadcrumbs__item><a class=breadcrumbs__link href=/tools/staticdocs/docs/getting-started><span>Getting Started</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Getting Started</span></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Getting Started</h1></header><p>Welcome to the OpenC3 COSMOS system... Let's get started! This guide is a high level overview that will help with setting up your first COSMOS project.</p>
@@ -35,20 +35,20 @@
35
35
  <p>Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces.</p>
36
36
  </li>
37
37
  <li>
38
- <p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">openc3-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (<a href=https://www.markdownguide.org/ target=_blank rel="noopener noreferrer">Markdown</a>) to describe your program / project.</p>
38
+ <p>If you followed the <a href=/tools/staticdocs/docs/getting-started/installation>Installation Guide</a> you should already be inside a cloned <a href=https://github.com/OpenC3/cosmos-project target=_blank rel="noopener noreferrer">cosmos-project</a> which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (<a href=https://www.markdownguide.org/ target=_blank rel="noopener noreferrer">Markdown</a>) to describe your program / project.</p>
39
39
  </li>
40
40
  <li>
41
41
  <p>Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure.</p>
42
42
  </li>
43
43
  </ol>
44
44
  <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>Python vs Ruby</div><div class=admonitionContent_bl22><p>Each CLI command requires the use of <code>--python</code> or <code>--ruby</code> unless you set the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'.</div></div>
45
- <div class="language-batch codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-batch codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">C:\openc3-project> openc3.bat cli generate plugin BOB --python</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Plugin openc3-cosmos-bob successfully generated!</span><br></span></code></pre></div></div>
45
+ <div class="language-batch codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-batch codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">C:\cosmos-project> openc3.bat cli generate plugin BOB --python</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Plugin openc3-cosmos-bob successfully generated!</span><br></span></code></pre></div></div>
46
46
  <p>This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the <a href=/tools/staticdocs/docs/getting-started/generators#plugin-generator>Plugin Generator</a> page.</p>
47
47
  <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>Run as the Root user</div><div class=admonitionContent_bl22><p>The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively <code>docker run --user=root</code> ) by running <code>cliroot</code> instead of <code>cli</code> in any of the examples.</div></div>
48
48
  <ol>
49
49
  <li>
50
50
  <p>Starting with <a href=https://openc3.com/news/2023/02/23/openc3-cosmos-5-5-0-released/ target=_blank rel="noopener noreferrer">COSMOS v5.5.0</a>, the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target.</p>
51
- <div class="language-batch codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-batch codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">C:\openc3-project> cd openc3-cosmos-bob</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-bob> openc3.bat cli generate target BOB --python</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Target BOB successfully generated!</span><br></span></code></pre></div></div>
51
+ <div class="language-batch codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-batch codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">C:\cosmos-project> cd openc3-cosmos-bob</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-bob> openc3.bat cli generate target BOB --python</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Target BOB successfully generated!</span><br></span></code></pre></div></div>
52
52
  </li>
53
53
  </ol>
54
54
  <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>Generators</div><div class=admonitionContent_bl22><p>There are a number of generators available. Run <code>openc3.bat cli generate</code> to see all the available options.</div></div>