Compare commits
145 Commits
a2991988f5
...
v2.0.0
Author | SHA1 | Date | |
---|---|---|---|
4e6f2b16ea | |||
1483dc4d93 | |||
f57414bcd9 | |||
502b4cf6a5 | |||
163604bb45 | |||
eeebcb4c5f | |||
c76b107b76 | |||
12f7b5bb25 | |||
a47ca5c901 | |||
a54ae782d4 | |||
292bafa091 | |||
70a1d49246 | |||
ac2b9cb712 | |||
f5766ea419 | |||
9cd4846d39 | |||
2cdc210541 | |||
066adee13a | |||
ef23aced2b | |||
f730ff4180 | |||
d5813e1a42 | |||
a7999bdbb1 | |||
66a1362e7e | |||
35afed5ec2 | |||
6db683b831 | |||
89285ad511 | |||
b6490a05ec | |||
f6fab2d44a | |||
66c8f09feb | |||
f62c67a11e | |||
1542cf087c | |||
88302ef7eb | |||
622b2e4f21 | |||
331b67622a | |||
074eb82e78 | |||
f3609b8179 | |||
09757f0150 | |||
0d596a5547 | |||
f99ca2f8d8 | |||
38385f7826 | |||
044c600b1c | |||
38d180f258 | |||
10cca44fbe | |||
47ef66fcd1 | |||
4420bf3df9 | |||
5dc2333480 | |||
aefdcebde8 | |||
ff1b401622 | |||
1c38b54f01 | |||
c13f4a8575 | |||
d9a178460b | |||
8028f024a4 | |||
3cbfeb7015 | |||
90c9cf297b | |||
1dfc2fca2f | |||
962d8e46d9 | |||
42b962dede | |||
87e40fab0f | |||
9051282990 | |||
98dc8b1baa | |||
9493cdaabf | |||
14f7c39e02 | |||
e80cc11d98 | |||
0fe3d8bef7 | |||
b2bab4c964 | |||
f3ccbf0418 | |||
b6e95317b1 | |||
30a763a7f7 | |||
d4496a131b | |||
7957ed844e | |||
6088239226 | |||
eb7cb3f28c | |||
968db5ce51 | |||
0ddb9587ba | |||
80a57cdc70 | |||
9171f23d93 | |||
195d5343bc | |||
7f56d1e726 | |||
216675a787 | |||
8655f0c9e6 | |||
646cf1a14e | |||
8b309e8dcc | |||
d4f48534d9 | |||
772c86ab04 | |||
e88a5338d4 | |||
55f27b83be | |||
bd533b5ab2 | |||
de815180c3 | |||
adf2327e6d | |||
105b7eb3dd | |||
a3c9c403d5 | |||
cb2772328d | |||
4b0e2f0b0a | |||
6e8ef41d7c | |||
50abe69f26 | |||
a82665321e | |||
4c3f5f2825 | |||
ab1947ed86 | |||
2ab3a5cdc4 | |||
aaacc8babd | |||
3d2dee8c9c | |||
fd5c234bc8 | |||
61317e695c | |||
ebb0ddf399 | |||
a4a228c42a | |||
986539d648 | |||
6e493064a7 | |||
656a534ba7 | |||
f35c96eecc | |||
72fa0ae15a | |||
d857e3866a | |||
6ccf8c8cb9 | |||
d39b79b2ac | |||
bd5daa05a5 | |||
f2ad32b524 | |||
b3a238b5a0 | |||
9cc079d71c | |||
bcdc0615c1 | |||
b73f2fa4e6 | |||
8c48255eb3 | |||
c8eaf180dc | |||
648779e8b6 | |||
52d91fe857 | |||
a19b659939 | |||
a0f346332f | |||
439ca2a471 | |||
3b5e484de1 | |||
5a49e76ad9 | |||
debbe9813b | |||
6caf06248b | |||
![]() |
a7714747bc | ||
![]() |
135afdff3b | ||
f8e8f9a125 | |||
e1d84c5b99 | |||
395dbe9df3 | |||
c84f2c2b35 | |||
![]() |
b4d4a51164 | ||
![]() |
b1eafd92c2 | ||
6b5c005b73 | |||
631dc9ea9c | |||
77a2f82d82 | |||
0d75dfe44a | |||
22c57bd0ed | |||
6cb629c3c3 | |||
219116a773 | |||
937eb48298 |
18
.gitignore
vendored
18
.gitignore
vendored
@@ -9,3 +9,21 @@ log
|
||||
/scex_conf.json
|
||||
/tmtc_conf.json
|
||||
/seqcnt*.txt
|
||||
|
||||
# Distribution / packaging
|
||||
/.Python
|
||||
/build/
|
||||
/develop-eggs/
|
||||
/downloads/
|
||||
/eggs/
|
||||
/.eggs/
|
||||
/parts/
|
||||
/sdist/
|
||||
/var/
|
||||
/wheels/
|
||||
/pip-wheel-metadata/
|
||||
/share/python-wheels/
|
||||
/*.egg-info/
|
||||
/.installed.cfg
|
||||
/*.egg
|
||||
/MANIFEST
|
||||
|
@@ -21,4 +21,26 @@
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration default="false" name="ACU" type="PythonConfigurationType" factoryName="Python" folderName="Power">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s acu -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="CFDP Test File Small" type="PythonConfigurationType" factoryName="Python" folderName="CFDP">
|
||||
<configuration default="false" name="CFDP Test File Small No Closure" type="PythonConfigurationType" factoryName="Python" folderName="CFDP">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@@ -13,7 +13,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="cfdp filetest/cfdp_test.txt /tmp/cfdp_test.txt -d 0.2" />
|
||||
<option name="PARAMETERS" value="cfdp filetest/cfdp_test.txt /tmp/cfdp_test.txt --no-closure -d 0.2" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Test UDP" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Dipole" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@@ -13,7 +13,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-m seqcmd -c udp -s imtq -l -d 4" />
|
||||
<option name="PARAMETERS" value="-s imtq -o set_dipole -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Get Commanded Dipole" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Get Commanded Dipole" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Neg X Test" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Neg X Test" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Neg Y Test" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Neg Y Test" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Neg Z Test" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Neg Z Test" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Pos X Test" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Pos X Test" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Pos Y Test" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Pos Y Test" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="IMTQ Pos Z Test" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="IMTQ Pos Z Test" type="PythonConfigurationType" factoryName="Python" folderName="IMTQ">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="P60 Dock Commanding" type="PythonConfigurationType" factoryName="Python" folderName="Power">
|
||||
<configuration default="false" name="P60 Dock" type="PythonConfigurationType" factoryName="Python" folderName="Power">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="PDU1 Commanding" type="PythonConfigurationType" factoryName="Python" folderName="Power">
|
||||
<configuration default="false" name="PDU1" type="PythonConfigurationType" factoryName="Python" folderName="Power">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="PDU2 Commanding" type="PythonConfigurationType" factoryName="Python" folderName="Power">
|
||||
<configuration default="false" name="PDU2" type="PythonConfigurationType" factoryName="Python" folderName="Power">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name=" IMTQ Command Dipole" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="PLOC SUPV With Listener" type="PythonConfigurationType" factoryName="Python" folderName="PLOC">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@@ -13,7 +13,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-c udp -s imtq -o 7 -l -d 4 --hk" />
|
||||
<option name="PARAMETERS" value="-s ploc_supv -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
24
.run/RW All Off.run.xml
Normal file
24
.run/RW All Off.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="RW All Off" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s rw_ass -o speed_off -d 0.1 -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/RW All On.run.xml
Normal file
24
.run/RW All On.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="RW All On" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s rw_ass -o speed_up -d 0.1 -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/RW1.run.xml
Normal file
24
.run/RW1.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="RW1" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s rw_1 -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/RW2.run.xml
Normal file
24
.run/RW2.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="RW2" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s rw_2 -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/RW3.run.xml
Normal file
24
.run/RW3.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="RW3" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s rw_3 -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/RW4.run.xml
Normal file
24
.run/RW4.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="RW4" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s rw_4 -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/SA Deployment.run.xml
Normal file
24
.run/SA Deployment.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="SA Deployment" type="PythonConfigurationType" factoryName="Python" folderName="Core">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s sa_depl -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/SCEX FRAM .run.xml
Normal file
24
.run/SCEX FRAM .run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="SCEX FRAM " type="PythonConfigurationType" factoryName="Python" folderName="SCEX">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s scex -o fram -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="SCEX " type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="SCEX " type="PythonConfigurationType" factoryName="Python" folderName="SCEX">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@@ -13,7 +13,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s scex" />
|
||||
<option name="PARAMETERS" value="-s scex -d 8" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
|
24
.run/SCEX All Cells.run.xml
Normal file
24
.run/SCEX All Cells.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="SCEX All Cells" type="PythonConfigurationType" factoryName="Python" folderName="SCEX">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s scex -o allcells -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="SCEX Ping" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="SCEX Ping" type="PythonConfigurationType" factoryName="Python" folderName="SCEX">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@@ -12,7 +12,7 @@
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s scex -o ping" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="SCEX oneCell" type="PythonConfigurationType" factoryName="Python" folderName="Devices">
|
||||
<configuration default="false" name="SCEX oneCell" type="PythonConfigurationType" factoryName="Python" folderName="SCEX">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@@ -13,7 +13,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s scex -o 4 -d 4" />
|
||||
<option name="PARAMETERS" value="-s scex -o onecell -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
|
24
.run/Subsystem IDLE.run.xml
Normal file
24
.run/Subsystem IDLE.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Subsystem IDLE" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s acs_subsystem -o idle -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/Subsystem OFF.run.xml
Normal file
24
.run/Subsystem OFF.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Subsystem OFF" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s acs_subsystem -o safe -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/Subsystem SAFE.run.xml
Normal file
24
.run/Subsystem SAFE.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Subsystem SAFE" type="PythonConfigurationType" factoryName="Python" folderName="ACS">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-s acs_subsystem -o safe -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="true" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
24
.run/Transfer OBSW CFDP.run.xml
Normal file
24
.run/Transfer OBSW CFDP.run.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Transfer OBSW CFDP" type="PythonConfigurationType" factoryName="Python" folderName="Core">
|
||||
<module name="tmtc" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="cfdp ../cmake-build-release-q7s/eive-sw-update.tar.xz /tmp/eive-sw-update.tar.xz -d 0.3" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
@@ -13,7 +13,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtcc.py" />
|
||||
<option name="PARAMETERS" value="-l" />
|
||||
<option name="PARAMETERS" value="tmtc -l" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
|
@@ -10,7 +10,11 @@ list yields a list of all related PRs for each release.
|
||||
|
||||
# [unreleased]
|
||||
|
||||
# [v1.13.0]
|
||||
- Bugfixes for IMTQ TM handling
|
||||
- Updates S/A deployment command
|
||||
PR: https://egit.irs.uni-stuttgart.de/eive/eive-tmtc/pulls/118
|
||||
|
||||
# [v1.13.0] 13.10.2022
|
||||
|
||||
- CFDP integration
|
||||
PR: https://egit.irs.uni-stuttgart.de/eive/eive-tmtc/pulls/113
|
||||
|
2
deps/tmtccmd
vendored
2
deps/tmtccmd
vendored
Submodule deps/tmtccmd updated: 96ca55b17a...ad8f049d66
@@ -1,6 +1,6 @@
|
||||
SW_NAME = "eive"
|
||||
VERSION_MAJOR = 1
|
||||
VERSION_MINOR = 11
|
||||
VERSION_MINOR = 13
|
||||
VERSION_SUBMINOR = 0
|
||||
|
||||
__version__ = "1.11.0"
|
||||
__version__ = "1.13.0"
|
6
eive_tmtc/config/__init__.py
Normal file
6
eive_tmtc/config/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
||||
SW_NAME = "eive-tmtc"
|
||||
VERSION_MAJOR = 2
|
||||
VERSION_MINOR = 0
|
||||
VERSION_SUBMINOR = 0
|
||||
|
||||
__version__ = "2.0.0"
|
@@ -6,11 +6,18 @@
|
||||
|
||||
import enum
|
||||
|
||||
from spacepackets import PacketType
|
||||
from spacepackets.ccsds import PacketId
|
||||
from spacepackets.util import UnsignedByteField
|
||||
|
||||
PUS_APID = 0x65
|
||||
SPACE_PACKET_IDS = (0x08 << 8 | PUS_APID,)
|
||||
CFDP_APID = 0x66
|
||||
PUS_PACKET_ID = PacketId(PacketType.TM, True, PUS_APID)
|
||||
CFDP_PACKET_ID = PacketId(PacketType.TM, False, CFDP_APID)
|
||||
SPACE_PACKET_IDS = (
|
||||
PUS_PACKET_ID.raw(),
|
||||
CFDP_PACKET_ID.raw(),
|
||||
)
|
||||
|
||||
CFDP_LOCAL_ENTITY_ID = UnsignedByteField(byte_len=2, val=1)
|
||||
CFDP_REMOTE_ENTITY_ID = UnsignedByteField(byte_len=2, val=CFDP_APID)
|
||||
@@ -36,11 +43,11 @@ class CustomServiceList(str, enum.Enum):
|
||||
PCDU = "pcdu"
|
||||
PL_PCDU = "plpcdu"
|
||||
SA_DEPLYOMENT = "sa_depl"
|
||||
REACTION_WHEEL_1 = "rw-1"
|
||||
REACTION_WHEEL_2 = "rw-2"
|
||||
REACTION_WHEEL_3 = "rw-3"
|
||||
REACTION_WHEEL_4 = "rw-4"
|
||||
RW_ASSEMBLY = "rw-ass"
|
||||
REACTION_WHEEL_1 = "rw_1"
|
||||
REACTION_WHEEL_2 = "rw_2"
|
||||
REACTION_WHEEL_3 = "rw_3"
|
||||
REACTION_WHEEL_4 = "rw_4"
|
||||
RW_ASSEMBLY = "rw_ass"
|
||||
RAD_SENSOR = "rad_sensor"
|
||||
GPS_CTRL = "gnss-ctrl"
|
||||
PLOC_MEMORY_DUMPER = "ploc_memory_dumper"
|
||||
@@ -50,11 +57,13 @@ class CustomServiceList(str, enum.Enum):
|
||||
PDEC_HANDLER = "pdec_handler"
|
||||
STR_IMG_HELPER = "str_img_helper"
|
||||
SYRLINKS = "syrlinks"
|
||||
ACS_CTRL = "acs-ctrl"
|
||||
ACS_ASS = "acs-ass"
|
||||
SUS_ASS = "sus-ass"
|
||||
ACS_CTRL = "acs_ctrl"
|
||||
ACS_SS = "acs_subsystem"
|
||||
PL_SS = "pl_subsystem"
|
||||
ACS_BRD_ASS = "acs_brd_ass"
|
||||
SUS_BRD_ASS = "sus_brd_ass"
|
||||
TCS = "tcs"
|
||||
TCS_ASS = "tcs-ass"
|
||||
TCS_ASS = "tcs_ass"
|
||||
TIME = "time"
|
||||
PROCEDURE = "proc"
|
||||
RTD = "rtd"
|
@@ -80,6 +80,9 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
||||
9100;0x238c;TC_DELETION_FAILED;MEDIUM;Deletion of a TC from the map failed. P1: First 32 bit of request ID, P2. Last 32 bit of Request ID;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||
9700;0x25e4;TEST;INFO;;fsfw/src/fsfw/pus/Service17Test.h
|
||||
10600;0x2968;CHANGE_OF_SETUP_PARAMETER;LOW;;fsfw/src/fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h
|
||||
10800;0x2a30;STORE_ERROR;LOW;;fsfw/src/fsfw/cfdp/handler/defs.h
|
||||
10801;0x2a31;MSG_QUEUE_ERROR;LOW;;fsfw/src/fsfw/cfdp/handler/defs.h
|
||||
10802;0x2a32;SERIALIZATION_ERROR;LOW;;fsfw/src/fsfw/cfdp/handler/defs.h
|
||||
11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h
|
||||
11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h
|
||||
11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;;mission/devices/devicedefinitions/powerDefinitions.h
|
||||
@@ -92,45 +95,53 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
||||
11405;0x2c8d;SWITCH_ALREADY_OFF;LOW;;mission/devices/HeaterHandler.h
|
||||
11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;;mission/devices/HeaterHandler.h
|
||||
11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;;mission/devices/HeaterHandler.h
|
||||
11500;0x2cec;MAIN_SWITCH_ON_TIMEOUT;LOW;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11501;0x2ced;MAIN_SWITCH_OFF_TIMEOUT;LOW;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11502;0x2cee;DEPLOYMENT_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11503;0x2cef;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11504;0x2cf0;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11500;0x2cec;BURN_PHASE_START;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11501;0x2ced;BURN_PHASE_DONE;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11502;0x2cee;MAIN_SWITCH_ON_TIMEOUT;LOW;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11503;0x2cef;MAIN_SWITCH_OFF_TIMEOUT;LOW;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11504;0x2cf0;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11505;0x2cf1;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11506;0x2cf2;DEPL_SA1_GPIO_SWTICH_OFF_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11507;0x2cf3;DEPL_SA2_GPIO_SWTICH_OFF_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11508;0x2cf4;AUTONOMOUS_DEPLOYMENT_COMPLETED;INFO;;mission/devices/SolarArrayDeploymentHandler.h
|
||||
11601;0x2d51;MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC crc failure in telemetry packet;linux/devices/ploc/PlocMPSoCHandler.h
|
||||
11602;0x2d52;ACK_FAILURE;LOW;PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h
|
||||
11603;0x2d53;EXE_FAILURE;LOW;PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h
|
||||
11604;0x2d54;MPSOC_HANDLER_CRC_FAILURE;LOW;PLOC reply has invalid crc;linux/devices/ploc/PlocMPSoCHandler.h
|
||||
11605;0x2d55;MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH;LOW;Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count;linux/devices/ploc/PlocMPSoCHandler.h
|
||||
11606;0x2d56;MPSOC_SHUTDOWN_FAILED;HIGH;Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor.;linux/devices/ploc/PlocMPSoCHandler.h
|
||||
11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/IMTQHandler.h
|
||||
11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/IMTQHandler.h
|
||||
11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/IMTQHandler.h
|
||||
11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/IMTQHandler.h
|
||||
11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/IMTQHandler.h
|
||||
11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/IMTQHandler.h
|
||||
11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/IMTQHandler.h
|
||||
11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/devices/IMTQHandler.h
|
||||
11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
|
||||
11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
|
||||
11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
|
||||
11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
|
||||
11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
|
||||
11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
|
||||
11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h
|
||||
11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/devices/ImtqHandler.h
|
||||
11801;0x2e19;ERROR_STATE;HIGH;Reaction wheel signals an error state;mission/devices/devicedefinitions/RwDefinitions.h
|
||||
11802;0x2e1a;RESET_OCCURED;LOW;;mission/devices/devicedefinitions/RwDefinitions.h
|
||||
11901;0x2e7d;BOOTING_FIRMWARE_FAILED;LOW;Failed to boot firmware;linux/devices/startracker/StarTrackerHandler.h
|
||||
11902;0x2e7e;BOOTING_BOOTLOADER_FAILED;LOW;Failed to boot star tracker into bootloader mode;linux/devices/startracker/StarTrackerHandler.h
|
||||
12001;0x2ee1;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervisor crc failure in telemetry packet;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12002;0x2ee2;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12003;0x2ee3;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12004;0x2ee4;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12005;0x2ee5;SUPV_MPSOC_SHUWDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12002;0x2ee2;SUPV_UNKNOWN_TM;LOW;Unhandled event. P1: APID, P2: Service ID;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12003;0x2ee3;SUPV_UNINIMPLEMENTED_TM;LOW;;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12004;0x2ee4;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12005;0x2ee5;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12006;0x2ee6;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12007;0x2ee7;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12008;0x2ee8;SUPV_MPSOC_SHUTDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/devices/ploc/PlocSupervisorHandler.h
|
||||
12100;0x2f44;SANITIZATION_FAILED;LOW;;bsp_q7s/fs/SdCardManager.h
|
||||
12101;0x2f45;MOUNTED_SD_CARD;INFO;;bsp_q7s/fs/SdCardManager.h
|
||||
12300;0x300c;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux/devices/ploc/PlocMemoryDumper.h
|
||||
12301;0x300d;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux/devices/ploc/PlocMemoryDumper.h
|
||||
12302;0x300e;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux/devices/ploc/PlocMemoryDumper.h
|
||||
12401;0x3071;INVALID_TC_FRAME;HIGH;;linux/obc/PdecHandler.h
|
||||
12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/obc/PdecHandler.h
|
||||
12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/obc/PdecHandler.h
|
||||
12404;0x3074;BIT_LOCK_PDEC;INFO;Bit lock detected (data valid);linux/obc/PdecHandler.h
|
||||
12405;0x3075;LOST_CARRIER_LOCK_PDEC;INFO;Lost carrier lock;linux/obc/PdecHandler.h
|
||||
12406;0x3076;LOST_BIT_LOCK_PDEC;INFO;Lost bit lock;linux/obc/PdecHandler.h
|
||||
12401;0x3071;INVALID_TC_FRAME;HIGH;;linux/ipcore/PdecHandler.h
|
||||
12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/ipcore/PdecHandler.h
|
||||
12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/ipcore/PdecHandler.h
|
||||
12404;0x3074;BIT_LOCK_PDEC;INFO;Bit lock detected (data valid);linux/ipcore/PdecHandler.h
|
||||
12405;0x3075;LOST_CARRIER_LOCK_PDEC;INFO;Lost carrier lock;linux/ipcore/PdecHandler.h
|
||||
12406;0x3076;LOST_BIT_LOCK_PDEC;INFO;Lost bit lock;linux/ipcore/PdecHandler.h
|
||||
12407;0x3077;POLL_ERROR_PDEC;MEDIUM;;linux/ipcore/PdecHandler.h
|
||||
12500;0x30d4;IMAGE_UPLOAD_FAILED;LOW;Image upload failed;linux/devices/startracker/StrHelper.h
|
||||
12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/devices/startracker/StrHelper.h
|
||||
12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/devices/startracker/StrHelper.h
|
||||
@@ -174,45 +185,56 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
||||
12709;0x31a5;I_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
|
||||
12710;0x31a6;U_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
|
||||
12711;0x31a7;I_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h
|
||||
12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;;mission/system/AcsBoardAssembly.h
|
||||
12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;;mission/system/AcsBoardAssembly.h
|
||||
12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;;mission/system/AcsBoardAssembly.h
|
||||
12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/AcsBoardAssembly.h
|
||||
12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;;mission/system/SusAssembly.h
|
||||
12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;;mission/system/SusAssembly.h
|
||||
12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;;mission/system/SusAssembly.h
|
||||
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/SusAssembly.h
|
||||
13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;;mission/system/TcsBoardAssembly.h
|
||||
12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;;mission/system/objects/AcsBoardAssembly.h
|
||||
12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;;mission/system/objects/AcsBoardAssembly.h
|
||||
12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;;mission/system/objects/AcsBoardAssembly.h
|
||||
12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/AcsBoardAssembly.h
|
||||
12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;;mission/system/objects/SusAssembly.h
|
||||
12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;;mission/system/objects/SusAssembly.h
|
||||
12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;;mission/system/objects/SusAssembly.h
|
||||
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/SusAssembly.h
|
||||
13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;;mission/system/objects/TcsBoardAssembly.h
|
||||
13100;0x332c;GPS_FIX_CHANGE;INFO;Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix;mission/devices/devicedefinitions/GPSDefinitions.h
|
||||
13200;0x3390;P60_BOOT_COUNT;INFO;P60 boot count is broadcasted once at SW startup. P1: Boot count;mission/devices/P60DockHandler.h
|
||||
13201;0x3391;BATT_MODE;INFO;Battery mode is broadcasted at startup. P1: Mode;mission/devices/P60DockHandler.h
|
||||
13202;0x3392;BATT_MODE_CHANGED;MEDIUM;Battery mode has changed. P1: Old mode. P2: New mode;mission/devices/P60DockHandler.h
|
||||
13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/devices/ploc/PlocSupvHelper.h
|
||||
13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/devices/ploc/PlocSupvHelper.h
|
||||
13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/devices/ploc/PlocSupvHelper.h
|
||||
13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/devices/ploc/PlocSupvHelper.h
|
||||
13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/devices/ploc/PlocSupvHelper.h
|
||||
13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/devices/ploc/PlocSupvHelper.h
|
||||
13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/devices/ploc/PlocSupvHelper.h
|
||||
13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/devices/ploc/PlocSupvHelper.h
|
||||
13608;0x3528;SUPV_MEM_CHECK_OK;INFO;;linux/devices/ploc/PlocSupvHelper.h
|
||||
13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;;linux/devices/ploc/PlocSupvHelper.h
|
||||
13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;;linux/devices/ploc/PlocSupvHelper.h
|
||||
13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvHelper.h
|
||||
13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvHelper.h
|
||||
13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocSupvHelper.h
|
||||
13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvHelper.h
|
||||
13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/devices/ploc/PlocSupvHelper.h
|
||||
13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/devices/ploc/PlocSupvHelper.h
|
||||
13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvHelper.h
|
||||
13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvHelper.h
|
||||
13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/devices/ploc/PlocSupvHelper.h
|
||||
13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/devices/ploc/PlocSupvHelper.h
|
||||
13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvHelper.h
|
||||
13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;;linux/devices/ploc/PlocSupvHelper.h
|
||||
13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;;linux/devices/ploc/PlocSupvHelper.h
|
||||
13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvHelper.h
|
||||
13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13608;0x3528;SUPV_MEM_CHECK_OK;INFO;;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13632;0x3540;HDLC_CRC_ERROR;INFO;;linux/devices/ploc/PlocSupvUartMan.h
|
||||
13700;0x3584;ALLOC_FAILURE;MEDIUM;;bsp_q7s/core/CoreController.h
|
||||
13701;0x3585;REBOOT_SW;MEDIUM; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
|
||||
13702;0x3586;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;bsp_q7s/core/CoreController.h
|
||||
13703;0x3587;REBOOT_HW;MEDIUM;;bsp_q7s/core/CoreController.h
|
||||
13704;0x3588;NO_SD_CARD_ACTIVE;HIGH;No SD card was active. Core controller will attempt to re-initialize a SD card.;bsp_q7s/core/CoreController.h
|
||||
13800;0x35e8;MISSING_PACKET;LOW;;mission/devices/devicedefinitions/ScexDefinitions.h
|
||||
13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;;mission/devices/devicedefinitions/ScexDefinitions.h
|
||||
13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;;mission/devices/devicedefinitions/ScexDefinitions.h
|
||||
13901;0x364d;SET_CONFIGFILEVALUE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
|
||||
13902;0x364e;GET_CONFIGFILEVALUE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
|
||||
13903;0x364f;INSERT_CONFIGFILEVALUE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
|
||||
13904;0x3650;WRITE_CONFIGFILE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
|
||||
13905;0x3651;READ_CONFIGFILE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
|
|
@@ -1,12 +1,12 @@
|
||||
from typing import Optional
|
||||
|
||||
from config.definitions import SPACE_PACKET_IDS
|
||||
from eive_tmtc.config.definitions import SPACE_PACKET_IDS
|
||||
from tmtccmd import TmTcCfgHookBase, CcsdsTmtcBackend
|
||||
from tmtccmd.com_if import ComInterface
|
||||
from tmtccmd.config import TmtcDefinitionWrapper
|
||||
|
||||
from config.retvals import get_retval_dict
|
||||
from pus_tc.cmd_definitions import get_eive_service_op_code_dict
|
||||
from eive_tmtc.config.retvals import get_retval_dict
|
||||
from eive_tmtc.pus_tc.cmd_definitions import get_eive_service_op_code_dict
|
||||
from tmtccmd.util import ObjectIdDictT, RetvalDictT
|
||||
|
||||
|
||||
@@ -31,12 +31,12 @@ class EiveHookObject(TmTcCfgHookBase):
|
||||
return create_com_interface_default(cfg)
|
||||
|
||||
def perform_mode_operation(self, tmtc_backend: CcsdsTmtcBackend, mode: int):
|
||||
from config.custom_mode_op import custom_mode_operation
|
||||
from eive_tmtc.config.custom_mode_op import custom_mode_operation
|
||||
|
||||
custom_mode_operation(tmtc_backend, mode)
|
||||
|
||||
def get_object_ids(self) -> ObjectIdDictT:
|
||||
from config.object_ids import get_object_ids
|
||||
from eive_tmtc.config.object_ids import get_object_ids
|
||||
|
||||
return get_object_ids()
|
||||
|
@@ -122,6 +122,8 @@ SUS_5_N_LOC_XFYMZB_PT_ZB = bytes([0x44, 0x12, 0x00, 0x37])
|
||||
SUS_11_R_LOC_XBYMZB_PT_ZB = bytes([0x44, 0x12, 0x00, 0x43])
|
||||
|
||||
# System and Assembly Objects
|
||||
ACS_SUBSYSTEM_ID = bytes([0x73, 0x01, 0x00, 0x01])
|
||||
PL_SUBSYSTEM_ID = bytes([0x73, 0x01, 0x00, 0x02])
|
||||
ACS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x01])
|
||||
SUS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x02])
|
||||
TCS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x03])
|
@@ -1,6 +1,7 @@
|
||||
0x00005060;P60DOCK_TEST_TASK
|
||||
0x43000002;ACS_CONTROLLER
|
||||
0x43000003;CORE_CONTROLLER
|
||||
0x43000006;GLOBAL_JSON_CFG
|
||||
0x43400001;THERMAL_CONTROLLER
|
||||
0x44120006;MGM_0_LIS3_HANDLER
|
||||
0x44120010;GYRO_0_ADIS_HANDLER
|
||||
@@ -46,10 +47,15 @@
|
||||
0x44330015;PLOC_MPSOC_HANDLER
|
||||
0x44330016;PLOC_SUPERVISOR_HANDLER
|
||||
0x44330017;PLOC_SUPERVISOR_HELPER
|
||||
0x44330032;SCEX
|
||||
0x444100A2;SOLAR_ARRAY_DEPL_HANDLER
|
||||
0x444100A4;HEATER_HANDLER
|
||||
0x44420004;TMP1075_HANDLER_1
|
||||
0x44420005;TMP1075_HANDLER_2
|
||||
0x44420004;TMP1075_HANDLER_TCS_0
|
||||
0x44420005;TMP1075_HANDLER_TCS_1
|
||||
0x44420006;TMP1075_HANDLER_PLPCDU_0
|
||||
0x44420007;TMP1075_HANDLER_PLPCDU_1
|
||||
0x44420008;TMP1075_HANDLER_IF_BOARD
|
||||
0x44420009;TMP1075_HANDLER_OBC_IF_BOARD
|
||||
0x44420016;RTD_0_IC3_PLOC_HEATSPREADER
|
||||
0x44420017;RTD_1_IC4_PLOC_MISSIONBOARD
|
||||
0x44420018;RTD_2_IC5_4K_CAMERA
|
||||
@@ -69,6 +75,7 @@
|
||||
0x445300A3;SYRLINKS_HK_HANDLER
|
||||
0x49000000;ARDUINO_COM_IF
|
||||
0x49010005;GPIO_IF
|
||||
0x49010006;SCEX_UART_READER
|
||||
0x49020004;SPI_MAIN_COM_IF
|
||||
0x49020005;SPI_RW_COM_IF
|
||||
0x49020006;SPI_RTD_COM_IF
|
||||
@@ -128,8 +135,14 @@
|
||||
0x73000002;SUS_BOARD_ASS
|
||||
0x73000003;TCS_BOARD_ASS
|
||||
0x73000004;RW_ASS
|
||||
0x73000005;CFDP_HANDLER
|
||||
0x73000006;CFDP_DISTRIBUTOR
|
||||
0x73000006;CAM_SWITCHER
|
||||
0x73000100;TM_FUNNEL
|
||||
0x73000101;PUS_TM_FUNNEL
|
||||
0x73000102;CFDP_TM_FUNNEL
|
||||
0x73000205;CFDP_HANDLER
|
||||
0x73000206;CFDP_DISTRIBUTOR
|
||||
0x73010000;EIVE_SYSTEM
|
||||
0x73010001;ACS_SUBSYSTEM
|
||||
0x73010002;PL_SUBSYSTEM
|
||||
0x73500000;CCSDS_IP_CORE_BRIDGE
|
||||
0xFFFFFFFF;NO_OBJECT
|
|
@@ -1,7 +1,7 @@
|
||||
Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
||||
0x0000;OK;System-wide code for ok.;0;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
|
||||
0x0001;Failed;Unspecified system-wide code for failed.;1;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
|
||||
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CCSDSHandler.h
|
||||
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h
|
||||
0x5d00;GOMS_PacketTooLong;;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||
0x5d01;GOMS_InvalidTableId;;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||
0x5d02;GOMS_InvalidAddress;;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||
@@ -27,14 +27,14 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
||||
0x4fa5;HEATER_CommandAlreadyWaiting;;165;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
||||
0x58a0;SUSS_ErrorUnlockMutex;;160;SUS_HANDLER;mission/devices/SusHandler.h
|
||||
0x58a1;SUSS_ErrorLockMutex;;161;SUS_HANDLER;mission/devices/SusHandler.h
|
||||
0x51a0;IMTQ_InvalidCommandCode;;160;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a1;IMTQ_ParameterMissing;;161;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a2;IMTQ_ParameterInvalid;;162;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a3;IMTQ_CcUnavailable;;163;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a4;IMTQ_InternalProcessingError;;164;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a5;IMTQ_RejectedWithoutReason;;165;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a6;IMTQ_CmdErrUnknown;;166;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a7;IMTQ_UnexpectedSelfTestReply;The status reply to a self test command was received but no self test command has been sent. This should normally never happen.;167;IMTQ_HANDLER;mission/devices/IMTQHandler.h
|
||||
0x51a0;IMTQ_InvalidCommandCode;;160;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x51a1;IMTQ_ParameterMissing;;161;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x51a2;IMTQ_ParameterInvalid;;162;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x51a3;IMTQ_CcUnavailable;;163;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x51a4;IMTQ_InternalProcessingError;;164;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x51a5;IMTQ_RejectedWithoutReason;;165;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x51a6;IMTQ_CmdErrUnknown;;166;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x51a7;IMTQ_UnexpectedSelfTestReply;The status reply to a self test command was received but no self test command has been sent. This should normally never happen.;167;IMTQ_HANDLER;mission/devices/ImtqHandler.h
|
||||
0x50a0;SYRLINKS_CrcFailure;;160;SYRLINKS_HANDLER;mission/devices/SyrlinksHkHandler.h
|
||||
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;;161;SYRLINKS_HANDLER;mission/devices/SyrlinksHkHandler.h
|
||||
0x50a2;SYRLINKS_BadCharacterAck;;162;SYRLINKS_HANDLER;mission/devices/SyrlinksHkHandler.h
|
||||
@@ -222,8 +222,8 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
||||
0x38a6;SGP4_SatelliteHasDecayed;;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||
0x38b1;SGP4_TleTooOld;;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||
0x38b2;SGP4_TleNotInitialized;;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||
0x2401;MT_TooDetailedRequest;;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||
0x2402;MT_TooGeneralRequest;;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||
0x2401;MT_NoPacketFound;;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
|
||||
0x2402;MT_PossiblePacketLoss;;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
|
||||
0x2403;MT_NoMatch;;3;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||
0x2404;MT_Full;;4;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||
0x2405;MT_NewNodeCreated;;5;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||
@@ -326,14 +326,10 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
||||
0x2005;CSB_InvalidTc;;5;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||
0x2006;CSB_InvalidObject;;6;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||
0x2007;CSB_InvalidReply;;7;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||
0x1101;AL_Full;;1;ARRAY_LIST;fsfw/src/fsfw/container/ArrayList.h
|
||||
0x1801;FF_Full;;1;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
|
||||
0x1802;FF_Empty;;2;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
|
||||
0x1601;FMM_MapFull;;1;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
|
||||
0x1602;FMM_KeyDoesNotExist;;2;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
|
||||
0x1501;FM_KeyAlreadyExists;;1;FIXED_MAP;fsfw/src/fsfw/container/FixedMap.h
|
||||
0x1502;FM_MapFull;;2;FIXED_MAP;fsfw/src/fsfw/container/FixedMap.h
|
||||
0x1503;FM_KeyDoesNotExist;;3;FIXED_MAP;fsfw/src/fsfw/container/FixedMap.h
|
||||
0x2501;EV_ListenerNotFound;;1;EVENT_MANAGER_IF;fsfw/src/fsfw/events/EventManagerIF.h
|
||||
0x1701;HHI_ObjectNotHealthy;;1;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
||||
0x1702;HHI_InvalidHealthState;;2;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
||||
@@ -347,6 +343,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
||||
0x0504;PS_FuseOff;;4;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
||||
0x4300;FILS_GenericFileError;;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||
0x4301;FILS_GenericDirError;;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||
0x4302;FILS_FilesystemInactive;;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||
0x4303;FILS_GenericRenameError;;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||
0x4304;FILS_IsBusy;;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||
0x4305;FILS_InvalidParameters;;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||
@@ -449,9 +446,9 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
||||
0x4500;HSPI_HalTimeoutRetval;;0;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
|
||||
0x4501;HSPI_HalBusyRetval;;1;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
|
||||
0x4502;HSPI_HalErrorRetval;;2;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
|
||||
0x4601;HURT_UartReadFailure;;1;HAL_UART;fsfw/src/fsfw_hal/linux/uart/UartComIF.h
|
||||
0x4602;HURT_UartReadSizeMissmatch;;2;HAL_UART;fsfw/src/fsfw_hal/linux/uart/UartComIF.h
|
||||
0x4603;HURT_UartRxBufferTooSmall;;3;HAL_UART;fsfw/src/fsfw_hal/linux/uart/UartComIF.h
|
||||
0x4601;HURT_UartReadFailure;;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
||||
0x4602;HURT_UartReadSizeMissmatch;;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
||||
0x4603;HURT_UartRxBufferTooSmall;;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
||||
0x4801;HGIO_UnknownGpioId;;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||
0x4802;HGIO_DriveGpioFailure;;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||
0x4803;HGIO_GpioTypeFailure;;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
|
@@ -31,46 +31,6 @@ class GomspaceDeviceActionIds(enum.IntEnum):
|
||||
PRINT_LATCHUPS = 33
|
||||
|
||||
|
||||
class GomspaceOpCodes:
|
||||
# Request HK
|
||||
REQUEST_CORE_HK_ONCE = ["hk_core"]
|
||||
REQUEST_AUX_HK_ONCE = ["hk_aux"]
|
||||
PRINT_SWITCH_V_I = ["print_switch_vi"]
|
||||
PRINT_LATCHUPS = ["print_latchups"]
|
||||
GET_PARAM = ["get_param"]
|
||||
SET_INTEGER_PARAM = ["set_int_param"]
|
||||
SAVE_TABLE = ["save_table"]
|
||||
RESET_GND_WATCHDOG = ["reset_gnd_wdt"]
|
||||
SAVE_TABLE_DEFAULT = ["save_table_default"]
|
||||
LOAD_TABLE = ["load_table"]
|
||||
REQUEST_CONFIG_TABLE = ["cfg_table"]
|
||||
|
||||
|
||||
class GsInfo:
|
||||
REQUEST_CORE_HK_ONCE = "Requesting Core HK once"
|
||||
REQUEST_AUX_HK_ONCE = "Requesting Aux HK once"
|
||||
PRINT_SWITCH_V_I = "Print Switch V I Info"
|
||||
PRINT_LATCHUPS = "Print latchups"
|
||||
GET_PARAMETER = "Get parameter"
|
||||
SET_PARAMETER = "Set integer parameter"
|
||||
REQUEST_CONFIG_TABLE = "Request Config Table"
|
||||
RESET_GND_WATCHDOG = "Reset GND watchdog"
|
||||
SAVE_TABLE = "Save table non-volatile (file)"
|
||||
SAVE_TABLE_DEFAULT = "Save table non-volatile (default)"
|
||||
LOAD_TABLE = "Load Table"
|
||||
|
||||
|
||||
class SetIds:
|
||||
PDU_1_CORE = 1
|
||||
PDU_1_AUX = 2
|
||||
PDU_2_CORE = 3
|
||||
PDU_2_AUX = 4
|
||||
P60_CORE = 5
|
||||
P60_AUX = 6
|
||||
ACU_CORE = 7
|
||||
ACU_AUX = 8
|
||||
|
||||
|
||||
class ParamTypes(enum.Enum):
|
||||
U8 = 0
|
||||
U16 = 1
|
@@ -1,4 +1,4 @@
|
||||
from gomspace.gomspace_common import TableEntry
|
||||
from eive_tmtc.gomspace.gomspace_common import TableEntry
|
||||
|
||||
|
||||
class PduConfigTable:
|
@@ -1,6 +1,6 @@
|
||||
from pus_tc.devs.bpx_batt import BpxOpCodes
|
||||
from eive_tmtc.pus_tc.devs.bpx_batt import BpxOpCodes
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry, CoreServiceList
|
||||
from tmtccmd.config.tmtc import (
|
||||
tmtc_definitions_provider,
|
||||
@@ -21,13 +21,6 @@ def get_eive_service_op_code_dict() -> TmtcDefinitionWrapper:
|
||||
info="PUS Service 5 Event",
|
||||
op_code_entry=srv_5,
|
||||
)
|
||||
srv_17 = OpCodeEntry()
|
||||
srv_17.add("0", "Ping Test")
|
||||
def_wrapper.add_service(
|
||||
name=CoreServiceList.SERVICE_17_ALT,
|
||||
info="PUS Service 17 Test",
|
||||
op_code_entry=srv_17,
|
||||
)
|
||||
call_all_definitions_providers(def_wrapper)
|
||||
return def_wrapper
|
||||
|
||||
@@ -128,30 +121,6 @@ def add_str_cmds(defs: TmtcDefinitionWrapper):
|
||||
defs.add_service(CustomServiceList.STAR_TRACKER.value, "Star Tracker", oce)
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_syrlinks_cmds(defs: TmtcDefinitionWrapper):
|
||||
oce = OpCodeEntry()
|
||||
oce.add("0", "Syrlinks Handler: Set mode off")
|
||||
oce.add("1", "Syrlinks Handler: Set mode on")
|
||||
oce.add("2", "Syrlinks Handler: Set mode normal")
|
||||
oce.add("3", "Syrlinks Handler: Set TX standby")
|
||||
oce.add("4", "Syrlinks Handler: Set TX modulation")
|
||||
oce.add("5", "Syrlinks Handler: Set TX carrier wave")
|
||||
oce.add("6", "Syrlinks Handler: Read TX status")
|
||||
oce.add("7", "Syrlinks Handler: Read TX waveform")
|
||||
oce.add("8", "Syrlinks Handler: Read TX AGC value high byte")
|
||||
oce.add("9", "Syrlinks Handler: Read TX AGC value low byte")
|
||||
oce.add("12", "Syrlinks Handler: Write LCL config")
|
||||
oce.add("13", "Syrlinks Handler: Read RX status registers")
|
||||
oce.add("14", "Syrlinks Handler: Read LCL config register")
|
||||
oce.add("15", "Syrlinks Handler: Set waveform OQPSK")
|
||||
oce.add("16", "Syrlinks Handler: Set waveform BPSK")
|
||||
oce.add("17", "Syrlinks Handler: Set second config")
|
||||
oce.add("18", "Syrlinks Handler: Enable debug output")
|
||||
oce.add("19", "Syrlinks Handler: Disable debug output")
|
||||
defs.add_service(CustomServiceList.SYRLINKS.value, "Syrlinks Handler", oce)
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_bpx_cmd_definitions(defs: TmtcDefinitionWrapper):
|
||||
oce = OpCodeEntry()
|
||||
@@ -171,7 +140,7 @@ def add_bpx_cmd_definitions(defs: TmtcDefinitionWrapper):
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_time_cmds(defs: TmtcDefinitionWrapper):
|
||||
from pus_tc.system.time import OpCodes, Info
|
||||
from eive_tmtc.pus_tc.system.time import OpCodes, Info
|
||||
|
||||
oce = OpCodeEntry()
|
||||
oce.add(
|
||||
@@ -185,86 +154,9 @@ def add_time_cmds(defs: TmtcDefinitionWrapper):
|
||||
)
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_imtq_cmds(defs: TmtcDefinitionWrapper):
|
||||
oce = OpCodeEntry()
|
||||
oce.add("0", "Mode Off")
|
||||
oce.add("1", "Mode On")
|
||||
oce.add("2", "Mode Normal")
|
||||
oce.add("3", "IMTQ perform pos X self test")
|
||||
oce.add("4", "IMTQ perform neg X self test")
|
||||
oce.add("5", "IMTQ perform pos Y self test")
|
||||
oce.add("6", "IMTQ perform neg Y self test")
|
||||
oce.add("7", "IMTQ perform pos Z self test")
|
||||
oce.add("8", "IMTQ perform neg Z self test")
|
||||
oce.add("9", "IMTQ command dipole")
|
||||
oce.add("10", "IMTQ get commanded dipole")
|
||||
oce.add("11", "IMTQ get engineering hk set")
|
||||
oce.add("12", "IMTQ get calibrated MTM measurement one shot")
|
||||
oce.add("13", "IMTQ get raw MTM measurement one shot")
|
||||
defs.add_service(CustomServiceList.IMTQ.value, "IMQT Device", oce)
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_system_cmds(defs: TmtcDefinitionWrapper):
|
||||
from pus_tc.system.acs import AcsOpCodes, SusOpCodes
|
||||
import pus_tc.system.controllers as controllers
|
||||
|
||||
oce = OpCodeEntry()
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_A_SIDE,
|
||||
info="Switch to ACS board A side",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_B_SIDE,
|
||||
info="Switch to ACS board B side",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_DUAL_MODE,
|
||||
info="Switch to ACS board dual mode",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_A_ON,
|
||||
info="Switch ACS board A side on",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_B_ON,
|
||||
info="Switch ACS board B side on",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_DUAL_ON,
|
||||
info="Switch ACS board dual mode on",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_OFF,
|
||||
info="Switch off ACS board",
|
||||
)
|
||||
defs.add_service(
|
||||
name=CustomServiceList.ACS_ASS.value, info="ACS Assemblies", op_code_entry=oce
|
||||
)
|
||||
|
||||
oce = OpCodeEntry()
|
||||
oce.add(
|
||||
keys=SusOpCodes.SUS_ASS_NOM_SIDE,
|
||||
info="Switch SUS board to nominal side",
|
||||
)
|
||||
oce.add(
|
||||
keys=SusOpCodes.SUS_ASS_RED_SIDE,
|
||||
info="Switch SUS board to redundant side",
|
||||
)
|
||||
oce.add(
|
||||
keys=SusOpCodes.SUS_ASS_OFF,
|
||||
info="Switch off SUS board",
|
||||
)
|
||||
oce.add(
|
||||
keys=SusOpCodes.SUS_ASS_DUAL_MODE,
|
||||
info="Switch SUS board to dual mode",
|
||||
)
|
||||
defs.add_service(
|
||||
name=CustomServiceList.SUS_ASS.value,
|
||||
info="SUS Assembly",
|
||||
op_code_entry=oce,
|
||||
)
|
||||
import eive_tmtc.pus_tc.system.controllers as controllers
|
||||
|
||||
oce = OpCodeEntry()
|
||||
oce.add(
|
@@ -1,7 +1,6 @@
|
||||
from config.definitions import CustomServiceList
|
||||
from config.object_ids import BPX_HANDLER_ID
|
||||
from tmtccmd import DefaultProcedureInfo, TcHandlerBase
|
||||
from tmtccmd.tc import DefaultPusQueueHelper, service_provider
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.object_ids import BPX_HANDLER_ID
|
||||
from tmtccmd.tc import service_provider
|
||||
from tmtccmd.tc.decorator import ServiceProviderParams
|
||||
from tmtccmd.tc.pus_8_funccmd import make_fsfw_action_cmd
|
||||
from tmtccmd.tc.pus_3_fsfw_hk import generate_one_hk_command, make_sid
|
@@ -1,6 +1,6 @@
|
||||
import enum
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
@@ -5,8 +5,8 @@
|
||||
"""
|
||||
import enum
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from config.object_ids import get_object_ids
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.object_ids import get_object_ids
|
||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
@@ -122,7 +122,7 @@ def pack_heater_cmds(object_id: bytearray, op_code: str, q: DefaultPusQueueHelpe
|
||||
|
||||
|
||||
def heater_idx_to_obj(heater: int) -> ObjectIdU32:
|
||||
from config.object_ids import (
|
||||
from eive_tmtc.config.object_ids import (
|
||||
HEATER_0_OBC_BRD,
|
||||
HEATER_1_PLOC_PROC_BRD,
|
||||
HEATER_2_ACS_BRD,
|
@@ -3,7 +3,7 @@ import struct
|
||||
import time
|
||||
from typing import Optional
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from tmtccmd.config import TmtcDefinitionWrapper
|
||||
|
||||
from tmtccmd.config.tmtc import OpCodeEntry, tmtc_definitions_provider
|
||||
@@ -11,6 +11,8 @@ from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.tc.pus_3_fsfw_hk import (
|
||||
make_sid,
|
||||
generate_one_diag_command,
|
||||
enable_periodic_hk_command_with_interval,
|
||||
disable_periodic_hk_command,
|
||||
)
|
||||
from tmtccmd.tc.pus_11_tc_sched import (
|
||||
generate_enable_tc_sched_cmd,
|
||||
@@ -24,37 +26,38 @@ from tmtccmd.tc.pus_20_params import (
|
||||
)
|
||||
from tmtccmd.logging import get_console_logger
|
||||
from spacepackets.ecss.tc import PusTelecommand
|
||||
from config.object_ids import PL_PCDU_ID
|
||||
from eive_tmtc.config.object_ids import PL_PCDU_ID
|
||||
|
||||
LOGGER = get_console_logger()
|
||||
|
||||
|
||||
class OpCodes:
|
||||
SWITCH_HPA_ON_PROC = ["0", "proc-hpa"]
|
||||
SWITCH_HPA_ON_PROC = ["0", "proc_hpa"]
|
||||
SWITCH_ON = ["2", "on"]
|
||||
SWITCH_OFF = ["3", "off"]
|
||||
NORMAL_SSR = ["4", "nml-ssr"]
|
||||
NORMAL_DRO = ["5", "nml-dro"]
|
||||
NORMAL_X8 = ["6", "nml-x8"]
|
||||
NORMAL_TX = ["7", "nml-tx"]
|
||||
NORMAL_MPA = ["8", "nml-mpa"]
|
||||
NORMAL_HPA = ["9", "nml-hpa"]
|
||||
NORMAL_SSR = ["4", "nml_ssr"]
|
||||
NORMAL_DRO = ["5", "nml_dro"]
|
||||
NORMAL_X8 = ["6", "nml_x8"]
|
||||
NORMAL_TX = ["7", "nml_tx"]
|
||||
NORMAL_MPA = ["8", "nml_mpa"]
|
||||
NORMAL_HPA = ["9", "nml_hpa"]
|
||||
|
||||
REQ_OS_HK = ["8", "hk-os"]
|
||||
ENABLE_HK = ["enable_hk"]
|
||||
DISABLE_HK = ["disable_hk"]
|
||||
REQ_OS_HK = ["hk_os"]
|
||||
|
||||
INJECT_SSR_TO_DRO_FAILURE = ["10", "inject-ssr-dro-fault"]
|
||||
INJECT_DRO_TO_X8_FAILURE = ["11", "inject-dro-x8-fault"]
|
||||
INJECT_X8_TO_TX_FAILURE = ["12", "inject-x8-tx-fault"]
|
||||
INJECT_TX_TO_MPA_FAILURE = ["13", "inject-tx-mpa-fault"]
|
||||
INJECT_MPA_TO_HPA_FAILURE = ["14", "inject-mpa-hpa-fault"]
|
||||
INJECT_ALL_ON_FAILURE = ["15", "inject-all-on-fault"]
|
||||
INJECT_SSR_TO_DRO_FAILURE = ["10", "inject_ssr_dro_fault"]
|
||||
INJECT_DRO_TO_X8_FAILURE = ["11", "inject_dro_x8_fault"]
|
||||
INJECT_X8_TO_TX_FAILURE = ["12", "inject_x8_tx_fault"]
|
||||
INJECT_TX_TO_MPA_FAILURE = ["13", "inject_tx_mpa_fault"]
|
||||
INJECT_MPA_TO_HPA_FAILURE = ["14", "inject_mpa_hpa_fault"]
|
||||
INJECT_ALL_ON_FAILURE = ["15", "inject_all_on_fault"]
|
||||
|
||||
|
||||
class Info:
|
||||
NORMAL = "PL PCDU ADC modules normal"
|
||||
SWITCH_HPA_ON_PROC = "Switch HPA on procedure"
|
||||
SWITCH_ON = "Switching PL PCDU on"
|
||||
SWITCH_OFF = "Switching PL PCDU off"
|
||||
NORMAL = "ADC modules normal"
|
||||
SWITCH_ON = "Switching on"
|
||||
SWITCH_OFF = "Switching off"
|
||||
NORMAL_SSR = f"{NORMAL}, SSR on"
|
||||
NORMAL_DRO = f"{NORMAL},DRO on"
|
||||
NORMAL_X8 = f"{NORMAL}, X8 on"
|
||||
@@ -62,6 +65,9 @@ class Info:
|
||||
NORMAL_MPA = f"{NORMAL}, MPA on"
|
||||
NORMAL_HPA = f"{NORMAL}, HPA on"
|
||||
REQ_OS_HK = "Request One Shot HK"
|
||||
SWITCH_HPA_ON_PROC = "Switch HPA on procedure"
|
||||
ENABLE_HK = "Enable HK"
|
||||
DISABLE_HK = "Disable HK"
|
||||
|
||||
|
||||
class SetIds(enum.IntEnum):
|
||||
@@ -128,6 +134,7 @@ def add_pl_pcdu_cmds(defs: TmtcDefinitionWrapper):
|
||||
oce.add(keys=OpCodes.NORMAL_MPA, info=Info.NORMAL_MPA)
|
||||
oce.add(keys=OpCodes.NORMAL_HPA, info=Info.NORMAL_HPA)
|
||||
oce.add(keys=OpCodes.REQ_OS_HK, info=Info.REQ_OS_HK)
|
||||
oce.add(keys=OpCodes.ENABLE_HK, info=Info.ENABLE_HK)
|
||||
oce.add(
|
||||
keys=OpCodes.INJECT_SSR_TO_DRO_FAILURE,
|
||||
info="Inject failure SSR to DRO transition",
|
||||
@@ -157,6 +164,22 @@ def pack_pl_pcdu_commands(q: DefaultPusQueueHelper, op_code: str):
|
||||
pack_pl_pcdu_mode_cmd(q=q, info=Info.SWITCH_ON, mode=Modes.ON, submode=0)
|
||||
if op_code in OpCodes.SWITCH_OFF:
|
||||
pack_pl_pcdu_mode_cmd(q=q, info=Info.SWITCH_OFF, mode=Modes.OFF, submode=0)
|
||||
if op_code in OpCodes.ENABLE_HK:
|
||||
interval = float(
|
||||
input("Please enter HK collection interval in floating point seconds: ")
|
||||
)
|
||||
cmds = enable_periodic_hk_command_with_interval(
|
||||
diag=True, sid=make_sid(PL_PCDU_ID, SetIds.ADC), interval_seconds=interval
|
||||
)
|
||||
q.add_log_cmd(f"Enable PL PCDU HK with interval of {interval} seconds")
|
||||
for cmd in cmds:
|
||||
q.add_pus_tc(cmd)
|
||||
if op_code in OpCodes.DISABLE_HK:
|
||||
cmd = disable_periodic_hk_command(
|
||||
diag=True, sid=make_sid(PL_PCDU_ID, SetIds.ADC)
|
||||
)
|
||||
q.add_log_cmd("Disabling PL PCDU HK")
|
||||
q.add_pus_tc(cmd)
|
||||
if op_code in OpCodes.NORMAL_SSR:
|
||||
pack_pl_pcdu_mode_cmd(
|
||||
q=q,
|
@@ -7,10 +7,10 @@
|
||||
"""
|
||||
import struct
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
|
||||
from spacepackets.ecss.tc import PusTelecommand
|
||||
from pus_tc.service_200_mode import pack_mode_data, Modes
|
||||
from eive_tmtc.pus_tc.service_200_mode import pack_mode_data, Modes
|
||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
@@ -1,7 +1,7 @@
|
||||
from typing import Optional
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from pus_tc.devs.pdec_handler import CommandIds
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from eive_tmtc.pus_tc.devs.pdec_handler import CommandIds
|
||||
from spacepackets.ecss import PusTelecommand
|
||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
@@ -9,8 +9,8 @@ from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import Modes, pack_mode_data, Subservices
|
||||
import config.object_ids as oids
|
||||
from config.object_ids import get_object_ids
|
||||
import eive_tmtc.config.object_ids as oids
|
||||
from eive_tmtc.config.object_ids import get_object_ids
|
||||
|
||||
RTD_IDS = [
|
||||
oids.RTD_0_PLOC_HSPD,
|
@@ -1,14 +1,16 @@
|
||||
import enum
|
||||
import json
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from tmtccmd import DefaultProcedureInfo, TcHandlerBase
|
||||
from spacepackets.ecss import PusTelecommand
|
||||
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
from tmtccmd.tc import DefaultPusQueueHelper, service_provider
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import Modes, pack_mode_data, Subservices
|
||||
from tmtccmd.tc import service_provider
|
||||
from tmtccmd.tc.decorator import ServiceProviderParams
|
||||
from tmtccmd.tc.pus_8_funccmd import make_fsfw_action_cmd
|
||||
from tmtccmd.config import OpCodeEntry, TmtcDefinitionWrapper
|
||||
from config.object_ids import SCEX_HANDLER_ID
|
||||
from eive_tmtc.config.object_ids import SCEX_HANDLER_ID
|
||||
|
||||
|
||||
USE_SCEX_CONF_FILE = True
|
||||
@@ -24,6 +26,9 @@ class OpCodes:
|
||||
ALL_CELLS_CMD = ["5", "allcells"]
|
||||
FRAM = ["6", "fram"]
|
||||
|
||||
SWITCH_ON = ["7", "on"]
|
||||
SWITCH_OFF = ["8", "off"]
|
||||
|
||||
|
||||
class ActionIds(enum.IntEnum):
|
||||
PING = 7
|
||||
@@ -46,6 +51,9 @@ class Info:
|
||||
ALL_CELLS_CMD = "All Cells"
|
||||
FRAM = "Read FRAM"
|
||||
|
||||
SWITCH_ON = "Switch Scex on"
|
||||
SWITCH_OFF = "Switch Scex off"
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_scex_cmds(defs: TmtcDefinitionWrapper):
|
||||
@@ -58,6 +66,8 @@ def add_scex_cmds(defs: TmtcDefinitionWrapper):
|
||||
|
||||
oce.add(keys=OpCodes.ALL_CELLS_CMD, info=Info.ALL_CELLS_CMD)
|
||||
oce.add(keys=OpCodes.FRAM, info=Info.FRAM)
|
||||
oce.add(keys=OpCodes.SWITCH_ON, info=Info.SWITCH_ON)
|
||||
oce.add(keys=OpCodes.SWITCH_OFF, info=Info.SWITCH_OFF)
|
||||
|
||||
defs.add_service(
|
||||
name=CustomServiceList.SCEX.value, info="SCEX Device", op_code_entry=oce
|
||||
@@ -68,6 +78,24 @@ def add_scex_cmds(defs: TmtcDefinitionWrapper):
|
||||
def pack_scex_cmds(p: ServiceProviderParams):
|
||||
op_code = p.op_code
|
||||
q = p.queue_helper
|
||||
if op_code in OpCodes.SWITCH_ON:
|
||||
q.add_log_cmd(Info.SWITCH_ON)
|
||||
q.add_pus_tc(
|
||||
PusTelecommand(
|
||||
service=200,
|
||||
subservice=Subservices.TC_MODE_COMMAND,
|
||||
app_data=pack_mode_data(SCEX_HANDLER_ID, Modes.ON, 0),
|
||||
)
|
||||
)
|
||||
if op_code in OpCodes.SWITCH_OFF:
|
||||
q.add_log_cmd(Info.SWITCH_OFF)
|
||||
q.add_pus_tc(
|
||||
PusTelecommand(
|
||||
service=200,
|
||||
subservice=Subservices.TC_MODE_COMMAND,
|
||||
app_data=pack_mode_data(SCEX_HANDLER_ID, Modes.OFF, 0),
|
||||
)
|
||||
)
|
||||
if op_code in OpCodes.PING:
|
||||
q.add_log_cmd(Info.PING)
|
||||
app_data = bytes([0])
|
||||
@@ -93,7 +121,7 @@ def pack_scex_cmds(p: ServiceProviderParams):
|
||||
# one cell
|
||||
if op_code in OpCodes.ONE_CELLS_CMD:
|
||||
q.add_log_cmd(Info.ONE_CELLS_CMD)
|
||||
app_data = bytearray()
|
||||
app_data = bytearray([0])
|
||||
|
||||
# cell number
|
||||
cn = 0
|
||||
@@ -125,6 +153,7 @@ def pack_scex_cmds(p: ServiceProviderParams):
|
||||
|
||||
# in app_data
|
||||
# app_data.extend(struct.pack("!H", first_dac))
|
||||
app_data.append(cell_select)
|
||||
append_16_bit_val(packet=app_data, val=first_dac[cn])
|
||||
append_16_bit_val(packet=app_data, val=last_dac[cn])
|
||||
append_16_bit_val(packet=app_data, val=res_switch1[cn])
|
||||
@@ -140,7 +169,7 @@ def pack_scex_cmds(p: ServiceProviderParams):
|
||||
|
||||
if op_code in OpCodes.ALL_CELLS_CMD:
|
||||
q.add_log_cmd(Info.ALL_CELLS_CMD)
|
||||
app_data = bytearray()
|
||||
app_data = bytearray([0])
|
||||
|
||||
# cell number
|
||||
cn = 0
|
@@ -13,7 +13,7 @@ from tmtccmd.logging import get_console_logger
|
||||
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
from utility.input_helper import InputHelper
|
||||
from eive_tmtc.utility.input_helper import InputHelper
|
||||
|
||||
|
||||
LOGGER = get_console_logger()
|
@@ -5,6 +5,12 @@
|
||||
@author J. Meier
|
||||
@date 13.12.2020
|
||||
"""
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from tmtccmd.config.tmtc import (
|
||||
tmtc_definitions_provider,
|
||||
TmtcDefinitionWrapper,
|
||||
OpCodeEntry,
|
||||
)
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.tc.pus_3_fsfw_hk import make_sid, generate_one_hk_command
|
||||
from spacepackets.ecss.tc import PusTelecommand
|
||||
@@ -20,7 +26,11 @@ class SetIds:
|
||||
|
||||
|
||||
class OpCodes:
|
||||
NORMAL = ["2", "nml"]
|
||||
OFF = "off"
|
||||
ON = "on"
|
||||
NORMAL = "nml"
|
||||
STANDBY = "standby"
|
||||
MODULATION = "modulation"
|
||||
|
||||
|
||||
class CommandIds:
|
||||
@@ -41,28 +51,52 @@ class CommandIds:
|
||||
DISABLE_DEBUG = 21
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_syrlinks_cmds(defs: TmtcDefinitionWrapper):
|
||||
oce = OpCodeEntry()
|
||||
oce.add(OpCodes.OFF, "Syrlinks Handler: Set mode off")
|
||||
oce.add(OpCodes.ON, "Syrlinks Handler: Set mode on")
|
||||
oce.add(OpCodes.NORMAL, "Syrlinks Handler: Set mode normal")
|
||||
oce.add(OpCodes.STANDBY, "Syrlinks Handler: Set TX standby")
|
||||
oce.add(OpCodes.MODULATION, "Syrlinks Handler: Set TX modulation")
|
||||
oce.add("5", "Syrlinks Handler: Set TX carrier wave")
|
||||
oce.add("6", "Syrlinks Handler: Read TX status")
|
||||
oce.add("7", "Syrlinks Handler: Read TX waveform")
|
||||
oce.add("8", "Syrlinks Handler: Read TX AGC value high byte")
|
||||
oce.add("9", "Syrlinks Handler: Read TX AGC value low byte")
|
||||
oce.add("12", "Syrlinks Handler: Write LCL config")
|
||||
oce.add("13", "Syrlinks Handler: Read RX status registers")
|
||||
oce.add("14", "Syrlinks Handler: Read LCL config register")
|
||||
oce.add("15", "Syrlinks Handler: Set waveform OQPSK")
|
||||
oce.add("16", "Syrlinks Handler: Set waveform BPSK")
|
||||
oce.add("17", "Syrlinks Handler: Set second config")
|
||||
oce.add("18", "Syrlinks Handler: Enable debug output")
|
||||
oce.add("19", "Syrlinks Handler: Disable debug output")
|
||||
defs.add_service(CustomServiceList.SYRLINKS.value, "Syrlinks Handler", oce)
|
||||
|
||||
|
||||
def pack_syrlinks_command(
|
||||
object_id: ObjectIdU32, q: DefaultPusQueueHelper, op_code: str
|
||||
):
|
||||
obyt = object_id.as_bytes
|
||||
q.add_log_cmd(f"Testing Syrlinks with object id: {object_id.as_hex_string}")
|
||||
if op_code == "0":
|
||||
if op_code == OpCodes.OFF:
|
||||
q.add_log_cmd("Syrlinks: Set mode off")
|
||||
data = pack_mode_data(obyt, Modes.OFF, 0)
|
||||
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data))
|
||||
if op_code == "1":
|
||||
if op_code == OpCodes.ON:
|
||||
q.add_log_cmd("Syrlinks: Set mode on")
|
||||
data = pack_mode_data(obyt, Modes.ON, 0)
|
||||
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data))
|
||||
if op_code == "2":
|
||||
if op_code == OpCodes.NORMAL:
|
||||
q.add_log_cmd("Syrlinks: Mode Normal")
|
||||
data = pack_mode_data(obyt, Modes.NORMAL, 0)
|
||||
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data))
|
||||
if op_code == "3":
|
||||
if op_code == OpCodes.STANDBY:
|
||||
q.add_log_cmd("syrlinks: Set TX mode standby")
|
||||
data = obyt + struct.pack("!I", CommandIds.SET_TX_MODE_STANDBY)
|
||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
||||
if op_code == "4":
|
||||
if op_code == OpCodes.MODULATION:
|
||||
q.add_log_cmd("syrlinks: Set TX mode modulation")
|
||||
data = obyt + struct.pack("!I", CommandIds.SET_TX_MODE_MODULATION)
|
||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
@@ -6,7 +6,7 @@
|
||||
@date 06.01.2021
|
||||
"""
|
||||
from spacepackets.ecss.tc import PusTelecommand
|
||||
from pus_tc.service_200_mode import pack_mode_data
|
||||
from eive_tmtc.pus_tc.service_200_mode import pack_mode_data
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import Modes
|
||||
from tmtccmd.util import ObjectIdU32
|
@@ -2,10 +2,10 @@
|
||||
"""
|
||||
from typing import cast
|
||||
|
||||
from tmtc.power.power import pack_power_commands
|
||||
from pus_tc.devs.rtd import pack_rtd_commands
|
||||
from pus_tc.devs.scex import pack_scex_cmds
|
||||
from pus_tc.system.controllers import (
|
||||
from eive_tmtc.tmtc.power.power import pack_power_commands
|
||||
from eive_tmtc.pus_tc.devs.rtd import pack_rtd_commands
|
||||
from eive_tmtc.pus_tc.devs.scex import pack_scex_cmds
|
||||
from eive_tmtc.pus_tc.system.controllers import (
|
||||
pack_cmd_ctrl_to_prompted_mode,
|
||||
get_object_from_op_code,
|
||||
)
|
||||
@@ -22,30 +22,33 @@ from tmtccmd.tc.pus_5_event import (
|
||||
)
|
||||
from tmtccmd.pus.pus_17_test import pack_service_17_ping_command
|
||||
|
||||
from pus_tc.service_200_mode import pack_service_200_test_into
|
||||
from tmtc.power.p60dock import pack_p60dock_cmds
|
||||
from tmtc.power.pdu2 import pack_pdu2_commands
|
||||
from tmtc.power.pdu1 import pack_pdu1_commands
|
||||
from tmtc.power.acu import pack_acu_commands
|
||||
from pus_tc.devs.solar_array_deployment import pack_solar_array_deployment_test_into
|
||||
from pus_tc.devs.imtq import pack_imtq_test_into
|
||||
from pus_tc.devs.tmp1075 import pack_tmp1075_test_into
|
||||
from pus_tc.devs.heater import pack_heater_cmds
|
||||
from pus_tc.devs.reaction_wheels import pack_single_rw_test_into, pack_rw_ass_cmds
|
||||
from pus_tc.devs.rad_sensor import pack_rad_sensor_test_into
|
||||
from tmtc.ploc_memory_dumper import pack_ploc_memory_dumper_cmd
|
||||
from pus_tc.devs.ccsds_handler import pack_ccsds_handler_test
|
||||
from pus_tc.system.core import pack_core_commands
|
||||
from pus_tc.devs.star_tracker import pack_star_tracker_commands
|
||||
from pus_tc.devs.syrlinks_hk_handler import pack_syrlinks_command
|
||||
from pus_tc.devs.gps import pack_gps_command
|
||||
from pus_tc.system.acs import pack_acs_command, pack_sus_cmds
|
||||
from pus_tc.devs.plpcdu import pack_pl_pcdu_commands
|
||||
from pus_tc.devs.str_img_helper import pack_str_img_helper_command
|
||||
from pus_tc.system.tcs import pack_tcs_sys_commands
|
||||
from pus_tc.system.proc import pack_proc_commands
|
||||
from config.definitions import CustomServiceList
|
||||
from config.object_ids import (
|
||||
from eive_tmtc.pus_tc.service_200_mode import pack_service_200_test_into
|
||||
from eive_tmtc.tmtc.power.p60dock import pack_p60dock_cmds
|
||||
from eive_tmtc.tmtc.power.pdu2 import pack_pdu2_commands
|
||||
from eive_tmtc.tmtc.power.pdu1 import pack_pdu1_commands
|
||||
from eive_tmtc.tmtc.power.acu import pack_acu_commands
|
||||
from eive_tmtc.tmtc.acs.imtq import pack_imtq_test_into
|
||||
from eive_tmtc.pus_tc.devs.tmp1075 import pack_tmp1075_test_into
|
||||
from eive_tmtc.pus_tc.devs.heater import pack_heater_cmds
|
||||
from eive_tmtc.tmtc.acs.reaction_wheels import (
|
||||
pack_single_rw_test_into,
|
||||
pack_rw_ass_cmds,
|
||||
)
|
||||
from eive_tmtc.pus_tc.devs.rad_sensor import pack_rad_sensor_test_into
|
||||
from eive_tmtc.tmtc.payload.ploc_memory_dumper import pack_ploc_memory_dumper_cmd
|
||||
from eive_tmtc.pus_tc.devs.ccsds_handler import pack_ccsds_handler_test
|
||||
from eive_tmtc.pus_tc.system.core import pack_core_commands
|
||||
from eive_tmtc.pus_tc.devs.star_tracker import pack_star_tracker_commands
|
||||
from eive_tmtc.pus_tc.devs.syrlinks_hk_handler import pack_syrlinks_command
|
||||
from eive_tmtc.pus_tc.devs.gps import pack_gps_command
|
||||
from eive_tmtc.tmtc.acs.acs_board import pack_acs_command
|
||||
from eive_tmtc.tmtc.acs.sus_board import pack_sus_cmds
|
||||
from eive_tmtc.pus_tc.devs.plpcdu import pack_pl_pcdu_commands
|
||||
from eive_tmtc.pus_tc.devs.str_img_helper import pack_str_img_helper_command
|
||||
from eive_tmtc.pus_tc.system.tcs import pack_tcs_sys_commands
|
||||
from eive_tmtc.pus_tc.system.proc import pack_proc_commands
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.object_ids import (
|
||||
P60_DOCK_HANDLER,
|
||||
PDU_1_HANDLER_ID,
|
||||
PDU_2_HANDLER_ID,
|
||||
@@ -65,11 +68,10 @@ from config.object_ids import (
|
||||
PDEC_HANDLER_ID,
|
||||
STR_IMG_HELPER_ID,
|
||||
SYRLINKS_HANDLER_ID,
|
||||
SOLAR_ARRAY_DEPLOYMENT_ID,
|
||||
RW_ASSEMBLY,
|
||||
get_object_ids,
|
||||
)
|
||||
import config.object_ids as oids
|
||||
import eive_tmtc.config.object_ids as oids
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
|
||||
LOGGER = get_console_logger()
|
||||
@@ -85,11 +87,6 @@ def handle_default_procedure(
|
||||
obj_id_man = get_object_ids()
|
||||
if service == CoreServiceList.SERVICE_5.value:
|
||||
return pack_generic_service_5_test_into(q=queue_helper)
|
||||
if (
|
||||
service == CoreServiceList.SERVICE_17
|
||||
or service == CoreServiceList.SERVICE_17_ALT
|
||||
):
|
||||
return queue_helper.add_pus_tc(pack_service_17_ping_command())
|
||||
if service == CoreServiceList.SERVICE_200.value:
|
||||
return pack_service_200_test_into(q=queue_helper)
|
||||
if service == CustomServiceList.P60DOCK.value:
|
||||
@@ -106,8 +103,6 @@ def handle_default_procedure(
|
||||
if service == CustomServiceList.ACU.value:
|
||||
object_id = cast(ObjectIdU32, obj_id_man.get(ACU_HANDLER_ID))
|
||||
return pack_acu_commands(object_id=object_id, q=queue_helper, op_code=op_code)
|
||||
# if service == CustomServiceList.BPX_BATTERY.value:
|
||||
# return pack_bpx_commands(q=queue_helper, op_code=op_code)
|
||||
if service == CustomServiceList.TCS.value:
|
||||
return pack_tcs_sys_commands(q=queue_helper, op_code=op_code)
|
||||
if service == CustomServiceList.TMP1075_1.value:
|
||||
@@ -185,18 +180,10 @@ def handle_default_procedure(
|
||||
return pack_syrlinks_command(
|
||||
object_id=object_id, q=queue_helper, op_code=op_code
|
||||
)
|
||||
if service == CustomServiceList.SA_DEPLYOMENT.value:
|
||||
return pack_solar_array_deployment_test_into(
|
||||
object_id=SOLAR_ARRAY_DEPLOYMENT_ID, q=queue_helper
|
||||
)
|
||||
if service == CustomServiceList.PROCEDURE.value:
|
||||
return pack_proc_commands(q=queue_helper, op_code=op_code)
|
||||
if service == CustomServiceList.SUS_ASS.value:
|
||||
return pack_sus_cmds(q=queue_helper, op_code=op_code)
|
||||
if service == CustomServiceList.PL_PCDU.value:
|
||||
return pack_pl_pcdu_commands(q=queue_helper, op_code=op_code)
|
||||
if service == CustomServiceList.ACS_ASS.value:
|
||||
return pack_acs_command(q=queue_helper, op_code=op_code)
|
||||
if service == CustomServiceList.TCS_ASS.value:
|
||||
return pack_tcs_sys_commands(q=queue_helper, op_code=op_code)
|
||||
if service == CustomServiceList.RW_ASSEMBLY.value:
|
||||
@@ -211,7 +198,14 @@ def handle_default_procedure(
|
||||
gui=tc_handler.gui,
|
||||
)
|
||||
if service == CustomServiceList.SCEX.value:
|
||||
return pack_scex_cmds(q=queue_helper, op_code=op_code)
|
||||
return pack_scex_cmds(
|
||||
ServiceProviderParams(
|
||||
handler_base=tc_base,
|
||||
op_code=op_code,
|
||||
info=info,
|
||||
queue_helper=queue_helper,
|
||||
)
|
||||
)
|
||||
if not route_to_registered_service_handlers(
|
||||
service,
|
||||
ServiceProviderParams(
|
@@ -8,7 +8,7 @@
|
||||
from spacepackets.ecss.tc import PusTelecommand
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import pack_mode_data, Modes
|
||||
from config.object_ids import TEST_DEVICE_ID
|
||||
from eive_tmtc.config.object_ids import TEST_DEVICE_ID
|
||||
|
||||
TEST_DEVICE_OBJ_ID = TEST_DEVICE_ID
|
||||
|
@@ -4,10 +4,13 @@ from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import Modes
|
||||
from tmtccmd.util import ObjectIdU32, ObjectIdBase
|
||||
|
||||
from .common import command_mode
|
||||
import config.object_ids as obj_ids
|
||||
from eive_tmtc.tmtc.common import pack_mode_cmd_with_info
|
||||
import eive_tmtc.config.object_ids as obj_ids
|
||||
|
||||
from pus_tc.prompt_parameters import prompt_parameters_cli, prompt_parameters_gui
|
||||
from eive_tmtc.pus_tc.prompt_parameters import (
|
||||
prompt_parameters_cli,
|
||||
prompt_parameters_gui,
|
||||
)
|
||||
|
||||
|
||||
class OpCodes:
|
||||
@@ -36,7 +39,7 @@ def pack_cmd_ctrl_to_prompted_mode(
|
||||
print("Invalid Mode, defaulting to OFF")
|
||||
mode = 0
|
||||
submode = int(parameters["Submode"])
|
||||
command_mode(
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=object_id.as_bytes,
|
||||
mode=mode,
|
||||
submode=submode,
|
||||
@@ -48,7 +51,7 @@ def pack_cmd_ctrl_to_prompted_mode(
|
||||
def pack_cmd_ctrl_to_off(
|
||||
q: DefaultPusQueueHelper, object_id: Union[ObjectIdBase, ObjectIdU32]
|
||||
):
|
||||
command_mode(
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=object_id.as_bytes,
|
||||
mode=Modes.OFF,
|
||||
submode=0,
|
||||
@@ -58,7 +61,7 @@ def pack_cmd_ctrl_to_off(
|
||||
|
||||
|
||||
def pack_cmd_ctrl_to_on(q: DefaultPusQueueHelper, object_id: ObjectIdU32):
|
||||
command_mode(
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=object_id.as_bytes,
|
||||
mode=Modes.ON,
|
||||
submode=0,
|
||||
@@ -70,7 +73,7 @@ def pack_cmd_ctrl_to_on(q: DefaultPusQueueHelper, object_id: ObjectIdU32):
|
||||
def pack_cmd_ctrl_to_nml(
|
||||
q: DefaultPusQueueHelper, object_id: Union[ObjectIdBase, ObjectIdU32]
|
||||
):
|
||||
command_mode(
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=object_id.as_bytes,
|
||||
mode=Modes.NORMAL,
|
||||
submode=0,
|
@@ -1,6 +1,6 @@
|
||||
import enum
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from spacepackets.ecss import PusTelecommand
|
||||
from tmtccmd.config import TmtcDefinitionWrapper
|
||||
|
||||
@@ -9,7 +9,7 @@ from tmtccmd.tc.pus_8_funccmd import make_fsfw_action_cmd
|
||||
from tmtccmd.logging import get_console_logger
|
||||
from tmtccmd.tc.pus_3_fsfw_hk import make_sid, generate_one_hk_command
|
||||
from tmtccmd.config.tmtc import OpCodeEntry, tmtc_definitions_provider
|
||||
from config.object_ids import CORE_CONTROLLER_ID
|
||||
from eive_tmtc.config.object_ids import CORE_CONTROLLER_ID
|
||||
|
||||
|
||||
LOGGER = get_console_logger()
|
@@ -2,11 +2,10 @@ from __future__ import annotations
|
||||
|
||||
import time
|
||||
from datetime import timedelta
|
||||
from typing import List
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from config.object_ids import get_object_ids
|
||||
from pus_tc.system.tcs import pack_tcs_sys_commands
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.object_ids import get_object_ids
|
||||
from eive_tmtc.pus_tc.system.tcs import pack_tcs_sys_commands
|
||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
|
||||
@@ -18,29 +17,31 @@ from tmtccmd.tc.pus_11_tc_sched import (
|
||||
)
|
||||
from tmtccmd.tc.pus_3_fsfw_hk import *
|
||||
|
||||
import config.object_ids as oids
|
||||
from pus_tc.system.tcs import OpCodes as TcsOpCodes
|
||||
from pus_tc.devs.bpx_batt import BpxSetIds
|
||||
from pus_tc.system.core import SetIds as CoreSetIds
|
||||
from gomspace.gomspace_common import SetIds as GsSetIds
|
||||
from pus_tc.devs.rad_sensor import SetIds as RadSetIds
|
||||
from pus_tc.devs.mgms import MgmLis3SetIds as MgmLis3SetIds_0_2
|
||||
from pus_tc.devs.mgms import MgmRm3100SetIds as MgmRm3100SetIds_1_3
|
||||
from pus_tc.devs.gyros import AdisGyroSetIds as AdisGyroSetIds_0_2
|
||||
from pus_tc.devs.gyros import L3gGyroSetIds as L3gGyroSetIds_1_3
|
||||
from pus_tc.devs.syrlinks_hk_handler import OpCodes as SyrlinksOpCodes
|
||||
from pus_tc.devs.syrlinks_hk_handler import SetIds as SyrlinksSetIds
|
||||
from pus_tc.devs.star_tracker import OpCodes as StrOpCodes
|
||||
from pus_tc.devs.gps import SetIds as GpsSetIds
|
||||
from pus_tc.devs.imtq import ImtqSetIds
|
||||
from pus_tc.devs.sus import SetIds
|
||||
from pus_tc.devs.star_tracker import SetIds as StrSetIds
|
||||
from pus_tc.devs.reaction_wheels import RwSetIds
|
||||
from pus_tc.system.controllers import pack_cmd_ctrl_to_off, pack_cmd_ctrl_to_nml
|
||||
from pus_tc.system.acs import pack_acs_command, pack_sus_cmds
|
||||
from pus_tc.devs.imtq import pack_imtq_test_into, pack_dipole_command
|
||||
from pus_tc.devs.star_tracker import pack_star_tracker_commands
|
||||
from pus_tc.devs.reaction_wheels import pack_rw_ass_cmds, pack_set_speed_command
|
||||
import eive_tmtc.config.object_ids as oids
|
||||
from eive_tmtc.pus_tc.system.tcs import OpCodes as TcsOpCodes
|
||||
from eive_tmtc.pus_tc.devs.bpx_batt import BpxSetIds
|
||||
from eive_tmtc.pus_tc.system.core import SetIds as CoreSetIds
|
||||
from eive_tmtc.tmtc.power.common_power import SetIds as GsSetIds
|
||||
from eive_tmtc.pus_tc.devs.rad_sensor import SetIds as RadSetIds
|
||||
from eive_tmtc.pus_tc.devs.mgms import MgmLis3SetIds as MgmLis3SetIds_0_2
|
||||
from eive_tmtc.pus_tc.devs.mgms import MgmRm3100SetIds as MgmRm3100SetIds_1_3
|
||||
from eive_tmtc.pus_tc.devs.gyros import AdisGyroSetIds as AdisGyroSetIds_0_2
|
||||
from eive_tmtc.pus_tc.devs.gyros import L3gGyroSetIds as L3gGyroSetIds_1_3
|
||||
from eive_tmtc.pus_tc.devs.syrlinks_hk_handler import SetIds as SyrlinksSetIds
|
||||
from eive_tmtc.pus_tc.devs.gps import SetIds as GpsSetIds
|
||||
from eive_tmtc.tmtc.acs.imtq import ImtqSetIds
|
||||
from eive_tmtc.pus_tc.devs.sus import SetIds
|
||||
from eive_tmtc.pus_tc.devs.star_tracker import SetIds as StrSetIds
|
||||
from eive_tmtc.tmtc.acs.reaction_wheels import RwSetIds, rw_speed_up_cmd_consec
|
||||
from eive_tmtc.pus_tc.system.controllers import (
|
||||
pack_cmd_ctrl_to_off,
|
||||
pack_cmd_ctrl_to_nml,
|
||||
)
|
||||
from eive_tmtc.tmtc.acs.acs_board import pack_acs_command
|
||||
from eive_tmtc.tmtc.acs.sus_board import pack_sus_cmds
|
||||
from eive_tmtc.tmtc.acs.imtq import pack_imtq_test_into, pack_dipole_command
|
||||
from eive_tmtc.pus_tc.devs.star_tracker import pack_star_tracker_commands
|
||||
from eive_tmtc.tmtc.acs.reaction_wheels import pack_rw_ass_cmds, pack_set_speed_command
|
||||
|
||||
|
||||
class OpCodes:
|
||||
@@ -247,14 +248,14 @@ def pack_proc_commands(q: DefaultPusQueueHelper, op_code: str):
|
||||
if op_code in OpCodes.PCDU_FT:
|
||||
key = KAI.PCDU_FT[0]
|
||||
pcdu_pairs = [
|
||||
(oids.P60_DOCK_HANDLER, GsSetIds.P60_CORE),
|
||||
(oids.PDU_1_HANDLER_ID, GsSetIds.PDU_1_CORE),
|
||||
(oids.PDU_2_HANDLER_ID, GsSetIds.PDU_2_CORE),
|
||||
(oids.ACU_HANDLER_ID, GsSetIds.ACU_CORE),
|
||||
(oids.P60_DOCK_HANDLER, GsSetIds.P60_AUX),
|
||||
(oids.PDU_1_HANDLER_ID, GsSetIds.PDU_1_AUX),
|
||||
(oids.PDU_2_HANDLER_ID, GsSetIds.PDU_2_AUX),
|
||||
(oids.ACU_HANDLER_ID, GsSetIds.ACU_AUX),
|
||||
(oids.P60_DOCK_HANDLER, GsSetIds.CORE),
|
||||
(oids.PDU_1_HANDLER_ID, GsSetIds.CORE),
|
||||
(oids.PDU_2_HANDLER_ID, GsSetIds.CORE),
|
||||
(oids.ACU_HANDLER_ID, GsSetIds.CORE),
|
||||
(oids.P60_DOCK_HANDLER, GsSetIds.AUX),
|
||||
(oids.PDU_1_HANDLER_ID, GsSetIds.AUX),
|
||||
(oids.PDU_2_HANDLER_ID, GsSetIds.AUX),
|
||||
(oids.ACU_HANDLER_ID, GsSetIds.AUX),
|
||||
]
|
||||
|
||||
diag_list = [
|
||||
@@ -587,10 +588,10 @@ def pack_proc_commands(q: DefaultPusQueueHelper, op_code: str):
|
||||
]
|
||||
# HK listening
|
||||
pack_generic_hk_listening_cmds(
|
||||
tc_queue=tc_queue,
|
||||
q=q,
|
||||
proc_key=key,
|
||||
sid_list=sid_list,
|
||||
diag=False,
|
||||
diag_list=[False],
|
||||
cfg=GenericHkListeningCfg.default(),
|
||||
)
|
||||
if op_code in OpCodes.STR_FT:
|
||||
@@ -726,7 +727,7 @@ def enable_listen_to_hk_for_x_seconds(
|
||||
):
|
||||
q.add_log_cmd(f"Enabling periodic HK for {device}")
|
||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||
diag=diag, sid=sid, interval_seconds=interval_seconds, ssc=0
|
||||
diag=diag, sid=sid, interval_seconds=interval_seconds
|
||||
)
|
||||
for cmd in cmd_tuple:
|
||||
q.add_pus_tc(cmd)
|
||||
@@ -827,24 +828,6 @@ def rw_speed_cmd_single(
|
||||
q.add_pus_tc(pack_set_speed_command(object_id=oid, speed=0, ramp_time_ms=ramp_time))
|
||||
|
||||
|
||||
def rw_speed_up_cmd_consec(
|
||||
q: DefaultPusQueueHelper, obids: List[bytes], speed: int, ramp_time: int
|
||||
):
|
||||
for oid in obids:
|
||||
q.add_pus_tc(
|
||||
pack_set_speed_command(object_id=oid, speed=speed, ramp_time_ms=ramp_time)
|
||||
)
|
||||
|
||||
|
||||
def rw_speed_down_cmd_consec(
|
||||
q: DefaultPusQueueHelper, obids: List[bytes], ramp_time: int
|
||||
):
|
||||
for oid in obids:
|
||||
q.add_pus_tc(
|
||||
pack_set_speed_command(object_id=oid, speed=0, ramp_time_ms=ramp_time)
|
||||
)
|
||||
|
||||
|
||||
def activate_all_rws_in_sequence(
|
||||
q: DefaultPusQueueHelper, init_ssc: int, test_speed: int, test_ramp_time: int
|
||||
):
|
@@ -1,24 +1,23 @@
|
||||
import enum
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import Modes
|
||||
from tmtccmd.tc.pus_3_fsfw_hk import (
|
||||
make_sid,
|
||||
generate_one_diag_command,
|
||||
generate_one_hk_command,
|
||||
)
|
||||
|
||||
from .common import command_mode
|
||||
from config.object_ids import TCS_BOARD_ASS_ID, TCS_CONTROLLER
|
||||
from eive_tmtc.tmtc.common import pack_mode_cmd_with_info
|
||||
from eive_tmtc.config.object_ids import TCS_BOARD_ASS_ID, TCS_CONTROLLER
|
||||
|
||||
|
||||
class OpCodes:
|
||||
TCS_BOARD_ASS_NORMAL = ["0", "tcs-normal"]
|
||||
TCS_BOARD_ASS_OFF = ["1", "tcs-off"]
|
||||
REQUEST_SENSOR_TEMP_SET = ["2", "temp-hk"]
|
||||
TCS_BOARD_ASS_NORMAL = ["0", "normal"]
|
||||
TCS_BOARD_ASS_OFF = ["1", "off"]
|
||||
REQUEST_SENSOR_TEMP_SET = ["2", "temps"]
|
||||
|
||||
|
||||
class Info:
|
||||
@@ -62,7 +61,7 @@ def pack_tcs_sys_commands(q: DefaultPusQueueHelper, op_code: str):
|
||||
|
||||
def pack_tcs_ass_cmds(q: DefaultPusQueueHelper, op_code: str):
|
||||
if op_code in OpCodes.TCS_BOARD_ASS_NORMAL:
|
||||
command_mode(
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=TCS_BOARD_ASS_ID,
|
||||
mode=Modes.NORMAL,
|
||||
submode=0,
|
||||
@@ -70,7 +69,7 @@ def pack_tcs_ass_cmds(q: DefaultPusQueueHelper, op_code: str):
|
||||
info=Info.TCS_BOARD_ASS_NORMAL,
|
||||
)
|
||||
if op_code in OpCodes.TCS_BOARD_ASS_OFF:
|
||||
command_mode(
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=TCS_BOARD_ASS_ID,
|
||||
mode=Modes.OFF,
|
||||
submode=0,
|
@@ -1,6 +1,6 @@
|
||||
from datetime import datetime
|
||||
|
||||
from config.definitions import CustomServiceList
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from spacepackets.ecss import PusTelecommand
|
||||
from tmtccmd import DefaultProcedureInfo, TcHandlerBase
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import struct
|
||||
from config.object_ids import *
|
||||
from pus_tc.devs.imtq import ImtqActionIds
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from tmtc.ploc_mpsoc import PlocReplyIds
|
||||
from tmtc.ploc_supervisor import SupvActionIds
|
||||
from pus_tc.devs.star_tracker import StarTrackerActionIds
|
||||
from tmtc.power.tm import handle_get_param_data_reply
|
||||
from eive_tmtc.config.object_ids import *
|
||||
from eive_tmtc.tmtc.acs.imtq import ImtqActionIds
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.tmtc.payload.ploc_mpsoc import PlocReplyIds
|
||||
from eive_tmtc.tmtc.payload.ploc_supervisor import SupvActionIds
|
||||
from eive_tmtc.pus_tc.devs.star_tracker import StarTrackerActionIds
|
||||
from eive_tmtc.tmtc.power.tm import handle_get_param_data_reply
|
||||
from tmtccmd.logging import get_console_logger
|
||||
from tmtccmd.tm import Service8FsfwTm
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
@@ -1,7 +1,7 @@
|
||||
import struct
|
||||
|
||||
from pus_tc.devs.bpx_batt import BpxSetIds
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tc.devs.bpx_batt import BpxSetIds
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
|
||||
from pus_tc.devs.gyros import L3gGyroSetIds, AdisGyroSetIds
|
||||
import config.object_ids as obj_ids
|
||||
from eive_tmtc.pus_tc.devs.gyros import L3gGyroSetIds, AdisGyroSetIds
|
||||
import eive_tmtc.config.object_ids as obj_ids
|
||||
|
||||
|
||||
def handle_gyros_hk_data(
|
@@ -1,10 +1,10 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from pus_tc.devs.mgms import MgmRm3100SetIds, MgmLis3SetIds
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tc.devs.mgms import MgmRm3100SetIds, MgmLis3SetIds
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
import config.object_ids as obj_ids
|
||||
import eive_tmtc.config.object_ids as obj_ids
|
||||
|
||||
|
||||
def handle_mgm_hk_data(
|
@@ -1,8 +1,8 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
from pus_tc.devs.plpcdu import SetIds
|
||||
from eive_tmtc.pus_tc.devs.plpcdu import SetIds
|
||||
|
||||
|
||||
ADC_CHANNELS_NAMED = [
|
@@ -1,8 +1,8 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
from pus_tc.devs.rad_sensor import SetIds
|
||||
from eive_tmtc.pus_tc.devs.rad_sensor import SetIds
|
||||
|
||||
|
||||
def handle_rad_sensor_data(printer: FsfwTmTcPrinter, set_id: int, hk_data: bytes):
|
@@ -1,7 +1,7 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from pus_tc.devs.sus import SetIds
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tc.devs.sus import SetIds
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from pus_tc.devs.syrlinks_hk_handler import SetIds
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tc.devs.syrlinks_hk_handler import SetIds
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
|
||||
|
@@ -1,8 +1,11 @@
|
||||
import logging
|
||||
import os.path
|
||||
from datetime import datetime
|
||||
from config.object_ids import get_object_ids
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.config.object_ids import get_object_ids
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tm.verification_handler import generic_retval_printout
|
||||
from eive_tmtc.tmtc.acs.acs_subsystem import AcsModes
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import Modes
|
||||
|
||||
from tmtccmd.tm import Service5Tm
|
||||
from tmtccmd.logging import get_console_logger
|
||||
@@ -50,6 +53,11 @@ def handle_event_packet(raw_tm: bytes, printer: FsfwTmTcPrinter):
|
||||
)
|
||||
LOGGER.info(generic_event_string)
|
||||
specific_handler = True
|
||||
if info.name == "MODE_TRANSITION_FAILED":
|
||||
reason = generic_retval_printout(tm.param_1)
|
||||
for string in reason:
|
||||
pw.dlog(f"Reason from event parameter 1: {string}")
|
||||
pw.dlog(f"Mode, sequence or table: {tm.param_2:#08x}")
|
||||
if info.name == "SUPV_UPDATE_PROGRESS" or info.name == "WRITE_MEMORY_FAILED":
|
||||
additional_event_info = f"Additional info: {info.info}"
|
||||
context = (
|
||||
@@ -58,6 +66,30 @@ def handle_event_packet(raw_tm: bytes, printer: FsfwTmTcPrinter):
|
||||
)
|
||||
pw.dlog(additional_event_info)
|
||||
pw.dlog(context)
|
||||
if info.name == "MODE_INFO":
|
||||
mode_name = "Unknown"
|
||||
if obj_name == "ACS_SUBSYSTEM":
|
||||
if tm.param_1 == Modes.OFF:
|
||||
mode_name = "Off"
|
||||
elif tm.param_1 == AcsModes.IDLE:
|
||||
mode_name = "Idle"
|
||||
elif tm.param_1 == AcsModes.DETUMBLE:
|
||||
mode_name = "Detumble"
|
||||
elif tm.param_1 == AcsModes.SAFE:
|
||||
mode_name = "Safe"
|
||||
elif tm.param_1 == AcsModes.TARGET_PT:
|
||||
mode_name = "Target Pointing"
|
||||
else:
|
||||
if tm.param_1 == Modes.OFF:
|
||||
mode_name = "Off"
|
||||
elif tm.param_1 == Modes.ON:
|
||||
mode_name = "On"
|
||||
elif tm.param_1 == Modes.NORMAL:
|
||||
mode_name = "Normal"
|
||||
elif tm.param_1 == Modes.RAW:
|
||||
mode_name = "Raw"
|
||||
pw.dlog(f"Mode Number {tm.param_1}, Mode Name {mode_name}")
|
||||
pw.dlog(f"Submode: {tm.param_2}")
|
||||
else:
|
||||
specific_handler = False
|
||||
if info.info != "":
|
@@ -1,6 +1,6 @@
|
||||
"""Core EIVE TM handler module
|
||||
"""
|
||||
from config.object_ids import get_object_ids
|
||||
from eive_tmtc.config.object_ids import get_object_ids
|
||||
from spacepackets.ecss import PusTelemetry
|
||||
from spacepackets.ecss.pus_17_test import Service17Tm
|
||||
from spacepackets.util import PrintFormats
|
||||
@@ -8,11 +8,12 @@ from tmtccmd import get_console_logger
|
||||
from tmtccmd.logging.pus import RawTmtcTimedLogWrapper
|
||||
from tmtccmd.pus import VerificationWrapper
|
||||
from tmtccmd.tm import Service20FsfwTm, Service200FsfwTm
|
||||
from tmtccmd.tm.pus_17_test import Service17TmExtended
|
||||
from tmtccmd.tm.pus_200_fsfw_modes import Subservices as ModeSubservices
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
from .defs import PrintWrapper
|
||||
|
||||
from .event_handler import handle_event_packet
|
||||
from .verification_handler import handle_service_1_fsfw_packet
|
||||
from .verification_handler import handle_service_1_fsfw_packet, generic_retval_printout
|
||||
from .hk_handling import handle_hk_packet
|
||||
from .action_reply_handler import handle_action_reply
|
||||
|
||||
@@ -36,6 +37,7 @@ def pus_factory_hook(
|
||||
return
|
||||
service = tm_packet.service
|
||||
obj_id_dict = get_object_ids()
|
||||
pw = PrintWrapper(printer)
|
||||
dedicated_handler = True
|
||||
if service == 1:
|
||||
handle_service_1_fsfw_packet(wrapper=verif_wrapper, raw_tm=packet)
|
||||
@@ -55,7 +57,17 @@ def pus_factory_hook(
|
||||
dedicated_handler = False
|
||||
elif service == 200:
|
||||
tm_packet = Service200FsfwTm.unpack(raw_telemetry=packet)
|
||||
dedicated_handler = False
|
||||
if tm_packet.subservice == ModeSubservices.TM_CANT_REACH_MODE:
|
||||
obj_id = tm_packet.object_id
|
||||
obj_id_obj = obj_id_dict.get(obj_id)
|
||||
retval = tm_packet.return_value
|
||||
string_list = generic_retval_printout(retval)
|
||||
pw.dlog(f"Received Mode Reply from {obj_id_obj}: Can't reach mode.")
|
||||
for string in string_list:
|
||||
pw.dlog(f"Reason: {string}")
|
||||
dedicated_handler = True
|
||||
else:
|
||||
dedicated_handler = False
|
||||
else:
|
||||
LOGGER.info(f"The service {service} is not implemented in Telemetry Factory")
|
||||
tm_packet.print_source_data(PrintFormats.HEX)
|
@@ -1,11 +1,12 @@
|
||||
"""HK Handling for EIVE OBSW"""
|
||||
from pus_tm.tcp_server_objects import tcp_server_sensor_temperatures
|
||||
from tmtc.acs_ctrl import handle_acs_ctrl_mgm_data
|
||||
from pus_tm.devs.plpcdu import handle_plpcdu_hk
|
||||
from pus_tm.devs.rad_sensor import handle_rad_sensor_data
|
||||
from pus_tm.devs.sus import handle_sus_hk
|
||||
from pus_tm.system.tcs import handle_thermal_controller_hk_data
|
||||
from tmtc.ploc_supervisor import handle_supv_hk_data
|
||||
# from pus_tm.tcp_server_objects import TCP_SEVER_SENSOR_TEMPERATURES
|
||||
from eive_tmtc.tmtc.acs.acs_ctrl import handle_acs_ctrl_mgm_data
|
||||
from eive_tmtc.pus_tm.devs.plpcdu import handle_plpcdu_hk
|
||||
from eive_tmtc.pus_tm.devs.rad_sensor import handle_rad_sensor_data
|
||||
from eive_tmtc.pus_tm.devs.sus import handle_sus_hk
|
||||
from eive_tmtc.pus_tm.system.tcs import handle_thermal_controller_hk_data
|
||||
from eive_tmtc.tmtc.payload.ploc_supervisor import handle_supv_hk_data
|
||||
from eive_tmtc.tmtc.acs.reaction_wheels import handle_rw_hk_data
|
||||
from tmtccmd.tm.pus_3_fsfw_hk import (
|
||||
Service3Base,
|
||||
HkContentType,
|
||||
@@ -14,23 +15,26 @@ from tmtccmd.tm.pus_3_fsfw_hk import (
|
||||
from tmtccmd.util.obj_id import ObjectIdU32, ObjectIdDictT
|
||||
from tmtccmd.logging import get_console_logger
|
||||
|
||||
from pus_tm.devs.bpx_bat import handle_bpx_hk_data
|
||||
from pus_tm.devs.gps import handle_gps_data
|
||||
from pus_tm.devs.gyros import handle_gyros_hk_data
|
||||
from pus_tm.devs.imtq_mgt import (
|
||||
from eive_tmtc.pus_tm.devs.bpx_bat import handle_bpx_hk_data
|
||||
from eive_tmtc.pus_tm.devs.gps import handle_gps_data
|
||||
from eive_tmtc.pus_tm.devs.gyros import handle_gyros_hk_data
|
||||
from eive_tmtc.tmtc.power.tm import (
|
||||
handle_pdu_data,
|
||||
handle_p60_hk_data,
|
||||
handle_acu_hk_data,
|
||||
)
|
||||
from eive_tmtc.pus_tm.devs.syrlinks import handle_syrlinks_hk_data
|
||||
from eive_tmtc.tmtc.acs.imtq import (
|
||||
ImtqSetIds,
|
||||
handle_self_test_data,
|
||||
handle_eng_set,
|
||||
handle_calibrated_mtm_measurement,
|
||||
handle_raw_mtm_measurement,
|
||||
)
|
||||
from tmtc.power.tm import handle_pdu_data, handle_p60_hk_data, handle_acu_hk_data
|
||||
from pus_tm.devs.syrlinks import handle_syrlinks_hk_data
|
||||
from pus_tc.devs.imtq import ImtqSetIds
|
||||
from pus_tm.devs.reaction_wheels import handle_rw_hk_data
|
||||
from pus_tm.defs import FsfwTmTcPrinter
|
||||
from pus_tm.system.core import handle_core_hk_data
|
||||
from pus_tm.devs.mgms import handle_mgm_hk_data
|
||||
import config.object_ids as obj_ids
|
||||
from eive_tmtc.pus_tm.defs import FsfwTmTcPrinter
|
||||
from eive_tmtc.pus_tm.system.core import handle_core_hk_data
|
||||
from eive_tmtc.pus_tm.devs.mgms import handle_mgm_hk_data
|
||||
import eive_tmtc.config.object_ids as obj_ids
|
||||
|
||||
|
||||
LOGGER = get_console_logger()
|
||||
@@ -51,9 +55,11 @@ def handle_hk_packet(
|
||||
if tm_packet.subservice == 25 or tm_packet.subservice == 26:
|
||||
hk_data = tm_packet.tm_data[8:]
|
||||
if FORWARD_SENSOR_TEMPS:
|
||||
tcp_server_sensor_temperatures.report_raw_hk_data(
|
||||
object_id=named_obj_id, set_id=tm_packet.set_id, hk_data=hk_data
|
||||
)
|
||||
# TODO: Maybe use singleton?
|
||||
# TCP_SEVER_SENSOR_TEMPERATURES.report_raw_hk_data(
|
||||
# object_id=named_obj_id, set_id=tm_packet.set_id, hk_data=hk_data
|
||||
# )
|
||||
pass
|
||||
printer.generic_hk_tm_print(
|
||||
content_type=HkContentType.HK,
|
||||
object_id=named_obj_id,
|
@@ -1,7 +1,7 @@
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from pus_tc.system.core import SetIds
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from eive_tmtc.pus_tc.system.core import SetIds
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
|
||||
|
@@ -1,12 +1,8 @@
|
||||
import enum
|
||||
import pprint
|
||||
import struct
|
||||
|
||||
from pus_tm.defs import PrintWrapper
|
||||
from pus_tm.tcp_server_objects import (
|
||||
tcp_server_sensor_temperatures,
|
||||
tcp_server_device_temperatures,
|
||||
)
|
||||
from pus_tm.tm_tcp_server import TmTcpServer
|
||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||
|
||||
@@ -20,10 +16,13 @@ class SetIds(enum.IntEnum):
|
||||
def handle_thermal_controller_hk_data(
|
||||
object_id: ObjectIdU32, printer: FsfwTmTcPrinter, set_id: int, hk_data: bytes
|
||||
):
|
||||
if tcp_server_sensor_temperatures is None:
|
||||
tcp_server_sensor_temperatures = TmTcpServer("localhost", 7305)
|
||||
if tcp_server_device_temperatures is None:
|
||||
tcp_server_device_temperatures = TmTcpServer("localhost", 7306)
|
||||
# need a better solutuon for this is this is used again..
|
||||
"""
|
||||
if TCP_TEMP_SENS_SERVER is None:
|
||||
TCP_TEMP_SENS_SERVER = TmTcpServer("localhost", 7305)
|
||||
if TCP_TEMP_DEV_SERVER:
|
||||
TCP_TEMP_DEV_SERVER = TmTcpServer("localhost", 7306)
|
||||
"""
|
||||
if set_id == SetIds.SENSOR_TEMPERATURE_SET:
|
||||
pw = PrintWrapper(printer)
|
||||
pw.dlog("Received sensor temperature data")
|
||||
@@ -51,9 +50,11 @@ def handle_thermal_controller_hk_data(
|
||||
"TMP1075 2": tm_data[17],
|
||||
}
|
||||
printer.file_logger.info(str(parsed_data))
|
||||
tcp_server_sensor_temperatures.report_parsed_hk_data(
|
||||
object_id, set_id, parsed_data
|
||||
)
|
||||
pp = pprint.PrettyPrinter(depth=4)
|
||||
pp.pprint(parsed_data)
|
||||
# tcp_server_sensor_temperatures.report_parsed_hk_data(
|
||||
# object_id, set_id, parsed_data
|
||||
# )
|
||||
elif set_id == SetIds.DEVICE_TEMPERATURE_SET:
|
||||
pw = PrintWrapper(printer)
|
||||
pw.dlog("Received device temperature data")
|
||||
@@ -88,10 +89,13 @@ def handle_thermal_controller_hk_data(
|
||||
"MGM_1_TEMPERATURE": tm_data[25],
|
||||
"ADC_PL_PCDU_TEMPERATURE": tm_data[26],
|
||||
}
|
||||
printer.file_logger.info(str(parsed_data))
|
||||
pp = pprint.PrettyPrinter(depth=4)
|
||||
pp.pprint(parsed_data)
|
||||
# print(parsed_data)
|
||||
tcp_server_device_temperatures.report_parsed_hk_data(
|
||||
object_id, set_id, parsed_data
|
||||
)
|
||||
# tcp_server_device_temperatures.report_parsed_hk_data(
|
||||
# object_id, set_id, parsed_data
|
||||
# )
|
||||
elif set_id == SetIds.SUS_TEMPERATURE_SET:
|
||||
pass
|
||||
# pw = PrintWrapper(printer)
|
6
eive_tmtc/pus_tm/tcp_server_objects.py
Normal file
6
eive_tmtc/pus_tm/tcp_server_objects.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from typing import Optional
|
||||
|
||||
from pus_tm.tm_tcp_server import TmTcpServer
|
||||
|
||||
TCP_SERVER_SENSOR_TEMPERATURES: Optional[TmTcpServer] = None
|
||||
TCP_SERVER_DEVICE_TEMPERATURES: Optional[TmTcpServer] = None
|
63
eive_tmtc/pus_tm/verification_handler.py
Normal file
63
eive_tmtc/pus_tm/verification_handler.py
Normal file
@@ -0,0 +1,63 @@
|
||||
from typing import List, Optional
|
||||
|
||||
from spacepackets.ecss.pus_1_verification import UnpackParams, Service1Tm
|
||||
from tmtccmd.logging import get_console_logger
|
||||
from tmtccmd.pus import VerificationWrapper
|
||||
from tmtccmd.tm.pus_1_verification import Service1FsfwWrapper
|
||||
from eive_tmtc.config.retvals import get_retval_dict
|
||||
|
||||
LOGGER = get_console_logger()
|
||||
|
||||
|
||||
def handle_service_1_fsfw_packet(wrapper: VerificationWrapper, raw_tm: bytes):
|
||||
if wrapper.console_logger is None or wrapper.file_logger is None:
|
||||
raise ValueError(
|
||||
"Console logger or file logger not valid. Please set a valid one"
|
||||
)
|
||||
# Error code with length 2 is FSFW specific
|
||||
tm_packet = Service1Tm.unpack(data=raw_tm, params=UnpackParams(1, 2))
|
||||
fsfw_wrapper = Service1FsfwWrapper(tm_packet)
|
||||
res = wrapper.verificator.add_tm(tm_packet)
|
||||
if res is None:
|
||||
LOGGER.info(
|
||||
f"Received Verification TM[{tm_packet.service}, {tm_packet.subservice}] "
|
||||
f"with Request ID {tm_packet.tc_req_id.as_u32():#08x}"
|
||||
)
|
||||
LOGGER.warning(f"No matching telecommand found for {tm_packet.tc_req_id}")
|
||||
else:
|
||||
wrapper.log_to_console(tm_packet, res)
|
||||
wrapper.log_to_file(tm_packet, res)
|
||||
if tm_packet.has_failure_notice:
|
||||
str_list = generic_retval_printout(
|
||||
tm_packet.error_code.val,
|
||||
fsfw_wrapper.error_param_1,
|
||||
fsfw_wrapper.error_param_2,
|
||||
)
|
||||
for string in str_list:
|
||||
wrapper.dlog(string)
|
||||
|
||||
|
||||
def generic_retval_printout(
|
||||
retval: int, p1: Optional[int] = None, p2: Optional[int] = None
|
||||
) -> List[str]:
|
||||
retval_dict = get_retval_dict()
|
||||
retval_info = retval_dict.get(retval)
|
||||
if retval_info is None:
|
||||
raw_err = retval
|
||||
return [
|
||||
f"No returnvalue information found for error code with "
|
||||
f"subsystem ID {(raw_err >> 8) & 0xff} and unique ID {raw_err & 0xff}"
|
||||
]
|
||||
else:
|
||||
retval_string = (
|
||||
f"Error Code information for code {retval:#06x} | "
|
||||
f"Name: {retval_info.name} | Info: {retval_info.info}"
|
||||
)
|
||||
string_list = [retval_string]
|
||||
if p1:
|
||||
error_param_1_str = f"Error Parameter 1: hex {p1:#010x} " f"dec {p1} "
|
||||
string_list.append(error_param_1_str)
|
||||
if p2:
|
||||
error_param_2_str = f"Error Parameter 2: hex {p2:#010x} " f"dec {p2}"
|
||||
string_list.append(error_param_2_str)
|
||||
return string_list
|
2
eive_tmtc/tmtc/__init__.py
Normal file
2
eive_tmtc/tmtc/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from .payload.pl_subsystem import add_payload_subsystem_cmds
|
||||
from .test import add_test_defs
|
130
eive_tmtc/tmtc/acs/acs_board.py
Normal file
130
eive_tmtc/tmtc/acs/acs_board.py
Normal file
@@ -0,0 +1,130 @@
|
||||
import enum
|
||||
|
||||
from eive_tmtc.config.definitions import CustomServiceList
|
||||
from tmtccmd.config.tmtc import (
|
||||
tmtc_definitions_provider,
|
||||
TmtcDefinitionWrapper,
|
||||
OpCodeEntry,
|
||||
)
|
||||
from tmtccmd.tc import service_provider
|
||||
from tmtccmd.tc.decorator import ServiceProviderParams
|
||||
from tmtccmd.tc.pus_200_fsfw_modes import Modes
|
||||
from eive_tmtc.config.object_ids import ACS_BOARD_ASS_ID
|
||||
|
||||
from eive_tmtc.tmtc.common import pack_mode_cmd_with_info
|
||||
|
||||
|
||||
class AcsOpCodes:
|
||||
ACS_ASS_A_SIDE = ["0", "a"]
|
||||
ACS_ASS_B_SIDE = ["1", "b"]
|
||||
ACS_ASS_DUAL_MODE = ["2", "d"]
|
||||
ACS_ASS_OFF = ["3", "off"]
|
||||
ACS_ASS_A_ON = ["4", "ao"]
|
||||
ACS_ASS_B_ON = ["5", "bo"]
|
||||
ACS_ASS_DUAL_ON = ["6", "do"]
|
||||
|
||||
|
||||
class DualSideSubmodes(enum.IntEnum):
|
||||
A_SIDE = 0
|
||||
B_SIDE = 1
|
||||
DUAL_SIDE = 2
|
||||
|
||||
|
||||
@service_provider(CustomServiceList.ACS_BRD_ASS)
|
||||
def pack_acs_command(p: ServiceProviderParams):
|
||||
op_code = p.op_code
|
||||
q = p.queue_helper
|
||||
if op_code in AcsOpCodes.ACS_ASS_A_SIDE:
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=ACS_BOARD_ASS_ID,
|
||||
mode=Modes.NORMAL,
|
||||
submode=DualSideSubmodes.A_SIDE,
|
||||
q=q,
|
||||
info="Switching to ACS board assembly A side",
|
||||
)
|
||||
if op_code in AcsOpCodes.ACS_ASS_B_SIDE:
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=ACS_BOARD_ASS_ID,
|
||||
mode=Modes.NORMAL,
|
||||
submode=DualSideSubmodes.B_SIDE,
|
||||
q=q,
|
||||
info="Switching to ACS board assembly B side",
|
||||
)
|
||||
if op_code in AcsOpCodes.ACS_ASS_DUAL_MODE:
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=ACS_BOARD_ASS_ID,
|
||||
mode=Modes.NORMAL,
|
||||
submode=DualSideSubmodes.DUAL_SIDE,
|
||||
q=q,
|
||||
info="Switching to ACS board assembly dual mode",
|
||||
)
|
||||
if op_code in AcsOpCodes.ACS_ASS_A_ON:
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=ACS_BOARD_ASS_ID,
|
||||
mode=Modes.ON,
|
||||
submode=DualSideSubmodes.A_SIDE,
|
||||
q=q,
|
||||
info="Switching ACS board assembly A side on",
|
||||
)
|
||||
if op_code in AcsOpCodes.ACS_ASS_B_ON:
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=ACS_BOARD_ASS_ID,
|
||||
mode=Modes.ON,
|
||||
submode=DualSideSubmodes.B_SIDE,
|
||||
q=q,
|
||||
info="Switching ACS board assembly B side on",
|
||||
)
|
||||
if op_code in AcsOpCodes.ACS_ASS_DUAL_ON:
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=ACS_BOARD_ASS_ID,
|
||||
mode=Modes.ON,
|
||||
submode=DualSideSubmodes.B_SIDE,
|
||||
q=q,
|
||||
info="Switching ACS board assembly dual side on",
|
||||
)
|
||||
if op_code in AcsOpCodes.ACS_ASS_OFF:
|
||||
pack_mode_cmd_with_info(
|
||||
object_id=ACS_BOARD_ASS_ID,
|
||||
mode=Modes.OFF,
|
||||
submode=0,
|
||||
q=q,
|
||||
info="Switching to ACS board assembly off",
|
||||
)
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def add_acs_board_cmds(defs: TmtcDefinitionWrapper):
|
||||
oce = OpCodeEntry()
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_A_SIDE,
|
||||
info="Switch to ACS board A side",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_B_SIDE,
|
||||
info="Switch to ACS board B side",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_DUAL_MODE,
|
||||
info="Switch to ACS board dual mode",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_A_ON,
|
||||
info="Switch ACS board A side on",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_B_ON,
|
||||
info="Switch ACS board B side on",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_DUAL_ON,
|
||||
info="Switch ACS board dual mode on",
|
||||
)
|
||||
oce.add(
|
||||
keys=AcsOpCodes.ACS_ASS_OFF,
|
||||
info="Switch off ACS board",
|
||||
)
|
||||
defs.add_service(
|
||||
name=CustomServiceList.ACS_BRD_ASS.value,
|
||||
info="ACS Board Assemblie",
|
||||
op_code_entry=oce,
|
||||
)
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user