-
Notifications
You must be signed in to change notification settings - Fork 94
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #302 from nasa/dev
Release Candidate 1.7.0
- Loading branch information
Showing
132 changed files
with
5,393 additions
and
1,280 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,3 +11,4 @@ build | |
*.o | ||
support/nos3_install.log | ||
tmp | ||
core.* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,48 +7,67 @@ The best source of documentation can be found at [the wiki](https://github.com/n | |
|
||
### Prerequisites | ||
Each of the applications listed below are required prior to performing the installation procedure: | ||
* [Git 2.36+](https://git-scm.com/) | ||
* [Vagrant 2.3.4+](https://www.vagrantup.com/) | ||
* [VirtualBox 7.0+](https://www.virtualbox.org/) | ||
* Option A, you already use Linux | ||
* [Git 2.36+](https://git-scm.com/) | ||
* Linux with docker and docker compose installed | ||
* Option B, deployment of a virtual machine (VM) | ||
* [Git 2.36+](https://git-scm.com/) | ||
* [Vagrant 2.3.4+](https://www.vagrantup.com/) | ||
* [VirtualBox 7.0+](https://www.virtualbox.org/) | ||
|
||
### Installing | ||
Option B only. | ||
Will provision a VM with all required packages installed to be used immediately. | ||
1. Clone the repository `git clone https://github.com/nasa/nos3.git` | ||
2. `cd nos3` | ||
3. Clone the submodules `git submodule update --init --recursive` | ||
4. 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 | ||
5. Login to the nos3 user using the password `nos3123!` and get to work! | ||
6. Try building and running following the instructions below | ||
_It may also be wise at around this stage to shutdown the VM once it starts and to allocate it more resources if possible, preferably at least 4 cores and 8 GB of RAM, preferably 8 cores and 16 GB of RAM._ | ||
5. In VirtualBox `Devices > Upgrade Guest Additions...` | ||
- Wait for this to complete | ||
6. Run `vagrant reload` to finish the upgrade | ||
7. Login to the jstar user using the password `jstar123!` and get to work! | ||
8. Try building and running following the instructions below | ||
|
||
### Getting started | ||
By default the nos3 repository is shared into the virtual machine at `/home/nos3/Desktop/github-nos3` | ||
By default the nos3 repository is shared into the virtual machine at `/home/jstar/Desktop/github-nos3` | ||
1. Open a terminal | ||
2. Navigate to the nos3 repository | ||
- `cd /home/nos3/Desktop/github-nos3` | ||
2. To build use the `make` command from the nos3 repo | ||
3. To run nos3 use the `make launch` command from the nos3 repo | ||
4. To halt nos3 use the `make stop` command from the nos3 repo | ||
- `cd /home/jstar/Desktop/github-nos3` | ||
3. Prepare the environment with COSMOS and docker containers | ||
- `make prep` | ||
4. Build FSW, GSW, and SIMS | ||
- `make` | ||
5. Run NOS3 including FSW, GSW, and SIMS | ||
- `make launch` | ||
6. Stop NOS3 | ||
- `make stop` | ||
- Note that COSMOS will remaining running in the background until `make stop-gsw` is done | ||
|
||
### Directory Layout | ||
* `components` contains the repositories for the hardware component apps; each repository contains the app, an associated sim, and COSMOS command and telemetry tables | ||
* `components` contains the repositories for the hardware component apps | ||
- /fsw - cFS application | ||
- /gsw - OpenC3 (or Ball Aerospace) COSMOS database | ||
- /sim - NOS3 simulator | ||
- /support - Optional folder containing a standalone checkout application | ||
* `fsw` contains the repositories needed to build cFS FSW | ||
- /apps - the open source cFS apps | ||
- /cfe - the core flight system (cFS) source files | ||
- /nos3_defs - cFS definitions to configure cFS for NOS3 | ||
- /osal - operating system abstraction layer (OSAL), enables building for linux and flight OS | ||
- /osal - operating system abstraction layer (OSAL), enables building for Linux and flight OS | ||
- /psp - platform support package (PSP), enables use on multiple types of boards | ||
- /tools - standard cFS provided tools | ||
* `gsw` contains the nos3 ground station files, and other ground based tools | ||
- /ait - Ammos Instrument Toolkit (Untested for 1.05.0) | ||
- /cosmos - COSMOS files | ||
- /cosmos - OpenC3 (or Ball Aerospace) COSMOS files | ||
- /OrbitInviewPowerPrediction - OIPP tool for operators | ||
- /scripts - convenience scripts | ||
* `sims` contains the nos3 simulators and configuration files | ||
- /cfg - 42 configuration files and NOS3 top level configuration files | ||
- /nos_time_driver - time syncronization for all components | ||
- /nos_time_driver - time synchronization for all components | ||
- /sim_common - common files used by component simulators including the files that define the simulator plugin architecture | ||
- /sim_terminal - terminal for testing on NOS Engine busses | ||
- /truth_42_sim - interface between 42 and COSMOS to provide dynamics truth data to COSMOS | ||
- /truth_42_sim - interface between 42 and OpenC3 COSMOS to provide dynamics truth data | ||
|
||
### Versioning | ||
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the tags on this repository. | ||
|
@@ -59,5 +78,12 @@ This project is licensed under the NOSA (NASA Open Source Agreement) License. | |
# Issues and Features | ||
Please report issues and request features on the GitHub tracking system - [NOS3 Issues](https://www.github.com/nasa/nos3/issues). | ||
|
||
## Contributions | ||
If you would like to contribute to the repository, please complete this [NASA Form][def] and submit it to [email protected] with [email protected] CC'ed. | ||
Next, please create an issue describing the work to be performed noting that you intend to work it, create a related branch, and submit a pull request when ready. When complete, we will review and work to get it integrated. | ||
|
||
## Support | ||
If this project interests you or if you have any questions, please feel free to contact any developer directly or email `[email protected]`. | ||
|
||
|
||
[def]: https://github.com/nasa/nos3/files/14578604/NOS3_Invd_CLA.pdf "NOS3 NASA Contributor Form PDF" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,30 @@ | ||
Vagrant.configure("2") do |config| | ||
### | ||
### Notes: | ||
### Using the provided base boxes is not required to use the software | ||
### Base boxes are provisioned from the following location | ||
### * https://github.com/nasa-itc/deployment | ||
### Links to which commit was used is captured in the box release notes | ||
### | ||
|
||
### Uncomment one of the following to select configuration | ||
#config.vm.box = "nos3/rocky" | ||
#config.vm.box = "nos3/rocky" # Not yet updated to support | ||
config.vm.box = "nos3/ubuntu" | ||
|
||
### Specify version | ||
config.vm.box_version = "20230731" | ||
config.vm.box_version = "20231101" | ||
|
||
### Share host NOS3 repository into VM | ||
config.vm.synced_folder ".", "/home/nos3/Desktop/github-nos3", | ||
owner: 'root', group:'vboxsf', automount:'true', | ||
config.vm.synced_folder ".", "/home/jstar/Desktop/github-nos3", | ||
owner: 'jstar', group:'vboxsf', automount:'true', | ||
mount_options: ["dmode=0770", "fmode=0770"] | ||
|
||
### General configuration | ||
config.vm.provider "virtualbox" do |vbox| | ||
vbox.name = "nos3_20230731" | ||
vbox.name = "nos3_20231101" | ||
vbox.gui = true | ||
### Enable additional configuration as needed | ||
vbox.cpus = 6 | ||
vbox.memory = "6144" | ||
vbox.cpus = 4 | ||
vbox.memory = "8192" | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.