-
Notifications
You must be signed in to change notification settings - Fork 92
NOS3 Ground Systems
NOS3 supports both Ball Aerospace's COSMOS 4 and OpenC3's COSMOS 5 Ground Software out of the box, with a parameter in the Master Config file to switch between them. COSMOS 4 is lighter weight and easy to use, while COSMOS 5 is more performance heavy and slightly more difficult to use, but is actively developed.
COSMOS 4 is an open source ground system developed by Ball Aerospace (COSMOS 4) and is included with NOS3 to provide a lightweight ground system for the simulated spacecraft. COSMOS 4 is installed in its default directory and run from gsw/cosmos. The COSMOS 4 Launcher, and the windows launched by the COSMOS button are pictured below.
The link to a Ground Station is completed by two applications in cFS. These are the command ingest (CI) and telemetry output (TO) applications. In NOS3 these apps utilize UDP to communicate and are not meant for flight operations. Communications is further split between the Debug and Radio channels, which connect to different UDP ports, the former directly, the second through the Radio Component. The Debug CI and TO links are active by default, however Radio TO link is closed by default on start-up, but can be activated by sending a specific command packet. Commanding is done by using the Command Sender tool in COSMOS 4, which should open up after pressing the 'COSMOS' Key on the launcher, as it is one of the core windows. The Radio TO link is enabled using the target named ‘CFS_RADIO’ with a single command to ‘TO_ENABLE_OUTPUT_CC’. Once sent, the TO app will reply stating that telemetry is enabled. This is demonstrated in the screenshots below. It should be noted that only telemetry listed in the ‘to_config.h’ will be captured. Additional telemetry can be appended as necessary.
COSMOS 5 is an open source ground system provided via OpenC3 (originally developed by Ball Aerospace) (COSMOS 5) and is included with NOS3 to provide a modern, web-based ground station for the simulated spacecraft. COSMOS 5 is installed in its default directory and run from gsw/cosmos. The COSMOS 5 interface is pictured below.
The link to a Ground Station is completed by two applications in cFS. These are the command ingest (CI) and telemetry output (TO) applications. In NOS3 these apps utilize UDP to communicate and are not meant for flight operations. Communications is further split between the Debug and Radio channels, which connect to different UDP ports, the former directly, the second through the Radio Component. The Debug CI and TO links are active by default, however Radio TO link is closed by default on start-up, but can be activated by sending a specific command packet. Commanding is done by using the Command Sender tool in COSMOS 5, accessible from the main screen. The Radio TO link can be started using the target named ‘CFS_RADIO’ with a single command to ‘TO_ENABLE_OUTPUT_CC’. Once sent, the TO app will reply stating that telemetry is enabled. This is demonstrated in the screenshot below. It should be noted that only telemetry listed in the ‘to_config.h’ will be captured. Additional telemetry can be appended as necessary.
The Ground System may be toggled using the gsw
parameter in the nos3-mission.xml file in the cfg folder. cosmos
will set it to COSMOS4, and openc3
will set it to COSMOS 5. The screenshot below shows the default, COSMOS 4 configuration. Note that in order to switch, if you've run NOS3 previous on you VM, you need to run make stop-gsw
before it will launch properly. This must be run before you run make clean
, or else you'll need to remake, run make stop-gsw
, then run make clean
, make prep
, make
, and make launch
, and you should have you desired ground system running.
All communications to, from, and internal to cFS, regardless of which Ground System you are using, are formatted using the CCSDS standard packet type with the secondary header enabled. This secondary header allows the specific command to be passed to the application specified in the primary header. COSMOS requires knowledge of these commands and telemetry structures to be able to construct and interpret them as needed. An example is provided below:
- Home
- NOS3 Architecture
- NOS Engine
- NOS3 Ground Systems
- NOS3 Install, Build, Run
- NOS3 Components, Repository and Directory Structure
- NOS3 Running Executables and Windows
- NOS3 Workflows
- NOS3 Hardware Simulator Framework / Example Simulator
- NOS3 42 Orbit and Attitude Dynamics
- NOS3 cFS Development
- NOS3 Component Directory
- NOS3 Component Development Flow
- NOS3 Custom cFS Table Development
- NOS3 OIPP
- CryptoLib
- NOS3 Igniter