Skip to content

NOS3 Install, Build, Run Quick Start

msuder edited this page Nov 2, 2022 · 19 revisions

Installing, Building, and Running NOS3

Installing NOS3

On the host computer:

  1. Install Oracle VirtualBox v6.1+
  2. Install Vagrant v2.2+
  3. Install Git 1.8+
  4. Clone the repository git clone https://github.com/nasa/nos3.git
  5. cd nos3
  6. git checkout dev
  7. Clone the submodules with git submodule init and git submodule update
  8. Run vagrant up and wait to return to a prompt
    • This can take anywhere from a few minutes to hours depending on internet speeds and host PC specs
    • Important: Internet access is required when installing
    • The VM may reboot multiple times in order to finish installing packages for you automatically, so wait for that prompt!
    • Sometimes ansible does not seem to install and there is an error like "Could not get lock /var/lib/apt/lists/lock". If this happens, run vagrant provision to install ansible and provision.
  9. Vagrant will automatically load the virtual machine to Virtual Box, and it will be ready for use
  10. Login to the nos3 user using the password nos3123! and get to work! (If needed, the vagrant user has password vagrant)

NOS3 Desktop

Building NOS3

Log in to the NOS3 VM, username / password : nos3 / nos3123!

  1. Access the nos3 repository on the host machine. (This may already be done if you do vagrant up. Vagrant mounts the nos3 repository in the VM at /home/nos3/Desktop/github-nos3.) From the guest VM:
    1. Add Virtual Box Guest Additions:
      1. Go to Virtual Box menu -> Devices -> Insert Guest Additions CD image...
      2. Click Run in the resulting dialog box
    2. Add a shared folder with the nos3 repository code:
      1. Go to Virtual Box menu -> Devices -> Shared Folders -> Shared Folders Settings...
      2. Add a new Shared Folder (folder with + sign) and select the location of the nos3 repository on the host
      3. Check Auto-mount and Make Permanent
      4. Reboot the VM
  2. Build the NOS3 software
    1. In a terminal, navigate to the nos3 shared folder after the VM reboot above
    2. Run make NOS3 Building

Running NOS3

In the NOS3 VM:

  1. In a terminal, navigate to the nos3 shared folder (created by Vagrant at /home/nos3/Desktop/github-nos3 or created by you using the instructions above)
  2. Run make launch in the nos3 directory from the terminal NOS3 Running
  3. To exit the simulation, run make stop in the nos3 directory from the terminal
  4. To rebuild NOS3 from the repository baseline, first run make clean and then run make

Running COSMOS

Once NOS3 is launched, the cFS flight software and the COSMOS NOS3 Launcher will start.

NOS3 COSMOS Launcher

COSMOS may command cFS to send telemetry back to COSMOS by:

  1. From the NOS3 Launcher, open the COSMOS Command and Telemetry Server and enter:
    1. --config nos3_cmd_tlm_server.txt
    2. --system nos3_system.txt
    3. For the MISSION_INT interface, the Connected? attribute should read true COSMOS Command and Telemetry Server
  2. From the NOS3 Launcher, open the COSMOS Command Sender under Commanding and Scripting and enter:
    1. In the Command Sender Options Window: --system nos3_system.txt
    2. In the Command Sender Window, select Target to be CFS
    3. Select Command to be TO_ENABLE_OUTPUT_CC
    4. Click Send COSMOS Command Sender, Enabling Telemetry
  3. Notice under the COSMOS Command and Telemetry Server Window that the following data fields update:
    1. Bytes Tx and Cmd Pkts should change from 0 to a positive number
    2. Bytes Rx and Tlm Pkts should start counting up as telemetry is received COSMOS C&T Server, Bytes Transmitted and Received
  4. From the NOS3 Launcher, open the COSMOS Packet Viewer under Telemetry
    1. In the Packet Viewer Options Window: --system nos3_system.txt
    2. In the Packet Viewer Window, select Target to be CFS
    3. Select Packet to be CFE_EVS_PACKET
    4. Scroll to see the MESSAGE field live updates (line 16)
    5. Telemetry packets may be viewed for other apps, once they are commanded to send telemetry
    6. Application telemetry fields which are stale are displayed in fuscia COSMOS Packet Viewer, CFE_EVS_PACKET