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
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ build-cryptolib: ## Build CryptoLib Component, ## -DSTANDALONE_TCP=0 if using ud

build-fsw: ## Build the flight software (cFS or F')
ifeq ($(FLIGHT_SOFTWARE), fprime)
cd fsw/fprime/fprime-nos3 && fprime-util generate && fprime-util build
cd fsw/fprime/fprime-nos3 && fprime-util generate && fprime-util build && fprime-seqgen Sequences/nos3test.seq -d build-artifacts/Linux/deployment/dict/deploymentTopologyDictionary.json
else
mkdir -p $(FSWBUILDDIR)
cd $(FSWBUILDDIR) && cmake $(PREP_OPTS) ../cfe
Expand Down Expand Up @@ -128,6 +128,7 @@ clean-fsw: ## Clean only flight software build artifacts
rm -rf fsw/fprime/fprime-nos3/build-fprime-automatic-native
rm -rf fsw/fprime/fprime-nos3/fprime-venv
rm -rf fsw/fprime/fprime-nos3/logs
rm -f fsw/fprime/fprime-nos3/Sequences/*.bin

clean-sim: ## Clean only simulator build artifacts
rm -rf sims/build
Expand Down
21 changes: 21 additions & 0 deletions docs/wiki/NOS3_Flight_Software.md
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,27 @@ TB\_Dont\_Care enum to overwrite time in F-Prime, but this adds a slight
delay at the beginning of time synchronization between nos engine and
F-Prime.

### F-Prime Sequencing
Creating sequences in Fprime can be done using the following steps:

1. Use the `Sequences` Tab in the Fprime GDS to construct your preferred sequence. Name it accordingly with a .seq file extension and download it using `Save As`.

2. Put the sequence file in the `fsw/fprime/fprime-nos3/Sequences/` folder

3. Enter debug mode (`make debug`) and navigate to `fsw/fprime/fprime-nos3`. Compile the sequence into a .bin file using the below command.

```
fprime-seqgen Sequences/[filename].seq -d build-artifacts/Linux/deployment/dict/deploymentTopologyDictionary.json
```

Running sequences can be done through a variety of ways:

* In Fprime GDS, use the CS_RUN command with the file parameter being `Sequences/___.bin` and the preferred blocking option.

* For startup scripts, modify the docker exec command at the end of `scripts/fsw/fsw_fprime_launch.sh` to run your specific `sequence.bin` file. Alterations can be made in the Makefile's `build-fsw` for sequence compilation.

* The `fprime-cli` command has the ability to manually run sequences through the `CS_RUN` command similar to how the startup sequence works.

### F-Prime Documentation links:

* F-Prime github Docs: [https://nasa.github.io/fprime/](https://nasa.github.io/fprime/)
Expand Down
2 changes: 1 addition & 1 deletion fsw/fprime/fprime-nos3
2 changes: 2 additions & 0 deletions scripts/fsw/fsw_fprime_launch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -165,4 +165,6 @@ then
firefox ${urlIP}:5000 &
fi

docker exec sc01-fprime sh -c "sleep 15 && cd fsw/fprime/fprime-nos3 && fprime-cli command-send deployment.cmdSeq.CS_RUN --arguments Sequences/nos3test.bin NO_BLOCK"

echo "Docker launch script completed!"
Loading