Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/wiki/Scenario_Constellation_with_Lunar_Focus.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ You will notice that three flight software windows are opened with titles `sc0N
Once you start COSMOS, you will similarly see three telemetry debug interfaces in the command and telemetry server (`DEBUG_1`, `DEBUG_2`, and `DEBUG_3`).
This is shown in the figure below.

![MultipleSpacecraft](_static/scenario_multiple_spacecraft/MultipleSpacecraft.png)
![MultipleSpacecraft](_static/scenario_lunar_constellation/MultipleSpacecraft.png)

You can verify that telemetry is being received by examining the `Bytes Rx` column in the COSMOS Command and Telemetry Server window.

Expand All @@ -36,20 +36,20 @@ Click `Send` in the Command Sender window.
You should now see `SAMPLE: NOOP command received` in the `sc01 - NOS3 Flight Software` window and the `CMD_COUNT` increase to 1 in the Packet Viewer.
This is shown below:

![SendingCommand](_static/scenario_multiple_spacecraft/SendingCommand.png)
![SendingCommand](_static/scenario_lunar_constellation/SendingCommand.png)

Now verify the same command and telemetry for spacecraft 2.
Send the command `SAMPLE_NOOP_CC` to target `SAMPLE_2`, and view the `sc02 - NOS3 Flight Software` window and the Packet Viewer, with target set to `SAMPLE_2` and packet set to `SAMPLE_HK_TLM`.
Send the command three times; verify that flight software receives it three times and that the `CMD_COUNT` increases to three.
This is shown below:

![SendingCommand2](_static/scenario_multiple_spacecraft/SendingCommand2.png)
![SendingCommand2](_static/scenario_lunar_constellation/SendingCommand2.png)

Finally, verify the same thing for spacecraft 3 in the same way.
Send the command 5 times and verify that it is received five times and that the `CMD_COUNT` increases to five.
This is shown below:

![SendingCommand3](_static/scenario_multiple_spacecraft/SendingCommand3.png)
![SendingCommand3](_static/scenario_lunar_constellation/SendingCommand3.png)

Note that this is presently only in the branch mentioned above; however, the NOS3 team expects to incorporate support for multiple spacecraft into a future release.

Expand Down Expand Up @@ -290,7 +290,7 @@ Add the necessary targets by duplicating the targets already in that file.
Simply duplicate the **Component** Targets 3 times, renaming each target for each spacecraft.
For example:

![cmd_tlm_server_ref](./_static/scenario_multiple_spacecraft/system_ref.png)
![cmd_tlm_server_ref](./_static/scenario_lunar_constellation/system_ref.png)

Once all the targets are duplicated for the 3 Spacecraft, we will add them to the cmd_tlm_server for cosmos.

Expand All @@ -299,5 +299,5 @@ You will need to duplicate the existing target definitions 3 times for the debug
Note you will need to assign the appropriate host name of the appropriate spacecraft flight software container to each interface, and bind it to the correct IP address as defined in the CFS Launch script we modified earlier.
We do this so Cosmos can command flight software and process telemetry coming from port 5013 from 3 different containers at the same time.

![cmd_tlm_server_ref](./_static/scenario_multiple_spacecraft/tlm_server_ref.png)
![cmd_tlm_server_ref](./_static/scenario_lunar_constellation/tlm_server_ref.png)

49 changes: 49 additions & 0 deletions docs/wiki/Scenario_Multiple_Spacecraft.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Scenario - Multiple Spacecraft

This scenario was developed to demonstrate how to work with multiple spacecraft at once.

This scenario was last updated on 06/08/2026 and leveraged the `NOS3-Multiple-Spacecraft` branch at the time [1a45d504]] in the `nos3-multiple-spacecraft` repository (https://github.com/nasa-itc/nos3-multiple-spacecraft).

## Learning Goals
By the end of this scenario you should be able to:
* Command multiple spacecraft from a single ground station.
* Receive telemetry from multiple spacecraft in a single ground station.
* Send a command to a spacecraft that is forwarded to another spacecraft.

## Prerequisites
Before running the scenario, complete the following steps:

* [Getting Started](./NOS3_Getting_Started.md)
* [Installation](./NOS3_Getting_Started.md#installation)
* [Running](./NOS3_Getting_Started.md#running)

You should also review the following lessons before this one:
* [STF - Quick Look](./STF_QuickLook.md)
* [Constellation with Lunar Focus](./Scenario_Constellation_with_Lunar_Focus.md)

## Walkthrough
For this scenario, you will need to switch to the `NOS3-Multiple-Spacecraft` branch in the `nos3-multiple-spacecraft` repository (https://github.com/nasa-itc/nos3-multiple-spacecraft).
For this particular scenario, you will need to run `make uninstall`, followed by `make prep`.
Once you do that, you can do a typical `make` and `make launch`.
You will notice that three flight software windows are opened with titles `sc0N - NOS3 Flight Software`, where `N` is either 1, 2, or 3.
Similarly, once you start COSMOS, you will see three telemetry debug interfaces in the command and telemetry server (`DEBUG_1`, `DEBUG_2`, and `DEBUG_3`).
This is shown in the figure below.

![MultipleSpacecraft](_static/scenario_multiple_spacecraft/MultipleSpacecraft.png)

You can verify that telemetry is being received by examining the Bytes Rx column in the COSMOS Command and Telemetry Server window.

Note that commands can be sent to each flight software instance just as in the Constellation with Lunar Focus scenario. Since the procedure is the same, it will not be repeated here.

This scenario is unique in that a command can be sent to one spacecraft which will forward it on to the next spacecraft. This is done as follows:
* In the Command Sender window select target `GENERIC_RADIO_1` and command `GENERIC_RADIO_PROXIMITY_CC`, then press the `Send` button.
This is shown in the figure below.

![ProximityForwarding](_static/scenario_multiple_spacecraft/ProximityForwarding.png)

In this figure you can see the command being sent from the `Command Sender`. In the `sc01-NOS3 Flight Software` window the `GENERIC_RADIO_ProximityForward` command is visible, and it shows that it sent 8 bytes to the next radio (sc02's radio, in this case). Then in the window below that one, the `sc02-NOS3 Flight Software` window shows that the flight software for spacecraft 2 received a `NOOP` command.

The command being sent in the `Command Sender` can be edited to forward a different type of command to the second radio, or a command can be sent to a different satellite to forward on. The next radio of spacecraft 1 is spacecraft 2's radio, spacecraft 2 forwards to spacecraft 3, and spacecraft 3 completes the circle by forwarding to 1. This will be extended automatically if more spacecraft are added.

## Background
For background on configuring a multiple spacecraft scenario, please refer to the Scenario Constellation with Lunar Focus.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/wiki/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,5 @@ This documentation is designed to provide information for users and developers t
Scenario_Flight_Build.md
Scenario_Random_Errors.md
Scenario_Constellation_with_Lunar_Focus.md
Scenario_Multiple_Spacecraft.md
Scenario_GPS_Spoofing.md
Loading