Directory structure

Configuring COSMOS for your hardware unlocks all of its functionality for your system.

COSMOS Configuration is organized into the following directory structure with all files having a well defined location:

.
├── Gemfile
├── Launcher
├── Launcher.bat
├── Rakefile
├── userpath.txt
├── config
|   ├── data
|   ├── system
|   ├── targets
|   |   ├── TARGETNAME
|   |   |   ├── cmd_tlm_server.txt
|   |   |   ├── target.txt
|   |   |   ├── cmdtlm
|   |   |   ├── lib
|   |   |   └── screens
|   |   └── ...
|   └── tools
|   |   ├── cmd_tlm_server
|   |   └── ...
├── lib
├── outputs
|   ├── handbooks
|   ├── logs
|   ├── saved_config
|   ├── tables
|   └── tmp
├── procedures
├── tools
|   ├── mac
|   └── ...

An overview of what each of these does:

File / DirectoryDescription

Gemfile

Defines the gems and their versions used by your COSMOS configuration. If you want to use other gems in your cosmos project you should add them here and then run "bundle install" from the command line. See the Bundler documents and our Upgrading section for more information.

Launcher

A small script used to launch the COSMOS Launcher application. ruby Launcher

Launcher.bat

Windows batch file used to launch the COSMOS Launcher application from Windows explorer.

Rakefile

The Rakefile contains user modifiable scripts to perform common tasks using the ruby rake application. By default it comes with a script that is used to calculate CRCs over the project's files. rake crc

userpath.txt

This is a special file used by COSMOS to determine the root folder of a COSMOS configuration. DO NOT DELETE.

config

The config folder contains all of the configuration necessary for a COSMOS project.

config/ data

The config/data folder contains data shared between applications such as images. It also contains the crc.txt file that holds the expected CRCs for each of the configurations files.

config/ system

The config/system folder contains system.txt one of the first files you may need to edit for you COSMOS configuration. system.txt contains settings common to all of the COSMOS applications. It is also defines the targets that make up your COSMOS configuration. See System Configuration for all the details.

config/ targets

The config/targets folder contains the configuration for each target that is to be commanded or receive telemetry (data) from in a COSMOS configuration. Target folders should be named after the name of the target and be ALL CAPS.

config/ targets/ TARGETNAME

config/targets/TARGETNAME folders contains the configuration for a target that is to be commanded or receive telemetry (data) from in a COSMOS configuration. Target folders should be named after the name of the target and be ALL CAPS.

config/ targets/ TARGETNAME/ cmd_tlm_server.txt

config/targets/TARGETNAME/cmd_tlm_server.txt contains a snippet of the configuration for the COSMOS Command and Telemetry Server that defines how to interface with the specific target. See Interface Configuration for more information.

config/ targets/ TARGETNAME/ target.txt

config/targets/TARGETNAME/target.txt contains target specific configuration such as which command parameters should be ignored by Command Sender. See System Configuration for more information.

config/ targets/ TARGETNAME/ cmdtlm

config/targets/TARGETNAME/cmdtlm contains command and telemetry definition files for the target. See Command and Telemetry Configuration for more information.

config/ targets/ TARGETNAME/ lib

config/targets/TARGETNAME/lib contains any custom code required by the target. Often this includes a custom Interface class. See Interfaces for more information.

config/ targets/ TARGETNAME/ screens

config/targets/TARGETNAME/screens contains telemetry screens for the target. See Screen Configuration for more information.

config/ tools

config/tools contains configuration files for the COSMOS applications. Most tools support configuration but do not require it. See Tool Configuration for more information.

config/ tools/ cmd_tlm_server

config/tools/cmd_tlm_server contains the configuration file for the COSMOS Command and Telemetry Server (by default cmd_tlm_server.txt). This file defines how to connect to each target in the COSMOS configuration. See System Configuration for more information.

lib

The lib folder contains shared custom code written for the COSMOS configuration.

outputs

The outputs folder contains all files generated by COSMOS applications.

outputs/ handbooks

The outputs/handbooks folder contains command and telemetry handbooks generated by Handbook Creator.

outputs/ logs

The outputs/logs folder contains packet and message logs.

outputs/ saved_config

The outputs/saved_config folder contains configuration saved by COSMOS. Every time COSMOS runs it saves the current configuration into this folder. Saved configurations are used to enable reading back old packet log files that may have been generated with a different packet configuration than the current configuration.

outputs/ tables

The outputs/tables folder contains table files generated by Table Manager.

outputs/ tmp

The outputs/tmp folder contains temporary files generated by the COSMOS tools. These are typically cache files to improve performance. They may be safely deleted at any time.

procedures

The procedures folder is the default location for storing COSMOS test and operations procedures.

tools

The tools folder contains the scripts used to launch each of the COSMOS tools.

tools/ mac

The tools/mac folder contains Mac application bundles used to launch the COSMOS tools on Mac computers.