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
├── config
| ├── dart (optional)
| ├── data
| ├── system
| ├── targets
| | ├── TARGET
| | | ├── cmd_tlm
| | | ├── lib
| | | ├── procedures
| | | ├── screens
| | | ├── sequences
| | | ├── tables
| | | ├── tools
| | | | ├── table_manager
| | | | └── ...
| | | ├── cmd_tlm_server.txt
| | | └── target.txt
| | └── ...
| └── tools
| | ├── cmd_tlm_server
| | └── ...
├── lib
├── outputs
| ├── dart (optional)
| ├── handbooks
| ├── logs
| ├── saved_config
| ├── sequences
| ├── tables
| └── tmp
├── procedures
├── tools
| ├── mac
| └── ...
An overview of what each of these does:
File / Directory | Description |
---|---|
|
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. |
|
A small script used to launch the COSMOS Launcher application. |
|
Windows batch file used to launch the COSMOS Launcher application from Windows explorer. |
|
The Rakefile contains user modifiable scripts to perform common tasks using the ruby |
|
The config folder contains all of the configuration necessary for a COSMOS project. |
|
The config/dart folder contains the DART Gemfile along with any other configuration files needed by the DART application. |
|
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. |
|
The config/system folder contains system.txt one of the first files you may need to edit for you COSMOS configuration. |
|
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/TARGET 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/TARGET/cmd_tlm contains command and telemetry definition files for the target. See Command and Telemetry Configuration for more information. |
|
config/targets/TARGET/lib contains any custom code required by the target. Often this includes a custom Interface class. See Interfaces for more information. |
|
config/targets/TARGET/procedures contains target specific procedures which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the Scripting Guide for more information. |
|
config/targets/TARGET/screens contains telemetry screens for the target. See Screen Configuration for more information. |
|
config/targets/TARGET/sequences contains command sequences for the target. These are specific files used by the COSMOS Command Sequence tool. |
|
config/targets/TARGET/tables contains binary tables for the target. These are specific files used by the COSMOS Table Manager tool. |
|
config/targets/TARGET/tools contains target specific configuration files for the COSMOS applications. Most tools support configuration but do not require it. |
|
config/targets/TARGET/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/TARGET/target.txt contains target specific configuration such as which command parameters should be ignored by Command Sender. See Target Configuration for more information. |
|
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 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. |
|
The lib folder contains shared custom code written for the COSMOS configuration. This is also the place to override default COSMOS functionality. To do this you need to mirror the COSMOS directly structure and naming. First create a 'cosmos' directory and then add sub-folders and files which mirror the COSMOS source. |
|
The outputs folder contains all files generated by COSMOS applications. |
|
The outputs/dart folder contains the data and logs directories which DART uses to log the incoming command and telemetry data and log DART application status. |
|
The outputs/handbooks folder contains command and telemetry handbooks generated by Handbook Creator. |
|
The outputs/logs folder contains packet and message logs. |
|
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. If you are running in production and collecting results these configurations should be saved (configuration managed) so you can re-parse the binary log data collected. |
|
The outputs/sequences folder contains sequence files generated by Command Sequence. |
|
The outputs/tables folder contains table files generated by Table Manager. |
|
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. |
|
The procedures folder is the default location for storing COSMOS test and operations procedures. See the Scripting Guide for more information. |
|
The tools folder contains the scripts used to launch each of the COSMOS tools. |
|
The tools/mac folder contains Mac application bundles used to launch the COSMOS tools on Mac computers. |