FSFW Gen and Build Scripts Update #71

Merged
meierj merged 7 commits from mueller/fsfwgen-update into develop 2021-08-02 13:11:36 +02:00
61 changed files with 1587 additions and 1437 deletions

14
.gitignore vendored
View File

@ -1,19 +1,15 @@
/build* /build*
Debug # Eclipse
Debug*
Release
Release*
.settings .settings
.metadata .metadata
.project .project
.cproject .cproject
__pycache__
.idea
!misc/eclipse/**/.cproject !misc/eclipse/**/.cproject
!misc/eclipse/**/.project !misc/eclipse/**/.project
# Python
__pycache__
.idea
generators/*.db generators/*.db

View File

@ -14,12 +14,13 @@ cmake_minimum_required(VERSION 3.13)
set(CMAKE_SCRIPT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") set(CMAKE_SCRIPT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
if(TGT_BSP MATCHES "arm/q7s") if(TGT_BSP MATCHES "arm/q7s")
option(BUILD_WATCHDOG "Compile the OBSW watchdog insted" OFF) option(EIVE_BUILD_WATCHDOG "Compile the OBSW watchdog insted" OFF)
option(BUILD_Q7S_SIMPLE_MODE OFF "Simple mode with a minimal main function") option(BUILD_Q7S_SIMPLE_MODE OFF "Simple mode with a minimal main function")
endif() endif()
option(ADD_ETL_LIB "Add ETL library" ON) option(ADD_ETL_LIB "Add ETL library" ON)
option(ADD_JSON_LIB "Add JSON librara" ON) option(ADD_JSON_LIB "Add JSON library" ON)
option(EIVE_SYSROOT_MAGIC "Perform sysroot magic which might not be necessary" OFF)
if(NOT FSFW_OSAL) if(NOT FSFW_OSAL)
set(FSFW_OSAL host CACHE STRING "OS for the FSFW.") set(FSFW_OSAL host CACHE STRING "OS for the FSFW.")
@ -34,7 +35,7 @@ include(${CMAKE_SCRIPT_PATH}/PreProjectConfig.cmake)
pre_project_config() pre_project_config()
set(PROJECT_NAME_TO_SET eive-obsw-$ENV{USERNAME}) set(PROJECT_NAME_TO_SET eive-obsw-$ENV{USERNAME})
if(BUILD_WATCHDOG) if(EIVE_BUILD_WATCHDOG)
set(PROJECT_NAME_TO_SET eive-watchdog) set(PROJECT_NAME_TO_SET eive-watchdog)
endif() endif()
@ -117,7 +118,7 @@ else()
endif() endif()
# Configuration files # Configuration files
if(NOT BUILD_WATCHDOG) if(NOT EIVE_BUILD_WATCHDOG)
configure_file(${COMMON_CONFIG_PATH}/commonConfig.h.in commonConfig.h) configure_file(${COMMON_CONFIG_PATH}/commonConfig.h.in commonConfig.h)
configure_file(${FSFW_CONFIG_PATH}/FSFWConfig.h.in FSFWConfig.h) configure_file(${FSFW_CONFIG_PATH}/FSFWConfig.h.in FSFWConfig.h)
configure_file(${FSFW_CONFIG_PATH}/OBSWConfig.h.in OBSWConfig.h) configure_file(${FSFW_CONFIG_PATH}/OBSWConfig.h.in OBSWConfig.h)
@ -154,7 +155,7 @@ endif()
if(NOT BUILD_WATCHDOG) if(NOT EIVE_BUILD_WATCHDOG)
if(ADD_LINUX_FILES) if(ADD_LINUX_FILES)
add_subdirectory(${LINUX_PATH}) add_subdirectory(${LINUX_PATH})
endif() endif()
@ -165,7 +166,7 @@ if(NOT BUILD_WATCHDOG)
endif() endif()
endif() endif()
if((NOT BUILD_Q7S_SIMPLE_MODE) AND (NOT BUILD_WATCHDOG)) if((NOT BUILD_Q7S_SIMPLE_MODE) AND (NOT EIVE_BUILD_WATCHDOG))
add_subdirectory(${LWGPS_LIB_PATH}) add_subdirectory(${LWGPS_LIB_PATH})
add_subdirectory(${FSFW_PATH}) add_subdirectory(${FSFW_PATH})
add_subdirectory(${MISSION_PATH}) add_subdirectory(${MISSION_PATH})
@ -173,7 +174,7 @@ if((NOT BUILD_Q7S_SIMPLE_MODE) AND (NOT BUILD_WATCHDOG))
add_subdirectory(${ARCSEC_LIB_PATH}) add_subdirectory(${ARCSEC_LIB_PATH})
endif() endif()
if(BUILD_WATCHDOG) if(EIVE_BUILD_WATCHDOG)
add_subdirectory(${WATCHDOG_PATH}) add_subdirectory(${WATCHDOG_PATH})
endif() endif()
@ -183,7 +184,7 @@ endif()
set_property(CACHE FSFW_OSAL PROPERTY STRINGS host linux) set_property(CACHE FSFW_OSAL PROPERTY STRINGS host linux)
if((NOT BUILD_Q7S_SIMPLE_MODE) AND (NOT BUILD_WATCHDOG)) if((NOT BUILD_Q7S_SIMPLE_MODE) AND (NOT EIVE_BUILD_WATCHDOG))
# Add libraries for all sources. # Add libraries for all sources.
target_link_libraries(${TARGET_NAME} PRIVATE target_link_libraries(${TARGET_NAME} PRIVATE
${LIB_FSFW_NAME} ${LIB_FSFW_NAME}
@ -193,7 +194,7 @@ if((NOT BUILD_Q7S_SIMPLE_MODE) AND (NOT BUILD_WATCHDOG))
) )
endif() endif()
if(NOT BUILD_WATCHDOG) if(NOT EIVE_BUILD_WATCHDOG)
if(ADD_CSP_LIB) if(ADD_CSP_LIB)
target_link_libraries(${TARGET_NAME} PRIVATE target_link_libraries(${TARGET_NAME} PRIVATE
${LIB_CSP_NAME} ${LIB_CSP_NAME}
@ -274,7 +275,7 @@ if(NOT CMAKE_SIZE)
endif() endif()
endif() endif()
if(BUILD_WATCHDOG) if(EIVE_BUILD_WATCHDOG)
set(TARGET_STRING "OBSW Watchdog") set(TARGET_STRING "OBSW Watchdog")
else() else()
if(TGT_BSP) if(TGT_BSP)

View File

@ -167,7 +167,7 @@ cmake --build . -j
```sh ```sh
mkdir build-Debug-Q7S && cd build-Debug-Q7S mkdir build-Debug-Q7S && cd build-Debug-Q7S
cmake -DTGT_BSP=arm/q7s -DFSFW_OSAL=linux -DBUILD_WATCHDOG=ON -DCMAKE_BUILD_TYPE=Debug .. cmake -DTGT_BSP=arm/q7s -DFSFW_OSAL=linux -DEIVE_BUILD_WATCHDOG=ON -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . -j cmake --build . -j
``` ```

View File

@ -54,21 +54,23 @@ set(CMAKE_SYSTEM_PROCESSOR "armv7")
set(CMAKE_C_COMPILER ${CROSS_COMPILE_CC}) set(CMAKE_C_COMPILER ${CROSS_COMPILE_CC})
set(CMAKE_CXX_COMPILER ${CROSS_COMPILE_CXX}) set(CMAKE_CXX_COMPILER ${CROSS_COMPILE_CXX})
# List of library dirs where LD has to look. Pass them directly through gcc. if(EIVE_SYSROOT_MAGIC)
set(LIB_DIRS # List of library dirs where LD has to look. Pass them directly through gcc.
"${SYSROOT_PATH}/usr/include" set(LIB_DIRS
"${SYSROOT_PATH}/usr/include/linux" "${SYSROOT_PATH}/usr/include"
"${SYSROOT_PATH}/usr/lib" "${SYSROOT_PATH}/usr/include/linux"
"${SYSROOT_PATH}/lib" "${SYSROOT_PATH}/usr/lib"
"${SYSROOT_PATH}" "${SYSROOT_PATH}/lib"
"${SYSROOT_PATH}/usr/lib/arm-xiphos-linux-gnueabi" "${SYSROOT_PATH}"
) "${SYSROOT_PATH}/usr/lib/arm-xiphos-linux-gnueabi"
# You can additionally check the linker paths if you add the )
# flags ' -Xlinker --verbose' # You can additionally check the linker paths if you add the
set(COMMON_FLAGS "-I${SYSROOT_PATH}/usr/lib") # flags ' -Xlinker --verbose'
foreach(LIB ${LIB_DIRS}) set(COMMON_FLAGS "-I${SYSROOT_PATH}/usr/lib")
set(COMMON_FLAGS "${COMMON_FLAGS} -L${LIB} -Wl,-rpath-link,${LIB}") foreach(LIB ${LIB_DIRS})
endforeach() set(COMMON_FLAGS "${COMMON_FLAGS} -L${LIB} -Wl,-rpath-link,${LIB}")
endforeach()
endif()
set(CMAKE_PREFIX_PATH set(CMAKE_PREFIX_PATH
"${CMAKE_PREFIX_PATH}" "${CMAKE_PREFIX_PATH}"

View File

@ -1,30 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/beagleboneblack"
build_generator=""
builddir="build-Debug-BBB"
defines="LINUX_CROSS_COMPILE=OFF"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${builddir}" -d "${defines}"

View File

@ -1,30 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/beagleboneblack"
build_generator=""
builddir="build-Debug-BBB"
defines="LINUX_CROSS_COMPILE=ON"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${builddir}" -d "${defines}"

View File

@ -1,30 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/beagleboneblack"
build_generator=""
builddir="build-Release-BBB"
defines="LINUX_CROSS_COMPILE=ON"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${builddir}" -d "${defines}"

View File

@ -1,30 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/beagleboneblack"
build_generator=""
builddir="build-Release-BBB"
defines="LINUX_CROSS_COMPILE=ON"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${builddir}" -d "${defines}"

View File

@ -0,0 +1,35 @@
#!/bin/sh
counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f ${cfg_script_name} ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "${cfg_script_name} not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/beagleboneblack"
build_generator=""
builddir="build-Debug-BBB"
defines="LINUX_CROSS_COMPILE=ON"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
echo "Running command (without the leading +):"
set -x # Print command
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${builddir}" -d "${defines}"
# Use this if commands are added which should not be printed
# set +x

View File

@ -0,0 +1,35 @@
#!/bin/sh
counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f ${cfg_script_name} ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "${cfg_script_name} not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/beagleboneblack"
build_generator=""
builddir="build-Release-BBB"
defines="LINUX_CROSS_COMPILE=ON"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
echo "Running command (without the leading +):"
set -x # Print command
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${builddir}" -d "${defines}"
# Use this if commands are added which should not be printed
# set +x

View File

@ -0,0 +1,35 @@
#!/bin/sh
counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f ${cfg_script_name} ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "${cfg_script_name} not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/beagleboneblack"
build_generator=""
builddir="build-Debug-BBB"
defines="LINUX_CROSS_COMPILE=OFF"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
echo "Running command (without the leading +):"
set -x # Print command
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${builddir}" -d "${defines}"
# Use this if commands are added which should not be printed
# set +x

View File

@ -1,27 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "create_cmake_cfg.sh not found in upper directories!"
exit 1
fi
build_generator=""
os_fsfw="host"
build_dir="Release-Host"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "release" -l"${build_dir}"

View File

@ -1,26 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "create_cmake_cfg.sh not found in upper directories!"
exit 1
fi
build_generator=""
os_fsfw="host"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "reldeb"

View File

@ -1,26 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "create_cmake_cfg.sh not found in upper directories!"
exit 1
fi
build_generator=""
os_fsfw="host"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "size"

View File

@ -0,0 +1,32 @@
#!/bin/sh
counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f ${cfg_script_name} ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "${cfg_script_name} not found in upper directories!"
exit 1
fi
build_generator="Unix Makefiles"
os_fsfw="host"
builddir="build-Debug-Host"
if [ "${OS}" = "Windows_NT" ]; then
python="py"
# Could be other OS but this works for now.
else
python="python3"
fi
echo "Running command (without the leading +):"
set -x # Print command
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}"
# Use this if commands are added which should not be printed
# set +x

View File

@ -0,0 +1,32 @@
#!/bin/sh
counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f ${cfg_script_name} ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "${cfg_script_name} not found in upper directories!"
exit 1
fi
build_generator="Unix Makefiles"
os_fsfw="host"
builddir="build-Release-Host"
if [ "${OS}" = "Windows_NT" ]; then
python="py"
# Could be other OS but this works for now.
else
python="python3"
fi
echo "Running command (without the leading +):"
set -x # Print command
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "release" -l "${builddir}"
# Use this if commands are added which should not be printed
# set +x

View File

@ -1,27 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "create_cmake_cfg.sh not found in upper directories!"
exit 1
fi
build_generator=""
build_dir="build-Debug-Host"
os_fsfw="host"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l"${build_dir}"

View File

@ -0,0 +1,32 @@
#!/bin/sh
counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f ${cfg_script_name} ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "${cfg_script_name} not found in upper directories!"
exit 1
fi
build_generator="Ninja"
os_fsfw="host"
builddir="build-Debug-Host"
if [ "${OS}" = "Windows_NT" ]; then
python="py"
# Could be other OS but this works for now.
else
python="python3"
fi
echo "Running command (without the leading +):"
set -x # Print command
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}"
# Use this if commands are added which should not be printed
# set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "create_cmake_cfg.sh not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
build_generator="Unix Makefiles" build_generator="Unix Makefiles"
@ -26,7 +27,6 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}" ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}"
# Use this if commands are added which should not be printed # Use this if commands are added which should not be printed
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "create_cmake_cfg.sh not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
build_generator="Unix Makefiles" build_generator="Unix Makefiles"
@ -26,6 +27,6 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "release" -l "${builddir}" ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "release" -l "${builddir}"
# Use this if commands are added which should not be printed # Use this if commands are added which should not be printed
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "create_cmake_cfg.sh not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
build_generator="Ninja" build_generator="Ninja"
@ -26,7 +27,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}" ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -l "${builddir}"
# Use this if commands are added which should not be printed # Use this if commands are added which should not be printed
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
@ -29,7 +30,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l"${build_dir}" -l"${build_dir}"
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
@ -29,6 +30,6 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l"${build_dir}" -l"${build_dir}"
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
@ -27,7 +28,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${build_dir}" -l "${build_dir}"
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
@ -27,7 +28,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "release" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "release" -t "${tgt_bsp}" \
-l"${build_dir}" -l"${build_dir}"
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
@ -30,6 +31,6 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${build_dir}" -d "${definitions}" -l "${build_dir}" -d "${definitions}"
# set +x # set +x

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
@ -28,7 +29,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l "${build_dir}" -d "${definitions}" -l "${build_dir}" -d "${definitions}"
# set +x # set +x

View File

@ -1,24 +1,25 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
tgt_bsp="arm/q7s" tgt_bsp="arm/q7s"
build_dir="build-Debug-Watchdog" build_dir="build-Debug-Watchdog"
build_generator="" build_generator=""
definitions="BUILD_WATCHDOG=ON" definitions="EIVE_BUILD_WATCHDOG=ON"
if [ "${OS}" = "Windows_NT" ]; then if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles" build_generator="MinGW Makefiles"
python="py" python="py"
@ -30,7 +31,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-d "${definitions}" -l"${build_dir}" -d "${definitions}" -l"${build_dir}"
# set +x # set +x

View File

@ -18,7 +18,7 @@ os_fsfw="linux"
tgt_bsp="arm/q7s" tgt_bsp="arm/q7s"
build_dir="build-Release-Watchdog" build_dir="build-Release-Watchdog"
build_generator="" build_generator=""
definitions="BUILD_WATCHDOG=ON" definitions="EIVE_BUILD_WATCHDOG=ON"
if [ "${OS}" = "Windows_NT" ]; then if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles" build_generator="MinGW Makefiles"
python="py" python="py"

View File

@ -1,24 +1,25 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
tgt_bsp="arm/q7s" tgt_bsp="arm/q7s"
build_dir="build-Debug-Watchdog" build_dir="build-Debug-Watchdog"
build_generator="Ninja" build_generator="Ninja"
definitions="-DBUILD_WATCHDOG=ON" definitions="EIVE_BUILD_WATCHDOG=ON"
if [ "${OS}" = "Windows_NT" ]; then if [ "${OS}" = "Windows_NT" ]; then
python="py" python="py"
# Could be other OS but this works for now. # Could be other OS but this works for now.
@ -28,7 +29,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-d "${definitions}" -l "${build_dir}" -d "${definitions}" -l "${build_dir}"
# set +x # set +x

View File

@ -1,24 +1,25 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
tgt_bsp="arm/q7s" tgt_bsp="arm/q7s"
build_dir="build-Release-Watchdog" build_dir="build-Release-Watchdog"
build_generator="Ninja" build_generator="Ninja"
definitions="BUILD_WATCHDOG=ON" definitions="EIVE_BUILD_WATCHDOG=ON"
if [ "${OS}" = "Windows_NT" ]; then if [ "${OS}" = "Windows_NT" ]; then
python="py" python="py"
# Could be other OS but this works for now. # Could be other OS but this works for now.
@ -28,7 +29,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "release" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "release" -t "${tgt_bsp}" \
-d "${definitions}" -l"${build_dir}" -d "${definitions}" -l"${build_dir}"
# set +x # set +x

View File

@ -1,19 +1,21 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
tgt_bsp="arm/raspberrypi" tgt_bsp="arm/raspberrypi"
build_generator="" build_generator=""
@ -29,7 +31,6 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l"${build_dir}" -l"${build_dir}"
# set +x # set +x

View File

@ -0,0 +1,33 @@
#!/bin/sh
counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f ${cfg_script_name} ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "${cfg_script_name} not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/raspberrypi"
build_generator=""
build_dir="build-Release-RPi"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
echo "Running command (without the leading +):"
set -x # Print command
${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "release" -t "${tgt_bsp}" \
-l"${build_dir}"
# set +x

View File

@ -1,29 +0,0 @@
#!/bin/sh
counter=0
while [ ${counter} -lt 5 ]
do
cd ..
if [ -f "cmake_build_config.py" ];then
break
fi
counter=$((counter=counter + 1))
done
if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!"
exit 1
fi
os_fsfw="linux"
tgt_bsp="arm/raspberrypi"
build_generator=""
build_dir="build-Release-RPi"
if [ "${OS}" = "Windows_NT" ]; then
build_generator="MinGW Makefiles"
# Could be other OS but this works for now.
else
build_generator="Unix Makefiles"
fi
python3 cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "release" -t "${tgt_bsp}" \
-l"${build_dir}"

View File

@ -1,17 +1,18 @@
#!/bin/sh #!/bin/sh
counter=0 counter=0
cfg_script_name="cmake-build-cfg.py"
while [ ${counter} -lt 5 ] while [ ${counter} -lt 5 ]
do do
cd .. cd ..
if [ -f "cmake_build_config.py" ];then if [ -f ${cfg_script_name} ];then
break break
fi fi
counter=$((counter=counter + 1)) counter=$((counter=counter + 1))
done done
if [ "${counter}" -ge 5 ];then if [ "${counter}" -ge 5 ];then
echo "cmake_build_config.py not found in upper directories!" echo "${cfg_script_name} not found in upper directories!"
exit 1 exit 1
fi fi
os_fsfw="linux" os_fsfw="linux"
@ -27,7 +28,7 @@ fi
echo "Running command (without the leading +):" echo "Running command (without the leading +):"
set -x # Print command set -x # Print command
${python} cmake_build_config.py -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \ ${python} ${cfg_script_name} -o "${os_fsfw}" -g "${build_generator}" -b "debug" -t "${tgt_bsp}" \
-l"${build_dir}" -l"${build_dir}"
# set +x # set +x

View File

@ -13,12 +13,12 @@ enum commonClassIds: uint8_t {
HEATER_HANDLER, //HEATER HEATER_HANDLER, //HEATER
SYRLINKS_HANDLER, //SYRLINKS SYRLINKS_HANDLER, //SYRLINKS
IMTQ_HANDLER, //IMTQ IMTQ_HANDLER, //IMTQ
RW_HANDLER, //Reaction Wheels RW_HANDLER, //RWHA
STR_HANDLER, //Star tracker STR_HANDLER, //STRH
PLOC_MPSOC_HANDLER, //PLOC MPSoC PLOC_MPSOC_HANDLER, //PLMP
PLOC_SUPERVISOR_HANDLER, //PLOC Supervisor PLOC_SUPERVISOR_HANDLER, //PLSV
SUS_HANDLER, //SUSS SUS_HANDLER, //SUSS
CCSDS_IP_CORE_BRIDGE, // IP Core interface CCSDS_IP_CORE_BRIDGE, //IPCI
COMMON_CLASS_ID_END // [EXPORT] : [END] COMMON_CLASS_ID_END // [EXPORT] : [END]
}; };

2
fsfw

@ -1 +1 @@
Subproject commit 54c028f913e81077855aa1ed727bac43e7efea82 Subproject commit 0ff81294e7e209bb4a26171b10d80fe522e65bcf

View File

@ -0,0 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="events" type="PythonConfigurationType" factoryName="Python">
<module name="generators" />
<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$/fsfwgen.py" />
<option name="PARAMETERS" value="events" />
<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>

View File

@ -0,0 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="objects" type="PythonConfigurationType" factoryName="Python">
<module name="generators" />
<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$/fsfwgen.py" />
<option name="PARAMETERS" value="objects" />
<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>

View File

@ -0,0 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="returnvalues" type="PythonConfigurationType" factoryName="Python">
<module name="generators" />
<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$/fsfwgen.py" />
<option name="PARAMETERS" value="returnvalues" />
<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>

View File

@ -1,96 +1,96 @@
2200;STORE_SEND_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2200;STORE_SEND_WRITE_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2201;STORE_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2201;STORE_WRITE_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2202;STORE_SEND_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2202;STORE_SEND_READ_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2203;STORE_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2203;STORE_READ_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2204;UNEXPECTED_MSG;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2204;UNEXPECTED_MSG;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2205;STORING_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2205;STORING_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2206;TM_DUMP_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2206;TM_DUMP_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2207;STORE_INIT_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2207;STORE_INIT_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2208;STORE_INIT_EMPTY;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2208;STORE_INIT_EMPTY;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2209;STORE_CONTENT_CORRUPTED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2209;STORE_CONTENT_CORRUPTED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2210;STORE_INITIALIZE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2210;STORE_INITIALIZE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2211;INIT_DONE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2211;INIT_DONE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2212;DUMP_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2212;DUMP_FINISHED;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2213;DELETION_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2213;DELETION_FINISHED;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2214;DELETION_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2214;DELETION_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2215;AUTO_CATALOGS_SENDING_FAILED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h 2215;AUTO_CATALOGS_SENDING_FAILED;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2600;GET_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h 2600;GET_DATA_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h
2601;STORE_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h 2601;STORE_DATA_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h
2800;DEVICE_BUILDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2800;DEVICE_BUILDING_COMMAND_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2801;DEVICE_SENDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2801;DEVICE_SENDING_COMMAND_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2802;DEVICE_REQUESTING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2802;DEVICE_REQUESTING_REPLY_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2803;DEVICE_READING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2803;DEVICE_READING_REPLY_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2804;DEVICE_INTERPRETING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2804;DEVICE_INTERPRETING_REPLY_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2805;DEVICE_MISSED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2805;DEVICE_MISSED_REPLY;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2806;DEVICE_UNKNOWN_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2806;DEVICE_UNKNOWN_REPLY;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2807;DEVICE_UNREQUESTED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2807;DEVICE_UNREQUESTED_REPLY;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2808;INVALID_DEVICE_COMMAND;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2808;INVALID_DEVICE_COMMAND;LOW;Indicates a SW bug in child class.;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2809;MONITORING_LIMIT_EXCEEDED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2809;MONITORING_LIMIT_EXCEEDED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
2810;MONITORING_AMBIGUOUS;HIGH; ;../../fsfw/devicehandlers/DeviceHandlerIF.h 2810;MONITORING_AMBIGUOUS;HIGH;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
4201;FUSE_CURRENT_HIGH;LOW; ;../../fsfw/power/Fuse.h 4201;FUSE_CURRENT_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
4202;FUSE_WENT_OFF;LOW; ;../../fsfw/power/Fuse.h 4202;FUSE_WENT_OFF;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
4204;POWER_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/power/Fuse.h 4204;POWER_ABOVE_HIGH_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
4205;POWER_BELOW_LOW_LIMIT;LOW; ;../../fsfw/power/Fuse.h 4205;POWER_BELOW_LOW_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
4300;SWITCH_WENT_OFF;LOW; ;../../fsfw/power/PowerSwitchIF.h 4300;SWITCH_WENT_OFF;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h
5000;HEATER_ON;INFO; ;../../fsfw/thermal/Heater.h 5000;HEATER_ON;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
5001;HEATER_OFF;INFO; ;../../fsfw/thermal/Heater.h 5001;HEATER_OFF;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
5002;HEATER_TIMEOUT;LOW; ;../../fsfw/thermal/Heater.h 5002;HEATER_TIMEOUT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
5003;HEATER_STAYED_ON;LOW; ;../../fsfw/thermal/Heater.h 5003;HEATER_STAYED_ON;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
5004;HEATER_STAYED_OFF;LOW; ;../../fsfw/thermal/Heater.h 5004;HEATER_STAYED_OFF;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
5200;TEMP_SENSOR_HIGH;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h 5200;TEMP_SENSOR_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h
5201;TEMP_SENSOR_LOW;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h 5201;TEMP_SENSOR_LOW;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h
5202;TEMP_SENSOR_GRADIENT;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h 5202;TEMP_SENSOR_GRADIENT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h
5901;COMPONENT_TEMP_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h 5901;COMPONENT_TEMP_LOW;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
5902;COMPONENT_TEMP_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h 5902;COMPONENT_TEMP_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
5903;COMPONENT_TEMP_OOL_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h 5903;COMPONENT_TEMP_OOL_LOW;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
5904;COMPONENT_TEMP_OOL_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h 5904;COMPONENT_TEMP_OOL_HIGH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
5905;TEMP_NOT_IN_OP_RANGE;LOW; ;../../fsfw/thermal/ThermalComponentIF.h 5905;TEMP_NOT_IN_OP_RANGE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
7101;FDIR_CHANGED_STATE;INFO; ;../../fsfw/fdir/FailureIsolationBase.h 7101;FDIR_CHANGED_STATE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h
7102;FDIR_STARTS_RECOVERY;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h 7102;FDIR_STARTS_RECOVERY;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h
7103;FDIR_TURNS_OFF_DEVICE;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h 7103;FDIR_TURNS_OFF_DEVICE;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h
7201;MONITOR_CHANGED_STATE;LOW; ;../../fsfw/monitoring/MonitoringIF.h 7201;MONITOR_CHANGED_STATE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
7202;VALUE_BELOW_LOW_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h 7202;VALUE_BELOW_LOW_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
7203;VALUE_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h 7203;VALUE_ABOVE_HIGH_LIMIT;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
7204;VALUE_OUT_OF_RANGE;LOW; ;../../fsfw/monitoring/MonitoringIF.h 7204;VALUE_OUT_OF_RANGE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
7301;SWITCHING_TM_FAILED;LOW; ;../../fsfw/datapool/HkSwitchHelper.h 7301;SWITCHING_TM_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/HkSwitchHelper.h
7400;CHANGING_MODE;INFO; ;../../fsfw/modes/HasModesIF.h 7400;CHANGING_MODE;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7401;MODE_INFO;INFO; ;../../fsfw/modes/HasModesIF.h 7401;MODE_INFO;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7402;FALLBACK_FAILED;HIGH; ;../../fsfw/modes/HasModesIF.h 7402;FALLBACK_FAILED;HIGH;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7403;MODE_TRANSITION_FAILED;LOW; ;../../fsfw/modes/HasModesIF.h 7403;MODE_TRANSITION_FAILED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7404;CANT_KEEP_MODE;HIGH; ;../../fsfw/modes/HasModesIF.h 7404;CANT_KEEP_MODE;HIGH;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7405;OBJECT_IN_INVALID_MODE;LOW; ;../../fsfw/modes/HasModesIF.h 7405;OBJECT_IN_INVALID_MODE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7406;FORCING_MODE;MEDIUM; ;../../fsfw/modes/HasModesIF.h 7406;FORCING_MODE;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7407;MODE_CMD_REJECTED;LOW; ;../../fsfw/modes/HasModesIF.h 7407;MODE_CMD_REJECTED;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
7506;HEALTH_INFO;INFO; ;../../fsfw/health/HasHealthIF.h 7506;HEALTH_INFO;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
7507;CHILD_CHANGED_HEALTH;INFO; ;../../fsfw/health/HasHealthIF.h 7507;CHILD_CHANGED_HEALTH;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
7508;CHILD_PROBLEMS;LOW; ;../../fsfw/health/HasHealthIF.h 7508;CHILD_PROBLEMS;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
7509;OVERWRITING_HEALTH;LOW; ;../../fsfw/health/HasHealthIF.h 7509;OVERWRITING_HEALTH;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
7510;TRYING_RECOVERY;MEDIUM; ;../../fsfw/health/HasHealthIF.h 7510;TRYING_RECOVERY;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
7511;RECOVERY_STEP;MEDIUM; ;../../fsfw/health/HasHealthIF.h 7511;RECOVERY_STEP;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
7512;RECOVERY_DONE;MEDIUM; ;../../fsfw/health/HasHealthIF.h 7512;RECOVERY_DONE;MEDIUM;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
7900;RF_AVAILABLE;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h 7900;RF_AVAILABLE;INFO;A RF available signal was detected. P1: raw RFA state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
7901;RF_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h 7901;RF_LOST;INFO;A previously found RF available signal was lost. P1: raw RFA state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
7902;BIT_LOCK;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h 7902;BIT_LOCK;INFO;A Bit Lock signal. Was detected. P1: raw BLO state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
7903;BIT_LOCK_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h 7903;BIT_LOCK_LOST;INFO;A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
7905;FRAME_PROCESSING_FAILED;LOW; ;../../fsfw/datalinklayer/DataLinkLayer.h 7905;FRAME_PROCESSING_FAILED;LOW;The CCSDS Board could not interpret a TC;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
8900;CLOCK_SET;INFO; ;../../fsfw/pus/Service9TimeManagement.h 8900;CLOCK_SET;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service9TimeManagement.h
8901;CLOCK_SET_FAILURE;LOW; ;../../fsfw/pus/Service9TimeManagement.h 8901;CLOCK_SET_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service9TimeManagement.h
9700;TEST;INFO; ;../../fsfw/pus/Service17Test.h 9700;TEST;INFO;;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service17Test.h
10600;CHANGE_OF_SETUP_PARAMETER;LOW; ;../../mission/devices/MGMHandlerLIS3MDL.h 10600;CHANGE_OF_SETUP_PARAMETER;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/MGMHandlerLIS3MDL.h
11101;MEMORY_READ_RPT_CRC_FAILURE;LOW; ;../../mission/devices/PlocMPSoCHandler.h 11101;MEMORY_READ_RPT_CRC_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
11102;ACK_FAILURE;LOW; ;../../mission/devices/PlocMPSoCHandler.h 11102;ACK_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
11103;EXE_FAILURE;LOW; ;../../mission/devices/PlocMPSoCHandler.h 11103;EXE_FAILURE;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
11104;CRC_FAILURE_EVENT;LOW; ;../../mission/devices/PlocMPSoCHandler.h 11104;CRC_FAILURE_EVENT;LOW;;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
11201;SELF_TEST_I2C_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h 11201;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;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11202;SELF_TEST_SPI_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h 11202;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;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11203;SELF_TEST_ADC_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h 11203;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;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11204;SELF_TEST_PWM_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h 11204;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;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11205;SELF_TEST_TC_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h 11205;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;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11206;SELF_TEST_MTM_RANGE_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h 11206;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;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11207;SELF_TEST_COIL_CURRENT_FAILURE;LOW; ;../../mission/devices/IMTQHandler.h 11207;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;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11208;INVALID_ERROR_BYTE;LOW; ;../../mission/devices/IMTQHandler.h 11208;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
11301;ERROR_STATE;HIGH; ;../../mission/devices/RwHandler.h 11301;ERROR_STATE;HIGH;Reaction wheel signals an error state;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h
11501;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW; ;../../mission/devices/PlocSupervisorHandler.h 11501;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervrisor crc failure in telemetry packet;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h
11502;SUPV_ACK_FAILURE;LOW; ;../../mission/devices/PlocSupervisorHandler.h 11502;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h
11503;SUPV_EXE_FAILURE;LOW; ;../../mission/devices/PlocSupervisorHandler.h 11503;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h
11504;SUPV_CRC_FAILURE_EVENT;LOW; ;../../mission/devices/PlocSupervisorHandler.h 11504;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h

1 2200 STORE_SEND_WRITE_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
2 2201 STORE_WRITE_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
3 2202 STORE_SEND_READ_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
4 2203 STORE_READ_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
5 2204 UNEXPECTED_MSG LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
6 2205 STORING_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
7 2206 TM_DUMP_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
8 2207 STORE_INIT_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
9 2208 STORE_INIT_EMPTY INFO ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
10 2209 STORE_CONTENT_CORRUPTED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
11 2210 STORE_INITIALIZE INFO ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
12 2211 INIT_DONE INFO ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
13 2212 DUMP_FINISHED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
14 2213 DELETION_FINISHED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
15 2214 DELETION_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
16 2215 AUTO_CATALOGS_SENDING_FAILED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
17 2600 GET_DATA_FAILED LOW ../../fsfw/storagemanager/StorageManagerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h
18 2601 STORE_DATA_FAILED LOW ../../fsfw/storagemanager/StorageManagerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h
19 2800 DEVICE_BUILDING_COMMAND_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
20 2801 DEVICE_SENDING_COMMAND_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
21 2802 DEVICE_REQUESTING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
22 2803 DEVICE_READING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
23 2804 DEVICE_INTERPRETING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
24 2805 DEVICE_MISSED_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
25 2806 DEVICE_UNKNOWN_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
26 2807 DEVICE_UNREQUESTED_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
27 2808 INVALID_DEVICE_COMMAND LOW Indicates a SW bug in child class. ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
28 2809 MONITORING_LIMIT_EXCEEDED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
29 2810 MONITORING_AMBIGUOUS HIGH ../../fsfw/devicehandlers/DeviceHandlerIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
30 4201 FUSE_CURRENT_HIGH LOW ../../fsfw/power/Fuse.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
31 4202 FUSE_WENT_OFF LOW ../../fsfw/power/Fuse.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
32 4204 POWER_ABOVE_HIGH_LIMIT LOW ../../fsfw/power/Fuse.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
33 4205 POWER_BELOW_LOW_LIMIT LOW ../../fsfw/power/Fuse.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/Fuse.h
34 4300 SWITCH_WENT_OFF LOW ../../fsfw/power/PowerSwitchIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h
35 5000 HEATER_ON INFO ../../fsfw/thermal/Heater.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
36 5001 HEATER_OFF INFO ../../fsfw/thermal/Heater.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
37 5002 HEATER_TIMEOUT LOW ../../fsfw/thermal/Heater.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
38 5003 HEATER_STAYED_ON LOW ../../fsfw/thermal/Heater.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
39 5004 HEATER_STAYED_OFF LOW ../../fsfw/thermal/Heater.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/Heater.h
40 5200 TEMP_SENSOR_HIGH LOW ../../fsfw/thermal/AbstractTemperatureSensor.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h
41 5201 TEMP_SENSOR_LOW LOW ../../fsfw/thermal/AbstractTemperatureSensor.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h
42 5202 TEMP_SENSOR_GRADIENT LOW ../../fsfw/thermal/AbstractTemperatureSensor.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/AbstractTemperatureSensor.h
43 5901 COMPONENT_TEMP_LOW LOW ../../fsfw/thermal/ThermalComponentIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
44 5902 COMPONENT_TEMP_HIGH LOW ../../fsfw/thermal/ThermalComponentIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
45 5903 COMPONENT_TEMP_OOL_LOW LOW ../../fsfw/thermal/ThermalComponentIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
46 5904 COMPONENT_TEMP_OOL_HIGH LOW ../../fsfw/thermal/ThermalComponentIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
47 5905 TEMP_NOT_IN_OP_RANGE LOW ../../fsfw/thermal/ThermalComponentIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h
48 7101 FDIR_CHANGED_STATE INFO ../../fsfw/fdir/FailureIsolationBase.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h
49 7102 FDIR_STARTS_RECOVERY MEDIUM ../../fsfw/fdir/FailureIsolationBase.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h
50 7103 FDIR_TURNS_OFF_DEVICE MEDIUM ../../fsfw/fdir/FailureIsolationBase.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/FailureIsolationBase.h
51 7201 MONITOR_CHANGED_STATE LOW ../../fsfw/monitoring/MonitoringIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
52 7202 VALUE_BELOW_LOW_LIMIT LOW ../../fsfw/monitoring/MonitoringIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
53 7203 VALUE_ABOVE_HIGH_LIMIT LOW ../../fsfw/monitoring/MonitoringIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
54 7204 VALUE_OUT_OF_RANGE LOW ../../fsfw/monitoring/MonitoringIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h
55 7301 SWITCHING_TM_FAILED LOW ../../fsfw/datapool/HkSwitchHelper.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/HkSwitchHelper.h
56 7400 CHANGING_MODE INFO ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
57 7401 MODE_INFO INFO ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
58 7402 FALLBACK_FAILED HIGH ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
59 7403 MODE_TRANSITION_FAILED LOW ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
60 7404 CANT_KEEP_MODE HIGH ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
61 7405 OBJECT_IN_INVALID_MODE LOW ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
62 7406 FORCING_MODE MEDIUM ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
63 7407 MODE_CMD_REJECTED LOW ../../fsfw/modes/HasModesIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h
64 7506 HEALTH_INFO INFO ../../fsfw/health/HasHealthIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
65 7507 CHILD_CHANGED_HEALTH INFO ../../fsfw/health/HasHealthIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
66 7508 CHILD_PROBLEMS LOW ../../fsfw/health/HasHealthIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
67 7509 OVERWRITING_HEALTH LOW ../../fsfw/health/HasHealthIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
68 7510 TRYING_RECOVERY MEDIUM ../../fsfw/health/HasHealthIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
69 7511 RECOVERY_STEP MEDIUM ../../fsfw/health/HasHealthIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
70 7512 RECOVERY_DONE MEDIUM ../../fsfw/health/HasHealthIF.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h
71 7900 RF_AVAILABLE INFO A RF available signal was detected. P1: raw RFA state, P2: 0 ../../fsfw/datalinklayer/DataLinkLayer.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
72 7901 RF_LOST INFO A previously found RF available signal was lost. P1: raw RFA state, P2: 0 ../../fsfw/datalinklayer/DataLinkLayer.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
73 7902 BIT_LOCK INFO A Bit Lock signal. Was detected. P1: raw BLO state, P2: 0 ../../fsfw/datalinklayer/DataLinkLayer.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
74 7903 BIT_LOCK_LOST INFO A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0 ../../fsfw/datalinklayer/DataLinkLayer.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
75 7905 FRAME_PROCESSING_FAILED LOW The CCSDS Board could not interpret a TC ../../fsfw/datalinklayer/DataLinkLayer.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
76 8900 CLOCK_SET INFO ../../fsfw/pus/Service9TimeManagement.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service9TimeManagement.h
77 8901 CLOCK_SET_FAILURE LOW ../../fsfw/pus/Service9TimeManagement.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service9TimeManagement.h
78 9700 TEST INFO ../../fsfw/pus/Service17Test.h /home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/pus/Service17Test.h
79 10600 CHANGE_OF_SETUP_PARAMETER LOW ../../mission/devices/MGMHandlerLIS3MDL.h /home/rmueller/EIVE/eive-obsw/mission/devices/MGMHandlerLIS3MDL.h
80 11101 MEMORY_READ_RPT_CRC_FAILURE LOW ../../mission/devices/PlocMPSoCHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
81 11102 ACK_FAILURE LOW ../../mission/devices/PlocMPSoCHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
82 11103 EXE_FAILURE LOW ../../mission/devices/PlocMPSoCHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
83 11104 CRC_FAILURE_EVENT LOW ../../mission/devices/PlocMPSoCHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h
84 11201 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 /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
85 11202 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 /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
86 11203 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 /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
87 11204 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 /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
88 11205 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 /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
89 11206 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 /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
90 11207 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 /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
91 11208 INVALID_ERROR_BYTE LOW Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC. ../../mission/devices/IMTQHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h
92 11301 ERROR_STATE HIGH Reaction wheel signals an error state ../../mission/devices/RwHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h
93 11501 SUPV_MEMORY_READ_RPT_CRC_FAILURE LOW PLOC supervrisor crc failure in telemetry packet ../../mission/devices/PlocSupervisorHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h
94 11502 SUPV_ACK_FAILURE LOW PLOC supervisor received acknowledgment failure report ../../mission/devices/PlocSupervisorHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h
95 11503 SUPV_EXE_FAILURE LOW PLOC received execution failure report ../../mission/devices/PlocSupervisorHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h
96 11504 SUPV_CRC_FAILURE_EVENT LOW PLOC supervisor reply has invalid crc ../../mission/devices/PlocSupervisorHandler.h /home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h

View File

@ -68,8 +68,9 @@
0x49050001;CSP_COM_IF 0x49050001;CSP_COM_IF
0x50000100;CCSDS_PACKET_DISTRIBUTOR 0x50000100;CCSDS_PACKET_DISTRIBUTOR
0x50000200;PUS_PACKET_DISTRIBUTOR 0x50000200;PUS_PACKET_DISTRIBUTOR
0x50000300;UDP_BRIDGE 0x50000300;TMTC_BRIDGE
0x50000400;UDP_POLLING_TASK 0x50000400;TMTC_POLLING_TASK
0x50000500;FILE_SYSTEM_HANDLER
0x51000500;PUS_SERVICE_6 0x51000500;PUS_SERVICE_6
0x53000000;FSFW_OBJECTS_START 0x53000000;FSFW_OBJECTS_START
0x53000001;PUS_SERVICE_1_VERIFICATION 0x53000001;PUS_SERVICE_1_VERIFICATION

1 0x00005060 P60DOCK_TEST_TASK
68 0x49050001 CSP_COM_IF
69 0x50000100 CCSDS_PACKET_DISTRIBUTOR
70 0x50000200 PUS_PACKET_DISTRIBUTOR
71 0x50000300 UDP_BRIDGE TMTC_BRIDGE
72 0x50000400 UDP_POLLING_TASK TMTC_POLLING_TASK
73 0x50000500 FILE_SYSTEM_HANDLER
74 0x51000500 PUS_SERVICE_6
75 0x53000000 FSFW_OBJECTS_START
76 0x53000001 PUS_SERVICE_1_VERIFICATION

View File

@ -1,407 +1,451 @@
0x0;OK;System-wide code for ok.;RETURN_OK;HasReturnvaluesIF.h;HasReturnvaluesIF 0x0;OK;System-wide code for ok.;RETURN_OK;HasReturnvaluesIF.h;HasReturnvaluesIF
0x1;Failed;Unspecified system-wide code for failed.;RETURN_FAILED;HasReturnvaluesIF.h;HasReturnvaluesIF 0x1;Failed;Unspecified system-wide code for failed.;RETURN_FAILED;HasReturnvaluesIF.h;HasReturnvaluesIF
0xe0;_PacketTooLong;;0xE0;../../mission/devices/GomspaceDeviceHandler.h; 0x5d00;GOMS_PacketTooLong;;0;/home/rmueller/EIVE/eive-obsw/mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0xe1;_InvalidTableId;;0xE1;../../mission/devices/GomspaceDeviceHandler.h; 0x5d01;GOMS_InvalidTableId;;1;/home/rmueller/EIVE/eive-obsw/mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0xe2;_InvalidAddress;;0xE2;../../mission/devices/GomspaceDeviceHandler.h; 0x5d02;GOMS_InvalidAddress;;2;/home/rmueller/EIVE/eive-obsw/mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0xe3;_InvalidParamSize;;0xE3;../../mission/devices/GomspaceDeviceHandler.h; 0x5d03;GOMS_InvalidParamSize;;3;/home/rmueller/EIVE/eive-obsw/mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0xe4;_InvalidPayloadSize;;0xE4;../../mission/devices/GomspaceDeviceHandler.h; 0x5d04;GOMS_InvalidPayloadSize;;4;/home/rmueller/EIVE/eive-obsw/mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0xe5;_UnknownReplyId;;0xE5;../../mission/devices/GomspaceDeviceHandler.h; 0x5d05;GOMS_UnknownReplyId;;5;/home/rmueller/EIVE/eive-obsw/mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x4da0;PLOC_CrcFailure;;0xA0;../../mission/devices/PlocHandler.h;PLOC_HANDLER 0x54a0;PLSV_CrcFailure;Space Packet received from PLOC supervisor has invalid CRC;0xA0;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h;PLOC_SUPERVISOR_HANDLER
0x4da1;PLOC_ReceivedAckFailure;;0xA1;../../mission/devices/PlocHandler.h;PLOC_HANDLER 0x54a1;PLSV_ReceivedAckFailure;Received ACK failure reply from PLOC supervisor;0xA1;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h;PLOC_SUPERVISOR_HANDLER
0x4da2;PLOC_ReceivedExeFailure;;0xA2;../../mission/devices/PlocHandler.h;PLOC_HANDLER 0x54a2;PLSV_ReceivedExeFailure;Received execution failure reply from PLOC supervisor;0xA2;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h;PLOC_SUPERVISOR_HANDLER
0x4da3;PLOC_InvalidApid;;0xA3;../../mission/devices/PlocHandler.h;PLOC_HANDLER 0x54a3;PLSV_InvalidApid;Received space packet with invalid APID from PLOC supervisor;0xA3;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h;PLOC_SUPERVISOR_HANDLER
0x4ca0;IMTQ_InvalidCommandCode;;0xA0;../../mission/devices/IMTQHandler.h;IMTQ_HANDLER 0x54a4;PLSV_GetTimeFailure;Failed to read current system time;0xA4;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h;PLOC_SUPERVISOR_HANDLER
0x4ca1;IMTQ_ParameterMissing;;0xA1;../../mission/devices/IMTQHandler.h;IMTQ_HANDLER 0x54a5;PLSV_InvalidUartComIf;Invalid communication interface specified;0xA5;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocSupervisorHandler.h;PLOC_SUPERVISOR_HANDLER
0x4ca2;IMTQ_ParameterInvalid;;0xA2;../../mission/devices/IMTQHandler.h;IMTQ_HANDLER 0x51b0;RWHA_SpiWriteFailure;;0xB0;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ca3;IMTQ_CcUnavailable;;0xA3;../../mission/devices/IMTQHandler.h;IMTQ_HANDLER 0x51b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;0xB1;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ca4;IMTQ_InternalProcessingError;;0xA4;../../mission/devices/IMTQHandler.h;IMTQ_HANDLER 0x51b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;0xB2;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ca5;IMTQ_RejectedWithoutReason;;0xA5;../../mission/devices/IMTQHandler.h;IMTQ_HANDLER 0x51b3;RWHA_InvalidSubstitute;Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination;0xB3;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ca6;IMTQ_CmdErrUnknown;;0xA6;../../mission/devices/IMTQHandler.h;IMTQ_HANDLER 0x51b4;RWHA_MissingEndSign;HDLC decoding mechanism never receives the end sign 0x7E;0xB4;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ba0;SYRLINKS_CrcFailure;;0xA0;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x51b5;RWHA_NoReply;Reaction wheel only responds with empty frames.;0xB5;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ba1;SYRLINKS_UartFraminOrParityErrorAck;;0xA1;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x51a0;RWHA_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000; 1000] or [1000; 65000];0xA0;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ba2;SYRLINKS_BadCharacterAck;;0xA2;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x51a1;RWHA_InvalidRampTime;Action Message with invalid ramp time was received.;0xA1;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ba3;SYRLINKS_BadParameterValueAck;;0xA3;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x51a2;RWHA_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;0xA2;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ba4;SYRLINKS_BadEndOfFrameAck;;0xA4;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x51a3;RWHA_ExecutionFailed;Command execution failed;0xA3;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ba5;SYRLINKS_UnknownCommandIdAck;;0xA5;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x51a4;RWHA_CrcError;Reaction wheel reply has invalid crc;0xA4;/home/rmueller/EIVE/eive-obsw/mission/devices/RwHandler.h;RW_HANDLER
0x4ba6;SYRLINKS_BadCrcAck;;0xA6;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x52b0;STRH_CrcFailure;Received reply with invalid CRC;0xB0;/home/rmueller/EIVE/eive-obsw/mission/devices/StarTrackerHandler.h;STR_HANDLER
0x4ba7;SYRLINKS_ReplyWrongSize;;0xA7;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x52a0;STRH_TmReplyError;Result code of tm reply indicates an error;0xA0;/home/rmueller/EIVE/eive-obsw/mission/devices/StarTrackerHandler.h;STR_HANDLER
0x4ba8;SYRLINKS_MissingStartFrameCharacter;;0xA8;../../mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER 0x50a0;IMTQ_InvalidCommandCode;;0xA0;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2b01;CCS_BcIsSetVrCommand;;0x01;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x50a1;IMTQ_ParameterMissing;;0xA1;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2b02;CCS_BcIsUnlockCommand;;0x02;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x50a2;IMTQ_ParameterInvalid;;0xA2;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2bb0;CCS_BcIllegalCommand;;0xB0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x50a3;IMTQ_CcUnavailable;;0xA3;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2bb1;CCS_BoardReadingNotFinished;;0xB1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x50a4;IMTQ_InternalProcessingError;;0xA4;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2bf0;CCS_NsPositiveW;;0xF0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x50a5;IMTQ_RejectedWithoutReason;;0xA5;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2bf1;CCS_NsNegativeW;;0xF1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x50a6;IMTQ_CmdErrUnknown;;0xA6;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2bf2;CCS_NsLockout;;0xF2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x50a7;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.;0xA7;/home/rmueller/EIVE/eive-obsw/mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x2bf3;CCS_FarmInLockout;;0xF3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa0;SYRLINKS_CrcFailure;;0xA0;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2bf4;CCS_FarmInWait;;0xF4;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa1;SYRLINKS_UartFraminOrParityErrorAck;;0xA1;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be0;CCS_WrongSymbol;;0xE0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa2;SYRLINKS_BadCharacterAck;;0xA2;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be1;CCS_DoubleStart;;0xE1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa3;SYRLINKS_BadParameterValueAck;;0xA3;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be2;CCS_StartSymbolMissed;;0xE2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa4;SYRLINKS_BadEndOfFrameAck;;0xA4;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be3;CCS_EndWithoutStart;;0xE3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa5;SYRLINKS_UnknownCommandIdAck;;0xA5;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be4;CCS_TooLarge;;0xE4;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa6;SYRLINKS_BadCrcAck;;0xA6;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be5;CCS_TooShort;;0xE5;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa7;SYRLINKS_ReplyWrongSize;;0xA7;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be6;CCS_WrongTfVersion;;0xE6;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4fa8;SYRLINKS_MissingStartFrameCharacter;;0xA8;/home/rmueller/EIVE/eive-obsw/mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x2be7;CCS_WrongSpacecraftId;;0xE7;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x53a0;PLMP_CrcFailure;;0xA0;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h;PLOC_MPSOC_HANDLER
0x2be8;CCS_NoValidFrameType;;0xE8;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x53a1;PLMP_ReceivedAckFailure;;0xA1;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h;PLOC_MPSOC_HANDLER
0x2be9;CCS_CrcFailed;;0xE9;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x53a2;PLMP_ReceivedExeFailure;;0xA2;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h;PLOC_MPSOC_HANDLER
0x2bea;CCS_VcNotFound;;0xEA;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x53a3;PLMP_InvalidApid;;0xA3;/home/rmueller/EIVE/eive-obsw/mission/devices/PlocMPSoCHandler.h;PLOC_MPSOC_HANDLER
0x2beb;CCS_ForwardingFailed;;0xEB;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4100;HSPI_HalTimeoutRetval;;0;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/stm32h7/spi/spiDefinitions.h;HAL_SPI
0x2bec;CCS_ContentTooLarge;;0xEC;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4101;HSPI_HalBusyRetval;;1;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/stm32h7/spi/spiDefinitions.h;HAL_SPI
0x2bed;CCS_ResidualData;;0xED;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4102;HSPI_HalErrorRetval;;2;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/stm32h7/spi/spiDefinitions.h;HAL_SPI
0x2bee;CCS_DataCorrupted;;0xEE;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4201;HURT_UartReadFailure;;1;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/linux/uart/UartComIF.h;HAL_UART
0x2bef;CCS_IllegalSegmentationFlag;;0xEF;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4202;HURT_UartReadSizeMissmatch;;2;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/linux/uart/UartComIF.h;HAL_UART
0x2bd0;CCS_IllegalFlagCombination;;0xD0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4203;HURT_UartRxBufferTooSmall;;3;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/linux/uart/UartComIF.h;HAL_UART
0x2bd1;CCS_ShorterThanHeader;;0xD1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4401;HGIO_UnknownGpioId;;1;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x2bd2;CCS_TooShortBlockedPacket;;0xD2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4402;HGIO_DriveGpioFailure;;2;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x2bd3;CCS_TooShortMapExtraction;;0xD3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF 0x4403;HGIO_GpioTypeFailure;;3;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x2901;IEC_NoConfigurationTable;;0x01;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x4404;HGIO_GpioInvalidInstance;;4;/home/rmueller/EIVE/eive-obsw/fsfw/hal/src/fsfw/hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x2902;IEC_NoCpuTable;;0x02;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2b01;CCS_BcIsSetVrCommand;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2903;IEC_InvalidWorkspaceAddress;;0x03;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2b02;CCS_BcIsUnlockCommand;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2904;IEC_TooLittleWorkspace;;0x04;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bb0;CCS_BcIllegalCommand;;0xB0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2905;IEC_WorkspaceAllocation;;0x05;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bb1;CCS_BoardReadingNotFinished;;0xB1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2906;IEC_InterruptStackTooSmall;;0x06;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bf0;CCS_NsPositiveW;;0xF0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2907;IEC_ThreadExitted;;0x07;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bf1;CCS_NsNegativeW;;0xF1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2908;IEC_InconsistentMpInformation;;0x08;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bf2;CCS_NsLockout;;0xF2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2909;IEC_InvalidNode;;0x09;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bf3;CCS_FarmInLockout;;0xF3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x290a;IEC_NoMpci;;0x0a;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bf4;CCS_FarmInWait;;0xF4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x290b;IEC_BadPacket;;0x0b;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be0;CCS_WrongSymbol;;0xE0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x290c;IEC_OutOfPackets;;0x0c;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be1;CCS_DoubleStart;;0xE1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x290d;IEC_OutOfGlobalObjects;;0x0d;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be2;CCS_StartSymbolMissed;;0xE2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x290e;IEC_OutOfProxies;;0x0e;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be3;CCS_EndWithoutStart;;0xE3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x290f;IEC_InvalidGlobalId;;0x0f;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be4;CCS_TooLarge;;0xE4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2910;IEC_BadStackHook;;0x10;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be5;CCS_TooShort;;0xE5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2911;IEC_BadAttributes;;0x11;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be6;CCS_WrongTfVersion;;0xE6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2912;IEC_ImplementationKeyCreateInconsistency;;0x12;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be7;CCS_WrongSpacecraftId;;0xE7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2913;IEC_ImplementationBlockingOperationCancel;;0x13;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be8;CCS_NoValidFrameType;;0xE8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2914;IEC_MutexObtainFromBadState;;0x14;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2be9;CCS_CrcFailed;;0xE9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2915;IEC_UnlimitedAndMaximumIs0;;0x15;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES 0x2bea;CCS_VcNotFound;;0xEA;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0xe01;HM_InvalidMode;;0x01;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF 0x2beb;CCS_ForwardingFailed;;0xEB;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0xe02;HM_TransNotAllowed;;0x02;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF 0x2bec;CCS_ContentTooLarge;;0xEC;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0xe03;HM_InTransition;;0x03;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF 0x2bed;CCS_ResidualData;;0xED;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0xe04;HM_InvalidSubmode;;0x04;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF 0x2bee;CCS_DataCorrupted;;0xEE;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2d01;HPA_InvalidIdentifierId;;0x01;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF 0x2bef;CCS_IllegalSegmentationFlag;;0xEF;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2d02;HPA_InvalidDomainId;;0x02;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF 0x2bd0;CCS_IllegalFlagCombination;;0xD0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2d03;HPA_InvalidValue;;0x03;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF 0x2bd1;CCS_ShorterThanHeader;;0xD1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2d05;HPA_ReadOnly;;0x05;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF 0x2bd2;CCS_TooShortBlockedPacket;;0xD2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2c01;PAW_UnknownDatatype;;0x01;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2bd3;CCS_TooShortMapExtraction;;0xD3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2c02;PAW_DatatypeMissmatch;;0x02;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2901;IEC_NoConfigurationTable;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2c03;PAW_Readonly;;0x03;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2902;IEC_NoCpuTable;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2c04;PAW_TooBig;;0x04;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2903;IEC_InvalidWorkspaceAddress;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2c05;PAW_SourceNotSet;;0x05;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2904;IEC_TooLittleWorkspace;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2c06;PAW_OutOfBounds;;0x06;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2905;IEC_WorkspaceAllocation;;0x05;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2c07;PAW_NotSet;;0x07;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2906;IEC_InterruptStackTooSmall;;0x06;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2c08;PAW_ColumnOrRowsZero;;0x08;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER 0x2907;IEC_ThreadExitted;;0x07;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x3101;CF_ObjectHasNoFunctions;;1;../../fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF 0x2908;IEC_InconsistentMpInformation;;0x08;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x3102;CF_AlreadyCommanding;;2;../../fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF 0x2909;IEC_InvalidNode;;0x09;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x3201;HF_IsBusy;;1;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF 0x290a;IEC_NoMpci;;0x0a;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x3202;HF_InvalidParameters;;2;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF 0x290b;IEC_BadPacket;;0x0b;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x3203;HF_ExecutionFinished;;3;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF 0x290c;IEC_OutOfPackets;;0x0c;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x3204;HF_InvalidActionId;;4;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF 0x290d;IEC_OutOfGlobalObjects;;0x0d;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x201;OM_InsertionFailed;;1;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF 0x290e;IEC_OutOfProxies;;0x0e;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x202;OM_NotFound;;2;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF 0x290f;IEC_InvalidGlobalId;;0x0f;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x203;OM_ChildInitFailed;;3;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF 0x2910;IEC_BadStackHook;;0x10;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x204;OM_InternalErrReporterUninit;;4;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF 0x2911;IEC_BadAttributes;;0x11;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2500;FDI_YourFault;;0;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF 0x2912;IEC_ImplementationKeyCreateInconsistency;;0x12;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2501;FDI_MyFault;;1;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF 0x2913;IEC_ImplementationBlockingOperationCancel;;0x13;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2502;FDI_ConfirmLater;;2;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF 0x2914;IEC_MutexObtainFromBadState;;0x14;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2101;TMF_Busy;;1;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0x2915;IEC_UnlimitedAndMaximumIs0;;0x15;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2102;TMF_LastPacketFound;;2;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0xe01;HM_InvalidMode;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x2103;TMF_StopFetch;;3;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0xe02;HM_TransNotAllowed;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x2104;TMF_Timeout;;4;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0xe03;HM_InTransition;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x2105;TMF_TmChannelFull;;5;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0xe04;HM_InvalidSubmode;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x2106;TMF_NotStored;;6;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0x2d01;HPA_InvalidIdentifierId;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2107;TMF_AllDeleted;;7;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0x2d02;HPA_InvalidDomainId;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2108;TMF_InvalidData;;8;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0x2d03;HPA_InvalidValue;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2109;TMF_NotReady;;9;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF 0x2d05;HPA_ReadOnly;;0x05;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2001;TMB_Busy;;1;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c01;PAW_UnknownDatatype;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2002;TMB_Full;;2;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c02;PAW_DatatypeMissmatch;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2003;TMB_Empty;;3;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c03;PAW_Readonly;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2004;TMB_NullRequested;;4;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c04;PAW_TooBig;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2005;TMB_TooLarge;;5;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c05;PAW_SourceNotSet;;0x05;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2006;TMB_NotReady;;6;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c06;PAW_OutOfBounds;;0x06;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2007;TMB_DumpError;;7;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c07;PAW_NotSet;;0x07;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2008;TMB_CrcError;;8;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x2c08;PAW_ColumnOrRowsZero;;0x08;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2009;TMB_Timeout;;9;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x3101;CF_ObjectHasNoFunctions;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x200a;TMB_IdlePacketFound;;10;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x3102;CF_AlreadyCommanding;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x200b;TMB_TelecommandFound;;11;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x3201;HF_IsBusy;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x200c;TMB_NoPusATm;;12;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x3202;HF_InvalidParameters;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x200d;TMB_TooSmall;;13;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x3203;HF_ExecutionFinished;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x200e;TMB_BlockNotFound;;14;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x3204;HF_InvalidActionId;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x200f;TMB_InvalidRequest;;15;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF 0x201;OM_InsertionFailed;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x1c01;TCD_PacketLost;;1;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION 0x202;OM_NotFound;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x1c02;TCD_DestinationNotFound;;2;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION 0x203;OM_ChildInitFailed;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x1c03;TCD_ServiceIdAlreadyExists;;3;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION 0x204;OM_InternalErrReporterUninit;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x1b00;TCC_IllegalApid;;0;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK 0x2500;FDI_YourFault;;0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x1b01;TCC_IncompletePacket;;1;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK 0x2501;FDI_MyFault;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x1b02;TCC_IncorrectChecksum;;2;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK 0x2502;FDI_ConfirmLater;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x1b03;TCC_IllegalPacketType;;3;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK 0x2101;TMF_Busy;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x1b04;TCC_IllegalPacketSubtype;;4;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK 0x2102;TMF_LastPacketFound;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x1b05;TCC_IncorrectPrimaryHeader;;5;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK 0x2103;TMF_StopFetch;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x1b06;TCC_IncorrectSecondaryHeader;;6;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK 0x2104;TMF_Timeout;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x4e1;RMP_CommandNoDescriptorsAvailable;;0xE1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2105;TMF_TmChannelFull;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x4e2;RMP_CommandBufferFull;;0xE2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2106;TMF_NotStored;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x4e3;RMP_CommandChannelOutOfRange;;0xE3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2107;TMF_AllDeleted;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x4e6;RMP_CommandChannelDeactivated;;0xE6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2108;TMF_InvalidData;;8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x4e7;RMP_CommandPortOutOfRange;;0xE7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2109;TMF_NotReady;;9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x4e8;RMP_CommandPortInUse;;0xE8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2001;TMB_Busy;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4e9;RMP_CommandNoChannel;;0xE9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2002;TMB_Full;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4ea;RMP_NoHwCrc;;0xEA;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2003;TMB_Empty;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4d0;RMP_ReplyNoReply;;0xD0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2004;TMB_NullRequested;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4d1;RMP_ReplyNotSent;;0xD1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2005;TMB_TooLarge;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4d2;RMP_ReplyNotYetSent;;0xD2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2006;TMB_NotReady;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4d3;RMP_ReplyMissmatch;;0xD3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2007;TMB_DumpError;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4d4;RMP_ReplyTimeout;;0xD4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2008;TMB_CrcError;;8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4c0;RMP_ReplyInterfaceBusy;;0xC0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x2009;TMB_Timeout;;9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4c1;RMP_ReplyTransmissionError;;0xC1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x200a;TMB_IdlePacketFound;;10;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4c2;RMP_ReplyInvalidData;;0xC2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x200b;TMB_TelecommandFound;;11;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4c3;RMP_ReplyNotSupported;;0xC3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x200c;TMB_NoPusATm;;12;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4f0;RMP_LinkDown;;0xF0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x200d;TMB_TooSmall;;13;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4f1;RMP_SpwCredit;;0xF1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x200e;TMB_BlockNotFound;;14;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4f2;RMP_SpwEscape;;0xF2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x200f;TMB_InvalidRequest;;15;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x4f3;RMP_SpwDisconnect;;0xF3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1c01;TCD_PacketLost;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x4f4;RMP_SpwParity;;0xF4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1c02;TCD_DestinationNotFound;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x4f5;RMP_SpwWriteSync;;0xF5;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1c03;TCD_ServiceIdAlreadyExists;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x4f6;RMP_SpwInvalidAddress;;0xF6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1b00;TCC_IllegalApid;;0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x4f7;RMP_SpwEarlyEop;;0xF7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1b01;TCC_IncompletePacket;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x4f8;RMP_SpwDma;;0xF8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1b02;TCC_IncorrectChecksum;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x4f9;RMP_SpwLinkError;;0xF9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1b03;TCC_IllegalPacketType;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x400;RMP_ReplyOk;;0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1b04;TCC_IllegalPacketSubtype;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x401;RMP_ReplyGeneralErrorCode;;1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1b05;TCC_IncorrectPrimaryHeader;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x402;RMP_ReplyUnusedPacketTypeOrCommandCode;;2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x1b06;TCC_IncorrectSecondaryHeader;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x403;RMP_ReplyInvalidKey;;3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4e1;RMP_CommandNoDescriptorsAvailable;;0xE1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x404;RMP_ReplyInvalidDataCrc;;4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4e2;RMP_CommandBufferFull;;0xE2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x405;RMP_ReplyEarlyEop;;5;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4e3;RMP_CommandChannelOutOfRange;;0xE3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x406;RMP_ReplyTooMuchData;;6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4e6;RMP_CommandChannelDeactivated;;0xE6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x407;RMP_ReplyEep;;7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4e7;RMP_CommandPortOutOfRange;;0xE7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x408;RMP_ReplyReserved;;8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4e8;RMP_CommandPortInUse;;0xE8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x409;RMP_ReplyVerifyBufferOverrun;;9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4e9;RMP_CommandNoChannel;;0xE9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40a;RMP_ReplyCommandNotImplementedOrNotAuthorised;;10;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4ea;RMP_NoHwCrc;;0xEA;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40b;RMP_ReplyRmwDataLengthError;;11;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4d0;RMP_ReplyNoReply;;0xD0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40c;RMP_ReplyInvalidTargetLogicalAddress;;12;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL 0x4d1;RMP_ReplyNotSent;;0xD1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2701;SM_DataTooLarge;;1;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF 0x4d2;RMP_ReplyNotYetSent;;0xD2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2702;SM_DataStorageFull;;2;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF 0x4d3;RMP_ReplyMissmatch;;0xD3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2703;SM_IllegalStorageId;;3;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF 0x4d4;RMP_ReplyTimeout;;0xD4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2704;SM_DataDoesNotExist;;4;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF 0x4c0;RMP_ReplyInterfaceBusy;;0xC0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2705;SM_IllegalAddress;;5;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF 0x4c1;RMP_ReplyTransmissionError;;0xC1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2706;SM_PoolTooLarge;;6;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF 0x4c2;RMP_ReplyInvalidData;;0xC2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36a1;SGP4_InvalidEccentricity;;0xA1;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4c3;RMP_ReplyNotSupported;;0xC3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36a2;SGP4_InvalidMeanMotion;;0xA2;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4f0;RMP_LinkDown;;0xF0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36a3;SGP4_InvalidPerturbationElements;;0xA3;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4f1;RMP_SpwCredit;;0xF1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36a4;SGP4_InvalidSemiLatusRectum;;0xA4;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4f2;RMP_SpwEscape;;0xF2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36a5;SGP4_InvalidEpochElements;;0xA5;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4f3;RMP_SpwDisconnect;;0xF3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36a6;SGP4_SatelliteHasDecayed;;0xA6;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4f4;RMP_SpwParity;;0xF4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36b1;SGP4_TleTooOld;;0xB1;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4f5;RMP_SpwWriteSync;;0xF5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x36b2;SGP4_TleNotInitialized;;0xB2;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS 0x4f6;RMP_SpwInvalidAddress;;0xF6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2301;MT_TooDetailedRequest;;1;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS 0x4f7;RMP_SpwEarlyEop;;0xF7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2302;MT_TooGeneralRequest;;2;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS 0x4f8;RMP_SpwDma;;0xF8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2303;MT_NoMatch;;3;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS 0x4f9;RMP_SpwLinkError;;0xF9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2304;MT_Full;;4;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS 0x400;RMP_ReplyOk;;0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2305;MT_NewNodeCreated;;5;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS 0x401;RMP_ReplyGeneralErrorCode;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3d01;DLEE_StreamTooShort;;0x01;../../fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER 0x402;RMP_ReplyUnusedPacketTypeOrCommandCode;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3d02;DLEE_DecodingError;;0x02;../../fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER 0x403;RMP_ReplyInvalidKey;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2e01;ASC_TooLongForTargetType;;1;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER 0x404;RMP_ReplyInvalidDataCrc;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2e02;ASC_InvalidCharacters;;2;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER 0x405;RMP_ReplyEarlyEop;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2e03;ASC_BufferTooSmall;;0x3;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER 0x406;RMP_ReplyTooMuchData;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0xf01;CM_UnknownCommand;;1;../../fsfw/ipc/CommandMessageIF.h;COMMAND_MESSAGE 0x407;RMP_ReplyEep;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3801;MQI_Empty;;1;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF 0x408;RMP_ReplyReserved;;8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3802;MQI_Full; No space left for more messages;2;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF 0x409;RMP_ReplyVerifyBufferOverrun;;9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3803;MQI_NoReplyPartner; Returned if a reply method was called without partner;3;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF 0x40a;RMP_ReplyCommandNotImplementedOrNotAuthorised;;10;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3804;MQI_DestinationInvalid; Returned if the target destination is invalid.;4;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF 0x40b;RMP_ReplyRmwDataLengthError;;11;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3701;MUX_NotEnoughResources;;1;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x40c;RMP_ReplyInvalidTargetLogicalAddress;;12;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x3702;MUX_InsufficientMemory;;2;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x2701;SM_DataTooLarge;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x3703;MUX_NoPrivilege;;3;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x2702;SM_DataStorageFull;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x3704;MUX_WrongAttributeSetting;;4;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x2703;SM_IllegalStorageId;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x3705;MUX_MutexAlreadyLocked;;5;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x2704;SM_DataDoesNotExist;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x3706;MUX_MutexNotFound;;6;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x2705;SM_IllegalAddress;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x3707;MUX_MutexMaxLocks;;7;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x2706;SM_PoolTooLarge;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x3708;MUX_CurrThreadAlreadyOwnsMutex;;8;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x36a1;SGP4_InvalidEccentricity;;0xA1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x3709;MUX_CurrThreadDoesNotOwnMutex;;9;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x36a2;SGP4_InvalidMeanMotion;;0xA2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x370a;MUX_MutexTimeout;;10;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x36a3;SGP4_InvalidPerturbationElements;;0xA3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x370b;MUX_MutexInvalidId;;11;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x36a4;SGP4_InvalidSemiLatusRectum;;0xA4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x370c;MUX_MutexDestroyedWhileWaiting;;12;../../fsfw/ipc/MutexIF.h;MUTEX_IF 0x36a5;SGP4_InvalidEpochElements;;0xA5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x3901;SPH_SemaphoreTimeout;;1;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF 0x36a6;SGP4_SatelliteHasDecayed;;0xA6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x3902;SPH_SemaphoreNotOwned;;2;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF 0x36b1;SGP4_TleTooOld;;0xB1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x3903;SPH_SemaphoreInvalid;;3;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF 0x36b2;SGP4_TleNotInitialized;;0xB2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x2801;TC_InvalidTargetState;;1;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF 0x2301;MT_TooDetailedRequest;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x28f1;TC_AboveOperationalLimit;;0xF1;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF 0x2302;MT_TooGeneralRequest;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x28f2;TC_BelowOperationalLimit;;0xF2;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF 0x2303;MT_NoMatch;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0xc02;MS_InvalidEntry;;0x02;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF 0x2304;MT_Full;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0xc03;MS_TooManyElements;;0x03;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF 0x2305;MT_NewNodeCreated;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0xc04;MS_CantStoreEmpty;;0x04;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF 0x3d01;DLEE_StreamTooShort;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0xd01;SS_SequenceAlreadyExists;;0x01;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3d02;DLEE_DecodingError;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0xd02;SS_TableAlreadyExists;;0x02;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x2e01;ASC_TooLongForTargetType;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0xd03;SS_TableDoesNotExist;;0x03;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x2e02;ASC_InvalidCharacters;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0xd04;SS_TableOrSequenceLengthInvalid;;0x04;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x2e03;ASC_BufferTooSmall;;0x3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0xd05;SS_SequenceDoesNotExist;;0x05;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0xf01;CM_UnknownCommand;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/CommandMessageIF.h;COMMAND_MESSAGE
0xd06;SS_TableContainsInvalidObjectId;;0x06;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3801;MQI_Empty;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0xd07;SS_FallbackSequenceDoesNotExist;;0x07;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3802;MQI_Full;No space left for more messages;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0xd08;SS_NoTargetTable;;0x08;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3803;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0xd09;SS_SequenceOrTableTooLong;;0x09;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3804;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0xd0b;SS_IsFallbackSequence;;0x0B;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3701;MUX_NotEnoughResources;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xd0c;SS_AccessDenied;;0x0C;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3702;MUX_InsufficientMemory;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xd0e;SS_TableInUse;;0x0E;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3703;MUX_NoPrivilege;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xda1;SS_TargetTableNotReached;;0xA1;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3704;MUX_WrongAttributeSetting;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xda2;SS_TableCheckFailed;;0xA2;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM 0x3705;MUX_MutexAlreadyLocked;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xb01;SB_ChildNotFound;;0x01;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE 0x3706;MUX_MutexNotFound;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xb02;SB_ChildInfoUpdated;;0x02;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE 0x3707;MUX_MutexMaxLocks;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xb03;SB_ChildDoesntHaveModes;;0x03;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE 0x3708;MUX_CurrThreadAlreadyOwnsMutex;;8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xb04;SB_CouldNotInsertChild;;0x04;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE 0x3709;MUX_CurrThreadDoesNotOwnMutex;;9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0xb05;SB_TableContainsInvalidObjectId;;0x05;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE 0x370a;MUX_MutexTimeout;;10;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x3c00;HKM_QueueOrDestinationInvalid;;0;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER 0x370b;MUX_MutexInvalidId;;11;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x3c01;HKM_WrongHkPacketType;;1;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER 0x370c;MUX_MutexDestroyedWhileWaiting;;12;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x3c02;HKM_ReportingStatusUnchanged;;2;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER 0x3901;SPH_SemaphoreTimeout;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3c03;HKM_PeriodicHelperInvalid;;3;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER 0x3902;SPH_SemaphoreNotOwned;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3c04;HKM_PoolobjectNotFound;;4;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER 0x3903;SPH_SemaphoreInvalid;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3c05;HKM_DatasetNotFound;;5;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER 0x2801;TC_InvalidTargetState;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x3a00;LPIF_PoolEntryNotFound;;0x00;../../fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF 0x28f1;TC_AboveOperationalLimit;;0xF1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x3a01;LPIF_PoolEntryTypeConflict;;0x01;../../fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF 0x28f2;TC_BelowOperationalLimit;;0xF2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x3ba0;PVA_InvalidReadWriteMode;;0xA0;../../fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF 0xc02;MS_InvalidEntry;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0x3ba1;PVA_InvalidPoolEntry;;0xA1;../../fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF 0xc03;MS_TooManyElements;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0x801;DPS_InvalidParameterDefinition;;1;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS 0xc04;MS_CantStoreEmpty;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0x802;DPS_SetWasAlreadyRead;;2;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS 0xd01;SS_SequenceAlreadyExists;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x803;DPS_CommitingWithoutReading;;3;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS 0xd02;SS_TableAlreadyExists;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x804;DPS_DataSetUninitialised;;4;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS 0xd03;SS_TableDoesNotExist;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x805;DPS_DataSetFull;;5;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS 0xd04;SS_TableOrSequenceLengthInvalid;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x806;DPS_PoolVarNull;;6;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS 0xd05;SS_SequenceDoesNotExist;;0x05;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1000;TIM_UnsupportedTimeFormat;;0;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS 0xd06;SS_TableContainsInvalidObjectId;;0x06;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1001;TIM_NotEnoughInformationForTargetFormat;;1;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS 0xd07;SS_FallbackSequenceDoesNotExist;;0x07;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1002;TIM_LengthMismatch;;2;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS 0xd08;SS_NoTargetTable;;0x08;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1003;TIM_InvalidTimeFormat;;3;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS 0xd09;SS_SequenceOrTableTooLong;;0x09;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1004;TIM_InvalidDayOfYear;;4;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS 0xd0b;SS_IsFallbackSequence;;0x0B;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1005;TIM_TimeDoesNotFitFormat;;5;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS 0xd0c;SS_AccessDenied;;0x0C;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x3501;TSI_BadTimestamp;;1;../../fsfw/timemanager/TimeStamperIF.h;TIME_STAMPER_IF 0xd0e;SS_TableInUse;;0x0E;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1d01;PUS_ActivityStarted;;1;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF 0xda1;SS_TargetTableNotReached;;0xA1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1d02;PUS_InvalidSubservice;;2;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF 0xda2;SS_TableCheckFailed;;0xA2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x1d03;PUS_IllegalApplicationData;;3;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF 0xb01;SB_ChildNotFound;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0x1d04;PUS_SendTmFailed;;4;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF 0xb02;SB_ChildInfoUpdated;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0x1d05;PUS_Timeout;;5;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF 0xb03;SB_ChildDoesntHaveModes;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0x1f01;CSB_ExecutionComplete;;1;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE 0xb04;SB_CouldNotInsertChild;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0x1f02;CSB_NoStepMessage;;2;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE 0xb05;SB_TableContainsInvalidObjectId;;0x05;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0x1f03;CSB_ObjectBusy;;3;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE 0x3c00;HKM_QueueOrDestinationInvalid;;0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x1f04;CSB_Busy;;4;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE 0x3c01;HKM_WrongHkPacketType;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x1f05;CSB_InvalidTc;;5;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE 0x3c02;HKM_ReportingStatusUnchanged;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x1f06;CSB_InvalidObject;;6;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE 0x3c03;HKM_PeriodicHelperInvalid;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x1f07;CSB_InvalidReply;;7;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE 0x3c04;HKM_PoolobjectNotFound;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x1101;AL_Full;;0x01;../../fsfw/container/ArrayList.h;ARRAY_LIST 0x3c05;HKM_DatasetNotFound;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x1801;FF_Full;;1;../../fsfw/container/FIFOBase.h;FIFO_CLASS 0x3a00;LPIF_PoolEntryNotFound;;0x00;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x1802;FF_Empty;;2;../../fsfw/container/FIFOBase.h;FIFO_CLASS 0x3a01;LPIF_PoolEntryTypeConflict;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x1601;FMM_MapFull;;0x01;../../fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP 0x3ba0;PVA_InvalidReadWriteMode;;0xA0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x1602;FMM_KeyDoesNotExist;;0x02;../../fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP 0x3ba1;PVA_InvalidPoolEntry;;0xA1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x1501;FM_KeyAlreadyExists;;0x01;../../fsfw/container/FixedMap.h;FIXED_MAP 0x801;DPS_InvalidParameterDefinition;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x1502;FM_MapFull;;0x02;../../fsfw/container/FixedMap.h;FIXED_MAP 0x802;DPS_SetWasAlreadyRead;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x1503;FM_KeyDoesNotExist;;0x03;../../fsfw/container/FixedMap.h;FIXED_MAP 0x803;DPS_CommitingWithoutReading;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x2401;EV_ListenerNotFound;;1;../../fsfw/events/EventManagerIF.h;EVENT_MANAGER_IF 0x804;DPS_DataSetUninitialised;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x1701;HHI_ObjectNotHealthy;;1;../../fsfw/health/HasHealthIF.h;HAS_HEALTH_IF 0x805;DPS_DataSetFull;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x1702;HHI_InvalidHealthState;;2;../../fsfw/health/HasHealthIF.h;HAS_HEALTH_IF 0x806;DPS_PoolVarNull;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x2f01;POS_InPowerTransition;;1;../../fsfw/power/PowerSwitcher.h;POWER_SWITCHER 0x1000;TIM_UnsupportedTimeFormat;;0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x2f02;POS_SwitchStateMismatch;;2;../../fsfw/power/PowerSwitcher.h;POWER_SWITCHER 0x1001;TIM_NotEnoughInformationForTargetFormat;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x501;PS_SwitchOn;;1;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF 0x1002;TIM_LengthMismatch;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x500;PS_SwitchOff;;0;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF 0x1003;TIM_InvalidTimeFormat;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x502;PS_SwitchTimeout;;2;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF 0x1004;TIM_InvalidDayOfYear;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x503;PS_FuseOn;;3;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF 0x1005;TIM_TimeDoesNotFitFormat;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x504;PS_FuseOff;;4;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF 0x3501;TSI_BadTimestamp;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/timemanager/TimeStamperIF.h;TIME_STAMPER_IF
0x1a01;TRC_NotEnoughSensors;;1;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK 0x1d01;PUS_ActivityStarted;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1a02;TRC_LowestValueOol;;2;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK 0x1d02;PUS_InvalidSubservice;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1a03;TRC_HighestValueOol;;3;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK 0x1d03;PUS_IllegalApplicationData;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1a04;TRC_BothValuesOol;;4;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK 0x1d04;PUS_SendTmFailed;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1a05;TRC_DuplexOol;;5;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK 0x1d05;PUS_Timeout;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x3001;LIM_Unchecked;;1;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1f01;CSB_ExecutionComplete;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x3002;LIM_Invalid;;2;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1f02;CSB_NoStepMessage;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x3003;LIM_Unselected;;3;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1f03;CSB_ObjectBusy;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x3004;LIM_BelowLowLimit;;4;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1f04;CSB_Busy;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x3005;LIM_AboveHighLimit;;5;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1f05;CSB_InvalidTc;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x3006;LIM_UnexpectedValue;;6;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1f06;CSB_InvalidObject;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x3007;LIM_OutOfRange;;7;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1f07;CSB_InvalidReply;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x30a0;LIM_FirstSample;;0xA0;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1101;AL_Full;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/ArrayList.h;ARRAY_LIST
0x30e0;LIM_InvalidSize;;0xE0;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1801;FF_Full;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/FIFOBase.h;FIFO_CLASS
0x30e1;LIM_WrongType;;0xE1;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1802;FF_Empty;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/FIFOBase.h;FIFO_CLASS
0x30e2;LIM_WrongPid;;0xE2;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1601;FMM_MapFull;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x30e3;LIM_WrongLimitId;;0xE3;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1602;FMM_KeyDoesNotExist;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x30ee;LIM_MonitorNotFound;;0xEE;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF 0x1501;FM_KeyAlreadyExists;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x4000;FILS_GenericFileError;;0;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x1502;FM_MapFull;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x4001;FILS_IsBusy;;1;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x1503;FM_KeyDoesNotExist;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x4002;FILS_InvalidParameters;;2;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x2401;EV_ListenerNotFound;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/events/EventManagerIF.h;EVENT_MANAGER_IF
0x4005;FILS_FileDoesNotExist;;5;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x1701;HHI_ObjectNotHealthy;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x4006;FILS_FileAlreadyExists;;6;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x1702;HHI_InvalidHealthState;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x4007;FILS_FileLocked;;7;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x2f01;POS_InPowerTransition;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x400a;FILS_DirectoryDoesNotExist;;10;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x2f02;POS_SwitchStateMismatch;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x400b;FILS_DirectoryAlreadyExists;;11;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x501;PS_SwitchOn;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x400c;FILS_DirectoryNotEmpty;;12;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x500;PS_SwitchOff;;0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x400f;FILS_SequencePacketMissingWrite;;15;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x502;PS_SwitchTimeout;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x4010;FILS_SequencePacketMissingRead;;16;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM 0x503;PS_FuseOn;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x601;PP_DoItMyself;;1;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x504;PS_FuseOff;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x602;PP_PointsToVariable;;2;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x1a01;TRC_NotEnoughSensors;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x603;PP_PointsToMemory;;3;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x1a02;TRC_LowestValueOol;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x604;PP_ActivityCompleted;;4;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x1a03;TRC_HighestValueOol;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x605;PP_PointsToVectorUint8;;5;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x1a04;TRC_BothValuesOol;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x606;PP_PointsToVectorUint16;;6;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x1a05;TRC_DuplexOol;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x607;PP_PointsToVectorUint32;;7;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x3001;LIM_Unchecked;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x608;PP_PointsToVectorFloat;;8;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x3002;LIM_Invalid;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x6a0;PP_DumpNotSupported;;0xA0;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x3003;LIM_Unselected;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x6e0;PP_InvalidSize;;0xE0;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x3004;LIM_BelowLowLimit;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x6e1;PP_InvalidAddress;;0xE1;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x3005;LIM_AboveHighLimit;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x6e2;PP_InvalidContent;;0xE2;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x3006;LIM_UnexpectedValue;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x6e3;PP_UnalignedAccess;;0xE3;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x3007;LIM_OutOfRange;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x6e4;PP_WriteProtected;;0xE4;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF 0x30a0;LIM_FirstSample;;0xA0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x13e0;MH_UnknownCmd;;0xE0;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER 0x30e0;LIM_InvalidSize;;0xE0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x13e1;MH_InvalidAddress;;0xE1;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER 0x30e1;LIM_WrongType;;0xE1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x13e2;MH_InvalidSize;;0xE2;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER 0x30e2;LIM_WrongPid;;0xE2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x13e3;MH_StateMismatch;;0xE3;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER 0x30e3;LIM_WrongLimitId;;0xE3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x1201;AB_NeedSecondStep;;0x01;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE 0x30ee;LIM_MonitorNotFound;;0xEE;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x1202;AB_NeedToReconfigure;;0x02;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE 0x4000;FILS_GenericFileError;;0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x1203;AB_ModeFallback;;0x03;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE 0x4001;FILS_IsBusy;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x1204;AB_ChildNotCommandable;;0x04;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE 0x4002;FILS_InvalidParameters;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x1205;AB_NeedToChangeHealth;;0x05;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE 0x4005;FILS_FileDoesNotExist;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x12a1;AB_NotEnoughChildrenInCorrectState;;0xa1;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE 0x4006;FILS_FileAlreadyExists;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x3a0;DHB_InvalidChannel;;0xA0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x4007;FILS_FileLocked;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x3b0;DHB_AperiodicReply;;0xB0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x400a;FILS_DirectoryDoesNotExist;;10;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x3b1;DHB_IgnoreReplyData;;0xB1;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x400b;FILS_DirectoryAlreadyExists;;11;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x3b2;DHB_IgnoreFullPacket;;0xB2;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x400c;FILS_DirectoryNotEmpty;;12;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x3c0;DHB_NothingToSend;;0xC0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x400f;FILS_SequencePacketMissingWrite;;15;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x3c2;DHB_CommandMapError;;0xC2;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x4010;FILS_SequencePacketMissingRead;;16;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x3d0;DHB_NoSwitch;;0xD0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x601;PP_DoItMyself;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3e0;DHB_ChildTimeout;;0xE0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x602;PP_PointsToVariable;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3e1;DHB_SwitchFailed;;0xE1;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE 0x603;PP_PointsToMemory;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3301;DC_NoReplyReceived;;0x01;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF 0x604;PP_ActivityCompleted;;4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3302;DC_ProtocolError;;0x02;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF 0x605;PP_PointsToVectorUint8;;5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3303;DC_Nullpointer;;0x03;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF 0x606;PP_PointsToVectorUint16;;6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3304;DC_InvalidCookieType;;0x04;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF 0x607;PP_PointsToVectorUint32;;7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3305;DC_NotActive;;0x05;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF 0x608;PP_PointsToVectorFloat;;8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x3306;DC_TooMuchData;;0x06;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF 0x6a0;PP_DumpNotSupported;;0xA0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x26a0;DHI_NoCommandData;;0xA0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x6e0;PP_InvalidSize;;0xE0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x26a1;DHI_CommandNotSupported;;0xA1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x6e1;PP_InvalidAddress;;0xE1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x26a2;DHI_CommandAlreadySent;;0xA2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x6e2;PP_InvalidContent;;0xE2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x26a3;DHI_CommandWasNotSent;;0xA3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x6e3;PP_UnalignedAccess;;0xE3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x26a4;DHI_CantSwitchAddress;;0xA4;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x6e4;PP_WriteProtected;;0xE4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x26a5;DHI_WrongModeForCommand;;0xA5;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x13e0;MH_UnknownCmd;;0xE0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x26a6;DHI_Timeout;;0xA6;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x13e1;MH_InvalidAddress;;0xE1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x26a7;DHI_Busy;;0xA7;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x13e2;MH_InvalidSize;;0xE2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x26a8;DHI_NoReplyExpected;;0xA8;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x13e3;MH_StateMismatch;;0xE3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x26a9;DHI_NonOpTemperature;;0xA9;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x1201;AB_NeedSecondStep;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x26aa;DHI_CommandNotImplemented;;0xAA;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x1202;AB_NeedToReconfigure;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x26b0;DHI_ChecksumError;;0xB0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x1203;AB_ModeFallback;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x26b1;DHI_LengthMissmatch;;0xB1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x1204;AB_ChildNotCommandable;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x26b2;DHI_InvalidData;;0xB2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x1205;AB_NeedToChangeHealth;;0x05;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x26b3;DHI_ProtocolError;;0xB3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x12a1;AB_NotEnoughChildrenInCorrectState;;0xa1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x26c0;DHI_DeviceDidNotExecute;;0xC0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x3a0;DHB_InvalidChannel;;0xA0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x26c1;DHI_DeviceReportedError;;0xC1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x3b0;DHB_AperiodicReply;;0xB0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x26c2;DHI_UnknownDeviceReply;;0xC2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x3b1;DHB_IgnoreReplyData;;0xB1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x26c3;DHI_DeviceReplyInvalid;;0xC3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x3b2;DHB_IgnoreFullPacket;;0xB2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x26d0;DHI_InvalidCommandParameter;;0xD0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x3c0;DHB_NothingToSend;;0xC0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x26d1;DHI_InvalidNumberOrLengthOfParameters;;0xD1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF 0x3c2;DHB_CommandMapError;;0xC2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x1401;SE_BufferTooShort;;1;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF 0x3d0;DHB_NoSwitch;;0xD0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x1402;SE_StreamTooShort;;2;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF 0x3e0;DHB_ChildTimeout;;0xE0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x1403;SE_TooManyElements;;3;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF 0x3e1;DHB_SwitchFailed;;0xE1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x4aa1;HEATER_CommandNotSupported;;0xA1;../../linux/devices/HeaterHandler.h;HEATER_HANDLER 0x3301;DC_NoReplyReceived;;0x01;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x4aa2;HEATER_InitFailed;;0xA2;../../linux/devices/HeaterHandler.h;HEATER_HANDLER 0x3302;DC_ProtocolError;;0x02;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x4aa3;HEATER_InvalidSwitchNr;;0xA3;../../linux/devices/HeaterHandler.h;HEATER_HANDLER 0x3303;DC_Nullpointer;;0x03;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x4aa4;HEATER_MainSwitchSetTimeout;;0xA4;../../linux/devices/HeaterHandler.h;HEATER_HANDLER 0x3304;DC_InvalidCookieType;;0x04;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x4aa5;HEATER_CommandAlreadyWaiting;;0xA5;../../linux/devices/HeaterHandler.h;HEATER_HANDLER 0x3305;DC_NotActive;;0x05;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x4ea0;SUSS_ErrorUnlockMutex;;0xA0;../../linux/devices/SusHandler.h;SUS_HANDLER 0x3306;DC_TooMuchData;;0x06;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x4ea1;SUSS_ErrorLockMutex;;0xA1;../../linux/devices/SusHandler.h;SUS_HANDLER 0x26a0;DHI_NoCommandData;;0xA0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x57a0;SADPL_CommandNotSupported;;0xA0;../../linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER 0x26a1;DHI_CommandNotSupported;;0xA1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x57a1;SADPL_DeploymentAlreadyExecuting;;0xA1;../../linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER 0x26a2;DHI_CommandAlreadySent;;0xA2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x57a2;SADPL_MainSwitchTimeoutFailure;;0xA2;../../linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER 0x26a3;DHI_CommandWasNotSent;;0xA3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x57a3;SADPL_SwitchingDeplSa1Failed;;0xA3;../../linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER 0x26a4;DHI_CantSwitchAddress;;0xA4;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x57a4;SADPL_SwitchingDeplSa2Failed;;0xA4;../../linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER 0x26a5;DHI_WrongModeForCommand;;0xA5;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a6;DHI_Timeout;;0xA6;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a7;DHI_Busy;;0xA7;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a8;DHI_NoReplyExpected;;0xA8;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a9;DHI_NonOpTemperature;;0xA9;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26aa;DHI_CommandNotImplemented;;0xAA;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b0;DHI_ChecksumError;;0xB0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b1;DHI_LengthMissmatch;;0xB1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b2;DHI_InvalidData;;0xB2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b3;DHI_ProtocolError;;0xB3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c0;DHI_DeviceDidNotExecute;;0xC0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c1;DHI_DeviceReportedError;;0xC1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c2;DHI_UnknownDeviceReply;;0xC2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c3;DHI_DeviceReplyInvalid;;0xC3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d0;DHI_InvalidCommandParameter;;0xD0;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d1;DHI_InvalidNumberOrLengthOfParameters;;0xD1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x1401;SE_BufferTooShort;;1;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1402;SE_StreamTooShort;;2;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1403;SE_TooManyElements;;3;/home/rmueller/EIVE/eive-obsw/fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x5f00;SDMA_AlreadyOn;;0;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x5f01;SDMA_AlreadyMounted;;1;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x5f02;SDMA_AlreadyOff;;2;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x5f0a;SDMA_StatusFileNexists;;10;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x5f0b;SDMA_StatusFileFormatInvalid;;11;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x5f0c;SDMA_MountError;;12;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x5f0d;SDMA_UnmountError;;13;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x5f0e;SDMA_SystemCallError;;14;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x6000;SCBU_KeyNotFound;;0;/home/rmueller/EIVE/eive-obsw/bsp_q7s/memory/scratchApi.h;SCRATCH_BUFFER
0x4ea1;HEATER_CommandNotSupported;;0xA1;/home/rmueller/EIVE/eive-obsw/linux/devices/HeaterHandler.h;HEATER_HANDLER
0x4ea2;HEATER_InitFailed;;0xA2;/home/rmueller/EIVE/eive-obsw/linux/devices/HeaterHandler.h;HEATER_HANDLER
0x4ea3;HEATER_InvalidSwitchNr;;0xA3;/home/rmueller/EIVE/eive-obsw/linux/devices/HeaterHandler.h;HEATER_HANDLER
0x4ea4;HEATER_MainSwitchSetTimeout;;0xA4;/home/rmueller/EIVE/eive-obsw/linux/devices/HeaterHandler.h;HEATER_HANDLER
0x4ea5;HEATER_CommandAlreadyWaiting;;0xA5;/home/rmueller/EIVE/eive-obsw/linux/devices/HeaterHandler.h;HEATER_HANDLER
0x55a0;SUSS_ErrorUnlockMutex;;0xA0;/home/rmueller/EIVE/eive-obsw/linux/devices/SusHandler.h;SUS_HANDLER
0x55a1;SUSS_ErrorLockMutex;;0xA1;/home/rmueller/EIVE/eive-obsw/linux/devices/SusHandler.h;SUS_HANDLER
0x5ea0;SADPL_CommandNotSupported;;0xA0;/home/rmueller/EIVE/eive-obsw/linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x5ea1;SADPL_DeploymentAlreadyExecuting;;0xA1;/home/rmueller/EIVE/eive-obsw/linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x5ea2;SADPL_MainSwitchTimeoutFailure;;0xA2;/home/rmueller/EIVE/eive-obsw/linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x5ea3;SADPL_SwitchingDeplSa1Failed;;0xA3;/home/rmueller/EIVE/eive-obsw/linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x5ea4;SADPL_SwitchingDeplSa2Failed;;0xA4;/home/rmueller/EIVE/eive-obsw/linux/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x5e01;SADPL_UnknownGpioId;;1;/home/rmueller/EIVE/eive-obsw/linux/archive/gpio/LinuxLibgpioIF.h;SA_DEPL_HANDLER
0x5e02;SADPL_DriveGpioFailure;;2;/home/rmueller/EIVE/eive-obsw/linux/archive/gpio/LinuxLibgpioIF.h;SA_DEPL_HANDLER
0x5e03;SADPL_GpioTypeFailure;;3;/home/rmueller/EIVE/eive-obsw/linux/archive/gpio/LinuxLibgpioIF.h;SA_DEPL_HANDLER
0x5e04;SADPL_GpioInvalidInstance;;4;/home/rmueller/EIVE/eive-obsw/linux/archive/gpio/LinuxLibgpioIF.h;SA_DEPL_HANDLER
0x56a0;IPCI_PapbBusy;;0xA0;/home/rmueller/EIVE/eive-obsw/linux/obc/CCSDSIPCoreBridge.h;CCSDS_IP_CORE_BRIDGE

Can't render this file because it has a wrong number of fields in line 21.

View File

@ -1,5 +1,10 @@
import os
import enum import enum
from pathlib import Path
PATH_VAR_ROOT = Path(os.path.abspath(os.curdir))
ROOT_DIR = PATH_VAR_ROOT.absolute()
OBSW_ROOT_DIR = PATH_VAR_ROOT.parent.absolute()
DATABASE_NAME = "eive_mod.db" DATABASE_NAME = "eive_mod.db"

View File

@ -1,23 +1,18 @@
#! /usr/bin/python3 """Part of the Mission Operation Database Exporter for the EVIE project.
"""
@file event_parser.py
@brief Part of the Mission Information Base Exporter for the SOURCE project by KSat.
@details
Event exporter. Event exporter.
To use MySQLdb, run pip install mysqlclient or install in IDE.
On Windows, Build Tools installation might be necessary
@data 21.11.2019
""" """
import datetime import datetime
import time
from fsfwgen.events.event_parser import handle_csv_export, handle_cpp_export, SubsystemDefinitionParser, EventParser from fsfwgen.events.event_parser import handle_csv_export, handle_cpp_export, \
SubsystemDefinitionParser, EventParser
from fsfwgen.parserbase.file_list_parser import FileListParser from fsfwgen.parserbase.file_list_parser import FileListParser
from fsfwgen.utility.printer import PrettyPrinter from fsfwgen.utility.printer import PrettyPrinter
from fsfwgen.utility.file_management import copy_file, move_file from fsfwgen.utility.file_management import copy_file, move_file
from fsfwgen.core import get_console_logger
from definitions import BspType, ROOT_DIR, OBSW_ROOT_DIR
from definitions import BspType LOGGER = get_console_logger()
DATE_TODAY = datetime.datetime.now() DATE_TODAY = datetime.datetime.now()
DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S") DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S")
@ -30,56 +25,67 @@ MOVE_CSV_FILE = True
PARSE_HOST_BSP = True PARSE_HOST_BSP = True
CPP_FILENAME = "translateEvents.cpp" CPP_FILENAME = f'{__package__}/translateEvents.cpp'
CPP_H_FILENAME = "translateEvents.h" CPP_H_FILENAME = f'{__package__}/translateEvents.h'
BSP_SELECT = BspType.BSP_Q7S BSP_SELECT = BspType.BSP_Q7S
BSP_DIR_NAME = BSP_SELECT.value BSP_DIR_NAME = BSP_SELECT.value
CSV_FILENAME = f"{BSP_SELECT.value}_events.csv" CSV_FILENAME = f"{BSP_SELECT.value}_events.csv"
CSV_MOVE_DESTINATION = "../" CSV_MOVE_DESTINATION = f'{ROOT_DIR}'
if BSP_SELECT == BspType.BSP_Q7S or BSP_SELECT == BspType.BSP_LINUX_BOARD: if BSP_SELECT == BspType.BSP_Q7S or BSP_SELECT == BspType.BSP_LINUX_BOARD:
FSFW_CONFIG_ROOT = f"../../linux/fsfwconfig" FSFW_CONFIG_ROOT = f"{OBSW_ROOT_DIR}/linux/fsfwconfig"
else: else:
FSFW_CONFIG_ROOT = f"../../{BSP_DIR_NAME}/fsfwconfig" FSFW_CONFIG_ROOT = f"{OBSW_ROOT_DIR}/{BSP_DIR_NAME}/fsfwconfig"
CPP_COPY_DESTINATION = f"{FSFW_CONFIG_ROOT}/events/" CPP_COPY_DESTINATION = f"{FSFW_CONFIG_ROOT}/events/"
FILE_SEPARATOR = ";" FILE_SEPARATOR = ";"
SUBSYSTEM_DEFINITION_DESTINATIONS = [ SUBSYSTEM_DEFINITION_DESTINATIONS = [
f"{FSFW_CONFIG_ROOT}/events/subsystemIdRanges.h", f"{FSFW_CONFIG_ROOT}/events/subsystemIdRanges.h",
"../../fsfw/events/fwSubsystemIdRanges.h", f"{OBSW_ROOT_DIR}/fsfw/src/fsfw/events/fwSubsystemIdRanges.h",
f"../../common/config/commonSubsystemIds.h" f"{OBSW_ROOT_DIR}/common/config/commonSubsystemIds.h"
]
HEADER_DEFINITION_DESTINATIONS = [
f"{OBSW_ROOT_DIR}/mission/", f"{OBSW_ROOT_DIR}/fsfw/", f"{FSFW_CONFIG_ROOT}",
f"{OBSW_ROOT_DIR}/test/"
] ]
HEADER_DEFINITION_DESTINATIONS = ["../../mission/", "../../fsfw/", f"{FSFW_CONFIG_ROOT}", "../../test/"]
def main(): def parse_events(
print("EventParser: Parsing events: ") generate_csv: bool = True, generate_cpp: bool = True, print_events: bool = True
event_list = parse_events() ):
if GENERATE_CSV: LOGGER.info("EventParser: Parsing events: ")
handle_csv_export(file_name=CSV_FILENAME, event_list=event_list, file_separator=FILE_SEPARATOR) # Small delay for clean printout
if MOVE_CSV_FILE: time.sleep(0.01)
move_file(file_name=CSV_FILENAME, destination=CSV_MOVE_DESTINATION) event_list = generate_event_list()
if GENERATE_CPP: if print_events:
PrettyPrinter.pprint(event_list)
# Delay for clean printout
time.sleep(0.1)
# xml_test()
if generate_csv:
handle_csv_export(
file_name=CSV_FILENAME, event_list=event_list, file_separator=FILE_SEPARATOR
)
if generate_cpp:
handle_cpp_export( handle_cpp_export(
event_list=event_list, date_string=DATE_STRING_FULL, file_name=CPP_FILENAME, event_list=event_list, date_string=DATE_STRING_FULL, file_name=CPP_FILENAME,
generate_header=GENERATE_CPP_H, header_file_name=CPP_H_FILENAME generate_header=GENERATE_CPP_H, header_file_name=CPP_H_FILENAME
) )
if COPY_CPP_FILE: if COPY_CPP_FILE:
print(f"EventParser: Copying file to {CPP_COPY_DESTINATION}") LOGGER.info(f'EventParser: Copying file to {CPP_COPY_DESTINATION}')
copy_file(CPP_FILENAME, CPP_COPY_DESTINATION) copy_file(CPP_FILENAME, CPP_COPY_DESTINATION)
copy_file(CPP_H_FILENAME, CPP_COPY_DESTINATION) copy_file(CPP_H_FILENAME, CPP_COPY_DESTINATION)
print("")
def parse_events(): def generate_event_list() -> list:
subsystem_parser = SubsystemDefinitionParser(SUBSYSTEM_DEFINITION_DESTINATIONS) subsystem_parser = SubsystemDefinitionParser(SUBSYSTEM_DEFINITION_DESTINATIONS)
subsystem_table = subsystem_parser.parse_files() subsystem_table = subsystem_parser.parse_files()
print(f"Found {len(subsystem_table)} subsystem definitions.") LOGGER.info(f'Found {len(subsystem_table)} subsystem definitions.')
PrettyPrinter.pprint(subsystem_table) PrettyPrinter.pprint(subsystem_table)
event_header_parser = FileListParser(HEADER_DEFINITION_DESTINATIONS) event_header_parser = FileListParser(HEADER_DEFINITION_DESTINATIONS)
event_headers = event_header_parser.parse_header_files( event_headers = event_header_parser.parse_header_files(
@ -90,11 +96,6 @@ def parse_events():
event_parser = EventParser(event_headers, subsystem_table) event_parser = EventParser(event_headers, subsystem_table)
event_parser.set_moving_window_mode(moving_window_size=7) event_parser.set_moving_window_mode(moving_window_size=7)
event_table = event_parser.parse_files() event_table = event_parser.parse_files()
list_items = sorted(event_table.items()) event_list = sorted(event_table.items())
print(f"Found {len(list_items)} entries:") LOGGER.info(f'Found {len(event_list)} entries')
PrettyPrinter.pprint(list_items) return event_list
return list_items
if __name__ == "__main__":
main()

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 96 translations. * @brief Auto-generated event translation file. Contains 96 translations.
* @details * @details
* Generated on: 2021-07-12 15:20:38 * Generated on: 2021-08-02 11:41:47
*/ */
#include "translateEvents.h" #include "translateEvents.h"

View File

@ -1,7 +1,7 @@
#ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_
#define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_
#include <fsfw/events/Event.h> #include "fsfw/events/Event.h"
const char * translateEvents(Event event); const char * translateEvents(Event event);

@ -1 +1 @@
Subproject commit 78e890f947f55a9417d390fea8d9bd5684d11730 Subproject commit 636670f7a0075533974ca0a668efa9b623a52749

33
generators/fsfwgen.py Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env python3
import time
from objects.objects import parse_objects
from events.event_parser import parse_events
from returnvalues.returnvalues_parser import parse_returnvalues
from fsfwgen.core import return_generic_args_parser, init_printout, get_console_logger, ParserTypes
LOGGER = get_console_logger()
def main():
init_printout(project_string='EIVE')
parser = return_generic_args_parser()
args = parser.parse_args()
if args.type == 'objects':
LOGGER.info(f'Generating objects data..')
time.sleep(0.05)
parse_objects()
elif args.type == 'events':
LOGGER.info(f'Generating event data')
time.sleep(0.05)
parse_events()
elif args.type == 'returnvalues':
LOGGER.info('Generating returnvalue data')
time.sleep(0.05)
parse_returnvalues()
pass
if __name__ == "__main__":
main()

View File

@ -1,22 +1,18 @@
#! /usr/bin/env python3 """Part of the Mission Information Base Exporter for the SOURCE project by KSat.
"""
@file objects.py
@brief Part of the Mission Information Base Exporter for the SOURCE project by KSat.
@details
Object exporter. Object exporter.
To use MySQLdb, run pip install mysqlclient or install in IDE.
On Windows, Build Tools installation might be necessary
@data 21.11.2019
""" """
import datetime import datetime
from fsfwgen.objects.objects import sql_object_exporter, ObjectDefinitionParser, write_translation_file, \ from fsfwgen.core import get_console_logger
from fsfwgen.objects.objects import sql_object_exporter, ObjectDefinitionParser, \
write_translation_file, \
export_object_file, write_translation_header_file export_object_file, write_translation_header_file
from fsfwgen.utility.printer import PrettyPrinter from fsfwgen.utility.printer import PrettyPrinter
from fsfwgen.utility.file_management import copy_file, move_file from fsfwgen.utility.file_management import copy_file, move_file
from definitions import BspType, DATABASE_NAME from definitions import BspType, DATABASE_NAME, OBSW_ROOT_DIR, ROOT_DIR
LOGGER = get_console_logger()
DATE_TODAY = datetime.datetime.now() DATE_TODAY = datetime.datetime.now()
DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S") DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S")
@ -31,23 +27,23 @@ GENERATE_HEADER = True
BSP_SELECT = BspType.BSP_Q7S BSP_SELECT = BspType.BSP_Q7S
BSP_DIR_NAME = BSP_SELECT.value BSP_DIR_NAME = BSP_SELECT.value
if BSP_SELECT == BspType.BSP_Q7S or BSP_SELECT == BspType.BSP_LINUX_BOARD: if BSP_SELECT == BspType.BSP_Q7S or BSP_SELECT == BspType.BSP_LINUX_BOARD:
FSFW_CONFIG_ROOT = f"../../linux/fsfwconfig" FSFW_CONFIG_ROOT = f"{OBSW_ROOT_DIR}/linux/fsfwconfig"
else: else:
FSFW_CONFIG_ROOT = f"../../{BSP_DIR_NAME}/fsfwconfig" FSFW_CONFIG_ROOT = f"{OBSW_ROOT_DIR}/{BSP_DIR_NAME}/fsfwconfig"
EXPORT_TO_SQL = True EXPORT_TO_SQL = True
CPP_COPY_DESTINATION = f"{FSFW_CONFIG_ROOT}/objects/" CPP_COPY_DESTINATION = f"{FSFW_CONFIG_ROOT}/objects/"
CSV_MOVE_DESTINATION = "../" CSV_MOVE_DESTINATION = f"{ROOT_DIR}"
CPP_FILENAME = "translateObjects.cpp" CPP_FILENAME = f'{__package__}/translateObjects.cpp'
CPP_H_FILENAME = "translateObjects.h" CPP_H_FILENAME = f'{__package__}/translateObjects.h'
CSV_OBJECT_FILENAME = f"{BSP_SELECT.value}_objects.csv" CSV_OBJECT_FILENAME = f"{BSP_SELECT.value}_objects.csv"
FILE_SEPARATOR = ";" FILE_SEPARATOR = ";"
OBJECTS_PATH = f"{FSFW_CONFIG_ROOT}/objects/systemObjectList.h" OBJECTS_PATH = f"{FSFW_CONFIG_ROOT}/objects/systemObjectList.h"
FRAMEWORK_OBJECT_PATH = "../../fsfw/objectmanager/frameworkObjects.h" FRAMEWORK_OBJECT_PATH = f'{OBSW_ROOT_DIR}/fsfw/src/fsfw/objectmanager/frameworkObjects.h'
COMMON_OBJECTS_PATH = "../../common/config/commonObjects.h" COMMON_OBJECTS_PATH = f'{OBSW_ROOT_DIR}/common/config/commonObjects.h'
OBJECTS_DEFINITIONS = [OBJECTS_PATH, FRAMEWORK_OBJECT_PATH, COMMON_OBJECTS_PATH] OBJECTS_DEFINITIONS = [OBJECTS_PATH, FRAMEWORK_OBJECT_PATH, COMMON_OBJECTS_PATH]
SQL_DELETE_OBJECTS_CMD = """ SQL_DELETE_OBJECTS_CMD = """
@ -68,33 +64,33 @@ VALUES(?,?)
""" """
def main(): def parse_objects(print_object_list: bool = True):
print("Parsing objects: ")
list_items = parse_objects()
handle_file_export(list_items)
if EXPORT_TO_SQL:
print("ObjectParser: Exporting to SQL")
sql_object_exporter(
object_table=list_items, delete_cmd=SQL_DELETE_OBJECTS_CMD, insert_cmd=SQL_INSERT_INTO_OBJECTS_CMD,
create_cmd=SQL_CREATE_OBJECTS_CMD, db_filename=f"../{DATABASE_NAME}"
)
def parse_objects():
# fetch objects # fetch objects
object_parser = ObjectDefinitionParser(OBJECTS_DEFINITIONS) object_parser = ObjectDefinitionParser(OBJECTS_DEFINITIONS)
subsystem_definitions = object_parser.parse_files() subsystem_definitions = object_parser.parse_files()
# id_subsystem_definitions.update(framework_subsystem_definitions) # id_subsystem_definitions.update(framework_subsystem_definitions)
list_items = sorted(subsystem_definitions.items()) list_items = sorted(subsystem_definitions.items())
PrettyPrinter.pprint(list_items) LOGGER.info(f'ObjectParser: Number of objects: {len(list_items)}')
print("ObjectParser: Number of objects: ", len(list_items))
return list_items if print_object_list:
PrettyPrinter.pprint(list_items)
handle_file_export(list_items)
if EXPORT_TO_SQL:
LOGGER.info('ObjectParser: Exporting to SQL')
sql_object_exporter(
object_table=list_items, delete_cmd=SQL_DELETE_OBJECTS_CMD,
insert_cmd=SQL_INSERT_INTO_OBJECTS_CMD,
create_cmd=SQL_CREATE_OBJECTS_CMD, db_filename=f"{ROOT_DIR}/{DATABASE_NAME}"
)
def handle_file_export(list_items): def handle_file_export(list_items):
if GENERATE_CPP: if GENERATE_CPP:
print("ObjectParser: Generating translation C++ file.") LOGGER.info('ObjectParser: Generating translation C++ file')
write_translation_file(filename=CPP_FILENAME, list_of_entries=list_items, date_string_full=DATE_STRING_FULL) write_translation_file(
filename=CPP_FILENAME, list_of_entries=list_items, date_string_full=DATE_STRING_FULL
)
if COPY_CPP: if COPY_CPP:
print("ObjectParser: Copying object file to " + CPP_COPY_DESTINATION) print("ObjectParser: Copying object file to " + CPP_COPY_DESTINATION)
copy_file(CPP_FILENAME, CPP_COPY_DESTINATION) copy_file(CPP_FILENAME, CPP_COPY_DESTINATION)
@ -103,10 +99,6 @@ def handle_file_export(list_items):
copy_file(filename=CPP_H_FILENAME, destination=CPP_COPY_DESTINATION) copy_file(filename=CPP_H_FILENAME, destination=CPP_COPY_DESTINATION)
if GENERATE_CSV: if GENERATE_CSV:
print("ObjectParser: Generating text export.") print("ObjectParser: Generating text export.")
export_object_file(filename=CSV_OBJECT_FILENAME, object_list=list_items, file_separator=FILE_SEPARATOR) export_object_file(
if MOVE_CSV: filename=CSV_OBJECT_FILENAME, object_list=list_items, file_separator=FILE_SEPARATOR
move_file(file_name=CSV_OBJECT_FILENAME, destination=CSV_MOVE_DESTINATION) )
if __name__ == "__main__":
main()

View File

@ -1,8 +1,8 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file.
* @details * @details
* Contains 102 translations. * Contains 103 translations.
* Generated on: 2021-07-10 16:22:55 * Generated on: 2021-08-02 13:00:48
*/ */
#include "translateObjects.h" #include "translateObjects.h"
@ -76,8 +76,9 @@ const char *I2C_COM_IF_STRING = "I2C_COM_IF";
const char *CSP_COM_IF_STRING = "CSP_COM_IF"; const char *CSP_COM_IF_STRING = "CSP_COM_IF";
const char *CCSDS_PACKET_DISTRIBUTOR_STRING = "CCSDS_PACKET_DISTRIBUTOR"; const char *CCSDS_PACKET_DISTRIBUTOR_STRING = "CCSDS_PACKET_DISTRIBUTOR";
const char *PUS_PACKET_DISTRIBUTOR_STRING = "PUS_PACKET_DISTRIBUTOR"; const char *PUS_PACKET_DISTRIBUTOR_STRING = "PUS_PACKET_DISTRIBUTOR";
const char *UDP_BRIDGE_STRING = "UDP_BRIDGE"; const char *TMTC_BRIDGE_STRING = "TMTC_BRIDGE";
const char *UDP_POLLING_TASK_STRING = "UDP_POLLING_TASK"; const char *TMTC_POLLING_TASK_STRING = "TMTC_POLLING_TASK";
const char *FILE_SYSTEM_HANDLER_STRING = "FILE_SYSTEM_HANDLER";
const char *PUS_SERVICE_6_STRING = "PUS_SERVICE_6"; const char *PUS_SERVICE_6_STRING = "PUS_SERVICE_6";
const char *FSFW_OBJECTS_START_STRING = "FSFW_OBJECTS_START"; const char *FSFW_OBJECTS_START_STRING = "FSFW_OBJECTS_START";
const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION"; const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION";
@ -252,9 +253,11 @@ const char* translateObject(object_id_t object) {
case 0x50000200: case 0x50000200:
return PUS_PACKET_DISTRIBUTOR_STRING; return PUS_PACKET_DISTRIBUTOR_STRING;
case 0x50000300: case 0x50000300:
return UDP_BRIDGE_STRING; return TMTC_BRIDGE_STRING;
case 0x50000400: case 0x50000400:
return UDP_POLLING_TASK_STRING; return TMTC_POLLING_TASK_STRING;
case 0x50000500:
return FILE_SYSTEM_HANDLER_STRING;
case 0x51000500: case 0x51000500:
return PUS_SERVICE_6_STRING; return PUS_SERVICE_6_STRING;
case 0x53000000: case 0x53000000:

View File

@ -9,13 +9,15 @@ Returnvalue exporter.
To use MySQLdb, run pip install mysqlclient or install in IDE. On Windows, Build Tools installation might be necessary. To use MySQLdb, run pip install mysqlclient or install in IDE. On Windows, Build Tools installation might be necessary.
:data: 21.11.2019 :data: 21.11.2019
""" """
from fsfwgen.core import get_console_logger
from fsfwgen.parserbase.file_list_parser import FileListParser from fsfwgen.parserbase.file_list_parser import FileListParser
from fsfwgen.returnvalues.returnvalues_parser import InterfaceParser, ReturnValueParser from fsfwgen.returnvalues.returnvalues_parser import InterfaceParser, ReturnValueParser
from fsfwgen.utility.sql_writer import SqlWriter from fsfwgen.utility.sql_writer import SqlWriter
from fsfwgen.utility.file_management import move_file from fsfwgen.utility.printer import PrettyPrinter
from definitions import BspType, DATABASE_NAME from definitions import BspType, DATABASE_NAME, ROOT_DIR, OBSW_ROOT_DIR
LOGGER = get_console_logger()
EXPORT_TO_FILE = True EXPORT_TO_FILE = True
MOVE_CSV_FILE = True MOVE_CSV_FILE = True
EXPORT_TO_SQL = True EXPORT_TO_SQL = True
@ -27,28 +29,28 @@ MAX_STRING_LENGTH = 32
BSP_SELECT = BspType.BSP_Q7S BSP_SELECT = BspType.BSP_Q7S
BSP_DIR_NAME = BSP_SELECT.value BSP_DIR_NAME = BSP_SELECT.value
CSV_RETVAL_FILENAME = f"{BSP_SELECT.value}_returnvalues.csv" CSV_RETVAL_FILENAME = f'{BSP_SELECT.value}_returnvalues.csv'
CSV_MOVE_DESTINATION = "../" CSV_MOVE_DESTINATION = f'{ROOT_DIR}'
ADD_LINUX_FOLDER = False ADD_LINUX_FOLDER = False
if BSP_SELECT == BspType.BSP_Q7S or BSP_SELECT == BspType.BSP_LINUX_BOARD: if BSP_SELECT == BspType.BSP_Q7S or BSP_SELECT == BspType.BSP_LINUX_BOARD:
FSFW_CONFIG_ROOT = f"../../linux/fsfwconfig" FSFW_CONFIG_ROOT = f'{OBSW_ROOT_DIR}/linux/fsfwconfig'
ADD_LINUX_FOLDER = True ADD_LINUX_FOLDER = True
else: else:
FSFW_CONFIG_ROOT = f"../../{BSP_DIR_NAME}/fsfwconfig" FSFW_CONFIG_ROOT = f'{OBSW_ROOT_DIR}/{BSP_DIR_NAME}/fsfwconfig'
BSP_PATH = f"../../{BSP_DIR_NAME}" BSP_PATH = f"{OBSW_ROOT_DIR}/{BSP_DIR_NAME}"
INTERFACE_DEFINITION_FILES = [ INTERFACE_DEFINITION_FILES = [
"../../fsfw/returnvalues/FwClassIds.h", f'{OBSW_ROOT_DIR}/fsfw/src/fsfw/returnvalues/FwClassIds.h',
"../../common/config/commonClassIds.h", f'{OBSW_ROOT_DIR}/common/config/commonClassIds.h',
f"{FSFW_CONFIG_ROOT}/returnvalues/classIds.h" f'{FSFW_CONFIG_ROOT}/returnvalues/classIds.h'
] ]
RETURNVALUE_DESTINATIONS = [ RETURNVALUE_SOURCES = [
"../../mission/", "../../fsfw/", f"{BSP_PATH}" f'{OBSW_ROOT_DIR}/mission/', f'{OBSW_ROOT_DIR}/fsfw/', f'{BSP_PATH}'
] ]
if ADD_LINUX_FOLDER: if ADD_LINUX_FOLDER:
RETURNVALUE_DESTINATIONS.append("../../linux") RETURNVALUE_SOURCES.append(f'{OBSW_ROOT_DIR}/linux')
SQL_DELETE_RETURNVALUES_CMD = """ SQL_DELETE_RETURNVALUES_CMD = """
DROP TABLE IF EXISTS Returnvalues DROP TABLE IF EXISTS Returnvalues
@ -71,42 +73,41 @@ VALUES(?,?,?,?,?)
""" """
def main(): def parse_returnvalues():
returnvalue_table = parse_returnvalues() returnvalue_table = generate_returnvalue_table()
print("")
if EXPORT_TO_FILE: if EXPORT_TO_FILE:
ReturnValueParser.export_to_file(CSV_RETVAL_FILENAME, returnvalue_table, FILE_SEPARATOR) ReturnValueParser.export_to_file(CSV_RETVAL_FILENAME, returnvalue_table, FILE_SEPARATOR)
if MOVE_CSV_FILE: # if MOVE_CSV_FILE:
move_file(file_name=CSV_RETVAL_FILENAME, destination=CSV_MOVE_DESTINATION) # move_file(file_name=CSV_RETVAL_FILENAME, destination=CSV_MOVE_DESTINATION)
if EXPORT_TO_SQL: if EXPORT_TO_SQL:
print("ReturnvalueParser: Exporting to SQL") LOGGER.info('ReturnvalueParser: Exporting to SQL')
sql_retval_exporter(returnvalue_table=returnvalue_table, db_file_dest=f"../{DATABASE_NAME}") sql_retval_exporter(returnvalue_table, db_filename=f"{ROOT_DIR}/{DATABASE_NAME}")
def parse_returnvalues(): def generate_returnvalue_table():
""" Core function to parse for the return values """ """ Core function to parse for the return values """
interface_parser = InterfaceParser(file_list=INTERFACE_DEFINITION_FILES, print_table=PRINT_TABLES) interface_parser = InterfaceParser(
file_list=INTERFACE_DEFINITION_FILES, print_table=PRINT_TABLES
)
interfaces = interface_parser.parse_files() interfaces = interface_parser.parse_files()
header_parser = FileListParser(RETURNVALUE_DESTINATIONS) header_parser = FileListParser(RETURNVALUE_SOURCES)
header_list = header_parser.parse_header_files(True, "Parsing header file list: ") header_list = header_parser.parse_header_files(True, "Parsing header file list: ")
print("")
returnvalue_parser = ReturnValueParser(interfaces, header_list, PRINT_TABLES) returnvalue_parser = ReturnValueParser(interfaces, header_list, PRINT_TABLES)
returnvalue_parser.set_moving_window_mode(moving_window_size=7) returnvalue_parser.set_moving_window_mode(moving_window_size=7)
returnvalue_table = returnvalue_parser.parse_files(True) returnvalue_table = returnvalue_parser.parse_files(True)
print(f"ReturnvalueParser: Found {len(returnvalue_table)} returnvalues.") LOGGER.info(f"ReturnvalueParser: Found {len(returnvalue_table)} returnvalues")
return returnvalue_table return returnvalue_table
def sql_retval_exporter(returnvalue_table, db_file_dest: str): def sql_retval_exporter(returnvalue_table, db_filename: str):
sql_writer = SqlWriter(db_filename=db_file_dest) sql_writer = SqlWriter(db_filename=db_filename)
sql_writer.open(SQL_CREATE_RETURNVALUES_CMD) sql_writer.open(SQL_CREATE_RETURNVALUES_CMD)
for entry in returnvalue_table.items(): for entry in returnvalue_table.items():
sql_writer.write_entries( sql_writer.write_entries(
SQL_INSERT_RETURNVALUES_CMD, SQL_INSERT_RETURNVALUES_CMD, (entry[0],
(entry[0], entry[1][2], entry[1][4], entry[1][3], entry[1][1])) entry[1][2],
entry[1][4],
entry[1][3],
entry[1][1]))
sql_writer.commit() sql_writer.commit()
sql_writer.close() sql_writer.close()
if __name__ == "__main__":
main()

View File

@ -24,6 +24,13 @@ class HeaterHandler: public ExecutableObjectIF,
public SystemObject, public SystemObject,
public HasActionsIF { public HasActionsIF {
public: public:
static const uint8_t INTERFACE_ID = CLASS_ID::HEATER_HANDLER;
static const ReturnValue_t COMMAND_NOT_SUPPORTED = MAKE_RETURN_CODE(0xA1);
static const ReturnValue_t INIT_FAILED = MAKE_RETURN_CODE(0xA2);
static const ReturnValue_t INVALID_SWITCH_NR = MAKE_RETURN_CODE(0xA3);
static const ReturnValue_t MAIN_SWITCH_SET_TIMEOUT = MAKE_RETURN_CODE(0xA4);
static const ReturnValue_t COMMAND_ALREADY_WAITING = MAKE_RETURN_CODE(0xA5);
/** Device command IDs */ /** Device command IDs */
static const DeviceCommandId_t SWITCH_HEATER = 0x0; static const DeviceCommandId_t SWITCH_HEATER = 0x0;
@ -52,14 +59,6 @@ public:
private: private:
static const uint8_t INTERFACE_ID = CLASS_ID::HEATER_HANDLER;
static const ReturnValue_t COMMAND_NOT_SUPPORTED = MAKE_RETURN_CODE(0xA1);
static const ReturnValue_t INIT_FAILED = MAKE_RETURN_CODE(0xA2);
static const ReturnValue_t INVALID_SWITCH_NR = MAKE_RETURN_CODE(0xA3);
static const ReturnValue_t MAIN_SWITCH_SET_TIMEOUT = MAKE_RETURN_CODE(0xA4);
static const ReturnValue_t COMMAND_ALREADY_WAITING = MAKE_RETURN_CODE(0xA5);
static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::HEATER_HANDLER; static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::HEATER_HANDLER;
static const Event GPIO_PULL_HIGH_FAILED = MAKE_EVENT(0, severity::LOW); static const Event GPIO_PULL_HIGH_FAILED = MAKE_EVENT(0, severity::LOW);
static const Event GPIO_PULL_LOW_FAILED = MAKE_EVENT(1, severity::LOW); static const Event GPIO_PULL_LOW_FAILED = MAKE_EVENT(1, severity::LOW);

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 96 translations. * @brief Auto-generated event translation file. Contains 96 translations.
* @details * @details
* Generated on: 2021-07-12 15:20:38 * Generated on: 2021-08-02 11:41:47
*/ */
#include "translateEvents.h" #include "translateEvents.h"

View File

@ -1,7 +1,7 @@
#ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #ifndef FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_
#define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_ #define FSFWCONFIG_EVENTS_TRANSLATEEVENTS_H_
#include <fsfw/events/Event.h> #include "fsfw/events/Event.h"
const char * translateEvents(Event event); const char * translateEvents(Event event);

View File

@ -1,8 +1,8 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file.
* @details * @details
* Contains 102 translations. * Contains 103 translations.
* Generated on: 2021-07-10 16:22:55 * Generated on: 2021-08-02 13:00:48
*/ */
#include "translateObjects.h" #include "translateObjects.h"
@ -76,8 +76,9 @@ const char *I2C_COM_IF_STRING = "I2C_COM_IF";
const char *CSP_COM_IF_STRING = "CSP_COM_IF"; const char *CSP_COM_IF_STRING = "CSP_COM_IF";
const char *CCSDS_PACKET_DISTRIBUTOR_STRING = "CCSDS_PACKET_DISTRIBUTOR"; const char *CCSDS_PACKET_DISTRIBUTOR_STRING = "CCSDS_PACKET_DISTRIBUTOR";
const char *PUS_PACKET_DISTRIBUTOR_STRING = "PUS_PACKET_DISTRIBUTOR"; const char *PUS_PACKET_DISTRIBUTOR_STRING = "PUS_PACKET_DISTRIBUTOR";
const char *UDP_BRIDGE_STRING = "UDP_BRIDGE"; const char *TMTC_BRIDGE_STRING = "TMTC_BRIDGE";
const char *UDP_POLLING_TASK_STRING = "UDP_POLLING_TASK"; const char *TMTC_POLLING_TASK_STRING = "TMTC_POLLING_TASK";
const char *FILE_SYSTEM_HANDLER_STRING = "FILE_SYSTEM_HANDLER";
const char *PUS_SERVICE_6_STRING = "PUS_SERVICE_6"; const char *PUS_SERVICE_6_STRING = "PUS_SERVICE_6";
const char *FSFW_OBJECTS_START_STRING = "FSFW_OBJECTS_START"; const char *FSFW_OBJECTS_START_STRING = "FSFW_OBJECTS_START";
const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION"; const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION";
@ -252,9 +253,11 @@ const char* translateObject(object_id_t object) {
case 0x50000200: case 0x50000200:
return PUS_PACKET_DISTRIBUTOR_STRING; return PUS_PACKET_DISTRIBUTOR_STRING;
case 0x50000300: case 0x50000300:
return UDP_BRIDGE_STRING; return TMTC_BRIDGE_STRING;
case 0x50000400: case 0x50000400:
return UDP_POLLING_TASK_STRING; return TMTC_POLLING_TASK_STRING;
case 0x50000500:
return FILE_SYSTEM_HANDLER_STRING;
case 0x51000500: case 0x51000500:
return PUS_SERVICE_6_STRING; return PUS_SERVICE_6_STRING;
case 0x53000000: case 0x53000000:

View File

@ -12,6 +12,7 @@
namespace CLASS_ID { namespace CLASS_ID {
enum { enum {
CLASS_ID_START = COMMON_CLASS_ID_END, CLASS_ID_START = COMMON_CLASS_ID_END,
GOM_SPACE_HANDLER, //GOMS
SA_DEPL_HANDLER, //SADPL SA_DEPL_HANDLER, //SADPL
SD_CARD_MANAGER, //SDMA SD_CARD_MANAGER, //SDMA
SCRATCH_BUFFER, //SCBU SCRATCH_BUFFER, //SCBU

View File

@ -5,7 +5,8 @@ GomspaceDeviceHandler::GomspaceDeviceHandler(object_id_t objectId, object_id_t c
CookieIF * comCookie, uint16_t maxConfigTableAddress, uint16_t maxHkTableAddress, CookieIF * comCookie, uint16_t maxConfigTableAddress, uint16_t maxHkTableAddress,
uint16_t hkTableReplySize, LocalPoolDataSetBase* hkTableDataset) : uint16_t hkTableReplySize, LocalPoolDataSetBase* hkTableDataset) :
DeviceHandlerBase(objectId, comIF, comCookie), maxConfigTableAddress(maxConfigTableAddress), DeviceHandlerBase(objectId, comIF, comCookie), maxConfigTableAddress(maxConfigTableAddress),
maxHkTableAddress(maxHkTableAddress), hkTableReplySize(hkTableReplySize), hkTableDataset(hkTableDataset) { maxHkTableAddress(maxHkTableAddress), hkTableReplySize(hkTableReplySize),
hkTableDataset(hkTableDataset) {
if (comCookie == NULL) { if (comCookie == NULL) {
sif::error << "GomspaceDeviceHandler::GomspaceDeviceHandler: Invalid com cookie" sif::error << "GomspaceDeviceHandler::GomspaceDeviceHandler: Invalid com cookie"
<< std::endl; << std::endl;
@ -28,157 +29,157 @@ void GomspaceDeviceHandler::doShutDown(){
} }
ReturnValue_t GomspaceDeviceHandler::buildNormalDeviceCommand( ReturnValue_t GomspaceDeviceHandler::buildNormalDeviceCommand(
DeviceCommandId_t * id) { DeviceCommandId_t * id) {
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
ReturnValue_t GomspaceDeviceHandler::buildTransitionDeviceCommand( ReturnValue_t GomspaceDeviceHandler::buildTransitionDeviceCommand(
DeviceCommandId_t * id){ DeviceCommandId_t * id){
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
ReturnValue_t GomspaceDeviceHandler::buildCommandFromCommand( ReturnValue_t GomspaceDeviceHandler::buildCommandFromCommand(
DeviceCommandId_t deviceCommand, const uint8_t * commandData, DeviceCommandId_t deviceCommand, const uint8_t * commandData,
size_t commandDataLen) { size_t commandDataLen) {
ReturnValue_t result; ReturnValue_t result;
switch(deviceCommand) { switch(deviceCommand) {
case(GOMSPACE::PING): { case(GOMSPACE::PING): {
result = generatePingCommand(commandData, commandDataLen); result = generatePingCommand(commandData, commandDataLen);
if(result != HasReturnvaluesIF::RETURN_OK) { if(result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
break;
}
case(GOMSPACE::REBOOT): {
generateRebootCommand();
break;
}
case(GOMSPACE::PARAM_SET):{
result = generateSetParamCommand(commandData, commandDataLen);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
break;
}
case(GOMSPACE::PARAM_GET):{
result = generateGetParamCommand(commandData, commandDataLen);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
break;
}
case(GOMSPACE::GNDWDT_RESET): {
result = generateResetWatchdogCmd();
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
break;
}
case(GOMSPACE::REQUEST_HK_TABLE): {
result = generateRequestFullHkTableCmd(hkTableReplySize);
if(result != HasReturnvaluesIF::RETURN_OK){
return result; return result;
} }
break; break;
} }
default: case(GOMSPACE::REBOOT): {
return DeviceHandlerIF::COMMAND_NOT_IMPLEMENTED; generateRebootCommand();
} break;
return HasReturnvaluesIF::RETURN_OK; }
case(GOMSPACE::PARAM_SET):{
result = generateSetParamCommand(commandData, commandDataLen);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
break;
}
case(GOMSPACE::PARAM_GET):{
result = generateGetParamCommand(commandData, commandDataLen);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
break;
}
case(GOMSPACE::GNDWDT_RESET): {
result = generateResetWatchdogCmd();
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
break;
}
case(GOMSPACE::REQUEST_HK_TABLE): {
result = generateRequestFullHkTableCmd(hkTableReplySize);
if(result != HasReturnvaluesIF::RETURN_OK){
return result;
}
break;
}
default:
return DeviceHandlerIF::COMMAND_NOT_IMPLEMENTED;
}
return HasReturnvaluesIF::RETURN_OK;
} }
void GomspaceDeviceHandler::fillCommandAndReplyMap(){ void GomspaceDeviceHandler::fillCommandAndReplyMap(){
this->insertInCommandAndReplyMap(GOMSPACE::PING, 3); this->insertInCommandAndReplyMap(GOMSPACE::PING, 3);
this->insertInCommandMap(GOMSPACE::REBOOT); this->insertInCommandMap(GOMSPACE::REBOOT);
this->insertInCommandAndReplyMap(GOMSPACE::PARAM_SET, 3); this->insertInCommandAndReplyMap(GOMSPACE::PARAM_SET, 3);
this->insertInCommandAndReplyMap(GOMSPACE::PARAM_GET, 3); this->insertInCommandAndReplyMap(GOMSPACE::PARAM_GET, 3);
this->insertInCommandAndReplyMap(GOMSPACE::REQUEST_HK_TABLE, 3); this->insertInCommandAndReplyMap(GOMSPACE::REQUEST_HK_TABLE, 3);
this->insertInCommandMap(GOMSPACE::GNDWDT_RESET); this->insertInCommandMap(GOMSPACE::GNDWDT_RESET);
} }
ReturnValue_t GomspaceDeviceHandler::scanForReply(const uint8_t *start, ReturnValue_t GomspaceDeviceHandler::scanForReply(const uint8_t *start,
size_t remainingSize, DeviceCommandId_t *foundId, size_t *foundLen) { size_t remainingSize, DeviceCommandId_t *foundId, size_t *foundLen) {
switch(rememberCommandId) { switch(rememberCommandId) {
case(GOMSPACE::PING): case(GOMSPACE::PING):
*foundId = GOMSPACE::PING; *foundId = GOMSPACE::PING;
*foundLen = PING_REPLY_SIZE; *foundLen = PING_REPLY_SIZE;
rememberCommandId = GOMSPACE::NONE; rememberCommandId = GOMSPACE::NONE;
break; break;
case(GOMSPACE::PARAM_GET): { case(GOMSPACE::PARAM_GET): {
*foundId = GOMSPACE::PARAM_GET; *foundId = GOMSPACE::PARAM_GET;
*foundLen = rememberRequestedSize + GOMSPACE::GS_HDR_LENGTH; *foundLen = rememberRequestedSize + GOMSPACE::GS_HDR_LENGTH;
rememberCommandId = GOMSPACE::NONE; rememberCommandId = GOMSPACE::NONE;
break; break;
} }
case(GOMSPACE::PARAM_SET): { case(GOMSPACE::PARAM_SET): {
*foundId = GOMSPACE::PARAM_SET; *foundId = GOMSPACE::PARAM_SET;
*foundLen = rememberRequestedSize; *foundLen = rememberRequestedSize;
rememberCommandId = GOMSPACE::NONE; rememberCommandId = GOMSPACE::NONE;
break; break;
} }
case(GOMSPACE::REQUEST_HK_TABLE): { case(GOMSPACE::REQUEST_HK_TABLE): {
*foundId = GOMSPACE::REQUEST_HK_TABLE; *foundId = GOMSPACE::REQUEST_HK_TABLE;
*foundLen = rememberRequestedSize + GOMSPACE::GS_HDR_LENGTH; *foundLen = rememberRequestedSize + GOMSPACE::GS_HDR_LENGTH;
rememberCommandId = GOMSPACE::NONE; rememberCommandId = GOMSPACE::NONE;
break; break;
} }
default: default:
return IGNORE_REPLY_DATA; return IGNORE_REPLY_DATA;
} }
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
ReturnValue_t GomspaceDeviceHandler::interpretDeviceReply(DeviceCommandId_t id, ReturnValue_t GomspaceDeviceHandler::interpretDeviceReply(DeviceCommandId_t id,
const uint8_t *packet) { const uint8_t *packet) {
switch(id) { switch(id) {
case(GOMSPACE::PING): { case(GOMSPACE::PING): {
SerializeElement<uint32_t> replyTime = *packet; SerializeElement<uint32_t> replyTime = *packet;
handleDeviceTM(&replyTime, id, true); handleDeviceTM(&replyTime, id, true);
break; break;
} }
case(GOMSPACE::PARAM_GET): { case(GOMSPACE::PARAM_GET): {
// -2 to subtract address size from gomspace parameter reply packet // -2 to subtract address size from gomspace parameter reply packet
uint16_t payloadLength = (*(packet + 2) << 8 | *(packet + 3)) - 2; uint16_t payloadLength = (*(packet + 2) << 8 | *(packet + 3)) - 2;
if(payloadLength > sizeof(uint32_t)){ if(payloadLength > sizeof(uint32_t)){
sif::error << "GomspaceDeviceHandler: PARAM_GET: Invalid payload " sif::error << "GomspaceDeviceHandler: PARAM_GET: Invalid payload "
<< "size in reply" << std::endl; << "size in reply" << std::endl;
return INVALID_PAYLOAD_SIZE; return INVALID_PAYLOAD_SIZE;
} }
uint8_t tempPayloadBuffer[payloadLength]; uint8_t tempPayloadBuffer[payloadLength];
/* Extract information from received data */ /* Extract information from received data */
CspGetParamReply cspGetParamReply(tempPayloadBuffer, payloadLength); CspGetParamReply cspGetParamReply(tempPayloadBuffer, payloadLength);
size_t size = GOMSPACE::GS_HDR_LENGTH + payloadLength; size_t size = GOMSPACE::GS_HDR_LENGTH + payloadLength;
ReturnValue_t result = cspGetParamReply.deSerialize(&packet, &size, ReturnValue_t result = cspGetParamReply.deSerialize(&packet, &size,
SerializeIF::Endianness::BIG); SerializeIF::Endianness::BIG);
if(result != HasReturnvaluesIF::RETURN_OK){ if(result != HasReturnvaluesIF::RETURN_OK){
sif::error << "GomspaceDeviceHandler: Failed to deserialize get parameter" sif::error << "GomspaceDeviceHandler: Failed to deserialize get parameter"
<< "reply" << std::endl; << "reply" << std::endl;
return result; return result;
} }
uint8_t action = cspGetParamReply.getAction(); uint8_t action = cspGetParamReply.getAction();
uint8_t tableId = cspGetParamReply.getTableId(); uint8_t tableId = cspGetParamReply.getTableId();
uint16_t address = cspGetParamReply.getAddress(); uint16_t address = cspGetParamReply.getAddress();
/* Pack relevant information into a tm packet */ /* Pack relevant information into a tm packet */
ParamReply paramReply(action, tableId, address, payloadLength, ParamReply paramReply(action, tableId, address, payloadLength,
tempPayloadBuffer); tempPayloadBuffer);
handleDeviceTM(&paramReply, id, true); handleDeviceTM(&paramReply, id, true);
break; break;
} }
case(GOMSPACE::PARAM_SET): { case(GOMSPACE::PARAM_SET): {
/* When setting a parameter, the p60dock sends back the state of the /* When setting a parameter, the p60dock sends back the state of the
* operation */ * operation */
if(*packet != PARAM_SET_OK){ if(*packet != PARAM_SET_OK){
return HasReturnvaluesIF::RETURN_FAILED; return HasReturnvaluesIF::RETURN_FAILED;
} }
break; break;
} }
case(GOMSPACE::REQUEST_HK_TABLE): { case(GOMSPACE::REQUEST_HK_TABLE): {
letChildHandleHkReply(id, packet); letChildHandleHkReply(id, packet);
break; break;
} }
default: default:
break; break;
} }
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
@ -187,173 +188,173 @@ void GomspaceDeviceHandler::setNormalDatapoolEntriesInvalid(){
} }
ReturnValue_t GomspaceDeviceHandler::generateSetParamCommand( ReturnValue_t GomspaceDeviceHandler::generateSetParamCommand(
const uint8_t * commandData, size_t commandDataLen) { const uint8_t * commandData, size_t commandDataLen) {
SetParamMessageUnpacker setParamMessageUnpacker; SetParamMessageUnpacker setParamMessageUnpacker;
ReturnValue_t result = setParamMessageUnpacker.deSerialize(&commandData, ReturnValue_t result = setParamMessageUnpacker.deSerialize(&commandData,
&commandDataLen, SerializeIF::Endianness::BIG); &commandDataLen, SerializeIF::Endianness::BIG);
if(result != HasReturnvaluesIF::RETURN_OK){ if(result != HasReturnvaluesIF::RETURN_OK){
sif::error << "GomspaceDeviceHandler: Failed to deserialize set parameter " sif::error << "GomspaceDeviceHandler: Failed to deserialize set parameter "
"message" << std::endl; "message" << std::endl;
return result; return result;
} }
/* Get and check address */ /* Get and check address */
uint16_t address = setParamMessageUnpacker.getAddress(); uint16_t address = setParamMessageUnpacker.getAddress();
if(address > maxConfigTableAddress){ if(address > maxConfigTableAddress){
sif::error << "GomspaceDeviceHandler: Invalid address for set parameter " sif::error << "GomspaceDeviceHandler: Invalid address for set parameter "
<< "action" << std::endl; << "action" << std::endl;
return INVALID_ADDRESS; return INVALID_ADDRESS;
} }
uint16_t checksum = GOMSPACE::IGNORE_CHECKSUM; uint16_t checksum = GOMSPACE::IGNORE_CHECKSUM;
uint16_t seq = 0; uint16_t seq = 0;
uint16_t total = 0; uint16_t total = 0;
/* CSP reply only contains the transaction state */ /* CSP reply only contains the transaction state */
uint16_t querySize = 1; uint16_t querySize = 1;
const uint8_t* parameterPtr = setParamMessageUnpacker.getParameter(); const uint8_t* parameterPtr = setParamMessageUnpacker.getParameter();
uint8_t parameterSize = setParamMessageUnpacker.getParameterSize(); uint8_t parameterSize = setParamMessageUnpacker.getParameterSize();
uint16_t payloadlength = sizeof(address) + parameterSize; uint16_t payloadlength = sizeof(address) + parameterSize;
/* Generate command for CspComIF */ /* Generate command for CspComIF */
CspSetParamCommand setParamCmd(querySize, payloadlength, checksum, seq, CspSetParamCommand setParamCmd(querySize, payloadlength, checksum, seq,
total, address, parameterPtr, parameterSize); total, address, parameterPtr, parameterSize);
size_t cspPacketLen = 0; size_t cspPacketLen = 0;
uint8_t* buffer = cspPacket; uint8_t* buffer = cspPacket;
result = setParamCmd.serialize(&buffer, &cspPacketLen, sizeof(cspPacket), result = setParamCmd.serialize(&buffer, &cspPacketLen, sizeof(cspPacket),
SerializeIF::Endianness::BIG); SerializeIF::Endianness::BIG);
if(result != HasReturnvaluesIF::RETURN_OK){ if(result != HasReturnvaluesIF::RETURN_OK){
sif::error << "GomspaceDeviceHandler: Failed to serialize command for " sif::error << "GomspaceDeviceHandler: Failed to serialize command for "
<< "CspComIF" << std::endl; << "CspComIF" << std::endl;
return result; return result;
} }
if(cspPacketLen > MAX_PACKET_LEN){ if(cspPacketLen > MAX_PACKET_LEN){
sif::error << "GomspaceDeviceHandler: Invalid length of set parameter " sif::error << "GomspaceDeviceHandler: Invalid length of set parameter "
"command" << std::endl; "command" << std::endl;
return PACKET_TOO_LONG; return PACKET_TOO_LONG;
} }
rawPacket = cspPacket; rawPacket = cspPacket;
rawPacketLen = cspPacketLen; rawPacketLen = cspPacketLen;
rememberRequestedSize = querySize; rememberRequestedSize = querySize;
rememberCommandId = GOMSPACE::PARAM_SET; rememberCommandId = GOMSPACE::PARAM_SET;
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
ReturnValue_t GomspaceDeviceHandler::generateGetParamCommand( ReturnValue_t GomspaceDeviceHandler::generateGetParamCommand(
const uint8_t * commandData, size_t commandDataLen){ const uint8_t * commandData, size_t commandDataLen){
ReturnValue_t result; ReturnValue_t result;
/* Unpack the received action message */ /* Unpack the received action message */
GetParamMessageUnpacker getParamMessage; GetParamMessageUnpacker getParamMessage;
result = getParamMessage.deSerialize(&commandData, &commandDataLen, result = getParamMessage.deSerialize(&commandData, &commandDataLen,
SerializeIF::Endianness::BIG); SerializeIF::Endianness::BIG);
if(result != HasReturnvaluesIF::RETURN_OK) { if(result != HasReturnvaluesIF::RETURN_OK) {
sif::error << "Failed to deserialize message to extract information " sif::error << "Failed to deserialize message to extract information "
"from get parameter message" << std::endl; "from get parameter message" << std::endl;
return result; return result;
} }
/* Get an check table id to read from */ /* Get an check table id to read from */
uint8_t tableId = getParamMessage.getTableId(); uint8_t tableId = getParamMessage.getTableId();
if(tableId != CONFIG_TABLE_ID && tableId != HK_TABLE_ID){ if(tableId != CONFIG_TABLE_ID && tableId != HK_TABLE_ID){
sif::error << "GomspaceDeviceHandler: Invalid table id in get parameter" sif::error << "GomspaceDeviceHandler: Invalid table id in get parameter"
" message" << std::endl; " message" << std::endl;
return INVALID_TABLE_ID; return INVALID_TABLE_ID;
} }
/* Get and check address */ /* Get and check address */
uint16_t address = getParamMessage.getAddress(); uint16_t address = getParamMessage.getAddress();
if(address > maxHkTableAddress && tableId == HK_TABLE_ID){ if(address > maxHkTableAddress && tableId == HK_TABLE_ID){
sif::error << "GomspaceDeviceHandler: Invalid address to get parameter from " sif::error << "GomspaceDeviceHandler: Invalid address to get parameter from "
<< "housekeeping table" << std::endl; << "housekeeping table" << std::endl;
return INVALID_ADDRESS; return INVALID_ADDRESS;
} }
if(address > maxConfigTableAddress && tableId == CONFIG_TABLE_ID){ if(address > maxConfigTableAddress && tableId == CONFIG_TABLE_ID){
sif::error << "GomspaceDeviceHandler: Invalid address to get parameter from " sif::error << "GomspaceDeviceHandler: Invalid address to get parameter from "
<< "configuration table" << std::endl; << "configuration table" << std::endl;
return INVALID_ADDRESS; return INVALID_ADDRESS;
} }
uint16_t length = sizeof(address); uint16_t length = sizeof(address);
uint16_t checksum = GOMSPACE::IGNORE_CHECKSUM; uint16_t checksum = GOMSPACE::IGNORE_CHECKSUM;
uint16_t seq = 0; uint16_t seq = 0;
uint16_t total = 0; uint16_t total = 0;
uint8_t parameterSize = getParamMessage.getParameterSize(); uint8_t parameterSize = getParamMessage.getParameterSize();
if(parameterSize > sizeof(uint32_t)) { if(parameterSize > sizeof(uint32_t)) {
sif::error << "GomspaceDeviceHandler: GET_PARAM: Invalid parameter " sif::error << "GomspaceDeviceHandler: GET_PARAM: Invalid parameter "
<< "size" << std::endl; << "size" << std::endl;
return INVALID_PARAM_SIZE; return INVALID_PARAM_SIZE;
} }
uint16_t querySize = parameterSize + GOMSPACE::GS_HDR_LENGTH; uint16_t querySize = parameterSize + GOMSPACE::GS_HDR_LENGTH;
/* Generate the CSP command to send to the P60 Dock */ /* Generate the CSP command to send to the P60 Dock */
CspGetParamCommand getParamCmd(querySize, tableId, length, CspGetParamCommand getParamCmd(querySize, tableId, length,
checksum, seq, total, address); checksum, seq, total, address);
size_t cspPacketLen = 0; size_t cspPacketLen = 0;
uint8_t* buffer = cspPacket; uint8_t* buffer = cspPacket;
result = getParamCmd.serialize(&buffer, &cspPacketLen, sizeof(cspPacket), result = getParamCmd.serialize(&buffer, &cspPacketLen, sizeof(cspPacket),
SerializeIF::Endianness::BIG); SerializeIF::Endianness::BIG);
if(result != HasReturnvaluesIF::RETURN_OK){ if(result != HasReturnvaluesIF::RETURN_OK){
sif::error << "GomspaceDeviceHandler: Failed to serialize command to " sif::error << "GomspaceDeviceHandler: Failed to serialize command to "
<< "get parameter" << std::endl; << "get parameter" << std::endl;
} }
if(cspPacketLen > MAX_PACKET_LEN){ if(cspPacketLen > MAX_PACKET_LEN){
sif::error << "GomspaceDeviceHandler: Received invalid get parameter " sif::error << "GomspaceDeviceHandler: Received invalid get parameter "
"command" << std::endl; "command" << std::endl;
return PACKET_TOO_LONG; return PACKET_TOO_LONG;
} }
rawPacket = cspPacket; rawPacket = cspPacket;
rawPacketLen = cspPacketLen; rawPacketLen = cspPacketLen;
rememberRequestedSize = querySize; rememberRequestedSize = querySize;
rememberCommandId = GOMSPACE::PARAM_GET; rememberCommandId = GOMSPACE::PARAM_GET;
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
ReturnValue_t GomspaceDeviceHandler::generatePingCommand( ReturnValue_t GomspaceDeviceHandler::generatePingCommand(
const uint8_t * commandData, size_t commandDataLen) { const uint8_t * commandData, size_t commandDataLen) {
CspPingCommand cspPingCommand(commandData, commandDataLen); CspPingCommand cspPingCommand(commandData, commandDataLen);
size_t cspPacketLen = 0; size_t cspPacketLen = 0;
uint8_t* buffer = cspPacket; uint8_t* buffer = cspPacket;
ReturnValue_t result = cspPingCommand.serialize(&buffer, &cspPacketLen, ReturnValue_t result = cspPingCommand.serialize(&buffer, &cspPacketLen,
sizeof(cspPacket), sizeof(cspPacket),
SerializeIF::Endianness::BIG); SerializeIF::Endianness::BIG);
if(result != HasReturnvaluesIF::RETURN_OK){ if(result != HasReturnvaluesIF::RETURN_OK){
sif::error << "GomspaceDeviceHandler: Failed to serialize ping command" sif::error << "GomspaceDeviceHandler: Failed to serialize ping command"
<< std::endl; << std::endl;
return result; return result;
} }
if(cspPacketLen > MAX_PACKET_LEN){ if(cspPacketLen > MAX_PACKET_LEN){
sif::error << "GomspaceDeviceHandler: Received invalid ping message" sif::error << "GomspaceDeviceHandler: Received invalid ping message"
<< std::endl; << std::endl;
return PACKET_TOO_LONG; return PACKET_TOO_LONG;
} }
rawPacket = cspPacket; rawPacket = cspPacket;
rawPacketLen = cspPacketLen; rawPacketLen = cspPacketLen;
rememberCommandId = GOMSPACE::PING; rememberCommandId = GOMSPACE::PING;
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
void GomspaceDeviceHandler::generateRebootCommand(){ void GomspaceDeviceHandler::generateRebootCommand(){
uint8_t cspPort = GOMSPACE::REBOOT_PORT; uint8_t cspPort = GOMSPACE::REBOOT_PORT;
uint16_t querySize = 0; uint16_t querySize = 0;
*cspPacket = GOMSPACE::REBOOT_PORT; *cspPacket = GOMSPACE::REBOOT_PORT;
*(cspPacket + 1) = querySize; *(cspPacket + 1) = querySize;
size_t cspPacketLen = sizeof(cspPort) + sizeof(cspPacketLen); size_t cspPacketLen = sizeof(cspPort) + sizeof(cspPacketLen);
rawPacket = cspPacket; rawPacket = cspPacket;
rawPacketLen = cspPacketLen; rawPacketLen = cspPacketLen;
} }
ReturnValue_t GomspaceDeviceHandler::generateResetWatchdogCmd(){ ReturnValue_t GomspaceDeviceHandler::generateResetWatchdogCmd(){
WatchdogResetCommand watchdogResetCommand; WatchdogResetCommand watchdogResetCommand;
size_t cspPacketLen = 0; size_t cspPacketLen = 0;
uint8_t* buffer = cspPacket; uint8_t* buffer = cspPacket;
ReturnValue_t result = watchdogResetCommand.serialize(&buffer, ReturnValue_t result = watchdogResetCommand.serialize(&buffer,
&cspPacketLen, sizeof(cspPacket), SerializeIF::Endianness::BIG); &cspPacketLen, sizeof(cspPacket), SerializeIF::Endianness::BIG);
if(result != HasReturnvaluesIF::RETURN_OK){ if(result != HasReturnvaluesIF::RETURN_OK){
sif::error << "GomspaceDeviceHandler: Failed to serialize watchdog reset " sif::error << "GomspaceDeviceHandler: Failed to serialize watchdog reset "
<< "command" << std::endl; << "command" << std::endl;
return result; return result;
} }
rawPacket = cspPacket; rawPacket = cspPacket;
rawPacketLen = cspPacketLen; rawPacketLen = cspPacketLen;
rememberRequestedSize = 0; // No bytes will be queried with the ground rememberRequestedSize = 0; // No bytes will be queried with the ground
// watchdog command. // watchdog command.
rememberCommandId = GOMSPACE::GNDWDT_RESET; rememberCommandId = GOMSPACE::GNDWDT_RESET;
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
ReturnValue_t GomspaceDeviceHandler::generateRequestFullHkTableCmd(uint16_t hkTableReplySize) { ReturnValue_t GomspaceDeviceHandler::generateRequestFullHkTableCmd(uint16_t hkTableReplySize) {
@ -379,8 +380,8 @@ ReturnValue_t GomspaceDeviceHandler::generateRequestFullHkTableCmd(uint16_t hkTa
} }
uint32_t GomspaceDeviceHandler::getTransitionDelayMs(Mode_t modeFrom, uint32_t GomspaceDeviceHandler::getTransitionDelayMs(Mode_t modeFrom,
Mode_t modeTo) { Mode_t modeTo) {
return 0; return 0;
} }
LocalPoolDataSetBase* GomspaceDeviceHandler::getDataSetHandle(sid_t sid) { LocalPoolDataSetBase* GomspaceDeviceHandler::getDataSetHandle(sid_t sid) {

View File

@ -1,8 +1,9 @@
#ifndef MISSION_DEVICES_GOMSPACEDEVICEHANDLER_H_ #ifndef MISSION_DEVICES_GOMSPACEDEVICEHANDLER_H_
#define MISSION_DEVICES_GOMSPACEDEVICEHANDLER_H_ #define MISSION_DEVICES_GOMSPACEDEVICEHANDLER_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include "returnvalues/classIds.h"
/** /**
* @brief This is the device handler class for all gomspace devices. * @brief This is the device handler class for all gomspace devices.
@ -18,117 +19,119 @@
class GomspaceDeviceHandler: public DeviceHandlerBase { class GomspaceDeviceHandler: public DeviceHandlerBase {
public: public:
static const ReturnValue_t PACKET_TOO_LONG = MAKE_RETURN_CODE(0xE0); static constexpr uint8_t CLASS_ID = CLASS_ID::GOM_SPACE_HANDLER;
static const ReturnValue_t INVALID_TABLE_ID = MAKE_RETURN_CODE(0xE1); static const ReturnValue_t PACKET_TOO_LONG = HasReturnvaluesIF::makeReturnCode(CLASS_ID, 0);
static const ReturnValue_t INVALID_ADDRESS = MAKE_RETURN_CODE(0xE2); static const ReturnValue_t INVALID_TABLE_ID = HasReturnvaluesIF::makeReturnCode(CLASS_ID, 1);
static const ReturnValue_t INVALID_PARAM_SIZE = MAKE_RETURN_CODE(0xE3); static const ReturnValue_t INVALID_ADDRESS = HasReturnvaluesIF::makeReturnCode(CLASS_ID, 2);
static const ReturnValue_t INVALID_PAYLOAD_SIZE = MAKE_RETURN_CODE(0xE4); static const ReturnValue_t INVALID_PARAM_SIZE = HasReturnvaluesIF::makeReturnCode(CLASS_ID, 3);
static const ReturnValue_t UNKNOWN_REPLY_ID = MAKE_RETURN_CODE(0xE5); static const ReturnValue_t INVALID_PAYLOAD_SIZE =
HasReturnvaluesIF::makeReturnCode(CLASS_ID, 4);
static const ReturnValue_t UNKNOWN_REPLY_ID = HasReturnvaluesIF::makeReturnCode(CLASS_ID, 5);
/** /**
* @brief Constructor * @brief Constructor
* *
* @param maxConfigTableAddress The maximum memory address of the configu- * @param maxConfigTableAddress The maximum memory address of the configu-
* ration table of a gomspace device. * ration table of a gomspace device.
* @param maxHkTableAddress The maximum memory address of a value in the * @param maxHkTableAddress The maximum memory address of a value in the
* houskeeping (telemetry) table of a gomspace * houskeeping (telemetry) table of a gomspace
* device. * device.
*/ */
GomspaceDeviceHandler(object_id_t objectId, object_id_t comIF, GomspaceDeviceHandler(object_id_t objectId, object_id_t comIF,
CookieIF * comCookie, uint16_t maxConfigTableAddress, uint16_t maxHkTableAddress, CookieIF * comCookie, uint16_t maxConfigTableAddress, uint16_t maxHkTableAddress,
uint16_t hkTableReplySize, LocalPoolDataSetBase* hkTableDataset); uint16_t hkTableReplySize, LocalPoolDataSetBase* hkTableDataset);
virtual ~GomspaceDeviceHandler(); virtual ~GomspaceDeviceHandler();
/** /**
* @brief This function can be used to set a gomspace device to normal mode immediately after * @brief This function can be used to set a gomspace device to normal mode immediately after
* object creation. * object creation.
*/ */
void setModeNormal(); void setModeNormal();
protected: protected:
static const uint8_t MAX_PACKET_LEN = 36; static const uint8_t MAX_PACKET_LEN = 36;
static const uint8_t PARAM_SET_OK = 1; static const uint8_t PARAM_SET_OK = 1;
static const uint8_t PING_REPLY_SIZE = 2; static const uint8_t PING_REPLY_SIZE = 2;
static const uint8_t CONFIG_TABLE_ID = 1; static const uint8_t CONFIG_TABLE_ID = 1;
static const uint8_t HK_TABLE_ID = 4; static const uint8_t HK_TABLE_ID = 4;
uint8_t rememberRequestedSize = 0; uint8_t rememberRequestedSize = 0;
uint8_t rememberCommandId = GOMSPACE::NONE; uint8_t rememberCommandId = GOMSPACE::NONE;
uint8_t cspPacket[MAX_PACKET_LEN]; uint8_t cspPacket[MAX_PACKET_LEN];
uint16_t maxConfigTableAddress; uint16_t maxConfigTableAddress;
uint16_t maxHkTableAddress; uint16_t maxHkTableAddress;
/** The size of the reply following a full hk table request.*/ /** The size of the reply following a full hk table request.*/
uint16_t hkTableReplySize; uint16_t hkTableReplySize;
LocalPoolDataSetBase* hkTableDataset = nullptr; LocalPoolDataSetBase* hkTableDataset = nullptr;
void doStartUp() override; void doStartUp() override;
void doShutDown() override; void doShutDown() override;
virtual ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t * id) virtual ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t * id)
override; override;
ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t * id) override; ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t * id) override;
void fillCommandAndReplyMap() override; void fillCommandAndReplyMap() override;
ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand, ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t * commandData,size_t commandDataLen) override; const uint8_t * commandData,size_t commandDataLen) override;
ReturnValue_t scanForReply(const uint8_t *start, size_t remainingSize, ReturnValue_t scanForReply(const uint8_t *start, size_t remainingSize,
DeviceCommandId_t *foundId, size_t *foundLen) override; DeviceCommandId_t *foundId, size_t *foundLen) override;
ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, ReturnValue_t interpretDeviceReply(DeviceCommandId_t id,
const uint8_t *packet) override; const uint8_t *packet) override;
void setNormalDatapoolEntriesInvalid() override; void setNormalDatapoolEntriesInvalid() override;
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override; uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
/** /**
* @brief The command to generate a request to receive the full housekeeping table is device * @brief The command to generate a request to receive the full housekeeping table is device
* specific. Thus the child has to build this command. * specific. Thus the child has to build this command.
*/ */
virtual ReturnValue_t generateRequestFullHkTableCmd(uint16_t hkTableSize); virtual ReturnValue_t generateRequestFullHkTableCmd(uint16_t hkTableSize);
/** /**
* @brief Because housekeeping tables are device specific the handling of the reply is * @brief Because housekeeping tables are device specific the handling of the reply is
* given to the child class. * given to the child class.
* @param id The id of the command which initiates the full table request. * @param id The id of the command which initiates the full table request.
* @param packet Pointer to the reply containing the hk table. * @param packet Pointer to the reply containing the hk table.
*/ */
virtual void letChildHandleHkReply(DeviceCommandId_t id, const uint8_t *packet) = 0; virtual void letChildHandleHkReply(DeviceCommandId_t id, const uint8_t *packet) = 0;
virtual LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override; virtual LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;
private: private:
/** /**
* @brief Function to generate the command to set a parameter. Command * @brief Function to generate the command to set a parameter. Command
* will be sent to the ComIF over the rawPacket buffer. * will be sent to the ComIF over the rawPacket buffer.
*/ */
ReturnValue_t generateSetParamCommand(const uint8_t * commandData, ReturnValue_t generateSetParamCommand(const uint8_t * commandData,
size_t commandDataLen); size_t commandDataLen);
/** /**
* @brief Function to generate the command to get a parameter from a * @brief Function to generate the command to get a parameter from a
* gomspace device. Command will be sent to the ComIF over the * gomspace device. Command will be sent to the ComIF over the
* rawPacket buffer. * rawPacket buffer.
*/ */
ReturnValue_t generateGetParamCommand(const uint8_t * commandData, ReturnValue_t generateGetParamCommand(const uint8_t * commandData,
size_t commandDataLen); size_t commandDataLen);
/** /**
* @brief Function to generate the ping command for the ComIF. * @brief Function to generate the ping command for the ComIF.
*/ */
ReturnValue_t generatePingCommand(const uint8_t * commandData, ReturnValue_t generatePingCommand(const uint8_t * commandData,
size_t commandDataLen); size_t commandDataLen);
/** /**
* @brief Function to generate the command to reboot a gomspace device * @brief Function to generate the command to reboot a gomspace device
* via the ComIF. * via the ComIF.
*/ */
void generateRebootCommand(); void generateRebootCommand();
/** /**
* @brief Function to generate the command to force a ground watchdog * @brief Function to generate the command to force a ground watchdog
* reset in a gomspace device. * reset in a gomspace device.
*/ */
ReturnValue_t generateResetWatchdogCmd(); ReturnValue_t generateResetWatchdogCmd();
}; };

2
tmtc

@ -1 +1 @@
Subproject commit 8b7331c210e44bf2a60e5834f5f253514dae29fe Subproject commit 477743f6264689327528beb5344c39247af6c49e