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,7 +1,7 @@
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-guides/cfs" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>COSMOS and NASA cFS | 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/guides/cfs><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="COSMOS and NASA cFS | OpenC3 Docs"><meta data-rh=true name=description content="Tutorial for integrating with NASA cFS"><meta data-rh=true property=og:description content="Tutorial for integrating with NASA cFS"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/cfs><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/cfs hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/cfs hreflang=x-default><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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/cfs","name":"COSMOS and NASA cFS","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-guides/cfs" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>COSMOS and NASA cFS | 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/guides/cfs><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="COSMOS and NASA cFS | OpenC3 Docs"><meta data-rh=true name=description content="Tutorial for integrating with NASA cFS"><meta data-rh=true property=og:description content="Tutorial for integrating with NASA cFS"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/cfs><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/cfs hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/cfs hreflang=x-default><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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/cfs","name":"COSMOS and NASA cFS","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
- <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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>COSMOS and NASA cFS</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>COSMOS and NASA cFS</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id=working-configuration>Working configuration<a href=#working-configuration class=hash-link aria-label="Direct link to Working configuration" title="Direct link to Working configuration">​</a></h2>
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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/guides/troubleshooting>Troubleshooting</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>COSMOS and NASA cFS</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>COSMOS and NASA cFS</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id=working-configuration>Working configuration<a href=#working-configuration class=hash-link aria-label="Direct link to Working configuration" title="Direct link to Working configuration">​</a></h2>
5
5
  <p>This tutorial has been tested using the following components:</p>
6
6
  <ul>
7
7
  <li>COSMOS v6 release <a href=https://github.com/OpenC3/cosmos/releases/tag/v6.3.0 target=_blank rel="noopener noreferrer">6.3.0</a></li>
@@ -83,7 +83,7 @@ versions and the newly uploaded versions.</div></div>
83
83
  the page.</p>
84
84
  <p>Connect with a browser to
85
85
  <a href=http://localhost:2900/tools/admin target=_blank rel="noopener noreferrer">http://localhost:2900/tools/admin</a>.</p>
86
- <p>Click on the "Install New Plugin" button and navigate to where your plugin is stored and select
86
+ <p>Click on the "Install From File" button and navigate to where your plugin is stored and select
87
87
  the <code>openc3-cosmos-cfs-1.0.0.gem</code> file. Right of the selection line click on <code>Install</code>.</p>
88
88
  <p>Determine the IP address the cFS container and COSMOS operator container are running at:</p>
89
89
  <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 function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> network </span><span class="token function" style="color:rgb(130, 170, 255)">ls</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">NETWORK ID NAME DRIVER SCOPE</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">d842f813f1c7 cosmos-project_default bridge </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">local</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> network inspect cosmos-project_default </span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Name"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"cosmos-project_default "</span><span class="token plain">,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Containers"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Name"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"cfs"</span><span class="token plain">,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"IPv4Address"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"172.20.0.9/16"</span><span class="token plain">,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain">,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Name"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"openc3_openc3-operator_1"</span><span class="token plain">,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"IPv4Address"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"172.20.0.8/16"</span><span class="token plain">,</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><br></span></code></pre></div></div>
@@ -1,7 +1,7 @@
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-guides/custom-widgets" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Custom Widgets | 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/guides/custom-widgets><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="Custom Widgets | OpenC3 Docs"><meta data-rh=true name=description content="How to build custom widgets for use in Telemetry Viewer"><meta data-rh=true property=og:description content="How to build custom widgets for use in Telemetry Viewer"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets","name":"Custom Widgets","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-guides/custom-widgets" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Custom Widgets | 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/guides/custom-widgets><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="Custom Widgets | OpenC3 Docs"><meta data-rh=true name=description content="How to build custom widgets for use in Telemetry Viewer"><meta data-rh=true property=og:description content="How to build custom widgets for use in Telemetry Viewer"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/custom-widgets","name":"Custom Widgets","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
- <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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</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/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Custom Widgets</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>Custom Widgets</h1></header>
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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</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/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/guides/troubleshooting>Troubleshooting</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Custom Widgets</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>Custom Widgets</h1></header>
5
5
  <p>This guide will walk you through the process of building custom widgets for use in COSMOS <a href=/tools/staticdocs/docs/tools/tlm-viewer>Telemetry Viewer</a>. While you can use any JavaScript framework, we'll use Vue.js since COSMOS is built with it. Before starting, you may want to check out the <a href=/tools/staticdocs/docs/getting-started/generators#widget-generator>Widget Generator</a> guide to create the initial scaffolding.</p>
6
6
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=step-1-set-up-your-plugin-structure>Step 1: Set Up Your Plugin Structure<a href=#step-1-set-up-your-plugin-structure class=hash-link aria-label="Direct link to Step 1: Set Up Your Plugin Structure" title="Direct link to Step 1: Set Up Your Plugin Structure">​</a></h2>
7
7
  <p>If you have an existing plugin, start in the root directory for that plugin. If you do not yet have a plugin, start by using the <a href=/tools/staticdocs/docs/getting-started/generators#plugin-generator>Plugin Generator</a> to create one.</p>
@@ -1,7 +1,7 @@
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-guides/dynamic-packets" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Dynamic Packets | 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/guides/dynamic-packets><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="Dynamic Packets | OpenC3 Docs"><meta data-rh=true name=description content="How COSMOS dynamically builds packets"><meta data-rh=true property=og:description content="How COSMOS dynamically builds packets"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets","name":"Dynamic Packets","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-guides/dynamic-packets" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Dynamic Packets | 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/guides/dynamic-packets><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="Dynamic Packets | OpenC3 Docs"><meta data-rh=true name=description content="How COSMOS dynamically builds packets"><meta data-rh=true property=og:description content="How COSMOS dynamically builds packets"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/dynamic-packets","name":"Dynamic Packets","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
- <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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Dynamic Packets</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>Dynamic Packets</h1></header><p>COSMOS has the ability to dynamically build packets rather than have them statically defined by our <a href=/tools/staticdocs/docs/configuration/command>COMMAND</a> and <a href=/tools/staticdocs/docs/configuration/telemetry>TELEMETRY</a> configuration files. This is useful when your telemetry items are dynamic like when generating <a href=https://prometheus.io/ target=_blank rel="noopener noreferrer">prometheus</a> metrics.</p>
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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/guides/troubleshooting>Troubleshooting</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Dynamic Packets</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>Dynamic Packets</h1></header><p>COSMOS has the ability to dynamically build packets rather than have them statically defined by our <a href=/tools/staticdocs/docs/configuration/command>COMMAND</a> and <a href=/tools/staticdocs/docs/configuration/telemetry>TELEMETRY</a> configuration files. This is useful when your telemetry items are dynamic like when generating <a href=https://prometheus.io/ target=_blank rel="noopener noreferrer">prometheus</a> metrics.</p>
5
5
  <p>The best way to illustrate this capability is with an example. If you're an Enterprise customer, please see the <a href=https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-prometheus-metrics target=_blank rel="noopener noreferrer">prometheus-metrics</a> plugin.</p>
6
6
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=using-dynamic-update>Using Dynamic Update<a href=#using-dynamic-update class=hash-link aria-label="Direct link to Using Dynamic Update" title="Direct link to Using Dynamic Update">​</a></h2>
7
7
  <p>To use the dynamic update capability in your own code you need to call the <code>TargetModel</code> <code>dynamic_update</code> method. This method takes an array / list of packets, whether the packets are commands or telemetry, and the filename to create in the config bucket.</p>
@@ -1,7 +1,7 @@
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-guides/exposing-microservices" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Exposing Microservices | 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/guides/exposing-microservices><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="Exposing Microservices | OpenC3 Docs"><meta data-rh=true name=description content="Provide external accessibility to microservices"><meta data-rh=true property=og:description content="Provide external accessibility to microservices"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices","name":"Exposing Microservices","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-guides/exposing-microservices" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Exposing Microservices | 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/guides/exposing-microservices><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="Exposing Microservices | OpenC3 Docs"><meta data-rh=true name=description content="Provide external accessibility to microservices"><meta data-rh=true property=og:description content="Provide external accessibility to microservices"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/exposing-microservices","name":"Exposing Microservices","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
- <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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Exposing Microservices</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>Exposing Microservices</h1></header><p>COSMOS provides a simple method to add new APIs and make custom microservices and interfaces accessible to the network.</p>
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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/guides/troubleshooting>Troubleshooting</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Exposing Microservices</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>Exposing Microservices</h1></header><p>COSMOS provides a simple method to add new APIs and make custom microservices and interfaces accessible to the network.</p>
5
5
  <div class="theme-admonition theme-admonition-warning admonition_IZjC alert alert--warning"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 16 16"><path fill-rule=evenodd d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg></span>Make sure anything you expose is secure</div><div class=admonitionContent_bl22><p>Make sure that any new apis you expose check for user credentials and authorize actions appropriately.</div></div>
6
6
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=expose-microservices-using-the-port-and-route_prefix-keywords>Expose microservices using the PORT and ROUTE_PREFIX keywords<a href=#expose-microservices-using-the-port-and-route_prefix-keywords class=hash-link aria-label="Direct link to Expose microservices using the PORT and ROUTE_PREFIX keywords" title="Direct link to Expose microservices using the PORT and ROUTE_PREFIX keywords">​</a></h2>
7
7
  <p>In your plugin.txt file, both <a href=/tools/staticdocs/docs/configuration/plugins#interface-1>INTERFACE</a> and <a href=/tools/staticdocs/docs/configuration/plugins#microservice-1>MICROSERVICE</a> support the keywords <a href=/tools/staticdocs/docs/configuration/plugins#port-1>PORT</a> and <a href=/tools/staticdocs/docs/configuration/plugins#route_prefix-1>ROUTE_PREFIX</a>.</p>
@@ -13,19 +13,19 @@
13
13
  <p>In OpenC3 Enterprise, KUBERNETES_SERVICE_HOST is used to detect if we are running in a Kubernetes environment (it will be set by Kubernetes), in which case the service is expected to have a Kubernetes service named scope-user-microservicename-service. For example, if you are using the DEFAULT scope and have a microservice named MYMICROSERVICE the service would be found at the hostname: default-user-mymicroservice-service. Double underscores or single underscores are replaced by a dash and the name is all lower case.</p>
14
14
  <p><a href=/tools/staticdocs/docs/configuration/plugins#route_prefix-1>ROUTE_PREFIX</a> is used to define the external route. The external route will take the form of http(s)://YOURCOSMOSDOMAIN<!-- -->:PORT<!-- -->/ROUTE_PREFIX. So for example, if you set the <a href=/tools/staticdocs/docs/configuration/plugins#route_prefix-1>ROUTE_PREFIX</a> to /mymicroservice then on a default local installation, it could be reached at <code>http://localhost:2900/mymicroservice</code>. The <code>http://localhost:2900</code> part should be substituted by whatever domain you are accessing COSMOS at.</p>
15
15
  <p>Here is a snippet of code showing <a href=/tools/staticdocs/docs/configuration/plugins#port-1>PORT</a> and <a href=/tools/staticdocs/docs/configuration/plugins#route_prefix-1>ROUTE_PREFIX</a> in use within a plugin.txt file:</p>
16
- <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">VARIABLE cfdp_microservice_name CFDP</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE cfdp_route_prefix /cfdp</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE cfdp_port </span><span class="token number" style="color:rgb(247, 140, 108)">2905</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">MICROSERVICE CFDP </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> cfdp_microservice_name %</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"> WORK_DIR </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> ROUTE_PREFIX </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> cfdp_route_prefix %</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"> PORT </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> cfdp_port %</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><br></span></code></pre></div></div>
16
+ <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">VARIABLE cfdp_microservice_name CFDP</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE cfdp_route_prefix /cfdp</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE cfdp_port </span><span class="token number" style="color:rgb(247, 140, 108)">2906</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">MICROSERVICE CFDP </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> cfdp_microservice_name %</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"> WORK_DIR </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> ROUTE_PREFIX </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> cfdp_route_prefix %</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"> PORT </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> cfdp_port %</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><br></span></code></pre></div></div>
17
17
  <p>Leaving the variables at their default values the following will occur:</p>
18
18
  <ul>
19
- <li>The microservice will be exposed internally to Docker (Core or Enterprise) at: <code>http://openc3-operator:2905</code></li>
20
- <li>The microservice will be exposed internally to Kubernetes (Enterprise) at: <code>http://default-user-cfdp-service:2905</code></li>
19
+ <li>The microservice will be exposed internally to Docker (Core or Enterprise) at: <code>http://openc3-operator:2906</code></li>
20
+ <li>The microservice will be exposed internally to Kubernetes (Enterprise) at: <code>http://default-user-cfdp-service:2906</code></li>
21
21
  <li>The microservice will be exposed externally to the network at: <code>http://localhost:2900/cfdp</code></li>
22
22
  </ul>
23
23
  <p>The same can be done for <a href=/tools/staticdocs/docs/configuration/plugins#interface-1>INTERFACE</a> but note that the Kubernetes service name will use the microservice name of the interface which takes the form of <code>SCOPE__INTERFACE__INTERFACENAME</code>.</p>
24
24
  <p>Here is an example using <a href=/tools/staticdocs/docs/configuration/plugins#port>PORT</a> and <a href=/tools/staticdocs/docs/configuration/plugins#route_prefix>ROUTE_PREFIX</a> with <a href=/tools/staticdocs/docs/configuration/plugins#interface-1>INTERFACE</a>:</p>
25
- <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">VARIABLE my_interface_name MY_INT</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE my_route_prefix /myint</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE my_port </span><span class="token number" style="color:rgb(247, 140, 108)">2910</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">INTERFACE </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_interface_name %</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> http_server_interface.rb </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_port %</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"> ROUTE_PREFIX </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_route_prefix %</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"> PORT </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_port %</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><br></span></code></pre></div></div>
25
+ <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">VARIABLE my_interface_name MY_INT</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE my_route_prefix /myint</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">VARIABLE my_port </span><span class="token number" style="color:rgb(247, 140, 108)">2888</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">INTERFACE </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_interface_name %</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> http_server_interface.rb </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_port %</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"> ROUTE_PREFIX </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_route_prefix %</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"> PORT </span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">%</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain"> my_port %</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><br></span></code></pre></div></div>
26
26
  <ul>
27
- <li>The interface will be exposed internally to Docker (Core or Enterprise) at: <code>http://openc3-operator:2910</code></li>
28
- <li>The interface will be exposed internally to Kubernetes (Enterprise) at: <code>http://default-interface-my-int-service:2905</code></li>
27
+ <li>The interface will be exposed internally to Docker (Core or Enterprise) at: <code>http://openc3-operator:2888</code></li>
28
+ <li>The interface will be exposed internally to Kubernetes (Enterprise) at: <code>http://default-interface-my-int-service:2888</code></li>
29
29
  <li>The interface will be exposed externally to the network at: <code>http://localhost:2900/myint</code></li>
30
30
  </ul>
31
31
  <div class="theme-admonition theme-admonition-warning admonition_IZjC alert alert--warning"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 16 16"><path fill-rule=evenodd d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg></span>Sharded Operator on Kubernetes (Enterprise)</div><div class=admonitionContent_bl22><p>The sharded operator is expected to be used on Kubernetes whenever the Kubernetes Operator is not used. Typically this will be because the user does not have permission to use the Kubernetes API directly to spawn containers which is required for use of the Kubernetes Operator. In this case, Kubernetes services will NOT be automatically created, and will have to be manually created by a user with permissions in Kubernetes, or through some other authorized method (like a custom framework dashboard or config file).</div></div>
@@ -1,7 +1,7 @@
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-guides/little-endian-bitfields" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Little Endian Bitfields | 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/guides/little-endian-bitfields><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="Little Endian Bitfields | OpenC3 Docs"><meta data-rh=true name=description content="Defining little endian bitfields"><meta data-rh=true property=og:description content="Defining little endian bitfields"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields","name":"Little Endian Bitfields","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-guides/little-endian-bitfields" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.1"><title data-rh=true>Little Endian Bitfields | 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/guides/little-endian-bitfields><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="Little Endian Bitfields | OpenC3 Docs"><meta data-rh=true name=description content="Defining little endian bitfields"><meta data-rh=true property=og:description content="Defining little endian bitfields"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields 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/guides","name":"Guides","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/guides/little-endian-bitfields","name":"Little Endian Bitfields","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
- <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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Little Endian Bitfields</span></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Little Endian Bitfields</h1></header><p>Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields.</p>
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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Collapse sidebar category 'Guides'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/bridges>Bridges</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/cfs>COSMOS and NASA cFS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/custom-widgets>Custom Widgets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/guides/dynamic-packets>Dynamic Packets</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/guides/exposing-microservices>Exposing Microservices</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/guides/little-endian-bitfields>Little Endian Bitfields</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/guides/local-mode>Local Mode</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/guides/logging>Logging</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/guides/monitoring>Monitoring</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/guides/performance>Performance</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/guides/raspberrypi>Raspberry Pi</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/guides/reference-architectures>Reference Architectures</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/guides/script-writing>Script Writing Guide</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/guides/scripting-api>Scripting API Guide</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/guides/troubleshooting>Troubleshooting</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/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/guides><span>Guides</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Little Endian Bitfields</span></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Little Endian Bitfields</h1></header><p>Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields.</p>
5
5
  <p>Here are the rules on how COSMOS handles LITTLE_ENDIAN data:</p>
6
6
  <ol>
7
7
  <li>