Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev' into nos3#348
Browse files Browse the repository at this point in the history
  • Loading branch information
jlucas9 committed Nov 15, 2024
2 parents c31b849 + 6b4e151 commit a884893
Show file tree
Hide file tree
Showing 65 changed files with 553 additions and 456 deletions.
69 changes: 69 additions & 0 deletions .github/ISSUE_TEMPLATE/1-BUG_REPORT.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: "🐛 Bug Report"
description: Create a new ticket for a bug.
title: "🐛 [BUG] - <title>"
labels: [
"bug"
]
body:
- type: textarea
id: description
attributes:
label: "Description"
description: Please enter an explicit description of your issue
placeholder: Short and explicit description of your incident...
validations:
required: true
- type: input
id: reprod-url
attributes:
label: "Branch Name"
description: Please enter the branch / link to fork
placeholder: ex. 'dev' or https://github.com/USERNAME/REPO-NAME
validations:
required: false
- type: textarea
id: reprod
attributes:
label: "Reproduction steps"
description: Please enter an explicit description of your issue
value: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
render: bash
validations:
required: true
- type: textarea
id: screenshot
attributes:
label: "Screenshots"
description: If applicable, add screenshots to help explain your problem.
value: |
![DESCRIPTION](LINK.png)
render: bash
validations:
required: false
- type: textarea
id: logs
attributes:
label: "Logs"
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: bash
validations:
required: false
- type: dropdown
id: os
attributes:
label: "OS"
description: What is the impacted environment ?
multiple: true
options:
- Windows (Direct Clone)
- Windows (Shared Folders)
- Linux (Direct Clone)
- Linux (Shared Folders)
- Mac (Direct Clone)
- Mac (Shared Folders)
validations:
required: true
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/2-FEATURE_REQUEST.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "💡 Feature Request"
description: Create a new ticket for a new feature request
title: "💡 [REQUEST] - <title>"
labels: [
"question"
]
body:
- type: textarea
id: summary
attributes:
label: "Summary"
description: Provide a brief explanation of the feature
placeholder: Describe in a few lines your feature request
validations:
required: true
- type: textarea
id: basic_example
attributes:
label: "Use Case"
description: Indicate here some basic examples of your feature.
placeholder: A few specific words about your feature request.
validations:
required: true
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
16 changes: 16 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### All Submissions:

* [ ] Have you followed the guidelines in our [Contributing](https://github.com/nasa/nos3/blob/main/CONTRIBUTING.md) document?
* [ ] Have you checked to ensure there aren't other open [Pull Requests](https://github.com/nasa/nos3/pulls) for the same update/change?

### New Feature Submissions:

* [ ] Does your submission pass tests?

### Changes to Core Features:

* [ ] Have you added an explanation of what your changes do and why you'd like us to include them?

### How do you test these changes?

<input type="text" id="explain" name="explain"/>
4 changes: 0 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ jobs:
submodules: recursive
- name: config
run: make config
- name: build directory
run: mkdir ./fsw/build
- name: build
run: make build-test
- name: test
Expand All @@ -33,7 +31,5 @@ jobs:
submodules: recursive
- name: config
run: make config
- name: build directory
run: mkdir ./sims/build
- name: build
run: make build-sim
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
#
.vagrant
.vscode
__pycache__
.Trash-1001

#
# Build Files
Expand All @@ -12,6 +14,11 @@ build
support/nos3_install.log
tmp
core.*

#
# Misc
#
*.pcapng
.cdskeyfile
.reservedkeyfile
.resetkeyfile
10 changes: 10 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,16 @@
path = components/syn
url = https://github.com/nasa-itc/syn.git
branch = main
[submodule "fsw/apps/sbn"]
path = fsw/apps/sbn
url = https://github.com/nasa-itc/SBN.git
[submodule "sbn_client"]
path = fsw/apps/sbn_client
url = https://github.com/nasa-itc/SBN-Client.git
[submodule "components/onair/fsw"]
path = components/onair/fsw
url = https://github.com/nasa-itc/OnAIR.git
branch = main
[submodule "gsw/ait"]
path = gsw/ait
url = https://github.com/sphinxdefense/gsw-ait.git
Expand Down
63 changes: 28 additions & 35 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ endif

# The "LOCALTGTS" defines the top-level targets that are implemented in this makefile
# Any other target may also be given, in that case it will simply be passed through.
LOCALTGTS := all checkout clean clean-fsw clean-sim clean-gsw config debug fprime fsw gsw launch log prep real-clean sim stop stop-gsw
LOCALTGTS := all checkout clean clean-fsw clean-sim clean-gsw config debug fsw gsw launch log prep real-clean sim stop stop-gsw
OTHERTGTS := $(filter-out $(LOCALTGTS),$(MAKECMDGOALS))

# As this makefile does not build any real files, treat everything as a PHONY target
Expand All @@ -52,33 +52,21 @@ build-cryptolib:
$(MAKE) --no-print-directory -C $(GSWBUILDDIR)

build-fsw:


ifeq ($(FLIGHT_SOFTWARE), fprime)
cd fsw/fprime/fprime-nos3 && fprime-util generate && fprime-util build

endif

ifeq ($(FLIGHT_SOFTWARE), cfs)
else
mkdir -p $(FSWBUILDDIR)
cd $(FSWBUILDDIR) && cmake $(PREP_OPTS) ../cfe
$(MAKE) --no-print-directory -C $(FSWBUILDDIR) mission-install
else
pwd
endif

build-sim:
mkdir -p $(SIMBUILDDIR)
cd $(SIMBUILDDIR) && cmake -DCMAKE_INSTALL_PREFIX=$(SIMBUILDDIR) ..
$(MAKE) --no-print-directory -C $(SIMBUILDDIR) install

build-test:
mkdir -p $(FSWBUILDDIR)
cd $(FSWBUILDDIR) && cmake $(PREP_OPTS) -DENABLE_UNIT_TESTS=true ../cfe
$(MAKE) --no-print-directory -C $(FSWBUILDDIR) mission-install

checkout:
./scripts/docker_checkout.sh
./scripts/checkout.sh

clean:
$(MAKE) clean-fsw
Expand All @@ -102,46 +90,51 @@ clean-gsw:
rm -rf /tmp/nos3

config:
./scripts/config.sh
./scripts/cfg/config.sh

debug:
./scripts/docker_debug.sh

fprime:
./scripts/fprime.sh
./scripts/debug.sh

fsw:
./scripts/docker_build_fsw.sh
./cfg/build/fsw_build.sh

gsw:
./scripts/docker_build_cryptolib.sh
./scripts/gsw/build_cryptolib.sh
./cfg/build/gsw_build.sh

igniter:
./scripts/igniter_launch.sh

launch:
./scripts/docker_launch.sh
./cfg/build/launch.sh

log:
./scripts/log.sh

prep:
./scripts/prepare.sh
./scripts/cfg/prepare.sh

real-clean:
$(MAKE) clean
./scripts/real_clean.sh
prep-gsw:
./scripts/cfg/prep_gsw.sh

prep-sat:
./scripts/cfg/prep_sat.sh

sim:
./scripts/docker_build_sim.sh
./scripts/build_sim.sh

start-gsw:
./scripts/gsw/launch_gsw.sh

start-sat:
./scripts/fsw/launch_sat.sh

stop:
./scripts/docker_stop.sh
./scripts/stop.sh

stop-gsw:
./scripts/stop_gsw.sh

test-fsw:
cd $(FSWBUILDDIR)/amd64-posix/default_cpu1 && ctest -O ctest.log
./scripts/gsw/stop_gsw.sh

igniter:
./scripts/igniter_launch.sh
uninstall:
$(MAKE) clean
./scripts/cfg/uninstall.sh
29 changes: 8 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Will provision a VM with all required packages installed to be used immediately.
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
_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._
_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 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
Expand All @@ -43,37 +43,24 @@ By default the nos3 repository is shared into the virtual machine at `/home/jsta
- `make launch`
6. Stop NOS3
- `make stop`
- Note that COSMOS will remaining running in the background until `make stop-gsw` is done
- Note that OpenC3, if in use, will remaining running in the background until `make stop-gsw` is done

To uninstall the hidden directories created, run `make uninstall`.

### Directory Layout
* `cfg` contains the configuration files for the mission and spacecraft
* `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
* `docs` contains various documentation related to the project
* `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
- /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
- /cosmos - OpenC3 (or Ball Aerospace) COSMOS files
- /OrbitInviewPowerPrediction - OIPP tool for operators
- /scripts - convenience scripts
* `scripts` contains various convenience scripts
* `sims` contains the nos3 simulators and configuration files
- /cfg - 42 configuration files and NOS3 top level configuration files
- /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 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.

### License
This project is licensed under the NOSA (NASA Open Source Agreement) License.
This project is licensed under the NOSA 1.3 (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).
Expand Down
4 changes: 3 additions & 1 deletion cfg/nos3_defs/cpu1_cfe_es_startup.scr
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,13 @@ CFE_APP, to_lab, TO_LAB_AppMain, TO_LAB_APP,
!
! ** The software will not try to parse anything after the first '!' character it sees. **
!
! In NOS3, these are moved as part of the `make config` process depending on what is enabled
!
CFE_APP, cf, CF_AppMain, CF, 50, 32768, 0x0, 0;
CFE_APP, ds, DS_AppMain, DS, 51, 32768, 0x0, 0;
CFE_APP, fm, FM_AppMain, FM, 52, 32768, 0x0, 0;
CFE_APP, lc, LC_AppMain, LC, 53, 32768, 0x0, 0;
CFE_APP, sbn, SBN_AppMain, SBN, 63, 32768, 0x0, 0;
CFE_APP, sc, SC_AppMain, SC, 54, 32768, 0x0, 0;

CFE_APP, generic_adcs, ADCS_AppMain, ADCS, 60, 32768, 0x0, 0;
Expand All @@ -38,7 +41,6 @@ CFE_LIB, cfs_lib, CFS_LibInit, CFS_LIB,
CFE_APP, cs, CS_AppMain, CS, 55, 16384, 0x0, 0;
CFE_APP, hk, HK_AppMain, HK, 63, 16384, 0x0, 0;
CFE_APP, hs, HS_AppMain, HS, 56, 16384, 0x0, 0;
CFE_APP, sbn, SBN_AppMain, SBN, 63, 16384, 0x0, 0;
CFE_APP, md, MD_AppMain, MD, 60, 16384, 0x0, 0;
CFE_APP, mm, MM_AppMain, MM, 61, 16384, 0x0, 0;

Expand Down
2 changes: 2 additions & 0 deletions cfg/nos3_defs/global_build_options.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,5 @@ else()
message (STATUS "OMIT_DEPRECATED=false: Deprecated elements included in build")
set(MISSION_RESOURCEID_MODE "SIMPLE") # less type safe, but more backward compatible
endif (OMIT_DEPRECATED)

SET(ENV{CFS_APP_PATH} "baseline_apps:apps/sbn/modules/protocol:../components:")
2 changes: 1 addition & 1 deletion cfg/nos3_defs/tables/sch_def_schtbl.c
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] =

/* slot #55 - Component HK */
/*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */
{ SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 65, SCH_GROUP_CFE_HK }, /* EPS HK Request */
{ SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 5, 4, 65, SCH_GROUP_CFE_HK }, /* EPS HK Request */
{ SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE},
{ SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE},
{ SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE},
Expand Down
Loading

0 comments on commit a884893

Please sign in to comment.