From 3195eed54b9ddcf911f8207365775412f4cb059c Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Wed, 14 Sep 2022 20:16:39 -0400 Subject: [PATCH 01/34] #76 - Removed deployment and added Vagrantfile pulling specific nos3 base box; --- .gitmodules | 3 --- Vagrantfile | 19 +++++++++++++++++++ deployment | 1 - 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 Vagrantfile delete mode 160000 deployment diff --git a/.gitmodules b/.gitmodules index e7617915..f3bb1bfc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "deployment"] - path = deployment - url = https://github.com/nasa-itc/deployment.git [submodule "fsw/apps/ci"] path = fsw/apps/ci url = https://github.com/nasa-itc/CFS_CI.git diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 00000000..44bcd27c --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,19 @@ +Vagrant.configure("2") do |config| + # Uncomment one of the following to select configuration + config.vm.box = "nos3/ubuntu" + + # Specify version + config.vm.box_version = "0.0.0" + + # Share host NOS3 repository into VM + config.vm.synced_folder ".", "/home/nos3/Desktop/github-nos3" + + # General configuration + config.ssh.password = "vagrant" + config.vm.provider "virtualbox" do |vbox| + vbox.name = "nos3_0.0.0" + vbox.gui = true + vbox.cpus = 2 + vbox.memory = "8192" + end +end diff --git a/deployment b/deployment deleted file mode 160000 index 04a32bd9..00000000 --- a/deployment +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 04a32bd97fc1c9a4720a45eed85986c71d60ef48 From bf84a27f1f1ca2ef6933db12fd01ccbe0c4c1436 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Tue, 27 Sep 2022 10:32:38 -0400 Subject: [PATCH 02/34] #76 - Remove Clyde EPS for now and update FSW tables; --- .gitmodules | 9 ------ Vagrantfile | 17 +++++----- fsw/components/clyde_eps | 1 - fsw/nos3_defs/cfe_es_startup.scr | 10 +++--- fsw/nos3_defs/tables/sch_def_msgtbl.c | 12 +++---- fsw/nos3_defs/tables/to_config.c | 17 +++++----- fsw/nos3_defs/targets.cmake | 6 ++-- gsw/scripts/launch.sh | 45 ++++++++++++++------------- gsw/scripts/stop.sh | 20 +++++++++++- sims/cfg/InOut/Inp_IPC.txt | 17 ++++++---- sims/clyde_battery_sim | 1 - sims/clyde_eps_sim | 1 - 12 files changed, 84 insertions(+), 72 deletions(-) delete mode 160000 fsw/components/clyde_eps delete mode 160000 sims/clyde_battery_sim delete mode 160000 sims/clyde_eps_sim diff --git a/.gitmodules b/.gitmodules index f3bb1bfc..74296132 100644 --- a/.gitmodules +++ b/.gitmodules @@ -49,21 +49,12 @@ [submodule "fsw/components/arducam"] path = fsw/components/arducam url = https://github.com/nasa-itc/arducam.git -[submodule "fsw/components/clyde_eps"] - path = fsw/components/clyde_eps - url = https://github.com/nasa-itc/clyde_eps.git [submodule "fsw/components/novatel_oem615"] path = fsw/components/novatel_oem615 url = https://github.com/nasa-itc/novatel_oem615.git -[submodule "sims/clyde_battery_sim"] - path = sims/clyde_battery_sim - url = https://github.com/nasa-itc/clyde_battery_sim.git [submodule "sims/arducam_sim"] path = sims/arducam_sim url = https://github.com/nasa-itc/arducam_sim.git -[submodule "sims/clyde_eps_sim"] - path = sims/clyde_eps_sim - url = https://github.com/nasa-itc/clyde_eps_sim.git [submodule "sims/nos_time_driver"] path = sims/nos_time_driver url = https://github.com/nasa-itc/nos_time_driver.git diff --git a/Vagrantfile b/Vagrantfile index 44bcd27c..69f9014b 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,19 +1,20 @@ Vagrant.configure("2") do |config| - # Uncomment one of the following to select configuration + ### Uncomment one of the following to select configuration + #config.vm.box = "nos3/oracle" + #config.vm.box = "nos3/rocky" config.vm.box = "nos3/ubuntu" - # Specify version + ### Specify version config.vm.box_version = "0.0.0" - # Share host NOS3 repository into VM + ### Share host NOS3 repository into VM config.vm.synced_folder ".", "/home/nos3/Desktop/github-nos3" - # General configuration - config.ssh.password = "vagrant" + ### General configuration config.vm.provider "virtualbox" do |vbox| - vbox.name = "nos3_0.0.0" + vbox.name = "nos3_1.5.2" vbox.gui = true - vbox.cpus = 2 - vbox.memory = "8192" + #vbox.cpus = 2 + #vbox.memory = "8192" end end diff --git a/fsw/components/clyde_eps b/fsw/components/clyde_eps deleted file mode 160000 index 857c1411..00000000 --- a/fsw/components/clyde_eps +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 857c14114c6033884c74f6c9f4c2b6c261b0fe0d diff --git a/fsw/nos3_defs/cfe_es_startup.scr b/fsw/nos3_defs/cfe_es_startup.scr index 6c4487d5..567316bb 100644 --- a/fsw/nos3_defs/cfe_es_startup.scr +++ b/fsw/nos3_defs/cfe_es_startup.scr @@ -1,14 +1,10 @@ CFE_LIB, /cf/cfs_lib.so, CFS_LibInit, CFS_LIB, 0, 0, 0x0, 0; CFE_APP, /cf/sch.so, SCH_AppMain, SCH, 40, 8192, 0x0, 0; -CFE_APP, /cf/hk.so, HK_AppMain, HK, 63, 16384, 0x0, 0; CFE_LIB, /cf/io_lib.so, IO_LibInit, IO_LIB, 0, 0, 0x0, 0; CFE_APP, /cf/ci.so, CI_AppMain, CI, 52, 16384, 0x0, 0; CFE_APP, /cf/to.so, TO_AppMain, TO, 53, 16384, 0x0, 0; -CFE_APP, /cf/cs.so, CS_AppMain, CS, 55, 16384, 0x0, 0; -CFE_APP, /cf/ds.so, DS_AppMain, DS, 58, 16384, 0x0, 0; -CFE_APP, /cf/fm.so, FM_AppMain, FM, 59, 16384, 0x0, 0; CFE_APP, /cf/lc.so, LC_AppMain, LC, 57, 16384, 0x0, 0; CFE_APP, /cf/sc.so, SC_AppMain, SC, 62, 16384, 0x0, 0; @@ -16,7 +12,6 @@ CFE_LIB, /cf/hwlib.so, hwlib_Init, HW_LIB, CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 69, 8192, 0x0, 0; CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 70, 8192, 0x0, 0; -CFE_APP, /cf/clyde_eps.so, clyde_eps_AppMain, EPS, 71, 8192, 0x0, 0; CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; @@ -26,7 +21,12 @@ CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, ! ! CFE_APP, /cf/sample.so, sample_AppMain, SAMPLE, 50, 8192, 0x0, 0; ! +! CFE_APP, /cf/clyde_eps.so, clyde_eps_AppMain, EPS, 71, 8192, 0x0, 0; +! CFE_APP, /cf/cs.so, CS_AppMain, CS, 55, 16384, 0x0, 0; ! CFE_APP, /cf/cf.so, CF_AppMain, CF, 54, 16384, 0x0, 0; +! CFE_APP, /cf/ds.so, DS_AppMain, DS, 58, 16384, 0x0, 0; +! CFE_APP, /cf/fm.so, FM_AppMain, FM, 59, 16384, 0x0, 0; +! CFE_APP, /cf/hk.so, HK_AppMain, HK, 63, 16384, 0x0, 0; ! CFE_APP, /cf/hs.so, HS_AppMain, HS, 56, 16384, 0x0, 0; ! CFE_APP, /cf/sbn.so, SBN_AppMain, SBN, 63, 16384, 0x0, 0; ! CFE_APP, /cf/md.so, MD_AppMain, MD, 60, 16384, 0x0, 0; diff --git a/fsw/nos3_defs/tables/sch_def_msgtbl.c b/fsw/nos3_defs/tables/sch_def_msgtbl.c index 433ea9c7..10f9506c 100644 --- a/fsw/nos3_defs/tables/sch_def_msgtbl.c +++ b/fsw/nos3_defs/tables/sch_def_msgtbl.c @@ -31,14 +31,14 @@ #include "cfe_msgids.h" #include "ci_msgids.h" -#include "to_msgids.h" //#include "ds_msgids.h" //#include "fm_msgids.h" -#include "hk_msgids.h" -#include "hs_msgids.h" +//#include "hk_msgids.h" +//#include "hs_msgids.h" #include "lc_msgids.h" #include "sc_msgids.h" #include "sch_msgids.h" +#include "to_msgids.h" /* ** Component Include Files @@ -125,8 +125,7 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = /*{ { CFE_MAKE_BIG16(HS_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #11 - Limit Checker HK Request */ -/*{ { CFE_MAKE_BIG16(LC_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(LC_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #12 - Memory Dwell HK Request */ /*{ { CFE_MAKE_BIG16(MD_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, @@ -134,8 +133,7 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = /*{ { CFE_MAKE_BIG16(MM_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #14 - Stored Command HK Request */ -/*{ { CFE_MAKE_BIG16(SC_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(SC_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #15 - Scheduler HK Request */ { { CFE_MAKE_BIG16(SCH_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, diff --git a/fsw/nos3_defs/tables/to_config.c b/fsw/nos3_defs/tables/to_config.c index 14104e2b..f94c5ed8 100644 --- a/fsw/nos3_defs/tables/to_config.c +++ b/fsw/nos3_defs/tables/to_config.c @@ -52,20 +52,19 @@ extern "C" { #include "cfe_msgids.h" -#include "to_msgids.h" #include "ci_msgids.h" #include "cf_msgids.h" +//#include "hs_msgids.h" +//#include "hk_msgids.h" #include "sch_msgids.h" -#include "hs_msgids.h" -#include "hk_msgids.h" -#include "sch_msgids.h" +#include "to_msgids.h" /* ** Component Include Files */ +//#include "eps_msgids.h" #include "nav_msgids.h" #include "generic_reaction_wheel_msgids.h" -#include "eps_msgids.h" #include "sample_app_msgids.h" /* @@ -112,20 +111,20 @@ TO_ConfigTable_t to_ConfigTable = {CFE_TIME_DIAG_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CFE_TIME_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {TO_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {HS_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {SCH_DIAG_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, /* 20 - 29 */ - {SCH_DIAG_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SCH_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {HK_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {CI_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {TO_DATA_TYPE_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {NAV_SEND_HK_TLM, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {GENERIC_RW_APP_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {EPS_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_SEND_DEV_HK_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_SEND_DEV_DATA_MID, {0,0}, 64, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, + {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, + {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, /* 30 - 39 */ {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, diff --git a/fsw/nos3_defs/targets.cmake b/fsw/nos3_defs/targets.cmake index cfe6d6b7..c1743140 100644 --- a/fsw/nos3_defs/targets.cmake +++ b/fsw/nos3_defs/targets.cmake @@ -100,8 +100,8 @@ SET(APPLICATION_LIST #cs #ds #fm - hk - hs + #hk + #hs lc #md #mm @@ -116,7 +116,7 @@ SET(APPLICATION_LIST sample novatel_oem615 arducam - clyde_eps + #clyde_eps generic_reaction_wheel ) diff --git a/gsw/scripts/launch.sh b/gsw/scripts/launch.sh index 5a9617dc..a7391963 100644 --- a/gsw/scripts/launch.sh +++ b/gsw/scripts/launch.sh @@ -8,7 +8,7 @@ BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) FSW_BIN=$BASE_DIR/fsw/build/exe/cpu1 SIM_BIN=$BASE_DIR/sims/build/bin SIMS=$(cd $SIM_BIN; ls nos3*simulator) -#SIM_TABS=$(for i in $SIMS; do printf " --tab --title=$i -e \"$SIM_BIN/$i\" "; done) +#SIM_TABS=$(for i in $SIMS; do printf " --tab --title=$i --command=\"$SIM_BIN/$i\" "; done) # Debugging #echo "Script directory = " $SCRIPT_DIR @@ -19,32 +19,35 @@ SIMS=$(cd $SIM_BIN; ls nos3*simulator) #echo "Sim tabs = " $SIM_TABS #exit -echo "COSMOS Ground Station..." -cd $BASE_DIR/gsw/cosmos -bundle install # just in case... sometimes the first run of cosmos fails on the nokogiri gem -ruby Launcher -c nos3_launcher.txt -- system nos3_system.txt & + +echo "42..." +cd /opt/nos3/42/ +rm -rf NOS3InOut +cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut +gnome-terminal \ +--tab --title="42 Dynamic Simulator" --command="/opt/nos3/42/42 NOS3InOut" echo "Simulators..." cd $SIM_BIN gnome-terminal \ ---tab --title="NOS Engine Standalone Server" -e "/usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json" \ ---tab --title="NOS Time Driver" -e $SIM_BIN/nos-time-driver \ ---tab --title="Simulator Terminal" -e $SIM_BIN/nos3-simulator-terminal \ ---tab -t 'Sample Simulator' -e "$SIM_BIN/nos3-sample-simulator" \ ---tab -t 'Battery Simulator' -e "$SIM_BIN/nos3-battery-simulator --config $SIM_BIN/batteries.json" \ ---tab -t 'CAM Simulator' -e "$SIM_BIN/nos3-cam-simulator" \ ---tab -t 'EPS Simulator' -e "$SIM_BIN/nos3-eps-simulator --iconic true --config $SIM_BIN/eps.json" \ ---tab -t 'GPS Simulator' -e "$SIM_BIN/nos3-gps-simulator" \ ---tab -t 'RW Simulator' -e "$SIM_BIN/nos3-generic-reactionwheel-simulator" \ ---tab --title="truth42sim" -e "$SIM_BIN/nos3-single-simulator truth42sim" +--tab --title="NOS Engine Standalone Server" --command="/usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json" \ +--tab --title="NOS Time Driver" --command=$SIM_BIN/nos-time-driver \ +--tab --title="Simulator Terminal" --command=$SIM_BIN/nos3-simulator-terminal \ +--tab -t 'Sample Simulator' --command="$SIM_BIN/nos3-sample-simulator" \ +--tab -t 'CAM Simulator' --command="$SIM_BIN/nos3-cam-simulator" \ +--tab -t 'GPS Simulator' --command="$SIM_BIN/nos3-gps-simulator" \ +--tab -t 'RW Simulator' --command="$SIM_BIN/nos3-generic-reactionwheel-simulator" \ +--tab --title="truth42sim" --command="$SIM_BIN/nos3-single-simulator truth42sim" #$SIM_TABS > /dev/null -echo "42..." -cd /opt/nos3/42/ -rm -rf NOS3InOut -cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut -gnome-terminal --title="42 Dynamic Simulator" -e "/opt/nos3/42/42 NOS3InOut" \ +echo "COSMOS Ground Station..." +cd $BASE_DIR/gsw/cosmos +export MISSION_NAME=$(echo "NOS3") +export PROCESSOR_ENDIANNESS=$(echo "LITTLE_ENDIAN") +ruby Launcher -c nos3_launcher.txt -- system nos3_system.txt & + +sleep 5 echo "Flight Software..." cd $FSW_BIN -gnome-terminal --title="NOS3 Flight Software" -- $FSW_BIN/core-cpu1 & +gnome-terminal --title="NOS3 Flight Software" --command="$FSW_BIN/core-cpu1 -R PO" & diff --git a/gsw/scripts/stop.sh b/gsw/scripts/stop.sh index bafde996..694b4650 100644 --- a/gsw/scripts/stop.sh +++ b/gsw/scripts/stop.sh @@ -3,14 +3,32 @@ # Convenience script for NOS3 development # +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) + # cFS killall -q -r -9 core-cpu* # COSMOS killall -q -9 ruby +rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null # NOS3 -killall -q -INT -r 'nos3.*simulator.*' +killall -q -r -9 'nos3.*simulator.*' +killall -q -r -9 nos3-* killall -q nos_engine_server_standalone killall -q nos-time-driver + +# NOS3 GPIO +rm -rf /tmp/gpio_fake + +# NOS3 Stored HK +rm -rf $BASE_DIR/fsw/build/exe/cpu1/scratch/* + +# 42 killall -q 42 +rm -rf /opt/nos3/42/NOS3InOut +rm -rf /opt/nos3/42/Model/GTO* +rm -rf /tmp/gpio* + +exit 0 \ No newline at end of file diff --git a/sims/cfg/InOut/Inp_IPC.txt b/sims/cfg/InOut/Inp_IPC.txt index 7bb5a03b..273da7af 100644 --- a/sims/cfg/InOut/Inp_IPC.txt +++ b/sims/cfg/InOut/Inp_IPC.txt @@ -40,17 +40,22 @@ FALSE ! Allow Blocking (i.e. wait on RX) FALSE ! Echo to stdout 1 ! Number of TX prefixes "SC" ! Prefix 0 -********************************** IPC 4 ***************************** +********************************** Truth data to sim to pass to COSMOS ******************** TX ! IPC Mode (OFF,TX,RX,TXRX,ACS,WRITEFILE,READFILE) 0 ! AC.ID for ACS mode -"State04.42" ! File name for WRITE or READ +"State.42" ! File name for WRITE or READ SERVER ! Socket Role (SERVER,CLIENT,GMSEC_CLIENT) -localhost 9999 ! Server Host Name, Port +localhost 9999 ! Server Host Name, Port FALSE ! Allow Blocking (i.e. wait on RX) FALSE ! Echo to stdout -2 ! Number of TX prefixes -"SC" ! Prefix 0 -"Orb" ! Prefix 1 +7 ! Number of TX prefixes +"SC[0].PosR" ! Prefix 0 +"SC[0].VelR" ! Prefix 1 +"SC[0].svb" ! Prefix 2 +"SC[0].bvb" ! Prefix 3 +"SC[0].Hvb" ! Prefix 4 +"SC[0].B[0]" ! Prefix 5 +"Orb" ! Prefix 6 ********************************** Write to file for analysis ***************************** WRITEFILE ! IPC Mode (OFF,TX,RX,TXRX,ACS,WRITEFILE,READFILE) 0 ! AC.ID for ACS mode diff --git a/sims/clyde_battery_sim b/sims/clyde_battery_sim deleted file mode 160000 index 25ebfd55..00000000 --- a/sims/clyde_battery_sim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 25ebfd554b2d57f9971a901b7153de638b4ff585 diff --git a/sims/clyde_eps_sim b/sims/clyde_eps_sim deleted file mode 160000 index 568f3930..00000000 --- a/sims/clyde_eps_sim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 568f393039d9bd2b6ffe1e5365ef4ab5826a52b5 From 72ed462aef94cd07aac98944f48634a6d9928cbe Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Tue, 27 Sep 2022 12:44:30 -0400 Subject: [PATCH 03/34] [nasa/nos3#76] Updates to launch script, 42 configuration files, and cosmos windows; --- gsw/cosmos | 2 +- gsw/scripts/launch.sh | 28 ++--- sims/cfg/InOut/Flex_Simple.txt | 68 ------------ sims/cfg/InOut/ISS_TLE.txt | 3 + sims/cfg/InOut/Inp_Cmd.txt | 7 +- sims/cfg/InOut/Inp_FOV.txt | 8 +- sims/cfg/InOut/Inp_Graphics.txt | 14 +-- sims/cfg/InOut/Inp_IPC.txt | 11 +- sims/cfg/InOut/Inp_NOS3.txt | 3 - sims/cfg/InOut/Inp_Sim.txt | 36 +++---- sims/cfg/InOut/Orb_ISS.txt | 25 ++--- sims/cfg/InOut/Orb_LEO.txt | 31 +++--- sims/cfg/InOut/SC_NOS3.txt | 183 +++++++++++++++++--------------- 13 files changed, 181 insertions(+), 238 deletions(-) delete mode 100644 sims/cfg/InOut/Flex_Simple.txt create mode 100644 sims/cfg/InOut/ISS_TLE.txt delete mode 100644 sims/cfg/InOut/Inp_NOS3.txt diff --git a/gsw/cosmos b/gsw/cosmos index 16d2649c..94b60556 160000 --- a/gsw/cosmos +++ b/gsw/cosmos @@ -1 +1 @@ -Subproject commit 16d2649cfe0dc8463f8a3df0d01f916a3de7db24 +Subproject commit 94b60556b6b1a9f7530faefe77a188f1149be9ee diff --git a/gsw/scripts/launch.sh b/gsw/scripts/launch.sh index a7391963..338e7899 100644 --- a/gsw/scripts/launch.sh +++ b/gsw/scripts/launch.sh @@ -8,7 +8,6 @@ BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) FSW_BIN=$BASE_DIR/fsw/build/exe/cpu1 SIM_BIN=$BASE_DIR/sims/build/bin SIMS=$(cd $SIM_BIN; ls nos3*simulator) -#SIM_TABS=$(for i in $SIMS; do printf " --tab --title=$i --command=\"$SIM_BIN/$i\" "; done) # Debugging #echo "Script directory = " $SCRIPT_DIR @@ -16,38 +15,33 @@ SIMS=$(cd $SIM_BIN; ls nos3*simulator) #echo "FSW directory = " $FSW_BIN #echo "Sim directory = " $SIM_BIN #echo "Sim list = " $SIMS -#echo "Sim tabs = " $SIM_TABS #exit - echo "42..." cd /opt/nos3/42/ rm -rf NOS3InOut cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut -gnome-terminal \ ---tab --title="42 Dynamic Simulator" --command="/opt/nos3/42/42 NOS3InOut" +gnome-terminal --tab --title="42 Dynamic Simulator" -- /opt/nos3/42/42 NOS3InOut echo "Simulators..." cd $SIM_BIN -gnome-terminal \ ---tab --title="NOS Engine Standalone Server" --command="/usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json" \ ---tab --title="NOS Time Driver" --command=$SIM_BIN/nos-time-driver \ ---tab --title="Simulator Terminal" --command=$SIM_BIN/nos3-simulator-terminal \ ---tab -t 'Sample Simulator' --command="$SIM_BIN/nos3-sample-simulator" \ ---tab -t 'CAM Simulator' --command="$SIM_BIN/nos3-cam-simulator" \ ---tab -t 'GPS Simulator' --command="$SIM_BIN/nos3-gps-simulator" \ ---tab -t 'RW Simulator' --command="$SIM_BIN/nos3-generic-reactionwheel-simulator" \ ---tab --title="truth42sim" --command="$SIM_BIN/nos3-single-simulator truth42sim" -#$SIM_TABS > /dev/null +gnome-terminal --tab --title="NOS Engine Standalone Server" -- /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json +gnome-terminal --tab --title="NOS Time Driver" -- $SIM_BIN/nos-time-driver +gnome-terminal --tab --title="Simulator Terminal" -- $SIM_BIN/nos3-simulator-terminal +gnome-terminal --tab --title='Sample Simulator' -- $SIM_BIN/nos3-sample-simulator +gnome-terminal --tab --title='CAM Simulator' -- $SIM_BIN/nos3-cam-simulator +gnome-terminal --tab --title='GPS Simulator' -- $SIM_BIN/nos3-gps-simulator +gnome-terminal --tab --title='RW Simulator' -- $SIM_BIN/nos3-generic-reactionwheel-simulator +gnome-terminal --tab --title="truth42sim" -- $SIM_BIN/nos3-single-simulator truth42sim echo "COSMOS Ground Station..." cd $BASE_DIR/gsw/cosmos export MISSION_NAME=$(echo "NOS3") export PROCESSOR_ENDIANNESS=$(echo "LITTLE_ENDIAN") -ruby Launcher -c nos3_launcher.txt -- system nos3_system.txt & +ruby Launcher -c nos3_launcher.txt --system nos3_system.txt & sleep 5 echo "Flight Software..." cd $FSW_BIN -gnome-terminal --title="NOS3 Flight Software" --command="$FSW_BIN/core-cpu1 -R PO" & +gnome-terminal --title="NOS3 Flight Software" -- $FSW_BIN/core-cpu1 -R PO & diff --git a/sims/cfg/InOut/Flex_Simple.txt b/sims/cfg/InOut/Flex_Simple.txt deleted file mode 100644 index 3cf956bf..00000000 --- a/sims/cfg/InOut/Flex_Simple.txt +++ /dev/null @@ -1,68 +0,0 @@ -<<<<<<<<<<<<<< Flexible Body Inputs for 42 >>>>>>>>>>>>>>>>>>> -Simple Flex Model ! Description -2 ! Number of Flex Modes -****************** Initial Modal States x, u ****************** -1.0E-6 0.0 ! Mode 0 x, u -1.0E-6 0.0 ! Mode 1 x, u -****************** Analysis Node Locations ********************* -2 ! Number of Analysis Nodes -500001 1.0 -1.0 1.5 ! Node ID, location, m -500002 -1.0 0.0 2.5 ! Node ID, location, m -****************** Joint Node Mode Shapes ********************* -******* Non-zero Translation Mode Shape (PSI) Elements ******** -0 ! Number of non-zero elements -******* Non-zero Rotation Mode Shape (THETA) Elements ******** -0 ! Number of non-zero elements -**************** Analysis Node Mode Shapes ********************* -******* Non-zero Translation Mode Shape (PSI) Elements ******** -12 ! Number of non-zero elements - 0 0 0 0.1 ! [Mode] [Node] [Axis] Value - 0 0 1 0.1 ! [Mode] [Node] [Axis] Value - 0 0 2 0.1 ! [Mode] [Node] [Axis] Value - 0 1 0 -0.1 ! [Mode] [Node] [Axis] Value - 0 1 1 -0.1 ! [Mode] [Node] [Axis] Value - 0 1 2 -0.1 ! [Mode] [Node] [Axis] Value - 1 0 0 0.1 ! [Mode] [Node] [Axis] Value - 1 0 1 0.1 ! [Mode] [Node] [Axis] Value - 1 0 2 0.1 ! [Mode] [Node] [Axis] Value - 1 1 0 0.1 ! [Mode] [Node] [Axis] Value - 1 1 1 0.1 ! [Mode] [Node] [Axis] Value - 1 1 2 0.1 ! [Mode] [Node] [Axis] Value -******* Non-zero Rotation Mode Shape (THETA) Elements ******** -12 ! Number of non-zero elements - 0 0 0 0.1 ! [Mode] [Node] [Axis] Value - 0 0 1 0.0707 ! [Mode] [Node] [Axis] Value - 0 0 2 0.057735 ! [Mode] [Node] [Axis] Value - 0 1 0 -0.1 ! [Mode] [Node] [Axis] Value - 0 1 1 -0.0707 ! [Mode] [Node] [Axis] Value - 0 1 2 -0.057735 ! [Mode] [Node] [Axis] Value - 1 0 0 0.1 ! [Mode] [Node] [Axis] Value - 1 0 1 0.0707 ! [Mode] [Node] [Axis] Value - 1 0 2 0.057735 ! [Mode] [Node] [Axis] Value - 1 1 0 0.1 ! [Mode] [Node] [Axis] Value - 1 1 1 0.0707 ! [Mode] [Node] [Axis] Value - 1 1 2 0.057735 ! [Mode] [Node] [Axis] Value -**************** Non-zero Mass Matrix Elements ****************** -2 ! Number of non-zero elements -0 0 1.0 ! [Row] [Col] Value -1 1 1.0 ! [Row] [Col] Value -************* Non-zero Stiffness Matrix Elements **************** -2 ! Number of non-zero elements -0 0 39.478 ! [Row] [Col] Value (1 Hz) -1 1 3947.8 ! [Row] [Col] Value (10 Hz) -************* Non-zero Damping Matrix Elements **************** -2 ! Number of non-zero elements -0 0 0.012566 ! [Row] [Col] Value (0.1%) -1 1 0.12566 ! [Row] [Col] Value (0.1%) -********* Linear Momentum Modal Integral, Pf, 3 x Nf ********* -0.0 0.0 0.0 ! Mode 0, [x y z] -0.0 0.0 0.0 ! Mode 1, [x y z] -******** Angular Momentum Modal Integral, Hf, 3 x Nf ********* -0.0 0.0 0.0 ! Mode 0, [x y z] -0.0 0.0 0.0 ! Mode 1, [x y z] -********** Linear Modal Integral, L, 3 x 3 x Nf ************** -0 ! Number of non-zero elements -********* Angular Modal Integral, N, 3 x 3 x Nf x Nf ********* -0 ! Number of non-zero elements -[EOF] - \ No newline at end of file diff --git a/sims/cfg/InOut/ISS_TLE.txt b/sims/cfg/InOut/ISS_TLE.txt new file mode 100644 index 00000000..ad698ed8 --- /dev/null +++ b/sims/cfg/InOut/ISS_TLE.txt @@ -0,0 +1,3 @@ +ISS +1 25544U 98067A 18267.56068992 .00016717 00000-0 10270-3 0 9006 +2 25544 51.6363 243.4961 0004165 202.7876 157.3092 15.53770437 13961 \ No newline at end of file diff --git a/sims/cfg/InOut/Inp_Cmd.txt b/sims/cfg/InOut/Inp_Cmd.txt index 7a04cefc..c0de4e56 100644 --- a/sims/cfg/InOut/Inp_Cmd.txt +++ b/sims/cfg/InOut/Inp_Cmd.txt @@ -1,5 +1,5 @@ <<<<<<<<<<<<<<<<< 42: Command Script File >>>>>>>>>>>>>>>>> -0.0 SC[0] qrl = [0.0 0.0 0.0 1.0] +0.0 SC[0] Cmd Angles = [0.0 0.0 0.0] deg, Seq = 123 wrt L Frame EOF ############################################################## @@ -24,9 +24,6 @@ EOF %lf SC[%ld].G[%ld].TrnLocked[%ld] %s %lf Impart Impulsive Delta-V of [%lf %lf %lf] m/s in Frame %c to Orb[%ld] %c can be N or L -%lf SC[%ld].LoopGain = %lf -%lf SC[%ld].LoopDelay = %lf -%lf SC[%ld].GainAndDelayActive = %s # GUI-related commands %lf POV.Host.SC %ld @@ -36,7 +33,7 @@ EOF %lf Banner = "Banner in Quotes" %lf GL Output Step = %lf %lf POV CmdRange = %lf -%lf POV CmdSeq = %ld +%lf POV CmdSeq = %li %lf POV CmdAngle = [%lf %lf %lf] deg %lf POV CmdPermute = [%lf %lf %lf; %lf %lf %lf; %lf %lf %lf] %lf POV TimeToGo = %lf diff --git a/sims/cfg/InOut/Inp_FOV.txt b/sims/cfg/InOut/Inp_FOV.txt index dafaa956..74752c11 100644 --- a/sims/cfg/InOut/Inp_FOV.txt +++ b/sims/cfg/InOut/Inp_FOV.txt @@ -33,11 +33,11 @@ TRUE TRUE ! Draw Near Field, Draw Far Field 135.0 0.0 0.0 213 ! Euler Angles [deg], Sequence -------------------------------------------------------------------- "PLANE" ! Label -24 8.0 ! Number of Sides, Length [m] +24 8.0 ! Number of Sides, Length [m] 0.0 0.0 ! X Width, Y Height [deg] 1.0 1.0 1.0 0.3 ! Color RGB+Alpha -PLANE ! WIREFRAME, SOLID, VECTOR, or PLANE -TRUE TRUE ! Draw Near Field, Draw Far Field -0 0 ! SC, Body +PLANE ! WIREFRAME, SOLID, VECTOR, or PLANE +FALSE FALSE ! Draw Near Field, Draw Far Field +0 0 ! SC, Body 0.0 0.0 0.0 ! Position in Body [m] -45.0 0.0 0.0 213 ! Euler Angles [deg], Sequence diff --git a/sims/cfg/InOut/Inp_Graphics.txt b/sims/cfg/InOut/Inp_Graphics.txt index b7810217..5337738b 100644 --- a/sims/cfg/InOut/Inp_Graphics.txt +++ b/sims/cfg/InOut/Inp_Graphics.txt @@ -1,9 +1,9 @@ <<<<<<<<<<<<<<<< 42 Graphics Configuration File >>>>>>>>>>>>>>>>>>> 1.0 ! GL Output Interval [sec] Skymap09.txt ! Star Catalog File Name -TRUE ! Map Window Exists -TRUE ! Orrery Window Exists -TRUE ! Unit Sphere Window Exists +FALSE ! Map Window Exists +FALSE ! Orrery Window Exists +FALSE ! Unit Sphere Window Exists ******************************* POV ********************************* FALSE ! Pause at Startup TRACK_HOST ! POV Mode (TRACK_HOST, TRACK_TARGET, FIXED_IN_HOST) @@ -13,12 +13,12 @@ SC ! Target Type (WORLD, REFORB, FRM, SC, BODY) 0 0 L ! Initial Target SC, Body, POV Frame POS_Z ! Boresight Axis NEG_Y ! Up Axis -4.0 ! Initial POV Range from Target [m] +3.2 ! Initial POV Range from Target [m] 30.0 ! POV Angle (Vertical) [deg] 0.0 0.0 0.0 ! POV Position in Host [m] FRONT ! Initial POV View (FRONT, FRONT_RIGHT, etc) ******************************* CAM ********************************* -"42 Cam" ! Cam Title [delimited by "] +"42 Cam" ! Cam Title [delimited by "] 800 800 ! Width, Height [pixels] 5.0E-5 ! Mouse Scale Factor 1.8 ! Display's Gamma Exponent (1.8-4.0) @@ -37,7 +37,7 @@ FALSE "Prox Ops" ! Show Prox Ops FALSE "TDRS" ! Show TDRS Satellites TRUE "Shadows" ! Show Shadows FALSE "Astro Labels" ! Show Astro Labels -FALSE "Truth Vectors" ! Show Truth Vectors +TRUE "Truth Vectors" ! Show Truth Vectors FALSE "FSW Vectors" ! Show FSW Vectors TRUE "Milky Way" ! Show Milky Way FALSE "Fermi Sky" ! Show Fermi Sky @@ -52,4 +52,4 @@ TRUE "Night" ! Show Night ********************* Unit Sphere Show Menu ************************* TRUE ! Show Major Constellations TRUE ! Show Zodiac Constellations -FALSE ! Show Minor Constellations \ No newline at end of file +FALSE ! Show Minor Constellations diff --git a/sims/cfg/InOut/Inp_IPC.txt b/sims/cfg/InOut/Inp_IPC.txt index 273da7af..32cf61ba 100644 --- a/sims/cfg/InOut/Inp_IPC.txt +++ b/sims/cfg/InOut/Inp_IPC.txt @@ -64,6 +64,11 @@ SERVER ! Socket Role (SERVER,CLIENT,GMSEC_CLIEN localhost 6008 ! Server Host Name, Port FALSE ! Allow Blocking (i.e. wait on RX) FALSE ! Echo to stdout -2 ! Number of TX prefixes -"SC" ! Prefix 0 -"Orb" ! Prefix 1 +7 ! Number of TX prefixes +"SC[0].PosR" ! Prefix 0 +"SC[0].VelR" ! Prefix 1 +"SC[0].svb" ! Prefix 2 +"SC[0].bvb" ! Prefix 3 +"SC[0].Hvb" ! Prefix 4 +"SC[0].B[0]" ! Prefix 5 +"Orb" ! Prefix 6 diff --git a/sims/cfg/InOut/Inp_NOS3.txt b/sims/cfg/InOut/Inp_NOS3.txt deleted file mode 100644 index 0ee2025c..00000000 --- a/sims/cfg/InOut/Inp_NOS3.txt +++ /dev/null @@ -1,3 +0,0 @@ -<<<<<<<<<<<<<<<< 42 NOS3 Time Configuration File >>>>>>>>>>>>>>>>>>> -command ! NOS3 Time Bus -tcp://127.0.0.1:12001 ! NOS3 Time Connection String diff --git a/sims/cfg/InOut/Inp_Sim.txt b/sims/cfg/InOut/Inp_Sim.txt index c0cca9f8..8f8fa7db 100644 --- a/sims/cfg/InOut/Inp_Sim.txt +++ b/sims/cfg/InOut/Inp_Sim.txt @@ -1,13 +1,13 @@ <<<<<<<<<<<<<<<<< 42: The Mostly Harmless Simulator >>>>>>>>>>>>>>>>> ************************** Simulation Control ************************** NOS3 ! Time Mode (FAST, REAL, EXTERNAL, or NOS3) -10000.0 0.1 ! Sim Duration, Step Size [sec] +15000.0 0.1 ! Sim Duration, Step Size [sec] 1.0 ! File Output Interval [sec] TRUE ! Graphics Front End? Inp_Cmd.txt ! Command Script File Name ************************** Reference Orbits ************************** 1 ! Number of Reference Orbits -TRUE Orb_LEO.txt ! Input file name for Orb 0 +TRUE Orb_ISS.txt ! Input file name for Orb 0 ***************************** Spacecraft ***************************** 1 ! Number of Spacecraft TRUE 0 SC_NOS3.txt ! Existence, RefOrb, Input file for SC 0 @@ -16,44 +16,44 @@ TRUE 0 SC_NOS3.txt ! Existence, RefOrb, Input file for SC 0 08 30 00.00 ! Time (UTC) (Hr,Min,Sec) 37.0 ! Leap Seconds (sec) USER ! F10.7, Ap (USER, NOMINAL or TWOSIGMA) -230.0 ! USER-provided F10.7 -100.0 ! USER-provided Ap +124.0 ! USER-provided F10.7 +10.0 ! USER-provided Ap IGRF ! Magfield (NONE,DIPOLE,IGRF) 8 8 ! IGRF Degree and Order (<=10) 8 8 ! Earth Gravity Model N and M (<=18) 2 0 ! Mars Gravity Model N and M (<=18) 2 0 ! Luna Gravity Model N and M (<=18) -FALSE FALSE ! Aerodynamic Forces & Torques (Shadows) -FALSE ! Gravity Gradient Torques -FALSE FALSE ! Solar Pressure Forces & Torques (Shadows) -FALSE ! Gravity Perturbation Forces +TRUE FALSE ! Aerodynamic Forces & Torques (Shadows) +TRUE ! Gravity Gradient Torques +TRUE FALSE ! Solar Pressure Forces & Torques (Shadows) +TRUE ! Gravity Perturbation Forces FALSE ! Passive Joint Forces & Torques FALSE ! Thruster Plume Forces & Torques FALSE ! RWA Imbalance Forces and Torques FALSE ! Contact Forces and Torques FALSE ! CFD Slosh Forces and Torques -FALSE ! Output Environmental Torques to Files +FALSE ! Albedo Effect on CSS Measurements +TRUE ! Output Environmental Torques to Files ********************* Celestial Bodies of Interest ********************* MEAN ! Ephem Option (MEAN or DE430) TRUE ! Mercury TRUE ! Venus TRUE ! Earth and Luna -TRUE ! Mars and its moons -TRUE ! Jupiter and its moons -TRUE ! Saturn and its moons -TRUE ! Uranus and its moons -TRUE ! Neptune and its moons -TRUE ! Pluto and its moons +FALSE ! Mars and its moons +FALSE ! Jupiter and its moons +FALSE ! Saturn and its moons +FALSE ! Uranus and its moons +FALSE ! Neptune and its moons +FALSE ! Pluto and its moons FALSE ! Asteroids and Comets ***************** Lagrange Point Systems of Interest ****************** FALSE ! Earth-Moon FALSE ! Sun-Earth FALSE ! Sun-Jupiter ************************* Ground Stations *************************** -6 ! Number of Ground Stations +5 ! Number of Ground Stations TRUE EARTH -77.0 37.0 "GSFC" ! Exists, World, Lng, Lat, Label TRUE EARTH -155.6 19.0 "South Point" ! Exists, World, Lng, Lat, Label TRUE EARTH 115.4 -29.0 "Dongara" ! Exists, World, Lng, Lat, Label TRUE EARTH -71.0 -33.0 "Santiago" ! Exists, World, Lng, Lat, Label -TRUE LUNA 45.0 45.0 "Moon Base Alpha" ! Exists, World, Lng, Lat, Label -TRUE EARTH -75.512936 37.854886 "Wallops" ! Exists, World, Lng, Lat, Label +TRUE LUNA 45.0 45.0 "Moon Base Alpha" ! Exists, World, Lng, Lat, Label \ No newline at end of file diff --git a/sims/cfg/InOut/Orb_ISS.txt b/sims/cfg/InOut/Orb_ISS.txt index 1b8fb6d2..93e30f51 100644 --- a/sims/cfg/InOut/Orb_ISS.txt +++ b/sims/cfg/InOut/Orb_ISS.txt @@ -4,31 +4,32 @@ CENTRAL ! Orbit Type (ZERO, FLIGHT, CENTRAL, THREE_BODY) :::::::::::::: Use these lines if ZERO ::::::::::::::::: MINORBODY_2 ! World FALSE ! Use Polyhedron Gravity -:::::::::::::: Use these lines if FLIGHT ::::::::::::::::: +:::::::::::::: Use these lines if FLIGHT ::::::::::::::::: 0 ! Region Number FALSE ! Use Polyhedron Gravity -:::::::::::::: Use these lines if CENTRAL ::::::::::::::::: +:::::::::::::: Use these lines if Body-Centered Orbit ::::::::::::::::: EARTH ! Orbit Center -TRUE ! Secular Orbit Drift Due to J2 +TRUE ! Secular Orbit Drift Due to J2 KEP ! Use Keplerian elements (KEP) or (RV) or FILE -AE ! Use Peri/Apoapsis (PA) or min alt/ecc (AE) -347.0 358.0 ! Periapsis & Apoapsis Altitude, km -410.7674 0.0003918 ! Min Altitude (km), Eccentricity -51.6363 ! Inclination (deg) -180 ! Right Ascension of Ascending Node (deg) +PA ! Use Peripsis & Apoapsis (PA) or min Alt & Ecc (AE) +420.0 420.0 ! Periapsis & Apoapsis Altitude, km Apoapsis Altitude (km) +420.0 0.0 ! Min Altitude (km), Eccentricity +51.5 ! Inclination (deg) +22.0 ! Right Ascension of Ascending Node (deg) 202.7876 ! Argument of Periapsis (deg) -0.0 ! True Anomaly (deg) +260.0 ! True Anomaly (deg) 0.0 0.0 0.0 ! RV Initial Position (km) 0.0 0.0 0.0 ! RV Initial Velocity (km/sec) -TLE ISS ! TLE or TRV format, Label to find in file -ISS_TLE.txt ! File name +TRV ! TLE, TRV, or SPLINE file format +"TRV.txt" ! File name +"EXAMPLE 1" ! Label to find in TLE or TRV file ::::::::::::: Use these lines if Three-Body Orbit :::::::::::::::: SUNEARTH ! Lagrange system LAGDOF_MODES ! Propagate using LAGDOF_MODES or LAGDOF_COWELL or LAGDOF_SPLINE MODES ! Initialize with MODES or XYZ or FILE L2 ! Libration point (L1, L2, L3, L4, L5) 800000.0 ! XY Semi-major axis, km -45.0 ! Initial XY Phase, deg (CCW from -Y) +45.0 ! Initial XY Phase, deg CW ! Sense (CW, CCW), viewed from +Z 0.0 ! Second XY Mode Semi-major Axis, km (L4, L5 only) 0.0 ! Second XY Mode Initial Phase, deg (L4, L5 only) diff --git a/sims/cfg/InOut/Orb_LEO.txt b/sims/cfg/InOut/Orb_LEO.txt index c46cb6ba..5e1bc691 100644 --- a/sims/cfg/InOut/Orb_LEO.txt +++ b/sims/cfg/InOut/Orb_LEO.txt @@ -4,31 +4,32 @@ CENTRAL ! Orbit Type (ZERO, FLIGHT, CENTRAL, THREE_BODY) :::::::::::::: Use these lines if ZERO ::::::::::::::::: MINORBODY_2 ! World FALSE ! Use Polyhedron Gravity -:::::::::::::: Use these lines if FLIGHT ::::::::::::::::: +:::::::::::::: Use these lines if FLIGHT ::::::::::::::::: 0 ! Region Number FALSE ! Use Polyhedron Gravity -:::::::::::::: Use these lines if CENTRAL ::::::::::::::::: +:::::::::::::: Use these lines if Body-Centered Orbit ::::::::::::::::: EARTH ! Orbit Center FALSE ! Secular Orbit Drift Due to J2 KEP ! Use Keplerian elements (KEP) or (RV) or FILE PA ! Use Peri/Apoapsis (PA) or min alt/ecc (AE) -500.0 500.0 ! Periapsis & Apoapsis Altitude, km -400.0 2.0 ! Min Altitude (km), Eccentricity -52.0 ! Inclination (deg) -180.0 ! Right Ascension of Ascending Node (deg) +100.0 400.0 ! Periapsis & Apoapsis Altitude, km +200.0 2.0 ! Min Altitude (km), Eccentricity +30.0 ! Inclination (deg) +0.0 ! Right Ascension of Ascending Node (deg) 0.0 ! Argument of Periapsis (deg) -0.0 ! True Anomaly (deg) -6678.0 0.0 0.0 ! RV Initial Position (km) -0.0 8.5 0.0 ! RV Initial Velocity (km/sec) -TRV "EXAMPLE 1" ! TLE or TRV format, Label to find in file +-30.0 ! True Anomaly (deg) +0.0 0.0 0.0 ! RV Initial Position (km) +0.0 0.0 0.0 ! RV Initial Velocity (km/sec) +TRV ! TLE, TRV, or SPLINE file format "TRV.txt" ! File name -::::::::::::: Use these lines if THREE_BODY :::::::::::::::: +"EXAMPLE 1" ! Label to find in TLE or TRV file +::::::::::::: Use these lines if Three-Body Orbit :::::::::::::::: SUNEARTH ! Lagrange system -LAGDOF_MODES ! Propagate using LAGDOF_MODES or LAGDOF_COWELL or LAGDOF_SPLINE +LAGDOF_MODES ! Propagate using LAGDOF_MODES or LAGDOF_COWELL MODES ! Initialize with MODES or XYZ or FILE L2 ! Libration point (L1, L2, L3, L4, L5) 800000.0 ! XY Semi-major axis, km -45.0 ! Initial XY Phase, deg (CCW from -Y) +45.0 ! Initial XY Phase, deg CW ! Sense (CW, CCW), viewed from +Z 0.0 ! Second XY Mode Semi-major Axis, km (L4, L5 only) 0.0 ! Second XY Mode Initial Phase, deg (L4, L5 only) @@ -37,8 +38,8 @@ CW ! Sense (CW, CCW), viewed from +Z (L4, L5 only) 60.0 ! Initial Z Phase, deg 1.05 0.5 0.0 ! Initial X, Y, Z (Non-dimensional) 0.0 0.0 0.0 ! Initial Xdot, Ydot, Zdot (Non-dimensional) -TRV "ORB_ID" ! TLE, TRV or SPLINE format, Label to find in file -"TRV.txt" ! File name +TRV "ORB_ID" ! TLE or TRV format, Label to find in file +"TRV.txt" ! File name, label ******************* Formation Frame Parameters ************************ L ! Formation Frame Fixed in [NL] 0.0 0.0 0.0 123 ! Euler Angles (deg) and Sequence diff --git a/sims/cfg/InOut/SC_NOS3.txt b/sims/cfg/InOut/SC_NOS3.txt index 425b8a68..95ab514c 100644 --- a/sims/cfg/InOut/SC_NOS3.txt +++ b/sims/cfg/InOut/SC_NOS3.txt @@ -5,17 +5,17 @@ GenScSpriteAlpha.ppm ! Sprite File Name PASSIVE_FSW ! Flight Software Identifier 0.2 ! FSW Sample Time, sec ************************* Orbit Parameters **************************** -ENCKE ! Orbit Prop FIXED, EULER_HILL, ENCKE, or COWELL +FIXED ! Orbit Prop FIXED, EULER_HILL, ENCKE, or COWELL CM ! Pos of CM or ORIGIN, wrt F 0.0 0.0 0.0 ! Pos wrt Formation (m), expressed in F 0.0 0.0 0.0 ! Vel wrt Formation (m/s), expressed in F *************************** Initial Attitude *************************** -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 -0.0 0.0 0.0 123 ! Angles (deg) & Euler Sequence +LAL ! 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 +0.0 0.0 0.0 123 ! Angles (deg) & Euler Sequence *************************** Dynamics Flags *************************** -DYN_JOINT ! Rotation STEADY, KIN_JOINT, or DYN_JOINT +GAUSS_ELIM ! Solve Dynamics by GAUSS_ELIM or ORDER_N FALSE ! Passive Joint Forces and Torques Enabled FALSE ! Compute Constraint Forces and Torques REFPT_CM ! Mass Props referenced to REFPT_CM or REFPT_JOINT @@ -58,120 +58,132 @@ FALSE FALSE FALSE ! TrnDOF Locked 0.0 0.0 0.0 ! Trn Passive Damping Coefficients (Ns/m) *************************** Wheel Parameters *************************** 3 ! Number of wheels -============================= Wheel 0 ================================ +============================= Wheel X ================================ 0.0 ! Initial Momentum, N-m-sec -1.0 0.0 0.0 ! Wheel Axis Components, [X, Y, Z] -0.004 0.015 ! Max Torque (N-m), Momentum (N-m-sec) -0.000021 ! Wheel Rotor Inertia, kg-m^2 -0.025 ! Static Imbalance, g-cm -0.25 ! Dynamic Imbalance, g-cm^2 +0 1.0 0.0 0.0 ! Body, Wheel Axis Components, [X, Y, Z] +0.001 0.01082 ! Max Torque (N-m), Momentum (N-m-sec) +1.72e-5 ! Wheel Rotor Inertia, kg-m^2 +0.003 ! Static Imbalance, g-cm +0.0 ! Dynamic Imbalance, g-cm^2 +0 ! Body 0 ! Flex Node Index -============================= Wheel 1 ================================ +============================= Wheel Y ================================ 0.0 ! Initial Momentum, N-m-sec -0.0 1.0 0.0 ! Wheel Axis Components, [X, Y, Z] -0.004 0.015 ! Max Torque (N-m), Momentum (N-m-sec) -0.000021 ! Wheel Rotor Inertia, kg-m^2 -0.025 ! Static Imbalance, g-cm -0.25 ! Dynamic Imbalance, g-cm^2 +0 0.0 1.0 0.0 ! Body, Wheel Axis Components, [X, Y, Z] +0.001 0.01082 ! Max Torque (N-m), Momentum (N-m-sec) +1.72e-5 ! Wheel Rotor Inertia, kg-m^2 +0.003 ! Static Imbalance, g-cm +0.0 ! Dynamic Imbalance, g-cm^2 +0 ! Body 0 ! Flex Node Index -============================= Wheel 2 ================================ +============================= Wheel Z ================================ 0.0 ! Initial Momentum, N-m-sec -0.0 0.0 1.0 ! Wheel Axis Components, [X, Y, Z] -0.004 0.015 ! Max Torque (N-m), Momentum (N-m-sec) -0.000021 ! Wheel Rotor Inertia, kg-m^2 -0.025 ! Static Imbalance, g-cm -0.25 ! Dynamic Imbalance, g-cm^2 +0 0.0 0.0 1.0 ! Body, Wheel Axis Components, [X, Y, Z] +0.001 0.01082 ! Max Torque (N-m), Momentum (N-m-sec) +1.72e-5 ! Wheel Rotor Inertia, kg-m^2 +0.003 ! Static Imbalance, g-cm +0.0 ! Dynamic Imbalance, g-cm^2 +0 ! Body 0 ! Flex Node Index **************************** MTB Parameters **************************** 3 ! Number of MTBs ============================== MTB 0 ================================= -0.125 ! Saturation (A-m^2) +1.42 ! Saturation (A-m^2) 1.0 0.0 0.0 ! MTB Axis Components, [X, Y, Z] 0 ! Flex Node Index ============================== MTB 1 ================================= -0.125 ! Saturation (A-m^2) +1.42 ! Saturation (A-m^2) 0.0 1.0 0.0 ! MTB Axis Components, [X, Y, Z] 0 ! Flex Node Index ============================== MTB 2 ================================= -0.125 ! Saturation (A-m^2) +1.42 ! Saturation (A-m^2) 0.0 0.0 1.0 ! MTB Axis Components, [X, Y, Z] 0 ! Flex Node Index ************************* Thruster Parameters ************************** -3 ! Number of Thrusters -============================== Thr 0 ================================= -4.0 ! Thrust Force (N) -1.0 0.0 0.0 ! Thrust Axis -.12 -.25 .2 ! Location in B0, m -0 ! Flex Node Index -============================== Thr 0 ================================= -4.0 ! Thrust Force (N) -0.0 1.0 0.0 ! Thrust Axis -.12 -.25 .2 ! Location in B0, m -0 ! Flex Node Index -============================== Thr 0 ================================= -4.0 ! Thrust Force (N) -0.0 0.0 1.0 ! Thrust Axis -.12 -.25 .2 ! Location in B0, m +0 ! Number of Thrusters +=============================== Thr 0 ================================= +1.0 ! Thrust Force (N) +-1.0 0.0 0.0 ! Body, Thrust Axis +1.0 1.0 1.0 ! Location in B0, m +0 ! Body 0 ! Flex Node Index ******************************* Gyro ************************************ 3 ! Number of Gyro Axes ============================== Axis 0 =================================== -0.1 ! Sample Time,sec -1.0 0.0 0.0 ! Axis expressed in Body Frame -1000.0 ! Max Rate, deg/sec -100.0 ! Scale Factor Error, ppm -1.0 ! Quantization, arcsec -0.0 ! Angle Random Walk (deg/rt-hr) -0.0 1.0 ! Bias Stability (deg/hr) over timespan (hr) -0.0 ! Angle Noise, arcsec RMS -0.0 ! Initial Bias (deg/hr) -1 ! Flex Node Index +0.01 ! Sample Time,sec +0.0 0.0 1.0 ! Axis expressed in Body Frame +400.0 ! Max Rate, deg/sec +500.0 ! Scale Factor Error, ppm +0.22 ! Quantization, arcsec +0.15 ! Angle Random Walk (deg/rt-hr) +0.3 1.0 ! Bias Stability (deg/hr) over timespan (hr) +1.0 ! Angle Noise, arcsec RMS +4.0 ! Initial Bias (deg/hr) +0 ! Flex Node Index ============================== Axis 1 =================================== -0.1 ! Sample Time,sec -0.0 1.0 0.0 ! Axis expressed in Body Frame -1000.0 ! Max Rate, deg/sec -100.0 ! Scale Factor Error, ppm -1.0 ! Quantization, arcsec -0.0 ! Angle Random Walk (deg/rt-hr) -0.0 1.0 ! Bias Stability (deg/hr) over timespan (hr) -0.0 ! Angle Noise, arcsec RMS -0.0 ! Initial Bias (deg/hr) -1 ! Flex Node Index +0.01 ! Sample Time,sec +-1.0 0.0 0.0 ! Axis expressed in Body Frame +400.0 ! Max Rate, deg/sec +500.0 ! Scale Factor Error, ppm +0.22 ! Quantization, arcsec +0.15 ! Angle Random Walk (deg/rt-hr) +0.3 1.0 ! Bias Stability (deg/hr) over timespan (hr) +1.0 ! Angle Noise, arcsec RMS +4.0 ! Initial Bias (deg/hr) +0 ! Flex Node Index ============================== Axis 2 =================================== -0.1 ! Sample Time,sec -0.0 0.0 1.0 ! Axis expressed in Body Frame -1000.0 ! Max Rate, deg/sec -100.0 ! Scale Factor Error, ppm -1.0 ! Quantization, arcsec -0.0 ! Angle Random Walk (deg/rt-hr) -0.0 1.0 ! Bias Stability (deg/hr) over timespan (hr) -0.0 ! Angle Noise, arcsec RMS -0.0 ! Initial Bias (deg/hr) -1 ! Flex Node Index +0.01 ! Sample Time,sec +0.0 -1.0 0.0 ! Axis expressed in Body Frame +400.0 ! Max Rate, deg/sec +500.0 ! Scale Factor Error, ppm +0.22 ! Quantization, arcsec +0.15 ! Angle Random Walk (deg/rt-hr) +0.3 1.0 ! Bias Stability (deg/hr) over timespan (hr) +1.0 ! Angle Noise, arcsec RMS +4.0 ! Initial Bias (deg/hr) +0 ! Flex Node Index *************************** Magnetometer ******************************** -0 ! Number of Magnetometer Axes +3 ! Number of Magnetometer Axes ============================== Axis 0 =================================== -0.1 ! Sample Time,sec +0.03125 ! Sample Time,sec 1.0 0.0 0.0 ! Axis expressed in Body Frame -60.0E-6 ! Saturation, Tesla +65536E-9 ! Saturation, Tesla 0.0 ! Scale Factor Error, ppm -1.0E-6 ! Quantization, Tesla -1.0E-6 ! Noise, Tesla RMS -1 ! Flex Node Index +2.0E-9 ! Quantization, Tesla +0.1E-9 ! Noise, Tesla RMS +0 ! Flex Node Index +============================== Axis 1 =================================== +0.03125 ! Sample Time,sec +0.0 1.0 0.0 ! Axis expressed in Body Frame +65536E-9 ! Saturation, Tesla +0.0 ! Scale Factor Error, ppm +2.0E-9 ! Quantization, Tesla +0.1E-9 ! Noise, Tesla RMS +0 ! Flex Node Index +============================== Axis 2 =================================== +0.03125 ! Sample Time,sec +0.0 0.0 1.0 ! Axis expressed in Body Frame +65536E-9 ! Saturation, Tesla +0.0 ! Scale Factor Error, ppm +2.0E-9 ! Quantization, Tesla +0.1E-9 ! Noise, Tesla RMS +0 ! Flex Node Index *********************** Coarse Sun Sensor ******************************* 0 ! Number of Coarse Sun Sensors ============================== CSS 0 ==================================== 0.1 ! Sample Time,sec -0 1.0 1.0 1.0 ! Body, Axis expressed in Body Frame +1.0 0.0 0.0 ! Axis expressed in Body Frame 90.0 ! Half-cone Angle, deg 1.0 ! Scale Factor 0.001 ! Quantization +0 ! Body 0 ! Flex Node Index ************************* Fine Sun Sensor ******************************* 0 ! Number of Fine Sun Sensors =============================== FSS 0 =================================== 0.2 ! Sample Time,sec 70.0 0.0 0.0 231 ! Mounting Angles (deg), Seq in Body +Z_AXIS ! Boresight Axis X_AXIS, Y_AXIS, or Z_AXIS 32.0 32.0 ! X, Y FOV Size, deg 0.1 ! Noise Equivalent Angle, deg RMS 0.5 ! Quantization, deg @@ -180,18 +192,19 @@ FALSE FALSE FALSE ! TrnDOF Locked 0 ! Number of Star Trackers =============================== ST 0 ==================================== 0.25 ! Sample Time,sec --90.0 90.0 00.0 321 ! Mounting Angles (deg), Seq in Body -8.0 8.0 ! X, Y FOV Size, deg +30.0 20.0 10.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 2.0 2.0 20.0 ! Noise Equivalent Angle, arcsec RMS -1 ! Flex Node Index +0 ! Flex Node Index ****************************** GPS ************************************** 1 ! Number of GPS Receivers ============================= GPSR 0 ==================================== 0.25 ! Sample Time,sec -0.0 ! Position Noise, m RMS -0.00 ! Velocity Noise, m/sec RMS -00.0E-9 ! Time Noise, sec RMS +4.0 ! Position Noise, m RMS +0.02 ! Velocity Noise, m/sec RMS +20.0E-9 ! Time Noise, sec RMS 0 ! Flex Node Index *************************** Accelerometer ******************************* 3 ! Number of Accel Axes From 13b9973e9dfbd0fcda685ac00464db16a0f72aa0 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Thu, 29 Sep 2022 07:01:15 -0400 Subject: [PATCH 04/34] [nasa/nos3#76] COSMOS and helper script updates; --- Makefile | 10 +++++++ fsw/nos3_defs/toolchain-cpu1.cmake | 1 + fsw/nos3_defs/toolchain-cpu2.cmake | 1 + gsw/cosmos | 2 +- gsw/scripts/gsw.sh | 24 ++++++++++++++++ gsw/scripts/l0.sh | 46 ++++++++++++++++++++++++++++++ gsw/scripts/launch.sh | 5 ++++ gsw/scripts/log.sh | 23 +++++++++++++++ gsw/scripts/real_clean.sh | 16 +++++++++++ sims/cfg/InOut/Inp_Graphics.txt | 2 +- 10 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 gsw/scripts/gsw.sh create mode 100644 gsw/scripts/l0.sh create mode 100644 gsw/scripts/log.sh create mode 100644 gsw/scripts/real_clean.sh diff --git a/Makefile b/Makefile index 78ca2b56..b9facce2 100644 --- a/Makefile +++ b/Makefile @@ -79,8 +79,18 @@ clean-sim: # # Script Calls # +gsw: + ./gsw/scripts/gsw.sh + launch: ./gsw/scripts/launch.sh +log: + ./gsw/scripts/log.sh + +real-clean: + $(MAKE) clean + ./gsw/scripts/real_clean.sh + stop: ./gsw/scripts/stop.sh diff --git a/fsw/nos3_defs/toolchain-cpu1.cmake b/fsw/nos3_defs/toolchain-cpu1.cmake index 3903f0ff..bd86b588 100644 --- a/fsw/nos3_defs/toolchain-cpu1.cmake +++ b/fsw/nos3_defs/toolchain-cpu1.cmake @@ -34,5 +34,6 @@ SET(CMAKE_C_FLAGS_INIT "-m32" CACHE STRING "C Flags required by platform") # Build Specific add_definitions(-DBYTE_ORDER_LE) add_definitions(-D_LINUX_OS_) + set(CI_TRANSPORT udp) set(TO_TRANSPORT udp) diff --git a/fsw/nos3_defs/toolchain-cpu2.cmake b/fsw/nos3_defs/toolchain-cpu2.cmake index a3f4ed9d..6f2ea29d 100644 --- a/fsw/nos3_defs/toolchain-cpu2.cmake +++ b/fsw/nos3_defs/toolchain-cpu2.cmake @@ -33,5 +33,6 @@ SET(CMAKE_C_FLAGS_INIT "" CACHE STRING "C Flags required by platform") # Build Specific add_definitions(-D_LINUX_OS_) + set(CI_TRANSPORT udp) set(TO_TRANSPORT udp) diff --git a/gsw/cosmos b/gsw/cosmos index 94b60556..3af4a246 160000 --- a/gsw/cosmos +++ b/gsw/cosmos @@ -1 +1 @@ -Subproject commit 94b60556b6b1a9f7530faefe77a188f1149be9ee +Subproject commit 3af4a246f959f8450377cb309e0e7092b37b79b8 diff --git a/gsw/scripts/gsw.sh b/gsw/scripts/gsw.sh new file mode 100644 index 00000000..44322dc0 --- /dev/null +++ b/gsw/scripts/gsw.sh @@ -0,0 +1,24 @@ +#!/bin/bash -i +# +# Convenience script for NOS3 development +# + +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) +FSW_BIN=$BASE_DIR/fsw/build/exe/cpu1 + +# Debugging +#echo "Script directory = " $SCRIPT_DIR +#echo "Base directory = " $BASE_DIR +#exit + +#echo "Make /tmp folders..." +#mkdir /tmp/data 2> /dev/null +#mkdir /tmp/data/hk 2> /dev/null +#mkdir /tmp/uplink 2> /dev/null + +echo "COSMOS Ground Station..." +cd $BASE_DIR/gsw/cosmos +export MISSION_NAME=$(echo "NOS3") +export PROCESSOR_ENDIANNESS=$(echo "LITTLE_ENDIAN") +ruby Launcher -c nos3_launcher.txt --system nos3_system.txt & diff --git a/gsw/scripts/l0.sh b/gsw/scripts/l0.sh new file mode 100644 index 00000000..a19c092f --- /dev/null +++ b/gsw/scripts/l0.sh @@ -0,0 +1,46 @@ +#!/bin/bash -i +# +# Convenience script for NOS3 development +# + +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) +DATE=$(date "+%Y%m%d_%H%M") +COSMOS_DIR=$(cd $BASE_DIR/gsw/cosmos && pwd) +COSMOS_TOOLS_DIR=$(cd $COSMOS_DIR/tools && pwd) + +cd $COSMOS_TOOLS_DIR + +### +### Live Telemetry +### + +COSMOS_DATA=$(cd $BASE_DIR/gsw/cosmos/outputs/logs && pwd) +TLM_FILES=$(cd $COSMOS_DATA && ls 20*_tlm.bin) +for entry in $TLM_FILES +do + #echo "$entry" + #echo "${entry%.*}" + + ruby TlmExtractor --system nos3_system.txt --config ../../targets/CFS/tools/tlm_extractor/CF_HKPACKET.txt --input $entry --output $COSMOS_DATA"/"${entry%.*}"_CF_HKPACKET.csv" & + ruby TlmExtractor --system nos3_system.txt --config ../../targets/CFS/tools/tlm_extractor/CFE_EVS_PACKET.txt --input $entry --output $COSMOS_DATA"/"${entry%.*}"_CFE_EVS_PACKET.csv" & + ruby TlmExtractor --system nos3_system.txt --config ../../targets/CFS/tools/tlm_extractor/LC_HKPACKET.txt --input $entry --output $COSMOS_DATA"/"${entry%.*}"_LC_HKPACKET.csv" & + ruby TlmExtractor --system nos3_system.txt --config ../../targets/CFS/tools/tlm_extractor/SC_HKTLM.txt --input $entry --output $COSMOS_DATA"/"${entry%.*}"_SC_HKTLM.csv" & + + wait +done + +### +### DS Files +### + +#HK_DATA=$(cd $COSMOS_DATA/data/hk && pwd) +#HK_FILES=$(cd $HK_DATA && ls *.ds) +#for entry in $HK_FILES +#do +# ruby TlmExtractor --system nos3_ds_system.txt --config ../../targets/CFS/tools/tlm_extractor/CF_HKPACKET.txt --input ./data/hk/$entry --output $HK_DATA"/"${entry%.*}"_CF_HKPACKET.csv" & +# +# wait +#done + +exit 0 diff --git a/gsw/scripts/launch.sh b/gsw/scripts/launch.sh index 338e7899..8c990b6d 100644 --- a/gsw/scripts/launch.sh +++ b/gsw/scripts/launch.sh @@ -17,6 +17,11 @@ SIMS=$(cd $SIM_BIN; ls nos3*simulator) #echo "Sim list = " $SIMS #exit +#echo "Make /tmp folders..." +#mkdir /tmp/data 2> /dev/null +#mkdir /tmp/data/hk 2> /dev/null +#mkdir /tmp/uplink 2> /dev/null + echo "42..." cd /opt/nos3/42/ rm -rf NOS3InOut diff --git a/gsw/scripts/log.sh b/gsw/scripts/log.sh new file mode 100644 index 00000000..a0b2fa34 --- /dev/null +++ b/gsw/scripts/log.sh @@ -0,0 +1,23 @@ +#!/bin/bash -i +# +# Convenience script for NOS3 development +# + +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) +DATE=$(date "+%Y%m%d_%H%M") +CAP_NAME=$DATE'_console.txt' + +echo "Move minicom.cap for archival..." +mv $BASE_DIR/minicom.cap $BASE_DIR/gsw/cosmos/outputs/logs/$CAP_NAME 2> /dev/null + +#echo "/tmp/data for archival..." +#mv /tmp/data $BASE_DIR/gsw/cosmos/outputs/logs/data 2> /dev/null + +echo "Processing L0 CSVs..." +cd $SCRIPT_DIR +./l0.sh + +echo "Tar COSMOS files..." +cd $BASE_DIR/gsw/cosmos/outputs/logs +tar -czvf $BASE_DIR/$DATE.tar.gz 20* data && yes | rm $BASE_DIR/gsw/cosmos/outputs/logs/20* && yes | rm -r $BASE_DIR/gsw/cosmos/outputs/logs/data diff --git a/gsw/scripts/real_clean.sh b/gsw/scripts/real_clean.sh new file mode 100644 index 00000000..78ce4eee --- /dev/null +++ b/gsw/scripts/real_clean.sh @@ -0,0 +1,16 @@ +#!/bin/bash -i +# +# Convenience script for NOS3 development +# + +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) + +echo "Cleaning up all COSMOS files..." +yes | rm $BASE_DIR/gsw/cosmos/Gemfile 2> /dev/null +yes | rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null +yes | rm $BASE_DIR/gsw/cosmos/outputs/logs/20* 2> /dev/null +yes | rm $BASE_DIR/gsw/cosmos/outputs/tmp/marshal_* 2> /dev/null +yes | rm $BASE_DIR/minicom.cap 2> /dev/null + +exit 0 diff --git a/sims/cfg/InOut/Inp_Graphics.txt b/sims/cfg/InOut/Inp_Graphics.txt index 5337738b..48044ac4 100644 --- a/sims/cfg/InOut/Inp_Graphics.txt +++ b/sims/cfg/InOut/Inp_Graphics.txt @@ -1,5 +1,5 @@ <<<<<<<<<<<<<<<< 42 Graphics Configuration File >>>>>>>>>>>>>>>>>>> -1.0 ! GL Output Interval [sec] +5.0 ! GL Output Interval [sec] Skymap09.txt ! Star Catalog File Name FALSE ! Map Window Exists FALSE ! Orrery Window Exists From 1b34f1b5f202ab3f43dc1f2799239c90b582aaed Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Thu, 29 Sep 2022 10:37:43 -0400 Subject: [PATCH 05/34] [nasa/nos3#89] Various updates to match internal repo; --- .gitmodules | 3 - Makefile | 2 +- fsw/cfe | 2 +- fsw/nos3_defs/arch_build_custom.cmake | 63 +++++ ...es_startup.scr => cpu1_cfe_es_startup.scr} | 0 fsw/nos3_defs/cpu1_device_cfg.h | 26 +- fsw/nos3_defs/cpu1_msgids.h | 8 +- fsw/nos3_defs/cpu1_osconfig.h | 224 ------------------ fsw/nos3_defs/cpu1_platform_cfg.h | 99 +++----- fsw/nos3_defs/cpu2_cfe_es_startup.scr | 63 +++++ fsw/nos3_defs/cpu2_device_cfg.h | 26 +- fsw/nos3_defs/cpu2_msgids.h | 8 +- fsw/nos3_defs/cpu2_osconfig.h | 224 ------------------ fsw/nos3_defs/cpu2_platform_cfg.h | 99 +++----- fsw/nos3_defs/default_osconfig.cmake | 210 ++++++++++++++++ fsw/nos3_defs/global_build_options.cmake | 25 ++ fsw/nos3_defs/mission_build_custom.cmake | 28 +++ fsw/nos3_defs/native_osconfig.cmake | 5 + fsw/nos3_defs/nos3_mission_cfg.h | 99 ++++++-- fsw/nos3_defs/tables/sch_def_schtbl.c | 12 +- fsw/nos3_defs/targets.cmake | 8 +- fsw/osal | 2 +- fsw/psp | 2 +- fsw/tools/cFS-GroundSystem | 1 - fsw/tools/elf2cfetbl | 2 +- sims/CMakeLists.txt | 1 + 26 files changed, 585 insertions(+), 657 deletions(-) create mode 100644 fsw/nos3_defs/arch_build_custom.cmake rename fsw/nos3_defs/{cfe_es_startup.scr => cpu1_cfe_es_startup.scr} (100%) delete mode 100644 fsw/nos3_defs/cpu1_osconfig.h create mode 100644 fsw/nos3_defs/cpu2_cfe_es_startup.scr delete mode 100644 fsw/nos3_defs/cpu2_osconfig.h create mode 100644 fsw/nos3_defs/default_osconfig.cmake create mode 100644 fsw/nos3_defs/global_build_options.cmake create mode 100644 fsw/nos3_defs/mission_build_custom.cmake create mode 100644 fsw/nos3_defs/native_osconfig.cmake delete mode 160000 fsw/tools/cFS-GroundSystem diff --git a/.gitmodules b/.gitmodules index 74296132..967d4680 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,9 +16,6 @@ [submodule "fsw/psp"] path = fsw/psp url = https://github.com/nasa-itc/PSP.git -[submodule "fsw/tools/cFS-GroundSystem"] - path = fsw/tools/cFS-GroundSystem - url = https://github.com/nasa-itc/cFS-GroundSystem.git [submodule "fsw/tools/elf2cfetbl"] path = fsw/tools/elf2cfetbl url = https://github.com/nasa-itc/elf2cfetbl.git diff --git a/Makefile b/Makefile index b9facce2..94df683b 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,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 fsw fsw-prep sim sim-prep clean clean-fsw clean-sim launch stop +LOCALTGTS := all fsw fsw-prep pack sim sim-prep clean clean-fsw clean-sim gsw launch log real-clean stop OTHERTGTS := $(filter-out $(LOCALTGTS),$(MAKECMDGOALS)) # As this makefile does not build any real files, treat everything as a PHONY target diff --git a/fsw/cfe b/fsw/cfe index 3190ce7f..27cc7df5 160000 --- a/fsw/cfe +++ b/fsw/cfe @@ -1 +1 @@ -Subproject commit 3190ce7f58ffc19822e9a8f146aa4749bb1e0f59 +Subproject commit 27cc7df54a33da0a5d2b3996e10e3d0a533208c9 diff --git a/fsw/nos3_defs/arch_build_custom.cmake b/fsw/nos3_defs/arch_build_custom.cmake new file mode 100644 index 00000000..f74607a4 --- /dev/null +++ b/fsw/nos3_defs/arch_build_custom.cmake @@ -0,0 +1,63 @@ +# +# Example arch_build_custom.cmake +# ------------------------------- +# +# This file will be automatically included in the arch-specific build scope +# +# Definitions and options specified here will be used when cross-compiling +# _all_ FSW code for _all_ targets defined in targets.cmake. +# +# Avoid machine-specific code generation options in this file (e.g. -f,-m options); such +# options should be localized to the toolchain file such that they will only be +# included on the machines where they apply. +# +# CAUTION: In heterogeneous environments where different cross compilers are +# used for different CPUs, particularly if from different vendors, it is likely +# that compile options will need to be different as well. +# +# In general, options in this file can only be used in cases where all CPUs use a +# compiler from the same vendor and/or are all GCC based such that they accept similar +# command line options. +# +# This file can alternatively be named as "arch_build_custom_${TARGETSYSTEM}.cmake" +# where ${TARGETSYSTEM} represents the system type, matching the toolchain. +# +# These example options assume a GCC-style toolchain is used for cross compilation, +# and uses the same warning options that are applied at the mission level. +# +add_compile_options( + #-std=c99 # Target the C99 standard (without gcc extensions) + #-pedantic # Issue all the warnings demanded by strict ISO C + #-Wall # Warn about most questionable operations + #-Wstrict-prototypes # Warn about missing prototypes + #-Wwrite-strings # Warn if not treating string literals as "const" + #-Wpointer-arith # Warn about suspicious pointer operations + #-Wcast-align # Warn about casts that increase alignment requirements + #-Werror # Treat warnings as errors (code should be clean) + -Wno-address-of-packed-member +) + + +if (CFE_SYSTEM_PSPNAME STREQUAL "nos-linux") + # find itc cmake module path + find_path(_ITC_CMAKE_MODULES_ + NAMES FindITC_Common.cmake + PATHS ${ITC_CMAKE_MODULES} + ${ITC_DEV_ROOT}/cmake/modules + $ENV{ITC_DEV_ROOT}/cmake/modules + /usr/local/cmake/modules + /usr/cmake/modules) + if(NOT _ITC_CMAKE_MODULES_) + message(WARNING "Unable to find ITC CMake Modules") + endif() + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${_ITC_CMAKE_MODULES_}) + + # ITC Logger required for NOS Engine + set(CXX_11 ON) + find_package(NOSENGINE REQUIRED COMPONENTS client uart i2c spi can) + SET(OSAL_LINK_LIBS ${NOSENGINE_LIBRARIES} noslink) + message(STATUS "Set NOS Engine Libraries") +endif() + + + diff --git a/fsw/nos3_defs/cfe_es_startup.scr b/fsw/nos3_defs/cpu1_cfe_es_startup.scr similarity index 100% rename from fsw/nos3_defs/cfe_es_startup.scr rename to fsw/nos3_defs/cpu1_cfe_es_startup.scr diff --git a/fsw/nos3_defs/cpu1_device_cfg.h b/fsw/nos3_defs/cpu1_device_cfg.h index 743275d3..10ed5927 100644 --- a/fsw/nos3_defs/cpu1_device_cfg.h +++ b/fsw/nos3_defs/cpu1_device_cfg.h @@ -18,27 +18,15 @@ ** limitations under the License. */ -/****************************************************************************** -** File: cfe_msgids.h -** -** Purpose: -** This header file contains the Message Id's for messages used by the -** cFE core. -** -** Author: R.McGraw/SSI -** -** Notes: -** This file should not contain messages defined by cFE external -** applications. -** -******************************************************************************/ -#ifndef _device_cfg_ -#define _device_cfg_ - /* -** Includes +** CPU1 - NOS3 */ +#ifndef _cpu1_device_cfg_ +#define _cpu1_device_cfg_ + +/* Note: NOS3 uart requires matching handle and bus number */ + #define EPS_DEVICE_STRING "spi_0" /**< \brief EPS device file */ -#endif +#endif /* _cpu1_device_cfg_ */ diff --git a/fsw/nos3_defs/cpu1_msgids.h b/fsw/nos3_defs/cpu1_msgids.h index 9a2c6c4f..be965ca1 100644 --- a/fsw/nos3_defs/cpu1_msgids.h +++ b/fsw/nos3_defs/cpu1_msgids.h @@ -58,6 +58,8 @@ #define CFE_TBL_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TBL_SEND_HK_MSG /* 0x180C */ #define CFE_TIME_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_SEND_HK_MSG /* 0x180D */ +#define CFE_SB_SUB_RPT_CTRL_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_SB_SUB_RPT_CTRL_MSG /* 0x180E */ + #define CFE_TIME_TONE_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_TONE_CMD_MSG /* 0x1810 */ #define CFE_TIME_1HZ_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_1HZ_CMD_MSG /* 0x1811 */ @@ -86,7 +88,11 @@ #define CFE_TBL_REG_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_TBL_REG_TLM_MSG /* 0x080C */ #define CFE_SB_ALLSUBS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ALLSUBS_TLM_MSG /* 0x080D */ #define CFE_SB_ONESUB_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ONESUB_TLM_MSG /* 0x080E */ -#define CFE_ES_SHELL_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_SHELL_TLM_MSG /* 0x080F */ + +#ifndef CFE_OMIT_DEPRECATED_6_7 + #define CFE_ES_SHELL_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_SHELL_TLM_MSG /* 0x080F */ +#endif + #define CFE_ES_MEMSTATS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_MEMSTATS_TLM_MSG /* 0x0810 */ /* diff --git a/fsw/nos3_defs/cpu1_osconfig.h b/fsw/nos3_defs/cpu1_osconfig.h deleted file mode 100644 index c7fae00c..00000000 --- a/fsw/nos3_defs/cpu1_osconfig.h +++ /dev/null @@ -1,224 +0,0 @@ -/* -** GSC-18128-1, "Core Flight Executive Version 6.7" -** -** Copyright (c) 2006-2019 United States Government as represented by -** the Administrator of the National Aeronautics and Space Administration. -** All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ - -/****************************************************************************** -** File: osconfig.h -** -** Purpose: -** This header file contains the OS API configuration parameters. -** -** Author: A. Cudmore -** -** Notes: -** -******************************************************************************/ - -#ifndef _osconfig_ -#define _osconfig_ - -/* -** Platform Configuration Parameters for the OS API -*/ - -#define OS_MAX_TASKS 64 -#define OS_MAX_QUEUES 64 -#define OS_MAX_COUNT_SEMAPHORES 20 -#define OS_MAX_BIN_SEMAPHORES 20 -#define OS_MAX_MUTEXES 20 - -/* -** Maximum length for an absolute path name -*/ -#define OS_MAX_PATH_LEN 64 - -/* -** Maximum length for a local or host path/filename. -** This parameter can consist of the OSAL filename/path + -** the host OS physical volume name or path. -*/ -#define OS_MAX_LOCAL_PATH_LEN (OS_MAX_PATH_LEN + OS_FS_PHYS_NAME_LEN) - -/* -** The maxium length allowed for a object (task,queue....) name -*/ -#define OS_MAX_API_NAME 20 - -/* -** The maximum length for a file name -*/ -#define OS_MAX_FILE_NAME 20 - -/* -** These defines are for OS_printf -*/ -#define OS_BUFFER_SIZE 172 -#define OS_BUFFER_MSG_DEPTH 100 - -/* This #define turns on a utility task that - * will read the statements to print from - * the OS_printf function. If you want OS_printf - * to print the text out itself, comment this out - * - * NOTE: The Utility Task #defines only have meaning - * on the VxWorks operating systems - */ - -#define OS_UTILITY_TASK_ON - - -#ifdef OS_UTILITY_TASK_ON - #define OS_UTILITYTASK_STACK_SIZE 2048 - /* some room is left for other lower priority tasks */ - #define OS_UTILITYTASK_PRIORITY 245 -#endif - - -/* -** the size of a command that can be passed to the underlying OS -*/ -#define OS_MAX_CMD_LEN 1000 - -/* -** This define will include the OS network API. -** It should be turned off for targtets that do not have a network stack or -** device ( like the basic RAD750 vxWorks BSP ) -*/ -#define OS_INCLUDE_NETWORK - -/* -** This is the maximum number of open file descriptors allowed at a time -*/ -#define OS_MAX_NUM_OPEN_FILES 50 - -/* -** This defines the filethe input command of OS_ShellOutputToFile -** is written to in the VxWorks6 port -*/ -#define OS_SHELL_CMD_INPUT_FILE_NAME "/ram/OS_ShellCmd.in" - -/* -** This define sets the queue implentation of the Linux port to use sockets -** commenting this out makes the Linux port use the POSIX message queues. -*/ -/* #define OSAL_SOCKET_QUEUE */ - -/* -** Module loader/symbol table is optional -*/ -#define OS_INCLUDE_MODULE_LOADER - -#ifdef OS_INCLUDE_MODULE_LOADER - /* - ** This define sets the size of the OS Module Table, which keeps track of the loaded modules in - ** the running system. This define must be set high enough to support the maximum number of - ** loadable modules in the system. If the the table is filled up at runtime, a new module load - ** would fail. - */ - #define OS_MAX_MODULES 32 - - /* - ** The Static Loader define is used for switching between the Dynamic and Static loader implementations. - */ - /* #define OS_STATIC_LOADER */ - -#endif - - -/* -** This define sets the maximum symbol name string length. It is used in implementations that -** support the symbols and symbol lookup. -*/ -#define OS_MAX_SYM_LEN 64 - - -/* -** This define sets the maximum number of time base objects -** The limit depends on the underlying OS and the resources it offers, but in general -** these are a limited resource and only a handful can be created. -** This is only used by the "-ng" variants with the timebase implementation -*/ -#define OS_MAX_TIMEBASES 5 - -/* -** This define sets the maximum number of user timers available -** The limit here depends on whether the OSAL implementation uses limited resources -** for a timer object; in the case of the newer "posix-ng" and "rtems-ng" variants, -** the "timebase" allocates the OS resources and the timer does not use any additional -** OS resources. Therefore this limit can be higher. -** -** Keeping this at "5" in case this config file is used with an older OSAL -*/ -#define OS_MAX_TIMERS 5 - -/* -** This define sets the maximum number of open directories -** Only used by the "-ng" variants that implement a complete filesystem abstraction -*/ -#define OS_MAX_NUM_OPEN_DIRS 4 - - -/* - * If OS_DEBUG_PRINTF is defined, this will enable the "OS_DEBUG" statements in the code - * This should be left disabled in a normal build as it may affect real time performance as - * well as producing extra console output. - */ -#undef OS_DEBUG_PRINTF - -/* - * If OSAL_EXTRA_DEBUG is defined, this will include extra debug features into the - * OSAL build. These can help debug issues like not releasing a mutex or other resource - * leaks, but may slightly affect realtime performance. This should be left undefined in - * a normal build. - */ -#undef OSAL_EXTRA_DEBUG - -/* - * If OSAL_DEBUG_PERMISSIVE_MODE is defined, this will enable features to make the - * OSAL library compatible with a non-root (normal user mode) environment. In the PC-Linux/Posix - * build, this means: - * - A message queue deeper than the maximum system limit will be silently truncated - * to the maximum system limit (no error). - * - If the user does not have permission to create elevated priority tasks, then the tasks will - * be created at the default priority (no error). Note this behavior can also be forced by the - * OSAL_DEBUG_DISABLE_TASK_PRIORITIES macro below. - * - * Leaving this undefined will produce the default behavior, which is to return errors to the caller - * for these conditions. - */ -#define OSAL_DEBUG_PERMISSIVE_MODE - -/* - * If OSAL_DEBUG_DISABLE_TASK_PRIORITIES is defined, the "priority" argument - * supplied to the task creation function will be ignored and all tasks will - * run at the default scheduling priority. This is intended for debugging - * purposes where a "runaway" thread running with elevated priority can hang - * the entire system and make debugging difficult. - */ -#undef OSAL_DEBUG_DISABLE_TASK_PRIORITIES - -/* - * If OSAL_DEBUG_DISABLE_MUTEX_PRIO_INHERIT is defined, this will disable the priority - * inheritance attribute used on by default on OSAL mutexes. Some buggy pthreads - * libraries do not properly implement this attribute. - */ -#undef OSAL_DEBUG_DISABLE_MUTEX_PRIO_INHERIT - - -#endif diff --git a/fsw/nos3_defs/cpu1_platform_cfg.h b/fsw/nos3_defs/cpu1_platform_cfg.h index be21bc89..5299cd79 100644 --- a/fsw/nos3_defs/cpu1_platform_cfg.h +++ b/fsw/nos3_defs/cpu1_platform_cfg.h @@ -126,8 +126,8 @@ ** Dictates the size of the SB memory pool. For each message the SB ** sends, the SB dynamically allocates from this memory pool, the memory needed ** to process the message. The memory needed to process each message is msg -** size + msg descriptor(#CFE_SB_BufferD_t). This memory pool is also used -** to allocate destination descriptors (#CFE_SB_DestinationD_t) during the +** size + msg descriptor(CFE_SB_BufferD_t). This memory pool is also used +** to allocate destination descriptors (CFE_SB_DestinationD_t) during the ** subscription process. ** To see the run-time, high-water mark and the current utilization figures ** regarding this parameter, send an SB command to 'Send Statistics Pkt'. @@ -178,7 +178,12 @@ ** The recommended case to to have this value the same across all mission platforms ** ** \par Limits -** This parameter has a lower limit of 1 and an upper limit of 0xFFFF. +** This parameter has a lower limit of 1 and an upper limit of 0xFFFF. Note +** for current implementations, V2/Extended headers assign 0xFFFFFFFF as the invalid +** message ID value, and default headers assigns 0xFFFF as the invalid value. This +** means for default headers, 0xFFFF is invalid even if you set the value +** below to it's maximum of 0xFFFF. +** The allocated message table is this size + 1 (could change based on implementaiton). */ #define CFE_PLATFORM_SB_HIGHEST_VALID_MSGID 0x1FFF @@ -565,7 +570,7 @@ ** in the error log. Any context information beyond this size will ** be truncated. */ -#define CFE_PLATFORM_ES_ER_LOG_MAX_CONTEXT_SIZE 128 +#define CFE_PLATFORM_ES_ER_LOG_MAX_CONTEXT_SIZE 256 /** @@ -788,7 +793,7 @@ ** log ER Log and critical reset variables. This is 4 of 4 of the memory areas ** that are preserved during a processor reset. ** Note: This area must be sized large enough to hold all of the data -** structures. It should be automatically sized based on the #CFE_ES_ResetData_t +** structures. It should be automatically sized based on the CFE_ES_ResetData_t ** type, but circular dependancies in the headers prevent it from being defined ** this way. ** NOTE: Changing this value changes memory allocation, and may @@ -1005,22 +1010,40 @@ #define CFE_PLATFORM_ES_DEFAULT_CDS_REG_DUMP_FILE "/ram/cfe_cds_reg.log" /** -** \cfeescfg Define Default System Log Mode +** \cfeescfg Define Default System Log Mode following Power On Reset ** ** \par Description: -** Defines the default mode for the operation of the ES System log. The log may -** operate in either Overwrite mode = 0, where once the log becomes full the -** oldest message in the log will be overwritten, or Discard mode = 1, where -** once the log becomes full the contents of the log are preserved and the new -** event is discarded. This constant may hold a value of either 0 or 1 -** depending on the desired default log mode. Overwrite Mode = 0, Discard -** Mode = 1. +** Defines the default mode for the operation of the ES System log following a power +** on reset. The log may operate in either Overwrite mode = 0, where once the +** log becomes full the oldest message in the log will be overwritten, or +** Discard mode = 1, where once the log becomes full the contents of the log are +** preserved and the new event is discarded. This constant may hold a value of +** either 0 or 1 depending on the desired default. +** Overwrite Mode = 0, Discard Mode = 1. ** ** \par Limits ** There is a lower limit of 0 and an upper limit of 1 on this configuration ** paramater. */ -#define CFE_PLATFORM_ES_DEFAULT_SYSLOG_MODE 1 +#define CFE_PLATFORM_ES_DEFAULT_POR_SYSLOG_MODE 0 + +/** +** \cfeescfg Define Default System Log Mode following Processor Reset +** +** \par Description: +** Defines the default mode for the operation of the ES System log following a +** processor reset. The log may operate in either Overwrite mode = 0, where once +** the log becomes full the oldest message in the log will be overwritten, or +** Discard mode = 1, where once the log becomes full the contents of the log are +** preserved and the new event is discarded. This constant may hold a value of +** either 0 or 1 depending on the desired default. +** Overwrite Mode = 0, Discard Mode = 1. +** +** \par Limits +** There is a lower limit of 0 and an upper limit of 1 on this configuration +** paramater. +*/ +#define CFE_PLATFORM_ES_DEFAULT_PR_SYSLOG_MODE 1 /** ** \cfeescfg Define Max Number of Performance IDs @@ -1187,52 +1210,6 @@ */ #define CFE_PLATFORM_ES_DEFAULT_STACK_SIZE 8192 -/** -** \cfeescfg Define cFE Core Exception Function -** -** \par Description: -** This parameter defines the function-to-call when a CPU or floating point exception -** occurs. The parameter is defaulted to call the ES API function #CFE_ES_ProcessCoreException -** which handles the logging and reset from a system or cFE core exception. -** -** Note: Exception interrupts are trapped at the Platform Support Package (PSP) -** layer. In order to initiate the cFE platform defined response to an exception, this -** platform defined callback function must be prototyped and called from the PSP -** exception hook API function #CFE_PSP_ExceptionHook. For example: -** -** -- cfe_psp.h -- -** -** .... Prototype for exception ISR function implemented in CFE .... -** -** typedef void (*System_ExceptionFunc_t)(uint32 HostTaskId, -** const char *ReasonString, -** const uint32 *ContextPointer, -** uint32 ContextSize); -** -** -- cfe_pspexception.c -- -** -** .... Setup function pointer to CFE exception ISR callback .... -** -** static const System_ExceptionFunc_t CFE_ExceptionCallback = CFE_PLATFORM_ES_EXCEPTION_FUNCTION; -** -** void CFE_PSP_ExceptionHook (int task_id, int vector, uint8 *pEsf ) -** { -** .... platform-specific logic .... -** -** .... Use function pointer to call cFE routine to finish processing the exception .... -** -** CFE_ExceptionCallback((uint32)task_id, -** CFE_PSP_ExceptionReasonString, -** (uint32 *)&CFE_PSP_ExceptionContext, -** sizeof(CFE_PSP_ExceptionContext_t)); -** -** } -** -** \par Limits -** Must be a valid function name. -*/ -#define CFE_PLATFORM_ES_EXCEPTION_FUNCTION CFE_ES_ProcessCoreException - /** ** \cfeescfg Define EVS Task Priority ** @@ -1997,7 +1974,7 @@ #define CFE_ES_DEFAULT_ER_LOG_FILE CFE_PLATFORM_ES_DEFAULT_ER_LOG_FILE #define CFE_ES_DEFAULT_PERF_DUMP_FILENAME CFE_PLATFORM_ES_DEFAULT_PERF_DUMP_FILENAME #define CFE_ES_DEFAULT_CDS_REG_DUMP_FILE CFE_PLATFORM_ES_DEFAULT_CDS_REG_DUMP_FILE -#define CFE_ES_DEFAULT_SYSLOG_MODE CFE_PLATFORM_ES_DEFAULT_SYSLOG_MODE +#define CFE_ES_DEFAULT_SYSLOG_MODE CFE_PLATFORM_ES_DEFAULT_PR_SYSLOG_MODE #define CFE_ES_PERF_MAX_IDS CFE_PLATFORM_ES_PERF_MAX_IDS #define CFE_ES_PERF_DATA_BUFFER_SIZE CFE_PLATFORM_ES_PERF_DATA_BUFFER_SIZE #define CFE_ES_PERF_FILTMASK_NONE CFE_PLATFORM_ES_PERF_FILTMASK_NONE diff --git a/fsw/nos3_defs/cpu2_cfe_es_startup.scr b/fsw/nos3_defs/cpu2_cfe_es_startup.scr new file mode 100644 index 00000000..567316bb --- /dev/null +++ b/fsw/nos3_defs/cpu2_cfe_es_startup.scr @@ -0,0 +1,63 @@ +CFE_LIB, /cf/cfs_lib.so, CFS_LibInit, CFS_LIB, 0, 0, 0x0, 0; +CFE_APP, /cf/sch.so, SCH_AppMain, SCH, 40, 8192, 0x0, 0; + +CFE_LIB, /cf/io_lib.so, IO_LibInit, IO_LIB, 0, 0, 0x0, 0; +CFE_APP, /cf/ci.so, CI_AppMain, CI, 52, 16384, 0x0, 0; +CFE_APP, /cf/to.so, TO_AppMain, TO, 53, 16384, 0x0, 0; + +CFE_APP, /cf/lc.so, LC_AppMain, LC, 57, 16384, 0x0, 0; +CFE_APP, /cf/sc.so, SC_AppMain, SC, 62, 16384, 0x0, 0; + +CFE_LIB, /cf/hwlib.so, hwlib_Init, HW_LIB, 0, 0, 0x0, 0; + +CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 69, 8192, 0x0, 0; +CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 70, 8192, 0x0, 0; +CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; +CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; + +! +! ** The software will not try to parse anything after the first '!' character it sees. ** +! +! +! CFE_APP, /cf/sample.so, sample_AppMain, SAMPLE, 50, 8192, 0x0, 0; +! +! CFE_APP, /cf/clyde_eps.so, clyde_eps_AppMain, EPS, 71, 8192, 0x0, 0; +! CFE_APP, /cf/cs.so, CS_AppMain, CS, 55, 16384, 0x0, 0; +! CFE_APP, /cf/cf.so, CF_AppMain, CF, 54, 16384, 0x0, 0; +! CFE_APP, /cf/ds.so, DS_AppMain, DS, 58, 16384, 0x0, 0; +! CFE_APP, /cf/fm.so, FM_AppMain, FM, 59, 16384, 0x0, 0; +! CFE_APP, /cf/hk.so, HK_AppMain, HK, 63, 16384, 0x0, 0; +! CFE_APP, /cf/hs.so, HS_AppMain, HS, 56, 16384, 0x0, 0; +! CFE_APP, /cf/sbn.so, SBN_AppMain, SBN, 63, 16384, 0x0, 0; +! CFE_APP, /cf/md.so, MD_AppMain, MD, 60, 16384, 0x0, 0; +! CFE_APP, /cf/mm.so, MM_AppMain, MM, 61, 16384, 0x0, 0; +! +! CFE_APP, /cf/ci_lab.so, CI_Lab_AppMain, CI_LAB_APP, 50, 8192, 0x0, 0; +! CFE_LIB, /cf/sample_lib.so, SAMPLE_LibInit, SAMPLE_LIB, 0, 0, 0x0, 0; +! CFE_APP, /cf/sample_app.so, SAMPLE_AppMain, SAMPLE_APP, 51, 16384, 0x0, 0; +! CFE_APP, /cf/to_lab.so, TO_Lab_AppMain, TO_LAB_APP, 50, 8192, 0x0, 0; +! +! Startup script fields: +! 1. Object Type -- CFE_APP for an Application, or CFE_LIB for a library. +! 2. Path/Filename -- This is a cFE Virtual filename, not a vxWorks device/pathname +! 3. Entry Point -- This is the "main" function for Apps. +! 4. CFE Name -- The cFE name for the the APP or Library +! 5. Priority -- This is the Priority of the App, not used for Library +! 6. Stack Size -- This is the Stack size for the App, not used for the Library +! 7. Load Address -- This is the Optional Load Address for the App or Library. Currently not implemented +! so keep it at 0x0. +! 8. Exception Action -- This is the Action the cFE should take if the App has an exception. +! 0 = Just restart the Application +! Non-Zero = Do a cFE Processor Reset +! +! Other Notes: +! 1. The software will not try to parse anything after the first '!' character it sees. That +! is the End of File marker. +! 2. Common Application file extensions: +! Linux = .so ( ci.so ) +! OS X = .bundle ( ci.bundle ) +! Cygwin = .dll ( ci.dll ) +! vxWorks = .o ( ci.o ) +! RTEMS with S-record Loader = .s3r ( ci.s3r ) +! RTEMS with CEXP Loader = .o ( ci.o ) + diff --git a/fsw/nos3_defs/cpu2_device_cfg.h b/fsw/nos3_defs/cpu2_device_cfg.h index 743275d3..934a53f5 100644 --- a/fsw/nos3_defs/cpu2_device_cfg.h +++ b/fsw/nos3_defs/cpu2_device_cfg.h @@ -18,27 +18,15 @@ ** limitations under the License. */ -/****************************************************************************** -** File: cfe_msgids.h -** -** Purpose: -** This header file contains the Message Id's for messages used by the -** cFE core. -** -** Author: R.McGraw/SSI -** -** Notes: -** This file should not contain messages defined by cFE external -** applications. -** -******************************************************************************/ -#ifndef _device_cfg_ -#define _device_cfg_ - /* -** Includes +** CPU2 - User Defined */ +#ifndef _cpu2_device_cfg_ +#define _cpu2_device_cfg_ + +/* Note: NOS3 uart requires matching handle and bus number */ + #define EPS_DEVICE_STRING "spi_0" /**< \brief EPS device file */ -#endif +#endif /* _cpu2_device_cfg_ */ diff --git a/fsw/nos3_defs/cpu2_msgids.h b/fsw/nos3_defs/cpu2_msgids.h index 9a2c6c4f..be965ca1 100644 --- a/fsw/nos3_defs/cpu2_msgids.h +++ b/fsw/nos3_defs/cpu2_msgids.h @@ -58,6 +58,8 @@ #define CFE_TBL_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TBL_SEND_HK_MSG /* 0x180C */ #define CFE_TIME_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_SEND_HK_MSG /* 0x180D */ +#define CFE_SB_SUB_RPT_CTRL_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_SB_SUB_RPT_CTRL_MSG /* 0x180E */ + #define CFE_TIME_TONE_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_TONE_CMD_MSG /* 0x1810 */ #define CFE_TIME_1HZ_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_1HZ_CMD_MSG /* 0x1811 */ @@ -86,7 +88,11 @@ #define CFE_TBL_REG_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_TBL_REG_TLM_MSG /* 0x080C */ #define CFE_SB_ALLSUBS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ALLSUBS_TLM_MSG /* 0x080D */ #define CFE_SB_ONESUB_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ONESUB_TLM_MSG /* 0x080E */ -#define CFE_ES_SHELL_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_SHELL_TLM_MSG /* 0x080F */ + +#ifndef CFE_OMIT_DEPRECATED_6_7 + #define CFE_ES_SHELL_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_SHELL_TLM_MSG /* 0x080F */ +#endif + #define CFE_ES_MEMSTATS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_MEMSTATS_TLM_MSG /* 0x0810 */ /* diff --git a/fsw/nos3_defs/cpu2_osconfig.h b/fsw/nos3_defs/cpu2_osconfig.h deleted file mode 100644 index 3d5bbe6f..00000000 --- a/fsw/nos3_defs/cpu2_osconfig.h +++ /dev/null @@ -1,224 +0,0 @@ -/* -** GSC-18128-1, "Core Flight Executive Version 6.7" -** -** Copyright (c) 2006-2019 United States Government as represented by -** the Administrator of the National Aeronautics and Space Administration. -** All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ - -/****************************************************************************** -** File: osconfig.h -** -** Purpose: -** This header file contains the OS API configuration parameters. -** -** Author: A. Cudmore -** -** Notes: -** -******************************************************************************/ - -#ifndef _osconfig_ -#define _osconfig_ - -/* -** Platform Configuration Parameters for the OS API -*/ - -#define OS_MAX_TASKS 64 -#define OS_MAX_QUEUES 64 -#define OS_MAX_COUNT_SEMAPHORES 20 -#define OS_MAX_BIN_SEMAPHORES 20 -#define OS_MAX_MUTEXES 20 - -/* -** Maximum length for an absolute path name -*/ -#define OS_MAX_PATH_LEN 64 - -/* -** Maximum length for a local or host path/filename. -** This parameter can consist of the OSAL filename/path + -** the host OS physical volume name or path. -*/ -#define OS_MAX_LOCAL_PATH_LEN (OS_MAX_PATH_LEN + OS_FS_PHYS_NAME_LEN) - -/* -** The maxium length allowed for a object (task,queue....) name -*/ -#define OS_MAX_API_NAME 20 - -/* -** The maximum length for a file name -*/ -#define OS_MAX_FILE_NAME 20 - -/* -** These defines are for OS_printf -*/ -#define OS_BUFFER_SIZE 172 -#define OS_BUFFER_MSG_DEPTH 100 - -/* This #define turns on a utility task that - * will read the statements to print from - * the OS_printf function. If you want OS_printf - * to print the text out itself, comment this out - * - * NOTE: The Utility Task #defines only have meaning - * on the VxWorks operating systems - */ - -#define OS_UTILITY_TASK_ON - - -#ifdef OS_UTILITY_TASK_ON - #define OS_UTILITYTASK_STACK_SIZE 2048 - /* some room is left for other lower priority tasks */ - #define OS_UTILITYTASK_PRIORITY 245 -#endif - - -/* -** the size of a command that can be passed to the underlying OS -*/ -#define OS_MAX_CMD_LEN 1000 - -/* -** This define will include the OS network API. -** It should be turned off for targtets that do not have a network stack or -** device ( like the basic RAD750 vxWorks BSP ) -*/ -#define OS_INCLUDE_NETWORK - -/* -** This is the maximum number of open file descriptors allowed at a time -*/ -#define OS_MAX_NUM_OPEN_FILES 50 - -/* -** This defines the filethe input command of OS_ShellOutputToFile -** is written to in the VxWorks6 port -*/ -#define OS_SHELL_CMD_INPUT_FILE_NAME "/ram/OS_ShellCmd.in" - -/* -** This define sets the queue implentation of the Linux port to use sockets -** commenting this out makes the Linux port use the POSIX message queues. -*/ -/* #define OSAL_SOCKET_QUEUE */ - -/* -** Module loader/symbol table is optional -*/ -#define OS_INCLUDE_MODULE_LOADER - -#ifdef OS_INCLUDE_MODULE_LOADER - /* - ** This define sets the size of the OS Module Table, which keeps track of the loaded modules in - ** the running system. This define must be set high enough to support the maximum number of - ** loadable modules in the system. If the the table is filled up at runtime, a new module load - ** would fail. - */ - #define OS_MAX_MODULES 32 - - /* - ** The Static Loader define is used for switching between the Dynamic and Static loader implementations. - */ - /* #define OS_STATIC_LOADER */ - -#endif - - -/* -** This define sets the maximum symbol name string length. It is used in implementations that -** support the symbols and symbol lookup. -*/ -#define OS_MAX_SYM_LEN 64 - - -/* -** This define sets the maximum number of time base objects -** The limit depends on the underlying OS and the resources it offers, but in general -** these are a limited resource and only a handful can be created. -** This is only used by the "-ng" variants with the timebase implementation -*/ -#define OS_MAX_TIMEBASES 5 - -/* -** This define sets the maximum number of user timers available -** The limit here depends on whether the OSAL implementation uses limited resources -** for a timer object; in the case of the newer "posix-ng" and "rtems-ng" variants, -** the "timebase" allocates the OS resources and the timer does not use any additional -** OS resources. Therefore this limit can be higher. -** -** Keeping this at "5" in case this config file is used with an older OSAL -*/ -#define OS_MAX_TIMERS 5 - -/* -** This define sets the maximum number of open directories -** Only used by the "-ng" variants that implement a complete filesystem abstraction -*/ -#define OS_MAX_NUM_OPEN_DIRS 4 - - -/* - * If OS_DEBUG_PRINTF is defined, this will enable the "OS_DEBUG" statements in the code - * This should be left disabled in a normal build as it may affect real time performance as - * well as producing extra console output. - */ -#undef OS_DEBUG_PRINTF - -/* - * If OSAL_EXTRA_DEBUG is defined, this will include extra debug features into the - * OSAL build. These can help debug issues like not releasing a mutex or other resource - * leaks, but may slightly affect realtime performance. This should be left undefined in - * a normal build. - */ -#undef OSAL_EXTRA_DEBUG - -/* - * If OSAL_DEBUG_PERMISSIVE_MODE is defined, this will enable features to make the - * OSAL library compatible with a non-root (normal user mode) environment. In the PC-Linux/Posix - * build, this means: - * - A message queue deeper than the maximum system limit will be silently truncated - * to the maximum system limit (no error). - * - If the user does not have permission to create elevated priority tasks, then the tasks will - * be created at the default priority (no error). Note this behavior can also be forced by the - * OSAL_DEBUG_DISABLE_TASK_PRIORITIES macro below. - * - * Leaving this undefined will produce the default behavior, which is to return errors to the caller - * for these conditions. - */ -#undef OSAL_DEBUG_PERMISSIVE_MODE - -/* - * If OSAL_DEBUG_DISABLE_TASK_PRIORITIES is defined, the "priority" argument - * supplied to the task creation function will be ignored and all tasks will - * run at the default scheduling priority. This is intended for debugging - * purposes where a "runaway" thread running with elevated priority can hang - * the entire system and make debugging difficult. - */ -#undef OSAL_DEBUG_DISABLE_TASK_PRIORITIES - -/* - * If OSAL_DEBUG_DISABLE_MUTEX_PRIO_INHERIT is defined, this will disable the priority - * inheritance attribute used on by default on OSAL mutexes. Some buggy pthreads - * libraries do not properly implement this attribute. - */ -#undef OSAL_DEBUG_DISABLE_MUTEX_PRIO_INHERIT - - -#endif diff --git a/fsw/nos3_defs/cpu2_platform_cfg.h b/fsw/nos3_defs/cpu2_platform_cfg.h index be21bc89..5299cd79 100644 --- a/fsw/nos3_defs/cpu2_platform_cfg.h +++ b/fsw/nos3_defs/cpu2_platform_cfg.h @@ -126,8 +126,8 @@ ** Dictates the size of the SB memory pool. For each message the SB ** sends, the SB dynamically allocates from this memory pool, the memory needed ** to process the message. The memory needed to process each message is msg -** size + msg descriptor(#CFE_SB_BufferD_t). This memory pool is also used -** to allocate destination descriptors (#CFE_SB_DestinationD_t) during the +** size + msg descriptor(CFE_SB_BufferD_t). This memory pool is also used +** to allocate destination descriptors (CFE_SB_DestinationD_t) during the ** subscription process. ** To see the run-time, high-water mark and the current utilization figures ** regarding this parameter, send an SB command to 'Send Statistics Pkt'. @@ -178,7 +178,12 @@ ** The recommended case to to have this value the same across all mission platforms ** ** \par Limits -** This parameter has a lower limit of 1 and an upper limit of 0xFFFF. +** This parameter has a lower limit of 1 and an upper limit of 0xFFFF. Note +** for current implementations, V2/Extended headers assign 0xFFFFFFFF as the invalid +** message ID value, and default headers assigns 0xFFFF as the invalid value. This +** means for default headers, 0xFFFF is invalid even if you set the value +** below to it's maximum of 0xFFFF. +** The allocated message table is this size + 1 (could change based on implementaiton). */ #define CFE_PLATFORM_SB_HIGHEST_VALID_MSGID 0x1FFF @@ -565,7 +570,7 @@ ** in the error log. Any context information beyond this size will ** be truncated. */ -#define CFE_PLATFORM_ES_ER_LOG_MAX_CONTEXT_SIZE 128 +#define CFE_PLATFORM_ES_ER_LOG_MAX_CONTEXT_SIZE 256 /** @@ -788,7 +793,7 @@ ** log ER Log and critical reset variables. This is 4 of 4 of the memory areas ** that are preserved during a processor reset. ** Note: This area must be sized large enough to hold all of the data -** structures. It should be automatically sized based on the #CFE_ES_ResetData_t +** structures. It should be automatically sized based on the CFE_ES_ResetData_t ** type, but circular dependancies in the headers prevent it from being defined ** this way. ** NOTE: Changing this value changes memory allocation, and may @@ -1005,22 +1010,40 @@ #define CFE_PLATFORM_ES_DEFAULT_CDS_REG_DUMP_FILE "/ram/cfe_cds_reg.log" /** -** \cfeescfg Define Default System Log Mode +** \cfeescfg Define Default System Log Mode following Power On Reset ** ** \par Description: -** Defines the default mode for the operation of the ES System log. The log may -** operate in either Overwrite mode = 0, where once the log becomes full the -** oldest message in the log will be overwritten, or Discard mode = 1, where -** once the log becomes full the contents of the log are preserved and the new -** event is discarded. This constant may hold a value of either 0 or 1 -** depending on the desired default log mode. Overwrite Mode = 0, Discard -** Mode = 1. +** Defines the default mode for the operation of the ES System log following a power +** on reset. The log may operate in either Overwrite mode = 0, where once the +** log becomes full the oldest message in the log will be overwritten, or +** Discard mode = 1, where once the log becomes full the contents of the log are +** preserved and the new event is discarded. This constant may hold a value of +** either 0 or 1 depending on the desired default. +** Overwrite Mode = 0, Discard Mode = 1. ** ** \par Limits ** There is a lower limit of 0 and an upper limit of 1 on this configuration ** paramater. */ -#define CFE_PLATFORM_ES_DEFAULT_SYSLOG_MODE 1 +#define CFE_PLATFORM_ES_DEFAULT_POR_SYSLOG_MODE 0 + +/** +** \cfeescfg Define Default System Log Mode following Processor Reset +** +** \par Description: +** Defines the default mode for the operation of the ES System log following a +** processor reset. The log may operate in either Overwrite mode = 0, where once +** the log becomes full the oldest message in the log will be overwritten, or +** Discard mode = 1, where once the log becomes full the contents of the log are +** preserved and the new event is discarded. This constant may hold a value of +** either 0 or 1 depending on the desired default. +** Overwrite Mode = 0, Discard Mode = 1. +** +** \par Limits +** There is a lower limit of 0 and an upper limit of 1 on this configuration +** paramater. +*/ +#define CFE_PLATFORM_ES_DEFAULT_PR_SYSLOG_MODE 1 /** ** \cfeescfg Define Max Number of Performance IDs @@ -1187,52 +1210,6 @@ */ #define CFE_PLATFORM_ES_DEFAULT_STACK_SIZE 8192 -/** -** \cfeescfg Define cFE Core Exception Function -** -** \par Description: -** This parameter defines the function-to-call when a CPU or floating point exception -** occurs. The parameter is defaulted to call the ES API function #CFE_ES_ProcessCoreException -** which handles the logging and reset from a system or cFE core exception. -** -** Note: Exception interrupts are trapped at the Platform Support Package (PSP) -** layer. In order to initiate the cFE platform defined response to an exception, this -** platform defined callback function must be prototyped and called from the PSP -** exception hook API function #CFE_PSP_ExceptionHook. For example: -** -** -- cfe_psp.h -- -** -** .... Prototype for exception ISR function implemented in CFE .... -** -** typedef void (*System_ExceptionFunc_t)(uint32 HostTaskId, -** const char *ReasonString, -** const uint32 *ContextPointer, -** uint32 ContextSize); -** -** -- cfe_pspexception.c -- -** -** .... Setup function pointer to CFE exception ISR callback .... -** -** static const System_ExceptionFunc_t CFE_ExceptionCallback = CFE_PLATFORM_ES_EXCEPTION_FUNCTION; -** -** void CFE_PSP_ExceptionHook (int task_id, int vector, uint8 *pEsf ) -** { -** .... platform-specific logic .... -** -** .... Use function pointer to call cFE routine to finish processing the exception .... -** -** CFE_ExceptionCallback((uint32)task_id, -** CFE_PSP_ExceptionReasonString, -** (uint32 *)&CFE_PSP_ExceptionContext, -** sizeof(CFE_PSP_ExceptionContext_t)); -** -** } -** -** \par Limits -** Must be a valid function name. -*/ -#define CFE_PLATFORM_ES_EXCEPTION_FUNCTION CFE_ES_ProcessCoreException - /** ** \cfeescfg Define EVS Task Priority ** @@ -1997,7 +1974,7 @@ #define CFE_ES_DEFAULT_ER_LOG_FILE CFE_PLATFORM_ES_DEFAULT_ER_LOG_FILE #define CFE_ES_DEFAULT_PERF_DUMP_FILENAME CFE_PLATFORM_ES_DEFAULT_PERF_DUMP_FILENAME #define CFE_ES_DEFAULT_CDS_REG_DUMP_FILE CFE_PLATFORM_ES_DEFAULT_CDS_REG_DUMP_FILE -#define CFE_ES_DEFAULT_SYSLOG_MODE CFE_PLATFORM_ES_DEFAULT_SYSLOG_MODE +#define CFE_ES_DEFAULT_SYSLOG_MODE CFE_PLATFORM_ES_DEFAULT_PR_SYSLOG_MODE #define CFE_ES_PERF_MAX_IDS CFE_PLATFORM_ES_PERF_MAX_IDS #define CFE_ES_PERF_DATA_BUFFER_SIZE CFE_PLATFORM_ES_PERF_DATA_BUFFER_SIZE #define CFE_ES_PERF_FILTMASK_NONE CFE_PLATFORM_ES_PERF_FILTMASK_NONE diff --git a/fsw/nos3_defs/default_osconfig.cmake b/fsw/nos3_defs/default_osconfig.cmake new file mode 100644 index 00000000..218bbb31 --- /dev/null +++ b/fsw/nos3_defs/default_osconfig.cmake @@ -0,0 +1,210 @@ +########################################################################## +# +# CFE configuration options for OSAL +# +# This file specifies the default values for various compile-time options +# supported by OSAL. These options can be further tuned by the specific +# OSAL and BSP selection, as well as the user application. +# +########################################################################## + + +############################################################## +# Code/Feature Selection Options for the OSAL implementation +############################################################## + + +# OSAL_CONFIG_INCLUDE_NETWORK +# ---------------------------------- +# +# Whether to include the Network API +# +# If set TRUE, the the socket abstraction (if applicable on the platform) +# will be included. If set FALSE, then all calls to the network API will +# return OS_ERR_NOT_IMPLEMENTED. +# +# This can be set FALSE for platforms which do not have a network or +# IP stack available, or to save code space if the application does +# not use network resources. +# +set(OSAL_CONFIG_INCLUDE_NETWORK TRUE) + + +# +# OSAL_CONFIG_INCLUDE_DYNAMIC_LOADER +# ---------------------------------- +# +# Whether to include the capability of loading dynamic code objects +# +# This is normally set TRUE to support modularized applications on +# platforms which have this capability. +# +# For deployments which are always statically linked, this may be set +# FALSE for a smaller library size and reduced linking requirements. +# +set(OSAL_CONFIG_INCLUDE_DYNAMIC_LOADER TRUE) + + +# +# OSAL_CONFIG_INCLUDE_STATIC_LOADER +# ---------------------------------- +# +# Whether to include a compatibility "loader" for statically-linked objects +# +# This feature allows applications normally written for dynamic module loading +# operate transparently in a static link environment. If this is set TRUE, +# then the application must supply an object named "OS_STATIC_SYMBOL_TABLE" that +# contains the names and addresses of statically-linked symbols that should +# be known to the lookup/load functions. +# +# Note that modules "loaded" using this abstraction are still assigned a +# module ID and still require a slot in the module table even though +# no actual runtime loading is performed (see OSAL_CONFIG_MAX_MODULES). +# +set(OSAL_CONFIG_INCLUDE_STATIC_LOADER TRUE) + +# +# OSAL_CONFIG_INCLUDE_SHELL +# ---------------------------------- +# +# Whether to include features which utilize the operating system shell. +# +# Remote Shell commands can be very powerful tool for remotely diagnosing +# and mitigating runtime issues in the field, but also have significant +# security implications. If this is set to "false" then shell functionality +# is disabled and OSAL functions which invoke the shell will return +# OS_ERR_NOT_IMPLEMENTED. +# +set(OSAL_CONFIG_INCLUDE_SHELL FALSE) + + +# +# OSAL_CONFIG_DEBUG_PERMISSIVE_MODE +# ---------------------------------- +# +# The OSAL_CONFIG_DEBUG_PERMISSIVE_MODE option controls how privileged operations +# are handled by the OSAL in the event that the user does not have sufficient permission. +# In particular this applies to task priorities and message queues. +# +# If set FALSE, then all permissions are enforced, and a failure due to lack of permission +# will cause a failure of the overall operation, which is passed back to the application. +# +# If set to TRUE, this will treat some errors non-fatal and enable a graceful fallback, +# allowing the overall operation to complete in a reduced form. This makes the +# OSAL library compatible with a non-root (normal user mode) environment. +# +# In the PC-Linux/Posix build, this means: +# - A message queue deeper than the maximum system limit will be silently truncated +# to the maximum system limit (no error). +# - If the user does not have permission to create elevated priority tasks, then the tasks will +# be created at the default priority (no error). +# +set(OSAL_CONFIG_DEBUG_PERMISSIVE_MODE TRUE) + +# +# OSAL_CONFIG_DEBUG_PRINTF +# ---------------------------------- +# +# Controls inclusion of OS_DEBUG statements in the code +# +# If set FALSE, all OS_DEBUG statements are compiled out. +# +# If set TRUE, all the "OS_DEBUG" statements will be compiled in and displayed +# on the debug console. The statements may still be suppressed at runtime. +# +set(OSAL_CONFIG_DEBUG_PRINTF TRUE) + + +############################################# +# Resource Limits for the OS API +############################################# + +# The maximum number of concurrently-running tasks to support +set(OSAL_CONFIG_MAX_TASKS 128) + +# The maximum number of queues to support +set(OSAL_CONFIG_MAX_QUEUES 128) + +# The maximum number of counting semaphores to support +set(OSAL_CONFIG_MAX_COUNT_SEMAPHORES 45) + +# The maximum number of binary semaphores to support +set(OSAL_CONFIG_MAX_BIN_SEMAPHORES 45) + +# The maximum number of mutexes to support +set(OSAL_CONFIG_MAX_MUTEXES 45) + +# The maximum number of loadable modules to support +# Note that emulating module loading for statically-linked objects also +# requires a slot in this table, as it still assigns an OSAL ID. +set(OSAL_CONFIG_MAX_MODULES 64) + +# The maximum number of time base objects (reference for timers) +set(OSAL_CONFIG_MAX_TIMEBASES 5) + +# The maximum number of user timers / app callbacks that can be registered +set(OSAL_CONFIG_MAX_TIMERS 10) + +# The maximum number of concurrently open file descriptors to support +set(OSAL_CONFIG_MAX_NUM_OPEN_FILES 50) + +# The maximum number of concurrently open directory descriptors to support +set(OSAL_CONFIG_MAX_NUM_OPEN_DIRS 4) + +# The maximum number of file systems that can be managed by OSAL +set(OSAL_CONFIG_MAX_FILE_SYSTEMS 14) + +# The maximum length for a file name, including any extension +# (This does not include the directory part) +# This length must include an extra character for NULL termination. +set(OSAL_CONFIG_MAX_FILE_NAME 20) + +# Maximum length for an virtual path name (virtual directory + file) +# This length must include an extra character for NULL termination. +set(OSAL_CONFIG_MAX_PATH_LEN 64) + +# Maximum length allowed for a object (task,queue....) name +# This length must include an extra character for NULL termination. +set(OSAL_CONFIG_MAX_API_NAME 20) + +# Maximum length of a symbol name for OS_SymbolLookup() +# This length must include an extra character for NULL termination. +set(OSAL_CONFIG_MAX_SYM_LEN 64) + +# Maximum length of a network socket address +# This is only relevant if network support is included, and the +# required length depends on the address families in use +set(OSAL_CONFIG_SOCKADDR_MAX_LEN 28) + +# Maximum length of a single message produced by OS_printf() +set(OSAL_CONFIG_PRINTF_BUFFER_SIZE 172) + +# Maximum number of OS_printf() messages that will be buffered +set(OSAL_CONFIG_PRINTF_BUFFER_DEPTH 100) + +# Priority level of a console output helper task +# +# Set logically low (high number) to maximize performance. +# - Messages from OS_printf() may show on the console with some delay +# but should have minimal impact to real time tasks. +# +# Set logically high (low number) for debugging +# - Messages from OS_printf() will have more timely output, but may +# adversely impact real time tasks. +set(OSAL_CONFIG_UTILITYTASK_PRIORITY 245) + +# Stack size of console output task. +# +# This applies to RTOS layers with precise stack control, +# normally not necessary to change this unless the task implementation +# changes. +set(OSAL_CONFIG_UTILITYTASK_STACK_SIZE 2048) + +# The size of a command that can be passed to the underlying OS +# This length must include an extra character for NULL termination. +set(OSAL_CONFIG_MAX_CMD_LEN 1000) + +# The maximum depth of an OSAL message queue. +# On some implementations this may affect the overall OSAL memory footprint +# so it may be beneficial to set this limit accordingly. +set(OSAL_CONFIG_QUEUE_MAX_DEPTH 1024) diff --git a/fsw/nos3_defs/global_build_options.cmake b/fsw/nos3_defs/global_build_options.cmake new file mode 100644 index 00000000..642b0008 --- /dev/null +++ b/fsw/nos3_defs/global_build_options.cmake @@ -0,0 +1,25 @@ +# +# Example global_build_options.cmake +# ---------------------------------- +# +# This may set global definitions that apply to ALL targets in ALL scopes, +# including FSW code that is cross-compiled for a target as well as code +# built for the development host itself (native). +# +# As such, it should only invoke basic commands that have wide applicability, +# such as "add_definitions()" for macro definitions that should be set +# globally. It should not include any compiler-specific options that might +# change between compiler vendors or target processor families. +# + +# If the OMIT_DEPRECATED flag is specified, then define the respective macros +# that omit the deprecated features from the build. This is conditional in this +# example for CI purposes, so it can be tested both ways. Most projects would +# likely set this only one way. +set(OMIT_DEPRECATED $ENV{OMIT_DEPRECATED} CACHE STRING "Omit deprecated elements") +if (OMIT_DEPRECATED) + message (STATUS "OMIT_DEPRECATED=true: Not including deprecated elements in build") + add_definitions(-DCFE_OMIT_DEPRECATED_6_7 -DCFE_OMIT_DEPRECATED_6_6 -DOSAL_OMIT_DEPRECATED) +else() + message (STATUS "OMIT_DEPRECATED=false: Deprecated elements included in build") +endif (OMIT_DEPRECATED) diff --git a/fsw/nos3_defs/mission_build_custom.cmake b/fsw/nos3_defs/mission_build_custom.cmake new file mode 100644 index 00000000..92506bc9 --- /dev/null +++ b/fsw/nos3_defs/mission_build_custom.cmake @@ -0,0 +1,28 @@ +# +# Example mission_build_custom.cmake +# ---------------------------------- +# +# This file will be automatically included in the top level ("mission") build scope +# +# Definitions and options specified here will be used when building local tools and +# other code that runs on the development host, but do _NOT_ apply to flight software +# (embedded) code or anything built for the target machine. +# +# These options assume a GCC toolchain but a similar set should be applicable to clang. +# +add_compile_options( + -std=c99 # Target the C99 standard (without gcc extensions) + -pedantic # Issue all the warnings demanded by strict ISO C + -Wall # Warn about most questionable operations + -Wstrict-prototypes # Warn about missing prototypes + -Wwrite-strings # Warn if not treating string literals as "const" + -Wpointer-arith # Warn about suspicious pointer operations + -Wcast-align # Warn about casts that increase alignment requirements + -Werror # Treat warnings as errors (code should be clean) +) + +# The _XOPEN_SOURCE directive is required for glibc to enable conformance with the +# the X/Open standard version 6, which includes POSIX.1c as well as SUSv2/UNIX98 extensions. +add_definitions( + -D_XOPEN_SOURCE=600 +) diff --git a/fsw/nos3_defs/native_osconfig.cmake b/fsw/nos3_defs/native_osconfig.cmake new file mode 100644 index 00000000..2ddb5f8e --- /dev/null +++ b/fsw/nos3_defs/native_osconfig.cmake @@ -0,0 +1,5 @@ +# +# OSAL configuration addendum when building with SIMULATION=native +# In this mode, enable the PERMISSIVE option, which allows for easier testing. +# +set(OSAL_CONFIG_DEBUG_PERMISSIVE_MODE TRUE) diff --git a/fsw/nos3_defs/nos3_mission_cfg.h b/fsw/nos3_defs/nos3_mission_cfg.h index 1207139a..8699656a 100644 --- a/fsw/nos3_defs/nos3_mission_cfg.h +++ b/fsw/nos3_defs/nos3_mission_cfg.h @@ -60,11 +60,9 @@ ** ** \par Limits ** All versions of the cFE currently support only CCSDS as the message format -** Defining only MESSAGE_FORMAT_IS_CCSDS implements the 11 bit APID format in the primary header -** Also defining MESSAGE_FORMAT_IS_CCSDS_VER_2 implements the APID extended header format -** MESSAGE_FORMAT_IS_CCSDS must be defined for all cFE deployments. MESSAGE_FORMAT_IS_CCSDS_VER_2 is optional +** Defining MESSAGE_FORMAT_IS_CCSDS_VER_2 implements the APID extended header format +** MESSAGE_FORMAT_IS_CCSDS_VER_2 is optional */ -#define MESSAGE_FORMAT_IS_CCSDS /* #define MESSAGE_FORMAT_IS_CCSDS_VER_2 */ #undef MESSAGE_FORMAT_IS_CCSDS_VER_2 @@ -218,13 +216,13 @@ ** \par Limits ** Not Applicable */ -#define CFE_MISSION_TIME_DEF_MET_SECS 1000 +#define CFE_MISSION_TIME_DEF_MET_SECS 0 #define CFE_MISSION_TIME_DEF_MET_SUBS 0 -#define CFE_MISSION_TIME_DEF_STCF_SECS 1000000 +#define CFE_MISSION_TIME_DEF_STCF_SECS 0 #define CFE_MISSION_TIME_DEF_STCF_SUBS 0 -#define CFE_MISSION_TIME_DEF_LEAPS 32 +#define CFE_MISSION_TIME_DEF_LEAPS 37 #define CFE_MISSION_TIME_DEF_DELAY_SECS 0 #define CFE_MISSION_TIME_DEF_DELAY_SUBS 1000 @@ -244,7 +242,7 @@ ** Minute - 0 to 59 ** Second - 0 to 59 */ -#define CFE_MISSION_TIME_EPOCH_YEAR 1980 +#define CFE_MISSION_TIME_EPOCH_YEAR 1958 #define CFE_MISSION_TIME_EPOCH_DAY 1 #define CFE_MISSION_TIME_EPOCH_HOUR 0 #define CFE_MISSION_TIME_EPOCH_MINUTE 0 @@ -300,7 +298,9 @@ ** ** ** \par Limits -** Not Applicable +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. +** */ #define CFE_MISSION_ES_CDS_MAX_NAME_LENGTH 16 @@ -310,7 +310,7 @@ ** \cfeevscfg Maximum Event Message Length ** ** \par Description: -** Indicates the maximum length (in characers) of the formatted text +** Indicates the maximum length (in characters) of the formatted text ** string portion of an event message ** ** \par Limits @@ -349,7 +349,8 @@ ** form: "ApplicationName.TblName" ** ** \par Limits -** Not Applicable +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. */ #define CFE_MISSION_TBL_MAX_NAME_LENGTH 16 @@ -421,6 +422,8 @@ #define CFE_MISSION_TBL_SEND_HK_MSG 12 #define CFE_MISSION_TIME_SEND_HK_MSG 13 +#define CFE_MISSION_SB_SUB_RPT_CTRL_MSG 14 + #define CFE_MISSION_TIME_TONE_CMD_MSG 16 #define CFE_MISSION_TIME_1HZ_CMD_MSG 17 @@ -500,6 +503,8 @@ ** Note this affects the size of messages, so it must not cause any message ** to exceed the max length. ** +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. */ #define CFE_MISSION_ES_MAX_SHELL_CMD 64 @@ -522,6 +527,9 @@ ** Note this affects the size of messages, so it must not cause any message ** to exceed the max length. ** +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. +** */ #define CFE_MISSION_ES_MAX_SHELL_PKT 64 @@ -547,7 +555,8 @@ ** ** \par Description: ** Indicates the maximum length (in characters) of the entire table name -** within software bus messages +** within software bus messages, in "AppName.TableName" notation. +** ** This affects the layout of command/telemetry messages but does not affect run ** time behavior or internal allocation. ** @@ -556,8 +565,10 @@ ** Note this affects the size of messages, so it must not cause any message ** to exceed the max length. ** +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. */ -#define CFE_MISSION_TBL_MAX_FULL_NAME_LEN (CFE_MISSION_TBL_MAX_NAME_LENGTH + CFE_MISSION_MAX_API_LEN + 2) +#define CFE_MISSION_TBL_MAX_FULL_NAME_LEN (CFE_MISSION_TBL_MAX_NAME_LENGTH + CFE_MISSION_MAX_API_LEN + 4) /** ** \cfesbcfg Maximum Number of pipes that SB command/telemetry messages may hold @@ -578,43 +589,76 @@ /** -** \cfemissioncfg cFE Maximum length for filenames in messages +** \cfemissioncfg cFE Maximum length for pathnames within data exchange structures ** ** \par Description: -** The value of this constant dictates the size of filenames within SB messages. +** The value of this constant dictates the size of pathnames within all structures +** used for external data exchange, such as Software bus messages and table definitions. ** This is typically the same as OS_MAX_PATH_LEN but that is OSAL dependent -- ** and as such it definable on a per-processor/OS basis and hence may be different -** across multiple processors. Since this defines a message format, it must be -** consistent across ALL processors exchanging SB messages. +** across multiple processors. It is recommended to set this to the value of the +** largest OS_MAX_PATH_LEN in use on any CPU on the mission. ** -** This affects the layout of command/telemetry messages but does not affect run -** time behavior or internal allocation. +** This affects only the layout of command/telemetry messages and table definitions; +** internal allocation may use the platform-specific OS_MAX_PATH_LEN value. ** ** \par Limits -** All CPUs within the same SB domain (mission) must share the same definition +** All CPUs within the same SB domain (mission) and ground tools must share the +** same definition. ** Note this affects the size of messages, so it must not cause any message ** to exceed the max length. ** +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. */ #define CFE_MISSION_MAX_PATH_LEN 64 /** -** \cfemissioncfg cFE Maximum length for API names in messages +** \cfemissioncfg cFE Maximum length for filenames within data exchange structures +** +** \par Description: +** The value of this constant dictates the size of filenames within all structures +** used for external data exchange, such as Software bus messages and table definitions. +** This is typically the same as OS_MAX_FILE_LEN but that is OSAL dependent -- +** and as such it definable on a per-processor/OS basis and hence may be different +** across multiple processors. It is recommended to set this to the value of the +** largest OS_MAX_FILE_LEN in use on any CPU on the mission. +** +** This affects only the layout of command/telemetry messages and table definitions; +** internal allocation may use the platform-specific OS_MAX_FILE_LEN value. +** +** \par Limits +** All CPUs within the same SB domain (mission) and ground tools must share the +** same definition. +** Note this affects the size of messages, so it must not cause any message +** to exceed the max length. +** +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. +*/ +#define CFE_MISSION_MAX_FILE_LEN 20 + +/** +** \cfemissioncfg cFE Maximum length for API names within data exchange structures ** ** \par Description: -** The value of this constant dictates the size of API names within SB messages. +** The value of this constant dictates the size of filenames within all structures +** used for external data exchange, such as Software bus messages and table definitions. ** This is typically the same as OS_MAX_API_LEN but that is OSAL dependent -- ** and as such it definable on a per-processor/OS basis and hence may be different -** across multiple processors. +** across multiple processors. It is recommended to set this to the value of the +** largest OS_MAX_API_LEN in use on any CPU on the mission. ** -** This affects the layout of command/telemetry messages but does not affect run -** time behavior or internal allocation. +** This affects only the layout of command/telemetry messages and table definitions; +** internal allocation may use the platform-specific OS_MAX_API_LEN value. ** ** \par Limits ** All CPUs within the same SB domain (mission) must share the same definition ** Note this affects the size of messages, so it must not cause any message ** to exceed the max length. ** +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. */ #define CFE_MISSION_MAX_API_LEN 20 @@ -632,8 +676,11 @@ ** All CPUs within the same SB domain (mission) must share the same definition ** Note this affects the size of messages, so it must not cause any message ** to exceed the max length. +** +** This value should be kept as a multiple of 4, to maintain alignment of +** any possible neighboring fields without implicit padding. */ -#define CFE_MISSION_ES_CDS_MAX_NAME_LEN (CFE_MISSION_ES_CDS_MAX_NAME_LENGTH + CFE_MISSION_MAX_API_LEN + 2) +#define CFE_MISSION_ES_CDS_MAX_NAME_LEN (CFE_MISSION_ES_CDS_MAX_NAME_LENGTH + CFE_MISSION_MAX_API_LEN + 4) /* diff --git a/fsw/nos3_defs/tables/sch_def_schtbl.c b/fsw/nos3_defs/tables/sch_def_schtbl.c index f2ef67a2..6df56449 100644 --- a/fsw/nos3_defs/tables/sch_def_schtbl.c +++ b/fsw/nos3_defs/tables/sch_def_schtbl.c @@ -306,8 +306,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #29 */ -/*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 4, 2, 11, SCH_GROUP_CFS_HK }, */ /* LC HK Request */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 2, 11, SCH_GROUP_CFS_HK }, /* LC 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}, @@ -418,8 +417,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #44 */ -/*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 4, 1, 14, SCH_GROUP_CFS_HK }, */ /* SC HK Request */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 1, 14, SCH_GROUP_CFS_HK }, /* SC 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}, @@ -508,10 +506,8 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #56 */ -/*{ SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 1, 30, SCH_GROUP_NONE }, */ /* CI HK Request */ -/*{ SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 2, 31, SCH_GROUP_NONE }, */ /* TO HK Request */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 1, 30, SCH_GROUP_NONE }, /* CI HK Request */ + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 2, 31, SCH_GROUP_NONE }, /* TO 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}, diff --git a/fsw/nos3_defs/targets.cmake b/fsw/nos3_defs/targets.cmake index c1743140..179844ea 100644 --- a/fsw/nos3_defs/targets.cmake +++ b/fsw/nos3_defs/targets.cmake @@ -132,7 +132,7 @@ SET(TGT1_FILELIST cfe_es_startup.scr) SET(TGT2_OSAL_SYSTEM_CONFIG cpu1_osconfig.h) # USER Supplied -SET(TGT2_NAME cpu2) -SET(TGT2_APPLIST ${APPLICATION_LIST}) -SET(TGT2_FILELIST cfe_es_startup.scr) -SET(TGT2_OSAL_SYSTEM_CONFIG cpu2_osconfig.h) \ No newline at end of file +#SET(TGT2_NAME cpu2) +#SET(TGT2_APPLIST ${APPLICATION_LIST}) +#SET(TGT2_FILELIST cfe_es_startup.scr) +#SET(TGT2_OSAL_SYSTEM_CONFIG cpu2_osconfig.h) \ No newline at end of file diff --git a/fsw/osal b/fsw/osal index 51234ac2..cd1eaf64 160000 --- a/fsw/osal +++ b/fsw/osal @@ -1 +1 @@ -Subproject commit 51234ac2cf306ec8067aac631486c0b77a2ccdd8 +Subproject commit cd1eaf644b65ce08447484fb62ff4319e2e9b143 diff --git a/fsw/psp b/fsw/psp index 274f8de0..b80b2c3f 160000 --- a/fsw/psp +++ b/fsw/psp @@ -1 +1 @@ -Subproject commit 274f8de01487d0ff89a6d2ca9e38c1c6a546e5f0 +Subproject commit b80b2c3f78bd7342ca5c0afb17a1a2967f3d0bc4 diff --git a/fsw/tools/cFS-GroundSystem b/fsw/tools/cFS-GroundSystem deleted file mode 160000 index efb4be43..00000000 --- a/fsw/tools/cFS-GroundSystem +++ /dev/null @@ -1 +0,0 @@ -Subproject commit efb4be4330cc7c4d1750eaedc740990b4bb055e1 diff --git a/fsw/tools/elf2cfetbl b/fsw/tools/elf2cfetbl index 0e6af52b..7a3d1cab 160000 --- a/fsw/tools/elf2cfetbl +++ b/fsw/tools/elf2cfetbl @@ -1 +1 @@ -Subproject commit 0e6af52b972fbf287c15cdd46b85846626109bfc +Subproject commit 7a3d1cab61de365fbc8ff969c6930701220f9578 diff --git a/sims/CMakeLists.txt b/sims/CMakeLists.txt index 5acf6dfa..2d2e8c41 100644 --- a/sims/CMakeLists.txt +++ b/sims/CMakeLists.txt @@ -28,6 +28,7 @@ set(CXX_11 ON) set(CMAKE_SHARED_LINKER_FLAGS "-m32 -Wl,--disable-new-dtags") endif(CXX_11) +set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}) include(MissionSettings.cmake) # NOS3 Sim Core From 343108492ac15ea0b7b5be44f82c3a864ab024fc Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Tue, 11 Oct 2022 12:37:41 -0400 Subject: [PATCH 06/34] dev: Remove GPS from startup script and add Inp_NOS3.txt configuration file; --- fsw/nos3_defs/cpu1_cfe_es_startup.scr | 4 +++- gsw/scripts/stop.sh | 1 - sims/cfg/InOut/Inp_NOS3.txt | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 sims/cfg/InOut/Inp_NOS3.txt diff --git a/fsw/nos3_defs/cpu1_cfe_es_startup.scr b/fsw/nos3_defs/cpu1_cfe_es_startup.scr index 567316bb..0676ea7b 100644 --- a/fsw/nos3_defs/cpu1_cfe_es_startup.scr +++ b/fsw/nos3_defs/cpu1_cfe_es_startup.scr @@ -12,9 +12,11 @@ CFE_LIB, /cf/hwlib.so, hwlib_Init, HW_LIB, CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 69, 8192, 0x0, 0; CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 70, 8192, 0x0, 0; -CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; +! +CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; + ! ! ** The software will not try to parse anything after the first '!' character it sees. ** ! diff --git a/gsw/scripts/stop.sh b/gsw/scripts/stop.sh index 694b4650..bddcf119 100644 --- a/gsw/scripts/stop.sh +++ b/gsw/scripts/stop.sh @@ -28,7 +28,6 @@ rm -rf $BASE_DIR/fsw/build/exe/cpu1/scratch/* # 42 killall -q 42 rm -rf /opt/nos3/42/NOS3InOut -rm -rf /opt/nos3/42/Model/GTO* rm -rf /tmp/gpio* exit 0 \ No newline at end of file diff --git a/sims/cfg/InOut/Inp_NOS3.txt b/sims/cfg/InOut/Inp_NOS3.txt new file mode 100644 index 00000000..0ee2025c --- /dev/null +++ b/sims/cfg/InOut/Inp_NOS3.txt @@ -0,0 +1,3 @@ +<<<<<<<<<<<<<<<< 42 NOS3 Time Configuration File >>>>>>>>>>>>>>>>>>> +command ! NOS3 Time Bus +tcp://127.0.0.1:12001 ! NOS3 Time Connection String From 31104be51162f25ff140ea2311f0d82c4484a369 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Tue, 18 Oct 2022 18:41:12 -0400 Subject: [PATCH 07/34] [nasa/nos3#74] Initial shuffling of component submodules; --- .gitmodules | 51 ++++++++-------- components/ComponentSettings.cmake | 60 +++++++++++++++++++ {fsw/components => components}/arducam | 0 .../generic_reaction_wheel | 0 {fsw/components => components}/sample | 0 fsw/apps/ci_lab | 1 + fsw/{components => apps}/hwlib | 0 fsw/apps/to_lab | 1 + fsw/components/novatel_oem615 | 1 - gsw/OrbitInviewPowerPrediction | 2 +- sims/arducam_sim | 1 - sims/generic_reaction_wheel_sim | 1 - sims/novatel_oem615_sim | 1 - sims/sample_sim | 1 - 14 files changed, 87 insertions(+), 33 deletions(-) create mode 100644 components/ComponentSettings.cmake rename {fsw/components => components}/arducam (100%) rename {fsw/components => components}/generic_reaction_wheel (100%) rename {fsw/components => components}/sample (100%) create mode 160000 fsw/apps/ci_lab rename fsw/{components => apps}/hwlib (100%) create mode 160000 fsw/apps/to_lab delete mode 160000 fsw/components/novatel_oem615 delete mode 160000 sims/arducam_sim delete mode 160000 sims/generic_reaction_wheel_sim delete mode 160000 sims/novatel_oem615_sim delete mode 160000 sims/sample_sim diff --git a/.gitmodules b/.gitmodules index 967d4680..7dbf66d8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,27 +37,12 @@ [submodule "fsw/apps/lc"] path = fsw/apps/lc url = https://github.com/nasa-itc/LC.git -[submodule "fsw/components/hwlib"] - path = fsw/components/hwlib - url = https://github.com/nasa-itc/hwlib.git [submodule "fsw/apps/hs"] path = fsw/apps/hs url = https://github.com/nasa-itc/HS.git -[submodule "fsw/components/arducam"] - path = fsw/components/arducam - url = https://github.com/nasa-itc/arducam.git -[submodule "fsw/components/novatel_oem615"] - path = fsw/components/novatel_oem615 - url = https://github.com/nasa-itc/novatel_oem615.git -[submodule "sims/arducam_sim"] - path = sims/arducam_sim - url = https://github.com/nasa-itc/arducam_sim.git [submodule "sims/nos_time_driver"] path = sims/nos_time_driver url = https://github.com/nasa-itc/nos_time_driver.git -[submodule "sims/novatel_oem615_sim"] - path = sims/novatel_oem615_sim - url = https://github.com/nasa-itc/novatel_oem615_sim.git [submodule "sims/sim_common"] path = sims/sim_common url = https://github.com/nasa-itc/sim_common.git @@ -76,18 +61,30 @@ [submodule "gsw/cosmos"] path = gsw/cosmos url = https://github.com/nasa-itc/gsw-cosmos.git -[submodule "fsw/components/generic_reaction_wheel"] - path = fsw/components/generic_reaction_wheel - url = https://github.com/nasa-itc/generic_reaction_wheel.git -[submodule "sims/generic_reaction_wheel_sim"] - path = sims/generic_reaction_wheel_sim - url = https://github.com/nasa-itc/generic_reaction_wheel_sim.git -[submodule "fsw/components/sample"] - path = fsw/components/sample - url = https://github.com/nasa-itc/sample_app.git -[submodule "sims/sample_sim"] - path = sims/sample_sim - url = https://github.com/nasa-itc/sample_sim.git [submodule "sims/truth_42_sim"] path = sims/truth_42_sim url = https://github.com/nasa-itc/truth_42_sim.git +[submodule "fsw/apps/ci_lab"] + path = fsw/apps/ci_lab + url = https://github.com/nasa/ci_lab.git + branch = main +[submodule "fsw/apps/to_lab"] + path = fsw/apps/to_lab + url = https://github.com/nasa/to_lab.git + branch = main +[submodule "fsw/apps/hwlib"] + path = fsw/apps/hwlib + url = https://github.com/nasa-itc/hwlib.git + branch = master +[submodule "components/arducam"] + path = components/arducam + url = https://github.com/nasa-itc/arducam.git + branch = master +[submodule "components/generic_reaction_wheel"] + path = components/generic_reaction_wheel + url = https://github.com/nasa-itc/generic_reaction_wheel.git + branch = master +[submodule "components/sample"] + path = components/sample + url = https://github.com/nasa-itc/sample.git + branch = master diff --git a/components/ComponentSettings.cmake b/components/ComponentSettings.cmake new file mode 100644 index 00000000..a148ac52 --- /dev/null +++ b/components/ComponentSettings.cmake @@ -0,0 +1,60 @@ +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + message(STATUS "Clang detected. ProjectSettings will invoke GCC Compile Flags") + set(CLANG_OVERRIDE True) +endif() + +include(CheckCCompilerFlag) + +set(ITC_C_FLAGS "${ITC_C_FLAGS}" + #"-std=c99" + "-Wall" + "-Wextra" + #"-Wpedantic" # should discuss this + "-Werror" + #"-Werror=format" + "-Wformat=2" + #"-Wcast-align" # should discuss this + #"-Wcast-qual" + -Wno-discarded-qualifiers + "-Winline" + "-Wpointer-arith" + "-Wredundant-decls" + "-Wwrite-strings" + "-Wuninitialized" + "-Winit-self" + "-Wswitch-default" + #"-Wsuggest-attribute" + #"-Wsuggest-attribute=const" + #"-Wsuggest-attribute=noreturn" + "-Wfloat-equal" + "-Wno-packed" # should discuss this + "-Wno-unused-parameter" # should discuss this + "-Wno-unused-variable" # should discuss this + "-Wvariadic-macros" + "-Wvla" + "-Wstrict-overflow" + "-Wstrict-overflow=5" + "-fdiagnostics-show-option" + #"-Wstack-protector" + #"-fstack-protector-all" + #"-fsanitize=address" + #"-fstack-check" + #"-Weverything" + #"-pedantic-errors" + ) + +if(${TGTNAME} STREQUAL cpu1) + set(ITC_C_FLAGS "${ITC_C_FLAGS}" + "-Wformat=0") +endif() + +# Not Compatable with Clang +if(CMAKE_COMPILER_IS_GNUCC) + set(ITC_C_FLAGS "${ITC_C_FLAGS}" + "-Wlogical-op" + "-Wunsafe-loop-optimizations") +endif(CMAKE_COMPILER_IS_GNUCC) + +string(REPLACE ";" " " ITC_C_FLAGS "${ITC_C_FLAGS}") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ITC_C_FLAGS}") + diff --git a/fsw/components/arducam b/components/arducam similarity index 100% rename from fsw/components/arducam rename to components/arducam diff --git a/fsw/components/generic_reaction_wheel b/components/generic_reaction_wheel similarity index 100% rename from fsw/components/generic_reaction_wheel rename to components/generic_reaction_wheel diff --git a/fsw/components/sample b/components/sample similarity index 100% rename from fsw/components/sample rename to components/sample diff --git a/fsw/apps/ci_lab b/fsw/apps/ci_lab new file mode 160000 index 00000000..a5e8b4b0 --- /dev/null +++ b/fsw/apps/ci_lab @@ -0,0 +1 @@ +Subproject commit a5e8b4b013c59f073ca065f325e40bfebba1e8a0 diff --git a/fsw/components/hwlib b/fsw/apps/hwlib similarity index 100% rename from fsw/components/hwlib rename to fsw/apps/hwlib diff --git a/fsw/apps/to_lab b/fsw/apps/to_lab new file mode 160000 index 00000000..9e2ad8cc --- /dev/null +++ b/fsw/apps/to_lab @@ -0,0 +1 @@ +Subproject commit 9e2ad8cccafaad6d09902213971344d9e277e9f9 diff --git a/fsw/components/novatel_oem615 b/fsw/components/novatel_oem615 deleted file mode 160000 index dd668880..00000000 --- a/fsw/components/novatel_oem615 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit dd6688800ccab96482414a5486b49d4123ec82cf diff --git a/gsw/OrbitInviewPowerPrediction b/gsw/OrbitInviewPowerPrediction index b207c763..8258930c 160000 --- a/gsw/OrbitInviewPowerPrediction +++ b/gsw/OrbitInviewPowerPrediction @@ -1 +1 @@ -Subproject commit b207c763e1364f31c806e05958f228232c643996 +Subproject commit 8258930cee53cccccd01f0e52e0744f7bc9f6595 diff --git a/sims/arducam_sim b/sims/arducam_sim deleted file mode 160000 index 71a6fb45..00000000 --- a/sims/arducam_sim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 71a6fb4591f23dd7e6da0d4ccd0854a604fd8957 diff --git a/sims/generic_reaction_wheel_sim b/sims/generic_reaction_wheel_sim deleted file mode 160000 index 9726e3d3..00000000 --- a/sims/generic_reaction_wheel_sim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9726e3d3ba29f2dbff487469d78b440d547afc48 diff --git a/sims/novatel_oem615_sim b/sims/novatel_oem615_sim deleted file mode 160000 index b39fbfa4..00000000 --- a/sims/novatel_oem615_sim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b39fbfa43ffeee78d8398ddaeeeed32d9529bdde diff --git a/sims/sample_sim b/sims/sample_sim deleted file mode 160000 index cf28f3b4..00000000 --- a/sims/sample_sim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cf28f3b4381131ddca583a7a67c71c9d9755fc3b From 690b28deb9a775347026d19672a60edbcd568069 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Tue, 18 Oct 2022 20:33:18 -0400 Subject: [PATCH 08/34] [nasa/nos3#74] Building and running with updated component architecture; --- Makefile | 2 +- components/ComponentSettings.cmake | 3 +- components/arducam | 2 +- components/generic_reaction_wheel | 2 +- components/sample | 2 +- fsw/apps/hwlib | 2 +- fsw/components/ComponentSettings.cmake | 60 -------------------------- fsw/nos3_defs/cpu1_cfe_es_startup.scr | 21 +++++---- fsw/nos3_defs/tables/to_config.c | 7 ++- fsw/nos3_defs/targets.cmake | 5 +-- fsw/psp | 2 +- gsw/cosmos | 2 +- gsw/scripts/launch.sh | 3 +- gsw/scripts/real_clean.sh | 4 +- gsw/scripts/stop.sh | 4 +- sims/CMakeLists.txt | 6 ++- 16 files changed, 34 insertions(+), 93 deletions(-) delete mode 100644 fsw/components/ComponentSettings.cmake diff --git a/Makefile b/Makefile index 94df683b..c83c8ab5 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ INSTALLPREFIX ?= exe FSWBUILDDIR ?= $(CURDIR)/fsw/build SIMBUILDDIR ?= $(CURDIR)/sims/build -export CFS_APP_PATH = components +export CFS_APP_PATH = ../components # The "prep" step requires extra options that are specified via enviroment variables. # Certain special ones should be passed via cache (-D) options to CMake. diff --git a/components/ComponentSettings.cmake b/components/ComponentSettings.cmake index a148ac52..55c6d73f 100644 --- a/components/ComponentSettings.cmake +++ b/components/ComponentSettings.cmake @@ -15,7 +15,7 @@ set(ITC_C_FLAGS "${ITC_C_FLAGS}" "-Wformat=2" #"-Wcast-align" # should discuss this #"-Wcast-qual" - -Wno-discarded-qualifiers + "-Wno-discarded-qualifiers" "-Winline" "-Wpointer-arith" "-Wredundant-decls" @@ -57,4 +57,3 @@ endif(CMAKE_COMPILER_IS_GNUCC) string(REPLACE ";" " " ITC_C_FLAGS "${ITC_C_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ITC_C_FLAGS}") - diff --git a/components/arducam b/components/arducam index 965325e4..f9a9ad6c 160000 --- a/components/arducam +++ b/components/arducam @@ -1 +1 @@ -Subproject commit 965325e4fdb92584e6c01cbc3cd271948cb1ee00 +Subproject commit f9a9ad6cc80555a4b3c3decc5fe99929e62533e8 diff --git a/components/generic_reaction_wheel b/components/generic_reaction_wheel index 5c5d8e4c..1ed55e38 160000 --- a/components/generic_reaction_wheel +++ b/components/generic_reaction_wheel @@ -1 +1 @@ -Subproject commit 5c5d8e4ce5620fc35bd4e734ddf4ca456a7f4550 +Subproject commit 1ed55e380999f66dbf38bdafec62bf7c3c1721b4 diff --git a/components/sample b/components/sample index 2679328b..167cae9b 160000 --- a/components/sample +++ b/components/sample @@ -1 +1 @@ -Subproject commit 2679328badf9cbd21ebf4a4f7f6eaeda87de4910 +Subproject commit 167cae9b78a066205d18f8a7111e62b1f98e325b diff --git a/fsw/apps/hwlib b/fsw/apps/hwlib index e827eb5c..122d3121 160000 --- a/fsw/apps/hwlib +++ b/fsw/apps/hwlib @@ -1 +1 @@ -Subproject commit e827eb5c43bf2662d7c2ff96060e8362bc1fa014 +Subproject commit 122d31217568762b8be83624e23878e055dba2e0 diff --git a/fsw/components/ComponentSettings.cmake b/fsw/components/ComponentSettings.cmake deleted file mode 100644 index a148ac52..00000000 --- a/fsw/components/ComponentSettings.cmake +++ /dev/null @@ -1,60 +0,0 @@ -if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - message(STATUS "Clang detected. ProjectSettings will invoke GCC Compile Flags") - set(CLANG_OVERRIDE True) -endif() - -include(CheckCCompilerFlag) - -set(ITC_C_FLAGS "${ITC_C_FLAGS}" - #"-std=c99" - "-Wall" - "-Wextra" - #"-Wpedantic" # should discuss this - "-Werror" - #"-Werror=format" - "-Wformat=2" - #"-Wcast-align" # should discuss this - #"-Wcast-qual" - -Wno-discarded-qualifiers - "-Winline" - "-Wpointer-arith" - "-Wredundant-decls" - "-Wwrite-strings" - "-Wuninitialized" - "-Winit-self" - "-Wswitch-default" - #"-Wsuggest-attribute" - #"-Wsuggest-attribute=const" - #"-Wsuggest-attribute=noreturn" - "-Wfloat-equal" - "-Wno-packed" # should discuss this - "-Wno-unused-parameter" # should discuss this - "-Wno-unused-variable" # should discuss this - "-Wvariadic-macros" - "-Wvla" - "-Wstrict-overflow" - "-Wstrict-overflow=5" - "-fdiagnostics-show-option" - #"-Wstack-protector" - #"-fstack-protector-all" - #"-fsanitize=address" - #"-fstack-check" - #"-Weverything" - #"-pedantic-errors" - ) - -if(${TGTNAME} STREQUAL cpu1) - set(ITC_C_FLAGS "${ITC_C_FLAGS}" - "-Wformat=0") -endif() - -# Not Compatable with Clang -if(CMAKE_COMPILER_IS_GNUCC) - set(ITC_C_FLAGS "${ITC_C_FLAGS}" - "-Wlogical-op" - "-Wunsafe-loop-optimizations") -endif(CMAKE_COMPILER_IS_GNUCC) - -string(REPLACE ";" " " ITC_C_FLAGS "${ITC_C_FLAGS}") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ITC_C_FLAGS}") - diff --git a/fsw/nos3_defs/cpu1_cfe_es_startup.scr b/fsw/nos3_defs/cpu1_cfe_es_startup.scr index 0676ea7b..39b94eb1 100644 --- a/fsw/nos3_defs/cpu1_cfe_es_startup.scr +++ b/fsw/nos3_defs/cpu1_cfe_es_startup.scr @@ -1,18 +1,21 @@ CFE_LIB, /cf/cfs_lib.so, CFS_LibInit, CFS_LIB, 0, 0, 0x0, 0; +CFE_LIB, /cf/hwlib.so, hwlib_Init, HW_LIB, 0, 0, 0x0, 0; +CFE_LIB, /cf/io_lib.so, IO_LibInit, IO_LIB, 0, 0, 0x0, 0; + CFE_APP, /cf/sch.so, SCH_AppMain, SCH, 40, 8192, 0x0, 0; -CFE_LIB, /cf/io_lib.so, IO_LibInit, IO_LIB, 0, 0, 0x0, 0; -CFE_APP, /cf/ci.so, CI_AppMain, CI, 52, 16384, 0x0, 0; -CFE_APP, /cf/to.so, TO_AppMain, TO, 53, 16384, 0x0, 0; +CFE_APP, /cf/ci_lab.so, CI_Lab_AppMain, CI_LAB, 50, 8192, 0x0, 0; +CFE_APP, /cf/to_lab.so, TO_Lab_AppMain, TO_LAB, 50, 8192, 0x0, 0; -CFE_APP, /cf/lc.so, LC_AppMain, LC, 57, 16384, 0x0, 0; -CFE_APP, /cf/sc.so, SC_AppMain, SC, 62, 16384, 0x0, 0; +CFE_APP, /cf/ci.so, CI_AppMain, CI, 50, 16384, 0x0, 0; +CFE_APP, /cf/to.so, TO_AppMain, TO, 50, 16384, 0x0, 0; -CFE_LIB, /cf/hwlib.so, hwlib_Init, HW_LIB, 0, 0, 0x0, 0; +CFE_APP, /cf/lc.so, LC_AppMain, LC, 50, 16384, 0x0, 0; +CFE_APP, /cf/sc.so, SC_AppMain, SC, 50, 16384, 0x0, 0; -CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 69, 8192, 0x0, 0; -CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 70, 8192, 0x0, 0; -CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; +CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 50, 8192, 0x0, 0; +CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 50, 8192, 0x0, 0; +CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 50, 8192, 0x0, 0; ! CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; diff --git a/fsw/nos3_defs/tables/to_config.c b/fsw/nos3_defs/tables/to_config.c index f94c5ed8..bd7569a4 100644 --- a/fsw/nos3_defs/tables/to_config.c +++ b/fsw/nos3_defs/tables/to_config.c @@ -62,8 +62,7 @@ extern "C" { /* ** Component Include Files */ -//#include "eps_msgids.h" -#include "nav_msgids.h" +#include "cam_msgids.h" #include "generic_reaction_wheel_msgids.h" #include "sample_app_msgids.h" @@ -117,14 +116,14 @@ TO_ConfigTable_t to_ConfigTable = {SCH_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {CI_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {TO_DATA_TYPE_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {NAV_SEND_HK_TLM, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {CAM_HK_TLM_MID, {0,0}, 64, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {CAM_EXP_TLM_MID, {0,0}, 64, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {GENERIC_RW_APP_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_SEND_DEV_HK_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_SEND_DEV_DATA_MID, {0,0}, 64, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, /* 30 - 39 */ {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, diff --git a/fsw/nos3_defs/targets.cmake b/fsw/nos3_defs/targets.cmake index 179844ea..65d25f0f 100644 --- a/fsw/nos3_defs/targets.cmake +++ b/fsw/nos3_defs/targets.cmake @@ -107,17 +107,14 @@ SET(APPLICATION_LIST #mm sc sch - #sch_lab to #to_lab # # Components # - sample - novatel_oem615 arducam - #clyde_eps generic_reaction_wheel + sample ) # Create Application Platform Include List diff --git a/fsw/psp b/fsw/psp index b80b2c3f..ed774cd7 160000 --- a/fsw/psp +++ b/fsw/psp @@ -1 +1 @@ -Subproject commit b80b2c3f78bd7342ca5c0afb17a1a2967f3d0bc4 +Subproject commit ed774cd7ed20dbe7f25c430576e59cac38a45220 diff --git a/gsw/cosmos b/gsw/cosmos index 3af4a246..e80353df 160000 --- a/gsw/cosmos +++ b/gsw/cosmos @@ -1 +1 @@ -Subproject commit 3af4a246f959f8450377cb309e0e7092b37b79b8 +Subproject commit e80353dfdd64b44c016a9d85a1784280bf3102a0 diff --git a/gsw/scripts/launch.sh b/gsw/scripts/launch.sh index 8c990b6d..77584095 100644 --- a/gsw/scripts/launch.sh +++ b/gsw/scripts/launch.sh @@ -33,10 +33,9 @@ cd $SIM_BIN gnome-terminal --tab --title="NOS Engine Standalone Server" -- /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json gnome-terminal --tab --title="NOS Time Driver" -- $SIM_BIN/nos-time-driver gnome-terminal --tab --title="Simulator Terminal" -- $SIM_BIN/nos3-simulator-terminal -gnome-terminal --tab --title='Sample Simulator' -- $SIM_BIN/nos3-sample-simulator gnome-terminal --tab --title='CAM Simulator' -- $SIM_BIN/nos3-cam-simulator -gnome-terminal --tab --title='GPS Simulator' -- $SIM_BIN/nos3-gps-simulator gnome-terminal --tab --title='RW Simulator' -- $SIM_BIN/nos3-generic-reactionwheel-simulator +gnome-terminal --tab --title='Sample Simulator' -- $SIM_BIN/nos3-sample-simulator gnome-terminal --tab --title="truth42sim" -- $SIM_BIN/nos3-single-simulator truth42sim echo "COSMOS Ground Station..." diff --git a/gsw/scripts/real_clean.sh b/gsw/scripts/real_clean.sh index 78ce4eee..fc43f722 100644 --- a/gsw/scripts/real_clean.sh +++ b/gsw/scripts/real_clean.sh @@ -9,8 +9,8 @@ BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) echo "Cleaning up all COSMOS files..." yes | rm $BASE_DIR/gsw/cosmos/Gemfile 2> /dev/null yes | rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null -yes | rm $BASE_DIR/gsw/cosmos/outputs/logs/20* 2> /dev/null -yes | rm $BASE_DIR/gsw/cosmos/outputs/tmp/marshal_* 2> /dev/null +yes | rm -r $BASE_DIR/gsw/cosmos/COMPONENTS 2> /dev/null +yes | rm -r $BASE_DIR/gsw/cosmos/outputs 2> /dev/null yes | rm $BASE_DIR/minicom.cap 2> /dev/null exit 0 diff --git a/gsw/scripts/stop.sh b/gsw/scripts/stop.sh index bddcf119..ee785c19 100644 --- a/gsw/scripts/stop.sh +++ b/gsw/scripts/stop.sh @@ -11,7 +11,9 @@ killall -q -r -9 core-cpu* # COSMOS killall -q -9 ruby -rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null +yes | rm $BASE_DIR/gsw/cosmos/Gemfile 2> /dev/null +yes | rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null +yes | rm -r $BASE_DIR/gsw/cosmos/COMPONENTS 2> /dev/null # NOS3 killall -q -r -9 'nos3.*simulator.*' diff --git a/sims/CMakeLists.txt b/sims/CMakeLists.txt index 2d2e8c41..114b09a9 100644 --- a/sims/CMakeLists.txt +++ b/sims/CMakeLists.txt @@ -35,12 +35,14 @@ include(MissionSettings.cmake) add_subdirectory(sim_common) add_subdirectory(nos_time_driver) add_subdirectory(sim_terminal) +add_subdirectory(truth_42_sim) # Add Component Sims -FILE(GLOB _ALL_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*_sim) +FILE(GLOB _ALL_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../components/*) FOREACH(_FILE ${_ALL_FILES}) IF(IS_DIRECTORY ${_FILE}) - add_subdirectory(${_FILE}) + get_filename_component(SIM_NAME ${_FILE} NAME) + add_subdirectory(${_FILE}/sim ./${SIM_NAME}) ENDIF() ENDFOREACH() From ee9031df2f591865549a9b6aff5e0bcac731cea2 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Wed, 19 Oct 2022 13:37:32 -0400 Subject: [PATCH 09/34] [nasa/nos3#74] Added GPS back in new components folder; --- .gitmodules | 4 ++++ components/novatel_oem615 | 1 + 2 files changed, 5 insertions(+) create mode 160000 components/novatel_oem615 diff --git a/.gitmodules b/.gitmodules index 7dbf66d8..2a71c343 100644 --- a/.gitmodules +++ b/.gitmodules @@ -88,3 +88,7 @@ path = components/sample url = https://github.com/nasa-itc/sample.git branch = master +[submodule "components/novatel_oem615"] + path = components/novatel_oem615 + url = https://github.com/nasa-itc/novatel_oem615.git + branch = master diff --git a/components/novatel_oem615 b/components/novatel_oem615 new file mode 160000 index 00000000..dd668880 --- /dev/null +++ b/components/novatel_oem615 @@ -0,0 +1 @@ +Subproject commit dd6688800ccab96482414a5486b49d4123ec82cf From 9c17d5c7e3ca8e169dcf1f81356d129070e8a59f Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Thu, 20 Oct 2022 08:26:56 -0400 Subject: [PATCH 10/34] [nasa/nos3#74] Updated GPS and completed various merged into `dev` branches of submodules; --- components/arducam | 2 +- components/generic_reaction_wheel | 2 +- components/novatel_oem615 | 2 +- fsw/apps/hwlib | 2 +- fsw/nos3_defs/cpu1_cfe_es_startup.scr | 11 ++---- fsw/nos3_defs/tables/sch_def_msgtbl.c | 46 +++++++------------------ fsw/nos3_defs/tables/sch_def_schtbl.c | 48 +++++++++++++-------------- fsw/nos3_defs/tables/to_config.c | 11 +++--- fsw/nos3_defs/targets.cmake | 1 + fsw/psp | 2 +- gsw/cosmos | 2 +- gsw/scripts/launch.sh | 13 ++++---- sims/cfg/InOut/Inp_Sim.txt | 2 +- 13 files changed, 59 insertions(+), 85 deletions(-) diff --git a/components/arducam b/components/arducam index f9a9ad6c..38dea074 160000 --- a/components/arducam +++ b/components/arducam @@ -1 +1 @@ -Subproject commit f9a9ad6cc80555a4b3c3decc5fe99929e62533e8 +Subproject commit 38dea0741bd586d897ce6651efa5064990f69868 diff --git a/components/generic_reaction_wheel b/components/generic_reaction_wheel index 1ed55e38..99404be1 160000 --- a/components/generic_reaction_wheel +++ b/components/generic_reaction_wheel @@ -1 +1 @@ -Subproject commit 1ed55e380999f66dbf38bdafec62bf7c3c1721b4 +Subproject commit 99404be119c80a57d06f5a187690b74c8be41384 diff --git a/components/novatel_oem615 b/components/novatel_oem615 index dd668880..720c21a2 160000 --- a/components/novatel_oem615 +++ b/components/novatel_oem615 @@ -1 +1 @@ -Subproject commit dd6688800ccab96482414a5486b49d4123ec82cf +Subproject commit 720c21a224c682a597a06d6c17dedc249be4ad5b diff --git a/fsw/apps/hwlib b/fsw/apps/hwlib index 122d3121..65d0eb25 160000 --- a/fsw/apps/hwlib +++ b/fsw/apps/hwlib @@ -1 +1 @@ -Subproject commit 122d31217568762b8be83624e23878e055dba2e0 +Subproject commit 65d0eb25ce0e07636b30f5f2b0a8e4d30270a7af diff --git a/fsw/nos3_defs/cpu1_cfe_es_startup.scr b/fsw/nos3_defs/cpu1_cfe_es_startup.scr index 39b94eb1..0e3a92f7 100644 --- a/fsw/nos3_defs/cpu1_cfe_es_startup.scr +++ b/fsw/nos3_defs/cpu1_cfe_es_startup.scr @@ -3,7 +3,6 @@ CFE_LIB, /cf/hwlib.so, hwlib_Init, HW_LIB, CFE_LIB, /cf/io_lib.so, IO_LibInit, IO_LIB, 0, 0, 0x0, 0; CFE_APP, /cf/sch.so, SCH_AppMain, SCH, 40, 8192, 0x0, 0; - CFE_APP, /cf/ci_lab.so, CI_Lab_AppMain, CI_LAB, 50, 8192, 0x0, 0; CFE_APP, /cf/to_lab.so, TO_Lab_AppMain, TO_LAB, 50, 8192, 0x0, 0; @@ -14,18 +13,13 @@ CFE_APP, /cf/lc.so, LC_AppMain, LC, CFE_APP, /cf/sc.so, SC_AppMain, SC, 50, 16384, 0x0, 0; CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 50, 8192, 0x0, 0; -CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 50, 8192, 0x0, 0; -CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 50, 8192, 0x0, 0; - -! +CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; +CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 50, 8192, 0x0, 0; ! ! ** The software will not try to parse anything after the first '!' character it sees. ** ! -! -! CFE_APP, /cf/sample.so, sample_AppMain, SAMPLE, 50, 8192, 0x0, 0; -! ! CFE_APP, /cf/clyde_eps.so, clyde_eps_AppMain, EPS, 71, 8192, 0x0, 0; ! CFE_APP, /cf/cs.so, CS_AppMain, CS, 55, 16384, 0x0, 0; ! CFE_APP, /cf/cf.so, CF_AppMain, CF, 54, 16384, 0x0, 0; @@ -65,4 +59,3 @@ CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, ! vxWorks = .o ( ci.o ) ! RTEMS with S-record Loader = .s3r ( ci.s3r ) ! RTEMS with CEXP Loader = .o ( ci.o ) - diff --git a/fsw/nos3_defs/tables/sch_def_msgtbl.c b/fsw/nos3_defs/tables/sch_def_msgtbl.c index 10f9506c..bb16b536 100644 --- a/fsw/nos3_defs/tables/sch_def_msgtbl.c +++ b/fsw/nos3_defs/tables/sch_def_msgtbl.c @@ -43,32 +43,10 @@ /* ** Component Include Files */ - -/************************************************************************* -** -** Macro definitions -** -**************************************************************************/ - -/* -** (none) -*/ - -/************************************************************************* -** -** Type definitions -** -**************************************************************************/ - -/* -** (none) -*/ - -/************************************************************************* -** -** Exported data -** -**************************************************************************/ +#include "cam_msgids.h" +#include "generic_reaction_wheel_msgids.h" +#include "nav_msgids.h" +#include "sample_app_msgids.h" /* ** Message Table entry map... @@ -204,8 +182,8 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = /* command ID #39 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, - /* command ID #40 */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + /* command ID #40 - CAM HK */ + { { CFE_MAKE_BIG16(CAM_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #41 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #42 */ @@ -214,8 +192,8 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #44 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, - /* command ID #45 */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + /* command ID #45 - RW HK */ + { { CFE_MAKE_BIG16(GENERIC_RW_APP_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #46 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #47 */ @@ -225,8 +203,8 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = /* command ID #49 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, - /* command ID #50 */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + /* command ID #50 - GPS HK */ + { { CFE_MAKE_BIG16(NAV_CMD_REQ_NAV_SCH_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #51 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #52 */ @@ -235,8 +213,8 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #54 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, - /* command ID #55 */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + /* command ID #55 - Sample HK */ + { { CFE_MAKE_BIG16(SAMPLE_APP_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #56 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #57 */ diff --git a/fsw/nos3_defs/tables/sch_def_schtbl.c b/fsw/nos3_defs/tables/sch_def_schtbl.c index 6df56449..d0fee6cd 100644 --- a/fsw/nos3_defs/tables/sch_def_schtbl.c +++ b/fsw/nos3_defs/tables/sch_def_schtbl.c @@ -104,7 +104,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #2 */ + /* slot #2 - ADCS */ { 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}, @@ -126,9 +126,9 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #5 */ + /* slot #5 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 40, SCH_GROUP_CFE_HK }, /* CAM 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}, @@ -178,7 +178,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #12 */ + /* slot #12 - ADCS */ { 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}, @@ -200,9 +200,9 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #15 */ + /* slot #15 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 45, SCH_GROUP_CFE_HK }, /* RW 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}, @@ -253,7 +253,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #22 */ + /* slot #22 - ADCS */ { 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}, @@ -275,9 +275,9 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #25 */ + /* slot #25 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 50, SCH_GROUP_CFE_HK }, /* GPS 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}, @@ -327,7 +327,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #32 */ + /* slot #32 - ADCS */ { 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}, @@ -349,9 +349,9 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #35 */ + /* slot #35 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 55, SCH_GROUP_CFE_HK }, /* Sample 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}, @@ -402,7 +402,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #42 */ + /* slot #42 - ADCS */ { 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}, @@ -423,7 +423,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #45 */ + /* slot #45 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, @@ -476,7 +476,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #52 */ + /* slot #52 - ADCS */ { 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}, @@ -497,7 +497,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #55 */ + /* slot #55 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, @@ -548,7 +548,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #62 */ + /* slot #62 - ADCS */ { 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}, @@ -569,7 +569,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #65 */ + /* slot #65 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, @@ -620,7 +620,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #72 */ + /* slot #72 - ADCS */ { 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}, @@ -641,7 +641,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #75 */ + /* slot #75 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, @@ -692,7 +692,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #82 */ + /* slot #82 - ADCS */ { 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}, @@ -713,7 +713,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #85 */ + /* slot #85 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, @@ -766,7 +766,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #92 */ + /* slot #92 - ADCS */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 4, 2, 18, SCH_GROUP_CFS_HK }, */ /* HK Send Combined HK '3' */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 4, 3, 19, SCH_GROUP_CFS_HK }, */ /* HK Send Combined HK '4' */ { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, @@ -789,7 +789,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, - /* slot #95 */ + /* slot #95 - Component HK */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 24, SCH_GROUP_MD_WAKEUP }, */ /* MD Wakeup */ { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, diff --git a/fsw/nos3_defs/tables/to_config.c b/fsw/nos3_defs/tables/to_config.c index bd7569a4..0bab33a5 100644 --- a/fsw/nos3_defs/tables/to_config.c +++ b/fsw/nos3_defs/tables/to_config.c @@ -64,6 +64,7 @@ extern "C" { */ #include "cam_msgids.h" #include "generic_reaction_wheel_msgids.h" +#include "nav_msgids.h" #include "sample_app_msgids.h" /* @@ -116,13 +117,13 @@ TO_ConfigTable_t to_ConfigTable = {SCH_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {CI_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {TO_DATA_TYPE_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {CAM_HK_TLM_MID, {0,0}, 64, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {CAM_EXP_TLM_MID, {0,0}, 64, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {GENERIC_RW_APP_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {CAM_HK_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {CAM_EXP_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {GENERIC_RW_APP_HK_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {NAV_SEND_HK_TLM, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_SEND_DEV_HK_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {SAMPLE_APP_SEND_DEV_DATA_MID, {0,0}, 64, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, + {SAMPLE_APP_SEND_DEV_DATA_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, /* 30 - 39 */ diff --git a/fsw/nos3_defs/targets.cmake b/fsw/nos3_defs/targets.cmake index 65d25f0f..58bd5da7 100644 --- a/fsw/nos3_defs/targets.cmake +++ b/fsw/nos3_defs/targets.cmake @@ -114,6 +114,7 @@ SET(APPLICATION_LIST # arducam generic_reaction_wheel + novatel_oem615 sample ) diff --git a/fsw/psp b/fsw/psp index ed774cd7..589fa7e8 160000 --- a/fsw/psp +++ b/fsw/psp @@ -1 +1 @@ -Subproject commit ed774cd7ed20dbe7f25c430576e59cac38a45220 +Subproject commit 589fa7e8100de3d6c57d065ab7a058475759d820 diff --git a/gsw/cosmos b/gsw/cosmos index e80353df..7e29d7d0 160000 --- a/gsw/cosmos +++ b/gsw/cosmos @@ -1 +1 @@ -Subproject commit e80353dfdd64b44c016a9d85a1784280bf3102a0 +Subproject commit 7e29d7d0b273a06b9729ff6e860f8725953c66d9 diff --git a/gsw/scripts/launch.sh b/gsw/scripts/launch.sh index 77584095..e2c88930 100644 --- a/gsw/scripts/launch.sh +++ b/gsw/scripts/launch.sh @@ -30,13 +30,14 @@ gnome-terminal --tab --title="42 Dynamic Simulator" -- /opt/nos3/42/42 NOS3InOut echo "Simulators..." cd $SIM_BIN -gnome-terminal --tab --title="NOS Engine Standalone Server" -- /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json +gnome-terminal --tab --title="NOS Engine Server" -- /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json gnome-terminal --tab --title="NOS Time Driver" -- $SIM_BIN/nos-time-driver -gnome-terminal --tab --title="Simulator Terminal" -- $SIM_BIN/nos3-simulator-terminal -gnome-terminal --tab --title='CAM Simulator' -- $SIM_BIN/nos3-cam-simulator -gnome-terminal --tab --title='RW Simulator' -- $SIM_BIN/nos3-generic-reactionwheel-simulator -gnome-terminal --tab --title='Sample Simulator' -- $SIM_BIN/nos3-sample-simulator -gnome-terminal --tab --title="truth42sim" -- $SIM_BIN/nos3-single-simulator truth42sim +gnome-terminal --tab --title="NOS Terminal" -- $SIM_BIN/nos3-simulator-terminal +gnome-terminal --tab --title='CAM Sim' -- $SIM_BIN/nos3-cam-simulator +gnome-terminal --tab --title='RW Sim' -- $SIM_BIN/nos3-generic-reactionwheel-simulator +gnome-terminal --tab --title='GPS Sim' -- $SIM_BIN/nos3-gps-simulator +gnome-terminal --tab --title='Sample Sim' -- $SIM_BIN/nos3-sample-simulator +gnome-terminal --tab --title="42 Truth Sim" -- $SIM_BIN/nos3-single-simulator truth42sim echo "COSMOS Ground Station..." cd $BASE_DIR/gsw/cosmos diff --git a/sims/cfg/InOut/Inp_Sim.txt b/sims/cfg/InOut/Inp_Sim.txt index 8f8fa7db..1e116d57 100644 --- a/sims/cfg/InOut/Inp_Sim.txt +++ b/sims/cfg/InOut/Inp_Sim.txt @@ -1,7 +1,7 @@ <<<<<<<<<<<<<<<<< 42: The Mostly Harmless Simulator >>>>>>>>>>>>>>>>> ************************** Simulation Control ************************** NOS3 ! Time Mode (FAST, REAL, EXTERNAL, or NOS3) -15000.0 0.1 ! Sim Duration, Step Size [sec] +86400.0 0.1 ! Sim Duration, Step Size [sec] 1.0 ! File Output Interval [sec] TRUE ! Graphics Front End? Inp_Cmd.txt ! Command Script File Name From 6ca2c24285afebf51a7dbf36cbc580c1f016f1b7 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Thu, 20 Oct 2022 12:43:25 -0400 Subject: [PATCH 11/34] [nasa/nos3#92] Added component template submodule and updated sample pointer; --- .gitmodules | 4 ++++ components/sample | 2 +- components/template | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) create mode 160000 components/template diff --git a/.gitmodules b/.gitmodules index 2a71c343..8d423625 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,3 +92,7 @@ path = components/novatel_oem615 url = https://github.com/nasa-itc/novatel_oem615.git branch = master +[submodule "components/template"] + path = components/template + url = https://github.com/nasa-itc/component_template.git + branch = main diff --git a/components/sample b/components/sample index 167cae9b..4cf9740a 160000 --- a/components/sample +++ b/components/sample @@ -1 +1 @@ -Subproject commit 167cae9b78a066205d18f8a7111e62b1f98e325b +Subproject commit 4cf9740abfb562d2bac1cba79d3131753e576f5d diff --git a/components/template b/components/template new file mode 160000 index 00000000..bd02d0a2 --- /dev/null +++ b/components/template @@ -0,0 +1 @@ +Subproject commit bd02d0a28a95de9daf88a7fd12881301754b20b7 From 5d98b635cea30dac57b6e27cae387b3a34e0474d Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Thu, 20 Oct 2022 13:06:17 -0400 Subject: [PATCH 12/34] https://github.com/nasa/nos3/issues/94 - Reduce length of the application shared object name to be less than the OSAL allowed maximum of 20 characters. --- components/generic_reaction_wheel | 2 +- fsw/nos3_defs/cpu1_cfe_es_startup.scr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/generic_reaction_wheel b/components/generic_reaction_wheel index 99404be1..3aea8212 160000 --- a/components/generic_reaction_wheel +++ b/components/generic_reaction_wheel @@ -1 +1 @@ -Subproject commit 99404be119c80a57d06f5a187690b74c8be41384 +Subproject commit 3aea8212c285fa5d65cab9447f330e2deb0b1492 diff --git a/fsw/nos3_defs/cpu1_cfe_es_startup.scr b/fsw/nos3_defs/cpu1_cfe_es_startup.scr index 0e3a92f7..82d2a27b 100644 --- a/fsw/nos3_defs/cpu1_cfe_es_startup.scr +++ b/fsw/nos3_defs/cpu1_cfe_es_startup.scr @@ -13,7 +13,7 @@ CFE_APP, /cf/lc.so, LC_AppMain, LC, CFE_APP, /cf/sc.so, SC_AppMain, SC, 50, 16384, 0x0, 0; CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 50, 8192, 0x0, 0; -CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; +CFE_APP, /cf/generic_rw.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 50, 8192, 0x0, 0; From 00227be30c0a5d32def46d59915618a2574ad79d Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Thu, 20 Oct 2022 14:46:34 -0400 Subject: [PATCH 13/34] [nasa/nos3#92] Updated sims/CMakeLists.txt to ignore ./component/template; --- components/template | 2 +- sims/CMakeLists.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/template b/components/template index bd02d0a2..791efffe 160000 --- a/components/template +++ b/components/template @@ -1 +1 @@ -Subproject commit bd02d0a28a95de9daf88a7fd12881301754b20b7 +Subproject commit 791efffe0537cc426e16bcceaeaf5465ae3767c4 diff --git a/sims/CMakeLists.txt b/sims/CMakeLists.txt index 114b09a9..a00d518c 100644 --- a/sims/CMakeLists.txt +++ b/sims/CMakeLists.txt @@ -42,7 +42,9 @@ FILE(GLOB _ALL_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../components/*) FOREACH(_FILE ${_ALL_FILES}) IF(IS_DIRECTORY ${_FILE}) get_filename_component(SIM_NAME ${_FILE} NAME) - add_subdirectory(${_FILE}/sim ./${SIM_NAME}) + IF(NOT SIM_NAME STREQUAL "template") + add_subdirectory(${_FILE}/sim ./${SIM_NAME}) + ENDIF() ENDIF() ENDFOREACH() From d8f113b17a73af35ff0df72f3377a4bb7a244985 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Fri, 21 Oct 2022 08:40:05 -0400 Subject: [PATCH 14/34] https://github.com/nasa/nos3/issues/83 - Submodule pointer update: Add the ability for COSMOS to be on a different machine (not localhost) than the truth sim. --- sims/truth_42_sim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sims/truth_42_sim b/sims/truth_42_sim index 5874558b..ae0681c0 160000 --- a/sims/truth_42_sim +++ b/sims/truth_42_sim @@ -1 +1 @@ -Subproject commit 5874558b6eb37fc89d4bef743742057adf1c46f6 +Subproject commit ae0681c0b1ad0aeab48d03303a5820f73870a7a7 From 278da2d1d62ebf5ae6a6d364d7867d429bb46939 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Fri, 21 Oct 2022 08:45:00 -0400 Subject: [PATCH 15/34] https://github.com/nasa/nos3/issues/83 - Enable 42 map, orrery, and unit sphere windows. --- sims/cfg/InOut/Inp_Graphics.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sims/cfg/InOut/Inp_Graphics.txt b/sims/cfg/InOut/Inp_Graphics.txt index 48044ac4..142ba5b5 100644 --- a/sims/cfg/InOut/Inp_Graphics.txt +++ b/sims/cfg/InOut/Inp_Graphics.txt @@ -1,9 +1,9 @@ <<<<<<<<<<<<<<<< 42 Graphics Configuration File >>>>>>>>>>>>>>>>>>> 5.0 ! GL Output Interval [sec] Skymap09.txt ! Star Catalog File Name -FALSE ! Map Window Exists -FALSE ! Orrery Window Exists -FALSE ! Unit Sphere Window Exists +TRUE ! Map Window Exists +TRUE ! Orrery Window Exists +TRUE ! Unit Sphere Window Exists ******************************* POV ********************************* FALSE ! Pause at Startup TRACK_HOST ! POV Mode (TRACK_HOST, TRACK_TARGET, FIXED_IN_HOST) From aca837227ab9dbf2c83d3f192e8b9263c3644d0d Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Fri, 21 Oct 2022 08:50:00 -0400 Subject: [PATCH 16/34] https://github.com/nasa/nos3/issues/83 - Increase graphics window update period. --- sims/cfg/InOut/Inp_Graphics.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sims/cfg/InOut/Inp_Graphics.txt b/sims/cfg/InOut/Inp_Graphics.txt index 142ba5b5..95dde6b7 100644 --- a/sims/cfg/InOut/Inp_Graphics.txt +++ b/sims/cfg/InOut/Inp_Graphics.txt @@ -1,5 +1,5 @@ <<<<<<<<<<<<<<<< 42 Graphics Configuration File >>>>>>>>>>>>>>>>>>> -5.0 ! GL Output Interval [sec] +1.0 ! GL Output Interval [sec] Skymap09.txt ! Star Catalog File Name TRUE ! Map Window Exists TRUE ! Orrery Window Exists From a4f686d9cfbdc836fa957197099871a49d01437e Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Wed, 26 Oct 2022 13:16:10 -0400 Subject: [PATCH 17/34] https://github.com/nasa/nos3/issues/78 - Created docker_launch.sh that uses docker for all the simulators and NOS engine server. Also created stop script. --- gsw/scripts/docker_launch.sh | 53 ++++++++++++++++++++++++++++++++++++ gsw/scripts/docker_stop.sh | 37 +++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 gsw/scripts/docker_launch.sh create mode 100644 gsw/scripts/docker_stop.sh diff --git a/gsw/scripts/docker_launch.sh b/gsw/scripts/docker_launch.sh new file mode 100644 index 00000000..8b42793f --- /dev/null +++ b/gsw/scripts/docker_launch.sh @@ -0,0 +1,53 @@ +#!/bin/bash -i +# +# Convenience script for NOS3 development +# + +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) +FSW_BIN=$BASE_DIR/fsw/build/exe/cpu1 +SIM_DIR=$BASE_DIR/sims/build +SIM_BIN=$SIM_DIR/bin +SIMS=$(cd $SIM_BIN; ls nos3*simulator) + +# Debugging +#echo "Script directory = " $SCRIPT_DIR +#echo "Base directory = " $BASE_DIR +#echo "FSW directory = " $FSW_BIN +#echo "Sim directory = " $SIM_BIN +#echo "Sim list = " $SIMS +#exit + +#echo "Make /tmp folders..." +#mkdir /tmp/data 2> /dev/null +#mkdir /tmp/data/hk 2> /dev/null +#mkdir /tmp/uplink 2> /dev/null + +echo "42..." +cd /opt/nos3/42/ +rm -rf NOS3InOut +cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut +gnome-terminal --tab --title="42 Dynamic Simulator" -- /opt/nos3/42/42 NOS3InOut + +echo "Simulators..." +#cd $SIM_BIN +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN -t nos3 /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos-time-driver +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-simulator-terminal +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-cam-simulator +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-generic-reactionwheel-simulator +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-gps-simulator +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-sample-simulator +docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-single-simulator truth42sim + +echo "COSMOS Ground Station..." +cd $BASE_DIR/gsw/cosmos +export MISSION_NAME=$(echo "NOS3") +export PROCESSOR_ENDIANNESS=$(echo "LITTLE_ENDIAN") +ruby Launcher -c nos3_launcher.txt --system nos3_system.txt & + +sleep 5 + +echo "Flight Software..." +cd $FSW_BIN +gnome-terminal --title="NOS3 Flight Software" -- $FSW_BIN/core-cpu1 -R PO & diff --git a/gsw/scripts/docker_stop.sh b/gsw/scripts/docker_stop.sh new file mode 100644 index 00000000..2f2d0e99 --- /dev/null +++ b/gsw/scripts/docker_stop.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# Convenience script for NOS3 development +# + +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) + +# cFS +killall -q -r -9 core-cpu* + +# COSMOS +killall -q -9 ruby +yes | rm $BASE_DIR/gsw/cosmos/Gemfile 2> /dev/null +yes | rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null +yes | rm -r $BASE_DIR/gsw/cosmos/COMPONENTS 2> /dev/null + +# NOS3 + +# NOS3 GPIO +rm -rf /tmp/gpio_fake + +# NOS3 Stored HK +rm -rf $BASE_DIR/fsw/build/exe/cpu1/scratch/* + +# 42 +killall -q 42 +rm -rf /opt/nos3/42/NOS3InOut +rm -rf /tmp/gpio* + +# Docker +for i in $(docker container ls -q); do + docker container kill $i +done +docker container prune -f + +exit 0 \ No newline at end of file From b9c52e9e44840007eb599bc3771d8d79ea487d49 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Fri, 28 Oct 2022 10:49:42 -0400 Subject: [PATCH 18/34] https://github.com/nasa/nos3/issues/78 - Run 42 in nos3 image container. 42 is part of the container image and only the NOS3InOut directory is volume mounted in to the container. --- gsw/scripts/docker_launch.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gsw/scripts/docker_launch.sh b/gsw/scripts/docker_launch.sh index 8b42793f..6b627a2d 100644 --- a/gsw/scripts/docker_launch.sh +++ b/gsw/scripts/docker_launch.sh @@ -27,7 +27,8 @@ echo "42..." cd /opt/nos3/42/ rm -rf NOS3InOut cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut -gnome-terminal --tab --title="42 Dynamic Simulator" -- /opt/nos3/42/42 NOS3InOut +xhost +local:* +docker run -d -e DISPLAY=$DISPLAY -v /opt/nos3/42/NOS3InOut:/opt/nos3/42/NOS3InOut -v /tmp/.X11-unix:/tmp/.X11-unix:ro --network=host -w /opt/nos3/42 -t nos3 /opt/nos3/42/42 NOS3InOut echo "Simulators..." #cd $SIM_BIN From a5c17bffaba68dd20dc6ae39778d5d56a30218f4 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Mon, 31 Oct 2022 11:35:15 -0400 Subject: [PATCH 19/34] https://github.com/nasa/nos3/issues/78 - Tweaks to launch and stop scripts; new convenience build script so FSW/Sims get built by docker container, for docker container to run. --- gsw/scripts/docker_build.sh | 10 ++++++++++ gsw/scripts/docker_launch.sh | 1 + gsw/scripts/docker_stop.sh | 9 ++++----- 3 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 gsw/scripts/docker_build.sh diff --git a/gsw/scripts/docker_build.sh b/gsw/scripts/docker_build.sh new file mode 100644 index 00000000..1a97e15e --- /dev/null +++ b/gsw/scripts/docker_build.sh @@ -0,0 +1,10 @@ +#!/bin/bash -i +# +# Convenience script for NOS3 development +# Use with the Dockerfile in the deployment repository +# + +SCRIPT_DIR=$(cd `dirname $0` && pwd) +BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) + +docker run --rm -v $BASE_DIR:$BASE_DIR -w $BASE_DIR -it nos3 make clean all diff --git a/gsw/scripts/docker_launch.sh b/gsw/scripts/docker_launch.sh index 6b627a2d..f9b111fe 100644 --- a/gsw/scripts/docker_launch.sh +++ b/gsw/scripts/docker_launch.sh @@ -1,6 +1,7 @@ #!/bin/bash -i # # Convenience script for NOS3 development +# Use with the Dockerfile in the deployment repository # SCRIPT_DIR=$(cd `dirname $0` && pwd) diff --git a/gsw/scripts/docker_stop.sh b/gsw/scripts/docker_stop.sh index 2f2d0e99..8b67c9fe 100644 --- a/gsw/scripts/docker_stop.sh +++ b/gsw/scripts/docker_stop.sh @@ -23,15 +23,14 @@ rm -rf /tmp/gpio_fake # NOS3 Stored HK rm -rf $BASE_DIR/fsw/build/exe/cpu1/scratch/* -# 42 -killall -q 42 -rm -rf /opt/nos3/42/NOS3InOut -rm -rf /tmp/gpio* - # Docker for i in $(docker container ls -q); do docker container kill $i done docker container prune -f +# 42 +rm -rf /opt/nos3/42/NOS3InOut +rm -rf /tmp/gpio* + exit 0 \ No newline at end of file From 11929edf1761cbc8705d5ecd0af70aba0146fcad Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Mon, 31 Oct 2022 12:06:38 -0400 Subject: [PATCH 20/34] https://github.com/nasa/nos3/issues/78 - Dockerize flight software, but keep it interactive and in a terminal to see the messages. --- gsw/scripts/docker_launch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gsw/scripts/docker_launch.sh b/gsw/scripts/docker_launch.sh index f9b111fe..1b635750 100644 --- a/gsw/scripts/docker_launch.sh +++ b/gsw/scripts/docker_launch.sh @@ -52,4 +52,4 @@ sleep 5 echo "Flight Software..." cd $FSW_BIN -gnome-terminal --title="NOS3 Flight Software" -- $FSW_BIN/core-cpu1 -R PO & +gnome-terminal --title="NOS3 Flight Software" -- docker run --rm -it -v $FSW_BIN:$FSW_BIN --network=host -w $FSW_BIN --sysctl fs.mqueue.msg_max=500 nos3 $FSW_BIN/core-cpu1 -R PO & From e6ad28074e3c4330d20258705b44842522366d7b Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Mon, 31 Oct 2022 13:54:19 -0400 Subject: [PATCH 21/34] https://github.com/nasa/nos3/issues/78 - Dockerize COSMOS. Adjust stop script for docker containers. --- gsw/scripts/docker_launch.sh | 5 ++++- gsw/scripts/docker_stop.sh | 16 +++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/gsw/scripts/docker_launch.sh b/gsw/scripts/docker_launch.sh index 1b635750..a3ad59bb 100644 --- a/gsw/scripts/docker_launch.sh +++ b/gsw/scripts/docker_launch.sh @@ -46,7 +46,10 @@ echo "COSMOS Ground Station..." cd $BASE_DIR/gsw/cosmos export MISSION_NAME=$(echo "NOS3") export PROCESSOR_ENDIANNESS=$(echo "LITTLE_ENDIAN") -ruby Launcher -c nos3_launcher.txt --system nos3_system.txt & +docker run --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e QT_X11_NO_MITSHM=1 \ + -v /home/nos3/Desktop/github-nos3/gsw/cosmos:/cosmos/cosmos \ + -v /home/nos3/Desktop/github-nos3/components/:/COMPONENTS -w /cosmos/cosmos -d --network=host \ + ballaerospace/cosmos /bin/bash -c 'ruby Launcher -c nos3_launcher.txt --system nos3_system.txt && true' # true is necessary to avoid setpgrp error sleep 5 diff --git a/gsw/scripts/docker_stop.sh b/gsw/scripts/docker_stop.sh index 8b67c9fe..3dfc27c0 100644 --- a/gsw/scripts/docker_stop.sh +++ b/gsw/scripts/docker_stop.sh @@ -6,15 +6,6 @@ SCRIPT_DIR=$(cd `dirname $0` && pwd) BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) -# cFS -killall -q -r -9 core-cpu* - -# COSMOS -killall -q -9 ruby -yes | rm $BASE_DIR/gsw/cosmos/Gemfile 2> /dev/null -yes | rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null -yes | rm -r $BASE_DIR/gsw/cosmos/COMPONENTS 2> /dev/null - # NOS3 # NOS3 GPIO @@ -33,4 +24,11 @@ docker container prune -f rm -rf /opt/nos3/42/NOS3InOut rm -rf /tmp/gpio* +# cFS + +# COSMOS +yes | rm $BASE_DIR/gsw/cosmos/Gemfile 2> /dev/null +yes | rm $BASE_DIR/gsw/cosmos/Gemfile.lock 2> /dev/null +yes | rm -r $BASE_DIR/gsw/cosmos/COMPONENTS 2> /dev/null + exit 0 \ No newline at end of file From 1af7700fb988a014e3e3949bc63aa44fcf932dc4 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Tue, 1 Nov 2022 10:44:26 -0400 Subject: [PATCH 22/34] https://github.com/nasa/nos3/issues/78 - Show use of docker compose to run NOS Engine server and simulators. --- gsw/scripts/docker-compose.yml | 73 ++++++++++++++++++++++++++++ gsw/scripts/docker_compose_launch.sh | 61 +++++++++++++++++++++++ gsw/scripts/docker_stop.sh | 9 +++- 3 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 gsw/scripts/docker-compose.yml create mode 100644 gsw/scripts/docker_compose_launch.sh diff --git a/gsw/scripts/docker-compose.yml b/gsw/scripts/docker-compose.yml new file mode 100644 index 00000000..b1b74790 --- /dev/null +++ b/gsw/scripts/docker-compose.yml @@ -0,0 +1,73 @@ +version: '3.3' +services: + nos_engine_server_standalone: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json + working_dir: $SIM_BIN + tty: true + nos-time-driver: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: $SIM_BIN/nos-time-driver + working_dir: $SIM_BIN + depends_on: + - nos_engine_server_standalone + nos3-simulator-terminal: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: $SIM_BIN/nos3-simulator-terminal + working_dir: $SIM_BIN + depends_on: + - nos_engine_server_standalone + nos3-cam-simulator: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: $SIM_BIN/nos3-cam-simulator + working_dir: $SIM_BIN + depends_on: + - nos_engine_server_standalone + nos3-generic-reactionwheel-simulator: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: $SIM_BIN/nos3-generic-reactionwheel-simulator + working_dir: $SIM_BIN + depends_on: + - nos_engine_server_standalone + nos3-gps-simulator: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: $SIM_BIN/nos3-gps-simulator + working_dir: $SIM_BIN + depends_on: + - nos_engine_server_standalone + nos3-sample-simulator: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: $SIM_BIN/nos3-sample-simulator + working_dir: $SIM_BIN + depends_on: + - nos_engine_server_standalone + truth42sim: + volumes: + - '$SIM_DIR:$SIM_DIR' + network_mode: host + image: nos3 + command: $SIM_BIN/nos3-single-simulator truth42sim + working_dir: $SIM_BIN + depends_on: + - nos_engine_server_standalone diff --git a/gsw/scripts/docker_compose_launch.sh b/gsw/scripts/docker_compose_launch.sh new file mode 100644 index 00000000..ee6f3206 --- /dev/null +++ b/gsw/scripts/docker_compose_launch.sh @@ -0,0 +1,61 @@ +#!/bin/bash -i +# +# Convenience script for NOS3 development +# Use with the Dockerfile in the deployment repository +# + +export SCRIPT_DIR=$(cd `dirname $0` && pwd) +export BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) +export FSW_BIN=$BASE_DIR/fsw/build/exe/cpu1 +export SIM_DIR=$BASE_DIR/sims/build +export SIM_BIN=$SIM_DIR/bin +export SIMS=$(cd $SIM_BIN; ls nos3*simulator) + +# Debugging +#echo "Script directory = " $SCRIPT_DIR +#echo "Base directory = " $BASE_DIR +#echo "FSW directory = " $FSW_BIN +#echo "Sim directory = " $SIM_BIN +#echo "Sim list = " $SIMS +#exit + +#echo "Make /tmp folders..." +#mkdir /tmp/data 2> /dev/null +#mkdir /tmp/data/hk 2> /dev/null +#mkdir /tmp/uplink 2> /dev/null + +echo "42..." +cd /opt/nos3/42/ +rm -rf NOS3InOut +cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut +xhost +local:* +docker run -d -e DISPLAY=$DISPLAY -v /opt/nos3/42/NOS3InOut:/opt/nos3/42/NOS3InOut -v /tmp/.X11-unix:/tmp/.X11-unix:ro --network=host -w /opt/nos3/42 -t nos3 /opt/nos3/42/42 NOS3InOut + +echo "Simulators..." +#cd $SIM_BIN +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN -t nos3 /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos-time-driver +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-simulator-terminal +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-cam-simulator +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-generic-reactionwheel-simulator +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-gps-simulator +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-sample-simulator +# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-single-simulator truth42sim +cd $SCRIPT_DIR +docker compose up -d + +echo "COSMOS Ground Station..." +cd $BASE_DIR/gsw/cosmos +export MISSION_NAME=$(echo "NOS3") +export PROCESSOR_ENDIANNESS=$(echo "LITTLE_ENDIAN") +docker run --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e QT_X11_NO_MITSHM=1 \ + -v /home/nos3/Desktop/github-nos3/gsw/cosmos:/cosmos/cosmos \ + -v /home/nos3/Desktop/github-nos3/components/:/COMPONENTS -w /cosmos/cosmos -d --network=host \ + ballaerospace/cosmos /bin/bash -c 'ruby Launcher -c nos3_launcher.txt --system nos3_system.txt && true' # true is necessary to avoid setpgrp error + +sleep 5 + +echo "Flight Software..." +cd $FSW_BIN +gnome-terminal --title="NOS3 Flight Software" -- docker run --rm -it -v $FSW_BIN:$FSW_BIN --network=host -w $FSW_BIN --sysctl fs.mqueue.msg_max=500 nos3 $FSW_BIN/core-cpu1 -R PO & + diff --git a/gsw/scripts/docker_stop.sh b/gsw/scripts/docker_stop.sh index 3dfc27c0..ef3e5ae6 100644 --- a/gsw/scripts/docker_stop.sh +++ b/gsw/scripts/docker_stop.sh @@ -3,8 +3,12 @@ # Convenience script for NOS3 development # -SCRIPT_DIR=$(cd `dirname $0` && pwd) -BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) +export SCRIPT_DIR=$(cd `dirname $0` && pwd) +export BASE_DIR=$(cd `dirname $SCRIPT_DIR`/.. && pwd) +export FSW_BIN=$BASE_DIR/fsw/build/exe/cpu1 +export SIM_DIR=$BASE_DIR/sims/build +export SIM_BIN=$SIM_DIR/bin +export SIMS=$(cd $SIM_BIN; ls nos3*simulator) # NOS3 @@ -15,6 +19,7 @@ rm -rf /tmp/gpio_fake rm -rf $BASE_DIR/fsw/build/exe/cpu1/scratch/* # Docker +cd $SCRIPT_DIR; docker compose down for i in $(docker container ls -q); do docker container kill $i done From b4d47e11e5f1fc771e9da8a95c4cd9d1f4579aaf Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Tue, 1 Nov 2022 11:06:52 -0400 Subject: [PATCH 23/34] https://github.com/nasa/nos3/issues/78 - Add flight software and 42 to docker compose. --- gsw/scripts/docker-compose.yml | 26 ++++++++++++++++++++++++++ gsw/scripts/docker_compose_launch.sh | 17 +---------------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/gsw/scripts/docker-compose.yml b/gsw/scripts/docker-compose.yml index b1b74790..9340a2fb 100644 --- a/gsw/scripts/docker-compose.yml +++ b/gsw/scripts/docker-compose.yml @@ -71,3 +71,29 @@ services: working_dir: $SIM_BIN depends_on: - nos_engine_server_standalone + fsw: + volumes: + - '$FSW_BIN:$FSW_BIN' + network_mode: host + image: nos3 + command: $FSW_BIN/core-cpu1 -R PO + working_dir: $FSW_BIN + stdin_open: true + tty: true + sysctls: + - fs.mqueue.msg_max=500 + depends_on: + - nos_engine_server_standalone + fortytwo: + volumes: + - '/opt/nos3/42/NOS3InOut:/opt/nos3/42/NOS3InOut' + - '/tmp/.X11-unix:/tmp/.X11-unix:ro' + network_mode: host + image: nos3 + command: /opt/nos3/42/42 NOS3InOut + working_dir: /opt/nos3/42 + tty: true + environment: + - DISPLAY=$DISPLAY + depends_on: + - nos_engine_server_standalone diff --git a/gsw/scripts/docker_compose_launch.sh b/gsw/scripts/docker_compose_launch.sh index ee6f3206..7a646335 100644 --- a/gsw/scripts/docker_compose_launch.sh +++ b/gsw/scripts/docker_compose_launch.sh @@ -29,18 +29,7 @@ cd /opt/nos3/42/ rm -rf NOS3InOut cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut xhost +local:* -docker run -d -e DISPLAY=$DISPLAY -v /opt/nos3/42/NOS3InOut:/opt/nos3/42/NOS3InOut -v /tmp/.X11-unix:/tmp/.X11-unix:ro --network=host -w /opt/nos3/42 -t nos3 /opt/nos3/42/42 NOS3InOut - -echo "Simulators..." -#cd $SIM_BIN -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN -t nos3 /usr/bin/nos_engine_server_standalone -f $SIM_BIN/nos_engine_server_config.json -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos-time-driver -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-simulator-terminal -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-cam-simulator -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-generic-reactionwheel-simulator -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-gps-simulator -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-sample-simulator -# docker run --rm -d -v $SIM_DIR:$SIM_DIR --network=host -w $SIM_BIN nos3 $SIM_BIN/nos3-single-simulator truth42sim + cd $SCRIPT_DIR docker compose up -d @@ -55,7 +44,3 @@ docker run --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e QT_X1 sleep 5 -echo "Flight Software..." -cd $FSW_BIN -gnome-terminal --title="NOS3 Flight Software" -- docker run --rm -it -v $FSW_BIN:$FSW_BIN --network=host -w $FSW_BIN --sysctl fs.mqueue.msg_max=500 nos3 $FSW_BIN/core-cpu1 -R PO & - From d4eae619bfe22b9b69bb2febb74df7aa32e588c7 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Tue, 1 Nov 2022 11:19:20 -0400 Subject: [PATCH 24/34] https://github.com/nasa/nos3/issues/78 - Add COSMOS to docker compose. --- gsw/scripts/docker-compose.yml | 13 +++++++++++++ gsw/scripts/docker_compose_launch.sh | 15 ++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/gsw/scripts/docker-compose.yml b/gsw/scripts/docker-compose.yml index 9340a2fb..953c6e72 100644 --- a/gsw/scripts/docker-compose.yml +++ b/gsw/scripts/docker-compose.yml @@ -97,3 +97,16 @@ services: - DISPLAY=$DISPLAY depends_on: - nos_engine_server_standalone + cosmos: + volumes: + - '/home/nos3/Desktop/github-nos3/gsw/cosmos:/cosmos/cosmos' + - '/home/nos3/Desktop/github-nos3/components/:/COMPONENTS' + - '/tmp/.X11-unix:/tmp/.X11-unix:ro' + network_mode: host + image: ballaerospace/cosmos + command: /bin/bash -c 'ruby Launcher -c nos3_launcher.txt --system nos3_system.txt && true' # true is necessary to avoid setpgrp error + working_dir: /cosmos/cosmos + tty: true + environment: + - DISPLAY=$DISPLAY + - QT_X11_NO_MITSHM=1 diff --git a/gsw/scripts/docker_compose_launch.sh b/gsw/scripts/docker_compose_launch.sh index 7a646335..1ca9b49d 100644 --- a/gsw/scripts/docker_compose_launch.sh +++ b/gsw/scripts/docker_compose_launch.sh @@ -30,17 +30,14 @@ rm -rf NOS3InOut cp -r $BASE_DIR/sims/cfg/InOut /opt/nos3/42/NOS3InOut xhost +local:* -cd $SCRIPT_DIR -docker compose up -d - echo "COSMOS Ground Station..." cd $BASE_DIR/gsw/cosmos export MISSION_NAME=$(echo "NOS3") export PROCESSOR_ENDIANNESS=$(echo "LITTLE_ENDIAN") -docker run --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e QT_X11_NO_MITSHM=1 \ - -v /home/nos3/Desktop/github-nos3/gsw/cosmos:/cosmos/cosmos \ - -v /home/nos3/Desktop/github-nos3/components/:/COMPONENTS -w /cosmos/cosmos -d --network=host \ - ballaerospace/cosmos /bin/bash -c 'ruby Launcher -c nos3_launcher.txt --system nos3_system.txt && true' # true is necessary to avoid setpgrp error - -sleep 5 +#docker run --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e QT_X11_NO_MITSHM=1 \ +# -v /home/nos3/Desktop/github-nos3/gsw/cosmos:/cosmos/cosmos \ +# -v /home/nos3/Desktop/github-nos3/components/:/COMPONENTS -w /cosmos/cosmos -d --network=host \ +# ballaerospace/cosmos /bin/bash -c 'ruby Launcher -c nos3_launcher.txt --system nos3_system.txt && true' # true is necessary to avoid setpgrp error +cd $SCRIPT_DIR +docker compose up -d From 58bbcc4289d8cc4168d2a3a02783ffc91123ee67 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Tue, 1 Nov 2022 15:01:13 -0400 Subject: [PATCH 25/34] https://github.com/nasa/nos3/issues/82 - README update to go along with the Wiki updates. --- README.md | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index b95b1075..db897632 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ NOS3 provides a software development environment, a multi-target build system, a These issues will be addressed in future updates ### Documentation -The best source of documentation can be found at [NOS3](www.nos3.org), as well as a PDF Users Guide attached to this Release on Github +The best source of documentation can be found at [the wiki](https://github.com/nasa/nos3/wiki), or [NOS3](http://www.nos3.org), or the PDF Users Guide attached to this Release on Github ### Prerequisites Each of the applications listed below are required prior to performing the installation procedure: @@ -20,49 +20,50 @@ Each of the applications listed below are required prior to performing the insta 1. Open a terminal 2. Navigate to the desired location for the repository 3. Clone the repository `git clone https://github.com/nasa/nos3.git` -4. Clone the submodules `git submodule init` and `git submodule update` -5. Navigate to `/nos3/deployment` -6. Run `vagrant up` and wait to return to a prompt - - This can take anywhere from 20 minutes to hours depending on internet speeds and host PC specs - - The VM will reboot multiple times in order to finish install packages for you automatically so wait for that prompt! +4. `cd nos3` +5. `git checkout dev` +6. Clone the submodules `git submodule init` and `git submodule update` +7. 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 + - The VM may reboot multiple times in order to finish install 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.** -7. Login to the nos3 user using the password `nos3123!` and get to work! -7. Try building and running following the instructions below +8. Login to the nos3 user using the password `nos3123!` and get to work! +9. Try building and running following the instructions below ### Getting started -It is recommended to share the nos3 repository into the virtual machine -1. Open a terminal +It is recommended to share the nos3 repository into the virtual machine (e.g. `/home/nos3/Desktop/github-nos3`) +1. Open a terminal (to `/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 ### Directory Layout -* `/nos3/deployment` contains the repository for generating the nos3 virtual environment -* `/nos3/fsw` contains the repositories needed to build cFS FSW +* `components` contains the repositories for the hardware component apps; each repository contains the app, an associated sim, and COSMOS command and telemetry tables +* `fsw` contains the repositories needed to build cFS FSW - /apps - the open source cFS apps - /cfe - the core flight system (cFS) source files - - /components - the hardware component apps + - /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 -* `/nos3/gsw` contains the nos3 ground station files, and other ground based 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 - /OrbitInviewPowerPrediction - OIPP tool for operators - - /scripts - convience scripts -* `/nos3/sims` contains the nos3 simulators and configuration files - - /cfg - 42 files and NOS3 top level config file - - /_sim - a component simulator + - /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 - - /sim_common - common files used by component simulators + - /sim_common - common files used by component simulators including the files that define the simulator plugin architecture - /sim_server - NOS Engine Server config and build files - /sim_terminal - terminal for testing on NOS Engine busses + - /truth_42_sim - interface between 42 and COSMOS to provide dynamics truth data to COSMOS ## Support If this project interests you or if you have any questions, please feel free to contact any developer directly or email `support@nos3.org`. ## Reporting Issues -Please report issues to the tracking system on Github [NOS3 Issues](www.github.com/nasa/nos3/issues) +Please report issues to the tracking system on Github [NOS3 Issues](https://www.github.com/nasa/nos3/issues) ### Frequently Asked Questions * A GUI environment hasn't shown up after an extended period (> 1.5 hours), what should I do? @@ -75,12 +76,12 @@ Please report issues to the tracking system on Github [NOS3 Issues](www.github.c - In the VirtualBox menu select: Devices -> Insert Guest Additions CD Image... - Follow the instructions provided * How can I mount a shared folder so that I edit on my host and compile / run in the VM? - - In the VirtualBox menu select: Devices -> Shared Folders -> Shared Folders Settings... + - In the VirtualBox menu select: Settings -> Shared Folders - Select the folder with a plus sign to add your folder * Provide the path, name, mount point inside the VM * Select `Auto-mount`, `Make Permanent`, and `OK` * How can I run 42 without the GUI? - - Edit the `/nos3/sims/cfg/InOut/Inp_Sim.txt` and set Graphics Front End to `FALSE` + - Edit `sims/cfg/InOut/Inp_Sim.txt` and set Graphics Front End on line 6 to `FALSE` * NOS Engine Standalone server reports `NOSEngine.Uart - close uart port failed` error? - This isn't actually an error and is scheduled to be removed, proceed as usual. From f80b0ebe78539519ffe63fe4f57748235e5a1d6f Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Tue, 1 Nov 2022 15:23:29 -0400 Subject: [PATCH 26/34] https://github.com/nasa/nos3/issues/78 - Add link documenting how to install docker on ubuntu. --- gsw/scripts/docker_build.sh | 1 + gsw/scripts/docker_compose_launch.sh | 1 + gsw/scripts/docker_launch.sh | 1 + gsw/scripts/docker_stop.sh | 1 + 4 files changed, 4 insertions(+) diff --git a/gsw/scripts/docker_build.sh b/gsw/scripts/docker_build.sh index 1a97e15e..7e7b9c3b 100644 --- a/gsw/scripts/docker_build.sh +++ b/gsw/scripts/docker_build.sh @@ -2,6 +2,7 @@ # # Convenience script for NOS3 development # Use with the Dockerfile in the deployment repository +# https://docs.docker.com/engine/install/ubuntu/ # SCRIPT_DIR=$(cd `dirname $0` && pwd) diff --git a/gsw/scripts/docker_compose_launch.sh b/gsw/scripts/docker_compose_launch.sh index 1ca9b49d..86661249 100644 --- a/gsw/scripts/docker_compose_launch.sh +++ b/gsw/scripts/docker_compose_launch.sh @@ -2,6 +2,7 @@ # # Convenience script for NOS3 development # Use with the Dockerfile in the deployment repository +# https://docs.docker.com/engine/install/ubuntu/ # export SCRIPT_DIR=$(cd `dirname $0` && pwd) diff --git a/gsw/scripts/docker_launch.sh b/gsw/scripts/docker_launch.sh index a3ad59bb..37c357f1 100644 --- a/gsw/scripts/docker_launch.sh +++ b/gsw/scripts/docker_launch.sh @@ -2,6 +2,7 @@ # # Convenience script for NOS3 development # Use with the Dockerfile in the deployment repository +# https://docs.docker.com/engine/install/ubuntu/ # SCRIPT_DIR=$(cd `dirname $0` && pwd) diff --git a/gsw/scripts/docker_stop.sh b/gsw/scripts/docker_stop.sh index ef3e5ae6..d7ab16dc 100644 --- a/gsw/scripts/docker_stop.sh +++ b/gsw/scripts/docker_stop.sh @@ -1,6 +1,7 @@ #!/bin/bash # # Convenience script for NOS3 development +# https://docs.docker.com/engine/install/ubuntu/ # export SCRIPT_DIR=$(cd `dirname $0` && pwd) From fd7ded502162bb7f4b3eace43ada81710785f7c0 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Thu, 3 Nov 2022 13:34:19 -0400 Subject: [PATCH 27/34] https://github.com/nasa/nos3/issues/82 - Add simple configuration file for use in NOS3 wiki. --- gsw/OrbitInviewPowerPrediction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gsw/OrbitInviewPowerPrediction b/gsw/OrbitInviewPowerPrediction index 8258930c..7f107703 160000 --- a/gsw/OrbitInviewPowerPrediction +++ b/gsw/OrbitInviewPowerPrediction @@ -1 +1 @@ -Subproject commit 8258930cee53cccccd01f0e52e0744f7bc9f6595 +Subproject commit 7f107703a5af81e4d51c6cd48fbe899520204823 From 07c39562afeed95d6ce1598d7c5c11f540d1e125 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Mon, 7 Nov 2022 15:46:18 -0500 Subject: [PATCH 28/34] [nasa/nos3#95] Added DS and FM cFS applications; --- .gitmodules | 8 ++++++++ fsw/apps/ds | 1 + fsw/apps/fm | 1 + 3 files changed, 10 insertions(+) create mode 160000 fsw/apps/ds create mode 160000 fsw/apps/fm diff --git a/.gitmodules b/.gitmodules index 8d423625..72bd19a7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -96,3 +96,11 @@ path = components/template url = https://github.com/nasa-itc/component_template.git branch = main +[submodule "fsw/apps/ds"] + path = fsw/apps/ds + url = https://github.com/nasa-itc/DS.git + branch = nos3-main +[submodule "fsw/apps/fm"] + path = fsw/apps/fm + url = https://github.com/nasa-itc/FM.git + branch = nos3-main diff --git a/fsw/apps/ds b/fsw/apps/ds new file mode 160000 index 00000000..df4432c6 --- /dev/null +++ b/fsw/apps/ds @@ -0,0 +1 @@ +Subproject commit df4432c60aee812c45ec9585d33e83ac01099574 diff --git a/fsw/apps/fm b/fsw/apps/fm new file mode 160000 index 00000000..23b792da --- /dev/null +++ b/fsw/apps/fm @@ -0,0 +1 @@ +Subproject commit 23b792da6f8124c459492e9923cac1e3263d420a From 53b40322cf77bc8a95fcb2c11ff01bb808f4adbd Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Tue, 8 Nov 2022 16:59:32 -0500 Subject: [PATCH 29/34] [nasa/nos3#95] Added CF, DS, FM, and CI/TO_Labs, to the targets; --- .gitmodules | 8 +- fsw/apps/cf | 2 +- fsw/apps/ci_lab | 2 +- fsw/apps/ds | 2 +- fsw/apps/fm | 2 +- fsw/apps/io_lib | 2 +- fsw/apps/lc | 2 +- fsw/apps/sc | 2 +- fsw/apps/to_lab | 2 +- fsw/nos3_defs/cpu1_cfe_es_startup.scr | 6 +- fsw/nos3_defs/cpu1_platform_cfg.h | 2 +- fsw/nos3_defs/cpu2_cfe_es_startup.scr | 63 - fsw/nos3_defs/cpu2_device_cfg.h | 32 - fsw/nos3_defs/cpu2_msgids.h | 108 - fsw/nos3_defs/cpu2_platform_cfg.h | 2083 ---------------- fsw/nos3_defs/default_osconfig.cmake | 2 +- fsw/nos3_defs/nos3_mission_cfg.h | 14 +- fsw/nos3_defs/tables/ds_file_tbl.c | 314 +++ fsw/nos3_defs/tables/ds_filter_tbl.c | 3137 +++++++++++++++++++++++++ fsw/nos3_defs/tables/ds_indices.h | 38 + fsw/nos3_defs/tables/fm_freespace.c | 103 + fsw/nos3_defs/tables/sc_rts001.c | 55 + fsw/nos3_defs/tables/sch_def_msgtbl.c | 31 +- fsw/nos3_defs/tables/sch_def_schtbl.c | 18 +- fsw/nos3_defs/tables/to_config.c | 78 +- fsw/nos3_defs/tables/to_lab_sub.c | 91 + fsw/nos3_defs/targets.cmake | 12 +- fsw/nos3_defs/toolchain-cpu2.cmake | 38 - gsw/cosmos | 2 +- gsw/scripts/launch.sh | 17 + 30 files changed, 3844 insertions(+), 2424 deletions(-) delete mode 100644 fsw/nos3_defs/cpu2_cfe_es_startup.scr delete mode 100644 fsw/nos3_defs/cpu2_device_cfg.h delete mode 100644 fsw/nos3_defs/cpu2_msgids.h delete mode 100644 fsw/nos3_defs/cpu2_platform_cfg.h create mode 100644 fsw/nos3_defs/tables/ds_file_tbl.c create mode 100644 fsw/nos3_defs/tables/ds_filter_tbl.c create mode 100644 fsw/nos3_defs/tables/ds_indices.h create mode 100644 fsw/nos3_defs/tables/fm_freespace.c create mode 100644 fsw/nos3_defs/tables/sc_rts001.c create mode 100644 fsw/nos3_defs/tables/to_lab_sub.c delete mode 100644 fsw/nos3_defs/toolchain-cpu2.cmake diff --git a/.gitmodules b/.gitmodules index 72bd19a7..266bfa17 100644 --- a/.gitmodules +++ b/.gitmodules @@ -66,12 +66,12 @@ url = https://github.com/nasa-itc/truth_42_sim.git [submodule "fsw/apps/ci_lab"] path = fsw/apps/ci_lab - url = https://github.com/nasa/ci_lab.git - branch = main + url = https://github.com/nasa-itc/ci_lab.git + branch = nos3-main [submodule "fsw/apps/to_lab"] path = fsw/apps/to_lab - url = https://github.com/nasa/to_lab.git - branch = main + url = https://github.com/nasa-itc/to_lab.git + branch = nos3-main [submodule "fsw/apps/hwlib"] path = fsw/apps/hwlib url = https://github.com/nasa-itc/hwlib.git diff --git a/fsw/apps/cf b/fsw/apps/cf index cbda7b9c..8989bd7f 160000 --- a/fsw/apps/cf +++ b/fsw/apps/cf @@ -1 +1 @@ -Subproject commit cbda7b9cad82e0d37cd0080e21f79b18eb571b17 +Subproject commit 8989bd7f1050ffdfce8f457dff44bf81fa310775 diff --git a/fsw/apps/ci_lab b/fsw/apps/ci_lab index a5e8b4b0..ba76e09f 160000 --- a/fsw/apps/ci_lab +++ b/fsw/apps/ci_lab @@ -1 +1 @@ -Subproject commit a5e8b4b013c59f073ca065f325e40bfebba1e8a0 +Subproject commit ba76e09fd93967cc41024f5e50228280ac2e6d78 diff --git a/fsw/apps/ds b/fsw/apps/ds index df4432c6..c80a74cb 160000 --- a/fsw/apps/ds +++ b/fsw/apps/ds @@ -1 +1 @@ -Subproject commit df4432c60aee812c45ec9585d33e83ac01099574 +Subproject commit c80a74cbf0f39ec0596058c5977f99e25e1fb67a diff --git a/fsw/apps/fm b/fsw/apps/fm index 23b792da..a6ceee38 160000 --- a/fsw/apps/fm +++ b/fsw/apps/fm @@ -1 +1 @@ -Subproject commit 23b792da6f8124c459492e9923cac1e3263d420a +Subproject commit a6ceee3822adc4e15f55ec16e015044f73e1787e diff --git a/fsw/apps/io_lib b/fsw/apps/io_lib index 3f41191d..377bcbb2 160000 --- a/fsw/apps/io_lib +++ b/fsw/apps/io_lib @@ -1 +1 @@ -Subproject commit 3f41191d0d361bed88b056f2a7d45301ac7b3fe5 +Subproject commit 377bcbb2eec52ad917aba679795e2bbf341fc836 diff --git a/fsw/apps/lc b/fsw/apps/lc index 7e450180..c5eb78da 160000 --- a/fsw/apps/lc +++ b/fsw/apps/lc @@ -1 +1 @@ -Subproject commit 7e450180778039714625d66539e898fa90542fe8 +Subproject commit c5eb78dae00c9f66e183e4e9ba9ba4b60341c5c0 diff --git a/fsw/apps/sc b/fsw/apps/sc index 055e68dc..3a796715 160000 --- a/fsw/apps/sc +++ b/fsw/apps/sc @@ -1 +1 @@ -Subproject commit 055e68dc7a12d305516d63d300105cf27b008a7b +Subproject commit 3a7967155033168738892ee62eec95ef26abed29 diff --git a/fsw/apps/to_lab b/fsw/apps/to_lab index 9e2ad8cc..9687d1d0 160000 --- a/fsw/apps/to_lab +++ b/fsw/apps/to_lab @@ -1 +1 @@ -Subproject commit 9e2ad8cccafaad6d09902213971344d9e277e9f9 +Subproject commit 9687d1d03e823be5d459dfb408b8441da5b1724f diff --git a/fsw/nos3_defs/cpu1_cfe_es_startup.scr b/fsw/nos3_defs/cpu1_cfe_es_startup.scr index 82d2a27b..6f30c7b6 100644 --- a/fsw/nos3_defs/cpu1_cfe_es_startup.scr +++ b/fsw/nos3_defs/cpu1_cfe_es_startup.scr @@ -9,6 +9,9 @@ CFE_APP, /cf/to_lab.so, TO_Lab_AppMain, TO_LAB, CFE_APP, /cf/ci.so, CI_AppMain, CI, 50, 16384, 0x0, 0; CFE_APP, /cf/to.so, TO_AppMain, TO, 50, 16384, 0x0, 0; +CFE_APP, /cf/cf.so, CF_AppMain, CF, 54, 16384, 0x0, 0; +CFE_APP, /cf/ds.so, DS_AppMain, DS, 58, 16384, 0x0, 0; +CFE_APP, /cf/fm.so, FM_AppMain, FM, 59, 16384, 0x0, 0; CFE_APP, /cf/lc.so, LC_AppMain, LC, 50, 16384, 0x0, 0; CFE_APP, /cf/sc.so, SC_AppMain, SC, 50, 16384, 0x0, 0; @@ -22,9 +25,6 @@ CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, ! ! CFE_APP, /cf/clyde_eps.so, clyde_eps_AppMain, EPS, 71, 8192, 0x0, 0; ! CFE_APP, /cf/cs.so, CS_AppMain, CS, 55, 16384, 0x0, 0; -! CFE_APP, /cf/cf.so, CF_AppMain, CF, 54, 16384, 0x0, 0; -! CFE_APP, /cf/ds.so, DS_AppMain, DS, 58, 16384, 0x0, 0; -! CFE_APP, /cf/fm.so, FM_AppMain, FM, 59, 16384, 0x0, 0; ! CFE_APP, /cf/hk.so, HK_AppMain, HK, 63, 16384, 0x0, 0; ! CFE_APP, /cf/hs.so, HS_AppMain, HS, 56, 16384, 0x0, 0; ! CFE_APP, /cf/sbn.so, SBN_AppMain, SBN, 63, 16384, 0x0, 0; diff --git a/fsw/nos3_defs/cpu1_platform_cfg.h b/fsw/nos3_defs/cpu1_platform_cfg.h index 5299cd79..6ed349e1 100644 --- a/fsw/nos3_defs/cpu1_platform_cfg.h +++ b/fsw/nos3_defs/cpu1_platform_cfg.h @@ -156,7 +156,7 @@ ** be verified. Pipe Depth values that are checked against this configuration ** are defined by a 16 bit data word. */ -#define CFE_PLATFORM_SB_MAX_PIPE_DEPTH 256 +#define CFE_PLATFORM_SB_MAX_PIPE_DEPTH 1024 /** diff --git a/fsw/nos3_defs/cpu2_cfe_es_startup.scr b/fsw/nos3_defs/cpu2_cfe_es_startup.scr deleted file mode 100644 index 567316bb..00000000 --- a/fsw/nos3_defs/cpu2_cfe_es_startup.scr +++ /dev/null @@ -1,63 +0,0 @@ -CFE_LIB, /cf/cfs_lib.so, CFS_LibInit, CFS_LIB, 0, 0, 0x0, 0; -CFE_APP, /cf/sch.so, SCH_AppMain, SCH, 40, 8192, 0x0, 0; - -CFE_LIB, /cf/io_lib.so, IO_LibInit, IO_LIB, 0, 0, 0x0, 0; -CFE_APP, /cf/ci.so, CI_AppMain, CI, 52, 16384, 0x0, 0; -CFE_APP, /cf/to.so, TO_AppMain, TO, 53, 16384, 0x0, 0; - -CFE_APP, /cf/lc.so, LC_AppMain, LC, 57, 16384, 0x0, 0; -CFE_APP, /cf/sc.so, SC_AppMain, SC, 62, 16384, 0x0, 0; - -CFE_LIB, /cf/hwlib.so, hwlib_Init, HW_LIB, 0, 0, 0x0, 0; - -CFE_APP, /cf/sample.so, SAMPLE_AppMain, SAMPLE, 69, 8192, 0x0, 0; -CFE_APP, /cf/arducam.so, arducam_AppMain, CAM, 70, 8192, 0x0, 0; -CFE_APP, /cf/novatel_oem615.so, novatel_oem615_AppMain, NAV, 72, 8192, 0x0, 0; -CFE_APP, /cf/generic_reaction_wheel.so, GENERIC_RW_AppMain, RW, 73, 8192, 0x0, 0; - -! -! ** The software will not try to parse anything after the first '!' character it sees. ** -! -! -! CFE_APP, /cf/sample.so, sample_AppMain, SAMPLE, 50, 8192, 0x0, 0; -! -! CFE_APP, /cf/clyde_eps.so, clyde_eps_AppMain, EPS, 71, 8192, 0x0, 0; -! CFE_APP, /cf/cs.so, CS_AppMain, CS, 55, 16384, 0x0, 0; -! CFE_APP, /cf/cf.so, CF_AppMain, CF, 54, 16384, 0x0, 0; -! CFE_APP, /cf/ds.so, DS_AppMain, DS, 58, 16384, 0x0, 0; -! CFE_APP, /cf/fm.so, FM_AppMain, FM, 59, 16384, 0x0, 0; -! CFE_APP, /cf/hk.so, HK_AppMain, HK, 63, 16384, 0x0, 0; -! CFE_APP, /cf/hs.so, HS_AppMain, HS, 56, 16384, 0x0, 0; -! CFE_APP, /cf/sbn.so, SBN_AppMain, SBN, 63, 16384, 0x0, 0; -! CFE_APP, /cf/md.so, MD_AppMain, MD, 60, 16384, 0x0, 0; -! CFE_APP, /cf/mm.so, MM_AppMain, MM, 61, 16384, 0x0, 0; -! -! CFE_APP, /cf/ci_lab.so, CI_Lab_AppMain, CI_LAB_APP, 50, 8192, 0x0, 0; -! CFE_LIB, /cf/sample_lib.so, SAMPLE_LibInit, SAMPLE_LIB, 0, 0, 0x0, 0; -! CFE_APP, /cf/sample_app.so, SAMPLE_AppMain, SAMPLE_APP, 51, 16384, 0x0, 0; -! CFE_APP, /cf/to_lab.so, TO_Lab_AppMain, TO_LAB_APP, 50, 8192, 0x0, 0; -! -! Startup script fields: -! 1. Object Type -- CFE_APP for an Application, or CFE_LIB for a library. -! 2. Path/Filename -- This is a cFE Virtual filename, not a vxWorks device/pathname -! 3. Entry Point -- This is the "main" function for Apps. -! 4. CFE Name -- The cFE name for the the APP or Library -! 5. Priority -- This is the Priority of the App, not used for Library -! 6. Stack Size -- This is the Stack size for the App, not used for the Library -! 7. Load Address -- This is the Optional Load Address for the App or Library. Currently not implemented -! so keep it at 0x0. -! 8. Exception Action -- This is the Action the cFE should take if the App has an exception. -! 0 = Just restart the Application -! Non-Zero = Do a cFE Processor Reset -! -! Other Notes: -! 1. The software will not try to parse anything after the first '!' character it sees. That -! is the End of File marker. -! 2. Common Application file extensions: -! Linux = .so ( ci.so ) -! OS X = .bundle ( ci.bundle ) -! Cygwin = .dll ( ci.dll ) -! vxWorks = .o ( ci.o ) -! RTEMS with S-record Loader = .s3r ( ci.s3r ) -! RTEMS with CEXP Loader = .o ( ci.o ) - diff --git a/fsw/nos3_defs/cpu2_device_cfg.h b/fsw/nos3_defs/cpu2_device_cfg.h deleted file mode 100644 index 934a53f5..00000000 --- a/fsw/nos3_defs/cpu2_device_cfg.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -** GSC-18128-1, "Core Flight Executive Version 6.7" -** -** Copyright (c) 2006-2019 United States Government as represented by -** the Administrator of the National Aeronautics and Space Administration. -** All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ - -/* -** CPU2 - User Defined -*/ - -#ifndef _cpu2_device_cfg_ -#define _cpu2_device_cfg_ - -/* Note: NOS3 uart requires matching handle and bus number */ - -#define EPS_DEVICE_STRING "spi_0" /**< \brief EPS device file */ - -#endif /* _cpu2_device_cfg_ */ diff --git a/fsw/nos3_defs/cpu2_msgids.h b/fsw/nos3_defs/cpu2_msgids.h deleted file mode 100644 index be965ca1..00000000 --- a/fsw/nos3_defs/cpu2_msgids.h +++ /dev/null @@ -1,108 +0,0 @@ -/* -** GSC-18128-1, "Core Flight Executive Version 6.7" -** -** Copyright (c) 2006-2019 United States Government as represented by -** the Administrator of the National Aeronautics and Space Administration. -** All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ - -/****************************************************************************** -** File: cfe_msgids.h -** -** Purpose: -** This header file contains the Message Id's for messages used by the -** cFE core. -** -** Author: R.McGraw/SSI -** -** Notes: -** This file should not contain messages defined by cFE external -** applications. -** -******************************************************************************/ -#ifndef _cfe_msgids_ -#define _cfe_msgids_ - -/* -** Includes -*/ - -#include "cfe_mission_cfg.h" - -/* -** cFE Command Message Id's -*/ -#define CFE_EVS_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_EVS_CMD_MSG /* 0x1801 */ - /* Message ID 0x1802 is available */ -#define CFE_SB_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_SB_CMD_MSG /* 0x1803 */ -#define CFE_TBL_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TBL_CMD_MSG /* 0x1804 */ -#define CFE_TIME_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_CMD_MSG /* 0x1805 */ -#define CFE_ES_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_ES_CMD_MSG /* 0x1806 */ - -#define CFE_ES_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_ES_SEND_HK_MSG /* 0x1808 */ -#define CFE_EVS_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_EVS_SEND_HK_MSG /* 0x1809 */ - /* Message ID 0x180A is available */ -#define CFE_SB_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_SB_SEND_HK_MSG /* 0x180B */ -#define CFE_TBL_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TBL_SEND_HK_MSG /* 0x180C */ -#define CFE_TIME_SEND_HK_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_SEND_HK_MSG /* 0x180D */ - -#define CFE_SB_SUB_RPT_CTRL_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_SB_SUB_RPT_CTRL_MSG /* 0x180E */ - -#define CFE_TIME_TONE_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_TONE_CMD_MSG /* 0x1810 */ -#define CFE_TIME_1HZ_CMD_MID CFE_MISSION_CMD_MID_BASE1 + CFE_MISSION_TIME_1HZ_CMD_MSG /* 0x1811 */ - - -/* -** cFE Global Command Message Id's -*/ -#define CFE_TIME_DATA_CMD_MID CFE_MISSION_CMD_MID_BASE_GLOB + CFE_MISSION_TIME_DATA_CMD_MSG /* 0x1860 */ -#define CFE_TIME_SEND_CMD_MID CFE_MISSION_CMD_MID_BASE_GLOB + CFE_MISSION_TIME_SEND_CMD_MSG /* 0x1862 */ - - -/* -** CFE Telemetry Message Id's -*/ -#define CFE_ES_HK_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_HK_TLM_MSG /* 0x0800 */ -#define CFE_EVS_HK_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_EVS_HK_TLM_MSG /* 0x0801 */ - /* Message ID 0x0802 is available */ -#define CFE_SB_HK_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_HK_TLM_MSG /* 0x0803 */ -#define CFE_TBL_HK_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_TBL_HK_TLM_MSG /* 0x0804 */ -#define CFE_TIME_HK_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_TIME_HK_TLM_MSG /* 0x0805 */ -#define CFE_TIME_DIAG_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_TIME_DIAG_TLM_MSG /* 0x0806 */ -#define CFE_EVS_LONG_EVENT_MSG_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_EVS_LONG_EVENT_MSG_MSG /* 0x0808 */ -#define CFE_EVS_SHORT_EVENT_MSG_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_EVS_SHORT_EVENT_MSG_MSG /* 0x0809 */ -#define CFE_SB_STATS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_STATS_TLM_MSG /* 0x080A */ -#define CFE_ES_APP_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_APP_TLM_MSG /* 0x080B */ -#define CFE_TBL_REG_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_TBL_REG_TLM_MSG /* 0x080C */ -#define CFE_SB_ALLSUBS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ALLSUBS_TLM_MSG /* 0x080D */ -#define CFE_SB_ONESUB_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ONESUB_TLM_MSG /* 0x080E */ - -#ifndef CFE_OMIT_DEPRECATED_6_7 - #define CFE_ES_SHELL_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_SHELL_TLM_MSG /* 0x080F */ -#endif - -#define CFE_ES_MEMSTATS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_MEMSTATS_TLM_MSG /* 0x0810 */ - -/* - * MID definitions by these older names are required to make some existing apps compile - * These are deprecated and should be removed after CFE 6.6 - */ -#ifndef CFE_OMIT_DEPRECATED_6_6 - -#define CFE_EVS_EVENT_MSG_MID CFE_EVS_LONG_EVENT_MSG_MID - -#endif - -#endif diff --git a/fsw/nos3_defs/cpu2_platform_cfg.h b/fsw/nos3_defs/cpu2_platform_cfg.h deleted file mode 100644 index 5299cd79..00000000 --- a/fsw/nos3_defs/cpu2_platform_cfg.h +++ /dev/null @@ -1,2083 +0,0 @@ -/* -** GSC-18128-1, "Core Flight Executive Version 6.7" -** -** Copyright (c) 2006-2019 United States Government as represented by -** the Administrator of the National Aeronautics and Space Administration. -** All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ - -/****************************************************************************** -** File: cfe_platform_cfg.h -** -** Purpose: -** This header file contains the platform configuration parameters. -** -** Notes: -** The impact of changing these configurations from their default value is -** not yet documented. Changing these values may impact the performance -** and functionality of the system. -** -** Author: R.McGraw/SSI -** -******************************************************************************/ - -#ifndef _cfe_platform_cfg_ -#define _cfe_platform_cfg_ - -/* -** Allow reference to CFE_MISSION_SPACECRAFT_ID (see CFE_TBL_VALID_ definitions below) -*/ -#include "cfe_mission_cfg.h" - -/* -** CPU Id for target Processor -*/ -#define CFE_PLATFORM_CPU_ID 1 - -/* -** CPU Name for target Processor -*/ -#define CFE_PLATFORM_CPU_NAME "CPU1" - -/** -** \cfesbcfg Maximum Number of Unique Message IDs SB Routing Table can hold -** -** \par Description: -** Dictates the maximum number of unique MsgIds the SB routing table will hold. -** This constant has a direct affect on the size of SB's tables and arrays. -** Keeping this count as low as possible will save memory. -** To see the run-time, high-water mark and the current utilization figures -** regarding this parameter, send an SB command to 'Send Statistics Pkt'. -** -** \par Limits -** This parameter has a lower limit of 1 and an upper limit of 1024. -** -*/ -#define CFE_PLATFORM_SB_MAX_MSG_IDS 256 - - -/** -** \cfesbcfg Maximum Number of Unique Pipes SB Routing Table can hold -** -** \par Description: -** Dictates the maximum number of unique Pipes the SB routing table will hold. -** This constant has a direct affect on the size of SB's tables and arrays. -** Keeping this count as low as possible will save memory. -** To see the run-time, high-water mark and the current utilization figures -** regarding this parameter, send an SB command to 'Send Statistics Pkt'. -** -** \par Limits -** This parameter has a lower limit of 1. This parameter must also be less than -** or equal to OS_MAX_QUEUES. -** -*/ -#define CFE_PLATFORM_SB_MAX_PIPES 64 - - -/** -** \cfesbcfg Maximum Number of unique local destinations a single MsgId can have -** -** \par Description: -** Dictates the maximum number of unique local destinations a single MsgId can -** have. -** -** \par Limits -** This parameter has a lower limit of 1. There are no restrictions on the upper -** limit however, the maximum number of destinations per packet is system dependent -** and should be verified. Destination number values that are checked against this -** configuration are defined by a 16 bit data word. -** -*/ -#define CFE_PLATFORM_SB_MAX_DEST_PER_PKT 16 - - -/** -** \cfesbcfg Default Subscription Message Limit -** -** \par Description: -** Dictates the default Message Limit when using the #CFE_SB_Subscribe API. This will -** limit the number of messages with a specific message ID that can be received through -** a subscription. This only changes the default; other message limits can be set on a per -** subscription basis using #CFE_SB_SubscribeEx . -** -** \par Limits -** This parameter has a lower limit of 4 and an upper limit of 65535. -** -*/ -#define CFE_PLATFORM_SB_DEFAULT_MSG_LIMIT 4 - - -/** -** \cfesbcfg Size of the SB buffer memory pool -** -** \par Description: -** Dictates the size of the SB memory pool. For each message the SB -** sends, the SB dynamically allocates from this memory pool, the memory needed -** to process the message. The memory needed to process each message is msg -** size + msg descriptor(CFE_SB_BufferD_t). This memory pool is also used -** to allocate destination descriptors (CFE_SB_DestinationD_t) during the -** subscription process. -** To see the run-time, high-water mark and the current utilization figures -** regarding this parameter, send an SB command to 'Send Statistics Pkt'. -** Some memory statistics have been added to the SB housekeeping packet. -** NOTE: It is important to monitor these statistics to ensure the desired -** memory margin is met. -** -** \par Limits -** This parameter has a lower limit of 512 and an upper limit of UINT_MAX (4 Gigabytes). -** -*/ -#define CFE_PLATFORM_SB_BUF_MEMORY_BYTES 524288 - - -/** -** \cfesbcfg Maximum depth allowed when creating an SB pipe -** -** \par Description: -** The value of this constant dictates the maximum pipe depth that an -** application may request. The pipe depth is given as a paramter in the -** #CFE_SB_CreatePipe API. -** -** \par Limits -** This parameter has a lower limit of 1. There are no restrictions on the -** upper limit however, the maximum pipe depth is system dependent and should -** be verified. Pipe Depth values that are checked against this configuration -** are defined by a 16 bit data word. -*/ -#define CFE_PLATFORM_SB_MAX_PIPE_DEPTH 256 - - -/** -** \cfesbcfg Highest Valid Message Id -** -** \par Description: -** The value of this constant dictates the size of the SB message map. The SB -** message map is a lookup table that provides the routing table index for -** fast access into the routing table. The default setting of 0x1FFF was chosen -** to save memory. This reduces the message map from 128Kbytes to 16Kbytes. -** See CFE_FSW_DCR 504 for more details. -** -** If this value is different in a distributed architecture some platforms may not -** be able to subscribe to messages generated on other platforms since the message id -** would exceed the mapping table's highest index. Care would have to be taken to ensure the -** constrained platform did not subscribe to message Ids that exceed -** CFE_PLATFORM_SB_HIGHEST_VALID_MSGID -** -** The recommended case to to have this value the same across all mission platforms -** -** \par Limits -** This parameter has a lower limit of 1 and an upper limit of 0xFFFF. Note -** for current implementations, V2/Extended headers assign 0xFFFFFFFF as the invalid -** message ID value, and default headers assigns 0xFFFF as the invalid value. This -** means for default headers, 0xFFFF is invalid even if you set the value -** below to it's maximum of 0xFFFF. -** The allocated message table is this size + 1 (could change based on implementaiton). -*/ -#define CFE_PLATFORM_SB_HIGHEST_VALID_MSGID 0x1FFF - -/** -** \cfesbcfg Platform Endian Indicator -** -** \par Description: -** The value of this constant indicates the endianess of the target system -** -** \par Limits -** This parameter has a lower limit of 0 and an upper limit of 1. -*/ -#define CFE_PLATFORM_ENDIAN CCSDS_LITTLE_ENDIAN - -/** -** \cfesbcfg Default Routing Information Filename -** -** \par Description: -** The value of this constant defines the filename used to store the software -** bus routing information. This filename is used only when no filename is -** specified in the command. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_SB_DEFAULT_ROUTING_FILENAME "/ram/cfe_sb_route.dat" - - -/** -** \cfesbcfg Default Pipe Information Filename -** -** \par Description: -** The value of this constant defines the filename used to store the software -** bus pipe information. This filename is used only when no filename is -** specified in the command. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_SB_DEFAULT_PIPE_FILENAME "/ram/cfe_sb_pipe.dat" - - -/** -** \cfesbcfg Default Message Map Filename -** -** \par Description: -** The value of this constant defines the filename used to store the software -** bus message map information. This filename is used only when no filename is -** specified in the command. The message map is a lookup table (array of 16bit -** words) that has an element for each possible MsgId value and holds the -** routing table index for that MsgId. The Msg Map provides fast access to the -** destinations of a message. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_SB_DEFAULT_MAP_FILENAME "/ram/cfe_sb_msgmap.dat" - - -/** -** \cfesbcfg SB Event Filtering -** -** \par Description: -** This group of configuration paramters dictates what SB events will be -** filtered through EVS. The filtering will begin after the SB task initializes -** and stay in effect until a cmd to EVS changes it. -** This allows the operator to set limits on the number of event messages that -** are sent during system initialization. -** NOTE: Set all unused event values and mask values to zero -** -** \par Limits -** This filtering applies only to SB events. -** These parameters have a lower limit of 0 and an upper limit of 65535. -*/ -#define CFE_PLATFORM_SB_FILTERED_EVENT1 CFE_SB_SEND_NO_SUBS_EID -#define CFE_PLATFORM_SB_FILTER_MASK1 CFE_EVS_FIRST_4_STOP - -#define CFE_PLATFORM_SB_FILTERED_EVENT2 CFE_SB_DUP_SUBSCRIP_EID -#define CFE_PLATFORM_SB_FILTER_MASK2 CFE_EVS_FIRST_4_STOP - -#define CFE_PLATFORM_SB_FILTERED_EVENT3 CFE_SB_MSGID_LIM_ERR_EID -#define CFE_PLATFORM_SB_FILTER_MASK3 CFE_EVS_FIRST_16_STOP - -#define CFE_PLATFORM_SB_FILTERED_EVENT4 CFE_SB_Q_FULL_ERR_EID -#define CFE_PLATFORM_SB_FILTER_MASK4 CFE_EVS_FIRST_16_STOP - -#define CFE_PLATFORM_SB_FILTERED_EVENT5 0 -#define CFE_PLATFORM_SB_FILTER_MASK5 CFE_EVS_NO_FILTER - -#define CFE_PLATFORM_SB_FILTERED_EVENT6 0 -#define CFE_PLATFORM_SB_FILTER_MASK6 CFE_EVS_NO_FILTER - -#define CFE_PLATFORM_SB_FILTERED_EVENT7 0 -#define CFE_PLATFORM_SB_FILTER_MASK7 CFE_EVS_NO_FILTER - -#define CFE_PLATFORM_SB_FILTERED_EVENT8 0 -#define CFE_PLATFORM_SB_FILTER_MASK8 CFE_EVS_NO_FILTER - - -/** -** \cfeescfg Define SB Memory Pool Block Sizes -** -** \par Description: -** Software Bus Memory Pool Block Sizes -** -** \par Limits -** These sizes MUST be increasing and MUST be an integral multiple of 4. -** The number of block sizes defined cannot exceed -** #CFE_ES_MAX_MEMPOOL_BLOCK_SIZES -*/ -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_01 8 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_02 16 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_03 20 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_04 36 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_05 64 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_06 96 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_07 128 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_08 160 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_09 256 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_10 512 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_11 1024 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_12 2048 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_13 4096 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_14 8192 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_15 16384 -#define CFE_PLATFORM_SB_MEM_BLOCK_SIZE_16 32768 -#define CFE_PLATFORM_SB_MAX_BLOCK_SIZE (CFE_MISSION_SB_MAX_SB_MSG_SIZE + 40) - -/** -** \cfesbcfg Define Default Sender Information Storage Mode -** -** \par Description: -** Defines the default mode for the storing of sender information when sending -** a software bus message. If set to 1, the sender information will be stored. -** If set to 0, the sender information will not be stored. -** -** \par Limits -** There is a lower limit of 0 and an upper limit of 1 on this configuration -** paramater. -*/ -#define CFE_PLATFORM_SB_DEFAULT_REPORT_SENDER 1 - - -/** -** \cfetimecfg Time Server or Time Client Selection -** -** \par Description: -** This configuration parameter selects whether the Time task functions as a -** time "server" or "client". A time server generates the "time at the tone" -** packet which is received by time clients. -** -** \par Limits -** Enable one, and only one by defining either CFE_PLATFORM_TIME_CFG_SERVER or -** CFE_PLATFORM_TIME_CFG_CLIENT AS true. The other must be defined as false. -*/ -#define CFE_PLATFORM_TIME_CFG_SERVER true -#define CFE_PLATFORM_TIME_CFG_CLIENT false - - -/** -** \cfetimecfg Time Tone In Big-Endian Order -** -** \par Description: -** If this configuration parameter is defined, the CFE time server will -** publish time tones with payloads in big-endian order, and time clients -** will expect the tones to be in big-endian order. This is useful for -** mixed-endian environments. This will become obsolete once EDS is -** available and the CFE time tone message is defined. -*/ -#undef CFE_PLATFORM_TIME_CFG_BIGENDIAN - - -/** -** \cfetimecfg Local MET or Virtual MET Selection for Time Servers -** -** \par Description: -** Depending on the specific hardware system configuration, it may be possible -** for Time Servers to read the "local" MET from a h/w register rather than -** having to track the MET as the count of tone signal interrupts (virtual MET) -** -** Time Clients must be defined as using a virtual MET. Also, a Time Server -** cannot be defined as having both a h/w MET and an external time source (they -** both cannot synchronize to the same tone). -** -** Note: "disable" this define (set to false) only for Time Servers with local hardware -** that supports a h/w MET that is synchronized to the tone signal !!! -** -** \par Limits -** Only applies if #CFE_PLATFORM_TIME_CFG_SERVER is set to true. -*/ -#define CFE_PLATFORM_TIME_CFG_VIRTUAL true - - -/** -** \cfetimecfg Include or Exclude the Primary/Redundant Tone Selection Cmd -** -** \par Description: -** Depending on the specific hardware system configuration, it may be possible -** to switch between a primary and redundant tone signal. If supported by -** hardware, this definitions will enable command interfaces to select the -** active tone signal. Both Time Clients and Time Servers support this feature. -** Note: Set the CFE_PLATFORM_TIME_CFG_SIGNAL define to true to enable tone signal commands. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_TIME_CFG_SIGNAL false - - -/** -** \cfetimecfg Include or Exclude the Internal/External Time Source Selection Cmd -** -** \par Description: -** By default, Time Servers maintain time using an internal MET which may be a -** h/w register or software counter, depending on available hardware. The -** following definition enables command interfaces to switch between an -** internal MET, or external time data received from one of several supported -** external time sources. Only a Time Server may be configured to use external -** time data. -** Note: Set the CFE_PLATFORM_TIME_CFG_SOURCE define to true to include the Time Source -** Selection Command (command allows selection between the internal -** or external time source). Then choose the external source with the -** CFE_TIME_CFG_SRC_??? define. -** -** \par Limits -** Only applies if #CFE_PLATFORM_TIME_CFG_SERVER is set to true. -*/ -#define CFE_PLATFORM_TIME_CFG_SOURCE false - - -/** -** \cfetimecfg Choose the External Time Source for Server only -** -** \par Description: -** If #CFE_PLATFORM_TIME_CFG_SOURCE is set to true, then one of the following external time -** source types must also be set to true. Do not set any of the external time -** source types to true unless #CFE_PLATFORM_TIME_CFG_SOURCE is set to true. -** -** \par Limits -** -# If #CFE_PLATFORM_TIME_CFG_SOURCE is set to true then one and only one of the following -** three external time sources can and must be set true: -** #CFE_PLATFORM_TIME_CFG_SRC_MET, #CFE_PLATFORM_TIME_CFG_SRC_GPS, #CFE_PLATFORM_TIME_CFG_SRC_TIME -** -# Only applies if #CFE_PLATFORM_TIME_CFG_SERVER is set to true. -*/ -#define CFE_PLATFORM_TIME_CFG_SRC_MET false -#define CFE_PLATFORM_TIME_CFG_SRC_GPS false -#define CFE_PLATFORM_TIME_CFG_SRC_TIME false - - -/** -** \cfetimecfg Define the Max Delta Limits for Time Servers using an Ext Time Source -** -** \par Description: -** If #CFE_PLATFORM_TIME_CFG_SOURCE is set to true and one of the external time sources is -** also set to true, then the delta time limits for range checking is used. -** -** When a new time value is received from an external source, the value is -** compared against the "expected" time value. If the delta exceeds the -** following defined amount, then the new time data will be ignored. This range -** checking is only performed after the clock state has been commanded to -** "valid". Until then, external time data is accepted unconditionally. -** -** \par Limits -** Applies only if both #CFE_PLATFORM_TIME_CFG_SERVER and #CFE_PLATFORM_TIME_CFG_SOURCE are set -** to true. -*/ -#define CFE_PLATFORM_TIME_MAX_DELTA_SECS 0 -#define CFE_PLATFORM_TIME_MAX_DELTA_SUBS 500000 - - -/** -** \cfetimecfg Define the Local Clock Rollover Value in seconds and subseconds -** -** \par Description: -** Specifies the capability of the local clock. Indicates the time at which -** the local clock rolls over. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_TIME_MAX_LOCAL_SECS 27 -#define CFE_PLATFORM_TIME_MAX_LOCAL_SUBS 0 - - -/** -** \cfetimecfg Define Timing Limits From One Tone To The Next -** -** \par Description: -** Defines limits to the timing of the 1Hz tone signal. A tone signal is valid -** only if it arrives within one second (plus or minus the tone limit) from -** the previous tone signal.Units are microseconds as measured with the local -** clock. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_TIME_CFG_TONE_LIMIT 20000 - - - -/** -** \cfetimecfg Define Time to Start Flywheel Since Last Tone -** -** \par Description: -** Define time to enter flywheel mode (in seconds since last tone data update) -** Units are microseconds as measured with the local clock. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_TIME_CFG_START_FLY 2 - - -/** -** \cfetimecfg Define Periodic Time to Update Local Clock Tone Latch -** -** \par Description: -** Define Periodic Time to Update Local Clock Tone Latch. Applies only when -** in flywheel mode. This define dicates the period at which the simulated -** 'last tone' time is updated. Units are seconds. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_TIME_CFG_LATCH_FLY 8 - - -/** -** \cfeescfg Define Max Number of Applications -** -** \par Description: -** Defines the maximum number of applications that can be loaded into the -** system. This number does not include child tasks. -** -** \par Limits -** There is a lower limit of 6. The lower limit corresponds to the cFE internal -** applications. There are no restrictions on the upper limit however, the -** maximum number of applications is system dependent and should be verified. -** AppIDs that are checked against this configuration are defined by a 32 bit -** data word. -*/ -#define CFE_PLATFORM_ES_MAX_APPLICATIONS 32 - - -/** -** \cfeescfg Define Max Number of Shared libraries -** -** \par Description: -** Defines the maximum number of cFE Shared libraries that can be loaded into -** the system. -** -** \par Limits -** There is a lower limit of 1. There are no restrictions on the upper limit -** however, the maximum number of libraries is system dependent and should be -** verified. -*/ -#define CFE_PLATFORM_ES_MAX_LIBRARIES 10 - -/** -** \cfeescfg Define Max Number of ER (Exception and Reset) log entries -** -** \par Description: -** Defines the maximum number of ER (Exception and Reset) log entries -** -** \par Limits -** There is a lower limit of 1. There are no restrictions on the upper limit -** however, the maximum number of log entries is system dependent and should be -** verified. -*/ -#define CFE_PLATFORM_ES_ER_LOG_ENTRIES 20 - -/** \cfeescfg Maximum size of CPU Context in ES Error Log -** -** \par Description: -** This should be large enough to accommodate the CPU context -** information supplied by the PSP on the given platform. -** -** \par Limits: -** Must be greater than zero and a multiple of sizeof(uint32). -** Limited only by the available memory and the number of entries -** in the error log. Any context information beyond this size will -** be truncated. -*/ -#define CFE_PLATFORM_ES_ER_LOG_MAX_CONTEXT_SIZE 256 - - -/** -** \cfeescfg Define Size of the cFE System Log. -** -** \par Description: -** Defines the size in bytes of the cFE system log. The system log holds -** variable length strings that are terminated by a linefeed and null -** character. -** -** \par Limits -** There is a lower limit of 512. There are no restrictions on the upper limit -** however, the maximum system log size is system dependent and should be -** verified. -*/ -#define CFE_PLATFORM_ES_SYSTEM_LOG_SIZE 3072 - - -/** -** \cfeescfg Define Number of entries in the ES Object table -** -** \par Description: -** Defines the number of entries in the ES Object table. This table controls -** the core cFE startup. -** -** \par Limits -** There is a lower limit of 15. There are no restrictions on the upper limit -** however, the maximum object table size is system dependent and should be -** verified. -*/ -#define CFE_PLATFORM_ES_OBJECT_TABLE_SIZE 30 - - -/** -** \cfeescfg Define Max Number of Generic Counters -** -** \par Description: -** Defines the maximum number of Generic Counters that can be registered. -** -** \par Limits -** This parameter has a lower limit of 1 and an upper limit of 65535. -*/ -#define CFE_PLATFORM_ES_MAX_GEN_COUNTERS 8 - - -/** -** \cfeescfg Define ES Application Control Scan Rate -** -** \par Description: -** ES Application Control Scan Rate. This parameter controls the speed that ES -** scans the Application Table looking for App Delete/Restart/Reload requests. -** All Applications are deleted, restarted, or reloaded by the ES Application. -** ES will periodically scan for control requests to process. The scan rate is -** controlled by this parameter, which is given in milliseconds. A value of -** 1000 means that ES will scan the Application Table once per second. Be -** careful not to set the value of this too low, because ES will use more CPU -** cycles scanning the table. -** -** \par Limits -** There is a lower limit of 100 and an upper limit of 20000 on this -** configuration paramater. millisecond units. -*/ -#define CFE_PLATFORM_ES_APP_SCAN_RATE 1000 - - -/** -** \cfeescfg Define ES Application Kill Timeout -** -** \par Description: -** ES Application Kill Timeout. This parameter controls the number of -** "scan periods" that ES will wait for an application to Exit after getting -** the signal Delete, Reload or Restart. The sequence works as follows: -** -# ES will set the control request for an App to Delete/Restart/Reload and -** set this kill timer to the value in this parameter. -** -# If the App is reponding and Calls it's RunLoop function, it will drop out -** of it's main loop and call CFE_ES_ExitApp. Once it calls Exit App, then -** ES can delete, restart, or reload the app the next time it scans the app -** table. -** -# If the App is not responding, the ES App will decrement this Kill Timeout -** value each time it runs. If the timeout value reaches zero, ES will kill -** the app. -** -** The Kill timeout value depends on the #CFE_PLATFORM_ES_APP_SCAN_RATE. If the Scan Rate -** is 1000, or 1 second, and this #CFE_PLATFORM_ES_APP_KILL_TIMEOUT is set to 5, then it -** will take 5 seconds to kill a non-responding App. -** If the Scan Rate is 250, or 1/4 second, and the #CFE_PLATFORM_ES_APP_KILL_TIMEOUT is -** set to 2, then it will take 1/2 second to time out. -** -** \par Limits -** There is a lower limit of 1 and an upper limit of 100 on this configuration -** paramater. Units are number of #CFE_PLATFORM_ES_APP_SCAN_RATE cycles. -*/ -#define CFE_PLATFORM_ES_APP_KILL_TIMEOUT 5 - - -/** -** \cfeescfg ES Ram Disk Sector Size -** -** \par Description: -** Defines the ram disk sector size. The ram disk is 1 of 4 memory areas that -** are preserved on a processor reset. -** NOTE: Changing this value changes memory allocation, and may -** require changes to platform specific values (in CFE_PSP) such as -** USER_RESERVED_MEM in VxWorks depending on the memory areas -** being used for preserved data and on OS specific behavior. -** -** \par Limits -** There is a lower limit of 128. There are no restrictions on the upper limit -** however, the maximum RAM disk sector size is system dependent and should be -** verified. -*/ -#define CFE_PLATFORM_ES_RAM_DISK_SECTOR_SIZE 512 - - -/** -** \cfeescfg ES Ram Disk Number of Sectors -** -** \par Description: -** Defines the ram disk number of sectors. The ram disk is one of four memory -** areas that are preserved on a processor reset. -** NOTE: Changing this value changes memory allocation, and may -** require changes to platform specific values (in CFE_PSP) such as -** USER_RESERVED_MEM in VxWorks depending on the memory areas -** being used for preserved data and on OS specific behavior. -** -** \par Limits -** There is a lower limit of 128. There are no restrictions on the upper limit -** however, the maximum number of RAM sectors is system dependent and should be -** verified. -*/ -#define CFE_PLATFORM_ES_RAM_DISK_NUM_SECTORS 4096 - -/** -** \cfeescfg Percentage of Ram Disk Reserved for Decompressing Apps -** -** \par Description: -** The #CFE_PLATFORM_ES_RAM_DISK_PERCENT_RESERVED parameter is used to make sure that the -** Volatile ( RAM ) Disk has a defined amount of free space during a processor -** reset. The cFE uses the Volatile disk to decompress cFE applications during -** system startup. If this Volatile disk happens to get filled with logs and -** misc files, then a processor reset may not work, because there will be no -** room to decompress cFE apps. To solve that problem, this parameter sets the -** "Low Water Mark" for disk space on a Processor reset. It should be set to -** allow the largest cFE Application to be decompressed. -** During a Processor reset, if there is not sufficient space left on the disk, -** it will be re-formatted in order to clear up some space. -** -** This feature can be turned OFF by setting the parameter to 0. -** -** \par Limits -** There is a lower limit of 0 and an upper limit of 75 on this configuration -** paramater.Units are percentage. A setting of zero will turn this feature -** off. -*/ -#define CFE_PLATFORM_ES_RAM_DISK_PERCENT_RESERVED 30 - - -/** -** \cfeescfg RAM Disk Mount string -** -** \par Description: -** The #CFE_PLATFORM_ES_RAM_DISK_MOUNT_STRING parameter is used to set the cFE mount path -** for the CFE RAM disk. This is a parameter for missions that do not want to -** use the default value of "/ram", or for missions that need to have a different -** value for different CPUs or Spacecraft. -** Note that the vxWorks OSAL cannot currently handle names that have more than one -** path separator in it. The names "/ram", "/ramdisk", "/disk123" will all work, but -** "/disks/ram" will not. -** Multiple separators can be used with the posix or RTEMS ports. -** -*/ -#define CFE_PLATFORM_ES_RAM_DISK_MOUNT_STRING "/ram" - - -/** -** \cfeescfg Define Critical Data Store Size -** -** \par Description: -** Defines the Critical Data Store (CDS) area size in bytes size. The CDS is -** one of four memory areas that are preserved during a processor reset. -** NOTE: Changing this value changes memory allocation, and may -** require changes to platform specific values (in CFE_PSP) such as -** USER_RESERVED_MEM in VxWorks depending on the memory areas -** being used for preserved data and on OS specific behavior. -** -** \par Limits -** There is a lower limit of 8192 and an upper limit of UINT_MAX (4 Gigabytes) -** on this configuration paramater. -*/ -#define CFE_PLATFORM_ES_CDS_SIZE ( 128 * 1024 ) - - -/** -** \cfeescfg Define User Reserved Memory Size -** -** \par Description: -** User Reserved Memory Size. This is the size in bytes of the cFE User -** reserved Memory area. This is a block of memory that is available for cFE -** application use. The address is obtained by calling -** #CFE_PSP_GetUserReservedArea. The User Reserved Memory is one of four memory -** areas that are preserved during a processor reset. -** NOTE: Changing this value changes memory allocation, and may -** require changes to platform specific values (in CFE_PSP) such as -** USER_RESERVED_MEM in VxWorks depending on the memory areas -** being used for preserved data and on OS specific behavior. -** -** \par Limits -** There is a lower limit of 1024 and an upper limit of UINT_MAX (4 Gigabytes) -** on this configuration paramater. -*/ -#define CFE_PLATFORM_ES_USER_RESERVED_SIZE ( 1024 * 1024 ) - - -/** -** \cfeescfg Define ES Reset Area Size -** -** \par Description: -** The ES Reset Area Size. This is the size in bytes of the cFE Reset variable -** and log area. This is a block of memory used by the cFE to store the system -** log ER Log and critical reset variables. This is 4 of 4 of the memory areas -** that are preserved during a processor reset. -** Note: This area must be sized large enough to hold all of the data -** structures. It should be automatically sized based on the CFE_ES_ResetData_t -** type, but circular dependancies in the headers prevent it from being defined -** this way. -** NOTE: Changing this value changes memory allocation, and may -** require changes to platform specific values (in CFE_PSP) such as -** USER_RESERVED_MEM in VxWorks depending on the memory areas -** being used for preserved data and on OS specific behavior. -** -** \par Limits -** There is a lower limit of 153600 (150KBytes) and an upper limit of UINT_MAX -** (4 Gigabytes) on this configuration paramater. -*/ -#define CFE_PLATFORM_ES_RESET_AREA_SIZE ( 170 * 1024 ) - -/** -** \cfeescfg Define Memory Pool Alignment Size -** -** \par Description: -** Ensures that buffers obtained from a memory pool are aligned -** to a certain minimum block size. Note the allocator will always -** align to the minimum required by the CPU architecture. This may -** be set greater than the CPU requirement as desired for optimal -** performance. -** -** For some architectures/applications it may be beneficial to set this -** to the cache line size of the target CPU, or to use special SIMD -** instructions that require a more stringent memory alignment. -** -** \par Limits -** This must always be a power of 2, as it is used as a binary address mask. -*/ -#define CFE_PLATFORM_ES_MEMPOOL_ALIGN_SIZE_MIN 4 - - -/** -** \cfeescfg ES Nonvolatile Startup Filename -** -** \par Description: -** The value of this constant defines the path and name of the file that -** contains a list of modules that will be loaded and started by the cFE after -** the cFE finishes its startup sequence. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_NONVOL_STARTUP_FILE "/cf/cfe_es_startup.scr" - - -/** -** \cfeescfg ES Volatile Startup Filename -** -** \par Description: -** The value of this constant defines the path and name of the file that -** contains a list of modules that will be loaded and started by the cFE after -** the cFE finishes its startup sequence. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_VOLATILE_STARTUP_FILE "/ram/cfe_es_startup.scr" - -/** -** \cfeescfg Default Shell Filename -** -** \par Description: -** The value of this constant defines the filename used to store the shell -** output after a shell command is received by ES. This file contains the -** entire shell output. The fsw also sends the shell output in series of fixed -** size telemetry packets. This filename is used only when no filename -** is specified in the shell command. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_DEFAULT_SHELL_FILENAME "/ram/ShellCmd.out" - - -/** -** \cfeescfg Define Max Shell Command Size -** -** \par Description: -** Defines the maximum size in characters of the shell command. -** -** \par Limits -** There is a lower limit of 64 and an upper limit of #OS_MAX_CMD_LEN. Units are -** characters. -*/ -#define CFE_PLATFORM_ES_MAX_SHELL_CMD 64 - - -/** -** \cfeescfg Define Shell Command Telemetry Pkt Segment Size -** -** \par Description: -** Defines the size of the shell command tlm packet segments.The shell command -** output size is dependant on the shell command itself. If the shell output -** size is greater than the size of the packet defined here, the fsw will -** generate a series of tlm packets (of the size defined here) that can be -** reconstructed by the ground system. -** -** \par Limits -** There is a lower limit of 32 and an upper limit of #CFE_SB_MAX_SB_MSG_SIZE. -*/ -#define CFE_PLATFORM_ES_MAX_SHELL_PKT 64 - -/** -** \cfeescfg Define OS Task Delay Value for ES Shell Command -** -** \par Description: -** This parameter defines the length of time (in milliseconds) ES will -** delay when sending shell command packets over the software bus to not -** flood the pipe on large messages. -** -** Note: The milliseconds passed into OS_TaskDelay are converted into the -** units the underlying OS uses to measure time passing. Many platforms -** limit the precision of this value however, a delay may not be -** needed at all in which the value may be set to zero. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_ES_SHELL_OS_DELAY_MILLISEC 200 - -/** -** \cfeescfg Default Application Information Filename -** -** \par Description: -** The value of this constant defines the filename used to store information -** pertaining to all of the Applications that are registered with Executive -** Services. This filename is used only when no filename is specified in the -** the command to query all system apps. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_DEFAULT_APP_LOG_FILE "/ram/cfe_es_app_info.log" - -/** -** \cfeescfg Default Application Information Filename -** -** \par Description: -** The value of this constant defines the filename used to store information -** pertaining to all of the Applications that are registered with Executive -** Services. This filename is used only when no filename is specified in the -** the command to query all system tasks. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_DEFAULT_TASK_LOG_FILE "/ram/cfe_es_task_info.log" - -/** -** \cfeescfg Default System Log Filename -** -** \par Description: -** The value of this constant defines the filename used to store important -** information (as ASCII text strings) that might not be able to be sent in an -** Event Message. This filename is used only when no filename is specified in -** the command to dump the system log. No file specified in the cmd means the -** first character in the cmd filename is a NULL terminator (zero). -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_DEFAULT_SYSLOG_FILE "/ram/cfe_es_syslog.log" - -/** -** \cfeescfg Default Exception and Reset (ER) Log Filename -** -** \par Description: -** The value of this constant defines the filename used to store the -** Exception and Reset (ER) Log. This filename is used only when no filename is -** specified in the command to dump the ER log. No file specified in the cmd -** means the first character in the cmd filename is a NULL terminator (zero). -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_DEFAULT_ER_LOG_FILE "/ram/cfe_erlog.log" - -/** -** \cfeescfg Default Performance Data Filename -** -** \par Description: -** The value of this constant defines the filename used to store the -** Performance Data. This filename is used only when no filename is specified -** in the command to stop performance data collecting. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_DEFAULT_PERF_DUMP_FILENAME "/ram/cfe_es_perf.dat" - - -/** -** \cfeescfg Default Critical Data Store Registry Filename -** -** \par Description: -** The value of this constant defines the filename used to store the -** Critical Data Store Registry. This filename is used only when no filename is -** specified in the command to stop performance data collecting. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_ES_DEFAULT_CDS_REG_DUMP_FILE "/ram/cfe_cds_reg.log" - -/** -** \cfeescfg Define Default System Log Mode following Power On Reset -** -** \par Description: -** Defines the default mode for the operation of the ES System log following a power -** on reset. The log may operate in either Overwrite mode = 0, where once the -** log becomes full the oldest message in the log will be overwritten, or -** Discard mode = 1, where once the log becomes full the contents of the log are -** preserved and the new event is discarded. This constant may hold a value of -** either 0 or 1 depending on the desired default. -** Overwrite Mode = 0, Discard Mode = 1. -** -** \par Limits -** There is a lower limit of 0 and an upper limit of 1 on this configuration -** paramater. -*/ -#define CFE_PLATFORM_ES_DEFAULT_POR_SYSLOG_MODE 0 - -/** -** \cfeescfg Define Default System Log Mode following Processor Reset -** -** \par Description: -** Defines the default mode for the operation of the ES System log following a -** processor reset. The log may operate in either Overwrite mode = 0, where once -** the log becomes full the oldest message in the log will be overwritten, or -** Discard mode = 1, where once the log becomes full the contents of the log are -** preserved and the new event is discarded. This constant may hold a value of -** either 0 or 1 depending on the desired default. -** Overwrite Mode = 0, Discard Mode = 1. -** -** \par Limits -** There is a lower limit of 0 and an upper limit of 1 on this configuration -** paramater. -*/ -#define CFE_PLATFORM_ES_DEFAULT_PR_SYSLOG_MODE 1 - -/** -** \cfeescfg Define Max Number of Performance IDs -** -** \par Description: -** Defines the maximum number of perf ids allowed. -** -** -** \par Limits -** This number must always be divisible by 32. There is a lower limit of 32 and -** an upper limit of 512 on this configuration paramater. -*/ -#define CFE_PLATFORM_ES_PERF_MAX_IDS 128 - -/** -** \cfeescfg Define Max Size of Performance Data Buffer -** -** \par Description: -** Defines the maximum size of the performance data buffer. Units are number of -** performance data entries. An entry is defined by a 32 bit data word followed -** by a 64 bit time stamp. -** -** \par Limits -** There is a lower limit of 1025. There are no restrictions on the upper limit -** however, the maximum buffer size size is system dependent and should be verified. -** The units are number of entries. An entry is defined by a 32 bit data word followed -** by a 64 bit time stamp. -*/ -#define CFE_PLATFORM_ES_PERF_DATA_BUFFER_SIZE 10000 - - -/** -** \cfeescfg Define Filter Mask Setting for Disabling All Performance Entries -** -** \par Description: -** Defines the filter mask for disabling all performance entries. The value is a -** bit mask. For each bit, 0 means the corresponding entry is disabled and -** 1 means it is enabled. -*/ -#define CFE_PLATFORM_ES_PERF_FILTMASK_NONE 0 - -/** -** \cfeescfg Define Filter Mask Setting for Enabling All Performance Entries -** -** \par Description: -** Defines the filter mask for enabling all performance entries. The value is a -** bit mask. For each bit, 0 means the corresponding entry is disabled and -** 1 means it is enabled. -*/ -#define CFE_PLATFORM_ES_PERF_FILTMASK_ALL ~CFE_PLATFORM_ES_PERF_FILTMASK_NONE - -/** -** \cfeescfg Define Default Filter Mask Setting for Performance Data Buffer -** -** \par Description: -** Defines the default filter mask for the performance data buffer. The value is a -** bit mask. For each bit, 0 means the corresponding entry is disabled and 1 -** means it is enabled. -** -*/ -#define CFE_PLATFORM_ES_PERF_FILTMASK_INIT CFE_PLATFORM_ES_PERF_FILTMASK_ALL - - -/** -** \cfeescfg Define Default Filter Trigger Setting for Disabling All Performance Entries -** -** \par Description: -** Defines the default trigger mask for disabling all performance data entries. The value -** is a bit mask. For each bit, 0 means the trigger for the corresponding entry is -** disabled and 1 means it is enabled. -** -*/ -#define CFE_PLATFORM_ES_PERF_TRIGMASK_NONE 0 - -/** -** \cfeescfg Define Filter Trigger Setting for Enabling All Performance Entries -** -** \par Description: -** Defines the trigger mask for enabling all performance data entries. The value is -** a bit mask. For each bit, 0 means the trigger for the corresponding entry is -** disabled and 1 means it is enabled. -** -*/ -#define CFE_PLATFORM_ES_PERF_TRIGMASK_ALL ~CFE_PLATFORM_ES_PERF_TRIGMASK_NONE - -/** -** \cfeescfg Define Default Filter Trigger Setting for Performance Data Buffer -** -** \par Description: -** Defines the default trigger mask for the performance data buffer. The value is a -** 32-bit mask. For each bit, 0 means the trigger for the corresponding entry is -** disabled and 1 means it is enabled. -** -*/ -#define CFE_PLATFORM_ES_PERF_TRIGMASK_INIT CFE_PLATFORM_ES_PERF_TRIGMASK_NONE - -/** -** \cfeescfg Define Performance Analyzer Child Task Priority -** -** \par Description: -** This parameter defines the priority of the child task spawed by the -** Executive Services to write performance data to a file. Lower numbers -** are higher priority, with 1 being the highest priority in the case of a -** child task. -** -** \par Limits -** Valid range for a child task is 1 to 255 however, the priority cannot -** be higher (lower number) than the ES parent application priority. -*/ -#define CFE_PLATFORM_ES_PERF_CHILD_PRIORITY 200 - -/** -** \cfeescfg Define Performance Analyzer Child Task Stack Size -** -** \par Description: -** This parameter defines the stack size of the child task spawed by the -** Executive Services to write performance data to a file. -** -** \par Limits -** It is recommended this parameter be greater than or equal to 4KB. This parameter -** is limited by the maximum value allowed by the data type. In this case, the data -** type is an unsigned 32-bit integer, so the valid range is 0 to 0xFFFFFFFF. -*/ -#define CFE_PLATFORM_ES_PERF_CHILD_STACK_SIZE 4096 - -/** -** \cfeescfg Define Performance Analyzer Child Task Delay -** -** \par Description: -** This parameter defines the delay time (in milliseconds) between performance -** data file writes performed by the Executive Services Performace Analyzer -** Child Task. -** -** \par Limits -** It is recommended this parameter be greater than or equal to 20ms. This parameter -** is limited by the maximum value allowed by the data type. In this case, the data -** type is an unsigned 32-bit integer, so the valid range is 0 to 0xFFFFFFFF. -*/ -#define CFE_PLATFORM_ES_PERF_CHILD_MS_DELAY 20 - -/** -** \cfeescfg Define Performance Analyzer Child Task Number of Entries Between Delay -** -** \par Description: -** This parameter defines the number of performace analyzer entries the Performace -** Analyzer Child Task will write to the file between delays. -** -*/ -#define CFE_PLATFORM_ES_PERF_ENTRIES_BTWN_DLYS 50 - -/** -** \cfeescfg Define Default Stack Size for an Application -** -** \par Description: -** This parameter defines a default stack size. This parameter is used by the -** cFE Core Applications. -** -** \par Limits -** There is a lower limit of 2048. There are no restrictions on the upper limit -** however, the maximum stack size size is system dependent and should be verified. -** Most operating systems provide tools for measuring the amount of stack used by a -** task during operation. It is always a good idea to verify that no more than 1/2 -** of the stack is used. -*/ -#define CFE_PLATFORM_ES_DEFAULT_STACK_SIZE 8192 - -/** -** \cfeescfg Define EVS Task Priority -** -** \par Description: -** Defines the cFE_EVS Task priority. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_EVS_START_TASK_PRIORITY 61 - -/** -** \cfeescfg Define EVS Task Stack Size -** -** \par Description: -** Defines the cFE_EVS Task Stack Size -** -** \par Limits -** There is a lower limit of 2048 on this configuration paramater. There -** are no restrictions on the upper limit however, the maximum stack size size -** is system dependent and should be verified. Most operating systems provide -** tools for measuring the amount of stack used by a task during operation. It -** is always a good idea to verify that no more than 1/2 of the stack is used. -*/ -#define CFE_PLATFORM_EVS_START_TASK_STACK_SIZE CFE_PLATFORM_ES_DEFAULT_STACK_SIZE - -/** -** \cfeescfg Define SB Task Priority -** -** \par Description: -** Defines the cFE_SB Task priority. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_SB_START_TASK_PRIORITY 64 - -/** -** \cfeescfg Define SB Task Stack Size -** -** \par Description: -** Defines the cFE_SB Task Stack Size -** -** \par Limits -** There is a lower limit of 2048 on this configuration paramater. There -** are no restrictions on the upper limit however, the maximum stack size size -** is system dependent and should be verified. Most operating systems provide -** tools for measuring the amount of stack used by a task during operation. It -** is always a good idea to verify that no more than 1/2 of the stack is used. -*/ -#define CFE_PLATFORM_SB_START_TASK_STACK_SIZE CFE_PLATFORM_ES_DEFAULT_STACK_SIZE - -/** -** \cfeescfg Define ES Task Priority -** -** \par Description: -** Defines the cFE_ES Task priority. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_ES_START_TASK_PRIORITY 68 - -/** -** \cfeescfg Define ES Task Stack Size -** -** \par Description: -** Defines the cFE_ES Task Stack Size -** -** \par Limits -** There is a lower limit of 2048 on this configuration paramater. There -** are no restrictions on the upper limit however, the maximum stack size size -** is system dependent and should be verified. Most operating systems provide -** tools for measuring the amount of stack used by a task during operation. It -** is always a good idea to verify that no more than 1/2 of the stack is used. -*/ -#define CFE_PLATFORM_ES_START_TASK_STACK_SIZE CFE_PLATFORM_ES_DEFAULT_STACK_SIZE - -/** -** \cfetimecfg Define TIME Task Priorities -** -** \par Description: -** Defines the cFE_TIME Task priority. -** Defines the cFE_TIME Tone Task priority. -** Defines the cFE_TIME 1HZ Task priority. -** -** \par Limits -** There is a lower limit of zero and an upper limit of 255 on these -** configuration paramaters. Remember that the meaning of each task -** priority is inverted -- a "lower" number has a "higher" priority. -*/ -#define CFE_PLATFORM_TIME_START_TASK_PRIORITY 60 -#define CFE_PLATFORM_TIME_TONE_TASK_PRIORITY 25 -#define CFE_PLATFORM_TIME_1HZ_TASK_PRIORITY 25 - -/** -** \cfetimecfg Define TIME Task Stack Sizes -** -** \par Description: -** Defines the cFE_TIME Main Task Stack Size -** Defines the cFE_TIME Tone Task Stack Size -** Defines the cFE_TIME 1HZ Task Stack Size -** -** \par Limits -** There is a lower limit of 2048 on these configuration paramaters. There -** are no restrictions on the upper limit however, the maximum stack size size -** is system dependent and should be verified. Most operating systems provide -** tools for measuring the amount of stack used by a task during operation. It -** is always a good idea to verify that no more than 1/2 of the stack is used. -*/ -#define CFE_PLATFORM_TIME_START_TASK_STACK_SIZE CFE_PLATFORM_ES_DEFAULT_STACK_SIZE -#define CFE_PLATFORM_TIME_TONE_TASK_STACK_SIZE 4096 -#define CFE_PLATFORM_TIME_1HZ_TASK_STACK_SIZE 8192 - -/** -** \cfeescfg Define TBL Task Priority -** -** \par Description: -** Defines the cFE_TBL Task priority. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_TBL_START_TASK_PRIORITY 70 - -/** -** \cfeescfg Define TBL Task Stack Size -** -** \par Description: -** Defines the cFE_TBL Task Stack Size -** -** \par Limits -** There is a lower limit of 2048 on this configuration paramater. There -** are no restrictions on the upper limit however, the maximum stack size size -** is system dependent and should be verified. Most operating systems provide -** tools for measuring the amount of stack used by a task during operation. It -** is always a good idea to verify that no more than 1/2 of the stack is used. -*/ -#define CFE_PLATFORM_TBL_START_TASK_STACK_SIZE CFE_PLATFORM_ES_DEFAULT_STACK_SIZE - -/** -** \cfeescfg Define Maximum Number of Registered CDS Blocks -** -** \par Description: -** Maximum number of registered CDS Blocks -** -** \par Limits -** There is a lower limit of 8. There are no restrictions on the upper limit -** however, the maximum number of CDS entries is system dependent and -** should be verified. -*/ -#define CFE_PLATFORM_ES_CDS_MAX_NUM_ENTRIES 512 - - -/** -** \cfeescfg Define Number of Processor Resets Before a Power On Reset -** -** \par Description: -** Number of Processor Resets before a Power On Reset is called. If set to 2, -** then 2 processor resets will occur, and the 3rd processor reset will be a -** power on reset instead. -** -** \par Limits -** There is a lower limit of 0. There are no restrictions on the upper limit -** however, the maximum number of processor resets may be system dependent and -** should be verified. -*/ -#define CFE_PLATFORM_ES_MAX_PROCESSOR_RESETS 2 - - -/** -** \cfeescfg Define Default ES Memory Pool Block Sizes -** -** \par Description: -** Default Intermediate ES Memory Pool Block Sizes. If an application -** is using the CFE_ES Memory Pool APIs (#CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, -** #CFE_ES_GetPoolBuf and #CFE_ES_PutPoolBuf) but finds these sizes -** inappropriate for their use, they may wish to use the #CFE_ES_PoolCreateEx -** API to specify their own intermediate block sizes -** -** \par Limits -** These sizes MUST be increasing and MUST be an integral multiple of 4. Also, -** CFE_PLATFORM_ES_MAX_BLOCK_SIZE must be larger than CFE_MISSION_SB_MAX_SB_MSG_SIZE and both -** CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE and CFE_PLATFORM_TBL_MAX_DBL_TABLE_SIZE. Note that if Table -** Services have been removed from the CFE, the table size limits are still -** enforced although the table size definitions may be reduced. Refer to the CFS -** Deployment Guide for information about removing CFE Table Services from the CFE. -*/ -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_01 8 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_02 16 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_03 32 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_04 48 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_05 64 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_06 96 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_07 128 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_08 160 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_09 256 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_10 512 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_11 1024 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_12 2048 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_13 4096 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_14 8192 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_15 16384 -#define CFE_PLATFORM_ES_MEM_BLOCK_SIZE_16 32768 -#define CFE_PLATFORM_ES_MAX_BLOCK_SIZE 80000 - - -/** -** \cfeescfg Define ES Critical Data Store Memory Pool Block Sizes -** -** \par Description: -** Intermediate ES Critical Data Store Memory Pool Block Sizes -** -** \par Limits -** These sizes MUST be increasing and MUST be an integral multiple of 4. -*/ -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_01 8 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_02 16 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_03 32 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_04 48 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_05 64 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_06 96 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_07 128 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_08 160 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_09 256 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_10 512 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_11 1024 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_12 2048 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_13 4096 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_14 8192 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_15 16384 -#define CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_16 32768 -#define CFE_PLATFORM_ES_CDS_MAX_BLOCK_SIZE 80000 - - - -/** -** \cfeevscfg Define Maximum Number of Event Filters per Application -** -** \par Description: -** Maximum number of events that may be filtered per application. -** -** \par Limits -** There are no restrictions on the lower and upper limits however, -** the maximum number of event filters is system dependent and should be -** verified. -*/ -#define CFE_PLATFORM_EVS_MAX_EVENT_FILTERS 8 - - -/** -** \cfeevscfg Enable or Disable EVS Local Event Log -** -** \par Description: -** The CFE_PLATFORM_EVS_LOG_ON configuration parameter must be defined to enable EVS -** event logging. In order to disable the local event log this definition needs -** to be commented out. -** -** \par Limits -** Not Applicable -*/ -#define CFE_PLATFORM_EVS_LOG_ON - - -/** -** \cfeevscfg Default Event Log Filename -** -** \par Description: -** The value of this constant defines the filename used to store the Event -** Services local event log. This filename is used only when no filename is -** specified in the command to dump the event log. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_EVS_DEFAULT_LOG_FILE "/ram/cfe_evs.log" - - -/** -** \cfeevscfg Maximum Number of Events in EVS Local Event Log -** -** \par Description: -** Dictates the EVS local event log capacity. Units are the number of events. -** -** \par Limits -** There are no restrictions on the lower and upper limits however, -** the maximum log size is system dependent and should be verified. -*/ -#define CFE_PLATFORM_EVS_LOG_MAX 20 - - -/** -** \cfeevscfg Default EVS Application Data Filename -** -** \par Description: -** The value of this constant defines the filename used to store the EVS -** Application Data(event counts/filtering information). This filename is -** used only when no filename is specified in the command to dump the event -** log. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_EVS_DEFAULT_APP_DATA_FILE "/ram/cfe_evs_app.dat" - - -/** -** \cfeevscfg Default EVS Output Port State -** -** \par Description: -** Defines the default port state (enabled or deisabled) for the four output -** ports defined within the Event Service. Port 1 is usually the uart output -** terminal. To enable a port, set the proper bit to a 1. Bit 0 is port 1, -** bit 1 is port2 etc. -** -** \par Limits -** The valid settings are 0x0 to 0xF. -*/ -#define CFE_PLATFORM_EVS_PORT_DEFAULT 0x0001 - - -/** -** \cfeevscfg Default EVS Event Type Filter Mask -** -** \par Description: -** Defines a state of on or off for all four event types. The term event -** 'type' refers to the criticality level and may be Debug, Informational, -** Error or Critical. Each event type has a bit position. (bit 0 = Debug, -** bit 1 = Info, bit 2 = Error, bit 3 = Critical). This is a global setting, -** meaning it applies to all applications. To filter an event type, set its -** bit to zero. For example, -** 0xE means Debug = OFF, Info = ON, Error = ON, Critical = ON -** -** \par Limits -** The valid settings are 0x0 to 0xF. -*/ -#define CFE_PLATFORM_EVS_DEFAULT_TYPE_FLAG 0xE - - - -/** -** \cfeevscfg Default EVS Local Event Log Mode -** -** \par Description: -** Defines a state of overwrite(0) or discard(1) for the operation of the -** EVS local event log. The log may operate in either Overwrite mode = 0, -** where once the log becomes full the oldest event in the log will be -** overwritten, or Discard mode = 1, where once the log becomes full the -** contents of the log are preserved and the new event is discarded. -** Overwrite Mode = 0, Discard Mode = 1. -** -** \par Limits -** The valid settings are 0 or 1 -*/ -#define CFE_PLATFORM_EVS_DEFAULT_LOG_MODE 1 - - -/** -** \cfeevscfg Default EVS Message Format Mode -** -** \par Description: -** Defines the default message format (long or short) for event messages being -** sent to the ground. Choose between #CFE_EVS_MsgFormat_LONG or -** #CFE_EVS_MsgFormat_SHORT. -** -** \par Limits -** The valid settings are #CFE_EVS_MsgFormat_LONG or #CFE_EVS_MsgFormat_SHORT -*/ -#define CFE_PLATFORM_EVS_DEFAULT_MSG_FORMAT_MODE CFE_EVS_MsgFormat_LONG - - - -/* Platform Configuration Parameters for Table Service (TBL) */ - -/** -** \cfetblcfg Size of Table Services Table Memory Pool -** -** \par Description: -** Defines the TOTAL size of the memory pool that cFE Table Services allocates -** from the system. The size must be large enough to provide memory for each -** registered table, the inactive buffers for double buffered tables and for -** the shared inactive buffers for single buffered tables. -** -** \par Limits -** The cFE does not place a limit on the size of this parameter. -*/ -#define CFE_PLATFORM_TBL_BUF_MEMORY_BYTES 524288 - -/** -** \cfetblcfg Maximum Size Allowed for a Double Buffered Table -** -** \par Description: -** Defines the maximum allowed size (in bytes) of a double buffered table. -** -** \par Limits -** The cFE does not place a limit on the size of this parameter but it must be -** less than half of #CFE_PLATFORM_TBL_BUF_MEMORY_BYTES. -*/ -#define CFE_PLATFORM_TBL_MAX_DBL_TABLE_SIZE 16384 - -/** -** \cfetblcfg Maximum Size Allowed for a Single Buffered Table -** -** \par Description: -** Defines the maximum allowed size (in bytes) of a single buffered table. -** \b NOTE: This size determines the size of all shared table buffers. -** Therefore, this size will be multiplied by #CFE_PLATFORM_TBL_MAX_SIMULTANEOUS_LOADS -** below when allocating memory for shared tables. -** -** \par Limits -** The cFE does not place a limit on the size of this parameter but it must be -** small enough to allow for #CFE_PLATFORM_TBL_MAX_SIMULTANEOUS_LOADS number of tables -** to fit into #CFE_PLATFORM_TBL_BUF_MEMORY_BYTES. -*/ -#define CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE 16384 - -/** -** \cfetblcfg Maximum Number of Tables Allowed to be Registered -** -** \par Description: -** Defines the maximum number of tables supported by this processor's Table Services. -** -** \par Limits -** This number must be less than 32767. It should be recognized that this parameter -** determines the size of the Table Registry. An excessively high number will waste -** memory. -*/ -#define CFE_PLATFORM_TBL_MAX_NUM_TABLES 128 - -/** -** \cfetblcfg Maximum Number of Critical Tables that can be Registered -** -** \par Description: -** Defines the maximum number of critical tables supported by this processor's Table Services. -** -** \par Limits -** This number must be less than 32767. It should be recognized that this parameter -** determines the size of the Critical Table Registry which is maintained in the Critical -** Data Store. An excessively high number will waste Critical Data Store memory. Therefore, -** this number must not exceed the value defined in CFE_ES_CDS_MAX_CRITICAL_TABLES. -*/ -#define CFE_PLATFORM_TBL_MAX_CRITICAL_TABLES 32 - -/** -** \cfetblcfg Maximum Number of Table Handles -** -** \par Description: -** Defines the maximum number of Table Handles. -** -** \par Limits -** This number must be less than 32767. This number must be at least as big as -** the number of tables (#CFE_PLATFORM_TBL_MAX_NUM_TABLES) and should be set higher if tables -** are shared between applications. -*/ -#define CFE_PLATFORM_TBL_MAX_NUM_HANDLES 256 - -/** -** \cfetblcfg Maximum Number of Simultaneous Loads to Support -** -** \par Description: -** Defines the maximum number of single buffered tables that can be -** loaded simultaneously. This number is used to determine the number -** of shared buffers to allocate. -** -** \par Limits -** This number must be less than 32767. An excessively high number will -** degrade system performance and waste memory. A number less than 5 is -** suggested but not required. -*/ -#define CFE_PLATFORM_TBL_MAX_SIMULTANEOUS_LOADS 4 - -/** -** \cfetblcfg Maximum Number of Simultaneous Table Validations -** -** \par Description: -** Defines the maximum number of pending validations that -** the Table Services can handle at any one time. When a -** table has a validation function, a validation request is -** made of the application to perform that validation. This -** number determines how many of those requests can be -** outstanding at any one time. -** -** \par Limits -** This number must be less than 32767. An excessively high number will -** degrade system performance and waste memory. A number less than 20 is -** suggested but not required. -*/ -#define CFE_PLATFORM_TBL_MAX_NUM_VALIDATIONS 10 - -/** -** \cfetblcfg Default Filename for a Table Registry Dump -** -** \par Description: -** Defines the file name used to store the table registry when -** no filename is specified in the dump registry command. -** -** \par Limits -** The length of each string, including the NULL terminator cannot exceed the -** #OS_MAX_PATH_LEN value. -*/ -#define CFE_PLATFORM_TBL_DEFAULT_REG_DUMP_FILE "/ram/cfe_tbl_reg.log" - -/** -** \cfetblcfg Number of Spacecraft ID's specified for validation -** -** \par Description: -** Defines the number of specified spacecraft ID values that -** are verified during table loads. If the number is zero -** then no validation of the spacecraft ID field in the table -** file header is performed when tables are loaded. Non-zero -** values indicate how many values from the list of spacecraft -** ID's defined below are compared to the spacecraft ID field -** in the table file header. The ELF2CFETBL tool may be used -** to create table files with specified spacecraft ID values. -** -** \par Limits -** This number must be greater than or equal to zero and -** less than or equal to 2. -*/ -#define CFE_PLATFORM_TBL_VALID_SCID_COUNT 0 - -/* macro to construct 32 bit value from 4 chars */ -#define CFE_PLATFORM_TBL_U32FROM4CHARS( _C1, _C2, _C3, _C4 ) \ - ( (uint32)(_C1) << 24 | \ - (uint32)(_C2) << 16 | \ - (uint32)(_C3) << 8 | \ - (uint32)(_C4) ) - -/** -** \cfetblcfg Spacecraft ID values used for table load validation -** -** \par Description: -** Defines the spacecraft ID values used for validating the -** spacecraft ID field in the table file header. To be valid, -** the spacecraft ID specified in the table file header must -** match one of the values defined here. -** -** \par Limits -** This value can be any 32 bit unsigned integer. -*/ -#define CFE_PLATFORM_TBL_VALID_SCID_1 (CFE_MISSION_SPACECRAFT_ID) -#define CFE_PLATFORM_TBL_VALID_SCID_2 (CFE_PLATFORM_TBL_U32FROM4CHARS('a', 'b', 'c', 'd')) - -/** -** \cfetblcfg Number of Processor ID's specified for validation -** -** \par Description: -** Defines the number of specified processor ID values that -** are verified during table loads. If the number is zero -** then no validation of the processor ID field in the table -** file header is performed when tables are loaded. Non-zero -** values indicate how many values from the list of processor -** ID's defined below are compared to the processor ID field -** in the table file header. The ELF2CFETBL tool may be used -** to create table files with specified processor ID values. -** -** \par Limits -** This number must be greater than or equal to zero and -** less than or equal to 4. -*/ -#define CFE_PLATFORM_TBL_VALID_PRID_COUNT 0 - -/** -** \cfetblcfg Processor ID values used for table load validation -** -** \par Description: -** Defines the processor ID values used for validating the -** processor ID field in the table file header. To be valid, -** the spacecraft ID specified in the table file header must -** match one of the values defined here. -** -** \par Limits -** This value can be any 32 bit unsigned integer. -*/ -#define CFE_PLATFORM_TBL_VALID_PRID_1 (CFE_PLATFORM_CPU_ID) -#define CFE_PLATFORM_TBL_VALID_PRID_2 (CFE_PLATFORM_TBL_U32FROM4CHARS('a', 'b', 'c', 'd')) -#define CFE_PLATFORM_TBL_VALID_PRID_3 0 -#define CFE_PLATFORM_TBL_VALID_PRID_4 0 - -/** \cfeescfg Mission specific version number for cFE -** -** \par Description: -** The cFE version number consists of four parts: -** major version number, minor version number, revision -** number and mission specific revision number. The mission -** specific revision number is defined here and the other -** parts are defined in "cfe_version.h". -** -** \par Limits: -** Must be defined as a numeric value that is greater than -** or equal to zero. -*/ -#define CFE_MISSION_REV 0 - -/** \cfeescfg Poll timer for startup sync delay -** -** \par Description: -** During startup, some tasks may need to synchronize their own initialization -** with the initialization of other applications in the system. -** -** CFE ES implements an API to accomplish this, that performs a task delay (sleep) -** while polling the overall system state until other tasks are ready. -** -** This value controls the amount of time that the CFE_ES_ApplicationSyncDelay -** will sleep between each check of the system state. This should be large enough -** to allow other tasks to run, but not so large as to noticeably delay the startup -** completion. -** -** Units are in milliseconds -** -** \par Limits: -** Must be defined as an integer value that is greater than -** or equal to zero. -*/ -#define CFE_PLATFORM_ES_STARTUP_SYNC_POLL_MSEC 50 - -/** \cfeescfg CFE core application startup timeout -** -** \par Description: -** The upper limit for the amount of time that the cFE core applications -** (ES, SB, EVS, TIME, TBL) are each alloted to reach their respective -** "ready" states. -** -** The CFE "main" thread starts individual tasks for each of the core applications -** (except FS). Each of these must perform some initialization work before the -** next core application can be started, so the main thread waits to ensure that the -** application has reached the "ready" state before starting the next application. -** -** If any core application fails to start, then it indicates a major problem with -** the system and startup is aborted. -** -** Units are in milliseconds -** -** \par Limits: -** Must be defined as an integer value that is greater than -** or equal to zero. -** -*/ -#define CFE_PLATFORM_CORE_MAX_STARTUP_MSEC 30000 - -/** \cfeescfg Startup script timeout -** -** \par Description: -** The upper limit for the total amount of time that all apps listed in the CFE ES startup -** script may take to all become ready. -** -** Unlike the "core" app timeout, this is a soft limit; if the alloted time is exceeded, -** it probably indicates an issue with one of the apps, but does not cause CFE ES to take -** any additional action other than logging the event to the syslog. -** -** Units are in milliseconds -** -** \par Limits: -** Must be defined as an integer value that is greater than -** or equal to zero. - */ -#define CFE_PLATFORM_ES_STARTUP_SCRIPT_TIMEOUT_MSEC 1000 - - -/* - * Compatibility layer for CFE release 6.6 - * During development of CFE 6.6 a naming convention was introduced such - * that all platform-specific symbols use a CFE_PLATFORM_ prefix. - * - * The following section provides a mapping from the historical name to - * the new name for compatibility with existing code. The code can then be - * compiled with the CFE_OMIT_DEPRECATED_6_6 macro defined, and an error will - * be triggered if any of the old symbol names are referenced in the code. - * - * It is expected that this compatibility layer will be removed in the next - * release following 6.6, so all code must be fixed to use the new name. - */ -#ifndef CFE_OMIT_DEPRECATED_6_6 - -#define CFE_CPU_ID CFE_PLATFORM_CPU_ID -#define CFE_CPU_NAME CFE_PLATFORM_CPU_NAME -#define CFE_SB_MAX_MSG_IDS CFE_PLATFORM_SB_MAX_MSG_IDS -#define CFE_SB_MAX_PIPES CFE_PLATFORM_SB_MAX_PIPES -#define CFE_SB_MAX_DEST_PER_PKT CFE_PLATFORM_SB_MAX_DEST_PER_PKT -#define CFE_SB_DEFAULT_MSG_LIMIT CFE_PLATFORM_SB_DEFAULT_MSG_LIMIT -#define CFE_SB_BUF_MEMORY_BYTES CFE_PLATFORM_SB_BUF_MEMORY_BYTES -#define CFE_SB_MAX_PIPE_DEPTH CFE_PLATFORM_SB_MAX_PIPE_DEPTH -#define CFE_SB_HIGHEST_VALID_MSGID CFE_PLATFORM_SB_HIGHEST_VALID_MSGID -#define CFE_SB_DEFAULT_ROUTING_FILENAME CFE_PLATFORM_SB_DEFAULT_ROUTING_FILENAME -#define CFE_SB_DEFAULT_PIPE_FILENAME CFE_PLATFORM_SB_DEFAULT_PIPE_FILENAME -#define CFE_SB_DEFAULT_MAP_FILENAME CFE_PLATFORM_SB_DEFAULT_MAP_FILENAME -#define CFE_SB_FILTERED_EVENT1 CFE_PLATFORM_SB_FILTERED_EVENT1 -#define CFE_SB_FILTER_MASK1 CFE_PLATFORM_SB_FILTER_MASK1 -#define CFE_SB_FILTERED_EVENT2 CFE_PLATFORM_SB_FILTERED_EVENT2 -#define CFE_SB_FILTER_MASK2 CFE_PLATFORM_SB_FILTER_MASK2 -#define CFE_SB_FILTERED_EVENT3 CFE_PLATFORM_SB_FILTERED_EVENT3 -#define CFE_SB_FILTER_MASK3 CFE_PLATFORM_SB_FILTER_MASK3 -#define CFE_SB_FILTERED_EVENT4 CFE_PLATFORM_SB_FILTERED_EVENT4 -#define CFE_SB_FILTER_MASK4 CFE_PLATFORM_SB_FILTER_MASK4 -#define CFE_SB_FILTERED_EVENT5 CFE_PLATFORM_SB_FILTERED_EVENT5 -#define CFE_SB_FILTER_MASK5 CFE_PLATFORM_SB_FILTER_MASK5 -#define CFE_SB_FILTERED_EVENT6 CFE_PLATFORM_SB_FILTERED_EVENT6 -#define CFE_SB_FILTER_MASK6 CFE_PLATFORM_SB_FILTER_MASK6 -#define CFE_SB_FILTERED_EVENT7 CFE_PLATFORM_SB_FILTERED_EVENT7 -#define CFE_SB_FILTER_MASK7 CFE_PLATFORM_SB_FILTER_MASK7 -#define CFE_SB_FILTERED_EVENT8 CFE_PLATFORM_SB_FILTERED_EVENT8 -#define CFE_SB_FILTER_MASK8 CFE_PLATFORM_SB_FILTER_MASK8 -#define CFE_SB_MEM_BLOCK_SIZE_01 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_01 -#define CFE_SB_MEM_BLOCK_SIZE_02 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_02 -#define CFE_SB_MEM_BLOCK_SIZE_03 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_03 -#define CFE_SB_MEM_BLOCK_SIZE_04 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_04 -#define CFE_SB_MEM_BLOCK_SIZE_05 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_05 -#define CFE_SB_MEM_BLOCK_SIZE_06 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_06 -#define CFE_SB_MEM_BLOCK_SIZE_07 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_07 -#define CFE_SB_MEM_BLOCK_SIZE_08 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_08 -#define CFE_SB_MEM_BLOCK_SIZE_09 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_09 -#define CFE_SB_MEM_BLOCK_SIZE_10 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_10 -#define CFE_SB_MEM_BLOCK_SIZE_11 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_11 -#define CFE_SB_MEM_BLOCK_SIZE_12 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_12 -#define CFE_SB_MEM_BLOCK_SIZE_13 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_13 -#define CFE_SB_MEM_BLOCK_SIZE_14 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_14 -#define CFE_SB_MEM_BLOCK_SIZE_15 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_15 -#define CFE_SB_MEM_BLOCK_SIZE_16 CFE_PLATFORM_SB_MEM_BLOCK_SIZE_16 -#define CFE_SB_MAX_BLOCK_SIZE CFE_PLATFORM_SB_MAX_BLOCK_SIZE -#define CFE_SB_DEFAULT_REPORT_SENDER CFE_PLATFORM_SB_DEFAULT_REPORT_SENDER -#define CFE_TIME_CFG_SERVER CFE_PLATFORM_TIME_CFG_SERVER -#define CFE_TIME_CFG_CLIENT CFE_PLATFORM_TIME_CFG_CLIENT -#define CFE_TIME_CFG_VIRTUAL CFE_PLATFORM_TIME_CFG_VIRTUAL -#define CFE_TIME_CFG_SIGNAL CFE_PLATFORM_TIME_CFG_SIGNAL -#define CFE_TIME_CFG_SOURCE CFE_PLATFORM_TIME_CFG_SOURCE -#define CFE_TIME_CFG_SRC_MET CFE_PLATFORM_TIME_CFG_SRC_MET -#define CFE_TIME_CFG_SRC_GPS CFE_PLATFORM_TIME_CFG_SRC_GPS -#define CFE_TIME_CFG_SRC_TIME CFE_PLATFORM_TIME_CFG_SRC_TIME -#define CFE_TIME_MAX_DELTA_SECS CFE_PLATFORM_TIME_MAX_DELTA_SECS -#define CFE_TIME_MAX_DELTA_SUBS CFE_PLATFORM_TIME_MAX_DELTA_SUBS -#define CFE_TIME_MAX_LOCAL_SECS CFE_PLATFORM_TIME_MAX_LOCAL_SECS -#define CFE_TIME_MAX_LOCAL_SUBS CFE_PLATFORM_TIME_MAX_LOCAL_SUBS -#define CFE_TIME_CFG_TONE_LIMIT CFE_PLATFORM_TIME_CFG_TONE_LIMIT -#define CFE_TIME_CFG_START_FLY CFE_PLATFORM_TIME_CFG_START_FLY -#define CFE_TIME_CFG_LATCH_FLY CFE_PLATFORM_TIME_CFG_LATCH_FLY -#define CFE_ES_MAX_APPLICATIONS CFE_PLATFORM_ES_MAX_APPLICATIONS -#define CFE_ES_MAX_LIBRARIES CFE_PLATFORM_ES_MAX_LIBRARIES -#define CFE_ES_ER_LOG_ENTRIES CFE_PLATFORM_ES_ER_LOG_ENTRIES -#define CFE_ES_ER_LOG_MAX_CONTEXT_SIZE CFE_PLATFORM_ES_ER_LOG_MAX_CONTEXT_SIZE -#define CFE_ES_SYSTEM_LOG_SIZE CFE_PLATFORM_ES_SYSTEM_LOG_SIZE -#define CFE_ES_OBJECT_TABLE_SIZE CFE_PLATFORM_ES_OBJECT_TABLE_SIZE -#define CFE_ES_MAX_GEN_COUNTERS CFE_PLATFORM_ES_MAX_GEN_COUNTERS -#define CFE_ES_APP_SCAN_RATE CFE_PLATFORM_ES_APP_SCAN_RATE -#define CFE_ES_APP_KILL_TIMEOUT CFE_PLATFORM_ES_APP_KILL_TIMEOUT -#define CFE_ES_RAM_DISK_SECTOR_SIZE CFE_PLATFORM_ES_RAM_DISK_SECTOR_SIZE -#define CFE_ES_RAM_DISK_NUM_SECTORS CFE_PLATFORM_ES_RAM_DISK_NUM_SECTORS -#define CFE_ES_RAM_DISK_PERCENT_RESERVED CFE_PLATFORM_ES_RAM_DISK_PERCENT_RESERVED -#define CFE_ES_RAM_DISK_MOUNT_STRING CFE_PLATFORM_ES_RAM_DISK_MOUNT_STRING -#define CFE_ES_CDS_SIZE CFE_PLATFORM_ES_CDS_SIZE -#define CFE_ES_USER_RESERVED_SIZE CFE_PLATFORM_ES_USER_RESERVED_SIZE -#define CFE_ES_RESET_AREA_SIZE CFE_PLATFORM_ES_RESET_AREA_SIZE -#define CFE_ES_NONVOL_STARTUP_FILE CFE_PLATFORM_ES_NONVOL_STARTUP_FILE -#define CFE_ES_VOLATILE_STARTUP_FILE CFE_PLATFORM_ES_VOLATILE_STARTUP_FILE -#define CFE_ES_DEFAULT_SHELL_FILENAME CFE_PLATFORM_ES_DEFAULT_SHELL_FILENAME -#define CFE_ES_MAX_SHELL_CMD CFE_PLATFORM_ES_MAX_SHELL_CMD -#define CFE_ES_MAX_SHELL_PKT CFE_PLATFORM_ES_MAX_SHELL_PKT -#define CFE_ES_DEFAULT_APP_LOG_FILE CFE_PLATFORM_ES_DEFAULT_APP_LOG_FILE -#define CFE_ES_DEFAULT_TASK_LOG_FILE CFE_PLATFORM_ES_DEFAULT_TASK_LOG_FILE -#define CFE_ES_DEFAULT_SYSLOG_FILE CFE_PLATFORM_ES_DEFAULT_SYSLOG_FILE -#define CFE_ES_DEFAULT_ER_LOG_FILE CFE_PLATFORM_ES_DEFAULT_ER_LOG_FILE -#define CFE_ES_DEFAULT_PERF_DUMP_FILENAME CFE_PLATFORM_ES_DEFAULT_PERF_DUMP_FILENAME -#define CFE_ES_DEFAULT_CDS_REG_DUMP_FILE CFE_PLATFORM_ES_DEFAULT_CDS_REG_DUMP_FILE -#define CFE_ES_DEFAULT_SYSLOG_MODE CFE_PLATFORM_ES_DEFAULT_PR_SYSLOG_MODE -#define CFE_ES_PERF_MAX_IDS CFE_PLATFORM_ES_PERF_MAX_IDS -#define CFE_ES_PERF_DATA_BUFFER_SIZE CFE_PLATFORM_ES_PERF_DATA_BUFFER_SIZE -#define CFE_ES_PERF_FILTMASK_NONE CFE_PLATFORM_ES_PERF_FILTMASK_NONE -#define CFE_ES_PERF_FILTMASK_ALL CFE_PLATFORM_ES_PERF_FILTMASK_ALL -#define CFE_ES_PERF_FILTMASK_INIT CFE_PLATFORM_ES_PERF_FILTMASK_INIT -#define CFE_ES_PERF_TRIGMASK_NONE CFE_PLATFORM_ES_PERF_TRIGMASK_NONE -#define CFE_ES_PERF_TRIGMASK_ALL CFE_PLATFORM_ES_PERF_TRIGMASK_ALL -#define CFE_ES_PERF_TRIGMASK_INIT CFE_PLATFORM_ES_PERF_TRIGMASK_INIT -#define CFE_ES_PERF_CHILD_PRIORITY CFE_PLATFORM_ES_PERF_CHILD_PRIORITY -#define CFE_ES_PERF_CHILD_STACK_SIZE CFE_PLATFORM_ES_PERF_CHILD_STACK_SIZE -#define CFE_ES_PERF_CHILD_MS_DELAY CFE_PLATFORM_ES_PERF_CHILD_MS_DELAY -#define CFE_ES_PERF_ENTRIES_BTWN_DLYS CFE_PLATFORM_ES_PERF_ENTRIES_BTWN_DLYS -#define CFE_ES_DEFAULT_STACK_SIZE CFE_PLATFORM_ES_DEFAULT_STACK_SIZE -#define CFE_ES_EXCEPTION_FUNCTION CFE_PLATFORM_ES_EXCEPTION_FUNCTION -#define CFE_EVS_START_TASK_PRIORITY CFE_PLATFORM_EVS_START_TASK_PRIORITY -#define CFE_EVS_START_TASK_STACK_SIZE CFE_PLATFORM_EVS_START_TASK_STACK_SIZE -#define CFE_SB_START_TASK_PRIORITY CFE_PLATFORM_SB_START_TASK_PRIORITY -#define CFE_SB_START_TASK_STACK_SIZE CFE_PLATFORM_SB_START_TASK_STACK_SIZE -#define CFE_ES_START_TASK_PRIORITY CFE_PLATFORM_ES_START_TASK_PRIORITY -#define CFE_ES_START_TASK_STACK_SIZE CFE_PLATFORM_ES_START_TASK_STACK_SIZE -#define CFE_TIME_START_TASK_PRIORITY CFE_PLATFORM_TIME_START_TASK_PRIORITY -#define CFE_TIME_TONE_TASK_PRIORITY CFE_PLATFORM_TIME_TONE_TASK_PRIORITY -#define CFE_TIME_1HZ_TASK_PRIORITY CFE_PLATFORM_TIME_1HZ_TASK_PRIORITY -#define CFE_TIME_START_TASK_STACK_SIZE CFE_PLATFORM_TIME_START_TASK_STACK_SIZE -#define CFE_TIME_TONE_TASK_STACK_SIZE CFE_PLATFORM_TIME_TONE_TASK_STACK_SIZE -#define CFE_TIME_1HZ_TASK_STACK_SIZE CFE_PLATFORM_TIME_1HZ_TASK_STACK_SIZE -#define CFE_TBL_START_TASK_PRIORITY CFE_PLATFORM_TBL_START_TASK_PRIORITY -#define CFE_TBL_START_TASK_STACK_SIZE CFE_PLATFORM_TBL_START_TASK_STACK_SIZE -#define CFE_ES_CDS_MAX_NUM_ENTRIES CFE_PLATFORM_ES_CDS_MAX_NUM_ENTRIES -#define CFE_ES_MAX_PROCESSOR_RESETS CFE_PLATFORM_ES_MAX_PROCESSOR_RESETS -#define CFE_ES_MEM_BLOCK_SIZE_01 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_01 -#define CFE_ES_MEM_BLOCK_SIZE_02 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_02 -#define CFE_ES_MEM_BLOCK_SIZE_03 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_03 -#define CFE_ES_MEM_BLOCK_SIZE_04 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_04 -#define CFE_ES_MEM_BLOCK_SIZE_05 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_05 -#define CFE_ES_MEM_BLOCK_SIZE_06 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_06 -#define CFE_ES_MEM_BLOCK_SIZE_07 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_07 -#define CFE_ES_MEM_BLOCK_SIZE_08 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_08 -#define CFE_ES_MEM_BLOCK_SIZE_09 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_09 -#define CFE_ES_MEM_BLOCK_SIZE_10 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_10 -#define CFE_ES_MEM_BLOCK_SIZE_11 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_11 -#define CFE_ES_MEM_BLOCK_SIZE_12 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_12 -#define CFE_ES_MEM_BLOCK_SIZE_13 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_13 -#define CFE_ES_MEM_BLOCK_SIZE_14 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_14 -#define CFE_ES_MEM_BLOCK_SIZE_15 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_15 -#define CFE_ES_MEM_BLOCK_SIZE_16 CFE_PLATFORM_ES_MEM_BLOCK_SIZE_16 -#define CFE_ES_MAX_BLOCK_SIZE CFE_PLATFORM_ES_MAX_BLOCK_SIZE -#define CFE_ES_CDS_MEM_BLOCK_SIZE_01 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_01 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_02 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_02 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_03 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_03 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_04 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_04 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_05 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_05 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_06 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_06 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_07 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_07 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_08 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_08 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_09 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_09 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_10 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_10 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_11 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_11 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_12 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_12 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_13 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_13 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_14 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_14 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_15 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_15 -#define CFE_ES_CDS_MEM_BLOCK_SIZE_16 CFE_PLATFORM_ES_CDS_MEM_BLOCK_SIZE_16 -#define CFE_ES_CDS_MAX_BLOCK_SIZE CFE_PLATFORM_ES_CDS_MAX_BLOCK_SIZE -#define CFE_EVS_MAX_EVENT_FILTERS CFE_PLATFORM_EVS_MAX_EVENT_FILTERS -#define CFE_EVS_LOG_ON CFE_PLATFORM_EVS_LOG_ON -#define CFE_EVS_DEFAULT_LOG_FILE CFE_PLATFORM_EVS_DEFAULT_LOG_FILE -#define CFE_EVS_LOG_MAX CFE_PLATFORM_EVS_LOG_MAX -#define CFE_EVS_DEFAULT_APP_DATA_FILE CFE_PLATFORM_EVS_DEFAULT_APP_DATA_FILE -#define CFE_EVS_PORT_DEFAULT CFE_PLATFORM_EVS_PORT_DEFAULT -#define CFE_EVS_DEFAULT_TYPE_FLAG CFE_PLATFORM_EVS_DEFAULT_TYPE_FLAG -#define CFE_EVS_DEFAULT_LOG_MODE CFE_PLATFORM_EVS_DEFAULT_LOG_MODE -#define CFE_EVS_DEFAULT_MSG_FORMAT_MODE CFE_PLATFORM_EVS_DEFAULT_MSG_FORMAT_MODE -#define CFE_TBL_BUF_MEMORY_BYTES CFE_PLATFORM_TBL_BUF_MEMORY_BYTES -#define CFE_TBL_MAX_DBL_TABLE_SIZE CFE_PLATFORM_TBL_MAX_DBL_TABLE_SIZE -#define CFE_TBL_MAX_SNGL_TABLE_SIZE CFE_PLATFORM_TBL_MAX_SNGL_TABLE_SIZE -#define CFE_TBL_MAX_NUM_TABLES CFE_PLATFORM_TBL_MAX_NUM_TABLES -#define CFE_TBL_MAX_CRITICAL_TABLES CFE_PLATFORM_TBL_MAX_CRITICAL_TABLES -#define CFE_TBL_MAX_NUM_HANDLES CFE_PLATFORM_TBL_MAX_NUM_HANDLES -#define CFE_TBL_MAX_SIMULTANEOUS_LOADS CFE_PLATFORM_TBL_MAX_SIMULTANEOUS_LOADS -#define CFE_TBL_MAX_NUM_VALIDATIONS CFE_PLATFORM_TBL_MAX_NUM_VALIDATIONS -#define CFE_TBL_DEFAULT_REG_DUMP_FILE CFE_PLATFORM_TBL_DEFAULT_REG_DUMP_FILE -#define CFE_TBL_VALID_SCID_COUNT CFE_PLATFORM_TBL_VALID_SCID_COUNT -#define CFE_TBL_U32FROM4CHARS CFE_PLATFORM_TBL_U32FROM4CHARS -#define CFE_TBL_VALID_SCID_1 CFE_PLATFORM_TBL_VALID_SCID_1 -#define CFE_TBL_VALID_SCID_2 CFE_PLATFORM_TBL_VALID_SCID_2 -#define CFE_TBL_VALID_PRID_COUNT CFE_PLATFORM_TBL_VALID_PRID_COUNT -#define CFE_TBL_VALID_PRID_1 CFE_PLATFORM_TBL_VALID_PRID_1 -#define CFE_TBL_VALID_PRID_2 CFE_PLATFORM_TBL_VALID_PRID_2 -#define CFE_TBL_VALID_PRID_3 CFE_PLATFORM_TBL_VALID_PRID_3 -#define CFE_TBL_VALID_PRID_4 CFE_PLATFORM_TBL_VALID_PRID_4 -#define CFE_ES_STARTUP_SYNC_POLL_MSEC CFE_PLATFORM_ES_STARTUP_SYNC_POLL_MSEC -#define CFE_CORE_MAX_STARTUP_MSEC CFE_PLATFORM_CORE_MAX_STARTUP_MSEC -#define CFE_ES_STARTUP_SCRIPT_TIMEOUT_MSEC CFE_PLATFORM_ES_STARTUP_SCRIPT_TIMEOUT_MSEC - -/* - * This was previously configurable, now fixed. - * Keeping it here will trigger a "redefined" warning if some mission - * had configured it as "false" for some reason. - */ -#define CFE_TIME_ENA_1HZ_CMD_PKT true - -#endif /* CFE_OMIT_DEPRECATED_6_6 */ - -#endif /* _cfe_platform_cfg_ */ - diff --git a/fsw/nos3_defs/default_osconfig.cmake b/fsw/nos3_defs/default_osconfig.cmake index 218bbb31..1f2bed60 100644 --- a/fsw/nos3_defs/default_osconfig.cmake +++ b/fsw/nos3_defs/default_osconfig.cmake @@ -157,7 +157,7 @@ set(OSAL_CONFIG_MAX_FILE_SYSTEMS 14) # The maximum length for a file name, including any extension # (This does not include the directory part) # This length must include an extra character for NULL termination. -set(OSAL_CONFIG_MAX_FILE_NAME 20) +set(OSAL_CONFIG_MAX_FILE_NAME 28) # Maximum length for an virtual path name (virtual directory + file) # This length must include an extra character for NULL termination. diff --git a/fsw/nos3_defs/nos3_mission_cfg.h b/fsw/nos3_defs/nos3_mission_cfg.h index 8699656a..e4337bcb 100644 --- a/fsw/nos3_defs/nos3_mission_cfg.h +++ b/fsw/nos3_defs/nos3_mission_cfg.h @@ -242,7 +242,7 @@ ** Minute - 0 to 59 ** Second - 0 to 59 */ -#define CFE_MISSION_TIME_EPOCH_YEAR 1958 +#define CFE_MISSION_TIME_EPOCH_YEAR 2000 #define CFE_MISSION_TIME_EPOCH_DAY 1 #define CFE_MISSION_TIME_EPOCH_HOUR 0 #define CFE_MISSION_TIME_EPOCH_MINUTE 0 @@ -264,8 +264,8 @@ ** ** Worksheet: ** -** S/C epoch = Jan 1, 2005 (LRO ground system epoch) -** FS epoch = Jan 1, 1980 (vxWorks DOS file system epoch) +** S/C epoch = Jan 1, 2000 (GTOSat ground system epoch) +** FS epoch = Jan 1, 1988 (RTEMS file system epoch) ** ** Delta = 25 years, 0 days, 0 hours, 0 minutes, 0 seconds ** @@ -277,15 +277,15 @@ ** 1 hour = 3,600 seconds ** 1 minute = 60 seconds ** -** 25 years = 788,400,000 seconds -** 7 extra leap days = 604,800 seconds +** 12 years = 378,432,000 seconds +** 4 extra leap days = 345,600 seconds ** -** total delta = 789,004,800 seconds +** total delta = 378,777,600 seconds ** ** \par Limits ** Not Applicable */ -#define CFE_MISSION_TIME_FS_FACTOR 789004800 +#define CFE_MISSION_TIME_FS_FACTOR 378777600 /** diff --git a/fsw/nos3_defs/tables/ds_file_tbl.c b/fsw/nos3_defs/tables/ds_file_tbl.c new file mode 100644 index 00000000..5b50fa83 --- /dev/null +++ b/fsw/nos3_defs/tables/ds_file_tbl.c @@ -0,0 +1,314 @@ +/************************************************************************ +** File: ds_file_tbl.c +** +** File: ds_file_tbl.c +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: +** CFS Data Storage (DS) sample destination file table +** +** Note: +** This source file creates a sample table that defines several +** data storage destination files using a variety of the options +** available. None of the file system details (name, size, etc.) +** are known at this time for the target platform. Therefore, +** the file pathnames are set to "set_by_cmd_b4_enable" which +** indicates that pathnames must be set by command before trying +** to enable any of the destination files. Max file size values +** should also be modified via command before using this table. +** +** Obviously, a better solution is to replace this sample table +** and the sample packet filter table (which references this +** table) with mission specific versions that define the data +** storage behavior appropriate for the platform. +** +** But, as long as the target platform has a file system, the +** sample data storage tables may be used to demonstrate data +** storage. +** +*************************************************************************/ + +#include "cfe.h" +#include "cfe_tbl_filedef.h" +#include "ds_platform_cfg.h" +#include "ds_appdefs.h" +#include "ds_app.h" +#include "ds_msg.h" +#include "ds_indices.h" + +/* +** Sample Destination File Table Data +*/ +DS_DestFileTable_t DS_DestFileTable = +{ + /* .Descriptor = */ "Sample File Table Data", + /* .File = */ + { + /* File Index 00 -- Event Packets */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ "/data/evs", + /* .Basename = */ "evs", + /* .Extension = */ ".ds", + + /* .FileNameType = */ DS_BY_TIME, + /* .EnableState = */ DS_ENABLED, + /* .MaxFileSize = */ (1024 * 1024 * 4), /* 4 M-bytes */ + /* .MaxFileAge = */ (60 * 60 * 24), /* 24 hours */ + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 01 -- Camera */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ "/data/cam", + /* .Basename = */ "cam", + /* .Extension = */ ".ds", + + /* .FileNameType = */ DS_BY_TIME, + /* .EnableState = */ DS_ENABLED, + /* .MaxFileSize = */ (1024 * 1024 * 4), /* 4 M-bytes */ + /* .MaxFileAge = */ (60 * 10), /* 10 min */ + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 02 -- Housekeeping */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ "/data/hk", + /* .Basename = */ "hk", + /* .Extension = */ ".ds", + + /* .FileNameType = */ DS_BY_TIME, + /* .EnableState = */ DS_ENABLED, + /* .MaxFileSize = */ (1024 * 1024 * 4), /* 4 M-bytes */ + /* .MaxFileAge = */ (60 * 60 * 24), /* 24 hours */ + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 03 - Sample Instrument */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ "/data/inst", + /* .Basename = */ "inst", + /* .Extension = */ ".ds", + + /* .FileNameType = */ DS_BY_TIME, + /* .EnableState = */ DS_ENABLED, + /* .MaxFileSize = */ (1024 * 1024 * 4), /* 4 M-bytes */ + /* .MaxFileAge = */ (60 * 60 * 24), /* 24 hours */ + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 04 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 05 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 06 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 07 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 08 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 09 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 10 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 11 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 12 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 13 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 14 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 15 */ + { +#if (DS_MOVE_FILES == TRUE) + /* .Movename = */ DS_EMPTY_STRING, +#endif + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, + + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + } +}; + +/* +** Sample Destination File Table Header +*/ +CFE_TBL_FILEDEF(DS_DestFileTable, DS.FILE_TBL, DS Destination File Table,ds_file_tbl.tbl) + + +/************************/ +/* End of File Comment */ +/************************/ diff --git a/fsw/nos3_defs/tables/ds_filter_tbl.c b/fsw/nos3_defs/tables/ds_filter_tbl.c new file mode 100644 index 00000000..e9daf329 --- /dev/null +++ b/fsw/nos3_defs/tables/ds_filter_tbl.c @@ -0,0 +1,3137 @@ +/************************************************************************ +** File: ds_filter_tbl.c +** +** File: ds_filter_tbl.c +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: +** CFS Data Storage (DS) sample packet filter table +** +** Note: +** This source file creates a sample table that stores packets using +** several different destination storage files. Some packets have +** one filter that is set to store every packet in one file and +** another filter that will store every other packet in a second +** file. Also, some filters are disabled and thus will not store +** any packets. There is no real purpose to this particular set of +** filters other than to provide an example of how various fields +** in the table might be used. +** +*************************************************************************/ + +#include "cfe.h" +#include "cfe_tbl_filedef.h" +#include "ds_platform_cfg.h" +#include "ds_appdefs.h" +#include "ds_app.h" +#include "ds_msg.h" +#include "ds_indices.h" + +/* +** Sample packet filter table data +*/ +DS_FilterTable_t DS_FilterTable = +{ + /* .Descriptor = */ "Sample filter table data", + /* .Packet = */ + { + /* Packet Index 000 */ + { + /* .MessageID = */ CFE_ES_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 001 */ + { + /* .MessageID = */ CFE_EVS_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 002 */ + { + /* .MessageID = */ CFE_SB_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 2, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 003 */ + { + /* .MessageID = */ CFE_TBL_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 2, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 004 */ + { + /* .MessageID = */ CFE_TIME_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 2, 1 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 005 */ + { + /* .MessageID = */ CFE_TIME_DIAG_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 2, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 006 */ + { + /* .MessageID = */ CFE_EVS_LONG_EVENT_MSG_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_EVENT_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 007 */ + { + /* .MessageID = */ CFE_SB_STATS_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 008 */ + { + /* .MessageID = */ CFE_ES_APP_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 009 */ + { + /* .MessageID = */ CFE_TBL_REG_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 010 */ + { + /* .MessageID = */ CFE_SB_ALLSUBS_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 011 */ + { + /* .MessageID = */ CFE_SB_ONESUB_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 012 */ + { + /* .MessageID = */ CFE_MISSION_ES_SHELL_TLM_MSG, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 013 */ + { + /* .MessageID = */ CFE_ES_MEMSTATS_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 014 */ + { + /* .MessageID = */ DS_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 015 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 016 */ + { + /* .MessageID = */ CAM_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_CAM_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 017 */ + { + /* .MessageID = */ CAM_EXP_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 018 */ + { + /* .MessageID = */ GENERIC_RW_APP_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 019 */ + { + /* .MessageID = */ NAV_SEND_HK_TLM, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 020 */ + { + /* .MessageID = */ SAMPLE_APP_HK_TLM_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_SAMPLE_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 021 */ + { + /* .MessageID = */ SAMPLE_APP_SEND_DEV_HK_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_SAMPLE_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 022 */ + { + /* .MessageID = */ SAMPLE_APP_SEND_DEV_DATA_MID, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { FILE_SAMPLE_PKTS, DS_BY_COUNT, 1, 1, 0 }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 023 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 024 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 025 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 026 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 027 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 028 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 029 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 030 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 031 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 032 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 033 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 034 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 035 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 036 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 037 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 038 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 039 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 040 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 041 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 042 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 043 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 044 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 045 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 046 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 047 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 048 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 049 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 050 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 051 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 052 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 053 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 054 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 055 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 056 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 057 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 058 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 059 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 060 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 061 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 062 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 063 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 064 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 065 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 066 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 067 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 068 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 069 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 070 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 071 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 072 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 073 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 074 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 075 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 076 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 077 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 078 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 079 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 080 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 081 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 082 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 083 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 084 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 085 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 086 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 087 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 088 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 089 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 090 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 091 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 092 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 093 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 094 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 095 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 096 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 097 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 098 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 099 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 100 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 101 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 102 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 103 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 104 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 105 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 106 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 107 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 108 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 109 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 110 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 111 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 112 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 113 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 114 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 115 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 116 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 117 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 118 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 119 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 120 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 121 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 122 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 123 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 124 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 125 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 126 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 127 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 128 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 129 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 130 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 131 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 132 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 133 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 134 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 135 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 136 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 137 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 138 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 139 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 140 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 141 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 142 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 143 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 144 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 145 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 146 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 147 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 148 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 149 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 150 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 151 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 152 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 153 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 154 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 155 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 156 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 157 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 158 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 159 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 160 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 161 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 162 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 163 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 164 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 165 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 166 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 167 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 168 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 169 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 170 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 171 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 172 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 173 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 174 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 175 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 176 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 177 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 178 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 179 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 180 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 181 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 182 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 183 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 184 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 185 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 186 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 187 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 188 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 189 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 190 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 191 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 192 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 193 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 194 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 195 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 196 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 197 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 198 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 199 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 200 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 201 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 202 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 203 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 204 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 205 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 206 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 207 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 208 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 209 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 210 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 211 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 212 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 213 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 214 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 215 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 216 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 217 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 218 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 219 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 220 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 221 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 222 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 223 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 224 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 225 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 226 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 227 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 228 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 229 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 230 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 231 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 232 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 233 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 234 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 235 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 236 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 237 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 238 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 239 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 240 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 241 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 242 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 243 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 244 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 245 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 246 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 247 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 248 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 249 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 250 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 251 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 252 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 253 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 254 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + }, + /* Packet Index 255 */ + { + /* .MessageID = */ DS_UNUSED, + /* .Filter = */ + { + /* File table index, filter type, N, X, O */ + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, + { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } + } + } + } +}; + +/* +** Sample packet filter table header +*/ +CFE_TBL_FILEDEF(DS_FilterTable, DS.FILTER_TBL, DS Packet Filter Table,ds_filter_tbl.tbl) + + +/************************/ +/* End of File Comment */ +/************************/ diff --git a/fsw/nos3_defs/tables/ds_indices.h b/fsw/nos3_defs/tables/ds_indices.h new file mode 100644 index 00000000..ae0cd567 --- /dev/null +++ b/fsw/nos3_defs/tables/ds_indices.h @@ -0,0 +1,38 @@ +#ifndef _DS_INDICES_H_ +#define _DS_INDICES_H_ + +/* +** cFS Includes +*/ +#include "cfe_msgids.h" +#include "cf_msgids.h" +#include "ci_msgids.h" +//#include "cs_msgids.h" +#include "ds_msgids.h" +#include "fm_msgids.h" +//#include "hk_msgids.h" +//#include "hs_msgids.h" +#include "lc_msgids.h" +//#include "md_msgids.h" +//#include "mm_msgids.h" +#include "sc_msgids.h" +#include "sch_msgids.h" +#include "to_msgids.h" + +/* +** Component Include Files +*/ +#include "cam_msgids.h" +#include "generic_reaction_wheel_msgids.h" +#include "nav_msgids.h" +#include "sample_app_msgids.h" + +/********************** +* DS Index IDs +***********************/ +#define FILE_EVENT_PKTS 0 +#define FILE_CAM_PKTS 1 +#define FILE_HK_PKTS 2 +#define FILE_SAMPLE_PKTS 3 + +#endif /* _DS_INDICES_H_ */ diff --git a/fsw/nos3_defs/tables/fm_freespace.c b/fsw/nos3_defs/tables/fm_freespace.c new file mode 100644 index 00000000..f72eb835 --- /dev/null +++ b/fsw/nos3_defs/tables/fm_freespace.c @@ -0,0 +1,103 @@ +/* +** Filename: fm_freespace.c +** +** NASA Docket No. GSC-18,475-1, identified as “Core Flight Software System (CFS) +** File Manager Application Version 2.5.3 +** +** Copyright © 2020 United States Government as represented by the Administrator of +** the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +* +** Title: File Manager (FM) File System Free Space Table Data +** +** Purpose: Default table contents +** +** Notes: +** +*/ + +/************************************************************************* +** +** Include section +** +**************************************************************************/ +#include "cfe.h" +#include "cfe_tbl_filedef.h" +#include "fm_platform_cfg.h" +#include "fm_tbl.h" +#include "fm_msg.h" + +/* +** FM file system free space table header +*/ +static CFE_TBL_FileDef_t CFE_TBL_FileDef __attribute__((__used__)) = +{ + "FM_FreeSpaceTable", FM_APP_NAME "." FM_TABLE_CFE_NAME, + FM_TABLE_DEF_DESC, FM_TABLE_FILENAME, sizeof(FM_FreeSpaceTable_t) +}; + +/* +** FM file system free space table data +** +** -- table entries must be enabled or disabled or unused +** +** -- enabled table entries may be disabled by command +** -- disabled table entries may be enabled by command +** -- unused table entries may not be modified by command +** +** -- enabled or disabled entries must have a valid file system name +** +** -- the file system name for unused entries is ignored +*/ +FM_FreeSpaceTable_t FM_FreeSpaceTable = +{ + { + { /* - 0 - */ + FM_TABLE_ENTRY_ENABLED, /* Entry state (enabled, disabled, unused) */ + "/data", /* File system name (logical mount point) */ + }, + { /* - 1 - */ + FM_TABLE_ENTRY_ENABLED, /* Entry state (enabled, disabled, unused) */ + "/ram", /* File system name (logical mount point) */ + }, + { /* - 2 - */ + FM_TABLE_ENTRY_DISABLED, /* Entry state (enabled, disabled, unused) */ + "/alt", /* File system name (logical mount point) */ + }, + { /* - 3 - */ + FM_TABLE_ENTRY_UNUSED, /* Entry state (enabled, disabled, unused) */ + "", /* File system name (logical mount point) */ + }, + { /* - 4 - */ + FM_TABLE_ENTRY_UNUSED, /* Entry state (enabled, disabled, unused) */ + "", /* File system name (logical mount point) */ + }, + { /* - 5 - */ + FM_TABLE_ENTRY_UNUSED, /* Entry state (enabled, disabled, unused) */ + "", /* File system name (logical mount point) */ + }, + { /* - 6 - */ + FM_TABLE_ENTRY_UNUSED, /* Entry state (enabled, disabled, unused) */ + "", /* File system name (logical mount point) */ + }, + { /* - 7 - */ + FM_TABLE_ENTRY_UNUSED, /* Entry state (enabled, disabled, unused) */ + "", /* File system name (logical mount point) */ + }, + }, +}; + +/************************/ +/* End of File Comment */ +/************************/ diff --git a/fsw/nos3_defs/tables/sc_rts001.c b/fsw/nos3_defs/tables/sc_rts001.c new file mode 100644 index 00000000..ed061e94 --- /dev/null +++ b/fsw/nos3_defs/tables/sc_rts001.c @@ -0,0 +1,55 @@ +#include "cfe.h" +#include "cfe_tbl_filedef.h" + +#include "sc_platform_cfg.h" /* defines table buffer size */ +#include "sc_msgdefs.h" /* defines SC command code values */ +#include "sc_msgids.h" /* defines SC packet msg ID's */ + +/* +** Component Includes +*/ +#include "ds_msgids.h" +#include "lc_msgids.h" +#include "sample_app_msgids.h" +#include "to_lab_msgids.h" + +/* +** Command packet segment flags and sequence counter +** - 2 bits of segment flags (0xC000 = start and end of packet) +** - 14 bits of sequence count (unused for command packets) +*/ +#define PKT_FLAGS 0xC000 + +/* +** Command code defines +*/ +#define DS_SET_APP_STATE_CC 0x0200 +#define LC_SET_LC_STATE_CC 0x0200 +#define SAMPLE_APP_NOOP_CC 0x0000 +#define TO_DEBUG_ENABLE_CC 0x0200 + +/* +** cFE Table Header +*/ +static CFE_TBL_FileDef_t CFE_TBL_FileDef __attribute__((__used__)) = +{ + "RTS_Table001", "SC.RTS_TBL001", "SC RTS_TBL001", + "sc_rts001.tbl", (SC_RTS_BUFF_SIZE * sizeof(uint16)) +}; + +/* +** RTS Table Data +*/ +uint16 RTS_Table001[SC_RTS_BUFF_SIZE] = +{ +/* cmd time, <---------------------------- cmd pkt primary header ----------------------------> <----- cmd pkt 2nd header ----> <-- opt data ---> */ + 1, CFE_MAKE_BIG16(DS_CMD_MID), CFE_MAKE_BIG16(PKT_FLAGS), CFE_MAKE_BIG16(5), CFE_MAKE_BIG16(DS_SET_APP_STATE_CC), 0x0001, 0x0000, // Enable DS + 1, CFE_MAKE_BIG16(TO_LAB_CMD_MID), CFE_MAKE_BIG16(PKT_FLAGS), CFE_MAKE_BIG16(21), CFE_MAKE_BIG16(TO_DEBUG_ENABLE_CC), 0x0031, 0x3237, 0x2E30, 0x2E30, 0x2E31, 0x0000, 0x0000, 0x0000, 0x0095, 0x1300, // Enable Debug, 127.0.0.1, 5013 + 1, CFE_MAKE_BIG16(SAMPLE_APP_CMD_MID), CFE_MAKE_BIG16(PKT_FLAGS), CFE_MAKE_BIG16(1), CFE_MAKE_BIG16(SAMPLE_APP_NOOP_CC), // Sample Instrument NOOP + 5, CFE_MAKE_BIG16(LC_CMD_MID), CFE_MAKE_BIG16(PKT_FLAGS), CFE_MAKE_BIG16(5), CFE_MAKE_BIG16(LC_SET_LC_STATE_CC), 0x0001, 0x0000, // Enable LC + +}; + +/************************/ +/* End of File Comment */ +/************************/ diff --git a/fsw/nos3_defs/tables/sch_def_msgtbl.c b/fsw/nos3_defs/tables/sch_def_msgtbl.c index bb16b536..6d99adae 100644 --- a/fsw/nos3_defs/tables/sch_def_msgtbl.c +++ b/fsw/nos3_defs/tables/sch_def_msgtbl.c @@ -30,9 +30,10 @@ #include "sch_tbldefs.h" #include "cfe_msgids.h" +#include "cf_msgids.h" #include "ci_msgids.h" -//#include "ds_msgids.h" -//#include "fm_msgids.h" +#include "ds_msgids.h" +#include "fm_msgids.h" //#include "hk_msgids.h" //#include "hs_msgids.h" #include "lc_msgids.h" @@ -90,11 +91,9 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = /*{ { CFE_MAKE_BIG16(CS_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #7 - Data Store HK Request */ -/*{ { CFE_MAKE_BIG16(DS_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(DS_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #8 - File Manager HK Request */ -/*{ { CFE_MAKE_BIG16(FM_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(FM_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #9 - Housekeeping HK Request */ /*{ { CFE_MAKE_BIG16(HK_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, @@ -134,21 +133,19 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = /*{ { CFE_MAKE_BIG16(CS_BACKGROUND_CYCLE_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #21 - SC 1 Hz Wakeup */ -/*{ { CFE_MAKE_BIG16(SC_1HZ_WAKEUP_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(SC_1HZ_WAKEUP_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #22 - LC Sample Action Points */ -/*{ { CFE_MAKE_BIG16(LC_SAMPLE_AP_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0005), 0x0000, LC_ALL_ACTIONPOINTS, 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(LC_SAMPLE_AP_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0005), 0x0000, LC_ALL_ACTIONPOINTS, 0x0000 } }, /* command ID #23 - DS 1 HZ Wakeup */ /*{ { CFE_MAKE_BIG16(DS_1HZ_WAKEUP_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #24 - MD Wakeup */ /*{ { CFE_MAKE_BIG16(MD_WAKEUP_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, - /* command ID #25 */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, - /* command ID #26 */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + /* command ID #25 - CF Wakeup */ + { { CFE_MAKE_BIG16(CF_WAKE_UP_REQ_CMD_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, + /* command ID #26 - CF HK Request */ + { { CFE_MAKE_BIG16(CF_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #27 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #28 */ @@ -160,11 +157,9 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = ** Mission Defined Messages */ /* command ID #30 - Command Ingest HK Request Example */ -/*{ { CFE_MAKE_BIG16(CI_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(CI_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #31 - Telemetry Output HK Request Example */ -/*{ { CFE_MAKE_BIG16(TO_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, */ - { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, + { { CFE_MAKE_BIG16(TO_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, /* command ID #32 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #33 */ diff --git a/fsw/nos3_defs/tables/sch_def_schtbl.c b/fsw/nos3_defs/tables/sch_def_schtbl.c index d0fee6cd..29dae1b0 100644 --- a/fsw/nos3_defs/tables/sch_def_schtbl.c +++ b/fsw/nos3_defs/tables/sch_def_schtbl.c @@ -98,7 +98,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #1 */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 26, SCH_GROUP_CFS_HK }, /* CF 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}, @@ -128,7 +128,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = /* slot #5 - 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, 40, SCH_GROUP_CFE_HK }, /* CAM HK Request */ + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 40, SCH_GROUP_NONE }, /* CAM 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}, @@ -156,8 +156,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #9 */ -/*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 4, 2, 7, SCH_GROUP_CFS_HK }, */ /* DS HK Request */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 2, 7, SCH_GROUP_CFS_HK }, /* DS 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}, @@ -193,8 +192,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #14 */ -/*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 4, 1, 8, SCH_GROUP_CFS_HK }, */ /* FM HK Request */ - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 4, 1, 8, SCH_GROUP_CFS_HK }, /* FM 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}, @@ -202,7 +200,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = /* slot #15 - 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, 45, SCH_GROUP_CFE_HK }, /* RW HK Request */ + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 45, SCH_GROUP_NONE }, /* RW 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}, @@ -284,7 +282,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #26 */ -/*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 25, SCH_GROUP_NONE }, */ /* SC Wakeup */ + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 25, SCH_GROUP_NONE }, /* SC Wakeup */ { 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}, @@ -358,7 +356,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #36 */ -/*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 23, SCH_GROUP_NONE }, */ /* DS Wakeup */ + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 23, SCH_GROUP_CFS_HK }, /* DS Wakeup */ { 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}, @@ -466,7 +464,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { 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}, - { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 25, SCH_GROUP_NONE }, /* CF Wakeup */ /* slot #51 */ /*{ SCH_DISABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 22, SCH_GROUP_NONE }, */ /* LC Sample Action Points */ diff --git a/fsw/nos3_defs/tables/to_config.c b/fsw/nos3_defs/tables/to_config.c index 0bab33a5..e442466c 100644 --- a/fsw/nos3_defs/tables/to_config.c +++ b/fsw/nos3_defs/tables/to_config.c @@ -54,8 +54,12 @@ extern "C" { #include "ci_msgids.h" #include "cf_msgids.h" +#include "ds_msgids.h" +#include "fm_msgids.h" //#include "hs_msgids.h" //#include "hk_msgids.h" +#include "lc_msgids.h" +#include "sc_msgids.h" #include "sch_msgids.h" #include "to_msgids.h" @@ -67,14 +71,6 @@ extern "C" { #include "nav_msgids.h" #include "sample_app_msgids.h" -/* -** Local Defines -*/ - - -/* -** Local Structure Declarations -*/ static CFE_TBL_FileDef_t CFE_TBL_FileDef = { @@ -90,53 +86,53 @@ TO_ConfigTable_t to_ConfigTable = { { /* 0 - 9 */ - {CF_CONFIG_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CF_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CF_CONFIG_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CF_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CF_SPACE_TO_GND_PDU_MID, {0,0}, 32, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CF_TRANS_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_ES_APP_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_ES_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_ES_MEMSTATS_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CF_TRANS_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_ES_APP_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_ES_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_ES_MEMSTATS_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CFE_ES_SHELL_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CFE_EVS_EVENT_MSG_MID, {0,0}, 32, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_EVS_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_EVS_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, /* 10 - 19 */ - {CFE_SB_ALLSUBS_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_SB_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_SB_ONESUB_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_SB_STATS_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_TBL_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_TBL_REG_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_TIME_DIAG_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CFE_TIME_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {TO_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {SCH_DIAG_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {CFE_SB_ALLSUBS_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_SB_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_SB_ONESUB_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_SB_STATS_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_TBL_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_TBL_REG_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_TIME_DIAG_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CFE_TIME_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {TO_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {SCH_DIAG_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, /* 20 - 29 */ - {SCH_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {CI_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {TO_DATA_TYPE_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {SCH_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {CI_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {TO_DATA_TYPE_MID, {0,0}, 5, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {FM_HK_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {FM_FILE_INFO_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {FM_DIR_LIST_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {FM_OPEN_FILES_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {FM_FREE_SPACE_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {SC_HK_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {LC_HK_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + + /* 30 - 39 */ + {DS_HK_TLM_MID, {0,0}, 5, 0x0001, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {CAM_HK_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {CAM_EXP_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {GENERIC_RW_APP_HK_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {NAV_SEND_HK_TLM, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {SAMPLE_APP_HK_TLM_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, - {SAMPLE_APP_SEND_DEV_HK_MID, {0,0}, 1, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {SAMPLE_APP_HK_TLM_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, + {SAMPLE_APP_SEND_DEV_HK_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {SAMPLE_APP_SEND_DEV_DATA_MID, {0,0}, 32, 0xffff, TO_GROUP_APP | TO_MGROUP_ONE, 0,1}, {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - - /* 30 - 39 */ - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, - + /* 40 - 49 */ {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, {TO_UNUSED_ENTRY, {0,0}, 0, 0x0000, TO_GROUP_NONE, 0,0}, diff --git a/fsw/nos3_defs/tables/to_lab_sub.c b/fsw/nos3_defs/tables/to_lab_sub.c new file mode 100644 index 00000000..a1421dad --- /dev/null +++ b/fsw/nos3_defs/tables/to_lab_sub.c @@ -0,0 +1,91 @@ +/************************************************************************ +** +** GSC-18128-1, "Core Flight Executive Version 6.7" +** +** Copyright (c) 2006-2002 United States Government as represented by +** the Administrator of the National Aeronautics and Space Administration. +** All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** File: to_lab_sub_table.c +** +** Purpose: +** Define TO Lab CPU specific subscription table +** +** Notes: +** +*************************************************************************/ + +/* +** Include Files +*/ +#include "cfe_tbl_filedef.h" /* Required to obtain the CFE_TBL_FILEDEF macro definition */ +#include "to_lab_sub_table.h" +#include "to_lab_msgids.h" +#include "ci_lab_msgids.h" + +/* +** Component Include Files +*/ +#include "cam_msgids.h" +#include "generic_reaction_wheel_msgids.h" +#include "nav_msgids.h" +#include "sample_app_msgids.h" + +TO_LAB_Subs_t TO_LAB_Subs = +{ + .Subs = + { + /* CFS App Subscriptions */ + {CFE_SB_MSGID_WRAP_VALUE(TO_LAB_HK_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(TO_LAB_DATA_TYPES_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CI_LAB_HK_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(SAMPLE_APP_HK_TLM_MID), {0, 0}, 4}, + + #if 0 + /* Add these if needed */ + {CFE_SB_MSGID_WRAP_VALUE(HS_HK_TLM_MID), {0,0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(FM_HK_TLM_MID), {0,0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(SC_HK_TLM_MID), {0,0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(DS_HK_TLM_MID), {0,0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(LC_HK_TLM_MID), {0,0}, 4}, + #endif + + /* cFE Core subscriptions */ + {CFE_SB_MSGID_WRAP_VALUE(CFE_ES_HK_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_EVS_HK_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_SB_HK_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_TBL_HK_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_TIME_HK_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_TIME_DIAG_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_SB_STATS_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_TBL_REG_TLM_MID), {0, 0}, 4}, + {CFE_SB_MSGID_WRAP_VALUE(CFE_EVS_LONG_EVENT_MSG_MID), {0, 0}, 32}, + + #ifndef CFE_OMIT_DEPRECATED_6_7 + {CFE_SB_MSGID_WRAP_VALUE(CFE_ES_SHELL_TLM_MID), {0, 0}, 32}, + #endif + + {CFE_SB_MSGID_WRAP_VALUE(CAM_HK_TLM_MID), {0,0}, 32}, + {CFE_SB_MSGID_WRAP_VALUE(CAM_EXP_TLM_MID), {0,0}, 32}, + {CFE_SB_MSGID_WRAP_VALUE(GENERIC_RW_APP_HK_TLM_MID), {0,0}, 32}, + {CFE_SB_MSGID_WRAP_VALUE(NAV_SEND_HK_TLM), {0,0}, 32}, + {CFE_SB_MSGID_WRAP_VALUE(SAMPLE_APP_HK_TLM_MID), {0,0}, 32}, + {CFE_SB_MSGID_WRAP_VALUE(SAMPLE_APP_SEND_DEV_HK_MID), {0,0}, 32}, + {CFE_SB_MSGID_WRAP_VALUE(SAMPLE_APP_SEND_DEV_DATA_MID), {0,0}, 32}, + + } +}; + +CFE_TBL_FILEDEF(TO_LAB_Subs, TO_LAB.TO_LAB_Subs, TO Lab Sub Tbl, to_lab_sub.tbl) diff --git a/fsw/nos3_defs/targets.cmake b/fsw/nos3_defs/targets.cmake index 58bd5da7..f6bb7d51 100644 --- a/fsw/nos3_defs/targets.cmake +++ b/fsw/nos3_defs/targets.cmake @@ -94,12 +94,12 @@ SET(APPLICATION_LIST # # cFS Apps # - #cf + cf ci - #ci_lab + ci_lab #cs - #ds - #fm + ds + fm #hk #hs lc @@ -108,7 +108,7 @@ SET(APPLICATION_LIST sc sch to - #to_lab + to_lab # # Components # @@ -127,7 +127,7 @@ ENDFOREACH(X) SET(TGT1_NAME cpu1) SET(TGT1_APPLIST ${APPLICATION_LIST}) SET(TGT1_FILELIST cfe_es_startup.scr) -SET(TGT2_OSAL_SYSTEM_CONFIG cpu1_osconfig.h) +SET(TGT1_OSAL_SYSTEM_CONFIG cpu1_osconfig.h) # USER Supplied #SET(TGT2_NAME cpu2) diff --git a/fsw/nos3_defs/toolchain-cpu2.cmake b/fsw/nos3_defs/toolchain-cpu2.cmake deleted file mode 100644 index 6f2ea29d..00000000 --- a/fsw/nos3_defs/toolchain-cpu2.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# This example toolchain file describes the cross compiler to use for -# the target architecture indicated in the configuration file. - -# Basic cross system configuration -SET(CMAKE_SYSTEM_NAME Linux) -SET(CMAKE_SYSTEM_VERSION 1) -SET(CMAKE_SYSTEM_PROCESSOR i386) - -# Specify the cross compiler executables -# Typically these would be installed in a home directory or somewhere -# in /opt. However in this example the system compiler is used. -if(DEFINED ENV{TARGET_CROSS}) - SET(CMAKE_C_COMPILER "$ENV{TARGET_CROSS}gcc") - SET(CMAKE_CXX_COMPILER "$ENV{TARGET_CROSS}g++") -else(NOT DEFINED ENV{TARGET_CROSS}) - SET(CMAKE_C_COMPILER "/usr/bin/gcc") - SET(CMAKE_CXX_COMPILER "/usr/bin/g++") -endif() - -# Configure the find commands -SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) -SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) - -# These variable settings are specific to cFE/OSAL and determines which -# abstraction layers are built when using this toolchain -SET(CFE_SYSTEM_PSPNAME "pc-linux") -SET(OSAL_SYSTEM_BSPNAME "pc-linux") -SET(OSAL_SYSTEM_OSTYPE "posix") - -# This adds the "" flag to all compile commands -SET(CMAKE_C_FLAGS_INIT "" CACHE STRING "C Flags required by platform") - -# Build Specific -add_definitions(-D_LINUX_OS_) - -set(CI_TRANSPORT udp) -set(TO_TRANSPORT udp) diff --git a/gsw/cosmos b/gsw/cosmos index 7e29d7d0..1c48b676 160000 --- a/gsw/cosmos +++ b/gsw/cosmos @@ -1 +1 @@ -Subproject commit 7e29d7d0b273a06b9729ff6e860f8725953c66d9 +Subproject commit 1c48b67605b138913df8d4c7a51b3ce49552df11 diff --git a/gsw/scripts/launch.sh b/gsw/scripts/launch.sh index e2c88930..988767f9 100644 --- a/gsw/scripts/launch.sh +++ b/gsw/scripts/launch.sh @@ -22,6 +22,23 @@ SIMS=$(cd $SIM_BIN; ls nos3*simulator) #mkdir /tmp/data/hk 2> /dev/null #mkdir /tmp/uplink 2> /dev/null +echo "Make data folders..." +# FSW Side +mkdir $FSW_BIN/data 2> /dev/null +mkdir $FSW_BIN/data/cam 2> /dev/null +mkdir $FSW_BIN/data/evs 2> /dev/null +mkdir $FSW_BIN/data/hk 2> /dev/null +mkdir $FSW_BIN/data/inst 2> /dev/null +# GSW Side +mkdir /tmp/data 2> /dev/null +mkdir /tmp/data/cam 2> /dev/null +mkdir /tmp/data/evs 2> /dev/null +mkdir /tmp/data/hk 2> /dev/null +mkdir /tmp/data/inst 2> /dev/null +mkdir /tmp/uplink 2> /dev/null +cp $BASE_DIR/fsw/build/exe/cpu1/cf/cfe_es_startup.scr /tmp/uplink/tmp0.so 2> /dev/null +cp $BASE_DIR/fsw/build/exe/cpu1/cf/sample.so /tmp/uplink/tmp1.so 2> /dev/null + echo "42..." cd /opt/nos3/42/ rm -rf NOS3InOut From 6224f641ee3851e2f2a172a06cb3b8ef1d76dc76 Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Thu, 10 Nov 2022 16:33:35 -0500 Subject: [PATCH 30/34] [nasa/nos3#95] CFDP up and down (via test runner scripts) ready to review; --- components/sample | 2 +- fsw/apps/to | 2 +- fsw/nos3_defs/tables/cf_cfgtable.c | 371 ++++++++++++++++++++++++++ fsw/nos3_defs/tables/sch_def_schtbl.c | 2 +- fsw/nos3_defs/tables/to_config.c | 2 +- fsw/nos3_defs/tables/to_lab_sub.c | 8 +- gsw/cosmos | 2 +- 7 files changed, 381 insertions(+), 8 deletions(-) create mode 100644 fsw/nos3_defs/tables/cf_cfgtable.c diff --git a/components/sample b/components/sample index 4cf9740a..7105fa1a 160000 --- a/components/sample +++ b/components/sample @@ -1 +1 @@ -Subproject commit 4cf9740abfb562d2bac1cba79d3131753e576f5d +Subproject commit 7105fa1a34f608736ca34972aa6f0d3d1bf46b8e diff --git a/fsw/apps/to b/fsw/apps/to index 2e8e69df..452318bc 160000 --- a/fsw/apps/to +++ b/fsw/apps/to @@ -1 +1 @@ -Subproject commit 2e8e69dfe593f7e672b6219da6ed8643d57c988e +Subproject commit 452318bcfda3a95002a06ffbee3acdf66cf3c152 diff --git a/fsw/nos3_defs/tables/cf_cfgtable.c b/fsw/nos3_defs/tables/cf_cfgtable.c new file mode 100644 index 00000000..f0945f24 --- /dev/null +++ b/fsw/nos3_defs/tables/cf_cfgtable.c @@ -0,0 +1,371 @@ +/************************************************************************ +** File: +** $Id: cf_cfgtable.c 1.8.1.1 2015/03/06 15:30:28EST sstrege Exp $ +** +** Copyright � 2007-2014 United States Government as represented by the +** Administrator of the National Aeronautics and Space Administration. +** All Other Rights Reserved. +** +** This software was created at NASA's Goddard Space Flight Center. +** This software is governed by the NASA Open Source Agreement and may be +** used, distributed and modified only pursuant to the terms of that +** agreement. +** +** Purpose: +** The CFDP (CF) Application Configuration Table Definition +** +** Notes: +** The configuration parameters in the comments below are defined in the +** platform cfg file and dictate the size of the table. +** It is required that the 'max' number be defined in the table. +** Mark unused elements as 'CF_ENTRY_UNUSED'. +** CF_MAX_PLAYBACK_CHANNELS +** CF_MAX_POLLING_DIRS_PER_CHAN +** +** $Log: cf_cfgtable.c $ +** Revision 1.8.1.1 2015/03/06 15:30:28EST sstrege +** Added copyright information +** Revision 1.8 2011/05/09 11:52:12EDT rmcgraw +** DCR13317:1 Allow Destintaion path to be blank +** Revision 1.7 2010/11/02 10:15:43EDT rmcgraw +** DCR12802:1 Moved peer entity ID from channels section to polling section +** Revision 1.6 2010/10/25 11:21:50EDT rmcgraw +** DCR12573:1 Changes to allow more than one incoming PDU MsgId +** Revision 1.5 2010/07/20 14:37:39EDT rmcgraw +** Dcr11510:1 Remove Downlink buffer references +** Revision 1.4 2010/07/07 17:43:15EDT rmcgraw +** DCR11510:1 Removed TmpPath +** Revision 1.3 2010/04/23 14:52:47EDT rmcgraw +** DCR11510:1 Made to match the platform cfg settings +** Revision 1.2 2010/03/12 12:14:34EST rmcgraw +** DCR11510:1 Initial check-in towards CF Version 1000 +** Revision 1.1 2009/11/24 12:49:24EST rmcgraw +** Initial revision +** Member added to CFS CF project +** +*************************************************************************/ + + +/************************************************************************ +** Includes +*************************************************************************/ +#include "cfe.h" +#include "cfe_tbl_filedef.h" +#include "cf_tbldefs.h" +#include "cf_platform_cfg.h" +#include "cf_msgids.h" +#include "cf_defs.h" + +static CFE_TBL_FileDef_t CFE_TBL_FileDef = +{ + "CF_ConfigTable", "CF.ConfigTable", "CF Config Tbl", + "cf_cfgtable.tbl", sizeof (cf_config_table_t) +}; + + +/* +** Sample playback table data - See NOTE Above +*/ + +cf_config_table_t CF_ConfigTable = +{ + + "Sample CF Table",/* TableIdString */ + 2, /* TableVersion (integer) */ + 4, /* NumEngCyclesPerWakeup */ + 2, /* NumWakeupsPerQueueChk */ + 16, /* NumWakeupsPerPollDirChk */ + 100, /* UplinkHistoryQDepth */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + "10", /* AckTimeout (secs, entered as string) */ + "25", /* AckLimit (max timeouts, string) */ + "5", /* NakTimeout (secs, string) */ + "25", /* NakLimit (max timeouts, string) */ + "30", /* InactivityTimeout (secs, string) */ + "200", /* OutgoingFileChunkSize (bytes, string)*/ + "no", /* SaveIncompleteFiles (yes,no, string) */ + "0.24", /* Flight EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + + { /* Input Channel Array */ + + { /* Input Channel 0 */ + + CF_INCOMING_PDU_MID, + 0, /* Output Chan for Class 2 Uplink Responses, ACK-EOF,Nak,Fin etc) */ + 0, /* spare */ + + }, /* end Input Channel 0 */ + + }, /* end Input Channel Array */ + + { /* Playback Channel Array */ + + { /* Playback Channel #0 */ + CF_ENTRY_IN_USE, /* Playback Channel Entry In Use */ + CF_ENABLED, /* Dequeue Enable */ + CF_SPACE_TO_GND_PDU_MID, /* Space To Gnd PDU MsgId */ + 100, /* Pending Queue Depth */ + 100, /* History Queue Depth */ + "TOPBOutputChan0", /* Playback Channel Name */ + "CFTOSemId", /* Handshake Semaphore Name */ + + { /* Polling Directory Array */ + + { /* Polling Directory 0 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 5, /* Priority */ + CF_KEEP_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll0/", /* SrcPath, no spaces, fwd slash at end */ + "cftesting/", /* DstPath, no spaces */ + },/* End Polling Directory 0 */ + + { /* Polling Directory 1 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_KEEP_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll1/", /* SrcPathname */ + "/gnd/", /* DestPathname */ + + },/* End Polling Directory 1 */ + + + { /* Polling Directory 2 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 5, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll2/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + },/* End Polling Directory 2 */ + + { /* Polling Directory 3 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_KEEP_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll3/", /* SrcPathname */ + "/gnd/", /* DestPathname */ + + },/* End Polling Directory 3 */ + + { /* Polling Directory 4 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 5, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll4/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + },/* End Polling Directory 4 */ + + { /* Polling Directory 5 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_KEEP_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll5/", /* SrcPathname */ + "/gnd/", /* DestPathname */ + + },/* End Polling Directory 5 */ + + { /* Polling Directory 6 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 5, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll6/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + },/* End Polling Directory 6 */ + + { /* Polling Directory 7 */ + CF_ENTRY_IN_USE,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_KEEP_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch0poll7/", /* SrcPathname */ + "/gnd/", /* DestPathname */ + + },/* End Polling Directory 7 */ + + }, /* End Polling Directory Array */ + + }, /* End Playback Channel #0 */ + + + { /* Playback Channel #1 */ + CF_ENTRY_UNUSED, /* Playback Channel Entry In Use */ + CF_DISABLED, /* Dequeue Enable */ + CF_SPACE_TO_GND_PDU_MID, /* Space To Gnd PDU MsgId */ + 100, /* Pending Queue Depth */ + 100, /* History Queue Depth */ + "TOPBOutputChan0", /* Playback Channel Name */ + "CFTOSemId", /* Handshake Semaphore Name */ + + { /* Polling Directory Array */ + + { /* Polling Directory 0 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll0/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + },/* End Polling Directory 0 */ + + { /* Polling Directory 1 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll1/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + }, /* End Polling Directory 1 */ + + { /* Polling Directory 2 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll2/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + },/* End Polling Directory 2 */ + + { /* Polling Directory 3 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll3/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + }, /* End Polling Directory 3 */ + + { /* Polling Directory 4 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll4/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + },/* End Polling Directory 4 */ + + { /* Polling Directory 5 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll5/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + }, /* End Polling Directory 5 */ + + { /* Polling Directory 6 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll6/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + },/* End Polling Directory 6 */ + + { /* Polling Directory 7 */ + CF_ENTRY_UNUSED,/* Poll Directory In Use or Not */ + CF_DISABLED, /* Enable State */ + 1, /* Class (1 or 2)*/ + 0, /* Priority */ + CF_DELETE_FILE, /* Preserve files after successful transfer? */ + 0, /* Reserved1 */ + 0, /* Reserved2 */ + 0, /* Reserved3 */ + "0.23", /* Gnd EntityId - 2 byte dotted-decimal string eg. "0.255"*/ + "/cf/ch1poll7/", /* SrcPathname */ + "cftesting/", /* DstPathname */ + }, /* End Polling Directory 7 */ + + }, /* End Polling Directory Array */ + + }, /* End Playback Channel #1 */ + + }, /* End Playback Channel Array */ + +}; /* End CF_ConfigTable */ + + +/************************/ +/* End of File Comment */ +/************************/ diff --git a/fsw/nos3_defs/tables/sch_def_schtbl.c b/fsw/nos3_defs/tables/sch_def_schtbl.c index 29dae1b0..0318b93b 100644 --- a/fsw/nos3_defs/tables/sch_def_schtbl.c +++ b/fsw/nos3_defs/tables/sch_def_schtbl.c @@ -282,7 +282,7 @@ SCH_ScheduleEntry_t SCH_DefaultScheduleTable[SCH_TABLE_ENTRIES] = { SCH_UNUSED, 0, 0, 0, 0, SCH_GROUP_NONE}, /* slot #26 */ - { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 25, SCH_GROUP_NONE }, /* SC Wakeup */ + { SCH_ENABLED, SCH_ACTIVITY_SEND_MSG, 1, 0, 21, SCH_GROUP_NONE }, /* SC Wakeup */ { 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}, diff --git a/fsw/nos3_defs/tables/to_config.c b/fsw/nos3_defs/tables/to_config.c index e442466c..46f2269f 100644 --- a/fsw/nos3_defs/tables/to_config.c +++ b/fsw/nos3_defs/tables/to_config.c @@ -88,7 +88,7 @@ TO_ConfigTable_t to_ConfigTable = /* 0 - 9 */ {CF_CONFIG_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CF_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, - {CF_SPACE_TO_GND_PDU_MID, {0,0}, 32, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, + {CF_SPACE_TO_GND_PDU_MID, {0,0}, 64, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CF_TRANS_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CFE_ES_APP_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, {CFE_ES_HK_TLM_MID, {0,0}, 5, 0xffff, TO_GROUP_CFE | TO_MGROUP_ONE, 0,1}, diff --git a/fsw/nos3_defs/tables/to_lab_sub.c b/fsw/nos3_defs/tables/to_lab_sub.c index a1421dad..520ea683 100644 --- a/fsw/nos3_defs/tables/to_lab_sub.c +++ b/fsw/nos3_defs/tables/to_lab_sub.c @@ -35,6 +35,11 @@ #include "to_lab_msgids.h" #include "ci_lab_msgids.h" +#include "fm_msgids.h" +#include "sc_msgids.h" +#include "ds_msgids.h" +#include "lc_msgids.h" + /* ** Component Include Files */ @@ -53,14 +58,11 @@ TO_LAB_Subs_t TO_LAB_Subs = {CFE_SB_MSGID_WRAP_VALUE(CI_LAB_HK_TLM_MID), {0, 0}, 4}, {CFE_SB_MSGID_WRAP_VALUE(SAMPLE_APP_HK_TLM_MID), {0, 0}, 4}, - #if 0 /* Add these if needed */ - {CFE_SB_MSGID_WRAP_VALUE(HS_HK_TLM_MID), {0,0}, 4}, {CFE_SB_MSGID_WRAP_VALUE(FM_HK_TLM_MID), {0,0}, 4}, {CFE_SB_MSGID_WRAP_VALUE(SC_HK_TLM_MID), {0,0}, 4}, {CFE_SB_MSGID_WRAP_VALUE(DS_HK_TLM_MID), {0,0}, 4}, {CFE_SB_MSGID_WRAP_VALUE(LC_HK_TLM_MID), {0,0}, 4}, - #endif /* cFE Core subscriptions */ {CFE_SB_MSGID_WRAP_VALUE(CFE_ES_HK_TLM_MID), {0, 0}, 4}, diff --git a/gsw/cosmos b/gsw/cosmos index 1c48b676..689d2750 160000 --- a/gsw/cosmos +++ b/gsw/cosmos @@ -1 +1 @@ -Subproject commit 1c48b67605b138913df8d4c7a51b3ce49552df11 +Subproject commit 689d2750b8c2fcca4dd8dba0cb961b76ec5e37cc From ab853f686a8ca55d092f5e6841e4b611fd3e1fb0 Mon Sep 17 00:00:00 2001 From: Mark Suder Date: Mon, 14 Nov 2022 13:03:20 -0500 Subject: [PATCH 31/34] Update absolute start time to agree with 42 Inp_Sim.txt file. --- sims/cfg/nos3-simulator.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sims/cfg/nos3-simulator.xml b/sims/cfg/nos3-simulator.xml index c72d2f43..102c0988 100644 --- a/sims/cfg/nos3-simulator.xml +++ b/sims/cfg/nos3-simulator.xml @@ -5,7 +5,8 @@ sim_log_config.xml - 552110400.0 + + 814048200.0 100000 100000 tcp://127.0.0.1:12001 From fd4ca6d99189ac0636e402f41bd45f72afbc6cf6 Mon Sep 17 00:00:00 2001 From: Matt Grubb Date: Mon, 14 Nov 2022 13:34:37 -0500 Subject: [PATCH 32/34] Streamline RW momentum tlm reporting --- components/generic_reaction_wheel | 2 +- fsw/nos3_defs/tables/sch_def_msgtbl.c | 2 +- sims/cfg/InOut/Inp_Graphics.txt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/generic_reaction_wheel b/components/generic_reaction_wheel index 3aea8212..132a0520 160000 --- a/components/generic_reaction_wheel +++ b/components/generic_reaction_wheel @@ -1 +1 @@ -Subproject commit 3aea8212c285fa5d65cab9447f330e2deb0b1492 +Subproject commit 132a05209f6396738bfa3c2a971d2c71c7e73460 diff --git a/fsw/nos3_defs/tables/sch_def_msgtbl.c b/fsw/nos3_defs/tables/sch_def_msgtbl.c index 6d99adae..568fb317 100644 --- a/fsw/nos3_defs/tables/sch_def_msgtbl.c +++ b/fsw/nos3_defs/tables/sch_def_msgtbl.c @@ -188,7 +188,7 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] = /* command ID #44 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #45 - RW HK */ - { { CFE_MAKE_BIG16(GENERIC_RW_APP_SEND_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), 0x0000 } }, + { { CFE_MAKE_BIG16(GENERIC_RW_APP_CMD_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), CFE_MAKE_BIG16(0x0200) } }, /* command ID #46 */ { { CFE_MAKE_BIG16(SCH_UNUSED_MID) } }, /* command ID #47 */ diff --git a/sims/cfg/InOut/Inp_Graphics.txt b/sims/cfg/InOut/Inp_Graphics.txt index 95dde6b7..db170e45 100644 --- a/sims/cfg/InOut/Inp_Graphics.txt +++ b/sims/cfg/InOut/Inp_Graphics.txt @@ -2,8 +2,8 @@ 1.0 ! GL Output Interval [sec] Skymap09.txt ! Star Catalog File Name TRUE ! Map Window Exists -TRUE ! Orrery Window Exists -TRUE ! Unit Sphere Window Exists +FALSE ! Orrery Window Exists +FALSE ! Unit Sphere Window Exists ******************************* POV ********************************* FALSE ! Pause at Startup TRACK_HOST ! POV Mode (TRACK_HOST, TRACK_TARGET, FIXED_IN_HOST) From e245cfdf19a839a61fdc54f60a665c1145986f5d Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Mon, 14 Nov 2022 20:05:48 -0500 Subject: [PATCH 33/34] [nasa/nos3#95] Update to remove union from generic RW app and updated initial 42 POV; --- components/generic_reaction_wheel | 2 +- sims/cfg/InOut/Inp_Graphics.txt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/generic_reaction_wheel b/components/generic_reaction_wheel index 132a0520..ad46f640 160000 --- a/components/generic_reaction_wheel +++ b/components/generic_reaction_wheel @@ -1 +1 @@ -Subproject commit 132a05209f6396738bfa3c2a971d2c71c7e73460 +Subproject commit ad46f640c39a3d3b2aaf2f571f81bdca6f482906 diff --git a/sims/cfg/InOut/Inp_Graphics.txt b/sims/cfg/InOut/Inp_Graphics.txt index db170e45..ec1f2081 100644 --- a/sims/cfg/InOut/Inp_Graphics.txt +++ b/sims/cfg/InOut/Inp_Graphics.txt @@ -10,9 +10,9 @@ TRACK_HOST ! POV Mode (TRACK_HOST, TRACK_TARGET, FIXED_ SC ! Host Type (WORLD, REFORB, FRM, SC, BODY) 0 0 L ! Initial Host SC, Body, POV Frame SC ! Target Type (WORLD, REFORB, FRM, SC, BODY) -0 0 L ! Initial Target SC, Body, POV Frame -POS_Z ! Boresight Axis -NEG_Y ! Up Axis +0 0 N ! Initial Target SC, Body, POV Frame +NEG_Y ! Boresight Axis +POS_Z ! Up Axis 3.2 ! Initial POV Range from Target [m] 30.0 ! POV Angle (Vertical) [deg] 0.0 0.0 0.0 ! POV Position in Host [m] From 554425d741806c258352e8db7df5e3b5f833182b Mon Sep 17 00:00:00 2001 From: "Lucas, John P" Date: Mon, 14 Nov 2022 20:53:06 -0500 Subject: [PATCH 34/34] dev: Multiple merges to main, added license, and updated readme; --- LICENSE | 263 ++++++++++++++++++++++++++++++ README.md | 60 ++----- VDD.md | 58 ------- components/arducam | 2 +- components/generic_reaction_wheel | 2 +- components/novatel_oem615 | 2 +- components/sample | 2 +- components/template | 2 +- fsw/apps/cf | 2 +- fsw/apps/hwlib | 2 +- fsw/apps/io_lib | 2 +- fsw/apps/lc | 2 +- fsw/psp | 2 +- gsw/OrbitInviewPowerPrediction | 2 +- gsw/cosmos | 2 +- sims/truth_42_sim | 2 +- 16 files changed, 289 insertions(+), 118 deletions(-) create mode 100644 LICENSE delete mode 100644 VDD.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..50a36292 --- /dev/null +++ b/LICENSE @@ -0,0 +1,263 @@ +NASA OPEN SOURCE AGREEMENT VERSION 1.3 + +THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, +REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN +COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT +AS REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT +AGENCY"). THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT +AGENCY, IS AN INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT +DISTRIBUTIONS OR REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO +USES, REPRODUCES, DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT +SOFTWARE, AS DEFINED HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION, +ACCEPTING IN FULL THE RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN +THIS AGREEMENT. + +Government Agency: NASA +Government Agency Original Software Designation: GSC-17737-1 +Government Agency Original Software Title: + NASA Operational Simulator for Small Satellites +User Registration Requested. Please Visit + https://github.com/nasa/nos3 +Government Agency Point of Contact for Original Software: + John.P.Lucas@nasa.gov + +1. DEFINITIONS + +A. "Contributor" means Government Agency, as the developer of the +Original Software, and any entity that makes a Modification. +B. "Covered Patents" mean patent claims licensable by a Contributor +that are necessarily infringed by the use or sale of its Modification +alone or when combined with the Subject Software. +C. "Display" means the showing of a copy of the Subject Software, +either directly or by means of an image, or any other device. +D. "Distribution" means conveyance or transfer of the Subject +Software, regardless of means, to another. +E. "Larger Work" means computer software that combines Subject +Software, or portions thereof, with software separate from the Subject +Software that is not governed by the terms of this Agreement. +F. "Modification" means any alteration of, including addition to or +deletion from, the substance or structure of either the Original +Software or Subject Software, and includes derivative works, as that +term is defined in the Copyright Statute, 17 USC 101. However, the +act of including Subject Software as part of a Larger Work does not in +and of itself constitute a Modification. +G. "Original Software" means the computer software first released +under this Agreement by Government Agency with Government Agency +designation GSC-17776-1 and entitled Core Flight System Cryptography +Library, including source code, object code and accompanying +documentation, if any. +H. "Recipient" means anyone who acquires the Subject Software under +this Agreement, including all Contributors. +I. "Redistribution" means Distribution of the Subject Software after a +Modification has been made. +J. "Reproduction" means the making of a counterpart, image or copy of +the Subject Software. +K. "Sale" means the exchange of the Subject Software for money or +equivalent value. +L. "Subject Software" means the Original Software, Modifications, or +any respective parts thereof. +M. "Use" means the application or employment of the Subject Software +for any purpose. + +2. GRANT OF RIGHTS + +A. Under Non-Patent Rights: Subject to the terms and conditions of +this Agreement, each Contributor, with respect to its own contribution +to the Subject Software, hereby grants to each Recipient a +non-exclusive, world-wide, royalty-free license to engage in the +following activities pertaining to the Subject Software: + +1. Use +2. Distribution +3. Reproduction +4. Modification +5. Redistribution +6. Display + +B. Under Patent Rights: Subject to the terms and conditions of this +Agreement, each Contributor, with respect to its own contribution to +the Subject Software, hereby grants to each Recipient under Covered +Patents a non-exclusive, world-wide, royalty-free license to engage in +the following activities pertaining to the Subject Software: + +1. Use +2. Distribution +3. Reproduction +4. Sale +5. Offer for Sale + +C. The rights granted under Paragraph B. also apply to the combination +of a Contributor's Modification and the Subject Software if, at the +time the Modification is added by the Contributor, the addition of +such Modification causes the combination to be covered by the Covered +Patents. It does not apply to any other combinations that include a +Modification. + +D. The rights granted in Paragraphs A. and B. allow the Recipient to +sublicense those same rights. Such sublicense must be under the same +terms and conditions of this Agreement. + +3. OBLIGATIONS OF RECIPIENT + +A. Distribution or Redistribution of the Subject Software must be made +under this Agreement except for additions covered under paragraph 3H. + +1. Whenever a Recipient distributes or redistributes the Subject + Software, a copy of this Agreement must be included with each copy + of the Subject Software; and +2. If Recipient distributes or redistributes the Subject Software in + any form other than source code, Recipient must also make the + source code freely available, and must provide with each copy of + the Subject Software information on how to obtain the source code + in a reasonable manner on or through a medium customarily used for + software exchange. + +B. Each Recipient must ensure that the following copyright notice +appears prominently in the Subject Software: + +/* Copyright (C) 2009 - 2022 National Aeronautics and Space Administration. All Foreign Rights are Reserved to the U.S. Government. + + This software is provided "as is" without any warranty of any kind, either expressed, implied, or statutory, including, but not + limited to, any warranty that the software will conform to specifications, any implied warranties of merchantability, fitness + for a particular purpose, and freedom from infringement, and any warranty that the documentation will conform to the program, or + any warranty that the software will be error free. + + In no event shall NASA be liable for any damages, including, but not limited to direct, indirect, special or consequential damages, + arising out of, resulting from, or in any way connected with the software or its documentation, whether or not based upon warranty, + contract, tort or otherwise, and whether or not loss was sustained from, or arose out of the results of, or use of, the software, + documentation or services provided hereunder. + + ITC Team + NASA IV&V + jstar-development-team@mail.nasa.gov +*/ + +C. Each Contributor must characterize its alteration of the Subject +Software as a Modification and must identify itself as the originator +of its Modification in a manner that reasonably allows subsequent +Recipients to identify the originator of the Modification. In +fulfillment of these requirements, Contributor must include a file +(e.g., a change log file) that describes the alterations made and the +date of the alterations, identifies Contributor as originator of the +alterations, and consents to characterization of the alterations as a +Modification, for example, by including a statement that the +Modification is derived, directly or indirectly, from Original +Software provided by Government Agency. Once consent is granted, it +may not thereafter be revoked. + +D. A Contributor may add its own copyright notice to the Subject +Software. Once a copyright notice has been added to the Subject +Software, a Recipient may not remove it without the express permission +of the Contributor who added the notice. + +E. A Recipient may not make any representation in the Subject Software +or in any promotional, advertising or other material that may be +construed as an endorsement by Government Agency or by any prior +Recipient of any product or service provided by Recipient, or that may +seek to obtain commercial advantage by the fact of Government Agency's +or a prior Recipient's participation in this Agreement. + +F. In an effort to track usage and maintain accurate records of the +Subject Software, each Recipient, upon receipt of the Subject +Software, is requested to register with Government Agency by visiting +the following website: https://github.com/nasa/CryptoLib. Recipient's +name and personal information shall be used for statistical purposes +only. Once a Recipient makes a Modification available, it is requested +that the Recipient inform Government Agency at the web site provided +above how to access the Modification. + +G. Each Contributor represents that that its Modification is believed +to be Contributor's original creation and does not violate any +existing agreements, regulations, statutes or rules, and further that +Contributor has sufficient rights to grant the rights conveyed by this +Agreement. + +H. A Recipient may choose to offer, and to charge a fee for, warranty, +support, indemnity and/or liability obligations to one or more other +Recipients of the Subject Software. A Recipient may do so, however, +only on its own behalf and not on behalf of Government Agency or any +other Recipient. Such a Recipient must make it absolutely clear that +any such warranty, support, indemnity and/or liability obligation is +offered by that Recipient alone. Further, such Recipient agrees to +indemnify Government Agency and every other Recipient for any +liability incurred by them as a result of warranty, support, indemnity +and/or liability offered by such Recipient. + +I. A Recipient may create a Larger Work by combining Subject Software +with separate software not governed by the terms of this agreement and +distribute the Larger Work as a single product. In such case, the +Recipient must make sure Subject Software, or portions thereof, +included in the Larger Work is subject to this Agreement. + +J. Notwithstanding any provisions contained herein, Recipient is +hereby put on notice that export of any goods or technical data from +the United States may require some form of export license from the +U.S. Government. Failure to obtain necessary export licenses may +result in criminal liability under U.S. laws. Government Agency +neither represents that a license shall not be required nor that, if +required, it shall be issued. Nothing granted herein provides any +such export license. + +4. DISCLAIMER OF WARRANTIES AND LIABILITIES; WAIVER AND INDEMNIFICATION + +A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY +WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, +INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE +WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM +INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR +FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO +THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, +CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT +OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY +OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. +FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES +REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, +AND DISTRIBUTES IT "AS IS." + +B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS +AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND +SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF +THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, +EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM +PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT +SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED +STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY +PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE +REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL +TERMINATION OF THIS AGREEMENT. + + +5. GENERAL TERMS + +A. Termination: This Agreement and the rights granted hereunder will +terminate automatically if a Recipient fails to comply with these +terms and conditions, and fails to cure such noncompliance within +thirty (30) days of becoming aware of such noncompliance. Upon +termination, a Recipient agrees to immediately cease use and +distribution of the Subject Software. All sublicenses to the Subject +Software properly granted by the breaching Recipient shall survive any +such termination of this Agreement. + +B. Severability: If any provision of this Agreement is invalid or +unenforceable under applicable law, it shall not affect the validity +or enforceability of the remainder of the terms of this Agreement. + +C. Applicable Law: This Agreement shall be subject to United States +federal law only for all purposes, including, but not limited to, +determining the validity of this Agreement, the meaning of its +provisions and the rights, obligations and remedies of the parties. + +D. Entire Understanding: This Agreement constitutes the entire +understanding and agreement of the parties relating to release of the +Subject Software and may not be superseded, modified or amended except +by further written agreement duly executed by the parties. + +E. Binding Authority: By accepting and using the Subject Software +under this Agreement, a Recipient affirms its authority to bind the +Recipient to all terms and conditions of this Agreement and that that +Recipient hereby agrees to all terms and conditions herein. + +F. Point of Contact: Any Recipient contact with Government Agency is +to be directed to the designated representative as follows: + John.P.Lucas@nasa.gov \ No newline at end of file diff --git a/README.md b/README.md index db897632..ad98d010 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,8 @@ The NASA Operational Simulator for Small Satellites (NOS3) is a suite of tools developed by NASA's Katherine Johnson Independent Verification and Validation (IV&V) Facility to aid in areas such as software development, integration & test (I&T), mission operations/training, verification and validation (V&V), and software systems check-out. NOS3 provides a software development environment, a multi-target build system, an operator interface/ground station, dynamics and environment simulations, and software-based models of spacecraft hardware. -### Known Issues -1. Not all cFS delivered apps are included and supported at this time. Currently supported are: CI, TO, SCH, SC, HK, CFS_LIB -2. CentOS support not included in this release -These issues will be addressed in future updates - -### Documentation -The best source of documentation can be found at [the wiki](https://github.com/nasa/nos3/wiki), or [NOS3](http://www.nos3.org), or the PDF Users Guide attached to this Release on Github +## Documentation +The best source of documentation can be found at [the wiki](https://github.com/nasa/nos3/wiki) or [NOS3](http://www.nos3.org). ### Prerequisites Each of the applications listed below are required prior to performing the installation procedure: @@ -17,18 +12,13 @@ Each of the applications listed below are required prior to performing the insta * [VirtualBox 6.1+](https://www.virtualbox.org/) ### Installing -1. Open a terminal -2. Navigate to the desired location for the repository -3. Clone the repository `git clone https://github.com/nasa/nos3.git` -4. `cd nos3` -5. `git checkout dev` -6. Clone the submodules `git submodule init` and `git submodule update` -7. 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 - - The VM may reboot multiple times in order to finish install 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.** -8. Login to the nos3 user using the password `nos3123!` and get to work! -9. Try building and running following the instructions below +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 ### Getting started It is recommended to share the nos3 repository into the virtual machine (e.g. `/home/nos3/Desktop/github-nos3`) @@ -59,38 +49,14 @@ It is recommended to share the nos3 repository into the virtual machine (e.g. `/ - /sim_terminal - terminal for testing on NOS Engine busses - /truth_42_sim - interface between 42 and COSMOS to provide dynamics truth data to COSMOS -## Support -If this project interests you or if you have any questions, please feel free to contact any developer directly or email `support@nos3.org`. - -## Reporting Issues -Please report issues to the tracking system on Github [NOS3 Issues](https://www.github.com/nasa/nos3/issues) - -### Frequently Asked Questions -* A GUI environment hasn't shown up after an extended period (> 1.5 hours), what should I do? - - Stop the provision, delete the existing VM (if it was created), and try again - - `CTRL + C`, `vagrant destroy`, `y`, `vagrant up`, wait, `vagrant reload` -* What is the root username and password? - - `vagrant` with password `vagrant` -* Why doesn't the shared clipboard work? - - You will most likely need to re-install / update the guest additions and reboot for this to function properly - - In the VirtualBox menu select: Devices -> Insert Guest Additions CD Image... - - Follow the instructions provided -* How can I mount a shared folder so that I edit on my host and compile / run in the VM? - - In the VirtualBox menu select: Settings -> Shared Folders - - Select the folder with a plus sign to add your folder - * Provide the path, name, mount point inside the VM - * Select `Auto-mount`, `Make Permanent`, and `OK` -* How can I run 42 without the GUI? - - Edit `sims/cfg/InOut/Inp_Sim.txt` and set Graphics Front End on line 6 to `FALSE` -* NOS Engine Standalone server reports `NOSEngine.Uart - close uart port failed` error? - - This isn't actually an error and is scheduled to be removed, proceed as usual. - ### 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. -### Acknowledgments -* Special thanks to all the developers involved! +# Issues and Features +Please report issues and request features on the GitHub tracking system - [NOS3 Issues](https://www.github.com/nasa/nos3/issues). +## Support +If this project interests you or if you have any questions, please feel free to contact any developer directly or email `support@nos3.org`. diff --git a/VDD.md b/VDD.md deleted file mode 100644 index d41f5ea5..00000000 --- a/VDD.md +++ /dev/null @@ -1,58 +0,0 @@ -# Version Description Document # -# NASA Operational Simulator for Small Satellites (NOS3) # -# BUILD: 1.05.00 # -## RELEASE DATE: 7/10/2020 ## - -### Software Versions ### -This version of NOS3 includes the following software components with minimal changes to allow NOS3 compatibility. Where changes are necessay, the original repo is forked to https://github.com/nasa-itc. The upstream version or commit is noted below - -- **core Flight Executive: [cFE](https://github.com/nasa/cFE)** - v6.7.0a -- **Operating System Abstraction Layer: [OSAL](https://github.com/nasa/osal)** - v5.0.0 -- **Platform Support Package: [PSP](https://github.com/nasa-itc/PSP)** - v1.4.0 - - nos-linux psp added for NOS3 compatibilty -- cFS Lab Tools - - **Sample Ground System: [cFS-GroundSystem](https://github.com/nasa/cFS-GroundSystem)** - v2.1.0 - - **ELF to cFE Table Converter: [elf2cfetbl](https://github.com/nasa/elf2cfetbl)** - v3.1.0 -- cFS Applications - - **Command Ingest: [CI](https://github.com/nasa/cfs_ci)** - master commit: 1bcf88d - - Changes to CMake for NOS3 build system - - **Scheduler: [SCH](https://github.com/nasa/sch)** - v2.2.2 - - Updated table locations and changed CMake for NOS3 - - **Stored Command: [SC](https://github.com/nasa/sc)** - v2.5.0 - - Updated table locations - - **House Keeping: [HK](https://github.com/nasa/hk)** - v2.4.1 - - Updated table locations and changed CMake for NOS3 - - **Telemetry Output: [TO](https://github.com/nasa/cfs_to)** - master commit: 4589edb - - Updated table locations and changed CMake for NOS3 - - **CFS_LIB: [CFS_LIB](https://github.com/nasa/cfs_lib)** - v2.2.0 - - Added cmake files for build -- NOS3 Applications - - **Arducam OV2640** - - **Clyde EPS** - - **Generic Reaction Wheels** - - **HWLIB** - - **Novatel OEM615** - - **Sample** -- NOS3 Simulators - - **Arducam OV2640** - - **Clyde Battery** - - **Clyde EPS** - - **NOS3 Time Driver** - - **Novatel OEM615** - - **Sample** - - **Sim Command Terminal** -- NOS3 Supporting Packages - - **NOS Engine** - v1.5.1 - - **ITC Common** - v1.9.1 -- **42: [42](https://github.com/ericstoneking/42)** - master commit: b70508fd -- **COSMOS: [COSMOS](https://github.com/ballaerospace/cosmos)** - master -- **AIT: [AIT](https://github.com/nasa-ammos/ait-core)** - v2.0.0 -- **Ubuntu** - 18.04 LTS - -### Summary of NOS3 changes for this release ### -- Updated to cFS v6.7.0a -- Included all NOS3 components as submodules for better tracking -- Included ability to command 42 from simulators -- Included better support for missions varying from the default configuration in 42 -- Updated 42 version -- General bug fixes \ No newline at end of file diff --git a/components/arducam b/components/arducam index 38dea074..45cc6d72 160000 --- a/components/arducam +++ b/components/arducam @@ -1 +1 @@ -Subproject commit 38dea0741bd586d897ce6651efa5064990f69868 +Subproject commit 45cc6d72de2d77ba992b088bb97fbf3d9ae5ff16 diff --git a/components/generic_reaction_wheel b/components/generic_reaction_wheel index ad46f640..8906308f 160000 --- a/components/generic_reaction_wheel +++ b/components/generic_reaction_wheel @@ -1 +1 @@ -Subproject commit ad46f640c39a3d3b2aaf2f571f81bdca6f482906 +Subproject commit 8906308fd6a745c4a7cdcd7c7ae2a0605b9e524b diff --git a/components/novatel_oem615 b/components/novatel_oem615 index 720c21a2..90b99e4c 160000 --- a/components/novatel_oem615 +++ b/components/novatel_oem615 @@ -1 +1 @@ -Subproject commit 720c21a224c682a597a06d6c17dedc249be4ad5b +Subproject commit 90b99e4c0644f967516348163b6878c073c4d60b diff --git a/components/sample b/components/sample index 7105fa1a..a1ae053c 160000 --- a/components/sample +++ b/components/sample @@ -1 +1 @@ -Subproject commit 7105fa1a34f608736ca34972aa6f0d3d1bf46b8e +Subproject commit a1ae053c6d2babb319c3b385f1b16cf7aab69d74 diff --git a/components/template b/components/template index 791efffe..708f604a 160000 --- a/components/template +++ b/components/template @@ -1 +1 @@ -Subproject commit 791efffe0537cc426e16bcceaeaf5465ae3767c4 +Subproject commit 708f604ae670c9435ba54294a3d1b4c6372af9eb diff --git a/fsw/apps/cf b/fsw/apps/cf index 8989bd7f..f835e855 160000 --- a/fsw/apps/cf +++ b/fsw/apps/cf @@ -1 +1 @@ -Subproject commit 8989bd7f1050ffdfce8f457dff44bf81fa310775 +Subproject commit f835e8559574b4ad0ef913e85d68d14ee428ec81 diff --git a/fsw/apps/hwlib b/fsw/apps/hwlib index 65d0eb25..b1bdbc0e 160000 --- a/fsw/apps/hwlib +++ b/fsw/apps/hwlib @@ -1 +1 @@ -Subproject commit 65d0eb25ce0e07636b30f5f2b0a8e4d30270a7af +Subproject commit b1bdbc0ecfac66275da289ce144caba79f6f1fd9 diff --git a/fsw/apps/io_lib b/fsw/apps/io_lib index 377bcbb2..887b7e8d 160000 --- a/fsw/apps/io_lib +++ b/fsw/apps/io_lib @@ -1 +1 @@ -Subproject commit 377bcbb2eec52ad917aba679795e2bbf341fc836 +Subproject commit 887b7e8d82c226ae892797829526f03ba1883429 diff --git a/fsw/apps/lc b/fsw/apps/lc index c5eb78da..cfb3993a 160000 --- a/fsw/apps/lc +++ b/fsw/apps/lc @@ -1 +1 @@ -Subproject commit c5eb78dae00c9f66e183e4e9ba9ba4b60341c5c0 +Subproject commit cfb3993a2b4a917ed891875b4ef21ba8dd652f3a diff --git a/fsw/psp b/fsw/psp index 589fa7e8..ac1288df 160000 --- a/fsw/psp +++ b/fsw/psp @@ -1 +1 @@ -Subproject commit 589fa7e8100de3d6c57d065ab7a058475759d820 +Subproject commit ac1288df4f848e02db20937f9f30aec2a6bdccd3 diff --git a/gsw/OrbitInviewPowerPrediction b/gsw/OrbitInviewPowerPrediction index 7f107703..7d92bcd4 160000 --- a/gsw/OrbitInviewPowerPrediction +++ b/gsw/OrbitInviewPowerPrediction @@ -1 +1 @@ -Subproject commit 7f107703a5af81e4d51c6cd48fbe899520204823 +Subproject commit 7d92bcd4adb7b43fcd03c05c65d608fc1cfb5092 diff --git a/gsw/cosmos b/gsw/cosmos index 689d2750..da65ce2c 160000 --- a/gsw/cosmos +++ b/gsw/cosmos @@ -1 +1 @@ -Subproject commit 689d2750b8c2fcca4dd8dba0cb961b76ec5e37cc +Subproject commit da65ce2cf2eb209de016f498b739b750a6e4a897 diff --git a/sims/truth_42_sim b/sims/truth_42_sim index ae0681c0..cfb5f2fb 160000 --- a/sims/truth_42_sim +++ b/sims/truth_42_sim @@ -1 +1 @@ -Subproject commit ae0681c0b1ad0aeab48d03303a5820f73870a7a7 +Subproject commit cfb5f2fb4732849f32fdce79458f7a180f0ec94e