openc3-cosmos-tool-docs 6.4.1 → 6.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/staticdocs/404.html +4 -1
- data/tools/staticdocs/assets/css/styles.1a361da6.css +1 -0
- data/tools/staticdocs/assets/images/cmd-processing-f279f2a9798a3000e07540ec5d4eaf095a84b312cd673285b595eebf901f4663.png +0 -0
- data/tools/staticdocs/assets/images/docker-security-bb6d4bdd60a5cd7df87a572159c6369b67bee5735be5a501b25786cabdcd4228.png +0 -0
- data/tools/staticdocs/assets/images/tlm-processing-ce5d4cc16e4a19d9c4f799cc8af975e93eb1c54ba0d43acbc31cc048667b223d.png +0 -0
- data/tools/staticdocs/assets/js/019369f3.5dd06a57.js +1 -0
- data/tools/staticdocs/assets/js/058ffc22.ed3ac5fa.js +1 -0
- data/tools/staticdocs/assets/js/0686a885.ef66a55c.js +1 -0
- data/tools/staticdocs/assets/js/078dbab0.43788fd9.js +1 -0
- data/tools/staticdocs/assets/js/0f5d161c.7aacaf90.js +1 -0
- data/tools/staticdocs/assets/js/0ff569c9.7aa50138.js +1 -0
- data/tools/staticdocs/assets/js/103cc3be.ff33b528.js +1 -0
- data/tools/staticdocs/assets/js/13196248.14de6ce1.js +1 -0
- data/tools/staticdocs/assets/js/13c1b4e4.2dafa283.js +1 -0
- data/tools/staticdocs/assets/js/1602.502ef9b1.js +1 -0
- data/tools/staticdocs/assets/js/1e02e6a3.d99a363c.js +1 -0
- data/tools/staticdocs/assets/js/2047b354.d91543a5.js +1 -0
- data/tools/staticdocs/assets/js/2124.545702e0.js +1 -0
- data/tools/staticdocs/assets/js/22b3ac48.5eb8d876.js +1 -0
- data/tools/staticdocs/assets/js/2368.fd1bb46a.js +4 -0
- data/tools/staticdocs/assets/js/26b8abb2.021651f5.js +1 -0
- data/tools/staticdocs/assets/js/2bb7bf90.1eee5bcb.js +1 -0
- data/tools/staticdocs/assets/js/2c15ad40.7f30b517.js +1 -0
- data/tools/staticdocs/assets/js/35398c5c.4f30c5da.js +1 -0
- data/tools/staticdocs/assets/js/3687.8bc61ef3.js +101 -0
- data/tools/staticdocs/assets/js/3dd7ef3b.dfbe9bb7.js +1 -0
- data/tools/staticdocs/assets/js/40365d27.42b05c12.js +1 -0
- data/tools/staticdocs/assets/js/411898ad.e55efd5d.js +1 -0
- data/tools/staticdocs/assets/js/42170351.2de491d4.js +1 -0
- data/tools/staticdocs/assets/js/43652efd.f7c95691.js +1 -0
- data/tools/staticdocs/assets/js/53ca7c5b.2da36c11.js +1 -0
- data/tools/staticdocs/assets/js/54d0d530.7cc2c5cc.js +1 -0
- data/tools/staticdocs/assets/js/5b233ba7.29533a03.js +1 -0
- data/tools/staticdocs/assets/js/5bc719f6.62d9a8b8.js +1 -0
- data/tools/staticdocs/assets/js/5c6ce5ec.40e0caf8.js +1 -0
- data/tools/staticdocs/assets/js/5e3ed378.64ea5a52.js +1 -0
- data/tools/staticdocs/assets/js/5fe211ef.2d29f3fb.js +1 -0
- data/tools/staticdocs/assets/js/6831b732.ec0009ac.js +1 -0
- data/tools/staticdocs/assets/js/696b4199.1c205c60.js +1 -0
- data/tools/staticdocs/assets/js/6b210247.32ded6d5.js +1 -0
- data/tools/staticdocs/assets/js/6b65133b.b2a62736.js +1 -0
- data/tools/staticdocs/assets/js/6f92e431.7bd2a1f1.js +1 -0
- data/tools/staticdocs/assets/js/72c6d8a8.21321ecc.js +1 -0
- data/tools/staticdocs/assets/js/75e64983.e0eb7741.js +1 -0
- data/tools/staticdocs/assets/js/7690.fc05b8e6.js +1 -0
- data/tools/staticdocs/assets/js/7719.0d312792.js +1 -0
- data/tools/staticdocs/assets/js/80c97f38.a0dfbdf7.js +1 -0
- data/tools/staticdocs/assets/js/867640d5.32ca371f.js +1 -0
- data/tools/staticdocs/assets/js/{89e76475.e1b0dbdb.js → 89e76475.20b3a636.js} +1 -1
- data/tools/staticdocs/assets/js/8f7843ee.6d7c9cd4.js +1 -0
- data/tools/staticdocs/assets/js/9424f0b3.75b12400.js +1 -0
- data/tools/staticdocs/assets/js/964eb012.0eee94ba.js +1 -0
- data/tools/staticdocs/assets/js/97535711.630cee4d.js +1 -0
- data/tools/staticdocs/assets/js/99581c43.73b5cd90.js +1 -0
- data/tools/staticdocs/assets/js/9d6e81d0.6b6404ff.js +1 -0
- data/tools/staticdocs/assets/js/9fb6059a.715fc441.js +1 -0
- data/tools/staticdocs/assets/js/a677c089.76d13f14.js +1 -0
- data/tools/staticdocs/assets/js/a9987364.3b3e7379.js +1 -0
- data/tools/staticdocs/assets/js/a9b2dc27.da1da6f1.js +1 -0
- data/tools/staticdocs/assets/js/aa6b6c1b.bc122746.js +1 -0
- data/tools/staticdocs/assets/js/b062d239.4e8142cb.js +1 -0
- data/tools/staticdocs/assets/js/b38a6d74.4a10f506.js +1 -0
- data/tools/staticdocs/assets/js/b4596165.08749f15.js +1 -0
- data/tools/staticdocs/assets/js/b6d70f94.776bc00f.js +1 -0
- data/tools/staticdocs/assets/js/b9f60ba6.ce400445.js +1 -0
- data/tools/staticdocs/assets/js/bd0034eb.a201a4a7.js +1 -0
- data/tools/staticdocs/assets/js/c24eae19.77326c08.js +1 -0
- data/tools/staticdocs/assets/js/{c2598f55.812cdcd1.js → c2598f55.85419dc8.js} +1 -1
- data/tools/staticdocs/assets/js/cb8c3f08.73cefada.js +1 -0
- data/tools/staticdocs/assets/js/cd879be4.dc2adfcc.js +1 -0
- data/tools/staticdocs/assets/js/d1b923aa.57f5e162.js +1 -0
- data/tools/staticdocs/assets/js/d1bfc316.73bb876f.js +1 -0
- data/tools/staticdocs/assets/js/d24bf9b6.e348c06d.js +1 -0
- data/tools/staticdocs/assets/js/d57a4b5d.885590b1.js +1 -0
- data/tools/staticdocs/assets/js/d5d77c37.1143a9d4.js +1 -0
- data/tools/staticdocs/assets/js/d66bf9c0.0ffb9759.js +1 -0
- data/tools/staticdocs/assets/js/d8ca4191.fe602968.js +1 -0
- data/tools/staticdocs/assets/js/d9b92eba.a115a366.js +1 -0
- data/tools/staticdocs/assets/js/db8fa1d0.1aefa4e7.js +1 -0
- data/tools/staticdocs/assets/js/dbe31111.9c957b0c.js +1 -0
- data/tools/staticdocs/assets/js/dc5f7beb.ddc630ca.js +1 -0
- data/tools/staticdocs/assets/js/e501b0d1.f9c2d1fc.js +1 -0
- data/tools/staticdocs/assets/js/f15615f1.a4d98d69.js +1 -0
- data/tools/staticdocs/assets/js/fd886806.656b4fa3.js +1 -0
- data/tools/staticdocs/assets/js/main.ba1fa268.js +38 -0
- data/tools/staticdocs/assets/js/runtime~main.ca894d1e.js +1 -0
- data/tools/staticdocs/docs/configuration/accessors.html +21 -18
- data/tools/staticdocs/docs/configuration/command.html +35 -35
- data/tools/staticdocs/docs/configuration/conversions.html +156 -0
- data/tools/staticdocs/docs/configuration/format.html +18 -15
- data/tools/staticdocs/docs/configuration/interfaces.html +34 -31
- data/tools/staticdocs/docs/configuration/plugins.html +39 -36
- data/tools/staticdocs/docs/configuration/protocols.html +28 -25
- data/tools/staticdocs/docs/configuration/ssl-tls.html +10 -6
- data/tools/staticdocs/docs/configuration/table.html +19 -22
- data/tools/staticdocs/docs/configuration/target.html +11 -8
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +72 -69
- data/tools/staticdocs/docs/configuration/telemetry.html +40 -40
- data/tools/staticdocs/docs/configuration.html +4 -1
- data/tools/staticdocs/docs/development/curl.html +12 -9
- data/tools/staticdocs/docs/development/developing.html +15 -12
- data/tools/staticdocs/docs/development/json-api.html +8 -5
- data/tools/staticdocs/docs/development/log-structure.html +5 -2
- data/tools/staticdocs/docs/development/roadmap.html +5 -2
- data/tools/staticdocs/docs/development/streaming-api.html +13 -10
- data/tools/staticdocs/docs/development/testing.html +15 -12
- data/tools/staticdocs/docs/development.html +4 -1
- data/tools/staticdocs/docs/getting-started/cli.html +16 -13
- data/tools/staticdocs/docs/getting-started/generators.html +19 -16
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +15 -12
- data/tools/staticdocs/docs/getting-started/installation.html +7 -4
- data/tools/staticdocs/docs/getting-started/key-concepts.html +6 -3
- data/tools/staticdocs/docs/getting-started/podman.html +19 -16
- data/tools/staticdocs/docs/getting-started/requirements.html +7 -4
- data/tools/staticdocs/docs/getting-started/upgrading.html +23 -15
- data/tools/staticdocs/docs/getting-started.html +4 -1
- data/tools/staticdocs/docs/guides/bridges.html +7 -4
- data/tools/staticdocs/docs/guides/cfs.html +19 -16
- data/tools/staticdocs/docs/guides/custom-widgets.html +54 -16
- data/tools/staticdocs/docs/guides/dynamic-packets.html +9 -6
- data/tools/staticdocs/docs/guides/exposing-microservices.html +9 -6
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +6 -3
- data/tools/staticdocs/docs/guides/local-mode.html +6 -3
- data/tools/staticdocs/docs/guides/logging.html +5 -2
- data/tools/staticdocs/docs/guides/monitoring.html +11 -8
- data/tools/staticdocs/docs/guides/performance.html +6 -3
- data/tools/staticdocs/docs/guides/raspberrypi.html +6 -3
- data/tools/staticdocs/docs/guides/reference-architectures.html +35 -0
- data/tools/staticdocs/docs/guides/script-writing.html +46 -43
- data/tools/staticdocs/docs/guides/scripting-api.html +627 -433
- data/tools/staticdocs/docs/guides.html +4 -1
- data/tools/staticdocs/docs/meta/contributing.html +10 -7
- data/tools/staticdocs/docs/meta/licenses.html +6 -3
- data/tools/staticdocs/docs/meta/philosophy.html +5 -2
- data/tools/staticdocs/docs/meta/xtce.html +7 -4
- data/tools/staticdocs/docs/meta.html +4 -1
- data/tools/staticdocs/docs/privacy.html +5 -2
- data/tools/staticdocs/docs/tools/admin.html +5 -2
- data/tools/staticdocs/docs/tools/autonomic.html +5 -2
- data/tools/staticdocs/docs/tools/bucket-explorer.html +5 -2
- data/tools/staticdocs/docs/tools/calendar.html +5 -2
- data/tools/staticdocs/docs/tools/cmd-sender.html +5 -2
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +5 -2
- data/tools/staticdocs/docs/tools/command_history.html +5 -2
- data/tools/staticdocs/docs/tools/data-extractor.html +5 -2
- data/tools/staticdocs/docs/tools/data-viewer.html +5 -2
- data/tools/staticdocs/docs/tools/handbooks.html +5 -2
- data/tools/staticdocs/docs/tools/limits-monitor.html +5 -2
- data/tools/staticdocs/docs/tools/packet-viewer.html +5 -2
- data/tools/staticdocs/docs/tools/script-runner.html +9 -6
- data/tools/staticdocs/docs/tools/table-manager.html +6 -3
- data/tools/staticdocs/docs/tools/tlm-grapher.html +5 -2
- data/tools/staticdocs/docs/tools/tlm-viewer.html +5 -2
- data/tools/staticdocs/docs/tools.html +4 -1
- data/tools/staticdocs/docs.html +6 -8
- data/tools/staticdocs/img/cmd-processing.png +0 -0
- data/tools/staticdocs/img/docker-local-security.png +0 -0
- data/tools/staticdocs/img/docker-security.png +0 -0
- data/tools/staticdocs/img/tlm-processing.png +0 -0
- data/tools/staticdocs/index.html +4 -1
- data/tools/staticdocs/lunr-index-1748640055686.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +5 -2
- data/tools/staticdocs/search-doc-1748640055686.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- data/tools/staticdocs/sitemap.xml +1 -1
- metadata +94 -83
- data/tools/staticdocs/assets/css/styles.1de6b959.css +0 -1
- data/tools/staticdocs/assets/js/019369f3.43fd7635.js +0 -1
- data/tools/staticdocs/assets/js/058ffc22.5cfabd67.js +0 -1
- data/tools/staticdocs/assets/js/0686a885.0e2ea47d.js +0 -1
- data/tools/staticdocs/assets/js/078dbab0.5515d5e3.js +0 -1
- data/tools/staticdocs/assets/js/0f5d161c.7697df48.js +0 -1
- data/tools/staticdocs/assets/js/0ff569c9.f81b787b.js +0 -1
- data/tools/staticdocs/assets/js/103cc3be.e7943c80.js +0 -1
- data/tools/staticdocs/assets/js/13196248.ea83002e.js +0 -1
- data/tools/staticdocs/assets/js/13c1b4e4.eb5250f4.js +0 -1
- data/tools/staticdocs/assets/js/1e02e6a3.12bdc98d.js +0 -1
- data/tools/staticdocs/assets/js/2047b354.d91f6c3e.js +0 -1
- data/tools/staticdocs/assets/js/22b3ac48.0df9587b.js +0 -1
- data/tools/staticdocs/assets/js/26b8abb2.7f8d4cb0.js +0 -1
- data/tools/staticdocs/assets/js/2bb7bf90.1772f030.js +0 -1
- data/tools/staticdocs/assets/js/35398c5c.fcf47881.js +0 -1
- data/tools/staticdocs/assets/js/3969.afdd070b.js +0 -1
- data/tools/staticdocs/assets/js/3dd7ef3b.c3455b97.js +0 -1
- data/tools/staticdocs/assets/js/40365d27.5ed2e9b5.js +0 -1
- data/tools/staticdocs/assets/js/411898ad.f7b3ff17.js +0 -1
- data/tools/staticdocs/assets/js/42170351.fbc05869.js +0 -1
- data/tools/staticdocs/assets/js/43652efd.60fa883f.js +0 -1
- data/tools/staticdocs/assets/js/5205.c6f31e57.js +0 -1
- data/tools/staticdocs/assets/js/5328.3e2a53eb.js +0 -1
- data/tools/staticdocs/assets/js/53ca7c5b.fe331a71.js +0 -1
- data/tools/staticdocs/assets/js/54d0d530.ef91ba12.js +0 -1
- data/tools/staticdocs/assets/js/5761.e7fabbc9.js +0 -4
- data/tools/staticdocs/assets/js/5b233ba7.9d6ba314.js +0 -1
- data/tools/staticdocs/assets/js/5bc719f6.6d27292c.js +0 -1
- data/tools/staticdocs/assets/js/5c6ce5ec.652b922b.js +0 -1
- data/tools/staticdocs/assets/js/5e3ed378.8b51f7c0.js +0 -1
- data/tools/staticdocs/assets/js/5fe211ef.63b46202.js +0 -1
- data/tools/staticdocs/assets/js/651.a043d7b1.js +0 -1
- data/tools/staticdocs/assets/js/6831b732.1318b398.js +0 -1
- data/tools/staticdocs/assets/js/696b4199.1e950fcb.js +0 -1
- data/tools/staticdocs/assets/js/6b210247.6a77064a.js +0 -1
- data/tools/staticdocs/assets/js/6b65133b.0376a397.js +0 -1
- data/tools/staticdocs/assets/js/6f92e431.6439052e.js +0 -1
- data/tools/staticdocs/assets/js/72c6d8a8.b6fcfc30.js +0 -1
- data/tools/staticdocs/assets/js/75e64983.324643a8.js +0 -1
- data/tools/staticdocs/assets/js/80c97f38.607160d3.js +0 -1
- data/tools/staticdocs/assets/js/867640d5.27d9d599.js +0 -1
- data/tools/staticdocs/assets/js/8f7843ee.abe30983.js +0 -1
- data/tools/staticdocs/assets/js/9357.9a7e89b5.js +0 -101
- data/tools/staticdocs/assets/js/9424f0b3.3683501c.js +0 -1
- data/tools/staticdocs/assets/js/964eb012.0e04c58d.js +0 -1
- data/tools/staticdocs/assets/js/97535711.e595488c.js +0 -1
- data/tools/staticdocs/assets/js/99581c43.841b4a2e.js +0 -1
- data/tools/staticdocs/assets/js/9d6e81d0.36405219.js +0 -1
- data/tools/staticdocs/assets/js/9fb6059a.821f7504.js +0 -1
- data/tools/staticdocs/assets/js/a677c089.cfa50691.js +0 -1
- data/tools/staticdocs/assets/js/a9987364.b418f772.js +0 -1
- data/tools/staticdocs/assets/js/a9b2dc27.805dc1ba.js +0 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.ef9b0f38.js +0 -1
- data/tools/staticdocs/assets/js/b062d239.57d6e194.js +0 -1
- data/tools/staticdocs/assets/js/b4596165.c648533a.js +0 -1
- data/tools/staticdocs/assets/js/b6d70f94.a9228642.js +0 -1
- data/tools/staticdocs/assets/js/b9f60ba6.4c0bb1dd.js +0 -1
- data/tools/staticdocs/assets/js/bd0034eb.8ad39448.js +0 -1
- data/tools/staticdocs/assets/js/c24eae19.0575c394.js +0 -1
- data/tools/staticdocs/assets/js/cb8c3f08.07d1c9e9.js +0 -1
- data/tools/staticdocs/assets/js/cd879be4.59af1749.js +0 -1
- data/tools/staticdocs/assets/js/d1b923aa.da892cde.js +0 -1
- data/tools/staticdocs/assets/js/d1bfc316.a58b9bbd.js +0 -1
- data/tools/staticdocs/assets/js/d24bf9b6.9fef8263.js +0 -1
- data/tools/staticdocs/assets/js/d57a4b5d.c74b62b1.js +0 -1
- data/tools/staticdocs/assets/js/d5d77c37.e812e6e7.js +0 -1
- data/tools/staticdocs/assets/js/d66bf9c0.80a50660.js +0 -1
- data/tools/staticdocs/assets/js/d8ca4191.8df86c99.js +0 -1
- data/tools/staticdocs/assets/js/d9b92eba.5db8667e.js +0 -1
- data/tools/staticdocs/assets/js/db8fa1d0.f1eed806.js +0 -1
- data/tools/staticdocs/assets/js/dbe31111.75e9fc53.js +0 -1
- data/tools/staticdocs/assets/js/dc5f7beb.9e4e6681.js +0 -1
- data/tools/staticdocs/assets/js/e501b0d1.d3a1e4bc.js +0 -1
- data/tools/staticdocs/assets/js/f15615f1.49804e96.js +0 -1
- data/tools/staticdocs/assets/js/fd886806.124ffe26.js +0 -1
- data/tools/staticdocs/assets/js/main.b1edeb65.js +0 -36
- data/tools/staticdocs/assets/js/runtime~main.3629ffb4.js +0 -1
- data/tools/staticdocs/lunr-index-1747245438937.json +0 -1
- data/tools/staticdocs/search-doc-1747245438937.json +0 -1
@@ -1,14 +1,17 @@
|
|
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-development/developing" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Developing COSMOS | 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/development/developing><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="Developing COSMOS | OpenC3 Docs"><meta data-rh=true name=description content="Building COSMOS and developing the frontend and backend"><meta data-rh=true property=og:description content="Building COSMOS and developing the frontend and backend"><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/development/developing><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.3629ffb4.js defer></script><script src=/tools/staticdocs/assets/js/main.b1edeb65.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/curl>Testing with Curl</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/development/developing>Developing COSMOS</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/development/json-api>JSON API</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/development/log-structure>Log Structure</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/development/roadmap>Roadmap</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/development/streaming-api>Streaming API</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/development/testing>Testing COSMOS</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/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Developing COSMOS</span><meta itemprop=position content=2></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Developing COSMOS</h1></header>
|
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-development/developing" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.0"><title data-rh=true>Developing COSMOS | 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/development/developing><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="Developing COSMOS | OpenC3 Docs"><meta data-rh=true name=description content="Building COSMOS and developing the frontend and backend"><meta data-rh=true property=og:description content="Building COSMOS and developing the frontend and backend"><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/development/developing><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing 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/development","name":"Development","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/development/developing","name":"Developing COSMOS","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1a361da6.css><script src=/tools/staticdocs/assets/js/runtime~main.ca894d1e.js defer></script><script src=/tools/staticdocs/assets/js/main.ba1fa268.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
|
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
|
+
</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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" 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/development/curl>Testing with Curl</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/development/developing>Developing COSMOS</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/development/json-api>JSON API</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/development/log-structure>Log Structure</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/development/roadmap>Roadmap</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/development/streaming-api>Streaming API</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/development/testing>Testing COSMOS</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/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/development><span>Development</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Developing COSMOS</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>Developing COSMOS</h1></header>
|
2
5
|
<p>So you want to help develop COSMOS? All of our COSMOS Core code is on <a href=https://github.com/ target=_blank rel="noopener noreferrer">Github</a> so the first thing to do is get an <a href=https://github.com/join target=_blank rel="noopener noreferrer">account</a>. Next <a href=https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository target=_blank rel="noopener noreferrer">clone</a> the <a href=https://github.com/openc3/cosmos target=_blank rel="noopener noreferrer">COSMOS</a> repository. We accept contributions from others as <a href=https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests target=_blank rel="noopener noreferrer">Pull Requests</a>.</p>
|
3
6
|
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=development-tools>Development Tools<a href=#development-tools class=hash-link aria-label="Direct link to Development Tools" title="Direct link to Development Tools"></a></h2>
|
4
|
-
<p>The
|
7
|
+
<p>The OpenC3 team develops with the <a href=https://code.visualstudio.com/ target=_blank rel="noopener noreferrer">Visual Studio Code</a> editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our <code>openc3.code-workspace</code> configuration for VSCode to help configure these plugins. You also need <a href=https://www.docker.com/products/docker-desktop target=_blank rel="noopener noreferrer">Docker Desktop</a> which you should already have as it is a requirement to run COSMOS. You'll also need <a href=https://nodejs.org/en/download/ target=_blank rel="noopener noreferrer">NodeJS</a> and <a href=https://yarnpkg.com/getting-started/install target=_blank rel="noopener noreferrer">yarn</a> installed.</p>
|
5
8
|
<h1>Building COSMOS</h1>
|
6
9
|
<p>Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts.</p>
|
7
10
|
<p>Build COSMOS using the <code>openc3.sh</code> script:</p>
|
8
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
11
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% ./openc3.sh build</span><br></span></code></pre></div></div>
|
9
12
|
<p>This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build!</p>
|
10
13
|
<p>Once the build completes you can see the built images with the following command:</p>
|
11
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
14
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> image </span><span class="token function" style="color:rgb(130, 170, 255)">ls</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">grep</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"openc3"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 </span><span class="token number" style="color:rgb(247, 140, 108)">29</span><span class="token plain"> hours ago 446MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a </span><span class="token number" style="color:rgb(247, 140, 108)">29</span><span class="token plain"> hours ago 431MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 </span><span class="token number" style="color:rgb(247, 140, 108)">3</span><span class="token plain"> days ago 432MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-operator latest 223e98129fe9 </span><span class="token number" style="color:rgb(247, 140, 108)">3</span><span class="token plain"> days ago 405MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-base latest 98df5c0378c2 </span><span class="token number" style="color:rgb(247, 140, 108)">3</span><span class="token plain"> days ago 405MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-redis latest 5a3003a49199 </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> days ago 111MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-traefik latest ec13a8d16a2f </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> days ago 104MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-minio latest 787f6e3fc0be </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> days ago 238MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-node latest b3ee86d3620a </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> days ago 372MB</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3inc/openc3-ruby latest aa158bbb9539 </span><span class="token number" style="color:rgb(247, 140, 108)">8</span><span class="token plain"> days ago 326MB</span><br></span></code></pre></div></div>
|
12
15
|
<div class="theme-admonition theme-admonition-info admonition_IZjC alert alert--info"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg></span>Offline Building</div><div class=admonitionContent_bl22><p>If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the <a href=https://github.com/openc3/cosmos/blob/main/.env target=_blank rel="noopener noreferrer">.env</a> file. Example values:<p>ALPINE_VERSION=3.19<br>
|
13
16
|
ALPINE_BUILD=7<br>
|
14
17
|
RUBYGEMS_URL=<a href=https://rubygems.org target=_blank rel="noopener noreferrer">https://rubygems.org</a><br>
|
@@ -16,20 +19,20 @@ NPM_URL=<a href=https://registry.npmjs.org target=_blank rel="noopener noreferre
|
|
16
19
|
APK_URL=<a href=http://dl-cdn.alpinelinux.org target=_blank rel="noopener noreferrer">http://dl-cdn.alpinelinux.org</a><br></div></div>
|
17
20
|
<h1>Running COSMOS</h1>
|
18
21
|
<p>Running COSMOS in development mode enables localhost access to internal API ports as well as sets <code>RAILS_ENV=development</code> in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode:</p>
|
19
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
22
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% ./openc3.sh run</span><br></span></code></pre></div></div>
|
20
23
|
<p>You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space):</p>
|
21
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
24
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">ps</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">IMAGE COMMAND PORTS NAMES</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3/openc3-cmd-tlm-api:latest </span><span class="token string" style="color:rgb(173, 219, 103)">"/sbin/tini -- rails…"</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1:2901-</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token number" style="color:rgb(247, 140, 108)">2901</span><span class="token plain">/tcp cosmos-openc3-cmd-tlm-api-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3/openc3-script-runner-api:latest </span><span class="token string" style="color:rgb(173, 219, 103)">"/sbin/tini -- rails…"</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1:2902-</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token number" style="color:rgb(247, 140, 108)">2902</span><span class="token plain">/tcp cosmos-openc3-script-runner-api-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3/openc3-traefik:latest </span><span class="token string" style="color:rgb(173, 219, 103)">"/entrypoint.sh trae…"</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">.0.0:2900-</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token number" style="color:rgb(247, 140, 108)">80</span><span class="token plain">/tcp cosmos-openc3-traefik-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3/openc3-operator:latest </span><span class="token string" style="color:rgb(173, 219, 103)">"/sbin/tini -- ruby …"</span><span class="token plain"> cosmos-openc3-operator-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3/openc3-minio:latest </span><span class="token string" style="color:rgb(173, 219, 103)">"/usr/bin/docker-ent…"</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1:9000-</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token number" style="color:rgb(247, 140, 108)">9000</span><span class="token plain">/tcp cosmos-openc3-minio-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3/openc3-redis:latest </span><span class="token string" style="color:rgb(173, 219, 103)">"docker-entrypoint.s…"</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1:6379-</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token number" style="color:rgb(247, 140, 108)">6379</span><span class="token plain">/tcp cosmos-openc3-redis-1</span><br></span></code></pre></div></div>
|
22
25
|
<p>If you go to localhost:2900 you should see COSMOS up and running!</p>
|
23
26
|
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=running-a-frontend-application>Running a Frontend Application<a href=#running-a-frontend-application class=hash-link aria-label="Direct link to Running a Frontend Application" title="Direct link to Running a Frontend Application"></a></h2>
|
24
27
|
<p>So now that you have COSMOS up and running how do you develop an individual COSMOS application?</p>
|
25
28
|
<ol>
|
26
29
|
<li>Bootstrap the frontend with yarn</li>
|
27
30
|
</ol>
|
28
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
31
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">openc3-init/plugins % </span><span class="token function" style="color:rgb(130, 170, 255)">yarn</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-init/plugins % </span><span class="token function" style="color:rgb(130, 170, 255)">yarn</span><span class="token plain"> build:common</span><br></span></code></pre></div></div>
|
29
32
|
<ol>
|
30
33
|
<li>Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc)</li>
|
31
34
|
</ol>
|
32
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
35
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">openc3-init % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> plugins/packages/openc3-tool-scriptrunner</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-tool-scriptrunner % </span><span class="token function" style="color:rgb(130, 170, 255)">yarn</span><span class="token plain"> serve</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">built </span><span class="token keyword" style="color:rgb(127, 219, 202)">in</span><span class="token plain"> 128722ms</span><br></span></code></pre></div></div>
|
33
36
|
<ol>
|
34
37
|
<li>
|
35
38
|
<p>Set the <a href=https://single-spa.js.org/ target=_blank rel="noopener noreferrer">single SPA</a> override for the application</p>
|
@@ -37,7 +40,7 @@ APK_URL=<a href=http://dl-cdn.alpinelinux.org target=_blank rel="noopener norefe
|
|
37
40
|
In the console paste:</p>
|
38
41
|
</li>
|
39
42
|
</ol>
|
40
|
-
<div class="language-javascript codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
43
|
+
<div class="language-javascript codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-javascript codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token dom variable" style="color:rgb(214, 222, 235)">localStorage</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token method function property-access" style="color:rgb(130, 170, 255)">setItem</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(173, 219, 103)">"devtools"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><br></span></code></pre></div></div>
|
41
44
|
<p>Refresh and you should see <code>{...}</code> in the bottom right<br>
|
42
45
|
Click the Default button next to the application (@openc3/tool-scriptrunner)<br>
|
43
46
|
Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner)</p>
|
@@ -50,11 +53,11 @@ Paste in the development path which is dependent on the port returned by the loc
|
|
50
53
|
<ol>
|
51
54
|
<li>Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations.</li>
|
52
55
|
</ol>
|
53
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
56
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> openc3-traefik</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-traefik % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">ps</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Look for the container with name including traefik</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-traefik % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> stop cosmos-openc3-traefik-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-traefik % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> build --build-arg </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">TRAEFIK_CONFIG</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">traefik-dev.yaml </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-t</span><span class="token plain"> openc3-traefik-dev </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">openc3-traefik % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> run </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--network</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">openc3-cosmos-network </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-p</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2900</span><span class="token plain">:2900 </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-it</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--rm</span><span class="token plain"> openc3-traefik-dev</span><br></span></code></pre></div></div>
|
54
57
|
<ol>
|
55
58
|
<li>Run a local copy of the cmd-tlm-api or script-runner-api</li>
|
56
59
|
</ol>
|
57
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
60
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> openc3-cosmos-cmd-tlm-api</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">ps</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Look for the container with name including cmd-tlm-api</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> stop cosmos-openc3-cosmos-cmd-tlm-api-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run the following on Windows:</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> dev_server.bat</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># In Linux, set all the environment variables in the .env file, but override REDIS to be local</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> -a</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">source</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">/.env</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> +a</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_REDIS_HOSTNAME</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_REDIS_EPHEMERAL_HOSTNAME</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % bundle </span><span class="token function" style="color:rgb(130, 170, 255)">install</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % bundle </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">exec</span><span class="token plain"> rails s</span><br></span></code></pre></div></div>
|
58
61
|
<ol>
|
59
62
|
<li>Once the <code>bundle exec rails s</code> command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect.</li>
|
60
|
-
</ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="
|
63
|
+
</ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development/curl><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Testing with Curl</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/json-api><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>JSON API</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#development-tools class="table-of-contents__link toc-highlight">Development Tools</a><li><a href=#running-a-frontend-application class="table-of-contents__link toc-highlight">Running a Frontend Application</a><li><a href=#running-a-backend-server class="table-of-contents__link toc-highlight">Running a Backend Server</a></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true class=iconExternalLink_awgD><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true class=iconExternalLink_awgD><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|
@@ -1,8 +1,11 @@
|
|
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-development/json-api" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>JSON API | 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/development/json-api><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="JSON API | OpenC3 Docs"><meta data-rh=true name=description content="Interfacing to the COSMOS APIs using JSON-RPC"><meta data-rh=true property=og:description content="Interfacing to the COSMOS APIs using JSON-RPC"><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/development/json-api><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.3629ffb4.js defer></script><script src=/tools/staticdocs/assets/js/main.b1edeb65.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item 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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/curl>Testing with Curl</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/development/developing>Developing COSMOS</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/development/json-api>JSON API</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/development/log-structure>Log Structure</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/development/roadmap>Roadmap</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/development/streaming-api>Streaming API</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/development/testing>Testing COSMOS</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/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>JSON API</span><meta itemprop=position content=2></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>JSON API</h1></header><div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the <a href=/tools/staticdocs/docs/guides/scripting-api>Scripting API Guide</a> page. If you're trying to interface to COSMOS from an external application using any language then this is the right place.</div></div>
|
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-development/json-api" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.0"><title data-rh=true>JSON API | 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/development/json-api><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="JSON API | OpenC3 Docs"><meta data-rh=true name=description content="Interfacing to the COSMOS APIs using JSON-RPC"><meta data-rh=true property=og:description content="Interfacing to the COSMOS APIs using JSON-RPC"><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/development/json-api><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api 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/development","name":"Development","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/development/json-api","name":"JSON API","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1a361da6.css><script src=/tools/staticdocs/assets/js/runtime~main.ca894d1e.js defer></script><script src=/tools/staticdocs/assets/js/main.ba1fa268.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs>
|
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
|
+
</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 menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" 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/development/curl>Testing with Curl</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/development/developing>Developing COSMOS</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/development/json-api>JSON API</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/development/log-structure>Log Structure</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/development/roadmap>Roadmap</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/development/streaming-api>Streaming API</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/development/testing>Testing COSMOS</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/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/development><span>Development</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>JSON API</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>JSON API</h1></header><div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the <a href=/tools/staticdocs/docs/guides/scripting-api>Scripting API Guide</a> page. If you're trying to interface to COSMOS from an external application using any language then this is the right place.</div></div>
|
2
5
|
<p>This document provides the information necessary for external applications to interact with COSMOS using the COSMOS API. External applications written in any language can send commands and retrieve individual telemetry points using this API. External applications also have the option of connecting to the COSMOS Command and Telemetry server to interact with raw tcp/ip streams of commands/telemetry. However, the COSMOS JSON API removes the requirement that external applications have knowledge of the binary formats of packets.</p>
|
3
6
|
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=authorization>Authorization<a href=#authorization class=hash-link aria-label="Direct link to Authorization" title="Direct link to Authorization"></a></h2>
|
4
7
|
<p>The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header.</p>
|
5
|
-
<div class="codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
8
|
+
<div class="language-text codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-text 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">Authorization: <token/password></span><br></span></code></pre></div></div>
|
6
9
|
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=json-rpc-20>JSON-RPC 2.0<a href=#json-rpc-20 class=hash-link aria-label="Direct link to JSON-RPC 2.0" title="Direct link to JSON-RPC 2.0"></a></h2>
|
7
10
|
<p>The COSMOS API implements a relaxed version of the <a href=http://www.jsonrpc.org/specification target=_blank rel="noopener noreferrer">JSON-RPC 2.0 Specification</a>. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal's such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a <code>"keyword_params"</code> object.</p>
|
8
11
|
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=socket-connections>Socket Connections<a href=#socket-connections class=hash-link aria-label="Direct link to Socket Connections" title="Direct link to Socket Connections"></a></h2>
|
@@ -22,7 +25,7 @@
|
|
22
25
|
<p>The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used.</p>
|
23
26
|
<table><thead><tr><th>Parameter<th>Data Type<th>Description<tbody><tr><td>target_name<td>String<td>Name of the target to send the command to<tr><td>command_name<td>String<td>The name of the command<tr><td>command_params<td>Hash<td>Optional hash of command parameters</table>
|
24
27
|
<p>Example Usage:</p>
|
25
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"method"</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)">"cmd"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"params"</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 string" style="color:rgb(173, 219, 103)">"INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"keyword_params"</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"DEFAULT"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"result"</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 string" style="color:rgb(173, 219, 103)">"INST"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"COLLECT"</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"DURATION"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TEMP"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TYPE"</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)">"NORMAL"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</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" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"method"</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)">"cmd"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"params"</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 string" style="color:rgb(173, 219, 103)">"INST"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"COLLECT"</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"DURATION"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TEMP"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TYPE"</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)">"NORMAL"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"keyword_params"</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"DEFAULT"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"result"</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 string" style="color:rgb(173, 219, 103)">"INST"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"COLLECT"</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"DURATION"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TEMP"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TYPE"</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)">"NORMAL"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre><div class=buttonGroup_TNwR><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_MVhB aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_yxgH><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_QJLJ><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
|
28
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"method"</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)">"cmd"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"params"</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 string" style="color:rgb(173, 219, 103)">"INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"keyword_params"</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"DEFAULT"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"result"</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 string" style="color:rgb(173, 219, 103)">"INST"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"COLLECT"</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"DURATION"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TEMP"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TYPE"</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)">"NORMAL"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</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" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"method"</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)">"cmd"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"params"</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 string" style="color:rgb(173, 219, 103)">"INST"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"COLLECT"</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"DURATION"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TEMP"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TYPE"</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)">"NORMAL"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"keyword_params"</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"DEFAULT"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"result"</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 string" style="color:rgb(173, 219, 103)">"INST"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"COLLECT"</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"DURATION"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TEMP"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TYPE"</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)">"NORMAL"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre></div></div>
|
26
29
|
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id=getting-telemetry>Getting Telemetry<a href=#getting-telemetry class=hash-link aria-label="Direct link to Getting Telemetry" title="Direct link to Getting Telemetry"></a></h3>
|
27
30
|
<p>The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units</p>
|
28
31
|
<p>The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end.</p>
|
@@ -32,7 +35,7 @@
|
|
32
35
|
<p>The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name.</p>
|
33
36
|
<table><thead><tr><th>Parameter<th>Data Type<th>Description<tbody><tr><td>target_name<td>String<td>Name of the target to get the telemetry value from<tr><td>packet_name<td>String<td>Name of the packet to get the telemetry value from<tr><td>item_name<td>String<td>Name of the telemetry item</table>
|
34
37
|
<p>Example Usage:</p>
|
35
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
38
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"method"</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)">"tlm"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"params"</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 string" style="color:rgb(173, 219, 103)">"INST HEALTH_STATUS TEMP1"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"keyword_params"</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"DEFAULT"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"result"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">94.9438</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</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" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"method"</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)">"tlm"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"params"</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 string" style="color:rgb(173, 219, 103)">"INST"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"HEALTH_STATUS"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"TEMP1"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"keyword_params"</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"DEFAULT"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)"><</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</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)">"2.0"</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"result"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">94.9438</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre></div></div>
|
36
39
|
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id=further-debugging>Further Debugging<a href=#further-debugging class=hash-link aria-label="Direct link to Further Debugging" title="Direct link to Further Debugging"></a></h2>
|
37
40
|
<p>If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation.</p>
|
38
41
|
<ol>
|
@@ -44,4 +47,4 @@
|
|
44
47
|
<li>View the request in the developer tool. Click the "Payload" sub-tab to view the JSON</li>
|
45
48
|
</ol>
|
46
49
|
<p>You can also try sending these raw commands from the terminal with a program like <code>curl</code>:</p>
|
47
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=
|
50
|
+
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-d</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}'</span><span class="token plain"> http://localhost:2900/openc3-api/api </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Authorization: password"</span><br></span></code></pre></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/json-api.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development/developing><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Developing COSMOS</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/log-structure><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Log Structure</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#authorization class="table-of-contents__link toc-highlight">Authorization</a><li><a href=#json-rpc-20 class="table-of-contents__link toc-highlight">JSON-RPC 2.0</a><li><a href=#socket-connections class="table-of-contents__link toc-highlight">Socket Connections</a><li><a href=#supported-methods class="table-of-contents__link toc-highlight">Supported Methods</a><li><a href=#existing-implementations class="table-of-contents__link toc-highlight">Existing Implementations</a><li><a href=#example-usage class="table-of-contents__link toc-highlight">Example Usage</a><ul><li><a href=#sending-commands class="table-of-contents__link toc-highlight">Sending Commands</a><li><a href=#getting-telemetry class="table-of-contents__link toc-highlight">Getting Telemetry</a></ul><li><a href=#further-debugging class="table-of-contents__link toc-highlight">Further Debugging</a></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true class=iconExternalLink_awgD><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true class=iconExternalLink_awgD><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|