OpenC3/cosmos

View on GitHub
docs/assets/js/848bfa8e.7632fffc.js

Summary

Maintainability
A
0 mins
Test Coverage
"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[4619],{8912:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"Introduction","href":"/docs/","docId":"introduction","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/docs/getting-started/installation","docId":"getting-started/installation","unlisted":false},{"type":"link","label":"Getting Started","href":"/docs/getting-started/gettingstarted","docId":"getting-started/gettingstarted","unlisted":false},{"type":"link","label":"Code Generators","href":"/docs/getting-started/generators","docId":"getting-started/generators","unlisted":false},{"type":"link","label":"Upgrading","href":"/docs/getting-started/upgrading","docId":"getting-started/upgrading","unlisted":false},{"type":"link","label":"Key Concepts","href":"/docs/getting-started/key_concepts","docId":"getting-started/key_concepts","unlisted":false},{"type":"link","label":"Requirements and Design","href":"/docs/getting-started/requirements","docId":"getting-started/requirements","unlisted":false},{"type":"link","label":"Podman","href":"/docs/getting-started/podman","docId":"getting-started/podman","unlisted":false}],"href":"/docs/getting-started"},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"File Format","href":"/docs/configuration/format","docId":"configuration/format","unlisted":false},{"type":"link","label":"Plugins","href":"/docs/configuration/plugins","docId":"configuration/plugins","unlisted":false},{"type":"link","label":"Targets","href":"/docs/configuration/target","docId":"configuration/target","unlisted":false},{"type":"link","label":"Commands","href":"/docs/configuration/command","docId":"configuration/command","unlisted":false},{"type":"link","label":"Telemetry","href":"/docs/configuration/telemetry","docId":"configuration/telemetry","unlisted":false},{"type":"link","label":"Interfaces","href":"/docs/configuration/interfaces","docId":"configuration/interfaces","unlisted":false},{"type":"link","label":"Protocols","href":"/docs/configuration/protocols","docId":"configuration/protocols","unlisted":false},{"type":"link","label":"Tables","href":"/docs/configuration/table","docId":"configuration/table","unlisted":false},{"type":"link","label":"Screens","href":"/docs/configuration/telemetry-screens","docId":"configuration/telemetry-screens","unlisted":false},{"type":"link","label":"SSL-TLS","href":"/docs/configuration/ssl-tls","docId":"configuration/ssl-tls","unlisted":false}],"href":"/docs/configuration"},{"type":"category","label":"Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Autonomic (Enterprise)","href":"/docs/tools/autonomic","docId":"tools/autonomic","unlisted":false},{"type":"link","label":"Bucket Explorer","href":"/docs/tools/bucket-explorer","docId":"tools/bucket-explorer","unlisted":false},{"type":"link","label":"Calendar (Enterprise)","href":"/docs/tools/calendar","docId":"tools/calendar","unlisted":false},{"type":"link","label":"Command Sender","href":"/docs/tools/cmd-sender","docId":"tools/cmd-sender","unlisted":false},{"type":"link","label":"Command and Telemetry Server","href":"/docs/tools/cmd-tlm-server","docId":"tools/cmd-tlm-server","unlisted":false},{"type":"link","label":"Data Extractor","href":"/docs/tools/data-extractor","docId":"tools/data-extractor","unlisted":false},{"type":"link","label":"Data Viewer","href":"/docs/tools/data-viewer","docId":"tools/data-viewer","unlisted":false},{"type":"link","label":"Handbooks","href":"/docs/tools/handbooks","docId":"tools/handbooks","unlisted":false},{"type":"link","label":"Limits Monitor","href":"/docs/tools/limits-monitor","docId":"tools/limits-monitor","unlisted":false},{"type":"link","label":"Packet Viewer","href":"/docs/tools/packet-viewer","docId":"tools/packet-viewer","unlisted":false},{"type":"link","label":"Script Runner","href":"/docs/tools/script-runner","docId":"tools/script-runner","unlisted":false},{"type":"link","label":"Table Manager","href":"/docs/tools/table-manager","docId":"tools/table-manager","unlisted":false},{"type":"link","label":"Telemetry Grapher","href":"/docs/tools/tlm-grapher","docId":"tools/tlm-grapher","unlisted":false},{"type":"link","label":"Telemetry Viewer","href":"/docs/tools/tlm-viewer","docId":"tools/tlm-viewer","unlisted":false}],"href":"/docs/tools"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bridges","href":"/docs/guides/bridges","docId":"guides/bridges","unlisted":false},{"type":"link","label":"COSMOS and NASA cFS","href":"/docs/guides/cfs","docId":"guides/cfs","unlisted":false},{"type":"link","label":"Custom Widgets","href":"/docs/guides/custom-widgets","docId":"guides/custom-widgets","unlisted":false},{"type":"link","label":"Little Endian Bitfields","href":"/docs/guides/little-endian-bitfields","docId":"guides/little-endian-bitfields","unlisted":false},{"type":"link","label":"Local Mode","href":"/docs/guides/local-mode","docId":"guides/local-mode","unlisted":false},{"type":"link","label":"Logging","href":"/docs/guides/logging","docId":"guides/logging","unlisted":false},{"type":"link","label":"Monitoring","href":"/docs/guides/monitoring","docId":"guides/monitoring","unlisted":false},{"type":"link","label":"Performance","href":"/docs/guides/performance","docId":"guides/performance","unlisted":false},{"type":"link","label":"Raspberry Pi","href":"/docs/guides/raspberrypi","docId":"guides/raspberrypi","unlisted":false},{"type":"link","label":"Script Writing Guide","href":"/docs/guides/script-writing","docId":"guides/script-writing","unlisted":false},{"type":"link","label":"Scripting API Guide","href":"/docs/guides/scripting-api","docId":"guides/scripting-api","unlisted":false}],"href":"/docs/guides"},{"type":"category","label":"Development","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing with Curl","href":"/docs/development/curl","docId":"development/curl","unlisted":false},{"type":"link","label":"Developing COSMOS","href":"/docs/development/developing","docId":"development/developing","unlisted":false},{"type":"link","label":"Host Install","href":"/docs/development/host-install","docId":"development/host-install","unlisted":false},{"type":"link","label":"JSON API","href":"/docs/development/json-api","docId":"development/json-api","unlisted":false},{"type":"link","label":"Log Structure","href":"/docs/development/log-structure","docId":"development/log-structure","unlisted":false},{"type":"link","label":"Roadmap","href":"/docs/development/roadmap","docId":"development/roadmap","unlisted":false},{"type":"link","label":"Streaming API","href":"/docs/development/streaming-api","docId":"development/streaming-api","unlisted":false},{"type":"link","label":"Testing COSMOS","href":"/docs/development/testing","docId":"development/testing","unlisted":false}],"href":"/docs/development"},{"type":"category","label":"Meta","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Contributing","href":"/docs/meta/contributing","docId":"meta/contributing","unlisted":false},{"type":"link","label":"Understanding Licenses","href":"/docs/meta/licenses","docId":"meta/licenses","unlisted":false},{"type":"link","label":"Philosophy","href":"/docs/meta/philosophy","docId":"meta/philosophy","unlisted":false},{"type":"link","label":"XTCE Support","href":"/docs/meta/xtce","docId":"meta/xtce","unlisted":false}],"href":"/docs/meta"},{"type":"link","label":"OpenC3, Inc. Privacy Policy","href":"/docs/privacy","docId":"privacy","unlisted":false}]},"docs":{"configuration/command":{"id":"configuration/command","title":"Commands","description":"Command Definition Files","sidebar":"defaultSidebar"},"configuration/format":{"id":"configuration/format","title":"File Format","description":"COSMOS configuration files are just text files. They can (and should) be checked into your configuration management system and thus can be easily diffed throughout their history. They support ERB syntax, partials, and various line continuations which make them extremely flexible.","sidebar":"defaultSidebar"},"configuration/interfaces":{"id":"configuration/interfaces","title":"Interfaces","description":"Interfaces are the connection to the external embedded systems called targets. Interfaces are defined by the top level INTERFACE keyword in the plugin.txt file.","sidebar":"defaultSidebar"},"configuration/plugins":{"id":"configuration/plugins","title":"Plugins","description":"Introduction","sidebar":"defaultSidebar"},"configuration/protocols":{"id":"configuration/protocols","title":"Protocols","description":"Protocols process data on behalf of an Interface. They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol.","sidebar":"defaultSidebar"},"configuration/ssl-tls":{"id":"configuration/ssl-tls","title":"SSL-TLS","description":"COSMOS 5 is a container based service which does not use SSL/TLS out of the box. This guide will help you configure SSL and TLS. Learn more at the Traefik docs.","sidebar":"defaultSidebar"},"configuration/table":{"id":"configuration/table","title":"Tables","description":"Table Definition Files","sidebar":"defaultSidebar"},"configuration/target":{"id":"configuration/target","title":"Targets","description":"Targets are the external embedded systems that COSMOS connects to. Targets are defined by the top level TARGET keyword in the plugin.txt file. Each target is self contained in a target directory named after the target. In the root of the target directory there is a configuration file named target.txt which configures the individual target.","sidebar":"defaultSidebar"},"configuration/telemetry":{"id":"configuration/telemetry","title":"Telemetry","description":"Telemetry Definition Files","sidebar":"defaultSidebar"},"configuration/telemetry-screens":{"id":"configuration/telemetry-screens","title":"Screens","description":"This document provides the information necessary to generate and use COSMOS Telemetry Screens, which are displayed by the COSMOS Telemetry Viewer application.","sidebar":"defaultSidebar"},"development/curl":{"id":"development/curl","title":"Testing with Curl","description":"This information is just generally used behind the scenes in COSMOS tools","sidebar":"defaultSidebar"},"development/developing":{"id":"development/developing","title":"Developing COSMOS","description":"So you want to help develop COSMOS? All of our open source COSMOS code is on Github so the first thing to do is get an account. Next clone the COSMOS repository. We accept contributions from others as Pull Requests.","sidebar":"defaultSidebar"},"development/host-install":{"id":"development/host-install","title":"Host Install","description":"Installing COSMOS Directly onto a Host (No Containers)","sidebar":"defaultSidebar"},"development/json-api":{"id":"development/json-api","title":"JSON API","description":"If you\'re looking for the methods available to write test procedures using the COSMOS scripting API, refer to the Scripting API Guide page. If you\'re trying to interface to a COSMOS Command and Telemetry Server from an external application using any language then this is the right place.","sidebar":"defaultSidebar"},"development/log-structure":{"id":"development/log-structure","title":"Log Structure","description":"Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0","sidebar":"defaultSidebar"},"development/roadmap":{"id":"development/roadmap","title":"Roadmap","description":"Key Features Still to Come in OpenC3 COSMOS 5.x:","sidebar":"defaultSidebar"},"development/streaming-api":{"id":"development/streaming-api","title":"Streaming API","description":"This information is just generally used behind the scenes in COSMOS tools","sidebar":"defaultSidebar"},"development/testing":{"id":"development/testing","title":"Testing COSMOS","description":"Playwright","sidebar":"defaultSidebar"},"getting-started/generators":{"id":"getting-started/generators","title":"Code Generators","description":"The COSMOS Code Generators are built into the scripts openc3.sh and openc3.bat that are included in the COSMOS project (more about projects).","sidebar":"defaultSidebar"},"getting-started/gettingstarted":{"id":"getting-started/gettingstarted","title":"Getting Started","description":"Welcome to the OpenC3 COSMOS system... Let\'s get started! This guide is a high level overview that will help with setting up your first COSMOS project.","sidebar":"defaultSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"Installing OpenC3 COSMOS","sidebar":"defaultSidebar"},"getting-started/key_concepts":{"id":"getting-started/key_concepts","title":"Key Concepts","description":"Projects","sidebar":"defaultSidebar"},"getting-started/podman":{"id":"getting-started/podman","title":"Podman","description":"OpenC3 COSMOS Using Rootless Podman and Docker-Compose","sidebar":"defaultSidebar"},"getting-started/requirements":{"id":"getting-started/requirements","title":"Requirements and Design","description":"OpenC3 COSMOS is a command and control system providing commanding, scripting, and data visualization capabilities for embedded systems and systems of systems. COSMOS is intended for use during all phases of testing (board, box, integrated system) and during operations.","sidebar":"defaultSidebar"},"getting-started/upgrading":{"id":"getting-started/upgrading","title":"Upgrading","description":"COSMOS Upgrades","sidebar":"defaultSidebar"},"guides/bridges":{"id":"guides/bridges","title":"Bridges","description":"COSMOS Bridges provide an easy solution for getting data from devices that don\'t speak Ethernet into COSMOS.","sidebar":"defaultSidebar"},"guides/cfs":{"id":"guides/cfs","title":"COSMOS and NASA cFS","description":"Working configuration","sidebar":"defaultSidebar"},"guides/custom-widgets":{"id":"guides/custom-widgets","title":"Custom Widgets","description":"COSMOS allows you to build custom widgets which can be deployed with your plugin and used in Telemetry Viewer. Building custom widgets can utilize any javascript frameworks but since COSMOS is written with Vue.js, we will use that framework in this tutorial. Please see the Widget Generator guide for information about generating the scaffolding for a custom widget.","sidebar":"defaultSidebar"},"guides/little-endian-bitfields":{"id":"guides/little-endian-bitfields","title":"Little Endian Bitfields","description":"Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields.","sidebar":"defaultSidebar"},"guides/local-mode":{"id":"guides/local-mode","title":"Local Mode","description":"Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions.","sidebar":"defaultSidebar"},"guides/logging":{"id":"guides/logging","title":"Logging","description":"The COSMOS Bucket Explorer tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to http2900/tools/bucketexplorer and you should see the list of buckets at the top:","sidebar":"defaultSidebar"},"guides/monitoring":{"id":"guides/monitoring","title":"Monitoring","description":"Monitoring and observability","sidebar":"defaultSidebar"},"guides/performance":{"id":"guides/performance","title":"Performance","description":"The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only COSMOS Enterprise Edition supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance.","sidebar":"defaultSidebar"},"guides/raspberrypi":{"id":"guides/raspberrypi","title":"Raspberry Pi","description":"COSMOS Running on Raspberry Pi 4","sidebar":"defaultSidebar"},"guides/script-writing":{"id":"guides/script-writing","title":"Script Writing Guide","description":"Introduction","sidebar":"defaultSidebar"},"guides/scripting-api":{"id":"guides/scripting-api","title":"Scripting API Guide","description":"This document provides the information necessary to write test procedures using the COSMOS scripting API. Scripting in COSMOS is designed to be simple and intuitive. The code completion ability for command and telemetry mnemonics makes Script Runner the ideal place to write your procedures, however any text editor will do. If there is functionality that you don\'t see here or perhaps an easier syntax for doing something, please submit a ticket.","sidebar":"defaultSidebar"},"introduction":{"id":"introduction","title":"Introduction","description":"This site aims to be a comprehensive guide to OpenC3 COSMOS. We\'ll cover topics such","sidebar":"defaultSidebar"},"meta/contributing":{"id":"meta/contributing","title":"Contributing","description":"So you\'ve got an awesome idea to throw into COSMOS. Great! This is the basic process:","sidebar":"defaultSidebar"},"meta/licenses":{"id":"meta/licenses","title":"Understanding Licenses","description":"OpenC3 COSMOS is offered under a tri-licensing model allowing users to choose between the following three options:","sidebar":"defaultSidebar"},"meta/philosophy":{"id":"meta/philosophy","title":"Philosophy","description":"COSMOS is a C3 (Command, Control and Communication) system with the following primary goals:","sidebar":"defaultSidebar"},"meta/xtce":{"id":"meta/xtce","title":"XTCE Support","description":"COSMOS now has support for the XTCE Command and Telemetry Definition Standard. This is an open standard designed to allow command and telemetry definitions to be transferred between different ground systems. COSMOS can run directly using the .xtce files, or can convert them into the COSMOS configuration file format.","sidebar":"defaultSidebar"},"privacy":{"id":"privacy","title":"OpenC3, Inc. Privacy Policy","description":"OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR.","sidebar":"defaultSidebar"},"tools/autonomic":{"id":"tools/autonomic","title":"Autonomic (Enterprise)","description":"Introduction","sidebar":"defaultSidebar"},"tools/bucket-explorer":{"id":"tools/bucket-explorer","title":"Bucket Explorer","description":"Introduction","sidebar":"defaultSidebar"},"tools/calendar":{"id":"tools/calendar","title":"Calendar (Enterprise)","description":"Introduction","sidebar":"defaultSidebar"},"tools/cmd-sender":{"id":"tools/cmd-sender","title":"Command Sender","description":"Introduction","sidebar":"defaultSidebar"},"tools/cmd-tlm-server":{"id":"tools/cmd-tlm-server","title":"Command and Telemetry Server","description":"Introduction","sidebar":"defaultSidebar"},"tools/data-extractor":{"id":"tools/data-extractor","title":"Data Extractor","description":"Introduction","sidebar":"defaultSidebar"},"tools/data-viewer":{"id":"tools/data-viewer","title":"Data Viewer","description":"Introduction","sidebar":"defaultSidebar"},"tools/handbooks":{"id":"tools/handbooks","title":"Handbooks","description":"Introduction","sidebar":"defaultSidebar"},"tools/limits-monitor":{"id":"tools/limits-monitor","title":"Limits Monitor","description":"Introduction","sidebar":"defaultSidebar"},"tools/packet-viewer":{"id":"tools/packet-viewer","title":"Packet Viewer","description":"Introduction","sidebar":"defaultSidebar"},"tools/script-runner":{"id":"tools/script-runner","title":"Script Runner","description":"Introduction","sidebar":"defaultSidebar"},"tools/table-manager":{"id":"tools/table-manager","title":"Table Manager","description":"Introduction","sidebar":"defaultSidebar"},"tools/tlm-grapher":{"id":"tools/tlm-grapher","title":"Telemetry Grapher","description":"Introductions","sidebar":"defaultSidebar"},"tools/tlm-viewer":{"id":"tools/tlm-viewer","title":"Telemetry Viewer","description":"Introduction","sidebar":"defaultSidebar"}}}}')}}]);