diff --git a/cfg/InOut/SC_NOS3.txt b/cfg/InOut/SC_NOS3.txt
index 9338b4b7..19878b76 100644
--- a/cfg/InOut/SC_NOS3.txt
+++ b/cfg/InOut/SC_NOS3.txt
@@ -13,7 +13,7 @@ CM ! Pos of CM or ORIGIN, wrt F
NAN ! Ang Vel wrt [NL], Att [QA] wrt [NLF]
0.0 0.0 0.0 ! Ang Vel (deg/sec)
0.0 0.0 0.0 1.0 ! Quaternion
-60.0 40.0 20.0 213 ! Angles (deg) & Euler Sequence
+90.0 90.0 90.0 213 ! Angles (deg) & Euler Sequence
*************************** Dynamics Flags ***************************
GAUSS_ELIM ! Solve Dynamics by GAUSS_ELIM or ORDER_N
FALSE ! Compute Constraint Forces and Torques
@@ -249,7 +249,7 @@ Z_AXIS ! Boresight Axis X_AXIS, Y_AXIS, or Z_AXIS
1 ! Number of Star Trackers
=============================== ST 0 ====================================
0.25 ! Sample Time,sec
-30.0 20.0 10.0 213 ! Mounting Angles (deg), Seq in Body
+0.0 0.0 0.0 213 ! Mounting Angles (deg), Seq in Body
Z_AXIS ! Boresight Axis X_AXIS, Y_AXIS, or Z_AXIS
8.0 8.0 ! H, V FOV Size, deg
30.0 10.0 10.0 ! Sun, Earth, Moon Exclusion Angles, deg
diff --git a/cfg/sc-full-config.xml b/cfg/sc-full-config.xml
index 289cb7ad..5007eb05 100644
--- a/cfg/sc-full-config.xml
+++ b/cfg/sc-full-config.xml
@@ -77,4 +77,7 @@
1.0
-1.0
+
+ true
+
\ No newline at end of file
diff --git a/cfg/sc-minimal-config.xml b/cfg/sc-minimal-config.xml
index 8b78c6fa..c0574b3a 100644
--- a/cfg/sc-minimal-config.xml
+++ b/cfg/sc-minimal-config.xml
@@ -45,7 +45,7 @@
false
- true
+ false
false
@@ -54,7 +54,7 @@
false
- true
+ false
false
@@ -63,18 +63,21 @@
false
- false
+ true
false
- false
+ true
- 0.1
- 1.0
- -1.0
+ 5.0
+ -5.0
+ 5.0
+
+ false
+
\ No newline at end of file
diff --git a/cfg/sims/nos3-simulator.xml b/cfg/sims/nos3-simulator.xml
index 38a7152c..ea741a33 100644
--- a/cfg/sims/nos3-simulator.xml
+++ b/cfg/sims/nos3-simulator.xml
@@ -623,8 +623,8 @@
star-tracker-command
usart
- usart_29
- 29
+ usart_10
+ 10
diff --git a/components/generic_adcs b/components/generic_adcs
index 40c77957..f143f8d9 160000
--- a/components/generic_adcs
+++ b/components/generic_adcs
@@ -1 +1 @@
-Subproject commit 40c77957c3f527fbcba64113f868d924946a23cf
+Subproject commit f143f8d9c4bba012a44aa53599c2d8cff858c008
diff --git a/components/generic_fss b/components/generic_fss
index bcc68f4e..a9b17808 160000
--- a/components/generic_fss
+++ b/components/generic_fss
@@ -1 +1 @@
-Subproject commit bcc68f4ea092813fcea311d5c8b0bfc0919ab1ef
+Subproject commit a9b178089336e5ef1a7eab096a1186812f37132d
diff --git a/components/generic_reaction_wheel b/components/generic_reaction_wheel
index 1e89c312..5d8d6041 160000
--- a/components/generic_reaction_wheel
+++ b/components/generic_reaction_wheel
@@ -1 +1 @@
-Subproject commit 1e89c312edb0ff351807df5a3a4a43f66373d793
+Subproject commit 5d8d60414b2eb632d212a39f05375ad71b2870b1
diff --git a/components/generic_star_tracker b/components/generic_star_tracker
index 2f259c76..b6d75f3c 160000
--- a/components/generic_star_tracker
+++ b/components/generic_star_tracker
@@ -1 +1 @@
-Subproject commit 2f259c76403d53b0f73698327a9437b66e70fcf8
+Subproject commit b6d75f3c3538421095a6738d36e28b62e2022f8e
diff --git a/components/generic_thruster b/components/generic_thruster
index 0191219f..68260572 160000
--- a/components/generic_thruster
+++ b/components/generic_thruster
@@ -1 +1 @@
-Subproject commit 0191219ffac1c106bd23e9ab1a7140c321d80215
+Subproject commit 68260572c34f6b8ff29678970759671b227a2b4b
diff --git a/components/generic_torquer b/components/generic_torquer
index 34bf9c24..e9856ee8 160000
--- a/components/generic_torquer
+++ b/components/generic_torquer
@@ -1 +1 @@
-Subproject commit 34bf9c24ad810ec3b499ac1b5b240e9dcd2dfff0
+Subproject commit e9856ee8c86e31b8b9310d8d43be26be0bab09ae
diff --git a/components/sample b/components/sample
index 99c34e2f..59034a0b 160000
--- a/components/sample
+++ b/components/sample
@@ -1 +1 @@
-Subproject commit 99c34e2f5a28ea90969ebfc703b248ca16879fe0
+Subproject commit 59034a0bfd9eb02823f1ea036266aeb36f2149d7
diff --git a/docs/reqs/.doorstop.yml b/docs/reqs/.doorstop.yml
new file mode 100644
index 00000000..1778fe7c
--- /dev/null
+++ b/docs/reqs/.doorstop.yml
@@ -0,0 +1,4 @@
+settings:
+ digits: 3
+ prefix: SRD
+ sep: ''
diff --git a/docs/reqs/SRD001.yml b/docs/reqs/SRD001.yml
new file mode 100644
index 00000000..a109d787
--- /dev/null
+++ b/docs/reqs/SRD001.yml
@@ -0,0 +1,11 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+name: General
+normative: true
+ref: ''
+requirement-level: 1
+reviewed: null
+text: NOS shall be able to simulate one or multiple Space Vehicles (SVs)
diff --git a/docs/reqs/SRD002.yml b/docs/reqs/SRD002.yml
new file mode 100644
index 00000000..0c8b2491
--- /dev/null
+++ b/docs/reqs/SRD002.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.1
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: ''
diff --git a/docs/reqs/config_reqs/.doorstop.yml b/docs/reqs/config_reqs/.doorstop.yml
new file mode 100644
index 00000000..550abde7
--- /dev/null
+++ b/docs/reqs/config_reqs/.doorstop.yml
@@ -0,0 +1,5 @@
+settings:
+ digits: 3
+ parent: SRD
+ prefix: CONFIG_REQ
+ sep: ''
diff --git a/docs/reqs/config_reqs/CONFIG_REQ001.yml b/docs/reqs/config_reqs/CONFIG_REQ001.yml
new file mode 100644
index 00000000..a8cdd08f
--- /dev/null
+++ b/docs/reqs/config_reqs/CONFIG_REQ001.yml
@@ -0,0 +1,10 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+normative: true
+ref: ''
+requirement-level: 2
+reviewed: null
+text: NOS Shall be able to simulate different ground software (such as F', COSMOS, OpenC3, YAMCS)
diff --git a/docs/reqs/config_reqs/CONFIG_REQ002.yml b/docs/reqs/config_reqs/CONFIG_REQ002.yml
new file mode 100644
index 00000000..cb1d7aa9
--- /dev/null
+++ b/docs/reqs/config_reqs/CONFIG_REQ002.yml
@@ -0,0 +1,10 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+normative: true
+ref: ''
+requirement-level: 2
+reviewed: null
+text: NOS shall be able to simulate different flight software (such as F' and cFS)
diff --git a/docs/reqs/config_reqs/CONFIG_REQ003.yml b/docs/reqs/config_reqs/CONFIG_REQ003.yml
new file mode 100644
index 00000000..43bd58b2
--- /dev/null
+++ b/docs/reqs/config_reqs/CONFIG_REQ003.yml
@@ -0,0 +1,13 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+normative: true
+ref: ''
+requirement-level: 2
+reviewed: null
+text: |
+ NOS shall be able to be reconfigured to represent:
+ - multiple disparate missions
+ - multiple scenarios within each mission
diff --git a/docs/reqs/config_reqs/CONFIG_REQ004.yml b/docs/reqs/config_reqs/CONFIG_REQ004.yml
new file mode 100644
index 00000000..ce097d23
--- /dev/null
+++ b/docs/reqs/config_reqs/CONFIG_REQ004.yml
@@ -0,0 +1,14 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+normative: true
+ref: ''
+requirement-level: 2
+reviewed: null
+text: |
+ NOS shall have a simulation environment which is configurable:
+ a. In its startup location
+ b. In its startup time
+ c. In configuration or state of the vehicle
diff --git a/docs/reqs/fsw_reqs/.doorstop.yml b/docs/reqs/fsw_reqs/.doorstop.yml
new file mode 100644
index 00000000..d24b2f67
--- /dev/null
+++ b/docs/reqs/fsw_reqs/.doorstop.yml
@@ -0,0 +1,5 @@
+settings:
+ digits: 3
+ parent: SRD
+ prefix: FSW_REQ
+ sep: ''
diff --git a/docs/reqs/fsw_reqs/FSW_REQ001.yml b/docs/reqs/fsw_reqs/FSW_REQ001.yml
new file mode 100644
index 00000000..7707b1ae
--- /dev/null
+++ b/docs/reqs/fsw_reqs/FSW_REQ001.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS FSW shall be able to build and run
diff --git a/docs/reqs/fsw_reqs/FSW_REQ002.yml b/docs/reqs/fsw_reqs/FSW_REQ002.yml
new file mode 100644
index 00000000..32f608af
--- /dev/null
+++ b/docs/reqs/fsw_reqs/FSW_REQ002.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.1
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS FSW shall be able to build unit tests
diff --git a/docs/reqs/fsw_reqs/FSW_REQ003.yml b/docs/reqs/fsw_reqs/FSW_REQ003.yml
new file mode 100644
index 00000000..93256477
--- /dev/null
+++ b/docs/reqs/fsw_reqs/FSW_REQ003.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.2
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS FSW shall be able to run code coverage
diff --git a/docs/reqs/fsw_reqs/FSW_REQ004.yml b/docs/reqs/fsw_reqs/FSW_REQ004.yml
new file mode 100644
index 00000000..e00f71b8
--- /dev/null
+++ b/docs/reqs/fsw_reqs/FSW_REQ004.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.3
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS FSW shall be able to allow for processor-level emulation
diff --git a/docs/reqs/gsw_reqs/.doorstop.yml b/docs/reqs/gsw_reqs/.doorstop.yml
new file mode 100644
index 00000000..c9e9032f
--- /dev/null
+++ b/docs/reqs/gsw_reqs/.doorstop.yml
@@ -0,0 +1,5 @@
+settings:
+ digits: 3
+ parent: SRD
+ prefix: GSW_REQ
+ sep: ''
diff --git a/docs/reqs/gsw_reqs/GSW_REQ001.yml b/docs/reqs/gsw_reqs/GSW_REQ001.yml
new file mode 100644
index 00000000..af68ebf0
--- /dev/null
+++ b/docs/reqs/gsw_reqs/GSW_REQ001.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS GSW shall be able to build and run
diff --git a/docs/reqs/sim_reqs/.doorstop.yml b/docs/reqs/sim_reqs/.doorstop.yml
new file mode 100644
index 00000000..8c09e756
--- /dev/null
+++ b/docs/reqs/sim_reqs/.doorstop.yml
@@ -0,0 +1,5 @@
+settings:
+ digits: 3
+ parent: SRD
+ prefix: SIM_REQ
+ sep: ''
diff --git a/docs/reqs/sim_reqs/SIM_REQ001.yml b/docs/reqs/sim_reqs/SIM_REQ001.yml
new file mode 100644
index 00000000..880a40a6
--- /dev/null
+++ b/docs/reqs/sim_reqs/SIM_REQ001.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.0
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS sims shall be able to build and run
diff --git a/docs/reqs/sim_reqs/SIM_REQ002.yml b/docs/reqs/sim_reqs/SIM_REQ002.yml
new file mode 100644
index 00000000..9816c20b
--- /dev/null
+++ b/docs/reqs/sim_reqs/SIM_REQ002.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.1
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS sims shall be able to build unit tests
diff --git a/docs/reqs/sim_reqs/SIM_REQ003.yml b/docs/reqs/sim_reqs/SIM_REQ003.yml
new file mode 100644
index 00000000..9cbe5417
--- /dev/null
+++ b/docs/reqs/sim_reqs/SIM_REQ003.yml
@@ -0,0 +1,9 @@
+active: true
+derived: false
+header: ''
+level: 1.2
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: NOS sims shall be able to run code coverage
diff --git a/docs/reqs/sim_reqs/SIM_REQ004.yml b/docs/reqs/sim_reqs/SIM_REQ004.yml
new file mode 100644
index 00000000..d1028f19
--- /dev/null
+++ b/docs/reqs/sim_reqs/SIM_REQ004.yml
@@ -0,0 +1,12 @@
+active: true
+derived: false
+header: ''
+level: 1.3
+links: []
+normative: true
+ref: ''
+reviewed: null
+text: |
+ NOS sims shall demonstrate every supported communication protocol:
+ a. SPI
+ b. I2C
diff --git a/docs/reqs/sv_reqs/.doorstop.yml b/docs/reqs/sv_reqs/.doorstop.yml
new file mode 100644
index 00000000..78f8415c
--- /dev/null
+++ b/docs/reqs/sv_reqs/.doorstop.yml
@@ -0,0 +1,5 @@
+settings:
+ digits: 3
+ parent: SRD
+ prefix: SV_REQ
+ sep: ''
diff --git a/fsw/apps/sbn b/fsw/apps/sbn
index 26a4e996..3154dbef 160000
--- a/fsw/apps/sbn
+++ b/fsw/apps/sbn
@@ -1 +1 @@
-Subproject commit 26a4e99687b5269551473a69c6273cdc23828e5b
+Subproject commit 3154dbef5c7d501e661e94a8fc7b32c36389e6dd
diff --git a/fsw/fprime/fprime-nos3 b/fsw/fprime/fprime-nos3
index d3fadff1..539217bb 160000
--- a/fsw/fprime/fprime-nos3
+++ b/fsw/fprime/fprime-nos3
@@ -1 +1 @@
-Subproject commit d3fadff1d2bfcbcdbb1b210581570359b92023a3
+Subproject commit 539217bb91e18ccfc593affd85470224ba9ca20b
diff --git a/scripts/cfg/configure.py b/scripts/cfg/configure.py
index 9507c7f0..2cb0e76e 100644
--- a/scripts/cfg/configure.py
+++ b/scripts/cfg/configure.py
@@ -118,6 +118,7 @@
sc_orbit_tipoff_x = sc_root.find('orbit/tipoff_x').text
sc_orbit_tipoff_y = sc_root.find('orbit/tipoff_y').text
sc_orbit_tipoff_z = sc_root.find('orbit/tipoff_z').text
+ sc_sim_truth_en = sc_root.find('sim/sim_truth_interface').text
###
### Flight Software - Startup Script
@@ -311,6 +312,7 @@
st_index = 999
torquer_index = 999
thruster_index = 999
+ truth_index = 999
with open('./cfg/InOut/Inp_IPC.txt', 'r') as fp:
lines = fp.readlines()
@@ -360,6 +362,9 @@
if line.find('Thruster IPC') != -1:
if (lines.index(line)) < thruster_index:
thruster_index = lines.index(line) + 1
+ if line.find('Truth data') != -1:
+ if (lines.index(line)) < truth_index:
+ truth_index = lines.index(line) + 1
ipc_off = 'OFF ! IPC Mode (OFF,TX,RX,TXRX,ACS,WRITEFILE,READFILE)\n'
if (sc_css_en != 'true'):
@@ -387,6 +392,8 @@
lines[torquer_index] = ipc_off
if (sc_thruster_en != 'true'):
lines[thruster_index] = ipc_off
+ if (sc_sim_truth_en != 'true'):
+ lines[truth_index] = ipc_off
with open('./cfg/build/InOut/Inp_IPC.txt', 'w') as fp:
lines = "".join(lines)
diff --git a/scripts/cfg/prepare.sh b/scripts/cfg/prepare.sh
index aab0f4eb..7236c916 100755
--- a/scripts/cfg/prepare.sh
+++ b/scripts/cfg/prepare.sh
@@ -36,6 +36,11 @@ echo "Proceeding to optional additions."
echo ""
echo ""
+echo "Preparing Shared Folders for Fprime..."
+mkdir $USER_FPRIME_PATH 2> /dev/null
+echo ""
+echo ""
+
echo "Prepare Igniter (optional)..."
pip3 install pyside6 xmltodict
cd $BASE_DIR
diff --git a/scripts/cfg/uninstall.sh b/scripts/cfg/uninstall.sh
index 310ebf92..77acb8bc 100755
--- a/scripts/cfg/uninstall.sh
+++ b/scripts/cfg/uninstall.sh
@@ -21,6 +21,7 @@ yes | rm $BASE_DIR/minicom.cap 2> /dev/null
echo "Cleaning up local user directory..."
$DFLAGS -v $USER_NOS3_DIR:$USER_NOS3_DIR $DBOX rm -rf $USER_NOS3_DIR
rm -rf $USER_NOS3_DIR/*
+rm -rf $USER_FPRIME_PATH
yes | rm -rf $USER_NOS3_DIR/.m2 2> /dev/null
yes | rm -rf $USER_NOS3_DIR 2> /dev/null
diff --git a/scripts/checkout.sh b/scripts/checkout.sh
index 21c61e8b..be119bb3 100755
--- a/scripts/checkout.sh
+++ b/scripts/checkout.sh
@@ -19,22 +19,20 @@ echo ""
# Debugging
# Replace `--tab` with `--window-with-profile=KeepOpen` once you've created this gnome-terminal profile manually
-#echo "42..."
-#rm -rf $USER_NOS3_DIR/42/NOS3InOut
-#cp -r $BASE_DIR/cfg/build/InOut $USER_NOS3_DIR/42/NOS3InOut
-#xhost +local:*
-#gnome-terminal --tab --title=$SC_NUM" - 42" -- $DFLAGS -e DISPLAY=$DISPLAY -v $USER_NOS3_DIR:$USER_NOS3_DIR -v /tmp/.X11-unix:/tmp/.X11-unix:ro --name $SC_NUM"_fortytwo" -h fortytwo --network=$SC_NETNAME -w $USER_NOS3_DIR/42 -t $DBOX $USER_NOS3_DIR/42/42 NOS3InOut
-#echo ""
-
echo "NOS Core..."
gnome-terminal --tab --title="NOS Engine Server" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_nos_engine_server" -h nos_engine_server --network=$SC_NETNAME -w $SIM_BIN $DBOX /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json
gnome-terminal --tab --title="NOS Time Driver" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name nos_time_driver --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE time
gnome-terminal --tab --title="NOS Terminal" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name "nos_terminal" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE stdio-terminal
+echo ""
-echo " Checkout..."
-# Rename for your simulator under test to allow checkout, uncomment if already exists
-
-# Example manual build for sample checkout:
+##
+## HOW TO CHECKOUT
+##
+# Rename for your simulator under test in this file below to allow checkout, uncomment if already exists
+# Change configuration for your selected component (if using 42 for data)
+# Modify ./cfg/nos3-mission.xml to use `sc-minimal-config.xml`
+# Modify ./cfg/sc_minimal-config.xml to enable your specific component to test
+# Manually build checkout: (sample shown as reference)
# make debug
# cd ./components/sample/fsw/standalone
# mkdir build
@@ -42,6 +40,11 @@ echo " Checkout..."
# cmake .. -DTGTNAME=cpu1
# make
# exit
+# Run `make clean; make; make checkout`
+# Double check everything running as expected
+# Run tests as needed
+# Run `make stop` and repeat until feature complete
+echo "Checkout..."
##
## Arducam
@@ -49,11 +52,42 @@ echo " Checkout..."
#gnome-terminal --tab --title="Arducam Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_cam_sim" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE camsim
#gnome-terminal --title="Arducam Checkout" -- $DFLAGS -v $BASE_DIR:$BASE_DIR --name $SC_NUM"_arducam_checkout" --network=$SC_NETNAME -w $BASE_DIR $DBOX ./components/arducam/fsw/standalone/build/arducam_checkout
+##
+## Fine Sun Sensor (FSS)
+##
+#rm -rf $USER_NOS3_DIR/42/NOS3InOut
+#cp -r $BASE_DIR/cfg/build/InOut $USER_NOS3_DIR/42/NOS3InOut
+#xhost +local:*
+#gnome-terminal --tab --title=$SC_NUM" - 42" -- $DFLAGS -e DISPLAY=$DISPLAY -v $USER_NOS3_DIR:$USER_NOS3_DIR -v /tmp/.X11-unix:/tmp/.X11-unix:ro --name $SC_NUM"_fortytwo" -h fortytwo --network=$SC_NETNAME -w $USER_NOS3_DIR/42 -t $DBOX $USER_NOS3_DIR/42/42 NOS3InOut
+#echo ""
+#gnome-terminal --tab --title=$SC_NUM" - FSS Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_fss_sim" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE generic_fss_sim
+#gnome-terminal --title="FSS Checkout" -- $DFLAGS -v $BASE_DIR:$BASE_DIR --name $SC_NUM"_fss_checkout" --network=$SC_NETNAME -w $BASE_DIR $DBOX ./components/generic_fss/fsw/standalone/build/generic_fss_checkout
+# echo ""
+
+##
+## Reaction Wheels (RW)
+##
+#rm -rf $USER_NOS3_DIR/42/NOS3InOut
+#cp -r $BASE_DIR/cfg/build/InOut $USER_NOS3_DIR/42/NOS3InOut
+#xhost +local:*
+#gnome-terminal --tab --title=$SC_NUM" - 42" -- $DFLAGS -e DISPLAY=$DISPLAY -v $USER_NOS3_DIR:$USER_NOS3_DIR -v /tmp/.X11-unix:/tmp/.X11-unix:ro --name $SC_NUM"_fortytwo" -h fortytwo --network=$SC_NETNAME -w $USER_NOS3_DIR/42 -t $DBOX $USER_NOS3_DIR/42/42 NOS3InOut
+#echo ""
+#gnome-terminal --tab --title=$SC_NUM" - RW 0 Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_rw_sim0" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE generic-reactionwheel-sim0
+#gnome-terminal --tab --title=$SC_NUM" - RW 1 Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_rw_sim1" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE generic-reactionwheel-sim1
+#gnome-terminal --tab --title=$SC_NUM" - RW 2 Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_rw_sim2" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE generic-reactionwheel-sim2
+#gnome-terminal --title="RW Checkout" -- $DFLAGS -v $BASE_DIR:$BASE_DIR --name $SC_NUM"_rw_checkout" --network=$SC_NETNAME -w $BASE_DIR $DBOX ./components/generic_reaction_wheel/fsw/standalone/build/generic_reaction_wheel_checkout
+
##
## Sample
##
-gnome-terminal --tab --title="Sample Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_sample_sim" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE sample_sim
-gnome-terminal --title="Sample Checkout" -- $DFLAGS -v $BASE_DIR:$BASE_DIR --name $SC_NUM"_sample_checkout" --network=$SC_NETNAME -w $BASE_DIR $DBOX ./components/sample/fsw/standalone/build/sample_checkout
+gnome-terminal --tab --title="Sample Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_sample_sim" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE sample_sim
+gnome-terminal --title="Sample Checkout" -- $DFLAGS -v $BASE_DIR:$BASE_DIR --name $SC_NUM"_sample_checkout" --network=$SC_NETNAME -w $BASE_DIR $DBOX ./components/sample/fsw/standalone/build/sample_checkout
+
+##
+## Torquer
+##
+#gnome-terminal --tab --title=$SC_NUM" - Torquer Sim" -- $DFLAGS -v $SIM_DIR:$SIM_DIR --name $SC_NUM"_torquer_sim" --network=$SC_NETNAME -w $SIM_BIN $DBOX ./nos3-single-simulator $SC_CFG_FILE generic_torquer_sim
+#gnome-terminal --title="Torquer Checkout" -- $DFLAGS -v $BASE_DIR:$BASE_DIR --name $SC_NUM"_torquer_checkout" --network=$SC_NETNAME -w $BASE_DIR $DBOX ./components/generic_torquer/fsw/standalone/build/generic_torquer_checkout
# sleep 1
# urlIP=$(docker container inspect sc_1_sample_checkout | grep -i IPAddress | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
diff --git a/scripts/debug.sh b/scripts/debug.sh
index 877819a7..8045531c 100755
--- a/scripts/debug.sh
+++ b/scripts/debug.sh
@@ -9,4 +9,4 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $SCRIPT_DIR/env.sh
mkdir -p $BASE_DIR/fsw/build
-$DFLAGS_CPUS -v $BASE_DIR:$BASE_DIR -v $USER_NOS3_DIR:$USER_NOS3_DIR -v $MVN_DIR:$MVN_DIR -p 8090:8090 -p 5012:5012 -w $BASE_DIR --sysctl fs.mqueue.msg_max=10000 --ulimit rtprio=99 --cap-add=sys_nice --name "nos3_debug" $DBOX bash
+$DFLAGS_CPUS -v $USER_FPRIME_PATH:$USER_FPRIME_PATH -v $BASE_DIR:$BASE_DIR -v $USER_NOS3_DIR:$USER_NOS3_DIR -v $MVN_DIR:$MVN_DIR -p 8090:8090 -p 5012:5012 -w $BASE_DIR --sysctl fs.mqueue.msg_max=10000 --ulimit rtprio=99 --cap-add=sys_nice --name "nos3_debug" $DBOX bash
diff --git a/scripts/env.sh b/scripts/env.sh
index d8199946..fe06d170 100755
--- a/scripts/env.sh
+++ b/scripts/env.sh
@@ -20,6 +20,7 @@ NUM_CPUS="$( nproc )"
USERDIR=$(cd ~/ && pwd)
USER_NOS3_DIR=$(cd ~/ && pwd)/.nos3
+USER_FPRIME_PATH=$USERDIR/.cookiecutter_replay
OPENC3_DIR=$USER_NOS3_DIR/cosmos
OPENC3_PATH=$OPENC3_DIR/openc3.sh
diff --git a/scripts/fsw/onair_launch.sh b/scripts/fsw/onair_launch.sh
old mode 100644
new mode 100755
diff --git a/sims/truth_42_sim b/sims/truth_42_sim
index e1b1e265..6b9cd330 160000
--- a/sims/truth_42_sim
+++ b/sims/truth_42_sim
@@ -1 +1 @@
-Subproject commit e1b1e2657345d44be82fb72b0706ce8f178f1fd1
+Subproject commit 6b9cd330aac0993cd3a8d90e3d2eba346075568b