Git Product home page Git Product logo

cosmos's Introduction

Ball Aerospace is suspending further development of the COSMOS open source software and will no longer upgrade the platform beyond Version 5. For the time being, if you need technical assistance in support of Version 5 or earlier versions, please contact [email protected]. Any changes to the support available will be communicated in the future.

Welcome to Ball Aerospace COSMOS

"The User Interface for Embedded Systems"

Cosmos 5 Playwright Tests
Cosmos 5 Ruby Unit Tests
Cosmos 5 API Tests
Code Climate
Codecov

Documentation

Ball Aerospace COSMOS provides all the functionality needed to send commands to and receive data from one or more embedded systems referred to as "targets". Out of the box functionality includes: Telemetry Display, Telemetry Graphing, Operational and Test Scripting, Command Sending, Logging, Log File Playback, and more.

So what can you use this for? We use it to test about everything we create and COSMOS is great for automating embedded systems testing or operation. It can provide a fully featured user interface to any piece of hardware that provides an electronic way of communicating with it (TCP/IP, UDP, Serial, etc). Potential uses range from testing embedded systems, to home automation, to verifying cell phones, to helping you make that next great thing that changes the world! The sky is the limit...

After configuring COSMOS to talk to your hardware, you immediately can use the following tools:

  1. Command and Telemetry Server

    • This provides status of all the target connections within the Ball Aerospace COSMOS system. It provides allows interfaces to be connected and disconnected and allows raw packet data to be viewed.
  2. Limits Monitor

    • The Limits Monitor tool provides an overview of all telemetry points in the system that are currently out of limits. It also maintains a log of limits changes and continues to display items that have gone out of limits even after they have been restored to green status.
  3. Command Sender

    • Command Sender allows you to manually send one-off commands with conventient drop downs and descriptions of each command and command parameter.
  4. Script Runner

    • Script Runner allows for running COSMOS test procedures or any other Ruby code from a graphical environment that highlights each line as it executes. At anytime during execution, the script can be paused or stopped. If a telemetry check fails or any other exception occurs, the script is immediately stopped and the user notified.

    • Script Runner also allows you to break your operational or test procedures down into discreet test cases that each complete with either SUCCESS or FAILURE. After running, a test report is automatically created for you. Convenient features such as the ability to loop testing help get the kinks out of your system before formal runs.

  5. Packet Viewer

    • Packet Viewer provide a simple key value list of each telemetry item in the system giving you full view of the most recent realtime value of any telemetry point.
  6. Telemetry Viewer

    • Create custom organized telemetry screens using a wide variety of available telemetry widgets for display. Provide exactly the views that your users need to see for each subsystem in you system.
  7. Telemetry Grapher

    • Realtime and offline line graphing of telemetry points. Multiple telemetry points per graphs and multiple graphs per window allow you to efficiently organize your data. Great for graphing temperatures and voltages both in realtime and post-test.
  8. Extractor

    • Used for offline analysis of command and telemetry data. Extracts a given list of items into a CSV file for further analysis in other tools such as Excel or Matlab.

COSMOS is built and maintained by Ball Aerospace & Technologies Corp.

Getting Started

  1. See the Installation Guide for detailed instructions.

  2. Follow the Getting Started to start developing your configuration.

Docker

See our Docker documentation here: COSMOS Docker Directions

Contributing

We encourage you to contribute to COSMOS!

Contributing is easy.

  1. Fork the project
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Before any contributions can be incorporated we do require all contributors to sign a Contributor License Agreement here: Contributor License Agreement

This protects both you and us and you retain full rights to any code you write.

Personally identifying information gathered as part of the CLA process is only used to ensure that contributions to the COSMOS project are done by known individuals who certify that code is authorized to be submitted to the project and is free from patents and other encumbrances. Access to this data is only available to COSMOS project leadership and is not used for any other purpose.

FOR ALL CONTRIBUTIONS TO THE COSMOS PROJECT, EVEN IF A CLA HAS NOT BEEN FILLED OUT, BALL AEROSPACE MAINTAINS ALL RIGHTS TO ALL CODE IN THE COSMOS PROJECT INCLUDING THE RIGHT TO LICENSE IT UNDER COMMERCIAL TERMS.

License

Ball Aerospace COSMOS is released under the AGPL v3 with a few addendums. See LICENSE.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.