"The User Interface for Embedded Systems"
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:
Command and Telemetry Server
Limits Monitor
Command Sender
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.
Packet Viewer
Telemetry Viewer
Telemetry Grapher
Extractor
COSMOS is built and maintained by Ball Aerospace & Technologies Corp.
See the Installation Guide for detailed instructions.
Follow the Getting Started to start developing your configuration.
See our Docker documentation here: COSMOS Docker Directions
We encourage you to contribute to COSMOS!
Contributing is easy.
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.
Ball Aerospace COSMOS is released under the AGPL v3 with a few addendums. See LICENSE.txt