Compare commits

..

5 Commits

102 changed files with 1553 additions and 2396 deletions

4
.gitignore vendored
View File

@ -2,7 +2,11 @@
**/.idea/* **/.idea/*
!**/.idea/runConfigurations !**/.idea/runConfigurations
__pycache__ __pycache__
*.csv
*.db *.db
tmtc/Lib
tmtc/Scripts/
tmtc/pyvenv.cfg
venv venv
# Eclipse # Eclipse

6
.gitmodules vendored
View File

@ -7,9 +7,9 @@
[submodule "fsfw_hal"] [submodule "fsfw_hal"]
path = fsfw_hal path = fsfw_hal
url = https://egit.irs.uni-stuttgart.de/fsfw/fsfw_hal.git url = https://egit.irs.uni-stuttgart.de/fsfw/fsfw_hal.git
[submodule "generators/fsfwgen"] [submodule "generators/modgen"]
path = generators/fsfwgen path = generators/modgen
url = https://egit.irs.uni-stuttgart.de/fsfw/fsfw_generators.git url = https://git.ksat-stuttgart.de/source/modgen.git
[submodule "fsfw"] [submodule "fsfw"]
path = fsfw path = fsfw
url = https://egit.irs.uni-stuttgart.de/fsfw/fsfw.git url = https://egit.irs.uni-stuttgart.de/fsfw/fsfw.git

View File

@ -29,10 +29,6 @@ if(TGT_BSP MATCHES "arm/raspberrypi")
set(FSFW_HAL_ADD_RASPBERRY_PI ON) set(FSFW_HAL_ADD_RASPBERRY_PI ON)
endif() endif()
if(TGT_BSP MATCHES "arm/stm32h743zi-nucleo")
set(FSFW_HAL_ADD_STM32H7 ON)
endif()
# Perform steps like loading toolchain files where applicable. # Perform steps like loading toolchain files where applicable.
include(${CMAKE_SCRIPT_PATH}/PreProjectConfig.cmake) include(${CMAKE_SCRIPT_PATH}/PreProjectConfig.cmake)
pre_project_config() pre_project_config()
@ -40,7 +36,6 @@ pre_project_config()
# Project Name # Project Name
project(fsfw_example ASM C CXX) project(fsfw_example ASM C CXX)
################################################################################ ################################################################################
# Pre-Sources preparation # Pre-Sources preparation
################################################################################ ################################################################################
@ -69,27 +64,7 @@ pre_source_hw_os_config()
set(COMMON_CONFIG_PATH "${COMMON_PATH}/config") set(COMMON_CONFIG_PATH "${COMMON_PATH}/config")
set(FSFW_CONFIG_PATH "${BSP_PATH}/fsfwconfig") set(FSFW_CONFIG_PATH "${BSP_PATH}/fsfwconfig")
set(FSFW_ADDITIONAL_INC_PATHS set(FSFW_ADDITIONAL_INC_PATH ${COMMON_CONFIG_PATH})
"${COMMON_CONFIG_PATH}"
"${CMAKE_CURRENT_BINARY_DIR}"
CACHE STRING
"FSFW configuration paths"
)
if(TGT_BSP MATCHES "arm/stm32h743zi-nucleo")
# TODO: This works but is a horrible mess. In the future, stm32-cmake support will be used and
# linked against, so we have a clean interface which can be used by FSFW HAL.
set(FSFW_HAL_ADDITIONAL_INC_PATHS
${BOARD_CONFIG_PATH}
"${BSP_PATH}/STM32CubeH7/Drivers/BSP/STM32H7xx_Nucleo"
CACHE STRING
"FSFW HAL configuration paths"
)
endif()
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}/OBSWConfig.h.in OBSWConfig.h)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(WARNING_FLAGS set(WARNING_FLAGS
@ -152,7 +127,6 @@ target_link_libraries(${TARGET_NAME} PRIVATE
# Add include paths for all sources. # Add include paths for all sources.
target_include_directories(${TARGET_NAME} PRIVATE target_include_directories(${TARGET_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${FSFW_CONFIG_PATH} ${FSFW_CONFIG_PATH}
) )
@ -174,12 +148,6 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
"-Wl,--gc-sections" "-Wl,--gc-sections"
) )
endif() endif()
if(TGT_BSP MATCHES "arm/stm32h743zi-nucleo")
target_link_options(${TARGET_NAME} PRIVATE
-Wl,--undefined,_printf_float -Wl,--undefined,_scanf_float
)
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
endif() endif()

View File

@ -1,6 +1,6 @@
<img align="center" src=doc/images/FSFW_Logo_V3_bw.png width="50%"> <img align="center" src=doc/images/FSFW_Logo_V3_bw.png width="50%">
# <a id="top"></a> <a name="linux"></a> FSFW Example Application # <a id="top"></a> <a name="linux"></a> FSFW Demo Application
This repository features a demo application. The example has been run successfully on the following This repository features a demo application. The example has been run successfully on the following
platforms: platforms:
@ -21,16 +21,6 @@ and running as expected.
The repository contains a Python TMTC program which can be used to showcase The repository contains a Python TMTC program which can be used to showcase
the TMTC capabilities of the FSFW (currently, using the ECSS PUS packet standard). the TMTC capabilities of the FSFW (currently, using the ECSS PUS packet standard).
# Configuring the Example
The build system will copy three configuration files into the build directory:
1. `commonConfig.h` which contains common configuration parameters
2. `OBSWConfig.h` which can contain machine and architecture specific configuration options
3. `FSFWConfig.h` which contains the configuration for the flight software framework
These files can be edited manually after `CMake` buld generation.
## Reference ## Reference
[Getting started with the Linux OSAL](doc/README-linux.md#top)<br> [Getting started with the Linux OSAL](doc/README-linux.md#top)<br>

View File

@ -283,7 +283,7 @@ void InitMission::createTasks() {
#endif #endif
#if OBSW_ADD_DEVICE_HANDLER_DEMO #if OBSW_ADD_DEVICE_HANDLER_DEMO
HasModesIF* assembly = ObjectManager::instance()->get<HasModesIF>(objects::TEST_ASSEMBLY); HasModesIF* assembly = objectManager->get<HasModesIF>(objects::TEST_ASSEMBLY);
if (assembly == nullptr){ if (assembly == nullptr){
return; return;
} }

View File

@ -1,6 +1,8 @@
#include "ObjectFactory.h" #include <OBSWConfig.h>
#include "OBSWConfig.h"
#include <bsp_hosted/core/ObjectFactory.h>
#include <bsp_hosted/fsfwconfig/objects/systemObjectList.h> #include <bsp_hosted/fsfwconfig/objects/systemObjectList.h>
#include <bsp_hosted/fsfwconfig/OBSWConfig.h>
#include <bsp_hosted/fsfwconfig/tmtc/apid.h> #include <bsp_hosted/fsfwconfig/tmtc/apid.h>
#include <bsp_hosted/fsfwconfig/tmtc/pusIds.h> #include <bsp_hosted/fsfwconfig/tmtc/pusIds.h>
@ -19,7 +21,7 @@
#include <fsfw/osal/common/UdpTcPollingTask.h> #include <fsfw/osal/common/UdpTcPollingTask.h>
#include <fsfw/osal/common/UdpTmTcBridge.h> #include <fsfw/osal/common/UdpTmTcBridge.h>
void ObjectFactory::produce(void* args) { void ObjectFactory::produce(){
Factory::setStaticFrameworkObjectIds(); Factory::setStaticFrameworkObjectIds();
#if OBSW_ADD_CORE_COMPONENTS == 1 #if OBSW_ADD_CORE_COMPONENTS == 1

View File

@ -4,7 +4,7 @@
namespace ObjectFactory { namespace ObjectFactory {
void setStatics(); void setStatics();
void produce(void* args); void produce();
}; };

View File

@ -9,17 +9,3 @@ target_include_directories(${TARGET_NAME}
PUBLIC PUBLIC
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
) )
# If a special translation file for object IDs exists, compile it.
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/objects/translateObjects.cpp")
target_sources(${TARGET_NAME} PRIVATE
objects/translateObjects.cpp
)
endif()
# If a special translation file for events exists, compile it.
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/objects/translateObjects.cpp")
target_sources(${TARGET_NAME} PRIVATE
events/translateEvents.cpp
)
endif()

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 78 translations. * @brief Auto-generated event translation file. Contains 78 translations.
* @details * @details
* Generated on: 2021-05-28 18:21:33 * Generated on: 2021-05-14 11:51:26
*/ */
#include "translateEvents.h" #include "translateEvents.h"

View File

@ -1,127 +0,0 @@
/**
* @brief Auto-generated object translation file.
* @details
* Contains 37 translations.
* Generated on: 2021-05-28 18:12:56
*/
#include "translateObjects.h"
const char *TEST_ASSEMBLY_STRING = "TEST_ASSEMBLY";
const char *TEST_CONTROLLER_STRING = "TEST_CONTROLLER";
const char *TEST_DEVICE_HANDLER_0_STRING = "TEST_DEVICE_HANDLER_0";
const char *TEST_DEVICE_HANDLER_1_STRING = "TEST_DEVICE_HANDLER_1";
const char *TEST_ECHO_COM_IF_STRING = "TEST_ECHO_COM_IF";
const char *FSFW_OBJECTS_START_STRING = "FSFW_OBJECTS_START";
const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION";
const char *PUS_SERVICE_2_DEVICE_ACCESS_STRING = "PUS_SERVICE_2_DEVICE_ACCESS";
const char *PUS_SERVICE_3_HOUSEKEEPING_STRING = "PUS_SERVICE_3_HOUSEKEEPING";
const char *PUS_SERVICE_5_EVENT_REPORTING_STRING = "PUS_SERVICE_5_EVENT_REPORTING";
const char *PUS_SERVICE_8_FUNCTION_MGMT_STRING = "PUS_SERVICE_8_FUNCTION_MGMT";
const char *PUS_SERVICE_9_TIME_MGMT_STRING = "PUS_SERVICE_9_TIME_MGMT";
const char *PUS_SERVICE_17_TEST_STRING = "PUS_SERVICE_17_TEST";
const char *PUS_SERVICE_20_PARAMETERS_STRING = "PUS_SERVICE_20_PARAMETERS";
const char *PUS_SERVICE_200_MODE_MGMT_STRING = "PUS_SERVICE_200_MODE_MGMT";
const char *PUS_SERVICE_201_HEALTH_STRING = "PUS_SERVICE_201_HEALTH";
const char *HEALTH_TABLE_STRING = "HEALTH_TABLE";
const char *MODE_STORE_STRING = "MODE_STORE";
const char *EVENT_MANAGER_STRING = "EVENT_MANAGER";
const char *INTERNAL_ERROR_REPORTER_STRING = "INTERNAL_ERROR_REPORTER";
const char *TC_STORE_STRING = "TC_STORE";
const char *TM_STORE_STRING = "TM_STORE";
const char *IPC_STORE_STRING = "IPC_STORE";
const char *TIME_STAMPER_STRING = "TIME_STAMPER";
const char *FSFW_OBJECTS_END_STRING = "FSFW_OBJECTS_END";
const char *UDP_BRIDGE_STRING = "UDP_BRIDGE";
const char *UDP_POLLING_TASK_STRING = "UDP_POLLING_TASK";
const char *CCSDS_DISTRIBUTOR_STRING = "CCSDS_DISTRIBUTOR";
const char *PUS_DISTRIBUTOR_STRING = "PUS_DISTRIBUTOR";
const char *TM_FUNNEL_STRING = "TM_FUNNEL";
const char *TEST_DUMMY_1_STRING = "TEST_DUMMY_1";
const char *TEST_DUMMY_2_STRING = "TEST_DUMMY_2";
const char *TEST_DUMMY_3_STRING = "TEST_DUMMY_3";
const char *TEST_DUMMY_4_STRING = "TEST_DUMMY_4";
const char *TEST_DUMMY_5_STRING = "TEST_DUMMY_5";
const char *TEST_TASK_STRING = "TEST_TASK";
const char *NO_OBJECT_STRING = "NO_OBJECT";
const char* translateObject(object_id_t object) {
switch( (object & 0xFFFFFFFF) ) {
case 0x4100CAFE:
return TEST_ASSEMBLY_STRING;
case 0x4301CAFE:
return TEST_CONTROLLER_STRING;
case 0x4401AFFE:
return TEST_DEVICE_HANDLER_0_STRING;
case 0x4402AFFE:
return TEST_DEVICE_HANDLER_1_STRING;
case 0x4900AFFE:
return TEST_ECHO_COM_IF_STRING;
case 0x53000000:
return FSFW_OBJECTS_START_STRING;
case 0x53000001:
return PUS_SERVICE_1_VERIFICATION_STRING;
case 0x53000002:
return PUS_SERVICE_2_DEVICE_ACCESS_STRING;
case 0x53000003:
return PUS_SERVICE_3_HOUSEKEEPING_STRING;
case 0x53000005:
return PUS_SERVICE_5_EVENT_REPORTING_STRING;
case 0x53000008:
return PUS_SERVICE_8_FUNCTION_MGMT_STRING;
case 0x53000009:
return PUS_SERVICE_9_TIME_MGMT_STRING;
case 0x53000017:
return PUS_SERVICE_17_TEST_STRING;
case 0x53000020:
return PUS_SERVICE_20_PARAMETERS_STRING;
case 0x53000200:
return PUS_SERVICE_200_MODE_MGMT_STRING;
case 0x53000201:
return PUS_SERVICE_201_HEALTH_STRING;
case 0x53010000:
return HEALTH_TABLE_STRING;
case 0x53010100:
return MODE_STORE_STRING;
case 0x53030000:
return EVENT_MANAGER_STRING;
case 0x53040000:
return INTERNAL_ERROR_REPORTER_STRING;
case 0x534f0100:
return TC_STORE_STRING;
case 0x534f0200:
return TM_STORE_STRING;
case 0x534f0300:
return IPC_STORE_STRING;
case 0x53500010:
return TIME_STAMPER_STRING;
case 0x53ffffff:
return FSFW_OBJECTS_END_STRING;
case 0x62000300:
return UDP_BRIDGE_STRING;
case 0x62000400:
return UDP_POLLING_TASK_STRING;
case 0x63000000:
return CCSDS_DISTRIBUTOR_STRING;
case 0x63000001:
return PUS_DISTRIBUTOR_STRING;
case 0x63000002:
return TM_FUNNEL_STRING;
case 0x74000001:
return TEST_DUMMY_1_STRING;
case 0x74000002:
return TEST_DUMMY_2_STRING;
case 0x74000003:
return TEST_DUMMY_3_STRING;
case 0x74000004:
return TEST_DUMMY_4_STRING;
case 0x74000005:
return TEST_DUMMY_5_STRING;
case 0x7400CAFE:
return TEST_TASK_STRING;
case 0xFFFFFFFF:
return NO_OBJECT_STRING;
default:
return "UNKNOWN_OBJECT";
}
return 0;
}

View File

@ -1,8 +0,0 @@
#ifndef FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_
#define FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_
#include <fsfw/objectmanager/SystemObjectIF.h>
const char* translateObject(object_id_t object);
#endif /* FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_ */

View File

@ -1,7 +1,7 @@
#ifndef POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_ #ifndef POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_
#define POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_ #define POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_
#include "OBSWConfig.h" #include <bsp_hosted/fsfwconfig/OBSWConfig.h>
#include <fsfw/returnvalues/HasReturnvaluesIF.h> #include <fsfw/returnvalues/HasReturnvaluesIF.h>
class FixedTimeslotTaskIF; class FixedTimeslotTaskIF;

View File

@ -1,12 +1,10 @@
#ifndef FSFWCONFIG_RETURNVALUES_CLASSIDS_H_ #ifndef FSFWCONFIG_RETURNVALUES_CLASSIDS_H_
#define FSFWCONFIG_RETURNVALUES_CLASSIDS_H_ #define FSFWCONFIG_RETURNVALUES_CLASSIDS_H_
#include "commonClassIds.h" #include <commonConfig.h>
namespace CLASS_ID { namespace CLASS_ID {
enum classIds: uint8_t { enum classIds: uint8_t {
CLASS_ID_START = COMMON_CLASS_ID_END,
CLASS_ID_END // [EXPORT] : [END]
}; };
} }

View File

@ -26,6 +26,8 @@ ServiceInterfaceStream sif::warning("WARNING", false);
ServiceInterfaceStream sif::error("ERROR", false, true, true); ServiceInterfaceStream sif::error("ERROR", false, true, true);
#endif #endif
ObjectManagerIF *objectManager = nullptr;
int main() { int main() {
utility::commonInitPrint("Hosted", COMPILE_PRINTOUT); utility::commonInitPrint("Hosted", COMPILE_PRINTOUT);
@ -36,8 +38,7 @@ int main() {
sif::printInfo("Producing system objects..\n"); sif::printInfo("Producing system objects..\n");
#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */
ObjectManager* objManager = ObjectManager::instance(); objectManager = new ObjectManager(ObjectFactory::produce);
objManager->setObjectFactoryFunction(ObjectFactory::produce, nullptr);
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Objects created successfully.." << std::endl; sif::info << "Objects created successfully.." << std::endl;
@ -46,7 +47,7 @@ int main() {
sif::printInfo("Objects created successfully..\n"); sif::printInfo("Objects created successfully..\n");
#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */
objManager->initialize(); objectManager->initialize();
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Creating tasks.." << std::endl; sif::info << "Creating tasks.." << std::endl;

View File

@ -1,5 +1,5 @@
#include "InitMission.h" #include "InitMission.h"
#include "OBSWConfig.h" #include <OBSWConfig.h>
#include <bsp_linux/fsfwconfig/objects/systemObjectList.h> #include <bsp_linux/fsfwconfig/objects/systemObjectList.h>
#include <bsp_linux/fsfwconfig/pollingsequence/pollingSequenceFactory.h> #include <bsp_linux/fsfwconfig/pollingsequence/pollingSequenceFactory.h>
@ -216,7 +216,7 @@ void InitMission::createTasks() {
#if OBSW_ADD_DEVICE_HANDLER_DEMO #if OBSW_ADD_DEVICE_HANDLER_DEMO
HasModesIF* assembly = ObjectManager::instance()->get<HasModesIF>(objects::TEST_ASSEMBLY); HasModesIF* assembly = objectManager->get<HasModesIF>(objects::TEST_ASSEMBLY);
if (assembly == nullptr){ if (assembly == nullptr){
return; return;
} }

View File

@ -1,7 +1,8 @@
#include "OBSWConfig.h" #include <OBSWConfig.h>
#include <bsp_linux/core/ObjectFactory.h> #include <bsp_linux/core/ObjectFactory.h>
#include <bsp_linux/fsfwconfig/objects/systemObjectList.h> #include <bsp_linux/fsfwconfig/objects/systemObjectList.h>
#include <bsp_linux/fsfwconfig/OBSWConfig.h>
#include <bsp_linux/fsfwconfig/tmtc/apid.h> #include <bsp_linux/fsfwconfig/tmtc/apid.h>
#include <bsp_linux/fsfwconfig/tmtc/pusIds.h> #include <bsp_linux/fsfwconfig/tmtc/pusIds.h>
@ -20,7 +21,7 @@
#include <fsfw/osal/common/UdpTmTcBridge.h> #include <fsfw/osal/common/UdpTmTcBridge.h>
void ObjectFactory::produce(void* args) { void ObjectFactory::produce() {
/* Located inside the GenericFactory source file */ /* Located inside the GenericFactory source file */
Factory::setStaticFrameworkObjectIds(); Factory::setStaticFrameworkObjectIds();

View File

@ -4,7 +4,7 @@
namespace ObjectFactory { namespace ObjectFactory {
void setStatics(); void setStatics();
void produce(void* args); void produce();
}; };
#endif /* MISSION_CORE_OBJECTFACTORY_H_ */ #endif /* MISSION_CORE_OBJECTFACTORY_H_ */

View File

@ -6,17 +6,3 @@ target_sources(${TARGET_NAME} PRIVATE
target_include_directories(${TARGET_NAME} PUBLIC target_include_directories(${TARGET_NAME} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
) )
# If a special translation file for object IDs exists, compile it.
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/objects/translateObjects.cpp")
target_sources(${TARGET_NAME} PRIVATE
objects/translateObjects.cpp
)
endif()
# If a special translation file for events exists, compile it.
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/objects/translateObjects.cpp")
target_sources(${TARGET_NAME} PRIVATE
events/translateEvents.cpp
)
endif()

View File

@ -25,7 +25,7 @@
//! If FSFW_OBJ_EVENT_TRANSLATION is set to one, //! If FSFW_OBJ_EVENT_TRANSLATION is set to one,
//! additional output which requires the translation files translateObjects //! additional output which requires the translation files translateObjects
//! and translateEvents (and their compiled source files) //! and translateEvents (and their compiled source files)
#define FSFW_OBJ_EVENT_TRANSLATION 1 #define FSFW_OBJ_EVENT_TRANSLATION 0
#if FSFW_OBJ_EVENT_TRANSLATION == 1 #if FSFW_OBJ_EVENT_TRANSLATION == 1
//! Specify whether info events are printed too. //! Specify whether info events are printed too.

View File

@ -1,11 +1,10 @@
#ifndef FSFWCONFIG_TMTC_SUBSYSTEMIDRANGES_H_ #ifndef FSFWCONFIG_TMTC_SUBSYSTEMIDRANGES_H_
#define FSFWCONFIG_TMTC_SUBSYSTEMIDRANGES_H_ #define FSFWCONFIG_TMTC_SUBSYSTEMIDRANGES_H_
#include "commonSubsystemIds.h" #include <commonConfig.h>
namespace SUBSYSTEM_ID { namespace SUBSYSTEM_ID {
enum subsystemId: uint8_t { enum subsystemId: uint8_t {
SUBSYSTEM_ID_START = COMMON_SUBSYSTEM_ID_END
}; };
} }

View File

@ -1,249 +0,0 @@
/**
* @brief Auto-generated event translation file. Contains 78 translations.
* @details
* Generated on: 2021-05-28 18:21:48
*/
#include "translateEvents.h"
const char *STORE_SEND_WRITE_FAILED_STRING = "STORE_SEND_WRITE_FAILED";
const char *STORE_WRITE_FAILED_STRING = "STORE_WRITE_FAILED";
const char *STORE_SEND_READ_FAILED_STRING = "STORE_SEND_READ_FAILED";
const char *STORE_READ_FAILED_STRING = "STORE_READ_FAILED";
const char *UNEXPECTED_MSG_STRING = "UNEXPECTED_MSG";
const char *STORING_FAILED_STRING = "STORING_FAILED";
const char *TM_DUMP_FAILED_STRING = "TM_DUMP_FAILED";
const char *STORE_INIT_FAILED_STRING = "STORE_INIT_FAILED";
const char *STORE_INIT_EMPTY_STRING = "STORE_INIT_EMPTY";
const char *STORE_CONTENT_CORRUPTED_STRING = "STORE_CONTENT_CORRUPTED";
const char *STORE_INITIALIZE_STRING = "STORE_INITIALIZE";
const char *INIT_DONE_STRING = "INIT_DONE";
const char *DUMP_FINISHED_STRING = "DUMP_FINISHED";
const char *DELETION_FINISHED_STRING = "DELETION_FINISHED";
const char *DELETION_FAILED_STRING = "DELETION_FAILED";
const char *AUTO_CATALOGS_SENDING_FAILED_STRING = "AUTO_CATALOGS_SENDING_FAILED";
const char *GET_DATA_FAILED_STRING = "GET_DATA_FAILED";
const char *STORE_DATA_FAILED_STRING = "STORE_DATA_FAILED";
const char *DEVICE_BUILDING_COMMAND_FAILED_STRING = "DEVICE_BUILDING_COMMAND_FAILED";
const char *DEVICE_SENDING_COMMAND_FAILED_STRING = "DEVICE_SENDING_COMMAND_FAILED";
const char *DEVICE_REQUESTING_REPLY_FAILED_STRING = "DEVICE_REQUESTING_REPLY_FAILED";
const char *DEVICE_READING_REPLY_FAILED_STRING = "DEVICE_READING_REPLY_FAILED";
const char *DEVICE_INTERPRETING_REPLY_FAILED_STRING = "DEVICE_INTERPRETING_REPLY_FAILED";
const char *DEVICE_MISSED_REPLY_STRING = "DEVICE_MISSED_REPLY";
const char *DEVICE_UNKNOWN_REPLY_STRING = "DEVICE_UNKNOWN_REPLY";
const char *DEVICE_UNREQUESTED_REPLY_STRING = "DEVICE_UNREQUESTED_REPLY";
const char *INVALID_DEVICE_COMMAND_STRING = "INVALID_DEVICE_COMMAND";
const char *MONITORING_LIMIT_EXCEEDED_STRING = "MONITORING_LIMIT_EXCEEDED";
const char *MONITORING_AMBIGUOUS_STRING = "MONITORING_AMBIGUOUS";
const char *FUSE_CURRENT_HIGH_STRING = "FUSE_CURRENT_HIGH";
const char *FUSE_WENT_OFF_STRING = "FUSE_WENT_OFF";
const char *POWER_ABOVE_HIGH_LIMIT_STRING = "POWER_ABOVE_HIGH_LIMIT";
const char *POWER_BELOW_LOW_LIMIT_STRING = "POWER_BELOW_LOW_LIMIT";
const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF";
const char *HEATER_ON_STRING = "HEATER_ON";
const char *HEATER_OFF_STRING = "HEATER_OFF";
const char *HEATER_TIMEOUT_STRING = "HEATER_TIMEOUT";
const char *HEATER_STAYED_ON_STRING = "HEATER_STAYED_ON";
const char *HEATER_STAYED_OFF_STRING = "HEATER_STAYED_OFF";
const char *TEMP_SENSOR_HIGH_STRING = "TEMP_SENSOR_HIGH";
const char *TEMP_SENSOR_LOW_STRING = "TEMP_SENSOR_LOW";
const char *TEMP_SENSOR_GRADIENT_STRING = "TEMP_SENSOR_GRADIENT";
const char *COMPONENT_TEMP_LOW_STRING = "COMPONENT_TEMP_LOW";
const char *COMPONENT_TEMP_HIGH_STRING = "COMPONENT_TEMP_HIGH";
const char *COMPONENT_TEMP_OOL_LOW_STRING = "COMPONENT_TEMP_OOL_LOW";
const char *COMPONENT_TEMP_OOL_HIGH_STRING = "COMPONENT_TEMP_OOL_HIGH";
const char *TEMP_NOT_IN_OP_RANGE_STRING = "TEMP_NOT_IN_OP_RANGE";
const char *FDIR_CHANGED_STATE_STRING = "FDIR_CHANGED_STATE";
const char *FDIR_STARTS_RECOVERY_STRING = "FDIR_STARTS_RECOVERY";
const char *FDIR_TURNS_OFF_DEVICE_STRING = "FDIR_TURNS_OFF_DEVICE";
const char *MONITOR_CHANGED_STATE_STRING = "MONITOR_CHANGED_STATE";
const char *VALUE_BELOW_LOW_LIMIT_STRING = "VALUE_BELOW_LOW_LIMIT";
const char *VALUE_ABOVE_HIGH_LIMIT_STRING = "VALUE_ABOVE_HIGH_LIMIT";
const char *VALUE_OUT_OF_RANGE_STRING = "VALUE_OUT_OF_RANGE";
const char *SWITCHING_TM_FAILED_STRING = "SWITCHING_TM_FAILED";
const char *CHANGING_MODE_STRING = "CHANGING_MODE";
const char *MODE_INFO_STRING = "MODE_INFO";
const char *FALLBACK_FAILED_STRING = "FALLBACK_FAILED";
const char *MODE_TRANSITION_FAILED_STRING = "MODE_TRANSITION_FAILED";
const char *CANT_KEEP_MODE_STRING = "CANT_KEEP_MODE";
const char *OBJECT_IN_INVALID_MODE_STRING = "OBJECT_IN_INVALID_MODE";
const char *FORCING_MODE_STRING = "FORCING_MODE";
const char *MODE_CMD_REJECTED_STRING = "MODE_CMD_REJECTED";
const char *HEALTH_INFO_STRING = "HEALTH_INFO";
const char *CHILD_CHANGED_HEALTH_STRING = "CHILD_CHANGED_HEALTH";
const char *CHILD_PROBLEMS_STRING = "CHILD_PROBLEMS";
const char *OVERWRITING_HEALTH_STRING = "OVERWRITING_HEALTH";
const char *TRYING_RECOVERY_STRING = "TRYING_RECOVERY";
const char *RECOVERY_STEP_STRING = "RECOVERY_STEP";
const char *RECOVERY_DONE_STRING = "RECOVERY_DONE";
const char *RF_AVAILABLE_STRING = "RF_AVAILABLE";
const char *RF_LOST_STRING = "RF_LOST";
const char *BIT_LOCK_STRING = "BIT_LOCK";
const char *BIT_LOCK_LOST_STRING = "BIT_LOCK_LOST";
const char *FRAME_PROCESSING_FAILED_STRING = "FRAME_PROCESSING_FAILED";
const char *CLOCK_SET_STRING = "CLOCK_SET";
const char *CLOCK_SET_FAILURE_STRING = "CLOCK_SET_FAILURE";
const char *TEST_STRING = "TEST";
const char * translateEvents(Event event) {
switch( (event & 0xffff) ) {
case(2200):
return STORE_SEND_WRITE_FAILED_STRING;
case(2201):
return STORE_WRITE_FAILED_STRING;
case(2202):
return STORE_SEND_READ_FAILED_STRING;
case(2203):
return STORE_READ_FAILED_STRING;
case(2204):
return UNEXPECTED_MSG_STRING;
case(2205):
return STORING_FAILED_STRING;
case(2206):
return TM_DUMP_FAILED_STRING;
case(2207):
return STORE_INIT_FAILED_STRING;
case(2208):
return STORE_INIT_EMPTY_STRING;
case(2209):
return STORE_CONTENT_CORRUPTED_STRING;
case(2210):
return STORE_INITIALIZE_STRING;
case(2211):
return INIT_DONE_STRING;
case(2212):
return DUMP_FINISHED_STRING;
case(2213):
return DELETION_FINISHED_STRING;
case(2214):
return DELETION_FAILED_STRING;
case(2215):
return AUTO_CATALOGS_SENDING_FAILED_STRING;
case(2600):
return GET_DATA_FAILED_STRING;
case(2601):
return STORE_DATA_FAILED_STRING;
case(2800):
return DEVICE_BUILDING_COMMAND_FAILED_STRING;
case(2801):
return DEVICE_SENDING_COMMAND_FAILED_STRING;
case(2802):
return DEVICE_REQUESTING_REPLY_FAILED_STRING;
case(2803):
return DEVICE_READING_REPLY_FAILED_STRING;
case(2804):
return DEVICE_INTERPRETING_REPLY_FAILED_STRING;
case(2805):
return DEVICE_MISSED_REPLY_STRING;
case(2806):
return DEVICE_UNKNOWN_REPLY_STRING;
case(2807):
return DEVICE_UNREQUESTED_REPLY_STRING;
case(2808):
return INVALID_DEVICE_COMMAND_STRING;
case(2809):
return MONITORING_LIMIT_EXCEEDED_STRING;
case(2810):
return MONITORING_AMBIGUOUS_STRING;
case(4201):
return FUSE_CURRENT_HIGH_STRING;
case(4202):
return FUSE_WENT_OFF_STRING;
case(4204):
return POWER_ABOVE_HIGH_LIMIT_STRING;
case(4205):
return POWER_BELOW_LOW_LIMIT_STRING;
case(4300):
return SWITCH_WENT_OFF_STRING;
case(5000):
return HEATER_ON_STRING;
case(5001):
return HEATER_OFF_STRING;
case(5002):
return HEATER_TIMEOUT_STRING;
case(5003):
return HEATER_STAYED_ON_STRING;
case(5004):
return HEATER_STAYED_OFF_STRING;
case(5200):
return TEMP_SENSOR_HIGH_STRING;
case(5201):
return TEMP_SENSOR_LOW_STRING;
case(5202):
return TEMP_SENSOR_GRADIENT_STRING;
case(5901):
return COMPONENT_TEMP_LOW_STRING;
case(5902):
return COMPONENT_TEMP_HIGH_STRING;
case(5903):
return COMPONENT_TEMP_OOL_LOW_STRING;
case(5904):
return COMPONENT_TEMP_OOL_HIGH_STRING;
case(5905):
return TEMP_NOT_IN_OP_RANGE_STRING;
case(7101):
return FDIR_CHANGED_STATE_STRING;
case(7102):
return FDIR_STARTS_RECOVERY_STRING;
case(7103):
return FDIR_TURNS_OFF_DEVICE_STRING;
case(7201):
return MONITOR_CHANGED_STATE_STRING;
case(7202):
return VALUE_BELOW_LOW_LIMIT_STRING;
case(7203):
return VALUE_ABOVE_HIGH_LIMIT_STRING;
case(7204):
return VALUE_OUT_OF_RANGE_STRING;
case(7301):
return SWITCHING_TM_FAILED_STRING;
case(7400):
return CHANGING_MODE_STRING;
case(7401):
return MODE_INFO_STRING;
case(7402):
return FALLBACK_FAILED_STRING;
case(7403):
return MODE_TRANSITION_FAILED_STRING;
case(7404):
return CANT_KEEP_MODE_STRING;
case(7405):
return OBJECT_IN_INVALID_MODE_STRING;
case(7406):
return FORCING_MODE_STRING;
case(7407):
return MODE_CMD_REJECTED_STRING;
case(7506):
return HEALTH_INFO_STRING;
case(7507):
return CHILD_CHANGED_HEALTH_STRING;
case(7508):
return CHILD_PROBLEMS_STRING;
case(7509):
return OVERWRITING_HEALTH_STRING;
case(7510):
return TRYING_RECOVERY_STRING;
case(7511):
return RECOVERY_STEP_STRING;
case(7512):
return RECOVERY_DONE_STRING;
case(7900):
return RF_AVAILABLE_STRING;
case(7901):
return RF_LOST_STRING;
case(7902):
return BIT_LOCK_STRING;
case(7903):
return BIT_LOCK_LOST_STRING;
case(7905):
return FRAME_PROCESSING_FAILED_STRING;
case(8900):
return CLOCK_SET_STRING;
case(8901):
return CLOCK_SET_FAILURE_STRING;
case(9700):
return TEST_STRING;
default:
return "UNKNOWN_EVENT";
}
return 0;
}

View File

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

View File

@ -1,127 +0,0 @@
/**
* @brief Auto-generated object translation file.
* @details
* Contains 37 translations.
* Generated on: 2021-05-28 18:12:48
*/
#include "translateObjects.h"
const char *TEST_ASSEMBLY_STRING = "TEST_ASSEMBLY";
const char *TEST_CONTROLLER_STRING = "TEST_CONTROLLER";
const char *TEST_DEVICE_HANDLER_0_STRING = "TEST_DEVICE_HANDLER_0";
const char *TEST_DEVICE_HANDLER_1_STRING = "TEST_DEVICE_HANDLER_1";
const char *TEST_ECHO_COM_IF_STRING = "TEST_ECHO_COM_IF";
const char *FSFW_OBJECTS_START_STRING = "FSFW_OBJECTS_START";
const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION";
const char *PUS_SERVICE_2_DEVICE_ACCESS_STRING = "PUS_SERVICE_2_DEVICE_ACCESS";
const char *PUS_SERVICE_3_HOUSEKEEPING_STRING = "PUS_SERVICE_3_HOUSEKEEPING";
const char *PUS_SERVICE_5_EVENT_REPORTING_STRING = "PUS_SERVICE_5_EVENT_REPORTING";
const char *PUS_SERVICE_8_FUNCTION_MGMT_STRING = "PUS_SERVICE_8_FUNCTION_MGMT";
const char *PUS_SERVICE_9_TIME_MGMT_STRING = "PUS_SERVICE_9_TIME_MGMT";
const char *PUS_SERVICE_17_TEST_STRING = "PUS_SERVICE_17_TEST";
const char *PUS_SERVICE_20_PARAMETERS_STRING = "PUS_SERVICE_20_PARAMETERS";
const char *PUS_SERVICE_200_MODE_MGMT_STRING = "PUS_SERVICE_200_MODE_MGMT";
const char *PUS_SERVICE_201_HEALTH_STRING = "PUS_SERVICE_201_HEALTH";
const char *HEALTH_TABLE_STRING = "HEALTH_TABLE";
const char *MODE_STORE_STRING = "MODE_STORE";
const char *EVENT_MANAGER_STRING = "EVENT_MANAGER";
const char *INTERNAL_ERROR_REPORTER_STRING = "INTERNAL_ERROR_REPORTER";
const char *TC_STORE_STRING = "TC_STORE";
const char *TM_STORE_STRING = "TM_STORE";
const char *IPC_STORE_STRING = "IPC_STORE";
const char *TIME_STAMPER_STRING = "TIME_STAMPER";
const char *FSFW_OBJECTS_END_STRING = "FSFW_OBJECTS_END";
const char *UDP_BRIDGE_STRING = "UDP_BRIDGE";
const char *UDP_POLLING_TASK_STRING = "UDP_POLLING_TASK";
const char *CCSDS_DISTRIBUTOR_STRING = "CCSDS_DISTRIBUTOR";
const char *PUS_DISTRIBUTOR_STRING = "PUS_DISTRIBUTOR";
const char *TM_FUNNEL_STRING = "TM_FUNNEL";
const char *TEST_DUMMY_1_STRING = "TEST_DUMMY_1";
const char *TEST_DUMMY_2_STRING = "TEST_DUMMY_2";
const char *TEST_DUMMY_3_STRING = "TEST_DUMMY_3";
const char *TEST_DUMMY_4_STRING = "TEST_DUMMY_4";
const char *TEST_DUMMY_5_STRING = "TEST_DUMMY_5";
const char *TEST_TASK_STRING = "TEST_TASK";
const char *NO_OBJECT_STRING = "NO_OBJECT";
const char* translateObject(object_id_t object) {
switch( (object & 0xFFFFFFFF) ) {
case 0x4100CAFE:
return TEST_ASSEMBLY_STRING;
case 0x4301CAFE:
return TEST_CONTROLLER_STRING;
case 0x4401AFFE:
return TEST_DEVICE_HANDLER_0_STRING;
case 0x4402AFFE:
return TEST_DEVICE_HANDLER_1_STRING;
case 0x4900AFFE:
return TEST_ECHO_COM_IF_STRING;
case 0x53000000:
return FSFW_OBJECTS_START_STRING;
case 0x53000001:
return PUS_SERVICE_1_VERIFICATION_STRING;
case 0x53000002:
return PUS_SERVICE_2_DEVICE_ACCESS_STRING;
case 0x53000003:
return PUS_SERVICE_3_HOUSEKEEPING_STRING;
case 0x53000005:
return PUS_SERVICE_5_EVENT_REPORTING_STRING;
case 0x53000008:
return PUS_SERVICE_8_FUNCTION_MGMT_STRING;
case 0x53000009:
return PUS_SERVICE_9_TIME_MGMT_STRING;
case 0x53000017:
return PUS_SERVICE_17_TEST_STRING;
case 0x53000020:
return PUS_SERVICE_20_PARAMETERS_STRING;
case 0x53000200:
return PUS_SERVICE_200_MODE_MGMT_STRING;
case 0x53000201:
return PUS_SERVICE_201_HEALTH_STRING;
case 0x53010000:
return HEALTH_TABLE_STRING;
case 0x53010100:
return MODE_STORE_STRING;
case 0x53030000:
return EVENT_MANAGER_STRING;
case 0x53040000:
return INTERNAL_ERROR_REPORTER_STRING;
case 0x534f0100:
return TC_STORE_STRING;
case 0x534f0200:
return TM_STORE_STRING;
case 0x534f0300:
return IPC_STORE_STRING;
case 0x53500010:
return TIME_STAMPER_STRING;
case 0x53ffffff:
return FSFW_OBJECTS_END_STRING;
case 0x62000300:
return UDP_BRIDGE_STRING;
case 0x62000400:
return UDP_POLLING_TASK_STRING;
case 0x63000000:
return CCSDS_DISTRIBUTOR_STRING;
case 0x63000001:
return PUS_DISTRIBUTOR_STRING;
case 0x63000002:
return TM_FUNNEL_STRING;
case 0x74000001:
return TEST_DUMMY_1_STRING;
case 0x74000002:
return TEST_DUMMY_2_STRING;
case 0x74000003:
return TEST_DUMMY_3_STRING;
case 0x74000004:
return TEST_DUMMY_4_STRING;
case 0x74000005:
return TEST_DUMMY_5_STRING;
case 0x7400CAFE:
return TEST_TASK_STRING;
case 0xFFFFFFFF:
return NO_OBJECT_STRING;
default:
return "UNKNOWN_OBJECT";
}
return 0;
}

View File

@ -1,8 +0,0 @@
#ifndef FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_
#define FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_
#include <fsfw/objectmanager/SystemObjectIF.h>
const char* translateObject(object_id_t object);
#endif /* FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_ */

View File

@ -1,7 +1,7 @@
#ifndef POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_ #ifndef POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_
#define POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_ #define POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_
#include "OBSWConfig.h" #include <bsp_hosted/fsfwconfig/OBSWConfig.h>
#include <fsfw/returnvalues/HasReturnvaluesIF.h> #include <fsfw/returnvalues/HasReturnvaluesIF.h>
class FixedTimeslotTaskIF; class FixedTimeslotTaskIF;

View File

@ -1,14 +1,12 @@
#ifndef FSFWCONFIG_RETURNVALUES_CLASSIDS_H_ #ifndef FSFWCONFIG_RETURNVALUES_CLASSIDS_H_
#define FSFWCONFIG_RETURNVALUES_CLASSIDS_H_ #define FSFWCONFIG_RETURNVALUES_CLASSIDS_H_
#include "commonClassIds.h" #include <commonConfig.h>
namespace CLASS_ID { namespace CLASS_ID {
enum classIds: uint8_t { enum classIds: uint8_t {
CLASS_ID_START = COMMON_CLASS_ID_END, LINUX_LIBGPIO_IF = COMMON_CLASS_ID_COUNT + 1,
LINUX_LIBGPIO_IF, //GPIO LINUX_SPI_COM_IF
LINUX_SPI_COM_IF, //LSPI
CLASS_ID_END // [EXPORT] : [END]
}; };
} }

View File

@ -39,8 +39,7 @@ int main() {
sif::printInfo("Producing system objects..\n"); sif::printInfo("Producing system objects..\n");
#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */
ObjectManager* objManager = ObjectManager::instance(); objectManager = new ObjectManager(ObjectFactory::produce);
objManager->setObjectFactoryFunction(ObjectFactory::produce, nullptr);
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Objects created successfully.." << std::endl; sif::info << "Objects created successfully.." << std::endl;
@ -49,7 +48,7 @@ int main() {
sif::printInfo("Objects created successfully..\n"); sif::printInfo("Objects created successfully..\n");
#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */
objManager->initialize(); objectManager->initialize();
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Creating tasks.." << std::endl; sif::info << "Creating tasks.." << std::endl;

View File

@ -165,10 +165,6 @@ SECTIONS
} >RAM_D1 } >RAM_D1
.dma_buffer : /* Space before ':' is critical */
{
*(.dma_buffer)
} >RAM_D2
.lwip_sec (NOLOAD) : { .lwip_sec (NOLOAD) : {
. = ABSOLUTE(0x30040000); . = ABSOLUTE(0x30040000);

View File

@ -1,18 +1,17 @@
#include "hardware_init.h" #include "hardware_init.h"
#include "OBSWConfig.h"
#include "boardconfig.h" #include <stm32h743xx.h>
#include "app_ethernet.h" #include <stm32h7xx_hal_rcc_ex.h>
#include <stm32h7xx_nucleo.h>
#include <app_ethernet.h>
#include <common/stm32_nucleo/networking/ethernetif.h> #include <common/stm32_nucleo/networking/ethernetif.h>
#include <lwip/netif.h> #include <lwip/netif.h>
#include <lwip/init.h> #include <lwip/init.h>
#include <lwip/ip_addr.h> #include <lwip/ip_addr.h>
#include <netif/ethernet.h> #include <netif/ethernet.h>
#include "stm32h743xx.h" #include <boardconfig.h>
#include "stm32h7xx_hal_cortex.h"
#include "stm32h7xx_hal_rcc_ex.h"
#include "stm32h7xx_nucleo.h"
#include <stdio.h> #include <stdio.h>
/* Forward declarations */ /* Forward declarations */
@ -50,8 +49,8 @@ void performHardwareInit() {
BSP_Config(); BSP_Config();
} }
void MX_USART3_UART_Init(uint32_t baudRate)
void MX_USART3_UART_Init(uint32_t baudRate) { {
__HAL_RCC_USART3_CONFIG(RCC_USART3CLKSOURCE_HSI); __HAL_RCC_USART3_CONFIG(RCC_USART3CLKSOURCE_HSI);
__HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_USART3_CLK_ENABLE(); __HAL_RCC_USART3_CLK_ENABLE();
@ -209,23 +208,6 @@ void MPU_Config(void)
HAL_MPU_ConfigRegion(&MPU_InitStruct); HAL_MPU_ConfigRegion(&MPU_InitStruct);
#if STM_USE_PERIPHERAL_TX_BUFFER_MPU_PROTECTION == 1
// Protect DMA buffer for other peripherals
MPU_InitStruct.Enable = MPU_REGION_ENABLE;
MPU_InitStruct.BaseAddress = 0x30000000;
MPU_InitStruct.Size = MPU_REGION_SIZE_1KB;
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.Number = MPU_REGION_NUMBER1;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
MPU_InitStruct.SubRegionDisable = 0x00;
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
#endif
/* Enable the MPU */ /* Enable the MPU */
HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
} }

View File

@ -150,6 +150,7 @@ void ETH_IRQHandler(void)
HAL_ETH_IRQHandler(&EthHandle); HAL_ETH_IRQHandler(&EthHandle);
} }
/** /**
* @} * @}
*/ */

View File

@ -29,7 +29,6 @@ target_sources(${LIB_STM_HAL_NAME} PRIVATE
Src/stm32h7xx_hal_pwr.c Src/stm32h7xx_hal_pwr.c
Src/stm32h7xx_hal_pwr_ex.c Src/stm32h7xx_hal_pwr_ex.c
Src/stm32h7xx_hal_i2c.c Src/stm32h7xx_hal_i2c.c
Src/stm32h7xx_hal_spi.c
Src/stm32h7xx_hal_i2c_ex.c Src/stm32h7xx_hal_i2c_ex.c
Src/stm32h7xx_hal_uart.c Src/stm32h7xx_hal_uart.c
Src/stm32h7xx_hal_uart_ex.c Src/stm32h7xx_hal_uart_ex.c

View File

@ -1,28 +1,23 @@
#include "InitMission.h" #include "InitMission.h"
#include "OBSWConfig.h"
#include "objects/systemObjectList.h"
#include "pollingsequence/pollingSequenceFactory.h"
#include "mission/utility/TaskCreation.h" #include <OBSWConfig.h>
#include "mission/assemblies/TestAssembly.h"
#include "fsfw/returnvalues/HasReturnvaluesIF.h" #include <freertos/FreeRTOS.h>
#include "fsfw/serviceinterface/ServiceInterface.h"
#include "fsfw/tasks/FixedTimeslotTaskIF.h"
#include "fsfw/tasks/PeriodicTaskIF.h"
#include "fsfw/tasks/TaskFactory.h"
#include "fsfw/devicehandlers/DeviceHandlerIF.h"
#include "fsfw/modes/HasModesIF.h"
#include "fsfw/modes/ModeMessage.h"
#include "freertos/FreeRTOS.h" #include <objects/systemObjectList.h>
#include <mission/utility/TaskCreation.h>
#include <pollingsequence/pollingSequenceFactory.h>
#include <fsfw/returnvalues/HasReturnvaluesIF.h>
#include <fsfw/serviceinterface/ServiceInterfaceStream.h>
#include <fsfw/tasks/FixedTimeslotTaskIF.h>
#include <fsfw/tasks/PeriodicTaskIF.h>
#include <fsfw/tasks/TaskFactory.h>
void InitMission::createTasks() { void InitMission::createTasks() {
TaskFactory* taskFactory = TaskFactory::instance();
#if OBSW_ADD_CORE_COMPONENTS == 1 #if OBSW_ADD_CORE_COMPONENTS == 1
/* TMTC Distribution */ /* TMTC Distribution */
PeriodicTaskIF* distributerTask = taskFactory->createPeriodicTask( PeriodicTaskIF* distributerTask = TaskFactory::instance()->createPeriodicTask(
"DIST", 5, 1024 * 2, 0.2, nullptr); "DIST", 5, 1024 * 2, 0.2, nullptr);
ReturnValue_t result = distributerTask->addComponent(objects::CCSDS_DISTRIBUTOR); ReturnValue_t result = distributerTask->addComponent(objects::CCSDS_DISTRIBUTOR);
if(result!=HasReturnvaluesIF::RETURN_OK) { if(result!=HasReturnvaluesIF::RETURN_OK) {
@ -124,7 +119,7 @@ void InitMission::createTasks() {
#if OBSW_ADD_DEVICE_HANDLER_DEMO == 1 #if OBSW_ADD_DEVICE_HANDLER_DEMO == 1
FixedTimeslotTaskIF* testDevicesTask = TaskFactory::instance()->createFixedTimeslotTask( FixedTimeslotTaskIF* testDevicesTask = TaskFactory::instance()->createFixedTimeslotTask(
"PST_TEST_TASK", 7, 1024 * 2, 1.0, nullptr); "PST_TEST_TASK", 10, 1024 * 2, 1.0, nullptr);
result = pst::pollingSequenceDevices(testDevicesTask); result = pst::pollingSequenceDevices(testDevicesTask);
if(result != HasReturnvaluesIF::RETURN_OK) { if(result != HasReturnvaluesIF::RETURN_OK) {
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
@ -133,15 +128,6 @@ void InitMission::createTasks() {
sif::printError("InitMission::createTasks: Test PST initialization faiedl!\n"); sif::printError("InitMission::createTasks: Test PST initialization faiedl!\n");
#endif #endif
} }
PeriodicTaskIF* assemblyTask = taskFactory->createPeriodicTask("ASS_TASK", 3,
1024, 2.0, nullptr);
if(assemblyTask == nullptr){
task::printInitError("ASS_TASK", objects::TEST_ASSEMBLY);
}
result = assemblyTask->addComponent(objects::TEST_ASSEMBLY);
if(result != HasReturnvaluesIF::RETURN_OK) {
task::printInitError("ASS_TASK", objects::TEST_ASSEMBLY);
}
#endif /* OBSW_ADD_DEVICE_HANDLER_DEMO == 1 */ #endif /* OBSW_ADD_DEVICE_HANDLER_DEMO == 1 */
PeriodicTaskIF* testTask = TaskFactory::instance()->createPeriodicTask( PeriodicTaskIF* testTask = TaskFactory::instance()->createPeriodicTask(
@ -151,19 +137,6 @@ void InitMission::createTasks() {
task::printInitError("Test Task", objects::TEST_TASK); task::printInitError("Test Task", objects::TEST_TASK);
} }
#if OBSW_PERIPHERAL_PST == 1
FixedTimeslotTaskIF* peripheralPst = TaskFactory::instance()->createFixedTimeslotTask(
"PST_PERIPHERAL_TASK", 9, 1024 * 2, 2.0, nullptr);
result = pst::pstPeripheralsTest(peripheralPst);
if(result != HasReturnvaluesIF::RETURN_OK) {
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "InitMission::createTasks: Test PST initialization failed!" << std::endl;
#else
sif::printError("InitMission::createTasks: Test PST initialization faiedl!\n");
#endif
}
#endif
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Starting tasks.." << std::endl; sif::info << "Starting tasks.." << std::endl;
#else #else
@ -191,13 +164,8 @@ void InitMission::createTasks() {
#if OBSW_ADD_DEVICE_HANDLER_DEMO == 1 #if OBSW_ADD_DEVICE_HANDLER_DEMO == 1
testDevicesTask->startTask(); testDevicesTask->startTask();
assemblyTask->startTask();
#endif /* OBSW_ADD_DEVICE_HANDLER_DEMO == 1 */ #endif /* OBSW_ADD_DEVICE_HANDLER_DEMO == 1 */
#if OBSW_PERIPHERAL_PST == 1
peripheralPst->startTask();
#endif /* OBSW_PERIPHERAL_PST == 1 */
testTask->startTask(); testTask->startTask();
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
@ -209,29 +177,5 @@ void InitMission::createTasks() {
static_cast<unsigned long>(xPortGetFreeHeapSize())); static_cast<unsigned long>(xPortGetFreeHeapSize()));
sif::printInfo("Tasks started..\n"); sif::printInfo("Tasks started..\n");
#endif #endif
#if OBSW_ADD_DEVICE_HANDLER_DEMO
HasModesIF* assembly = ObjectManager::instance()->get<HasModesIF>(objects::TEST_ASSEMBLY);
if (assembly == nullptr){
return;
}
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Waiting 5 Seconds and then command Test Assembly to Normal, Dual" << std::endl;
#else
sif::printInfo("Waiting 5 Seconds and then command Test Assembly to Normal, Dual \n");
#endif
TaskFactory::delayTask(5000);
CommandMessage modeMessage;
ModeMessage::setModeMessage(&modeMessage, ModeMessage::CMD_MODE_COMMAND,
DeviceHandlerIF::MODE_NORMAL, TestAssembly::submodes::DUAL);
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Commanding Test Assembly to Normal, Dual" << std::endl;
#else
sif::printInfo("Commanding Test Assembly to Normal, Dual \n");
#endif
MessageQueueSenderIF::sendMessage(assembly->getCommandQueue(), &modeMessage,
MessageQueueIF::NO_QUEUE);
#endif /* OBSW_ADD_DEVICE_HANDLER_DEMO */
} }

View File

@ -1,7 +1,7 @@
#include "ObjectFactory.h" #include "ObjectFactory.h"
#include "OBSWConfig.h"
#include "devices/devAddresses.h" #include <OBSWConfig.h>
#include "objects/systemObjectList.h" #include <objects/systemObjectList.h>
#include <mission/utility/TmFunnel.h> #include <mission/utility/TmFunnel.h>
#include <mission/core/GenericFactory.h> #include <mission/core/GenericFactory.h>
@ -17,18 +17,7 @@
#include <fsfw/tmtcservices/CommandingServiceBase.h> #include <fsfw/tmtcservices/CommandingServiceBase.h>
#include <fsfw/tmtcservices/PusServiceBase.h> #include <fsfw/tmtcservices/PusServiceBase.h>
void ObjectFactory::produce() {
#if OBSW_PERFORM_L3GD20H_TEST == 1
#include "fsfw_hal/stm32h7/spi/SpiCookie.h"
#include "fsfw_hal/stm32h7/spi/SpiComIF.h"
#include "fsfw_hal/devicehandlers/GyroL3GD20Handler.h"
#include "fsfw_hal/stm32h7/spi/stm32h743ziSpi.h"
#include "fsfw_hal/stm32h7/spi/spiCore.h"
DMA_HandleTypeDef* txHandle = nullptr;
DMA_HandleTypeDef* rxHandle = nullptr;
#endif
void ObjectFactory::produce(void* args) {
/* Located inside GenericFactory source file */ /* Located inside GenericFactory source file */
Factory::setStaticFrameworkObjectIds(); Factory::setStaticFrameworkObjectIds();
@ -64,37 +53,4 @@ void ObjectFactory::produce(void* args) {
/* Test Device Handler */ /* Test Device Handler */
new STM32TestTask(objects::TEST_TASK, false, true); new STM32TestTask(objects::TEST_TASK, false, true);
#if OBSW_PERFORM_L3GD20H_TEST == 1
spi::MspCfgBase* mspCfg = nullptr;
spi::TransferModes transferMode = spi::TransferModes::DMA;
if(transferMode == spi::TransferModes::POLLING) {
auto typedCfg = new spi::MspPollingConfigStruct();
spi::h743zi::standardPollingCfg(*typedCfg);
mspCfg = typedCfg;
}
else if(transferMode == spi::TransferModes::INTERRUPT) {
auto typedCfg = new spi::MspIrqConfigStruct();
spi::h743zi::standardInterruptCfg(*typedCfg, IrqPriorities::HIGHEST_FREERTOS);
mspCfg = typedCfg;
}
else if(transferMode == spi::TransferModes::DMA) {
auto typedCfg = new spi::MspDmaConfigStruct();
txHandle = new DMA_HandleTypeDef();
rxHandle = new DMA_HandleTypeDef();
spi::setDmaHandles(txHandle, rxHandle);
spi::h743zi::standardDmaCfg(*typedCfg, IrqPriorities::HIGHEST_FREERTOS,
IrqPriorities::HIGHEST_FREERTOS, IrqPriorities::HIGHEST_FREERTOS);
mspCfg = typedCfg;
}
new SpiComIF(objects::SPI_COM_IF);
auto spiCookie = new SpiCookie(devaddress::L3GD20H, spi::SpiBus::SPI_1, transferMode, mspCfg,
3900000, spi::SpiModes::MODE_3, GPIO_PIN_14, GPIOD, 32);
auto gyroDevice = new GyroHandlerL3GD20H(objects::SPI_DEVICE_TEST, objects::SPI_COM_IF,
spiCookie);
gyroDevice->setStartUpImmediately();
gyroDevice->setGoNormalModeAtStartup();
#endif
} }

View File

@ -4,7 +4,7 @@
namespace ObjectFactory { namespace ObjectFactory {
void setStatics(); void setStatics();
void produce(void* args); void produce();
}; };
#endif /* MISSION_CORE_OBJECTFACTORY_H_ */ #endif /* MISSION_CORE_OBJECTFACTORY_H_ */

View File

@ -6,8 +6,6 @@
#ifndef FSFWCONFIG_OBSWCONFIG_H_ #ifndef FSFWCONFIG_OBSWCONFIG_H_
#define FSFWCONFIG_OBSWCONFIG_H_ #define FSFWCONFIG_OBSWCONFIG_H_
#define STM_USE_PERIPHERAL_TX_BUFFER_MPU_PROTECTION 1
//! Specify whether TMTC commanding via Ethernet is possible //! Specify whether TMTC commanding via Ethernet is possible
#define OBSW_ETHERNET_TMTC_COMMANDING 1 #define OBSW_ETHERNET_TMTC_COMMANDING 1
//! Only applies if TMTC commanding is enabled. //! Only applies if TMTC commanding is enabled.
@ -16,11 +14,6 @@
#define OBSW_ATTEMPT_DHCP_CONN 1 #define OBSW_ATTEMPT_DHCP_CONN 1
#define OBSW_PERIPHERAL_PST 0
#define OBSW_PERFORM_SPI_TEST 0
#define OBSW_PERFORM_L3GD20H_TEST 0
#if OBSW_ATTEMPT_DHCP_CONN == 0 #if OBSW_ATTEMPT_DHCP_CONN == 0
#define MAX_DHCP_TRIES 0 #define MAX_DHCP_TRIES 0
#else #else

View File

@ -1,14 +0,0 @@
#ifndef BSP_STM32_FREERTOS_FSFWCONFIG_DEVICES_DEVADDRESSES_H_
#define BSP_STM32_FREERTOS_FSFWCONFIG_DEVICES_DEVADDRESSES_H_
#include <cstdint>
namespace devaddress {
enum devaddress: uint32_t {
L3GD20H = 1
};
}
#endif /* BSP_STM32_FREERTOS_FSFWCONFIG_DEVICES_DEVADDRESSES_H_ */

View File

@ -8,10 +8,6 @@ enum mission_objects {
/* 0x62 ('b') Board and mission specific objects */ /* 0x62 ('b') Board and mission specific objects */
UDP_BRIDGE = 0x62000300, UDP_BRIDGE = 0x62000300,
UDP_POLLING_TASK = 0x62000400, UDP_POLLING_TASK = 0x62000400,
SPI_COM_IF = 0x63001000,
SPI_DEVICE_TEST = 0x74001000,
/* Generic name for FSFW static ID setter */ /* Generic name for FSFW static ID setter */
DOWNLINK_DESTINATION = UDP_BRIDGE DOWNLINK_DESTINATION = UDP_BRIDGE
}; };

View File

@ -2,31 +2,4 @@
* Add polling sequence initialization which are not common to every BSP here. * Add polling sequence initialization which are not common to every BSP here.
*/ */
#include "pollingSequenceFactory.h" #include "pollingSequenceFactory.h"
#include "OBSWConfig.h"
#include <fsfw/devicehandlers/DeviceHandlerIF.h>
#include <fsfw/tasks/FixedTimeslotTaskIF.h>
ReturnValue_t pst::pstPeripheralsTest(FixedTimeslotTaskIF *thisSequence) {
uint32_t length = thisSequence->getPeriodMs();
#if OBSW_PERFORM_L3GD20H_TEST == 1
thisSequence->addSlot(objects::SPI_DEVICE_TEST, 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::SPI_DEVICE_TEST, 0.3, DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::SPI_DEVICE_TEST, 0.45 * length,
DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::SPI_DEVICE_TEST, 0.6 * length, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::SPI_DEVICE_TEST, 0.8 * length, DeviceHandlerIF::GET_READ);
#endif
if (thisSequence->checkSequence() == HasReturnvaluesIF::RETURN_OK) {
return HasReturnvaluesIF::RETURN_OK;
}
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "pst::pollingSequenceInitFunction: Initialization errors!" << std::endl;
#else
sif::printError("pst::pollingSequenceInitFunction: Initialization errors!\n");
#endif
return HasReturnvaluesIF::RETURN_FAILED;
}

View File

@ -1,13 +1,12 @@
#ifndef POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_ #ifndef POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_
#define POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_ #define POLLINGSEQUENCE_POLLINGSEQUENCFACTORY_H_
#include "OBSWConfig.h" #include <bsp_hosted/fsfwconfig/OBSWConfig.h>
#include "fsfw/returnvalues/HasReturnvaluesIF.h" #include <fsfw/returnvalues/HasReturnvaluesIF.h>
class FixedTimeslotTaskIF; class FixedTimeslotTaskIF;
namespace pst { namespace pst {
ReturnValue_t pstPeripheralsTest(FixedTimeslotTaskIF *thisSequence);
ReturnValue_t pollingSequenceExamples(FixedTimeslotTaskIF *thisSequence); ReturnValue_t pollingSequenceExamples(FixedTimeslotTaskIF *thisSequence);
ReturnValue_t pollingSequenceDevices(FixedTimeslotTaskIF* thisSequence); ReturnValue_t pollingSequenceDevices(FixedTimeslotTaskIF* thisSequence);
} }

View File

@ -1,7 +1,7 @@
#ifndef FSFWCONFIG_RETURNVALUES_CLASSIDS_H_ #ifndef FSFWCONFIG_RETURNVALUES_CLASSIDS_H_
#define FSFWCONFIG_RETURNVALUES_CLASSIDS_H_ #define FSFWCONFIG_RETURNVALUES_CLASSIDS_H_
#include "commonConfig.h" #include <commonConfig.h>
namespace CLASS_ID { namespace CLASS_ID {
enum classIds: uint8_t { enum classIds: uint8_t {

View File

@ -1,20 +1,20 @@
#include "hardware_init.h" #include <hardware_init.h>
#include "lwip/init.h" #include <lwip/init.h>
#include "boardconfig.h" #include <boardconfig.h>
#include "OBSWVersion.h" #include <OBSWVersion.h>
#include "common/utility/utility.h" #include <common/utility/utility.h>
#include "fsfw/objectmanager/ObjectManager.h" #include <fsfw/objectmanager/ObjectManager.h>
#include "fsfw/serviceinterface/ServiceInterface.h" #include <fsfw/serviceinterface/ServiceInterface.h>
#include "fsfw/tasks/TaskFactory.h" #include <fsfw/tasks/TaskFactory.h>
#include "bsp_stm32_freertos/core/InitMission.h" #include <bsp_stm32_freertos/core/InitMission.h>
#include "bsp_stm32_freertos/core/ObjectFactory.h" #include <bsp_stm32_freertos/core/ObjectFactory.h>
#include "freertos/FreeRTOS.h" #include <freertos/FreeRTOS.h>
#include "freertos/task.h" #include <freertos/task.h>
#include "cmsis_os.h" #include <cmsis_os.h>
#include <cstdio> #include <cstdio>
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
@ -33,6 +33,8 @@ ServiceInterfaceStream sif::warning("WARNING", true);
ServiceInterfaceStream sif::error("ERROR", true); ServiceInterfaceStream sif::error("ERROR", true);
#endif #endif
ObjectManagerIF *objectManager = nullptr;
void initTask(void *parameters); void initTask(void *parameters);
/** /**
@ -68,10 +70,8 @@ void initTask(void *parameters) {
sif::printInfo("Creating objects..\n\r"); sif::printInfo("Creating objects..\n\r");
#endif #endif
ObjectManager* objManager = ObjectManager::instance(); objectManager = new ObjectManager(ObjectFactory::produce);
objManager->setObjectFactoryFunction(ObjectFactory::produce, nullptr); objectManager->initialize();
objManager->initialize();
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::info << "Creating tasks.." << std::endl; sif::info << "Creating tasks.." << std::endl;
#else #else

View File

@ -1,48 +0,0 @@
#ifndef FSFW_HAL_STM32H7_DEVICETEST_SPICONF_H_
#define FSFW_HAL_STM32H7_DEVICETEST_SPICONF_H_
#include "stm32h7xx_nucleo.h"
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* User can use this section to tailor SPIx instance used and associated
resources */
/* Definition for SPIx clock resources */
#define SPIx SPI1
#define SPIx_CLK_ENABLE() __HAL_RCC_SPI1_CLK_ENABLE()
#define DMAx_CLK_ENABLE() __HAL_RCC_DMA2_CLK_ENABLE()
#define SPIx_SCK_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
#define SPIx_MISO_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
#define SPIx_MOSI_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define SPIx_FORCE_RESET() __HAL_RCC_SPI1_FORCE_RESET()
#define SPIx_RELEASE_RESET() __HAL_RCC_SPI1_RELEASE_RESET()
/* Definition for SPIx Pins */
#define SPIx_SCK_PIN GPIO_PIN_5
#define SPIx_SCK_GPIO_PORT GPIOA
#define SPIx_SCK_AF GPIO_AF5_SPI1
#define SPIx_MISO_PIN GPIO_PIN_6
#define SPIx_MISO_GPIO_PORT GPIOA
#define SPIx_MISO_AF GPIO_AF5_SPI1
#define SPIx_MOSI_PIN GPIO_PIN_7
#define SPIx_MOSI_GPIO_PORT GPIOA
#define SPIx_MOSI_AF GPIO_AF5_SPI1
/* Definition for SPIx's DMA */
#define SPIx_TX_DMA_STREAM DMA2_Stream3
#define SPIx_RX_DMA_STREAM DMA2_Stream2
#define SPIx_TX_DMA_REQUEST DMA_REQUEST_SPI1_TX
#define SPIx_RX_DMA_REQUEST DMA_REQUEST_SPI1_RX
/* Definition for SPIx's NVIC */
#define SPIx_DMA_RX_IRQn DMA2_Stream2_IRQn
#define SPIx_DMA_TX_IRQn DMA2_Stream3_IRQn
#define SPIx_DMA_RX_IRQHandler DMA2_Stream2_IRQHandler
#define SPIx_DMA_TX_IRQHandler DMA2_Stream3_IRQHandler
#define SPIx_IRQn SPI1_IRQn
#define SPIx_IRQHandler SPI1_IRQHandler
#endif /* FSFW_HAL_STM32H7_DEVICETEST_SPICONF_H_ */

View File

@ -13,7 +13,7 @@ if(NOT DEFINED ENV{BBB_ROOTFS})
"Define the BBB_ROOTFS variable to point to the Beagle Bone Black rootfs." "Define the BBB_ROOTFS variable to point to the Beagle Bone Black rootfs."
) )
else() else()
set(SYSROOT_PATH "$ENV{BBB_ROOTFS}" CACHE PATH "BBB root filesystem path") set(SYSROOT_PATH "$ENV{BBB_ROOTFS}")
message(STATUS "Beagle Bone Black sysroot: ${SYSROOT_PATH}") message(STATUS "Beagle Bone Black sysroot: ${SYSROOT_PATH}")
endif() endif()

View File

@ -94,31 +94,18 @@ if(${TGT_BSP} MATCHES "arm/stm32h743zi-nucleo")
set(LIB_HAL_NAME ${LIB_STM_HAL_NAME} PARENT_SCOPE) set(LIB_HAL_NAME ${LIB_STM_HAL_NAME} PARENT_SCOPE)
set(LINK_HAL TRUE PARENT_SCOPE) set(LINK_HAL TRUE PARENT_SCOPE)
set(STM_HAL_CONFIG_PATH set(STM_HAL_CONFIG_PATH
"${BOARD_CONFIG_PATH}" "${BOARD_CONFIG_PATH}"
CACHE INTERNAL CACHE INTERNAL
"STM HAL config path." "STM HAL config path."
) )
set(STM_HAL_DEFINES set(STM_HAL_DEFINES
"USE_HAL_DRIVER" "USE_HAL_DRIVER"
"STM32H743xx" "STM32H743xx"
CACHE INTERNAL CACHE INTERNAL
"HAL defines for target machine" "HAL defines for target machine"
) )
set(FSFW_HAL_DEFINES
${STM_HAL_DEFINES}
CACHE INTERNAL
"Defines for FSFW HAL"
)
set(FSFW_HAL_LINK_LIBS
${LIB_OS_NAME}
${LIB_STM_HAL_NAME}
CACHE INTERNAL
"Link FSFW HAL against OS"
)
set(LINKER_SCRIPT_PATH "${BSP_PATH}/STM32CubeH7/Boards/NUCLEO-H743ZI") set(LINKER_SCRIPT_PATH "${BSP_PATH}/STM32CubeH7/Boards/NUCLEO-H743ZI")
set(LINKER_SCRIPT_NAME "STM32H743ZITx_FLASH.ld") set(LINKER_SCRIPT_NAME "STM32H743ZITx_FLASH.ld")

View File

@ -24,7 +24,7 @@ if(NOT DEFINED ENV{RASPBIAN_ROOTFS})
"Define the RASPBIAN_ROOTFS variable to point to the Raspberry Pi rootfs." "Define the RASPBIAN_ROOTFS variable to point to the Raspberry Pi rootfs."
) )
else() else()
set(SYSROOT_PATH "$ENV{RASPBIAN_ROOTFS}" CACHE PATH "Raspbian root filesystem path") set(SYSROOT_PATH "$ENV{RASPBIAN_ROOTFS}")
message(STATUS "Raspberry Pi sysroot: ${SYSROOT_PATH}") message(STATUS "Raspberry Pi sysroot: ${SYSROOT_PATH}")
endif() endif()

View File

@ -2,7 +2,7 @@
#define COMMON_OBSWVERSION_H_ #define COMMON_OBSWVERSION_H_
#define FSFW_EXAMPLE_VERSION 1 #define FSFW_EXAMPLE_VERSION 1
#define FSFW_EXAMPLE_SUBVERSION 1 #define FSFW_EXAMPLE_SUBVERSION 0
#define FSFW_EXAMPLE_REVISION 0 #define FSFW_EXAMPLE_REVISION 0
#endif /* COMMON_OBSWVERSION_H_ */ #endif /* COMMON_OBSWVERSION_H_ */

View File

@ -1,14 +0,0 @@
#ifndef COMMON_CONFIG_COMMONCLASSIDS_H_
#define COMMON_CONFIG_COMMONCLASSIDS_H_
#include "fsfw/returnvalues/FwClassIds.h"
namespace CLASS_ID {
enum commonClassIds: uint8_t {
COMMON_CLASS_ID_START = FW_CLASS_ID_COUNT,
DUMMY_HANDLER, //DDH
COMMON_CLASS_ID_END // [EXPORT] : [END]
};
}
#endif /* COMMON_CONFIG_COMMONCLASSIDS_H_ */

View File

@ -59,6 +59,26 @@ enum ServiceIds: uint8_t {
}; };
} }
/**
* The subsystem IDs will be part of the event IDs used throughout the FSFW.
*/
namespace SUBSYSTEM_ID {
enum commonSubsystemId: uint8_t {
START_EVENT_ID = FW_SUBSYSTEM_ID_RANGE,
};
}
/**
* The subsystem IDs will be part of the returnvalues used throughout the FSFW.
*
*/
namespace CLASS_ID {
enum commonClassIds: uint8_t {
DUMMY_HANDLER = FW_CLASS_ID_COUNT, //DDH
COMMON_CLASS_ID_COUNT
};
}
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif /* COMMON_COMMONCONFIG_H_ */ #endif /* COMMON_COMMONCONFIG_H_ */

View File

@ -1,17 +0,0 @@
#ifndef COMMON_CONFIG_COMMONSUBSYSTEMIDS_H_
#define COMMON_CONFIG_COMMONSUBSYSTEMIDS_H_
#include "fsfw/events/fwSubsystemIdRanges.h"
/**
* The subsystem IDs will be part of the event IDs used throughout the FSFW.
*/
namespace SUBSYSTEM_ID {
enum commonSubsystemId: uint8_t {
COMMON_SUBSYSTEM_ID_START = FW_SUBSYSTEM_ID_RANGE,
COMMON_SUBSYSTEM_ID_END
};
}
#endif /* COMMON_CONFIG_COMMONSUBSYSTEMIDS_H_ */

View File

@ -1,9 +1,6 @@
#include "STM32TestTask.h" #include <common/stm32_nucleo/STM32TestTask.h>
#include "stm32h7xx_nucleo.h" #include <stm32h7xx_nucleo.h>
#include "OBSWConfig.h" #include <OBSWConfig.h>
#include "fsfw_hal/stm32h7/devicetest/GyroL3GD20H.h"
#include "fsfw/serviceinterface/ServiceInterface.h"
STM32TestTask::STM32TestTask(object_id_t objectId, bool enablePrintout, STM32TestTask::STM32TestTask(object_id_t objectId, bool enablePrintout,
bool blinkyLed): TestTask(objectId, enablePrintout), bool blinkyLed): TestTask(objectId, enablePrintout),
@ -18,24 +15,5 @@ ReturnValue_t STM32TestTask::performPeriodicAction() {
#endif #endif
BSP_LED_Toggle(LED3); BSP_LED_Toggle(LED3);
} }
if(gyro != nullptr) {
gyro->performOperation();
}
return TestTask::performPeriodicAction(); return TestTask::performPeriodicAction();
} }
ReturnValue_t STM32TestTask::performOneShotAction() {
// Might be confusing but if this is defined to 1, the real device handler is tested and we
// should not mess with the SPI bus
#if OBSW_PERFORM_L3GD20H_TEST == 0
performSpiL3gd20hTest();
#endif
return HasReturnvaluesIF::RETURN_OK;
}
void STM32TestTask::performSpiL3gd20hTest() {
gyro = new GyroL3GD20H(&spiHandle, spi::TransferModes::DMA);
gyro->initialize();
gyro->performOperation();
}

View File

@ -2,24 +2,16 @@
#define BSP_STM32_BOARDTEST_STM32TESTTASK_H_ #define BSP_STM32_BOARDTEST_STM32TESTTASK_H_
#include <test/TestTask.h> #include <test/TestTask.h>
#include "stm32h7xx_hal.h"
#include "stm32h7xx_hal_spi.h"
class GyroL3GD20H;
class STM32TestTask: public TestTask { class STM32TestTask: public TestTask {
public: public:
STM32TestTask(object_id_t objectId, bool enablePrintout, bool blinkyLed = true); STM32TestTask(object_id_t objectId, bool enablePrintout, bool blinkyLed = true);
ReturnValue_t performPeriodicAction() override; ReturnValue_t performPeriodicAction() override;
ReturnValue_t performOneShotAction() override;
void performSpiL3gd20hTest();
private: private:
bool blinkyLed = false; bool blinkyLed = false;
SPI_HandleTypeDef spiHandle = {};
GyroL3GD20H* gyro = nullptr;
}; };

View File

@ -6,7 +6,6 @@
#include <hardware_init.h> #include <hardware_init.h>
#include <fsfw/ipc/MutexGuard.h> #include <fsfw/ipc/MutexGuard.h>
#include <fsfw/objectmanager/ObjectManager.h>
#include <fsfw/serviceinterface/ServiceInterface.h> #include <fsfw/serviceinterface/ServiceInterface.h>
#include <lwip/timeouts.h> #include <lwip/timeouts.h>
@ -19,7 +18,7 @@ UdpTcLwIpPollingTask::~UdpTcLwIpPollingTask() {
} }
ReturnValue_t UdpTcLwIpPollingTask::initialize() { ReturnValue_t UdpTcLwIpPollingTask::initialize() {
udpBridge = ObjectManager::instance()->get<TmTcLwIpUdpBridge>(bridgeId); udpBridge = objectManager->get<TmTcLwIpUdpBridge>(bridgeId);
if(udpBridge == nullptr) { if(udpBridge == nullptr) {
return ObjectManagerIF::CHILD_INIT_FAILED; return ObjectManagerIF::CHILD_INIT_FAILED;
} }

2
fsfw

@ -1 +1 @@
Subproject commit fb7b059137ca873b405b95f8d3072f4ae85ce2ff Subproject commit f3d9fb645ea5f4dfdf8b1d8aafe542ff8bbbefd6

@ -1 +1 @@
Subproject commit 83cfafd49e00ee7c29c9ffc4606cbd5002f62644 Subproject commit d801319c12713d08cbdbc571ee2a922ce2f0c851

View File

View File

@ -0,0 +1,215 @@
#! /usr/bin/python3.7
"""
@file
mib_objects.py
@brief
Part of the Mission Information Base Exporter for the SOURCE project by KSat.
@details
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 re
import os
import shutil
import pprint
from utility.mib_csv_writer import CsvWriter
generateCpp = True
generateCsv = True
copyCppFile = True
moveCsvFile = True
cppFilename = "translateEvents.cpp"
csvFilename = "MIB_Events.csv"
cppCopyDestination = "../../config/objects/"
csvMoveDestination = "../"
fileSeparator = ";"
pp = pprint.PrettyPrinter(indent=0, width=250)
def main():
print("Parsing events: ")
listItems = parseOBSW()
handleFileExport(listItems)
print("")
def parseOBSW():
idSubsystemDefinitions = parseSubsystemDefinitionFile("../../config/tmtc/subsystemIdRanges.h")
tempList = parseSubsystemDefinitionFile("../../fsfw/events/fwSubsystemIdRanges.h")
idSubsystemDefinitions.update(tempList)
print(len(idSubsystemDefinitions))
# print ("Dictionary size is " + str(len(idInterfaceDefinitions)) )
# for entry in idSubsystemDefinitions:
# print(entry)
myHeaderList = getHeaderFileList("../../mission/")
myHeaderList = myHeaderList + getHeaderFileList("../../fsfw/")
myEventList = parseHeaderFiles(idSubsystemDefinitions, myHeaderList)
listItems = sorted(myEventList.items())
print("Found " + str(len(listItems)) + " entries:")
pp.pprint(listItems)
print(len(listItems))
return listItems
def handleFileExport(listItems):
csvWriter = CsvWriter(csvFilename)
if generateCpp:
print("Generating translation cpp file.")
writeTranslationFile(cppFilename, listItems)
if generateCpp and copyCppFile:
dst = shutil.copy2("../events/translateEvents.cpp", "../../config/events/")
print("CPP file was copied to " + dst)
if generateCsv:
print("Generating text export.")
exportToFile(csvFilename, listItems)
if generateCsv and moveCsvFile:
csvWriter.move_csv(csvMoveDestination)
# The output files are generated by putting the name of the output CPP file as first argument and the name of the
# csv or txt output as second argument in the Run Configuration.
# Config Parameters: translateEvents.cpp translateEvents.csv
def parseSubsystemDefinitionFile(filename):
file = open(filename, "r")
interfaces = dict()
for line in file.readlines():
match = re.search('([A-Z0-9_]*) = ([0-9]{1,2})', line)
if match:
interfaces.update({match.group(1): [match.group(2)]})
return interfaces
def returnNumberFromString(aString):
if aString.startswith('0x'):
return int(aString, 16)
elif aString.isdigit():
return int(aString)
else:
print('Error: Illegal number representation: ' + aString)
return 0
def convert(name):
singleStrings = name.split('_')
newString = ''
for oneString in singleStrings:
oneString = oneString.lower()
oneString = oneString.capitalize()
newString = newString + oneString
return newString
def buildCheckedString(firstPart, secondPart):
myStr = firstPart + convert(secondPart)
if len(myStr) > 16:
print("Error: Entry: " + myStr + " too long. Will truncate.")
myStr = myStr[0:14]
# else:
# print( "Entry: " + myStr + " is all right.")
return myStr
def cleanUpDescription(description):
description = description.lstrip('//!<>')
description = description.lstrip()
if description == '':
description = ' '
return description
def parseHeaderFiles(interfaceList, fileList):
dictionnary = dict()
totalCount = 0
count = 0
# noinspection PyUnusedLocal
currentId = 0
for fileName in fileList:
file = open(fileName, "r")
oldline = file.readline()
myId = 0
# print(file_name)
while True:
newline = file.readline()
if not newline:
break # EOF
if not oldline == '\n':
twolines = oldline + ' ' + newline.strip()
else:
twolines = ''
match1 = re.search('SUBSYSTEM_ID[\s]*=[\s]*SUBSYSTEM_ID::([A-Z_0-9]*);', twolines)
if match1:
currentId = interfaceList[match1.group(1)][0]
# print( "Current ID: " + str(currentId) )
myId = returnNumberFromString(currentId)
match = re.search('(//)?[\t ]*static const Event[\s]*([A-Z_0-9]*)[\s]*=[\s]*MAKE_EVENT\(([0-9]{1,2}),'
'[\s]*SEVERITY::([A-Z]*)\);[\t ]*(//!<)?([^\n]*)', twolines)
if match:
if match.group(1):
oldline = newline
continue
description = " "
if match.group(6):
description = cleanUpDescription(match.group(6))
stringToAdd = match.group(2)
fullId = (myId * 100) + returnNumberFromString(match.group(3))
severity = match.group(4)
if fullId in dictionnary:
print('duplicate Event ' + hex(fullId) + ' from ' + fileName + ' was already in ' +
dictionnary[fullId][3])
dictionnary.update({fullId: (stringToAdd, severity, description, fileName)})
count = count + 1
oldline = newline
if count > 0:
print("File " + fileName + " contained " + str(count) + " events.")
totalCount += count
count = 0
print("Total events: " + str(totalCount))
return dictionnary
def getHeaderFileList(base):
# print("getHeaderFileList called with" + base)
baseList = os.listdir(base)
fileList = []
for entry in baseList:
# Remove all hidden files:
if os.path.isdir(base + entry) and (entry[0] != ".") and (entry[0] != "_"):
fileList = fileList + getHeaderFileList(base + entry + "/")
if re.match("[^.]*\.h", entry) and os.path.isfile(base + entry):
fileList.append(base + entry)
return fileList
def exportToFile(filename, listOfEntries):
print('Exporting to file: ' + filename)
file = open(filename, "w")
for entry in listOfEntries:
file.write(str(entry[0]) + fileSeparator + entry[1][0] + fileSeparator + entry[1][1]
+ fileSeparator + entry[1][2] + fileSeparator + entry[1][3] + '\n')
file.close()
return
def writeTranslationFile(filename, listOfEntries):
outputfile = open(filename, "w")
definitions = ""
function = "const char * translateEvents(Event event){\n\tswitch((event&0xFFFF)){\n"
for entry in listOfEntries:
definitions += "const char *" + entry[1][0] + "_STRING = \"" + entry[1][0] + "\";\n"
function += "\t\tcase " + str(entry[0]) + ":\n\t\t\treturn " + entry[1][0] + "_STRING;\n"
function += '\t\tdefault:\n\t\t\treturn "UNKNOWN_EVENT";\n'
outputfile.write("/* Auto-generated event translation file. Contains "
+ str(len(listOfEntries)) + " translations. */\n")
outputfile.write("#include \"translateEvents.h\"\n\n")
outputfile.write(definitions + "\n" + function + "\t}\n\treturn 0;\n}\n")
outputfile.close()
if __name__ == "__main__":
main()

View File

@ -0,0 +1,269 @@
#! /usr/bin/python3.7
"""
@file
MIB_Returnvalues.py
@brief
Part of the Mission Information Base Exporter for the SOURCE project by KSat.
TODO: Integrate into Parser Structure instead of calling this file (no cpp file generated yet)
@details
Returnvalue 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 pprint
import re
import os
import getpass
# import MySQLdb
from utility.mib_csv_writer import CsvWriter
doExportToFile = True
moveCsvFile = True
csvFilename = "MIB_Returnvalues.csv"
csvMoveDestination = "../"
fileSeparator = ';'
maxStringLength = 25
pp = pprint.PrettyPrinter(indent=0, width=250)
def main():
print("Parsing Returnvalues: ")
parseOBSW()
handleFileExport()
print("")
def parseOBSW():
idInterfaceDefinitions = \
parseInterfaceDefinitionFile("../../fsfw/returnvalues/FwClassIds.h",
"../../config/returnvalues/classIds.h")
print("Found interface definitions: ")
pp.pprint(idInterfaceDefinitions)
myHeaderList = getHeaderFileList("../../mission/")
myHeaderList = myHeaderList + getHeaderFileList("../../fsfw/")
myHeaderList = myHeaderList + getHeaderFileList("../../config/")
myHeaderList = myHeaderList + getHeaderFileList("../../sam9g20/")
mySecondList = parseHeaderFiles(idInterfaceDefinitions, myHeaderList)
print(len(myHeaderList))
print(len(mySecondList))
# print(mySecondList[14081])
# print (mySecondList.items()[0][1])
# print( "Found entries:" )
counter = 0
# for entry in sorted(mySecondList):
# print(entry)
# noinspection PyUnusedLocal
for entry in mySecondList.items():
counter = counter + 1
# print( entry[0], entry[1][0], entry[1][1] )
print("Count: ", counter)
if doExportToFile:
exportToFile(csvFilename, mySecondList)
else:
print('No export to file requested.')
# writeEntriesToOtherDB( mySecondList )
# writeEntriesToDB( mySecondList )
def handleFileExport():
csvWriter = CsvWriter(csvFilename)
if moveCsvFile:
csvWriter.move_csv(csvMoveDestination)
def parseInterfaceDefinitionFile(fwFilename, missionFilename):
file = open(fwFilename, "r")
interfaces = dict()
allLines = file.readlines()
count = 0
countMatched = False
# Parses first entry, which has explicit value 1
for line in allLines:
if not countMatched:
match = re.search('[\s]*([A-Z_0-9]*) = ([0-9]*),[\s]*//([A-Z]{1,3})', line)
else:
match = re.search('[\s]*([A-Z_0-9]*),[\s]*//([A-Z]{1,3})', line)
if match and not countMatched:
count = int(match.group(2))
interfaces.update({match.group(1): [1, match.group(3)]})
count += 1
countMatched = True
elif match:
interfaces.update({match.group(1): [count, match.group(2)]})
count += 1
file = open(missionFilename, "r")
allLines = file.readlines()
for line in allLines:
match = re.search('[\s]*([A-Z_0-9]*) = FW_CLASS_ID_COUNT,[\s]*(//([A-Z]{1,3}))?', line)
if match:
interfaces.update({match.group(1): [count, match.group(2)]})
count += 1
for line in allLines:
match = re.search('^[\s]*([A-Z_0-9]*)[,]*[\s]*//[!<]*[\s]*([^\n]*)', line)
if match:
interfaces.update({match.group(1): [count, match.group(2)]})
count += 1
print("Found interfaces : " + str(count - 1))
return interfaces
def returnNumberFromString(aString):
if aString.startswith('0x'):
return int(aString, 16)
elif aString.isdigit():
return int(aString)
else:
print('Error: Illegeal number representation: ' + aString)
return 0
def convert(name):
singleStrings = name.split('_')
newString = ''
for oneString in singleStrings:
oneString = oneString.lower()
oneString = oneString.capitalize()
newString = newString + oneString
return newString
def buildCheckedString(firstPart, secondPart):
myStr = firstPart + convert(secondPart)
if len(myStr) > maxStringLength:
print("Error: Entry: " + myStr + " too long. Will truncate.")
myStr = myStr[0:maxStringLength]
else:
# print("Entry: " + myStr + " is all right.")
pass
return myStr
def cleanUpDescription(descrString):
description = descrString.lstrip('!<- ')
if description == '':
description = ' '
return description
def parseHeaderFiles(interfaceList, fileList):
dictionnary = dict()
count = 0
currentName = ""
myId = 0
dictionnary.update({0: ('OK', 'System-wide code for ok.', 'RETURN_OK', 'HasReturnvaluesIF.h',
'HasReturnvaluesIF')})
dictionnary.update({1: ('Failed', 'Unspecified system-wide code for failed.',
'RETURN_FAILED', 'HasReturnvaluesIF.h', 'HasReturnvaluesIF')})
print('')
print("Parsing files: ")
for fileName in fileList:
# print("Parsing file " + fileName + ": ")
file = open(fileName, "r")
oldline = file.readline()
while True:
currentFullName = ""
newline = file.readline()
if not newline:
break # EOF
if not oldline == '\n':
twoLines = oldline + ' ' + newline.strip()
else:
twoLines = ''
match1 = re.search('INTERFACE_ID[\s]*=[\s]*CLASS_ID::([a-zA-Z_0-9]*)', twoLines)
if match1:
# print("Interface ID" + str(match1.group(1)) + "found in " + fileName)
currentId = interfaceList[match1.group(1)][0]
currentName = interfaceList[match1.group(1)][1]
currentFullName = match1.group(1)
# print( "Current ID: " + str(currentId) )
myId = currentId
match = re.search('^[\s]*static const ReturnValue_t[\s]*([a-zA-Z_0-9]*)[\s]*=[\s]*'
'MAKE_RETURN_CODE[\s]*\([\s]*([x0-9a-fA-F]{1,4})[\s]*\);[\t ]*(//)?([^\n]*)',
twoLines)
if match:
# valueTable.append([])
description = cleanUpDescription(match.group(4))
stringToAdd = buildCheckedString(currentName, match.group(1))
fullId = (myId << 8) + returnNumberFromString(match.group(2))
if fullId in dictionnary:
print('duplicate returncode ' + hex(fullId) + ' from ' + fileName + ' was already in ' +
dictionnary[fullId][3])
dictionnary.update({fullId: (stringToAdd, description, match.group(1), fileName, currentFullName)})
# valueTable[count].append(fullId)
# valueTable[count].append(stringToAdd)
count = count + 1
else:
pass
oldline = newline
# valueTable.pop()
return dictionnary
def getHeaderFileList(base):
# print ( "getHeaderFileList called with" + base )
baseList = os.listdir(base)
fileList = []
for entry in baseList:
# Remove all hidden files:
if os.path.isdir(base + entry) and (entry[0] != ".") and (entry[0] != "_"):
fileList = fileList + getHeaderFileList(base + entry + "/")
if re.match("[^.]*\.h", entry) and os.path.isfile(base + entry):
fileList.append(base + entry)
return fileList
def writeEntriesToDB(listOfEntries):
print("Connecting to database...")
user = getpass.getpass("User: ")
passwd = getpass.getpass()
conn = MySQLdb.connect(host="127.0.0.1", user=user, passwd=passwd, db="flpmib")
written = conn.cursor()
print("done.")
# delete old entries
print("Kill old entries.")
written.execute("DELETE FROM txp WHERE TXP_NUMBR = 'DSX00000'")
print("Insert new ones:")
for entry in listOfEntries.items():
written.execute("INSERT INTO txp (txp_numbr, txp_from, txp_to, txp_altxt) VALUES ('DSX00000', %s, %s, %s)",
[entry[0], entry[0], entry[1][0]])
conn.commit()
print("Done. That was easy.")
def writeEntriesToOtherDB(listOfEntries):
print("Connecting to other database...")
conn = MySQLdb.connect(host="buggy.irs.uni-stuttgart.de",
user='returncode', passwd='returncode', db="returncode")
written = conn.cursor()
print("connected.")
# delete old entries
print("Kill old entries.")
written.execute("DELETE FROM returncodes WHERE true")
print("Insert new ones:")
for entry in listOfEntries.items():
written.execute("INSERT INTO returncodes (code,name,interface,file,description) VALUES (%s, %s, %s, %s, %s)",
[entry[0], entry[1][2], entry[1][4], entry[1][3], entry[1][1]])
conn.commit()
print("Done. That was hard.")
def exportToFile(filename_, listOfEntries):
print('Exporting to file: ' + csvFilename)
file = open(filename_, "w")
for entry in listOfEntries.items():
file.write(hex(entry[0]) + fileSeparator + entry[1][0] + fileSeparator + entry[1][1] +
fileSeparator + entry[1][2] + fileSeparator
+ entry[1][3] + fileSeparator + entry[1][4] + '\n')
file.close()
return
if __name__ == "__main__":
main()

View File

@ -1,78 +0,0 @@
2200;STORE_SEND_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2201;STORE_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2202;STORE_SEND_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2203;STORE_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2204;UNEXPECTED_MSG;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2205;STORING_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2206;TM_DUMP_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2207;STORE_INIT_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2208;STORE_INIT_EMPTY;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2209;STORE_CONTENT_CORRUPTED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2210;STORE_INITIALIZE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2211;INIT_DONE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2212;DUMP_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2213;DELETION_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2214;DELETION_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2215;AUTO_CATALOGS_SENDING_FAILED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2600;GET_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h
2601;STORE_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h
2800;DEVICE_BUILDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2801;DEVICE_SENDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2802;DEVICE_REQUESTING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2803;DEVICE_READING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2804;DEVICE_INTERPRETING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2805;DEVICE_MISSED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2806;DEVICE_UNKNOWN_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2807;DEVICE_UNREQUESTED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2808;INVALID_DEVICE_COMMAND;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2809;MONITORING_LIMIT_EXCEEDED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2810;MONITORING_AMBIGUOUS;HIGH; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
4201;FUSE_CURRENT_HIGH;LOW; ;../../fsfw/power/Fuse.h
4202;FUSE_WENT_OFF;LOW; ;../../fsfw/power/Fuse.h
4204;POWER_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/power/Fuse.h
4205;POWER_BELOW_LOW_LIMIT;LOW; ;../../fsfw/power/Fuse.h
4300;SWITCH_WENT_OFF;LOW; ;../../fsfw/power/PowerSwitchIF.h
5000;HEATER_ON;INFO; ;../../fsfw/thermal/Heater.h
5001;HEATER_OFF;INFO; ;../../fsfw/thermal/Heater.h
5002;HEATER_TIMEOUT;LOW; ;../../fsfw/thermal/Heater.h
5003;HEATER_STAYED_ON;LOW; ;../../fsfw/thermal/Heater.h
5004;HEATER_STAYED_OFF;LOW; ;../../fsfw/thermal/Heater.h
5200;TEMP_SENSOR_HIGH;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h
5201;TEMP_SENSOR_LOW;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h
5202;TEMP_SENSOR_GRADIENT;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h
5901;COMPONENT_TEMP_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5902;COMPONENT_TEMP_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5903;COMPONENT_TEMP_OOL_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5904;COMPONENT_TEMP_OOL_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5905;TEMP_NOT_IN_OP_RANGE;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
7101;FDIR_CHANGED_STATE;INFO; ;../../fsfw/fdir/FailureIsolationBase.h
7102;FDIR_STARTS_RECOVERY;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h
7103;FDIR_TURNS_OFF_DEVICE;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h
7201;MONITOR_CHANGED_STATE;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7202;VALUE_BELOW_LOW_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7203;VALUE_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7204;VALUE_OUT_OF_RANGE;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7301;SWITCHING_TM_FAILED;LOW; ;../../fsfw/datapool/HkSwitchHelper.h
7400;CHANGING_MODE;INFO; ;../../fsfw/modes/HasModesIF.h
7401;MODE_INFO;INFO; ;../../fsfw/modes/HasModesIF.h
7402;FALLBACK_FAILED;HIGH; ;../../fsfw/modes/HasModesIF.h
7403;MODE_TRANSITION_FAILED;LOW; ;../../fsfw/modes/HasModesIF.h
7404;CANT_KEEP_MODE;HIGH; ;../../fsfw/modes/HasModesIF.h
7405;OBJECT_IN_INVALID_MODE;LOW; ;../../fsfw/modes/HasModesIF.h
7406;FORCING_MODE;MEDIUM; ;../../fsfw/modes/HasModesIF.h
7407;MODE_CMD_REJECTED;LOW; ;../../fsfw/modes/HasModesIF.h
7506;HEALTH_INFO;INFO; ;../../fsfw/health/HasHealthIF.h
7507;CHILD_CHANGED_HEALTH;INFO; ;../../fsfw/health/HasHealthIF.h
7508;CHILD_PROBLEMS;LOW; ;../../fsfw/health/HasHealthIF.h
7509;OVERWRITING_HEALTH;LOW; ;../../fsfw/health/HasHealthIF.h
7510;TRYING_RECOVERY;MEDIUM; ;../../fsfw/health/HasHealthIF.h
7511;RECOVERY_STEP;MEDIUM; ;../../fsfw/health/HasHealthIF.h
7512;RECOVERY_DONE;MEDIUM; ;../../fsfw/health/HasHealthIF.h
7900;RF_AVAILABLE;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7901;RF_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7902;BIT_LOCK;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7903;BIT_LOCK_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7905;FRAME_PROCESSING_FAILED;LOW; ;../../fsfw/datalinklayer/DataLinkLayer.h
8900;CLOCK_SET;INFO; ;../../fsfw/pus/Service9TimeManagement.h
8901;CLOCK_SET_FAILURE;LOW; ;../../fsfw/pus/Service9TimeManagement.h
9700;TEST;INFO; ;../../fsfw/pus/Service17Test.h
1 2200 STORE_SEND_WRITE_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
2 2201 STORE_WRITE_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
3 2202 STORE_SEND_READ_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
4 2203 STORE_READ_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
5 2204 UNEXPECTED_MSG LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
6 2205 STORING_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
7 2206 TM_DUMP_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
8 2207 STORE_INIT_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
9 2208 STORE_INIT_EMPTY INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
10 2209 STORE_CONTENT_CORRUPTED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
11 2210 STORE_INITIALIZE INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
12 2211 INIT_DONE INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
13 2212 DUMP_FINISHED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
14 2213 DELETION_FINISHED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
15 2214 DELETION_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
16 2215 AUTO_CATALOGS_SENDING_FAILED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
17 2600 GET_DATA_FAILED LOW ../../fsfw/storagemanager/StorageManagerIF.h
18 2601 STORE_DATA_FAILED LOW ../../fsfw/storagemanager/StorageManagerIF.h
19 2800 DEVICE_BUILDING_COMMAND_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
20 2801 DEVICE_SENDING_COMMAND_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
21 2802 DEVICE_REQUESTING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
22 2803 DEVICE_READING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
23 2804 DEVICE_INTERPRETING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
24 2805 DEVICE_MISSED_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
25 2806 DEVICE_UNKNOWN_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
26 2807 DEVICE_UNREQUESTED_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
27 2808 INVALID_DEVICE_COMMAND LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
28 2809 MONITORING_LIMIT_EXCEEDED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
29 2810 MONITORING_AMBIGUOUS HIGH ../../fsfw/devicehandlers/DeviceHandlerIF.h
30 4201 FUSE_CURRENT_HIGH LOW ../../fsfw/power/Fuse.h
31 4202 FUSE_WENT_OFF LOW ../../fsfw/power/Fuse.h
32 4204 POWER_ABOVE_HIGH_LIMIT LOW ../../fsfw/power/Fuse.h
33 4205 POWER_BELOW_LOW_LIMIT LOW ../../fsfw/power/Fuse.h
34 4300 SWITCH_WENT_OFF LOW ../../fsfw/power/PowerSwitchIF.h
35 5000 HEATER_ON INFO ../../fsfw/thermal/Heater.h
36 5001 HEATER_OFF INFO ../../fsfw/thermal/Heater.h
37 5002 HEATER_TIMEOUT LOW ../../fsfw/thermal/Heater.h
38 5003 HEATER_STAYED_ON LOW ../../fsfw/thermal/Heater.h
39 5004 HEATER_STAYED_OFF LOW ../../fsfw/thermal/Heater.h
40 5200 TEMP_SENSOR_HIGH LOW ../../fsfw/thermal/AbstractTemperatureSensor.h
41 5201 TEMP_SENSOR_LOW LOW ../../fsfw/thermal/AbstractTemperatureSensor.h
42 5202 TEMP_SENSOR_GRADIENT LOW ../../fsfw/thermal/AbstractTemperatureSensor.h
43 5901 COMPONENT_TEMP_LOW LOW ../../fsfw/thermal/ThermalComponentIF.h
44 5902 COMPONENT_TEMP_HIGH LOW ../../fsfw/thermal/ThermalComponentIF.h
45 5903 COMPONENT_TEMP_OOL_LOW LOW ../../fsfw/thermal/ThermalComponentIF.h
46 5904 COMPONENT_TEMP_OOL_HIGH LOW ../../fsfw/thermal/ThermalComponentIF.h
47 5905 TEMP_NOT_IN_OP_RANGE LOW ../../fsfw/thermal/ThermalComponentIF.h
48 7101 FDIR_CHANGED_STATE INFO ../../fsfw/fdir/FailureIsolationBase.h
49 7102 FDIR_STARTS_RECOVERY MEDIUM ../../fsfw/fdir/FailureIsolationBase.h
50 7103 FDIR_TURNS_OFF_DEVICE MEDIUM ../../fsfw/fdir/FailureIsolationBase.h
51 7201 MONITOR_CHANGED_STATE LOW ../../fsfw/monitoring/MonitoringIF.h
52 7202 VALUE_BELOW_LOW_LIMIT LOW ../../fsfw/monitoring/MonitoringIF.h
53 7203 VALUE_ABOVE_HIGH_LIMIT LOW ../../fsfw/monitoring/MonitoringIF.h
54 7204 VALUE_OUT_OF_RANGE LOW ../../fsfw/monitoring/MonitoringIF.h
55 7301 SWITCHING_TM_FAILED LOW ../../fsfw/datapool/HkSwitchHelper.h
56 7400 CHANGING_MODE INFO ../../fsfw/modes/HasModesIF.h
57 7401 MODE_INFO INFO ../../fsfw/modes/HasModesIF.h
58 7402 FALLBACK_FAILED HIGH ../../fsfw/modes/HasModesIF.h
59 7403 MODE_TRANSITION_FAILED LOW ../../fsfw/modes/HasModesIF.h
60 7404 CANT_KEEP_MODE HIGH ../../fsfw/modes/HasModesIF.h
61 7405 OBJECT_IN_INVALID_MODE LOW ../../fsfw/modes/HasModesIF.h
62 7406 FORCING_MODE MEDIUM ../../fsfw/modes/HasModesIF.h
63 7407 MODE_CMD_REJECTED LOW ../../fsfw/modes/HasModesIF.h
64 7506 HEALTH_INFO INFO ../../fsfw/health/HasHealthIF.h
65 7507 CHILD_CHANGED_HEALTH INFO ../../fsfw/health/HasHealthIF.h
66 7508 CHILD_PROBLEMS LOW ../../fsfw/health/HasHealthIF.h
67 7509 OVERWRITING_HEALTH LOW ../../fsfw/health/HasHealthIF.h
68 7510 TRYING_RECOVERY MEDIUM ../../fsfw/health/HasHealthIF.h
69 7511 RECOVERY_STEP MEDIUM ../../fsfw/health/HasHealthIF.h
70 7512 RECOVERY_DONE MEDIUM ../../fsfw/health/HasHealthIF.h
71 7900 RF_AVAILABLE INFO ../../fsfw/datalinklayer/DataLinkLayer.h
72 7901 RF_LOST INFO ../../fsfw/datalinklayer/DataLinkLayer.h
73 7902 BIT_LOCK INFO ../../fsfw/datalinklayer/DataLinkLayer.h
74 7903 BIT_LOCK_LOST INFO ../../fsfw/datalinklayer/DataLinkLayer.h
75 7905 FRAME_PROCESSING_FAILED LOW ../../fsfw/datalinklayer/DataLinkLayer.h
76 8900 CLOCK_SET INFO ../../fsfw/pus/Service9TimeManagement.h
77 8901 CLOCK_SET_FAILURE LOW ../../fsfw/pus/Service9TimeManagement.h
78 9700 TEST INFO ../../fsfw/pus/Service17Test.h

View File

@ -1,37 +0,0 @@
0x4100CAFE;TEST_ASSEMBLY
0x4301CAFE;TEST_CONTROLLER
0x4401AFFE;TEST_DEVICE_HANDLER_0
0x4402AFFE;TEST_DEVICE_HANDLER_1
0x4900AFFE;TEST_ECHO_COM_IF
0x53000000;FSFW_OBJECTS_START
0x53000001;PUS_SERVICE_1_VERIFICATION
0x53000002;PUS_SERVICE_2_DEVICE_ACCESS
0x53000003;PUS_SERVICE_3_HOUSEKEEPING
0x53000005;PUS_SERVICE_5_EVENT_REPORTING
0x53000008;PUS_SERVICE_8_FUNCTION_MGMT
0x53000009;PUS_SERVICE_9_TIME_MGMT
0x53000017;PUS_SERVICE_17_TEST
0x53000020;PUS_SERVICE_20_PARAMETERS
0x53000200;PUS_SERVICE_200_MODE_MGMT
0x53000201;PUS_SERVICE_201_HEALTH
0x53010000;HEALTH_TABLE
0x53010100;MODE_STORE
0x53030000;EVENT_MANAGER
0x53040000;INTERNAL_ERROR_REPORTER
0x534f0100;TC_STORE
0x534f0200;TM_STORE
0x534f0300;IPC_STORE
0x53500010;TIME_STAMPER
0x53ffffff;FSFW_OBJECTS_END
0x62000300;UDP_BRIDGE
0x62000400;UDP_POLLING_TASK
0x63000000;CCSDS_DISTRIBUTOR
0x63000001;PUS_DISTRIBUTOR
0x63000002;TM_FUNNEL
0x74000001;TEST_DUMMY_1
0x74000002;TEST_DUMMY_2
0x74000003;TEST_DUMMY_3
0x74000004;TEST_DUMMY_4
0x74000005;TEST_DUMMY_5
0x7400CAFE;TEST_TASK
0xFFFFFFFF;NO_OBJECT
1 0x4100CAFE TEST_ASSEMBLY
2 0x4301CAFE TEST_CONTROLLER
3 0x4401AFFE TEST_DEVICE_HANDLER_0
4 0x4402AFFE TEST_DEVICE_HANDLER_1
5 0x4900AFFE TEST_ECHO_COM_IF
6 0x53000000 FSFW_OBJECTS_START
7 0x53000001 PUS_SERVICE_1_VERIFICATION
8 0x53000002 PUS_SERVICE_2_DEVICE_ACCESS
9 0x53000003 PUS_SERVICE_3_HOUSEKEEPING
10 0x53000005 PUS_SERVICE_5_EVENT_REPORTING
11 0x53000008 PUS_SERVICE_8_FUNCTION_MGMT
12 0x53000009 PUS_SERVICE_9_TIME_MGMT
13 0x53000017 PUS_SERVICE_17_TEST
14 0x53000020 PUS_SERVICE_20_PARAMETERS
15 0x53000200 PUS_SERVICE_200_MODE_MGMT
16 0x53000201 PUS_SERVICE_201_HEALTH
17 0x53010000 HEALTH_TABLE
18 0x53010100 MODE_STORE
19 0x53030000 EVENT_MANAGER
20 0x53040000 INTERNAL_ERROR_REPORTER
21 0x534f0100 TC_STORE
22 0x534f0200 TM_STORE
23 0x534f0300 IPC_STORE
24 0x53500010 TIME_STAMPER
25 0x53ffffff FSFW_OBJECTS_END
26 0x62000300 UDP_BRIDGE
27 0x62000400 UDP_POLLING_TASK
28 0x63000000 CCSDS_DISTRIBUTOR
29 0x63000001 PUS_DISTRIBUTOR
30 0x63000002 TM_FUNNEL
31 0x74000001 TEST_DUMMY_1
32 0x74000002 TEST_DUMMY_2
33 0x74000003 TEST_DUMMY_3
34 0x74000004 TEST_DUMMY_4
35 0x74000005 TEST_DUMMY_5
36 0x7400CAFE TEST_TASK
37 0xFFFFFFFF NO_OBJECT

View File

@ -1,369 +0,0 @@
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
0x2b01;CCS_BcIsSetVrCommand;;0x01;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2b02;CCS_BcIsUnlockCommand;;0x02;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bb0;CCS_BcIllegalCommand;;0xB0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bb1;CCS_BoardReadingNotFinished;;0xB1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf0;CCS_NsPositiveW;;0xF0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf1;CCS_NsNegativeW;;0xF1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf2;CCS_NsLockout;;0xF2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf3;CCS_FarmInLockout;;0xF3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf4;CCS_FarmInWait;;0xF4;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be0;CCS_WrongSymbol;;0xE0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be1;CCS_DoubleStart;;0xE1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be2;CCS_StartSymbolMissed;;0xE2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be3;CCS_EndWithoutStart;;0xE3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be4;CCS_TooLarge;;0xE4;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be5;CCS_TooShort;;0xE5;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be6;CCS_WrongTfVersion;;0xE6;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be7;CCS_WrongSpacecraftId;;0xE7;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be8;CCS_NoValidFrameType;;0xE8;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be9;CCS_CrcFailed;;0xE9;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bea;CCS_VcNotFound;;0xEA;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2beb;CCS_ForwardingFailed;;0xEB;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bec;CCS_ContentTooLarge;;0xEC;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bed;CCS_ResidualData;;0xED;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bee;CCS_DataCorrupted;;0xEE;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bef;CCS_IllegalSegmentationFlag;;0xEF;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd0;CCS_IllegalFlagCombination;;0xD0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd1;CCS_ShorterThanHeader;;0xD1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd2;CCS_TooShortBlockedPacket;;0xD2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd3;CCS_TooShortMapExtraction;;0xD3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2901;IEC_NoConfigurationTable;;0x01;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2902;IEC_NoCpuTable;;0x02;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2903;IEC_InvalidWorkspaceAddress;;0x03;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2904;IEC_TooLittleWorkspace;;0x04;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2905;IEC_WorkspaceAllocation;;0x05;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2906;IEC_InterruptStackTooSmall;;0x06;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2907;IEC_ThreadExitted;;0x07;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2908;IEC_InconsistentMpInformation;;0x08;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2909;IEC_InvalidNode;;0x09;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290a;IEC_NoMpci;;0x0a;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290b;IEC_BadPacket;;0x0b;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290c;IEC_OutOfPackets;;0x0c;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290d;IEC_OutOfGlobalObjects;;0x0d;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290e;IEC_OutOfProxies;;0x0e;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290f;IEC_InvalidGlobalId;;0x0f;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2910;IEC_BadStackHook;;0x10;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2911;IEC_BadAttributes;;0x11;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2912;IEC_ImplementationKeyCreateInconsistency;;0x12;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2913;IEC_ImplementationBlockingOperationCancel;;0x13;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2914;IEC_MutexObtainFromBadState;;0x14;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2915;IEC_UnlimitedAndMaximumIs0;;0x15;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0xe01;HM_InvalidMode;;0x01;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe02;HM_TransNotAllowed;;0x02;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe03;HM_InTransition;;0x03;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe04;HM_InvalidSubmode;;0x04;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x2d01;HPA_InvalidIdentifierId;;0x01;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d02;HPA_InvalidDomainId;;0x02;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d03;HPA_InvalidValue;;0x03;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d05;HPA_ReadOnly;;0x05;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2c01;PAW_UnknownDatatype;;0x01;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c02;PAW_DatatypeMissmatch;;0x02;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c03;PAW_Readonly;;0x03;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c04;PAW_TooBig;;0x04;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c05;PAW_SourceNotSet;;0x05;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c06;PAW_OutOfBounds;;0x06;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c07;PAW_NotSet;;0x07;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c08;PAW_ColumnOrRowsZero;;0x08;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x3101;CF_ObjectHasNoFunctions;;1;../../fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3102;CF_AlreadyCommanding;;2;../../fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3201;HF_IsBusy;;1;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3202;HF_InvalidParameters;;2;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3203;HF_ExecutionFinished;;3;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3204;HF_InvalidActionId;;4;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x201;OM_InsertionFailed;;1;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x202;OM_NotFound;;2;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x203;OM_ChildInitFailed;;3;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x204;OM_InternalErrReporterUninit;;4;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x2500;FDI_YourFault;;0;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2501;FDI_MyFault;;1;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2502;FDI_ConfirmLater;;2;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2101;TMF_Busy;;1;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2102;TMF_LastPacketFound;;2;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2103;TMF_StopFetch;;3;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2104;TMF_Timeout;;4;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2105;TMF_TmChannelFull;;5;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2106;TMF_NotStored;;6;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2107;TMF_AllDeleted;;7;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2108;TMF_InvalidData;;8;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2109;TMF_NotReady;;9;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2001;TMB_Busy;;1;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2002;TMB_Full;;2;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2003;TMB_Empty;;3;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2004;TMB_NullRequested;;4;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2005;TMB_TooLarge;;5;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2006;TMB_NotReady;;6;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2007;TMB_DumpError;;7;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2008;TMB_CrcError;;8;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2009;TMB_Timeout;;9;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200a;TMB_IdlePacketFound;;10;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200b;TMB_TelecommandFound;;11;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200c;TMB_NoPusATm;;12;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200d;TMB_TooSmall;;13;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200e;TMB_BlockNotFound;;14;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200f;TMB_InvalidRequest;;15;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x1c01;TCD_PacketLost;;1;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c02;TCD_DestinationNotFound;;2;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c03;TCD_ServiceIdAlreadyExists;;3;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1b00;TCC_IllegalApid;;0;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b01;TCC_IncompletePacket;;1;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b02;TCC_IncorrectChecksum;;2;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b03;TCC_IllegalPacketType;;3;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b04;TCC_IllegalPacketSubtype;;4;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b05;TCC_IncorrectPrimaryHeader;;5;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b06;TCC_IncorrectSecondaryHeader;;6;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x4e1;RMP_CommandNoDescriptorsAvailable;;0xE1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e2;RMP_CommandBufferFull;;0xE2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e3;RMP_CommandChannelOutOfRange;;0xE3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e6;RMP_CommandChannelDeactivated;;0xE6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e7;RMP_CommandPortOutOfRange;;0xE7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e8;RMP_CommandPortInUse;;0xE8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e9;RMP_CommandNoChannel;;0xE9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4ea;RMP_NoHwCrc;;0xEA;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d0;RMP_ReplyNoReply;;0xD0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d1;RMP_ReplyNotSent;;0xD1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d2;RMP_ReplyNotYetSent;;0xD2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d3;RMP_ReplyMissmatch;;0xD3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d4;RMP_ReplyTimeout;;0xD4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c0;RMP_ReplyInterfaceBusy;;0xC0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c1;RMP_ReplyTransmissionError;;0xC1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c2;RMP_ReplyInvalidData;;0xC2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c3;RMP_ReplyNotSupported;;0xC3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f0;RMP_LinkDown;;0xF0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f1;RMP_SpwCredit;;0xF1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f2;RMP_SpwEscape;;0xF2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f3;RMP_SpwDisconnect;;0xF3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f4;RMP_SpwParity;;0xF4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f5;RMP_SpwWriteSync;;0xF5;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f6;RMP_SpwInvalidAddress;;0xF6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f7;RMP_SpwEarlyEop;;0xF7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f8;RMP_SpwDma;;0xF8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f9;RMP_SpwLinkError;;0xF9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x400;RMP_ReplyOk;;0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x401;RMP_ReplyGeneralErrorCode;;1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x402;RMP_ReplyUnusedPacketTypeOrCommandCode;;2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x403;RMP_ReplyInvalidKey;;3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x404;RMP_ReplyInvalidDataCrc;;4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x405;RMP_ReplyEarlyEop;;5;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x406;RMP_ReplyTooMuchData;;6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x407;RMP_ReplyEep;;7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x408;RMP_ReplyReserved;;8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x409;RMP_ReplyVerifyBufferOverrun;;9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40a;RMP_ReplyCommandNotImplementedOrNotAuthorised;;10;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40b;RMP_ReplyRmwDataLengthError;;11;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40c;RMP_ReplyInvalidTargetLogicalAddress;;12;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2701;SM_DataTooLarge;;1;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2702;SM_DataStorageFull;;2;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2703;SM_IllegalStorageId;;3;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2704;SM_DataDoesNotExist;;4;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2705;SM_IllegalAddress;;5;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2706;SM_PoolTooLarge;;6;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x36a1;SGP4_InvalidEccentricity;;0xA1;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a2;SGP4_InvalidMeanMotion;;0xA2;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a3;SGP4_InvalidPerturbationElements;;0xA3;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a4;SGP4_InvalidSemiLatusRectum;;0xA4;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a5;SGP4_InvalidEpochElements;;0xA5;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a6;SGP4_SatelliteHasDecayed;;0xA6;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36b1;SGP4_TleTooOld;;0xB1;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36b2;SGP4_TleNotInitialized;;0xB2;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x2301;MT_TooDetailedRequest;;1;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2302;MT_TooGeneralRequest;;2;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2303;MT_NoMatch;;3;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2304;MT_Full;;4;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2305;MT_NewNodeCreated;;5;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x3d01;DLEE_StreamTooShort;;0x01;../../fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x3d02;DLEE_DecodingError;;0x02;../../fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x2e01;ASC_TooLongForTargetType;;1;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e02;ASC_InvalidCharacters;;2;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e03;ASC_BufferTooSmall;;0x3;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0xf01;CM_UnknownCommand;;1;../../fsfw/ipc/CommandMessageIF.h;COMMAND_MESSAGE
0x3801;MQI_Empty;;1;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3802;MQI_Full; No space left for more messages;2;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3803;MQI_NoReplyPartner; Returned if a reply method was called without partner;3;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3804;MQI_DestinationInvalid; Returned if the target destination is invalid.;4;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3701;MUX_NotEnoughResources;;1;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3702;MUX_InsufficientMemory;;2;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3703;MUX_NoPrivilege;;3;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3704;MUX_WrongAttributeSetting;;4;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3705;MUX_MutexAlreadyLocked;;5;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3706;MUX_MutexNotFound;;6;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3707;MUX_MutexMaxLocks;;7;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3708;MUX_CurrThreadAlreadyOwnsMutex;;8;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3709;MUX_CurrThreadDoesNotOwnMutex;;9;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x370a;MUX_MutexTimeout;;10;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x370b;MUX_MutexInvalidId;;11;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x370c;MUX_MutexDestroyedWhileWaiting;;12;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3901;SPH_SemaphoreTimeout;;1;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3902;SPH_SemaphoreNotOwned;;2;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3903;SPH_SemaphoreInvalid;;3;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x2801;TC_InvalidTargetState;;1;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f1;TC_AboveOperationalLimit;;0xF1;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f2;TC_BelowOperationalLimit;;0xF2;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0xc02;MS_InvalidEntry;;0x02;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xc03;MS_TooManyElements;;0x03;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xc04;MS_CantStoreEmpty;;0x04;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xd01;SS_SequenceAlreadyExists;;0x01;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd02;SS_TableAlreadyExists;;0x02;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd03;SS_TableDoesNotExist;;0x03;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd04;SS_TableOrSequenceLengthInvalid;;0x04;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd05;SS_SequenceDoesNotExist;;0x05;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd06;SS_TableContainsInvalidObjectId;;0x06;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd07;SS_FallbackSequenceDoesNotExist;;0x07;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd08;SS_NoTargetTable;;0x08;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd09;SS_SequenceOrTableTooLong;;0x09;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd0b;SS_IsFallbackSequence;;0x0B;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd0c;SS_AccessDenied;;0x0C;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd0e;SS_TableInUse;;0x0E;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xda1;SS_TargetTableNotReached;;0xA1;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xda2;SS_TableCheckFailed;;0xA2;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xb01;SB_ChildNotFound;;0x01;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb02;SB_ChildInfoUpdated;;0x02;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb03;SB_ChildDoesntHaveModes;;0x03;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb04;SB_CouldNotInsertChild;;0x04;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb05;SB_TableContainsInvalidObjectId;;0x05;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0x3c00;HKM_QueueOrDestinationInvalid;;0;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c01;HKM_WrongHkPacketType;;1;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c02;HKM_ReportingStatusUnchanged;;2;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c03;HKM_PeriodicHelperInvalid;;3;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c04;HKM_PoolobjectNotFound;;4;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c05;HKM_DatasetNotFound;;5;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3a00;LPIF_PoolEntryNotFound;;0x00;../../fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3a01;LPIF_PoolEntryTypeConflict;;0x01;../../fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3ba0;PVA_InvalidReadWriteMode;;0xA0;../../fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x3ba1;PVA_InvalidPoolEntry;;0xA1;../../fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x801;DPS_InvalidParameterDefinition;;1;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x802;DPS_SetWasAlreadyRead;;2;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x803;DPS_CommitingWithoutReading;;3;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x804;DPS_DataSetUninitialised;;4;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x805;DPS_DataSetFull;;5;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x806;DPS_PoolVarNull;;6;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x1000;TIM_UnsupportedTimeFormat;;0;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1001;TIM_NotEnoughInformationForTargetFormat;;1;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1002;TIM_LengthMismatch;;2;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1003;TIM_InvalidTimeFormat;;3;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1004;TIM_InvalidDayOfYear;;4;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1005;TIM_TimeDoesNotFitFormat;;5;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x3501;TSI_BadTimestamp;;1;../../fsfw/timemanager/TimeStamperIF.h;TIME_STAMPER_IF
0x1d01;PUS_ActivityStarted;;1;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d02;PUS_InvalidSubservice;;2;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d03;PUS_IllegalApplicationData;;3;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d04;PUS_SendTmFailed;;4;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d05;PUS_Timeout;;5;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1f01;CSB_ExecutionComplete;;1;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f02;CSB_NoStepMessage;;2;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f03;CSB_ObjectBusy;;3;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f04;CSB_Busy;;4;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f05;CSB_InvalidTc;;5;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f06;CSB_InvalidObject;;6;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f07;CSB_InvalidReply;;7;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1101;AL_Full;;0x01;../../fsfw/container/ArrayList.h;ARRAY_LIST
0x1801;FF_Full;;1;../../fsfw/container/FIFOBase.h;FIFO_CLASS
0x1802;FF_Empty;;2;../../fsfw/container/FIFOBase.h;FIFO_CLASS
0x1601;FMM_MapFull;;0x01;../../fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x1602;FMM_KeyDoesNotExist;;0x02;../../fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x1501;FM_KeyAlreadyExists;;0x01;../../fsfw/container/FixedMap.h;FIXED_MAP
0x1502;FM_MapFull;;0x02;../../fsfw/container/FixedMap.h;FIXED_MAP
0x1503;FM_KeyDoesNotExist;;0x03;../../fsfw/container/FixedMap.h;FIXED_MAP
0x2401;EV_ListenerNotFound;;1;../../fsfw/events/EventManagerIF.h;EVENT_MANAGER_IF
0x1701;HHI_ObjectNotHealthy;;1;../../fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x1702;HHI_InvalidHealthState;;2;../../fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x2f01;POS_InPowerTransition;;1;../../fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x2f02;POS_SwitchStateMismatch;;2;../../fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x501;PS_SwitchOn;;1;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x500;PS_SwitchOff;;0;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x502;PS_SwitchTimeout;;2;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x503;PS_FuseOn;;3;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x504;PS_FuseOff;;4;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x1a01;TRC_NotEnoughSensors;;1;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a02;TRC_LowestValueOol;;2;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a03;TRC_HighestValueOol;;3;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a04;TRC_BothValuesOol;;4;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a05;TRC_DuplexOol;;5;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x3001;LIM_Unchecked;;1;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3002;LIM_Invalid;;2;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3003;LIM_Unselected;;3;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3004;LIM_BelowLowLimit;;4;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3005;LIM_AboveHighLimit;;5;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3006;LIM_UnexpectedValue;;6;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3007;LIM_OutOfRange;;7;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30a0;LIM_FirstSample;;0xA0;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e0;LIM_InvalidSize;;0xE0;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e1;LIM_WrongType;;0xE1;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e2;LIM_WrongPid;;0xE2;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e3;LIM_WrongLimitId;;0xE3;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30ee;LIM_MonitorNotFound;;0xEE;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x4000;FILS_GenericFileError;;0;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4001;FILS_IsBusy;;1;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4002;FILS_InvalidParameters;;2;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4005;FILS_FileDoesNotExist;;5;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4006;FILS_FileAlreadyExists;;6;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4007;FILS_FileLocked;;7;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400a;FILS_DirectoryDoesNotExist;;10;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400b;FILS_DirectoryAlreadyExists;;11;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400c;FILS_DirectoryNotEmpty;;12;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400f;FILS_SequencePacketMissingWrite;;15;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4010;FILS_SequencePacketMissingRead;;16;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x601;PP_DoItMyself;;1;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x602;PP_PointsToVariable;;2;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x603;PP_PointsToMemory;;3;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x604;PP_ActivityCompleted;;4;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x605;PP_PointsToVectorUint8;;5;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x606;PP_PointsToVectorUint16;;6;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x607;PP_PointsToVectorUint32;;7;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x608;PP_PointsToVectorFloat;;8;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6a0;PP_DumpNotSupported;;0xA0;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e0;PP_InvalidSize;;0xE0;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e1;PP_InvalidAddress;;0xE1;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e2;PP_InvalidContent;;0xE2;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e3;PP_UnalignedAccess;;0xE3;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e4;PP_WriteProtected;;0xE4;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x13e0;MH_UnknownCmd;;0xE0;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e1;MH_InvalidAddress;;0xE1;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e2;MH_InvalidSize;;0xE2;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e3;MH_StateMismatch;;0xE3;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x1201;AB_NeedSecondStep;;0x01;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1202;AB_NeedToReconfigure;;0x02;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1203;AB_ModeFallback;;0x03;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1204;AB_ChildNotCommandable;;0x04;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1205;AB_NeedToChangeHealth;;0x05;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x12a1;AB_NotEnoughChildrenInCorrectState;;0xa1;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x3a0;DHB_InvalidChannel;;0xA0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b0;DHB_AperiodicReply;;0xB0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b1;DHB_IgnoreReplyData;;0xB1;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b2;DHB_IgnoreFullPacket;;0xB2;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3c0;DHB_NothingToSend;;0xC0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3c2;DHB_CommandMapError;;0xC2;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3d0;DHB_NoSwitch;;0xD0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3e0;DHB_ChildTimeout;;0xE0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3e1;DHB_SwitchFailed;;0xE1;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3301;DC_NoReplyReceived;;0x01;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3302;DC_ProtocolError;;0x02;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3303;DC_Nullpointer;;0x03;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3304;DC_InvalidCookieType;;0x04;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3305;DC_NotActive;;0x05;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3306;DC_TooMuchData;;0x06;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x26a0;DHI_NoCommandData;;0xA0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a1;DHI_CommandNotSupported;;0xA1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a2;DHI_CommandAlreadySent;;0xA2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a3;DHI_CommandWasNotSent;;0xA3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a4;DHI_CantSwitchAddress;;0xA4;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a5;DHI_WrongModeForCommand;;0xA5;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a6;DHI_Timeout;;0xA6;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a7;DHI_Busy;;0xA7;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a8;DHI_NoReplyExpected;;0xA8;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a9;DHI_NonOpTemperature;;0xA9;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26aa;DHI_CommandNotImplemented;;0xAA;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b0;DHI_ChecksumError;;0xB0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b1;DHI_LengthMissmatch;;0xB1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b2;DHI_InvalidData;;0xB2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b3;DHI_ProtocolError;;0xB3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c0;DHI_DeviceDidNotExecute;;0xC0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c1;DHI_DeviceReportedError;;0xC1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c2;DHI_UnknownDeviceReply;;0xC2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c3;DHI_DeviceReplyInvalid;;0xC3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d0;DHI_InvalidCommandParameter;;0xD0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d1;DHI_InvalidNumberOrLengthOfParameters;;0xD1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x1401;SE_BufferTooShort;;1;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1402;SE_StreamTooShort;;2;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1403;SE_TooManyElements;;3;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF
1 0x0 OK System-wide code for ok. RETURN_OK HasReturnvaluesIF.h HasReturnvaluesIF
2 0x1 Failed Unspecified system-wide code for failed. RETURN_FAILED HasReturnvaluesIF.h HasReturnvaluesIF
3 0x2b01 CCS_BcIsSetVrCommand 0x01 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
4 0x2b02 CCS_BcIsUnlockCommand 0x02 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
5 0x2bb0 CCS_BcIllegalCommand 0xB0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
6 0x2bb1 CCS_BoardReadingNotFinished 0xB1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
7 0x2bf0 CCS_NsPositiveW 0xF0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
8 0x2bf1 CCS_NsNegativeW 0xF1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
9 0x2bf2 CCS_NsLockout 0xF2 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
10 0x2bf3 CCS_FarmInLockout 0xF3 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
11 0x2bf4 CCS_FarmInWait 0xF4 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
12 0x2be0 CCS_WrongSymbol 0xE0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
13 0x2be1 CCS_DoubleStart 0xE1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
14 0x2be2 CCS_StartSymbolMissed 0xE2 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
15 0x2be3 CCS_EndWithoutStart 0xE3 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
16 0x2be4 CCS_TooLarge 0xE4 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
17 0x2be5 CCS_TooShort 0xE5 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
18 0x2be6 CCS_WrongTfVersion 0xE6 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
19 0x2be7 CCS_WrongSpacecraftId 0xE7 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
20 0x2be8 CCS_NoValidFrameType 0xE8 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
21 0x2be9 CCS_CrcFailed 0xE9 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
22 0x2bea CCS_VcNotFound 0xEA ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
23 0x2beb CCS_ForwardingFailed 0xEB ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
24 0x2bec CCS_ContentTooLarge 0xEC ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
25 0x2bed CCS_ResidualData 0xED ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
26 0x2bee CCS_DataCorrupted 0xEE ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
27 0x2bef CCS_IllegalSegmentationFlag 0xEF ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
28 0x2bd0 CCS_IllegalFlagCombination 0xD0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
29 0x2bd1 CCS_ShorterThanHeader 0xD1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
30 0x2bd2 CCS_TooShortBlockedPacket 0xD2 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
31 0x2bd3 CCS_TooShortMapExtraction 0xD3 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
32 0x2901 IEC_NoConfigurationTable 0x01 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
33 0x2902 IEC_NoCpuTable 0x02 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
34 0x2903 IEC_InvalidWorkspaceAddress 0x03 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
35 0x2904 IEC_TooLittleWorkspace 0x04 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
36 0x2905 IEC_WorkspaceAllocation 0x05 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
37 0x2906 IEC_InterruptStackTooSmall 0x06 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
38 0x2907 IEC_ThreadExitted 0x07 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
39 0x2908 IEC_InconsistentMpInformation 0x08 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
40 0x2909 IEC_InvalidNode 0x09 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
41 0x290a IEC_NoMpci 0x0a ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
42 0x290b IEC_BadPacket 0x0b ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
43 0x290c IEC_OutOfPackets 0x0c ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
44 0x290d IEC_OutOfGlobalObjects 0x0d ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
45 0x290e IEC_OutOfProxies 0x0e ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
46 0x290f IEC_InvalidGlobalId 0x0f ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
47 0x2910 IEC_BadStackHook 0x10 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
48 0x2911 IEC_BadAttributes 0x11 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
49 0x2912 IEC_ImplementationKeyCreateInconsistency 0x12 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
50 0x2913 IEC_ImplementationBlockingOperationCancel 0x13 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
51 0x2914 IEC_MutexObtainFromBadState 0x14 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
52 0x2915 IEC_UnlimitedAndMaximumIs0 0x15 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
53 0xe01 HM_InvalidMode 0x01 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
54 0xe02 HM_TransNotAllowed 0x02 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
55 0xe03 HM_InTransition 0x03 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
56 0xe04 HM_InvalidSubmode 0x04 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
57 0x2d01 HPA_InvalidIdentifierId 0x01 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
58 0x2d02 HPA_InvalidDomainId 0x02 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
59 0x2d03 HPA_InvalidValue 0x03 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
60 0x2d05 HPA_ReadOnly 0x05 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
61 0x2c01 PAW_UnknownDatatype 0x01 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
62 0x2c02 PAW_DatatypeMissmatch 0x02 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
63 0x2c03 PAW_Readonly 0x03 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
64 0x2c04 PAW_TooBig 0x04 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
65 0x2c05 PAW_SourceNotSet 0x05 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
66 0x2c06 PAW_OutOfBounds 0x06 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
67 0x2c07 PAW_NotSet 0x07 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
68 0x2c08 PAW_ColumnOrRowsZero 0x08 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
69 0x3101 CF_ObjectHasNoFunctions 1 ../../fsfw/action/CommandsActionsIF.h COMMANDS_ACTIONS_IF
70 0x3102 CF_AlreadyCommanding 2 ../../fsfw/action/CommandsActionsIF.h COMMANDS_ACTIONS_IF
71 0x3201 HF_IsBusy 1 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
72 0x3202 HF_InvalidParameters 2 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
73 0x3203 HF_ExecutionFinished 3 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
74 0x3204 HF_InvalidActionId 4 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
75 0x201 OM_InsertionFailed 1 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
76 0x202 OM_NotFound 2 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
77 0x203 OM_ChildInitFailed 3 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
78 0x204 OM_InternalErrReporterUninit 4 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
79 0x2500 FDI_YourFault 0 ../../fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
80 0x2501 FDI_MyFault 1 ../../fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
81 0x2502 FDI_ConfirmLater 2 ../../fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
82 0x2101 TMF_Busy 1 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
83 0x2102 TMF_LastPacketFound 2 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
84 0x2103 TMF_StopFetch 3 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
85 0x2104 TMF_Timeout 4 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
86 0x2105 TMF_TmChannelFull 5 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
87 0x2106 TMF_NotStored 6 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
88 0x2107 TMF_AllDeleted 7 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
89 0x2108 TMF_InvalidData 8 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
90 0x2109 TMF_NotReady 9 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
91 0x2001 TMB_Busy 1 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
92 0x2002 TMB_Full 2 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
93 0x2003 TMB_Empty 3 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
94 0x2004 TMB_NullRequested 4 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
95 0x2005 TMB_TooLarge 5 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
96 0x2006 TMB_NotReady 6 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
97 0x2007 TMB_DumpError 7 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
98 0x2008 TMB_CrcError 8 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
99 0x2009 TMB_Timeout 9 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
100 0x200a TMB_IdlePacketFound 10 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
101 0x200b TMB_TelecommandFound 11 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
102 0x200c TMB_NoPusATm 12 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
103 0x200d TMB_TooSmall 13 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
104 0x200e TMB_BlockNotFound 14 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
105 0x200f TMB_InvalidRequest 15 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
106 0x1c01 TCD_PacketLost 1 ../../fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
107 0x1c02 TCD_DestinationNotFound 2 ../../fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
108 0x1c03 TCD_ServiceIdAlreadyExists 3 ../../fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
109 0x1b00 TCC_IllegalApid 0 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
110 0x1b01 TCC_IncompletePacket 1 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
111 0x1b02 TCC_IncorrectChecksum 2 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
112 0x1b03 TCC_IllegalPacketType 3 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
113 0x1b04 TCC_IllegalPacketSubtype 4 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
114 0x1b05 TCC_IncorrectPrimaryHeader 5 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
115 0x1b06 TCC_IncorrectSecondaryHeader 6 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
116 0x4e1 RMP_CommandNoDescriptorsAvailable 0xE1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
117 0x4e2 RMP_CommandBufferFull 0xE2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
118 0x4e3 RMP_CommandChannelOutOfRange 0xE3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
119 0x4e6 RMP_CommandChannelDeactivated 0xE6 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
120 0x4e7 RMP_CommandPortOutOfRange 0xE7 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
121 0x4e8 RMP_CommandPortInUse 0xE8 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
122 0x4e9 RMP_CommandNoChannel 0xE9 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
123 0x4ea RMP_NoHwCrc 0xEA ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
124 0x4d0 RMP_ReplyNoReply 0xD0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
125 0x4d1 RMP_ReplyNotSent 0xD1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
126 0x4d2 RMP_ReplyNotYetSent 0xD2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
127 0x4d3 RMP_ReplyMissmatch 0xD3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
128 0x4d4 RMP_ReplyTimeout 0xD4 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
129 0x4c0 RMP_ReplyInterfaceBusy 0xC0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
130 0x4c1 RMP_ReplyTransmissionError 0xC1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
131 0x4c2 RMP_ReplyInvalidData 0xC2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
132 0x4c3 RMP_ReplyNotSupported 0xC3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
133 0x4f0 RMP_LinkDown 0xF0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
134 0x4f1 RMP_SpwCredit 0xF1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
135 0x4f2 RMP_SpwEscape 0xF2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
136 0x4f3 RMP_SpwDisconnect 0xF3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
137 0x4f4 RMP_SpwParity 0xF4 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
138 0x4f5 RMP_SpwWriteSync 0xF5 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
139 0x4f6 RMP_SpwInvalidAddress 0xF6 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
140 0x4f7 RMP_SpwEarlyEop 0xF7 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
141 0x4f8 RMP_SpwDma 0xF8 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
142 0x4f9 RMP_SpwLinkError 0xF9 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
143 0x400 RMP_ReplyOk 0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
144 0x401 RMP_ReplyGeneralErrorCode 1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
145 0x402 RMP_ReplyUnusedPacketTypeOrCommandCode 2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
146 0x403 RMP_ReplyInvalidKey 3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
147 0x404 RMP_ReplyInvalidDataCrc 4 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
148 0x405 RMP_ReplyEarlyEop 5 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
149 0x406 RMP_ReplyTooMuchData 6 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
150 0x407 RMP_ReplyEep 7 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
151 0x408 RMP_ReplyReserved 8 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
152 0x409 RMP_ReplyVerifyBufferOverrun 9 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
153 0x40a RMP_ReplyCommandNotImplementedOrNotAuthorised 10 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
154 0x40b RMP_ReplyRmwDataLengthError 11 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
155 0x40c RMP_ReplyInvalidTargetLogicalAddress 12 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
156 0x2701 SM_DataTooLarge 1 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
157 0x2702 SM_DataStorageFull 2 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
158 0x2703 SM_IllegalStorageId 3 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
159 0x2704 SM_DataDoesNotExist 4 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
160 0x2705 SM_IllegalAddress 5 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
161 0x2706 SM_PoolTooLarge 6 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
162 0x36a1 SGP4_InvalidEccentricity 0xA1 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
163 0x36a2 SGP4_InvalidMeanMotion 0xA2 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
164 0x36a3 SGP4_InvalidPerturbationElements 0xA3 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
165 0x36a4 SGP4_InvalidSemiLatusRectum 0xA4 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
166 0x36a5 SGP4_InvalidEpochElements 0xA5 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
167 0x36a6 SGP4_SatelliteHasDecayed 0xA6 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
168 0x36b1 SGP4_TleTooOld 0xB1 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
169 0x36b2 SGP4_TleNotInitialized 0xB2 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
170 0x2301 MT_TooDetailedRequest 1 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
171 0x2302 MT_TooGeneralRequest 2 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
172 0x2303 MT_NoMatch 3 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
173 0x2304 MT_Full 4 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
174 0x2305 MT_NewNodeCreated 5 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
175 0x3d01 DLEE_StreamTooShort 0x01 ../../fsfw/globalfunctions/DleEncoder.h DLE_ENCODER
176 0x3d02 DLEE_DecodingError 0x02 ../../fsfw/globalfunctions/DleEncoder.h DLE_ENCODER
177 0x2e01 ASC_TooLongForTargetType 1 ../../fsfw/globalfunctions/AsciiConverter.h ASCII_CONVERTER
178 0x2e02 ASC_InvalidCharacters 2 ../../fsfw/globalfunctions/AsciiConverter.h ASCII_CONVERTER
179 0x2e03 ASC_BufferTooSmall 0x3 ../../fsfw/globalfunctions/AsciiConverter.h ASCII_CONVERTER
180 0xf01 CM_UnknownCommand 1 ../../fsfw/ipc/CommandMessageIF.h COMMAND_MESSAGE
181 0x3801 MQI_Empty 1 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
182 0x3802 MQI_Full No space left for more messages 2 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
183 0x3803 MQI_NoReplyPartner Returned if a reply method was called without partner 3 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
184 0x3804 MQI_DestinationInvalid Returned if the target destination is invalid. 4 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
185 0x3701 MUX_NotEnoughResources 1 ../../fsfw/ipc/MutexIF.h MUTEX_IF
186 0x3702 MUX_InsufficientMemory 2 ../../fsfw/ipc/MutexIF.h MUTEX_IF
187 0x3703 MUX_NoPrivilege 3 ../../fsfw/ipc/MutexIF.h MUTEX_IF
188 0x3704 MUX_WrongAttributeSetting 4 ../../fsfw/ipc/MutexIF.h MUTEX_IF
189 0x3705 MUX_MutexAlreadyLocked 5 ../../fsfw/ipc/MutexIF.h MUTEX_IF
190 0x3706 MUX_MutexNotFound 6 ../../fsfw/ipc/MutexIF.h MUTEX_IF
191 0x3707 MUX_MutexMaxLocks 7 ../../fsfw/ipc/MutexIF.h MUTEX_IF
192 0x3708 MUX_CurrThreadAlreadyOwnsMutex 8 ../../fsfw/ipc/MutexIF.h MUTEX_IF
193 0x3709 MUX_CurrThreadDoesNotOwnMutex 9 ../../fsfw/ipc/MutexIF.h MUTEX_IF
194 0x370a MUX_MutexTimeout 10 ../../fsfw/ipc/MutexIF.h MUTEX_IF
195 0x370b MUX_MutexInvalidId 11 ../../fsfw/ipc/MutexIF.h MUTEX_IF
196 0x370c MUX_MutexDestroyedWhileWaiting 12 ../../fsfw/ipc/MutexIF.h MUTEX_IF
197 0x3901 SPH_SemaphoreTimeout 1 ../../fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
198 0x3902 SPH_SemaphoreNotOwned 2 ../../fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
199 0x3903 SPH_SemaphoreInvalid 3 ../../fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
200 0x2801 TC_InvalidTargetState 1 ../../fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
201 0x28f1 TC_AboveOperationalLimit 0xF1 ../../fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
202 0x28f2 TC_BelowOperationalLimit 0xF2 ../../fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
203 0xc02 MS_InvalidEntry 0x02 ../../fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
204 0xc03 MS_TooManyElements 0x03 ../../fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
205 0xc04 MS_CantStoreEmpty 0x04 ../../fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
206 0xd01 SS_SequenceAlreadyExists 0x01 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
207 0xd02 SS_TableAlreadyExists 0x02 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
208 0xd03 SS_TableDoesNotExist 0x03 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
209 0xd04 SS_TableOrSequenceLengthInvalid 0x04 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
210 0xd05 SS_SequenceDoesNotExist 0x05 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
211 0xd06 SS_TableContainsInvalidObjectId 0x06 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
212 0xd07 SS_FallbackSequenceDoesNotExist 0x07 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
213 0xd08 SS_NoTargetTable 0x08 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
214 0xd09 SS_SequenceOrTableTooLong 0x09 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
215 0xd0b SS_IsFallbackSequence 0x0B ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
216 0xd0c SS_AccessDenied 0x0C ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
217 0xd0e SS_TableInUse 0x0E ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
218 0xda1 SS_TargetTableNotReached 0xA1 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
219 0xda2 SS_TableCheckFailed 0xA2 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
220 0xb01 SB_ChildNotFound 0x01 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
221 0xb02 SB_ChildInfoUpdated 0x02 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
222 0xb03 SB_ChildDoesntHaveModes 0x03 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
223 0xb04 SB_CouldNotInsertChild 0x04 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
224 0xb05 SB_TableContainsInvalidObjectId 0x05 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
225 0x3c00 HKM_QueueOrDestinationInvalid 0 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
226 0x3c01 HKM_WrongHkPacketType 1 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
227 0x3c02 HKM_ReportingStatusUnchanged 2 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
228 0x3c03 HKM_PeriodicHelperInvalid 3 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
229 0x3c04 HKM_PoolobjectNotFound 4 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
230 0x3c05 HKM_DatasetNotFound 5 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
231 0x3a00 LPIF_PoolEntryNotFound 0x00 ../../fsfw/datapoollocal/localPoolDefinitions.h LOCAL_POOL_OWNER_IF
232 0x3a01 LPIF_PoolEntryTypeConflict 0x01 ../../fsfw/datapoollocal/localPoolDefinitions.h LOCAL_POOL_OWNER_IF
233 0x3ba0 PVA_InvalidReadWriteMode 0xA0 ../../fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
234 0x3ba1 PVA_InvalidPoolEntry 0xA1 ../../fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
235 0x801 DPS_InvalidParameterDefinition 1 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
236 0x802 DPS_SetWasAlreadyRead 2 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
237 0x803 DPS_CommitingWithoutReading 3 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
238 0x804 DPS_DataSetUninitialised 4 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
239 0x805 DPS_DataSetFull 5 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
240 0x806 DPS_PoolVarNull 6 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
241 0x1000 TIM_UnsupportedTimeFormat 0 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
242 0x1001 TIM_NotEnoughInformationForTargetFormat 1 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
243 0x1002 TIM_LengthMismatch 2 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
244 0x1003 TIM_InvalidTimeFormat 3 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
245 0x1004 TIM_InvalidDayOfYear 4 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
246 0x1005 TIM_TimeDoesNotFitFormat 5 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
247 0x3501 TSI_BadTimestamp 1 ../../fsfw/timemanager/TimeStamperIF.h TIME_STAMPER_IF
248 0x1d01 PUS_ActivityStarted 1 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
249 0x1d02 PUS_InvalidSubservice 2 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
250 0x1d03 PUS_IllegalApplicationData 3 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
251 0x1d04 PUS_SendTmFailed 4 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
252 0x1d05 PUS_Timeout 5 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
253 0x1f01 CSB_ExecutionComplete 1 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
254 0x1f02 CSB_NoStepMessage 2 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
255 0x1f03 CSB_ObjectBusy 3 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
256 0x1f04 CSB_Busy 4 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
257 0x1f05 CSB_InvalidTc 5 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
258 0x1f06 CSB_InvalidObject 6 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
259 0x1f07 CSB_InvalidReply 7 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
260 0x1101 AL_Full 0x01 ../../fsfw/container/ArrayList.h ARRAY_LIST
261 0x1801 FF_Full 1 ../../fsfw/container/FIFOBase.h FIFO_CLASS
262 0x1802 FF_Empty 2 ../../fsfw/container/FIFOBase.h FIFO_CLASS
263 0x1601 FMM_MapFull 0x01 ../../fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
264 0x1602 FMM_KeyDoesNotExist 0x02 ../../fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
265 0x1501 FM_KeyAlreadyExists 0x01 ../../fsfw/container/FixedMap.h FIXED_MAP
266 0x1502 FM_MapFull 0x02 ../../fsfw/container/FixedMap.h FIXED_MAP
267 0x1503 FM_KeyDoesNotExist 0x03 ../../fsfw/container/FixedMap.h FIXED_MAP
268 0x2401 EV_ListenerNotFound 1 ../../fsfw/events/EventManagerIF.h EVENT_MANAGER_IF
269 0x1701 HHI_ObjectNotHealthy 1 ../../fsfw/health/HasHealthIF.h HAS_HEALTH_IF
270 0x1702 HHI_InvalidHealthState 2 ../../fsfw/health/HasHealthIF.h HAS_HEALTH_IF
271 0x2f01 POS_InPowerTransition 1 ../../fsfw/power/PowerSwitcher.h POWER_SWITCHER
272 0x2f02 POS_SwitchStateMismatch 2 ../../fsfw/power/PowerSwitcher.h POWER_SWITCHER
273 0x501 PS_SwitchOn 1 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
274 0x500 PS_SwitchOff 0 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
275 0x502 PS_SwitchTimeout 2 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
276 0x503 PS_FuseOn 3 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
277 0x504 PS_FuseOff 4 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
278 0x1a01 TRC_NotEnoughSensors 1 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
279 0x1a02 TRC_LowestValueOol 2 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
280 0x1a03 TRC_HighestValueOol 3 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
281 0x1a04 TRC_BothValuesOol 4 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
282 0x1a05 TRC_DuplexOol 5 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
283 0x3001 LIM_Unchecked 1 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
284 0x3002 LIM_Invalid 2 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
285 0x3003 LIM_Unselected 3 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
286 0x3004 LIM_BelowLowLimit 4 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
287 0x3005 LIM_AboveHighLimit 5 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
288 0x3006 LIM_UnexpectedValue 6 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
289 0x3007 LIM_OutOfRange 7 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
290 0x30a0 LIM_FirstSample 0xA0 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
291 0x30e0 LIM_InvalidSize 0xE0 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
292 0x30e1 LIM_WrongType 0xE1 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
293 0x30e2 LIM_WrongPid 0xE2 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
294 0x30e3 LIM_WrongLimitId 0xE3 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
295 0x30ee LIM_MonitorNotFound 0xEE ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
296 0x4000 FILS_GenericFileError 0 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
297 0x4001 FILS_IsBusy 1 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
298 0x4002 FILS_InvalidParameters 2 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
299 0x4005 FILS_FileDoesNotExist 5 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
300 0x4006 FILS_FileAlreadyExists 6 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
301 0x4007 FILS_FileLocked 7 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
302 0x400a FILS_DirectoryDoesNotExist 10 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
303 0x400b FILS_DirectoryAlreadyExists 11 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
304 0x400c FILS_DirectoryNotEmpty 12 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
305 0x400f FILS_SequencePacketMissingWrite 15 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
306 0x4010 FILS_SequencePacketMissingRead 16 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
307 0x601 PP_DoItMyself 1 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
308 0x602 PP_PointsToVariable 2 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
309 0x603 PP_PointsToMemory 3 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
310 0x604 PP_ActivityCompleted 4 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
311 0x605 PP_PointsToVectorUint8 5 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
312 0x606 PP_PointsToVectorUint16 6 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
313 0x607 PP_PointsToVectorUint32 7 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
314 0x608 PP_PointsToVectorFloat 8 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
315 0x6a0 PP_DumpNotSupported 0xA0 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
316 0x6e0 PP_InvalidSize 0xE0 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
317 0x6e1 PP_InvalidAddress 0xE1 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
318 0x6e2 PP_InvalidContent 0xE2 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
319 0x6e3 PP_UnalignedAccess 0xE3 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
320 0x6e4 PP_WriteProtected 0xE4 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
321 0x13e0 MH_UnknownCmd 0xE0 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
322 0x13e1 MH_InvalidAddress 0xE1 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
323 0x13e2 MH_InvalidSize 0xE2 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
324 0x13e3 MH_StateMismatch 0xE3 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
325 0x1201 AB_NeedSecondStep 0x01 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
326 0x1202 AB_NeedToReconfigure 0x02 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
327 0x1203 AB_ModeFallback 0x03 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
328 0x1204 AB_ChildNotCommandable 0x04 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
329 0x1205 AB_NeedToChangeHealth 0x05 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
330 0x12a1 AB_NotEnoughChildrenInCorrectState 0xa1 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
331 0x3a0 DHB_InvalidChannel 0xA0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
332 0x3b0 DHB_AperiodicReply 0xB0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
333 0x3b1 DHB_IgnoreReplyData 0xB1 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
334 0x3b2 DHB_IgnoreFullPacket 0xB2 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
335 0x3c0 DHB_NothingToSend 0xC0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
336 0x3c2 DHB_CommandMapError 0xC2 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
337 0x3d0 DHB_NoSwitch 0xD0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
338 0x3e0 DHB_ChildTimeout 0xE0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
339 0x3e1 DHB_SwitchFailed 0xE1 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
340 0x3301 DC_NoReplyReceived 0x01 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
341 0x3302 DC_ProtocolError 0x02 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
342 0x3303 DC_Nullpointer 0x03 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
343 0x3304 DC_InvalidCookieType 0x04 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
344 0x3305 DC_NotActive 0x05 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
345 0x3306 DC_TooMuchData 0x06 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
346 0x26a0 DHI_NoCommandData 0xA0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
347 0x26a1 DHI_CommandNotSupported 0xA1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
348 0x26a2 DHI_CommandAlreadySent 0xA2 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
349 0x26a3 DHI_CommandWasNotSent 0xA3 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
350 0x26a4 DHI_CantSwitchAddress 0xA4 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
351 0x26a5 DHI_WrongModeForCommand 0xA5 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
352 0x26a6 DHI_Timeout 0xA6 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
353 0x26a7 DHI_Busy 0xA7 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
354 0x26a8 DHI_NoReplyExpected 0xA8 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
355 0x26a9 DHI_NonOpTemperature 0xA9 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
356 0x26aa DHI_CommandNotImplemented 0xAA ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
357 0x26b0 DHI_ChecksumError 0xB0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
358 0x26b1 DHI_LengthMissmatch 0xB1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
359 0x26b2 DHI_InvalidData 0xB2 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
360 0x26b3 DHI_ProtocolError 0xB3 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
361 0x26c0 DHI_DeviceDidNotExecute 0xC0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
362 0x26c1 DHI_DeviceReportedError 0xC1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
363 0x26c2 DHI_UnknownDeviceReply 0xC2 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
364 0x26c3 DHI_DeviceReplyInvalid 0xC3 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
365 0x26d0 DHI_InvalidCommandParameter 0xD0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
366 0x26d1 DHI_InvalidNumberOrLengthOfParameters 0xD1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
367 0x1401 SE_BufferTooShort 1 ../../fsfw/serialize/SerializeIF.h SERIALIZE_IF
368 0x1402 SE_StreamTooShort 2 ../../fsfw/serialize/SerializeIF.h SERIALIZE_IF
369 0x1403 SE_TooManyElements 3 ../../fsfw/serialize/SerializeIF.h SERIALIZE_IF

View File

@ -1,78 +0,0 @@
2200;STORE_SEND_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2201;STORE_WRITE_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2202;STORE_SEND_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2203;STORE_READ_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2204;UNEXPECTED_MSG;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2205;STORING_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2206;TM_DUMP_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2207;STORE_INIT_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2208;STORE_INIT_EMPTY;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2209;STORE_CONTENT_CORRUPTED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2210;STORE_INITIALIZE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2211;INIT_DONE;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2212;DUMP_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2213;DELETION_FINISHED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2214;DELETION_FAILED;LOW; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2215;AUTO_CATALOGS_SENDING_FAILED;INFO; ;../../fsfw/tmstorage/TmStoreBackendIF.h
2600;GET_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h
2601;STORE_DATA_FAILED;LOW; ;../../fsfw/storagemanager/StorageManagerIF.h
2800;DEVICE_BUILDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2801;DEVICE_SENDING_COMMAND_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2802;DEVICE_REQUESTING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2803;DEVICE_READING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2804;DEVICE_INTERPRETING_REPLY_FAILED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2805;DEVICE_MISSED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2806;DEVICE_UNKNOWN_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2807;DEVICE_UNREQUESTED_REPLY;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2808;INVALID_DEVICE_COMMAND;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2809;MONITORING_LIMIT_EXCEEDED;LOW; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
2810;MONITORING_AMBIGUOUS;HIGH; ;../../fsfw/devicehandlers/DeviceHandlerIF.h
4201;FUSE_CURRENT_HIGH;LOW; ;../../fsfw/power/Fuse.h
4202;FUSE_WENT_OFF;LOW; ;../../fsfw/power/Fuse.h
4204;POWER_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/power/Fuse.h
4205;POWER_BELOW_LOW_LIMIT;LOW; ;../../fsfw/power/Fuse.h
4300;SWITCH_WENT_OFF;LOW; ;../../fsfw/power/PowerSwitchIF.h
5000;HEATER_ON;INFO; ;../../fsfw/thermal/Heater.h
5001;HEATER_OFF;INFO; ;../../fsfw/thermal/Heater.h
5002;HEATER_TIMEOUT;LOW; ;../../fsfw/thermal/Heater.h
5003;HEATER_STAYED_ON;LOW; ;../../fsfw/thermal/Heater.h
5004;HEATER_STAYED_OFF;LOW; ;../../fsfw/thermal/Heater.h
5200;TEMP_SENSOR_HIGH;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h
5201;TEMP_SENSOR_LOW;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h
5202;TEMP_SENSOR_GRADIENT;LOW; ;../../fsfw/thermal/AbstractTemperatureSensor.h
5901;COMPONENT_TEMP_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5902;COMPONENT_TEMP_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5903;COMPONENT_TEMP_OOL_LOW;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5904;COMPONENT_TEMP_OOL_HIGH;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
5905;TEMP_NOT_IN_OP_RANGE;LOW; ;../../fsfw/thermal/ThermalComponentIF.h
7101;FDIR_CHANGED_STATE;INFO; ;../../fsfw/fdir/FailureIsolationBase.h
7102;FDIR_STARTS_RECOVERY;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h
7103;FDIR_TURNS_OFF_DEVICE;MEDIUM; ;../../fsfw/fdir/FailureIsolationBase.h
7201;MONITOR_CHANGED_STATE;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7202;VALUE_BELOW_LOW_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7203;VALUE_ABOVE_HIGH_LIMIT;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7204;VALUE_OUT_OF_RANGE;LOW; ;../../fsfw/monitoring/MonitoringIF.h
7301;SWITCHING_TM_FAILED;LOW; ;../../fsfw/datapool/HkSwitchHelper.h
7400;CHANGING_MODE;INFO; ;../../fsfw/modes/HasModesIF.h
7401;MODE_INFO;INFO; ;../../fsfw/modes/HasModesIF.h
7402;FALLBACK_FAILED;HIGH; ;../../fsfw/modes/HasModesIF.h
7403;MODE_TRANSITION_FAILED;LOW; ;../../fsfw/modes/HasModesIF.h
7404;CANT_KEEP_MODE;HIGH; ;../../fsfw/modes/HasModesIF.h
7405;OBJECT_IN_INVALID_MODE;LOW; ;../../fsfw/modes/HasModesIF.h
7406;FORCING_MODE;MEDIUM; ;../../fsfw/modes/HasModesIF.h
7407;MODE_CMD_REJECTED;LOW; ;../../fsfw/modes/HasModesIF.h
7506;HEALTH_INFO;INFO; ;../../fsfw/health/HasHealthIF.h
7507;CHILD_CHANGED_HEALTH;INFO; ;../../fsfw/health/HasHealthIF.h
7508;CHILD_PROBLEMS;LOW; ;../../fsfw/health/HasHealthIF.h
7509;OVERWRITING_HEALTH;LOW; ;../../fsfw/health/HasHealthIF.h
7510;TRYING_RECOVERY;MEDIUM; ;../../fsfw/health/HasHealthIF.h
7511;RECOVERY_STEP;MEDIUM; ;../../fsfw/health/HasHealthIF.h
7512;RECOVERY_DONE;MEDIUM; ;../../fsfw/health/HasHealthIF.h
7900;RF_AVAILABLE;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7901;RF_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7902;BIT_LOCK;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7903;BIT_LOCK_LOST;INFO; ;../../fsfw/datalinklayer/DataLinkLayer.h
7905;FRAME_PROCESSING_FAILED;LOW; ;../../fsfw/datalinklayer/DataLinkLayer.h
8900;CLOCK_SET;INFO; ;../../fsfw/pus/Service9TimeManagement.h
8901;CLOCK_SET_FAILURE;LOW; ;../../fsfw/pus/Service9TimeManagement.h
9700;TEST;INFO; ;../../fsfw/pus/Service17Test.h
1 2200 STORE_SEND_WRITE_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
2 2201 STORE_WRITE_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
3 2202 STORE_SEND_READ_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
4 2203 STORE_READ_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
5 2204 UNEXPECTED_MSG LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
6 2205 STORING_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
7 2206 TM_DUMP_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
8 2207 STORE_INIT_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
9 2208 STORE_INIT_EMPTY INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
10 2209 STORE_CONTENT_CORRUPTED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
11 2210 STORE_INITIALIZE INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
12 2211 INIT_DONE INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
13 2212 DUMP_FINISHED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
14 2213 DELETION_FINISHED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
15 2214 DELETION_FAILED LOW ../../fsfw/tmstorage/TmStoreBackendIF.h
16 2215 AUTO_CATALOGS_SENDING_FAILED INFO ../../fsfw/tmstorage/TmStoreBackendIF.h
17 2600 GET_DATA_FAILED LOW ../../fsfw/storagemanager/StorageManagerIF.h
18 2601 STORE_DATA_FAILED LOW ../../fsfw/storagemanager/StorageManagerIF.h
19 2800 DEVICE_BUILDING_COMMAND_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
20 2801 DEVICE_SENDING_COMMAND_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
21 2802 DEVICE_REQUESTING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
22 2803 DEVICE_READING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
23 2804 DEVICE_INTERPRETING_REPLY_FAILED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
24 2805 DEVICE_MISSED_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
25 2806 DEVICE_UNKNOWN_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
26 2807 DEVICE_UNREQUESTED_REPLY LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
27 2808 INVALID_DEVICE_COMMAND LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
28 2809 MONITORING_LIMIT_EXCEEDED LOW ../../fsfw/devicehandlers/DeviceHandlerIF.h
29 2810 MONITORING_AMBIGUOUS HIGH ../../fsfw/devicehandlers/DeviceHandlerIF.h
30 4201 FUSE_CURRENT_HIGH LOW ../../fsfw/power/Fuse.h
31 4202 FUSE_WENT_OFF LOW ../../fsfw/power/Fuse.h
32 4204 POWER_ABOVE_HIGH_LIMIT LOW ../../fsfw/power/Fuse.h
33 4205 POWER_BELOW_LOW_LIMIT LOW ../../fsfw/power/Fuse.h
34 4300 SWITCH_WENT_OFF LOW ../../fsfw/power/PowerSwitchIF.h
35 5000 HEATER_ON INFO ../../fsfw/thermal/Heater.h
36 5001 HEATER_OFF INFO ../../fsfw/thermal/Heater.h
37 5002 HEATER_TIMEOUT LOW ../../fsfw/thermal/Heater.h
38 5003 HEATER_STAYED_ON LOW ../../fsfw/thermal/Heater.h
39 5004 HEATER_STAYED_OFF LOW ../../fsfw/thermal/Heater.h
40 5200 TEMP_SENSOR_HIGH LOW ../../fsfw/thermal/AbstractTemperatureSensor.h
41 5201 TEMP_SENSOR_LOW LOW ../../fsfw/thermal/AbstractTemperatureSensor.h
42 5202 TEMP_SENSOR_GRADIENT LOW ../../fsfw/thermal/AbstractTemperatureSensor.h
43 5901 COMPONENT_TEMP_LOW LOW ../../fsfw/thermal/ThermalComponentIF.h
44 5902 COMPONENT_TEMP_HIGH LOW ../../fsfw/thermal/ThermalComponentIF.h
45 5903 COMPONENT_TEMP_OOL_LOW LOW ../../fsfw/thermal/ThermalComponentIF.h
46 5904 COMPONENT_TEMP_OOL_HIGH LOW ../../fsfw/thermal/ThermalComponentIF.h
47 5905 TEMP_NOT_IN_OP_RANGE LOW ../../fsfw/thermal/ThermalComponentIF.h
48 7101 FDIR_CHANGED_STATE INFO ../../fsfw/fdir/FailureIsolationBase.h
49 7102 FDIR_STARTS_RECOVERY MEDIUM ../../fsfw/fdir/FailureIsolationBase.h
50 7103 FDIR_TURNS_OFF_DEVICE MEDIUM ../../fsfw/fdir/FailureIsolationBase.h
51 7201 MONITOR_CHANGED_STATE LOW ../../fsfw/monitoring/MonitoringIF.h
52 7202 VALUE_BELOW_LOW_LIMIT LOW ../../fsfw/monitoring/MonitoringIF.h
53 7203 VALUE_ABOVE_HIGH_LIMIT LOW ../../fsfw/monitoring/MonitoringIF.h
54 7204 VALUE_OUT_OF_RANGE LOW ../../fsfw/monitoring/MonitoringIF.h
55 7301 SWITCHING_TM_FAILED LOW ../../fsfw/datapool/HkSwitchHelper.h
56 7400 CHANGING_MODE INFO ../../fsfw/modes/HasModesIF.h
57 7401 MODE_INFO INFO ../../fsfw/modes/HasModesIF.h
58 7402 FALLBACK_FAILED HIGH ../../fsfw/modes/HasModesIF.h
59 7403 MODE_TRANSITION_FAILED LOW ../../fsfw/modes/HasModesIF.h
60 7404 CANT_KEEP_MODE HIGH ../../fsfw/modes/HasModesIF.h
61 7405 OBJECT_IN_INVALID_MODE LOW ../../fsfw/modes/HasModesIF.h
62 7406 FORCING_MODE MEDIUM ../../fsfw/modes/HasModesIF.h
63 7407 MODE_CMD_REJECTED LOW ../../fsfw/modes/HasModesIF.h
64 7506 HEALTH_INFO INFO ../../fsfw/health/HasHealthIF.h
65 7507 CHILD_CHANGED_HEALTH INFO ../../fsfw/health/HasHealthIF.h
66 7508 CHILD_PROBLEMS LOW ../../fsfw/health/HasHealthIF.h
67 7509 OVERWRITING_HEALTH LOW ../../fsfw/health/HasHealthIF.h
68 7510 TRYING_RECOVERY MEDIUM ../../fsfw/health/HasHealthIF.h
69 7511 RECOVERY_STEP MEDIUM ../../fsfw/health/HasHealthIF.h
70 7512 RECOVERY_DONE MEDIUM ../../fsfw/health/HasHealthIF.h
71 7900 RF_AVAILABLE INFO ../../fsfw/datalinklayer/DataLinkLayer.h
72 7901 RF_LOST INFO ../../fsfw/datalinklayer/DataLinkLayer.h
73 7902 BIT_LOCK INFO ../../fsfw/datalinklayer/DataLinkLayer.h
74 7903 BIT_LOCK_LOST INFO ../../fsfw/datalinklayer/DataLinkLayer.h
75 7905 FRAME_PROCESSING_FAILED LOW ../../fsfw/datalinklayer/DataLinkLayer.h
76 8900 CLOCK_SET INFO ../../fsfw/pus/Service9TimeManagement.h
77 8901 CLOCK_SET_FAILURE LOW ../../fsfw/pus/Service9TimeManagement.h
78 9700 TEST INFO ../../fsfw/pus/Service17Test.h

View File

@ -1,37 +0,0 @@
0x4100CAFE;TEST_ASSEMBLY
0x4301CAFE;TEST_CONTROLLER
0x4401AFFE;TEST_DEVICE_HANDLER_0
0x4402AFFE;TEST_DEVICE_HANDLER_1
0x4900AFFE;TEST_ECHO_COM_IF
0x53000000;FSFW_OBJECTS_START
0x53000001;PUS_SERVICE_1_VERIFICATION
0x53000002;PUS_SERVICE_2_DEVICE_ACCESS
0x53000003;PUS_SERVICE_3_HOUSEKEEPING
0x53000005;PUS_SERVICE_5_EVENT_REPORTING
0x53000008;PUS_SERVICE_8_FUNCTION_MGMT
0x53000009;PUS_SERVICE_9_TIME_MGMT
0x53000017;PUS_SERVICE_17_TEST
0x53000020;PUS_SERVICE_20_PARAMETERS
0x53000200;PUS_SERVICE_200_MODE_MGMT
0x53000201;PUS_SERVICE_201_HEALTH
0x53010000;HEALTH_TABLE
0x53010100;MODE_STORE
0x53030000;EVENT_MANAGER
0x53040000;INTERNAL_ERROR_REPORTER
0x534f0100;TC_STORE
0x534f0200;TM_STORE
0x534f0300;IPC_STORE
0x53500010;TIME_STAMPER
0x53ffffff;FSFW_OBJECTS_END
0x62000300;UDP_BRIDGE
0x62000400;UDP_POLLING_TASK
0x63000000;CCSDS_DISTRIBUTOR
0x63000001;PUS_DISTRIBUTOR
0x63000002;TM_FUNNEL
0x74000001;TEST_DUMMY_1
0x74000002;TEST_DUMMY_2
0x74000003;TEST_DUMMY_3
0x74000004;TEST_DUMMY_4
0x74000005;TEST_DUMMY_5
0x7400CAFE;TEST_TASK
0xFFFFFFFF;NO_OBJECT
1 0x4100CAFE TEST_ASSEMBLY
2 0x4301CAFE TEST_CONTROLLER
3 0x4401AFFE TEST_DEVICE_HANDLER_0
4 0x4402AFFE TEST_DEVICE_HANDLER_1
5 0x4900AFFE TEST_ECHO_COM_IF
6 0x53000000 FSFW_OBJECTS_START
7 0x53000001 PUS_SERVICE_1_VERIFICATION
8 0x53000002 PUS_SERVICE_2_DEVICE_ACCESS
9 0x53000003 PUS_SERVICE_3_HOUSEKEEPING
10 0x53000005 PUS_SERVICE_5_EVENT_REPORTING
11 0x53000008 PUS_SERVICE_8_FUNCTION_MGMT
12 0x53000009 PUS_SERVICE_9_TIME_MGMT
13 0x53000017 PUS_SERVICE_17_TEST
14 0x53000020 PUS_SERVICE_20_PARAMETERS
15 0x53000200 PUS_SERVICE_200_MODE_MGMT
16 0x53000201 PUS_SERVICE_201_HEALTH
17 0x53010000 HEALTH_TABLE
18 0x53010100 MODE_STORE
19 0x53030000 EVENT_MANAGER
20 0x53040000 INTERNAL_ERROR_REPORTER
21 0x534f0100 TC_STORE
22 0x534f0200 TM_STORE
23 0x534f0300 IPC_STORE
24 0x53500010 TIME_STAMPER
25 0x53ffffff FSFW_OBJECTS_END
26 0x62000300 UDP_BRIDGE
27 0x62000400 UDP_POLLING_TASK
28 0x63000000 CCSDS_DISTRIBUTOR
29 0x63000001 PUS_DISTRIBUTOR
30 0x63000002 TM_FUNNEL
31 0x74000001 TEST_DUMMY_1
32 0x74000002 TEST_DUMMY_2
33 0x74000003 TEST_DUMMY_3
34 0x74000004 TEST_DUMMY_4
35 0x74000005 TEST_DUMMY_5
36 0x7400CAFE TEST_TASK
37 0xFFFFFFFF NO_OBJECT

View File

@ -1,369 +0,0 @@
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
0x2b01;CCS_BcIsSetVrCommand;;0x01;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2b02;CCS_BcIsUnlockCommand;;0x02;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bb0;CCS_BcIllegalCommand;;0xB0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bb1;CCS_BoardReadingNotFinished;;0xB1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf0;CCS_NsPositiveW;;0xF0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf1;CCS_NsNegativeW;;0xF1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf2;CCS_NsLockout;;0xF2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf3;CCS_FarmInLockout;;0xF3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bf4;CCS_FarmInWait;;0xF4;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be0;CCS_WrongSymbol;;0xE0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be1;CCS_DoubleStart;;0xE1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be2;CCS_StartSymbolMissed;;0xE2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be3;CCS_EndWithoutStart;;0xE3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be4;CCS_TooLarge;;0xE4;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be5;CCS_TooShort;;0xE5;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be6;CCS_WrongTfVersion;;0xE6;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be7;CCS_WrongSpacecraftId;;0xE7;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be8;CCS_NoValidFrameType;;0xE8;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2be9;CCS_CrcFailed;;0xE9;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bea;CCS_VcNotFound;;0xEA;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2beb;CCS_ForwardingFailed;;0xEB;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bec;CCS_ContentTooLarge;;0xEC;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bed;CCS_ResidualData;;0xED;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bee;CCS_DataCorrupted;;0xEE;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bef;CCS_IllegalSegmentationFlag;;0xEF;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd0;CCS_IllegalFlagCombination;;0xD0;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd1;CCS_ShorterThanHeader;;0xD1;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd2;CCS_TooShortBlockedPacket;;0xD2;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd3;CCS_TooShortMapExtraction;;0xD3;../../fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2901;IEC_NoConfigurationTable;;0x01;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2902;IEC_NoCpuTable;;0x02;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2903;IEC_InvalidWorkspaceAddress;;0x03;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2904;IEC_TooLittleWorkspace;;0x04;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2905;IEC_WorkspaceAllocation;;0x05;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2906;IEC_InterruptStackTooSmall;;0x06;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2907;IEC_ThreadExitted;;0x07;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2908;IEC_InconsistentMpInformation;;0x08;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2909;IEC_InvalidNode;;0x09;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290a;IEC_NoMpci;;0x0a;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290b;IEC_BadPacket;;0x0b;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290c;IEC_OutOfPackets;;0x0c;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290d;IEC_OutOfGlobalObjects;;0x0d;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290e;IEC_OutOfProxies;;0x0e;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290f;IEC_InvalidGlobalId;;0x0f;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2910;IEC_BadStackHook;;0x10;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2911;IEC_BadAttributes;;0x11;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2912;IEC_ImplementationKeyCreateInconsistency;;0x12;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2913;IEC_ImplementationBlockingOperationCancel;;0x13;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2914;IEC_MutexObtainFromBadState;;0x14;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2915;IEC_UnlimitedAndMaximumIs0;;0x15;../../fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0xe01;HM_InvalidMode;;0x01;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe02;HM_TransNotAllowed;;0x02;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe03;HM_InTransition;;0x03;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe04;HM_InvalidSubmode;;0x04;../../fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x2d01;HPA_InvalidIdentifierId;;0x01;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d02;HPA_InvalidDomainId;;0x02;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d03;HPA_InvalidValue;;0x03;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d05;HPA_ReadOnly;;0x05;../../fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2c01;PAW_UnknownDatatype;;0x01;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c02;PAW_DatatypeMissmatch;;0x02;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c03;PAW_Readonly;;0x03;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c04;PAW_TooBig;;0x04;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c05;PAW_SourceNotSet;;0x05;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c06;PAW_OutOfBounds;;0x06;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c07;PAW_NotSet;;0x07;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c08;PAW_ColumnOrRowsZero;;0x08;../../fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x3101;CF_ObjectHasNoFunctions;;1;../../fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3102;CF_AlreadyCommanding;;2;../../fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3201;HF_IsBusy;;1;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3202;HF_InvalidParameters;;2;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3203;HF_ExecutionFinished;;3;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3204;HF_InvalidActionId;;4;../../fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x201;OM_InsertionFailed;;1;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x202;OM_NotFound;;2;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x203;OM_ChildInitFailed;;3;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x204;OM_InternalErrReporterUninit;;4;../../fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x2500;FDI_YourFault;;0;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2501;FDI_MyFault;;1;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2502;FDI_ConfirmLater;;2;../../fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2101;TMF_Busy;;1;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2102;TMF_LastPacketFound;;2;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2103;TMF_StopFetch;;3;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2104;TMF_Timeout;;4;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2105;TMF_TmChannelFull;;5;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2106;TMF_NotStored;;6;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2107;TMF_AllDeleted;;7;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2108;TMF_InvalidData;;8;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2109;TMF_NotReady;;9;../../fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2001;TMB_Busy;;1;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2002;TMB_Full;;2;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2003;TMB_Empty;;3;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2004;TMB_NullRequested;;4;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2005;TMB_TooLarge;;5;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2006;TMB_NotReady;;6;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2007;TMB_DumpError;;7;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2008;TMB_CrcError;;8;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2009;TMB_Timeout;;9;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200a;TMB_IdlePacketFound;;10;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200b;TMB_TelecommandFound;;11;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200c;TMB_NoPusATm;;12;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200d;TMB_TooSmall;;13;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200e;TMB_BlockNotFound;;14;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200f;TMB_InvalidRequest;;15;../../fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x1c01;TCD_PacketLost;;1;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c02;TCD_DestinationNotFound;;2;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c03;TCD_ServiceIdAlreadyExists;;3;../../fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1b00;TCC_IllegalApid;;0;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b01;TCC_IncompletePacket;;1;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b02;TCC_IncorrectChecksum;;2;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b03;TCC_IllegalPacketType;;3;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b04;TCC_IllegalPacketSubtype;;4;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b05;TCC_IncorrectPrimaryHeader;;5;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x1b06;TCC_IncorrectSecondaryHeader;;6;../../fsfw/tcdistribution/TcPacketCheck.h;TC_PACKET_CHECK
0x4e1;RMP_CommandNoDescriptorsAvailable;;0xE1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e2;RMP_CommandBufferFull;;0xE2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e3;RMP_CommandChannelOutOfRange;;0xE3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e6;RMP_CommandChannelDeactivated;;0xE6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e7;RMP_CommandPortOutOfRange;;0xE7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e8;RMP_CommandPortInUse;;0xE8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e9;RMP_CommandNoChannel;;0xE9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4ea;RMP_NoHwCrc;;0xEA;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d0;RMP_ReplyNoReply;;0xD0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d1;RMP_ReplyNotSent;;0xD1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d2;RMP_ReplyNotYetSent;;0xD2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d3;RMP_ReplyMissmatch;;0xD3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4d4;RMP_ReplyTimeout;;0xD4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c0;RMP_ReplyInterfaceBusy;;0xC0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c1;RMP_ReplyTransmissionError;;0xC1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c2;RMP_ReplyInvalidData;;0xC2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4c3;RMP_ReplyNotSupported;;0xC3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f0;RMP_LinkDown;;0xF0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f1;RMP_SpwCredit;;0xF1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f2;RMP_SpwEscape;;0xF2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f3;RMP_SpwDisconnect;;0xF3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f4;RMP_SpwParity;;0xF4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f5;RMP_SpwWriteSync;;0xF5;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f6;RMP_SpwInvalidAddress;;0xF6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f7;RMP_SpwEarlyEop;;0xF7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f8;RMP_SpwDma;;0xF8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4f9;RMP_SpwLinkError;;0xF9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x400;RMP_ReplyOk;;0;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x401;RMP_ReplyGeneralErrorCode;;1;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x402;RMP_ReplyUnusedPacketTypeOrCommandCode;;2;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x403;RMP_ReplyInvalidKey;;3;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x404;RMP_ReplyInvalidDataCrc;;4;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x405;RMP_ReplyEarlyEop;;5;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x406;RMP_ReplyTooMuchData;;6;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x407;RMP_ReplyEep;;7;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x408;RMP_ReplyReserved;;8;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x409;RMP_ReplyVerifyBufferOverrun;;9;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40a;RMP_ReplyCommandNotImplementedOrNotAuthorised;;10;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40b;RMP_ReplyRmwDataLengthError;;11;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40c;RMP_ReplyInvalidTargetLogicalAddress;;12;../../fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x2701;SM_DataTooLarge;;1;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2702;SM_DataStorageFull;;2;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2703;SM_IllegalStorageId;;3;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2704;SM_DataDoesNotExist;;4;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2705;SM_IllegalAddress;;5;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2706;SM_PoolTooLarge;;6;../../fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x36a1;SGP4_InvalidEccentricity;;0xA1;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a2;SGP4_InvalidMeanMotion;;0xA2;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a3;SGP4_InvalidPerturbationElements;;0xA3;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a4;SGP4_InvalidSemiLatusRectum;;0xA4;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a5;SGP4_InvalidEpochElements;;0xA5;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36a6;SGP4_SatelliteHasDecayed;;0xA6;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36b1;SGP4_TleTooOld;;0xB1;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x36b2;SGP4_TleNotInitialized;;0xB2;../../fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x2301;MT_TooDetailedRequest;;1;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2302;MT_TooGeneralRequest;;2;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2303;MT_NoMatch;;3;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2304;MT_Full;;4;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2305;MT_NewNodeCreated;;5;../../fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x3d01;DLEE_StreamTooShort;;0x01;../../fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x3d02;DLEE_DecodingError;;0x02;../../fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x2e01;ASC_TooLongForTargetType;;1;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e02;ASC_InvalidCharacters;;2;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e03;ASC_BufferTooSmall;;0x3;../../fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0xf01;CM_UnknownCommand;;1;../../fsfw/ipc/CommandMessageIF.h;COMMAND_MESSAGE
0x3801;MQI_Empty;;1;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3802;MQI_Full; No space left for more messages;2;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3803;MQI_NoReplyPartner; Returned if a reply method was called without partner;3;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3804;MQI_DestinationInvalid; Returned if the target destination is invalid.;4;../../fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3701;MUX_NotEnoughResources;;1;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3702;MUX_InsufficientMemory;;2;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3703;MUX_NoPrivilege;;3;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3704;MUX_WrongAttributeSetting;;4;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3705;MUX_MutexAlreadyLocked;;5;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3706;MUX_MutexNotFound;;6;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3707;MUX_MutexMaxLocks;;7;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3708;MUX_CurrThreadAlreadyOwnsMutex;;8;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3709;MUX_CurrThreadDoesNotOwnMutex;;9;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x370a;MUX_MutexTimeout;;10;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x370b;MUX_MutexInvalidId;;11;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x370c;MUX_MutexDestroyedWhileWaiting;;12;../../fsfw/ipc/MutexIF.h;MUTEX_IF
0x3901;SPH_SemaphoreTimeout;;1;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3902;SPH_SemaphoreNotOwned;;2;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3903;SPH_SemaphoreInvalid;;3;../../fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x2801;TC_InvalidTargetState;;1;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f1;TC_AboveOperationalLimit;;0xF1;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f2;TC_BelowOperationalLimit;;0xF2;../../fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0xc02;MS_InvalidEntry;;0x02;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xc03;MS_TooManyElements;;0x03;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xc04;MS_CantStoreEmpty;;0x04;../../fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xd01;SS_SequenceAlreadyExists;;0x01;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd02;SS_TableAlreadyExists;;0x02;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd03;SS_TableDoesNotExist;;0x03;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd04;SS_TableOrSequenceLengthInvalid;;0x04;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd05;SS_SequenceDoesNotExist;;0x05;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd06;SS_TableContainsInvalidObjectId;;0x06;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd07;SS_FallbackSequenceDoesNotExist;;0x07;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd08;SS_NoTargetTable;;0x08;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd09;SS_SequenceOrTableTooLong;;0x09;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd0b;SS_IsFallbackSequence;;0x0B;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd0c;SS_AccessDenied;;0x0C;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd0e;SS_TableInUse;;0x0E;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xda1;SS_TargetTableNotReached;;0xA1;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xda2;SS_TableCheckFailed;;0xA2;../../fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xb01;SB_ChildNotFound;;0x01;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb02;SB_ChildInfoUpdated;;0x02;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb03;SB_ChildDoesntHaveModes;;0x03;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb04;SB_CouldNotInsertChild;;0x04;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb05;SB_TableContainsInvalidObjectId;;0x05;../../fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0x3c00;HKM_QueueOrDestinationInvalid;;0;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c01;HKM_WrongHkPacketType;;1;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c02;HKM_ReportingStatusUnchanged;;2;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c03;HKM_PeriodicHelperInvalid;;3;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c04;HKM_PoolobjectNotFound;;4;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3c05;HKM_DatasetNotFound;;5;../../fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3a00;LPIF_PoolEntryNotFound;;0x00;../../fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3a01;LPIF_PoolEntryTypeConflict;;0x01;../../fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3ba0;PVA_InvalidReadWriteMode;;0xA0;../../fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x3ba1;PVA_InvalidPoolEntry;;0xA1;../../fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x801;DPS_InvalidParameterDefinition;;1;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x802;DPS_SetWasAlreadyRead;;2;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x803;DPS_CommitingWithoutReading;;3;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x804;DPS_DataSetUninitialised;;4;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x805;DPS_DataSetFull;;5;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x806;DPS_PoolVarNull;;6;../../fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x1000;TIM_UnsupportedTimeFormat;;0;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1001;TIM_NotEnoughInformationForTargetFormat;;1;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1002;TIM_LengthMismatch;;2;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1003;TIM_InvalidTimeFormat;;3;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1004;TIM_InvalidDayOfYear;;4;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1005;TIM_TimeDoesNotFitFormat;;5;../../fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x3501;TSI_BadTimestamp;;1;../../fsfw/timemanager/TimeStamperIF.h;TIME_STAMPER_IF
0x1d01;PUS_ActivityStarted;;1;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d02;PUS_InvalidSubservice;;2;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d03;PUS_IllegalApplicationData;;3;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d04;PUS_SendTmFailed;;4;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d05;PUS_Timeout;;5;../../fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1f01;CSB_ExecutionComplete;;1;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f02;CSB_NoStepMessage;;2;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f03;CSB_ObjectBusy;;3;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f04;CSB_Busy;;4;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f05;CSB_InvalidTc;;5;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f06;CSB_InvalidObject;;6;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f07;CSB_InvalidReply;;7;../../fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1101;AL_Full;;0x01;../../fsfw/container/ArrayList.h;ARRAY_LIST
0x1801;FF_Full;;1;../../fsfw/container/FIFOBase.h;FIFO_CLASS
0x1802;FF_Empty;;2;../../fsfw/container/FIFOBase.h;FIFO_CLASS
0x1601;FMM_MapFull;;0x01;../../fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x1602;FMM_KeyDoesNotExist;;0x02;../../fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x1501;FM_KeyAlreadyExists;;0x01;../../fsfw/container/FixedMap.h;FIXED_MAP
0x1502;FM_MapFull;;0x02;../../fsfw/container/FixedMap.h;FIXED_MAP
0x1503;FM_KeyDoesNotExist;;0x03;../../fsfw/container/FixedMap.h;FIXED_MAP
0x2401;EV_ListenerNotFound;;1;../../fsfw/events/EventManagerIF.h;EVENT_MANAGER_IF
0x1701;HHI_ObjectNotHealthy;;1;../../fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x1702;HHI_InvalidHealthState;;2;../../fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x2f01;POS_InPowerTransition;;1;../../fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x2f02;POS_SwitchStateMismatch;;2;../../fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x501;PS_SwitchOn;;1;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x500;PS_SwitchOff;;0;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x502;PS_SwitchTimeout;;2;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x503;PS_FuseOn;;3;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x504;PS_FuseOff;;4;../../fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x1a01;TRC_NotEnoughSensors;;1;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a02;TRC_LowestValueOol;;2;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a03;TRC_HighestValueOol;;3;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a04;TRC_BothValuesOol;;4;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a05;TRC_DuplexOol;;5;../../fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x3001;LIM_Unchecked;;1;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3002;LIM_Invalid;;2;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3003;LIM_Unselected;;3;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3004;LIM_BelowLowLimit;;4;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3005;LIM_AboveHighLimit;;5;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3006;LIM_UnexpectedValue;;6;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3007;LIM_OutOfRange;;7;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30a0;LIM_FirstSample;;0xA0;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e0;LIM_InvalidSize;;0xE0;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e1;LIM_WrongType;;0xE1;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e2;LIM_WrongPid;;0xE2;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e3;LIM_WrongLimitId;;0xE3;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30ee;LIM_MonitorNotFound;;0xEE;../../fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x4000;FILS_GenericFileError;;0;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4001;FILS_IsBusy;;1;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4002;FILS_InvalidParameters;;2;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4005;FILS_FileDoesNotExist;;5;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4006;FILS_FileAlreadyExists;;6;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4007;FILS_FileLocked;;7;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400a;FILS_DirectoryDoesNotExist;;10;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400b;FILS_DirectoryAlreadyExists;;11;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400c;FILS_DirectoryNotEmpty;;12;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x400f;FILS_SequencePacketMissingWrite;;15;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4010;FILS_SequencePacketMissingRead;;16;../../fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x601;PP_DoItMyself;;1;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x602;PP_PointsToVariable;;2;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x603;PP_PointsToMemory;;3;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x604;PP_ActivityCompleted;;4;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x605;PP_PointsToVectorUint8;;5;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x606;PP_PointsToVectorUint16;;6;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x607;PP_PointsToVectorUint32;;7;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x608;PP_PointsToVectorFloat;;8;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6a0;PP_DumpNotSupported;;0xA0;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e0;PP_InvalidSize;;0xE0;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e1;PP_InvalidAddress;;0xE1;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e2;PP_InvalidContent;;0xE2;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e3;PP_UnalignedAccess;;0xE3;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e4;PP_WriteProtected;;0xE4;../../fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x13e0;MH_UnknownCmd;;0xE0;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e1;MH_InvalidAddress;;0xE1;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e2;MH_InvalidSize;;0xE2;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e3;MH_StateMismatch;;0xE3;../../fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x1201;AB_NeedSecondStep;;0x01;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1202;AB_NeedToReconfigure;;0x02;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1203;AB_ModeFallback;;0x03;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1204;AB_ChildNotCommandable;;0x04;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x1205;AB_NeedToChangeHealth;;0x05;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x12a1;AB_NotEnoughChildrenInCorrectState;;0xa1;../../fsfw/devicehandlers/AssemblyBase.h;ASSEMBLY_BASE
0x3a0;DHB_InvalidChannel;;0xA0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b0;DHB_AperiodicReply;;0xB0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b1;DHB_IgnoreReplyData;;0xB1;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b2;DHB_IgnoreFullPacket;;0xB2;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3c0;DHB_NothingToSend;;0xC0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3c2;DHB_CommandMapError;;0xC2;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3d0;DHB_NoSwitch;;0xD0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3e0;DHB_ChildTimeout;;0xE0;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3e1;DHB_SwitchFailed;;0xE1;../../fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3301;DC_NoReplyReceived;;0x01;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3302;DC_ProtocolError;;0x02;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3303;DC_Nullpointer;;0x03;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3304;DC_InvalidCookieType;;0x04;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3305;DC_NotActive;;0x05;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3306;DC_TooMuchData;;0x06;../../fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x26a0;DHI_NoCommandData;;0xA0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a1;DHI_CommandNotSupported;;0xA1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a2;DHI_CommandAlreadySent;;0xA2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a3;DHI_CommandWasNotSent;;0xA3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a4;DHI_CantSwitchAddress;;0xA4;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a5;DHI_WrongModeForCommand;;0xA5;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a6;DHI_Timeout;;0xA6;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a7;DHI_Busy;;0xA7;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a8;DHI_NoReplyExpected;;0xA8;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26a9;DHI_NonOpTemperature;;0xA9;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26aa;DHI_CommandNotImplemented;;0xAA;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b0;DHI_ChecksumError;;0xB0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b1;DHI_LengthMissmatch;;0xB1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b2;DHI_InvalidData;;0xB2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26b3;DHI_ProtocolError;;0xB3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c0;DHI_DeviceDidNotExecute;;0xC0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c1;DHI_DeviceReportedError;;0xC1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c2;DHI_UnknownDeviceReply;;0xC2;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26c3;DHI_DeviceReplyInvalid;;0xC3;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d0;DHI_InvalidCommandParameter;;0xD0;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d1;DHI_InvalidNumberOrLengthOfParameters;;0xD1;../../fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x1401;SE_BufferTooShort;;1;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1402;SE_StreamTooShort;;2;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1403;SE_TooManyElements;;3;../../fsfw/serialize/SerializeIF.h;SERIALIZE_IF
1 0x0 OK System-wide code for ok. RETURN_OK HasReturnvaluesIF.h HasReturnvaluesIF
2 0x1 Failed Unspecified system-wide code for failed. RETURN_FAILED HasReturnvaluesIF.h HasReturnvaluesIF
3 0x2b01 CCS_BcIsSetVrCommand 0x01 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
4 0x2b02 CCS_BcIsUnlockCommand 0x02 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
5 0x2bb0 CCS_BcIllegalCommand 0xB0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
6 0x2bb1 CCS_BoardReadingNotFinished 0xB1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
7 0x2bf0 CCS_NsPositiveW 0xF0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
8 0x2bf1 CCS_NsNegativeW 0xF1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
9 0x2bf2 CCS_NsLockout 0xF2 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
10 0x2bf3 CCS_FarmInLockout 0xF3 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
11 0x2bf4 CCS_FarmInWait 0xF4 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
12 0x2be0 CCS_WrongSymbol 0xE0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
13 0x2be1 CCS_DoubleStart 0xE1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
14 0x2be2 CCS_StartSymbolMissed 0xE2 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
15 0x2be3 CCS_EndWithoutStart 0xE3 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
16 0x2be4 CCS_TooLarge 0xE4 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
17 0x2be5 CCS_TooShort 0xE5 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
18 0x2be6 CCS_WrongTfVersion 0xE6 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
19 0x2be7 CCS_WrongSpacecraftId 0xE7 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
20 0x2be8 CCS_NoValidFrameType 0xE8 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
21 0x2be9 CCS_CrcFailed 0xE9 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
22 0x2bea CCS_VcNotFound 0xEA ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
23 0x2beb CCS_ForwardingFailed 0xEB ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
24 0x2bec CCS_ContentTooLarge 0xEC ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
25 0x2bed CCS_ResidualData 0xED ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
26 0x2bee CCS_DataCorrupted 0xEE ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
27 0x2bef CCS_IllegalSegmentationFlag 0xEF ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
28 0x2bd0 CCS_IllegalFlagCombination 0xD0 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
29 0x2bd1 CCS_ShorterThanHeader 0xD1 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
30 0x2bd2 CCS_TooShortBlockedPacket 0xD2 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
31 0x2bd3 CCS_TooShortMapExtraction 0xD3 ../../fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
32 0x2901 IEC_NoConfigurationTable 0x01 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
33 0x2902 IEC_NoCpuTable 0x02 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
34 0x2903 IEC_InvalidWorkspaceAddress 0x03 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
35 0x2904 IEC_TooLittleWorkspace 0x04 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
36 0x2905 IEC_WorkspaceAllocation 0x05 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
37 0x2906 IEC_InterruptStackTooSmall 0x06 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
38 0x2907 IEC_ThreadExitted 0x07 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
39 0x2908 IEC_InconsistentMpInformation 0x08 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
40 0x2909 IEC_InvalidNode 0x09 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
41 0x290a IEC_NoMpci 0x0a ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
42 0x290b IEC_BadPacket 0x0b ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
43 0x290c IEC_OutOfPackets 0x0c ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
44 0x290d IEC_OutOfGlobalObjects 0x0d ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
45 0x290e IEC_OutOfProxies 0x0e ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
46 0x290f IEC_InvalidGlobalId 0x0f ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
47 0x2910 IEC_BadStackHook 0x10 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
48 0x2911 IEC_BadAttributes 0x11 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
49 0x2912 IEC_ImplementationKeyCreateInconsistency 0x12 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
50 0x2913 IEC_ImplementationBlockingOperationCancel 0x13 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
51 0x2914 IEC_MutexObtainFromBadState 0x14 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
52 0x2915 IEC_UnlimitedAndMaximumIs0 0x15 ../../fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
53 0xe01 HM_InvalidMode 0x01 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
54 0xe02 HM_TransNotAllowed 0x02 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
55 0xe03 HM_InTransition 0x03 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
56 0xe04 HM_InvalidSubmode 0x04 ../../fsfw/modes/HasModesIF.h HAS_MODES_IF
57 0x2d01 HPA_InvalidIdentifierId 0x01 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
58 0x2d02 HPA_InvalidDomainId 0x02 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
59 0x2d03 HPA_InvalidValue 0x03 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
60 0x2d05 HPA_ReadOnly 0x05 ../../fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
61 0x2c01 PAW_UnknownDatatype 0x01 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
62 0x2c02 PAW_DatatypeMissmatch 0x02 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
63 0x2c03 PAW_Readonly 0x03 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
64 0x2c04 PAW_TooBig 0x04 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
65 0x2c05 PAW_SourceNotSet 0x05 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
66 0x2c06 PAW_OutOfBounds 0x06 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
67 0x2c07 PAW_NotSet 0x07 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
68 0x2c08 PAW_ColumnOrRowsZero 0x08 ../../fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
69 0x3101 CF_ObjectHasNoFunctions 1 ../../fsfw/action/CommandsActionsIF.h COMMANDS_ACTIONS_IF
70 0x3102 CF_AlreadyCommanding 2 ../../fsfw/action/CommandsActionsIF.h COMMANDS_ACTIONS_IF
71 0x3201 HF_IsBusy 1 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
72 0x3202 HF_InvalidParameters 2 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
73 0x3203 HF_ExecutionFinished 3 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
74 0x3204 HF_InvalidActionId 4 ../../fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
75 0x201 OM_InsertionFailed 1 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
76 0x202 OM_NotFound 2 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
77 0x203 OM_ChildInitFailed 3 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
78 0x204 OM_InternalErrReporterUninit 4 ../../fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
79 0x2500 FDI_YourFault 0 ../../fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
80 0x2501 FDI_MyFault 1 ../../fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
81 0x2502 FDI_ConfirmLater 2 ../../fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
82 0x2101 TMF_Busy 1 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
83 0x2102 TMF_LastPacketFound 2 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
84 0x2103 TMF_StopFetch 3 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
85 0x2104 TMF_Timeout 4 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
86 0x2105 TMF_TmChannelFull 5 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
87 0x2106 TMF_NotStored 6 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
88 0x2107 TMF_AllDeleted 7 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
89 0x2108 TMF_InvalidData 8 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
90 0x2109 TMF_NotReady 9 ../../fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
91 0x2001 TMB_Busy 1 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
92 0x2002 TMB_Full 2 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
93 0x2003 TMB_Empty 3 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
94 0x2004 TMB_NullRequested 4 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
95 0x2005 TMB_TooLarge 5 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
96 0x2006 TMB_NotReady 6 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
97 0x2007 TMB_DumpError 7 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
98 0x2008 TMB_CrcError 8 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
99 0x2009 TMB_Timeout 9 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
100 0x200a TMB_IdlePacketFound 10 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
101 0x200b TMB_TelecommandFound 11 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
102 0x200c TMB_NoPusATm 12 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
103 0x200d TMB_TooSmall 13 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
104 0x200e TMB_BlockNotFound 14 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
105 0x200f TMB_InvalidRequest 15 ../../fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
106 0x1c01 TCD_PacketLost 1 ../../fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
107 0x1c02 TCD_DestinationNotFound 2 ../../fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
108 0x1c03 TCD_ServiceIdAlreadyExists 3 ../../fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
109 0x1b00 TCC_IllegalApid 0 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
110 0x1b01 TCC_IncompletePacket 1 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
111 0x1b02 TCC_IncorrectChecksum 2 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
112 0x1b03 TCC_IllegalPacketType 3 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
113 0x1b04 TCC_IllegalPacketSubtype 4 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
114 0x1b05 TCC_IncorrectPrimaryHeader 5 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
115 0x1b06 TCC_IncorrectSecondaryHeader 6 ../../fsfw/tcdistribution/TcPacketCheck.h TC_PACKET_CHECK
116 0x4e1 RMP_CommandNoDescriptorsAvailable 0xE1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
117 0x4e2 RMP_CommandBufferFull 0xE2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
118 0x4e3 RMP_CommandChannelOutOfRange 0xE3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
119 0x4e6 RMP_CommandChannelDeactivated 0xE6 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
120 0x4e7 RMP_CommandPortOutOfRange 0xE7 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
121 0x4e8 RMP_CommandPortInUse 0xE8 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
122 0x4e9 RMP_CommandNoChannel 0xE9 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
123 0x4ea RMP_NoHwCrc 0xEA ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
124 0x4d0 RMP_ReplyNoReply 0xD0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
125 0x4d1 RMP_ReplyNotSent 0xD1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
126 0x4d2 RMP_ReplyNotYetSent 0xD2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
127 0x4d3 RMP_ReplyMissmatch 0xD3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
128 0x4d4 RMP_ReplyTimeout 0xD4 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
129 0x4c0 RMP_ReplyInterfaceBusy 0xC0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
130 0x4c1 RMP_ReplyTransmissionError 0xC1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
131 0x4c2 RMP_ReplyInvalidData 0xC2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
132 0x4c3 RMP_ReplyNotSupported 0xC3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
133 0x4f0 RMP_LinkDown 0xF0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
134 0x4f1 RMP_SpwCredit 0xF1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
135 0x4f2 RMP_SpwEscape 0xF2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
136 0x4f3 RMP_SpwDisconnect 0xF3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
137 0x4f4 RMP_SpwParity 0xF4 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
138 0x4f5 RMP_SpwWriteSync 0xF5 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
139 0x4f6 RMP_SpwInvalidAddress 0xF6 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
140 0x4f7 RMP_SpwEarlyEop 0xF7 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
141 0x4f8 RMP_SpwDma 0xF8 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
142 0x4f9 RMP_SpwLinkError 0xF9 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
143 0x400 RMP_ReplyOk 0 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
144 0x401 RMP_ReplyGeneralErrorCode 1 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
145 0x402 RMP_ReplyUnusedPacketTypeOrCommandCode 2 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
146 0x403 RMP_ReplyInvalidKey 3 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
147 0x404 RMP_ReplyInvalidDataCrc 4 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
148 0x405 RMP_ReplyEarlyEop 5 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
149 0x406 RMP_ReplyTooMuchData 6 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
150 0x407 RMP_ReplyEep 7 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
151 0x408 RMP_ReplyReserved 8 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
152 0x409 RMP_ReplyVerifyBufferOverrun 9 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
153 0x40a RMP_ReplyCommandNotImplementedOrNotAuthorised 10 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
154 0x40b RMP_ReplyRmwDataLengthError 11 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
155 0x40c RMP_ReplyInvalidTargetLogicalAddress 12 ../../fsfw/rmap/RMAP.h RMAP_CHANNEL
156 0x2701 SM_DataTooLarge 1 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
157 0x2702 SM_DataStorageFull 2 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
158 0x2703 SM_IllegalStorageId 3 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
159 0x2704 SM_DataDoesNotExist 4 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
160 0x2705 SM_IllegalAddress 5 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
161 0x2706 SM_PoolTooLarge 6 ../../fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
162 0x36a1 SGP4_InvalidEccentricity 0xA1 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
163 0x36a2 SGP4_InvalidMeanMotion 0xA2 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
164 0x36a3 SGP4_InvalidPerturbationElements 0xA3 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
165 0x36a4 SGP4_InvalidSemiLatusRectum 0xA4 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
166 0x36a5 SGP4_InvalidEpochElements 0xA5 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
167 0x36a6 SGP4_SatelliteHasDecayed 0xA6 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
168 0x36b1 SGP4_TleTooOld 0xB1 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
169 0x36b2 SGP4_TleNotInitialized 0xB2 ../../fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
170 0x2301 MT_TooDetailedRequest 1 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
171 0x2302 MT_TooGeneralRequest 2 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
172 0x2303 MT_NoMatch 3 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
173 0x2304 MT_Full 4 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
174 0x2305 MT_NewNodeCreated 5 ../../fsfw/globalfunctions/matching/MatchTree.h MATCH_TREE_CLASS
175 0x3d01 DLEE_StreamTooShort 0x01 ../../fsfw/globalfunctions/DleEncoder.h DLE_ENCODER
176 0x3d02 DLEE_DecodingError 0x02 ../../fsfw/globalfunctions/DleEncoder.h DLE_ENCODER
177 0x2e01 ASC_TooLongForTargetType 1 ../../fsfw/globalfunctions/AsciiConverter.h ASCII_CONVERTER
178 0x2e02 ASC_InvalidCharacters 2 ../../fsfw/globalfunctions/AsciiConverter.h ASCII_CONVERTER
179 0x2e03 ASC_BufferTooSmall 0x3 ../../fsfw/globalfunctions/AsciiConverter.h ASCII_CONVERTER
180 0xf01 CM_UnknownCommand 1 ../../fsfw/ipc/CommandMessageIF.h COMMAND_MESSAGE
181 0x3801 MQI_Empty 1 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
182 0x3802 MQI_Full No space left for more messages 2 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
183 0x3803 MQI_NoReplyPartner Returned if a reply method was called without partner 3 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
184 0x3804 MQI_DestinationInvalid Returned if the target destination is invalid. 4 ../../fsfw/ipc/MessageQueueIF.h MESSAGE_QUEUE_IF
185 0x3701 MUX_NotEnoughResources 1 ../../fsfw/ipc/MutexIF.h MUTEX_IF
186 0x3702 MUX_InsufficientMemory 2 ../../fsfw/ipc/MutexIF.h MUTEX_IF
187 0x3703 MUX_NoPrivilege 3 ../../fsfw/ipc/MutexIF.h MUTEX_IF
188 0x3704 MUX_WrongAttributeSetting 4 ../../fsfw/ipc/MutexIF.h MUTEX_IF
189 0x3705 MUX_MutexAlreadyLocked 5 ../../fsfw/ipc/MutexIF.h MUTEX_IF
190 0x3706 MUX_MutexNotFound 6 ../../fsfw/ipc/MutexIF.h MUTEX_IF
191 0x3707 MUX_MutexMaxLocks 7 ../../fsfw/ipc/MutexIF.h MUTEX_IF
192 0x3708 MUX_CurrThreadAlreadyOwnsMutex 8 ../../fsfw/ipc/MutexIF.h MUTEX_IF
193 0x3709 MUX_CurrThreadDoesNotOwnMutex 9 ../../fsfw/ipc/MutexIF.h MUTEX_IF
194 0x370a MUX_MutexTimeout 10 ../../fsfw/ipc/MutexIF.h MUTEX_IF
195 0x370b MUX_MutexInvalidId 11 ../../fsfw/ipc/MutexIF.h MUTEX_IF
196 0x370c MUX_MutexDestroyedWhileWaiting 12 ../../fsfw/ipc/MutexIF.h MUTEX_IF
197 0x3901 SPH_SemaphoreTimeout 1 ../../fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
198 0x3902 SPH_SemaphoreNotOwned 2 ../../fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
199 0x3903 SPH_SemaphoreInvalid 3 ../../fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
200 0x2801 TC_InvalidTargetState 1 ../../fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
201 0x28f1 TC_AboveOperationalLimit 0xF1 ../../fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
202 0x28f2 TC_BelowOperationalLimit 0xF2 ../../fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
203 0xc02 MS_InvalidEntry 0x02 ../../fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
204 0xc03 MS_TooManyElements 0x03 ../../fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
205 0xc04 MS_CantStoreEmpty 0x04 ../../fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
206 0xd01 SS_SequenceAlreadyExists 0x01 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
207 0xd02 SS_TableAlreadyExists 0x02 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
208 0xd03 SS_TableDoesNotExist 0x03 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
209 0xd04 SS_TableOrSequenceLengthInvalid 0x04 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
210 0xd05 SS_SequenceDoesNotExist 0x05 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
211 0xd06 SS_TableContainsInvalidObjectId 0x06 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
212 0xd07 SS_FallbackSequenceDoesNotExist 0x07 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
213 0xd08 SS_NoTargetTable 0x08 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
214 0xd09 SS_SequenceOrTableTooLong 0x09 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
215 0xd0b SS_IsFallbackSequence 0x0B ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
216 0xd0c SS_AccessDenied 0x0C ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
217 0xd0e SS_TableInUse 0x0E ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
218 0xda1 SS_TargetTableNotReached 0xA1 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
219 0xda2 SS_TableCheckFailed 0xA2 ../../fsfw/subsystem/Subsystem.h SUBSYSTEM
220 0xb01 SB_ChildNotFound 0x01 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
221 0xb02 SB_ChildInfoUpdated 0x02 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
222 0xb03 SB_ChildDoesntHaveModes 0x03 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
223 0xb04 SB_CouldNotInsertChild 0x04 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
224 0xb05 SB_TableContainsInvalidObjectId 0x05 ../../fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
225 0x3c00 HKM_QueueOrDestinationInvalid 0 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
226 0x3c01 HKM_WrongHkPacketType 1 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
227 0x3c02 HKM_ReportingStatusUnchanged 2 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
228 0x3c03 HKM_PeriodicHelperInvalid 3 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
229 0x3c04 HKM_PoolobjectNotFound 4 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
230 0x3c05 HKM_DatasetNotFound 5 ../../fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
231 0x3a00 LPIF_PoolEntryNotFound 0x00 ../../fsfw/datapoollocal/localPoolDefinitions.h LOCAL_POOL_OWNER_IF
232 0x3a01 LPIF_PoolEntryTypeConflict 0x01 ../../fsfw/datapoollocal/localPoolDefinitions.h LOCAL_POOL_OWNER_IF
233 0x3ba0 PVA_InvalidReadWriteMode 0xA0 ../../fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
234 0x3ba1 PVA_InvalidPoolEntry 0xA1 ../../fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
235 0x801 DPS_InvalidParameterDefinition 1 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
236 0x802 DPS_SetWasAlreadyRead 2 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
237 0x803 DPS_CommitingWithoutReading 3 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
238 0x804 DPS_DataSetUninitialised 4 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
239 0x805 DPS_DataSetFull 5 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
240 0x806 DPS_PoolVarNull 6 ../../fsfw/datapool/DataSetIF.h DATA_SET_CLASS
241 0x1000 TIM_UnsupportedTimeFormat 0 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
242 0x1001 TIM_NotEnoughInformationForTargetFormat 1 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
243 0x1002 TIM_LengthMismatch 2 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
244 0x1003 TIM_InvalidTimeFormat 3 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
245 0x1004 TIM_InvalidDayOfYear 4 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
246 0x1005 TIM_TimeDoesNotFitFormat 5 ../../fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
247 0x3501 TSI_BadTimestamp 1 ../../fsfw/timemanager/TimeStamperIF.h TIME_STAMPER_IF
248 0x1d01 PUS_ActivityStarted 1 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
249 0x1d02 PUS_InvalidSubservice 2 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
250 0x1d03 PUS_IllegalApplicationData 3 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
251 0x1d04 PUS_SendTmFailed 4 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
252 0x1d05 PUS_Timeout 5 ../../fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
253 0x1f01 CSB_ExecutionComplete 1 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
254 0x1f02 CSB_NoStepMessage 2 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
255 0x1f03 CSB_ObjectBusy 3 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
256 0x1f04 CSB_Busy 4 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
257 0x1f05 CSB_InvalidTc 5 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
258 0x1f06 CSB_InvalidObject 6 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
259 0x1f07 CSB_InvalidReply 7 ../../fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
260 0x1101 AL_Full 0x01 ../../fsfw/container/ArrayList.h ARRAY_LIST
261 0x1801 FF_Full 1 ../../fsfw/container/FIFOBase.h FIFO_CLASS
262 0x1802 FF_Empty 2 ../../fsfw/container/FIFOBase.h FIFO_CLASS
263 0x1601 FMM_MapFull 0x01 ../../fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
264 0x1602 FMM_KeyDoesNotExist 0x02 ../../fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
265 0x1501 FM_KeyAlreadyExists 0x01 ../../fsfw/container/FixedMap.h FIXED_MAP
266 0x1502 FM_MapFull 0x02 ../../fsfw/container/FixedMap.h FIXED_MAP
267 0x1503 FM_KeyDoesNotExist 0x03 ../../fsfw/container/FixedMap.h FIXED_MAP
268 0x2401 EV_ListenerNotFound 1 ../../fsfw/events/EventManagerIF.h EVENT_MANAGER_IF
269 0x1701 HHI_ObjectNotHealthy 1 ../../fsfw/health/HasHealthIF.h HAS_HEALTH_IF
270 0x1702 HHI_InvalidHealthState 2 ../../fsfw/health/HasHealthIF.h HAS_HEALTH_IF
271 0x2f01 POS_InPowerTransition 1 ../../fsfw/power/PowerSwitcher.h POWER_SWITCHER
272 0x2f02 POS_SwitchStateMismatch 2 ../../fsfw/power/PowerSwitcher.h POWER_SWITCHER
273 0x501 PS_SwitchOn 1 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
274 0x500 PS_SwitchOff 0 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
275 0x502 PS_SwitchTimeout 2 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
276 0x503 PS_FuseOn 3 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
277 0x504 PS_FuseOff 4 ../../fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
278 0x1a01 TRC_NotEnoughSensors 1 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
279 0x1a02 TRC_LowestValueOol 2 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
280 0x1a03 TRC_HighestValueOol 3 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
281 0x1a04 TRC_BothValuesOol 4 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
282 0x1a05 TRC_DuplexOol 5 ../../fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
283 0x3001 LIM_Unchecked 1 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
284 0x3002 LIM_Invalid 2 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
285 0x3003 LIM_Unselected 3 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
286 0x3004 LIM_BelowLowLimit 4 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
287 0x3005 LIM_AboveHighLimit 5 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
288 0x3006 LIM_UnexpectedValue 6 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
289 0x3007 LIM_OutOfRange 7 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
290 0x30a0 LIM_FirstSample 0xA0 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
291 0x30e0 LIM_InvalidSize 0xE0 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
292 0x30e1 LIM_WrongType 0xE1 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
293 0x30e2 LIM_WrongPid 0xE2 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
294 0x30e3 LIM_WrongLimitId 0xE3 ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
295 0x30ee LIM_MonitorNotFound 0xEE ../../fsfw/monitoring/MonitoringIF.h LIMITS_IF
296 0x4000 FILS_GenericFileError 0 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
297 0x4001 FILS_IsBusy 1 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
298 0x4002 FILS_InvalidParameters 2 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
299 0x4005 FILS_FileDoesNotExist 5 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
300 0x4006 FILS_FileAlreadyExists 6 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
301 0x4007 FILS_FileLocked 7 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
302 0x400a FILS_DirectoryDoesNotExist 10 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
303 0x400b FILS_DirectoryAlreadyExists 11 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
304 0x400c FILS_DirectoryNotEmpty 12 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
305 0x400f FILS_SequencePacketMissingWrite 15 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
306 0x4010 FILS_SequencePacketMissingRead 16 ../../fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
307 0x601 PP_DoItMyself 1 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
308 0x602 PP_PointsToVariable 2 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
309 0x603 PP_PointsToMemory 3 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
310 0x604 PP_ActivityCompleted 4 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
311 0x605 PP_PointsToVectorUint8 5 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
312 0x606 PP_PointsToVectorUint16 6 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
313 0x607 PP_PointsToVectorUint32 7 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
314 0x608 PP_PointsToVectorFloat 8 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
315 0x6a0 PP_DumpNotSupported 0xA0 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
316 0x6e0 PP_InvalidSize 0xE0 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
317 0x6e1 PP_InvalidAddress 0xE1 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
318 0x6e2 PP_InvalidContent 0xE2 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
319 0x6e3 PP_UnalignedAccess 0xE3 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
320 0x6e4 PP_WriteProtected 0xE4 ../../fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
321 0x13e0 MH_UnknownCmd 0xE0 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
322 0x13e1 MH_InvalidAddress 0xE1 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
323 0x13e2 MH_InvalidSize 0xE2 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
324 0x13e3 MH_StateMismatch 0xE3 ../../fsfw/memory/MemoryHelper.h MEMORY_HELPER
325 0x1201 AB_NeedSecondStep 0x01 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
326 0x1202 AB_NeedToReconfigure 0x02 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
327 0x1203 AB_ModeFallback 0x03 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
328 0x1204 AB_ChildNotCommandable 0x04 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
329 0x1205 AB_NeedToChangeHealth 0x05 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
330 0x12a1 AB_NotEnoughChildrenInCorrectState 0xa1 ../../fsfw/devicehandlers/AssemblyBase.h ASSEMBLY_BASE
331 0x3a0 DHB_InvalidChannel 0xA0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
332 0x3b0 DHB_AperiodicReply 0xB0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
333 0x3b1 DHB_IgnoreReplyData 0xB1 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
334 0x3b2 DHB_IgnoreFullPacket 0xB2 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
335 0x3c0 DHB_NothingToSend 0xC0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
336 0x3c2 DHB_CommandMapError 0xC2 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
337 0x3d0 DHB_NoSwitch 0xD0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
338 0x3e0 DHB_ChildTimeout 0xE0 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
339 0x3e1 DHB_SwitchFailed 0xE1 ../../fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
340 0x3301 DC_NoReplyReceived 0x01 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
341 0x3302 DC_ProtocolError 0x02 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
342 0x3303 DC_Nullpointer 0x03 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
343 0x3304 DC_InvalidCookieType 0x04 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
344 0x3305 DC_NotActive 0x05 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
345 0x3306 DC_TooMuchData 0x06 ../../fsfw/devicehandlers/DeviceCommunicationIF.h DEVICE_COMMUNICATION_IF
346 0x26a0 DHI_NoCommandData 0xA0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
347 0x26a1 DHI_CommandNotSupported 0xA1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
348 0x26a2 DHI_CommandAlreadySent 0xA2 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
349 0x26a3 DHI_CommandWasNotSent 0xA3 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
350 0x26a4 DHI_CantSwitchAddress 0xA4 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
351 0x26a5 DHI_WrongModeForCommand 0xA5 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
352 0x26a6 DHI_Timeout 0xA6 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
353 0x26a7 DHI_Busy 0xA7 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
354 0x26a8 DHI_NoReplyExpected 0xA8 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
355 0x26a9 DHI_NonOpTemperature 0xA9 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
356 0x26aa DHI_CommandNotImplemented 0xAA ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
357 0x26b0 DHI_ChecksumError 0xB0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
358 0x26b1 DHI_LengthMissmatch 0xB1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
359 0x26b2 DHI_InvalidData 0xB2 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
360 0x26b3 DHI_ProtocolError 0xB3 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
361 0x26c0 DHI_DeviceDidNotExecute 0xC0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
362 0x26c1 DHI_DeviceReportedError 0xC1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
363 0x26c2 DHI_UnknownDeviceReply 0xC2 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
364 0x26c3 DHI_DeviceReplyInvalid 0xC3 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
365 0x26d0 DHI_InvalidCommandParameter 0xD0 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
366 0x26d1 DHI_InvalidNumberOrLengthOfParameters 0xD1 ../../fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
367 0x1401 SE_BufferTooShort 1 ../../fsfw/serialize/SerializeIF.h SERIALIZE_IF
368 0x1402 SE_StreamTooShort 2 ../../fsfw/serialize/SerializeIF.h SERIALIZE_IF
369 0x1403 SE_TooManyElements 3 ../../fsfw/serialize/SerializeIF.h SERIALIZE_IF

View File

@ -16,10 +16,10 @@ import re
from enum import Enum from enum import Enum
from datetime import date from datetime import date
from fsfwgen.parserbase.parser import FileParser from parserbase.mib_parser import FileParser
from fsfwgen.utility.csv_writer import CsvWriter from utility.mib_csv_writer import CsvWriter
from fsfwgen.utility.printer import Printer from utility.mib_printer import Printer
from fsfwgen.utility.file_management import copy_file from utility.mib_file_management import copy_file
DATE_TODAY = date.today() DATE_TODAY = date.today()

View File

@ -1,7 +1,5 @@
import enum import enum
DATABASE_NAME = "fsfw_mod.db"
class BspSelect(enum.Enum): class BspSelect(enum.Enum):
BSP_HOSTED = enum.auto() BSP_HOSTED = enum.auto()

View File

@ -11,10 +11,10 @@
import re import re
from enum import Enum from enum import Enum
from fsfwgen.parserbase.file_list_parser import FileListParser from parserbase.mib_file_list_parser import FileListParser
from fsfwgen.parserbase.parser import FileParser from parserbase.mib_parser import FileParser
from fsfwgen.utility.csv_writer import CsvWriter from utility.mib_csv_writer import CsvWriter
from fsfwgen.utility.printer import Printer from utility.mib_printer import Printer
DH_COMMAND_PACKET_DEFINITION_DESTINATION = "../../mission/devices/devicepackets/" DH_COMMAND_PACKET_DEFINITION_DESTINATION = "../../mission/devices/devicepackets/"

View File

@ -11,15 +11,15 @@ On Windows, Build Tools installation might be necessary
""" """
import datetime import datetime
from fsfwgen.events.event_parser import handle_csv_export, handle_cpp_export, SubsystemDefinitionParser, EventParser from modgen.events.event_parser import handle_csv_export, handle_cpp_export, SubsystemDefinitionParser, EventParser
from fsfwgen.parserbase.file_list_parser import FileListParser from modgen.parserbase.file_list_parser import FileListParser
from fsfwgen.utility.printer import PrettyPrinter from modgen.utility.mib_printer import PrettyPrinter
from fsfwgen.utility.file_management import copy_file, move_file
from definitions import BspSelect, BspFolderDict from definitions import BspSelect, BspFolderDict
from utility.mib_file_management import copy_file, move_file
# TODO: Ask from user or store in json file? # TODO: Ask from user or store in json file?
BSP_SELECT = BspSelect.BSP_LINUX.value BSP_SELECT = BspSelect.BSP_HOSTED.value
BSP_FOLDER = BspFolderDict[BSP_SELECT] BSP_FOLDER = BspFolderDict[BSP_SELECT]
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")
@ -33,7 +33,7 @@ MOVE_CSV_FILE = True
PARSE_HOST_BSP = True PARSE_HOST_BSP = True
CSV_FILENAME = f"{BSP_FOLDER}_events.csv" CSV_FILENAME = "mib_events.csv"
CSV_MOVE_DESTINATION = "../" CSV_MOVE_DESTINATION = "../"
CPP_FILENAME = "translateEvents.cpp" CPP_FILENAME = "translateEvents.cpp"
@ -44,10 +44,8 @@ CPP_COPY_DESTINATION = f"../../{BSP_FOLDER}/fsfwconfig/events/"
FILE_SEPARATOR = ";" FILE_SEPARATOR = ";"
SUBSYSTEM_DEFINITION_DESTINATIONS = [ SUBSYSTEM_DEFINITION_DESTINATIONS = [
f"../../{BSP_FOLDER}/fsfwconfig/events/subsystemIdRanges.h", f"../../{BSP_FOLDER}/fsfwconfig/events/subsystemIdRanges.h",
"../../fsfw/events/fwSubsystemIdRanges.h", "../../fsfw/events/fwSubsystemIdRanges.h"
"../../common/config/commonSubsystemIds.h"
] ]
HEADER_DEFINITION_DESTINATIONS = ["../../mission/", "../../fsfw/", f"../../{BSP_FOLDER}", "../../test/"] HEADER_DEFINITION_DESTINATIONS = ["../../mission/", "../../fsfw/", f"../../{BSP_FOLDER}", "../../test/"]

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 78 translations. * @brief Auto-generated event translation file. Contains 78 translations.
* @details * @details
* Generated on: 2021-05-28 18:21:48 * Generated on: 2021-05-14 11:51:26
*/ */
#include "translateEvents.h" #include "translateEvents.h"

@ -1 +0,0 @@
Subproject commit fa507cc4f7b947cd9e4de30e9be6167ff1c15ec7

View File

@ -69,7 +69,7 @@ from devicecommands.mib_device_command_parser import (
SQL_INSERT_INTO_CMDTABLE_CMD, SQL_INSERT_INTO_CMDTABLE_CMD,
SQL_DELETE_CMDTABLE_CMD SQL_DELETE_CMDTABLE_CMD
) )
from returnvalues.returnvalues_parser import ( from returnvalues.mib_returnvalues import (
InterfaceParser, InterfaceParser,
ReturnValueParser, ReturnValueParser,
INTERFACE_DEFINITION_FILES, INTERFACE_DEFINITION_FILES,
@ -77,7 +77,7 @@ from returnvalues.returnvalues_parser import (
sql_retval_exporter, sql_retval_exporter,
CSV_RETVAL_FILENAME CSV_RETVAL_FILENAME
) )
from objects.objects import ( from objects.mib_objects import (
ObjectDefinitionParser, ObjectDefinitionParser,
OBJECTS_DEFINITIONS, OBJECTS_DEFINITIONS,
export_object_file, export_object_file,
@ -295,7 +295,6 @@ def handle_objects_generation():
def handle_events_generation(): def handle_events_generation():
pass pass
def destination_corrected(destination_string): def destination_corrected(destination_string):
""" """
If headers are parsed here instead of the respective subdirectories, If headers are parsed here instead of the respective subdirectories,

1
generators/modgen Submodule

@ -0,0 +1 @@
Subproject commit d9beb68bd9d1a1e6015e4979d547a762d199bff7

View File

@ -0,0 +1,150 @@
#! /usr/bin/python3.8
"""
@file mib_objects.py
@brief Part of the Mission Information Base Exporter for the SOURCE project by KSat.
@details
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 re
import datetime
from utility.mib_csv_writer import CsvWriter
from utility.mib_printer import PrettyPrinter
from utility.mib_file_management import copy_file
from parserbase.mib_parser import FileParser
from utility.mib_sql_writer import SqlWriter, SQL_DATABASE_NAME
DATE_TODAY = datetime.datetime.now()
DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S")
GENERATE_CSV = True
MOVE_CSV = True
GENERATE_CPP = True
COPY_CPP = True
EXPORT_TO_SQL = True
CPP_COPY_DESTINATION = "../../config/objects/"
CSV_MOVE_DESTINATION = "../"
CPP_FILENAME = "translateObjects.cpp"
CSV_OBJECT_FILENAME = "mib_objects.csv"
FILE_SEPARATOR = ";"
SUBSYSTEM_DEFINITION_DESTINATION = "../../config/objects/systemObjectList.h"
FRAMEWORK_SUBSYSTEM_DEFINITION_DESTINATION = "../../fsfw/objectmanager/frameworkObjects.h"
OBJECTS_DEFINITIONS = [SUBSYSTEM_DEFINITION_DESTINATION, FRAMEWORK_SUBSYSTEM_DEFINITION_DESTINATION]
SQL_DELETE_OBJECTS_CMD = """
DROP TABLE IF EXISTS Objects
"""
SQL_CREATE_OBJECTS_CMD = """
CREATE TABLE IF NOT EXISTS Objects(
id INTEGER PRIMARY KEY,
objectid TEXT,
name TEXT
)
"""
SQL_INSERT_INTO_OBJECTS_CMD = """
INSERT INTO Objects(objectid, name)
VALUES(?,?)
"""
def main():
print("Parsing objects: ")
list_items = parse_objects()
handle_file_export(list_items)
if EXPORT_TO_SQL:
print("ObjectParser: Exporting to SQL")
sql_object_exporter(list_items, "../" + SQL_DATABASE_NAME)
def parse_objects():
# fetch objects
object_parser = ObjectDefinitionParser(OBJECTS_DEFINITIONS)
subsystem_definitions = object_parser.parse_files()
# id_subsystem_definitions.update(framework_subsystem_definitions)
list_items = sorted(subsystem_definitions.items())
PrettyPrinter.pprint(list_items)
print("ObjectParser: Number of objects: ", len(list_items))
return list_items
def handle_file_export(list_items):
csv_writer = CsvWriter(CSV_OBJECT_FILENAME)
if GENERATE_CPP:
print("ObjectParser: Generating translation C++ file.")
write_translation_file(CPP_FILENAME, list_items)
if COPY_CPP:
print("ObjectParser: Copying object file to " + CPP_COPY_DESTINATION)
copy_file(CPP_FILENAME, CPP_COPY_DESTINATION)
if GENERATE_CSV:
print("ObjectParser: Generating text export.")
export_object_file(CSV_OBJECT_FILENAME, list_items)
if MOVE_CSV:
csv_writer.move_csv(CSV_MOVE_DESTINATION)
class ObjectDefinitionParser(FileParser):
def __init__(self, file_list: list):
super().__init__(file_list)
def _handle_file_parsing(self, file_name: str, *args, **kwargs):
file = open(file_name, "r", encoding="utf-8")
for line in file.readlines():
match = re.search('([\w]*)[\s]*=[\s]*(0[xX][0-9a-fA-F]+)', line)
if match:
self.mib_table.update({match.group(2): [match.group(1)]})
def _post_parsing_operation(self):
pass
def export_object_file(filename, object_list):
file = open(filename, "w")
for entry in object_list:
file.write(str(entry[0]) + FILE_SEPARATOR + entry[1][0] + '\n')
file.close()
def write_translation_file(filename, list_of_entries):
outputfile = open(filename, "w")
print('ObjectParser: Writing translation file ' + filename)
definitions = ""
function = "const char* translateObject(object_id_t object){\n\tswitch((object&0xFFFFFFFF)){\n"
for entry in list_of_entries:
# first part of translate file
definitions += "const char *" + entry[1][0] + "_STRING = \"" + entry[1][0] + "\";\n"
# second part of translate file. entry[i] contains 32 bit hexadecimal numbers
function += "\t\tcase " + str(entry[0]) + ":\n\t\t\treturn " + entry[1][0] + "_STRING;\n"
function += '\t\tdefault:\n\t\t\treturn "UNKNOWN_OBJECT";\n'
outputfile.write("/** \n * @brief\tAuto-generated object translation file. Contains "
+ str(len(list_of_entries)) + " translations. \n"
" * Generated on: " + DATE_STRING_FULL + "\n **/ \n")
outputfile.write("#include \"translateObjects.h\"\n\n")
outputfile.write(definitions + "\n" + function + "\t}\n\treturn 0;\n}\n")
outputfile.close()
def sql_object_exporter(object_table: list, sql_table: str = SQL_DATABASE_NAME):
sql_writer = SqlWriter(sql_table)
sql_writer.delete(SQL_DELETE_OBJECTS_CMD)
sql_writer.open(SQL_CREATE_OBJECTS_CMD)
for entry in object_table:
sql_writer.write_entries(
SQL_INSERT_INTO_OBJECTS_CMD, (entry[0], entry[1][0]))
sql_writer.commit()
sql_writer.close()
if __name__ == "__main__":
main()

View File

@ -1,109 +0,0 @@
#! /usr/bin/env python3
"""
@file objects.py
@brief Part of the Mission Information Base Exporter for the SOURCE project by KSat.
@details
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
from fsfwgen.objects.objects import ObjectDefinitionParser, sql_object_exporter, write_translation_file, \
export_object_file, write_translation_header_file
from fsfwgen.utility.printer import PrettyPrinter
from fsfwgen.utility.file_management import copy_file, move_file
from definitions import DATABASE_NAME, BspSelect, BspFolderDict
DATE_TODAY = datetime.datetime.now()
DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S")
GENERATE_CSV = True
MOVE_CSV = True
GENERATE_CPP = True
COPY_CPP = True
GENERATE_HEADER = True
PARSE_HOST_BSP = False
EXPORT_TO_SQL = True
BSP_SELECT = BspSelect.BSP_HOSTED.value
BSP_FOLDER = BspFolderDict[BSP_SELECT]
CPP_COPY_DESTINATION = f"../../{BSP_FOLDER}/fsfwconfig/objects/"
CSV_MOVE_DESTINATION = "../"
CPP_FILENAME = "translateObjects.cpp"
CPP_H_FILENAME = "translateObjects.h"
CSV_OBJECT_FILENAME = f"{BSP_FOLDER}_objects.csv"
FILE_SEPARATOR = ";"
OBJECTS_PATH = f"../../{BSP_FOLDER}/fsfwconfig/objects/systemObjectList.h"
FRAMEWORK_OBJECTS_PATH = "../../fsfw/objectmanager/frameworkObjects.h"
COMMON_OBJECTS_PATH = "../../common/config/commonSystemObjects.h"
OBJECTS_DEFINITIONS = [OBJECTS_PATH, FRAMEWORK_OBJECTS_PATH, COMMON_OBJECTS_PATH]
SQL_DELETE_OBJECTS_CMD = """
DROP TABLE IF EXISTS Objects
"""
SQL_CREATE_OBJECTS_CMD = """
CREATE TABLE IF NOT EXISTS Objects(
id INTEGER PRIMARY KEY,
objectid TEXT,
name TEXT
)
"""
SQL_INSERT_INTO_OBJECTS_CMD = """
INSERT INTO Objects(objectid, name)
VALUES(?,?)
"""
def main():
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
object_parser = ObjectDefinitionParser(OBJECTS_DEFINITIONS)
subsystem_definitions = object_parser.parse_files()
# id_subsystem_definitions.update(framework_subsystem_definitions)
list_items = sorted(subsystem_definitions.items())
PrettyPrinter.pprint(list_items)
print("ObjectParser: Number of objects: ", len(list_items))
return list_items
def handle_file_export(list_items):
if GENERATE_CPP:
print("ObjectParser: Generating translation C++ file.")
write_translation_file(filename=CPP_FILENAME, list_of_entries=list_items, date_string_full=DATE_STRING_FULL)
if COPY_CPP:
print("ObjectParser: Copying object file to " + CPP_COPY_DESTINATION)
copy_file(CPP_FILENAME, CPP_COPY_DESTINATION)
if GENERATE_HEADER:
write_translation_header_file(filename=CPP_H_FILENAME)
copy_file(filename=CPP_H_FILENAME, destination=CPP_COPY_DESTINATION)
if GENERATE_CSV:
print("ObjectParser: Generating text export.")
export_object_file(filename=CSV_OBJECT_FILENAME, object_list=list_items, file_separator=FILE_SEPARATOR)
if MOVE_CSV:
move_file(file_name=CSV_OBJECT_FILENAME, destination=CSV_MOVE_DESTINATION)
if __name__ == "__main__":
main()

View File

@ -1,27 +1,33 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file. Contains 34 translations.
* @details * Generated on: 2020-09-30 15:21:42
* Contains 37 translations. **/
* Generated on: 2021-05-28 18:12:56
*/
#include "translateObjects.h" #include "translateObjects.h"
const char *TEST_ASSEMBLY_STRING = "TEST_ASSEMBLY"; const char *DUMMY1_STRING = "DUMMY1";
const char *TEST_CONTROLLER_STRING = "TEST_CONTROLLER"; const char *DUMMY2_STRING = "DUMMY2";
const char *TEST_DEVICE_HANDLER_0_STRING = "TEST_DEVICE_HANDLER_0"; const char *DUMMY3_STRING = "DUMMY3";
const char *TEST_DEVICE_HANDLER_1_STRING = "TEST_DEVICE_HANDLER_1"; const char *DUMMY4_STRING = "DUMMY4";
const char *DUMMY5_STRING = "DUMMY5";
const char *DUMMY6_STRING = "DUMMY6";
const char *DUMMY7_STRING = "DUMMY7";
const char *DUMMY8_STRING = "DUMMY8";
const char *TIME_STAMPER_STRING = "TIME_STAMPER";
const char *SOFTWARE_STRING = "SOFTWARE";
const char *CCSDS_DISTRIBUTOR_STRING = "CCSDS_DISTRIBUTOR";
const char *PUS_DISTRIBUTOR_STRING = "PUS_DISTRIBUTOR";
const char *TEST_DEVICE_HANDLER_STRING = "TEST_DEVICE_HANDLER";
const char *TEST_ECHO_COM_IF_STRING = "TEST_ECHO_COM_IF"; const char *TEST_ECHO_COM_IF_STRING = "TEST_ECHO_COM_IF";
const char *FSFW_OBJECTS_START_STRING = "FSFW_OBJECTS_START"; const char *UDP_BRIDGE_STRING = "UDP_BRIDGE";
const char *UDP_POLLING_TASK_STRING = "UDP_POLLING_TASK";
const char *TM_FUNNEL_STRING = "TM_FUNNEL";
const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION"; const char *PUS_SERVICE_1_VERIFICATION_STRING = "PUS_SERVICE_1_VERIFICATION";
const char *PUS_SERVICE_2_DEVICE_ACCESS_STRING = "PUS_SERVICE_2_DEVICE_ACCESS"; const char *PUS_SERVICE_2_DEVICE_ACCESS_STRING = "PUS_SERVICE_2_DEVICE_ACCESS";
const char *PUS_SERVICE_3_HOUSEKEEPING_STRING = "PUS_SERVICE_3_HOUSEKEEPING";
const char *PUS_SERVICE_5_EVENT_REPORTING_STRING = "PUS_SERVICE_5_EVENT_REPORTING"; const char *PUS_SERVICE_5_EVENT_REPORTING_STRING = "PUS_SERVICE_5_EVENT_REPORTING";
const char *PUS_SERVICE_8_FUNCTION_MGMT_STRING = "PUS_SERVICE_8_FUNCTION_MGMT"; const char *PUS_SERVICE_8_FUNCTION_MGMT_STRING = "PUS_SERVICE_8_FUNCTION_MGMT";
const char *PUS_SERVICE_9_TIME_MGMT_STRING = "PUS_SERVICE_9_TIME_MGMT"; const char *PUS_SERVICE_9_TIME_MGMT_STRING = "PUS_SERVICE_9_TIME_MGMT";
const char *PUS_SERVICE_17_TEST_STRING = "PUS_SERVICE_17_TEST"; const char *PUS_SERVICE_17_TEST_STRING = "PUS_SERVICE_17_TEST";
const char *PUS_SERVICE_20_PARAMETERS_STRING = "PUS_SERVICE_20_PARAMETERS";
const char *PUS_SERVICE_200_MODE_MGMT_STRING = "PUS_SERVICE_200_MODE_MGMT"; const char *PUS_SERVICE_200_MODE_MGMT_STRING = "PUS_SERVICE_200_MODE_MGMT";
const char *PUS_SERVICE_201_HEALTH_STRING = "PUS_SERVICE_201_HEALTH";
const char *HEALTH_TABLE_STRING = "HEALTH_TABLE"; const char *HEALTH_TABLE_STRING = "HEALTH_TABLE";
const char *MODE_STORE_STRING = "MODE_STORE"; const char *MODE_STORE_STRING = "MODE_STORE";
const char *EVENT_MANAGER_STRING = "EVENT_MANAGER"; const char *EVENT_MANAGER_STRING = "EVENT_MANAGER";
@ -29,99 +35,82 @@ const char *INTERNAL_ERROR_REPORTER_STRING = "INTERNAL_ERROR_REPORTER";
const char *TC_STORE_STRING = "TC_STORE"; const char *TC_STORE_STRING = "TC_STORE";
const char *TM_STORE_STRING = "TM_STORE"; const char *TM_STORE_STRING = "TM_STORE";
const char *IPC_STORE_STRING = "IPC_STORE"; const char *IPC_STORE_STRING = "IPC_STORE";
const char *TIME_STAMPER_STRING = "TIME_STAMPER"; const char *DUMMY_CONTROLLER_STRING = "DUMMY_CONTROLLER";
const char *FSFW_OBJECTS_END_STRING = "FSFW_OBJECTS_END"; const char *DUMMY_ASS_STRING = "DUMMY_ASS";
const char *UDP_BRIDGE_STRING = "UDP_BRIDGE";
const char *UDP_POLLING_TASK_STRING = "UDP_POLLING_TASK";
const char *CCSDS_DISTRIBUTOR_STRING = "CCSDS_DISTRIBUTOR";
const char *PUS_DISTRIBUTOR_STRING = "PUS_DISTRIBUTOR";
const char *TM_FUNNEL_STRING = "TM_FUNNEL";
const char *TEST_DUMMY_1_STRING = "TEST_DUMMY_1";
const char *TEST_DUMMY_2_STRING = "TEST_DUMMY_2";
const char *TEST_DUMMY_3_STRING = "TEST_DUMMY_3";
const char *TEST_DUMMY_4_STRING = "TEST_DUMMY_4";
const char *TEST_DUMMY_5_STRING = "TEST_DUMMY_5";
const char *TEST_TASK_STRING = "TEST_TASK";
const char *NO_OBJECT_STRING = "NO_OBJECT"; const char *NO_OBJECT_STRING = "NO_OBJECT";
const char* translateObject(object_id_t object) { const char* translateObject(object_id_t object){
switch( (object & 0xFFFFFFFF) ) { switch((object&0xFFFFFFFF)){
case 0x4100CAFE: case 0x01:
return TEST_ASSEMBLY_STRING; return DUMMY1_STRING;
case 0x4301CAFE: case 0x02:
return TEST_CONTROLLER_STRING; return DUMMY2_STRING;
case 0x4401AFFE: case 0x03:
return TEST_DEVICE_HANDLER_0_STRING; return DUMMY3_STRING;
case 0x4402AFFE: case 0x04:
return TEST_DEVICE_HANDLER_1_STRING; return DUMMY4_STRING;
case 0x4900AFFE: case 0x05:
return TEST_ECHO_COM_IF_STRING; return DUMMY5_STRING;
case 0x53000000: case 0x06:
return FSFW_OBJECTS_START_STRING; return DUMMY6_STRING;
case 0x53000001: case 0x07:
return PUS_SERVICE_1_VERIFICATION_STRING; return DUMMY7_STRING;
case 0x53000002: case 0x08:
return PUS_SERVICE_2_DEVICE_ACCESS_STRING; return DUMMY8_STRING;
case 0x53000003: case 0x09:
return PUS_SERVICE_3_HOUSEKEEPING_STRING; return TIME_STAMPER_STRING;
case 0x53000005: case 0x1:
return PUS_SERVICE_5_EVENT_REPORTING_STRING; return SOFTWARE_STRING;
case 0x53000008: case 0x10:
return PUS_SERVICE_8_FUNCTION_MGMT_STRING; return CCSDS_DISTRIBUTOR_STRING;
case 0x53000009: case 0x11:
return PUS_SERVICE_9_TIME_MGMT_STRING; return PUS_DISTRIBUTOR_STRING;
case 0x53000017: case 0x4400AFFE:
return PUS_SERVICE_17_TEST_STRING; return TEST_DEVICE_HANDLER_STRING;
case 0x53000020: case 0x4900AFFE:
return PUS_SERVICE_20_PARAMETERS_STRING; return TEST_ECHO_COM_IF_STRING;
case 0x53000200: case 0x50000300:
return PUS_SERVICE_200_MODE_MGMT_STRING; return UDP_BRIDGE_STRING;
case 0x53000201: case 0x50000400:
return PUS_SERVICE_201_HEALTH_STRING; return UDP_POLLING_TASK_STRING;
case 0x53010000: case 0x50000500:
return HEALTH_TABLE_STRING; return TM_FUNNEL_STRING;
case 0x53010100: case 0x53000001:
return MODE_STORE_STRING; return PUS_SERVICE_1_VERIFICATION_STRING;
case 0x53030000: case 0x53000002:
return EVENT_MANAGER_STRING; return PUS_SERVICE_2_DEVICE_ACCESS_STRING;
case 0x53040000: case 0x53000005:
return INTERNAL_ERROR_REPORTER_STRING; return PUS_SERVICE_5_EVENT_REPORTING_STRING;
case 0x534f0100: case 0x53000008:
return TC_STORE_STRING; return PUS_SERVICE_8_FUNCTION_MGMT_STRING;
case 0x534f0200: case 0x53000009:
return TM_STORE_STRING; return PUS_SERVICE_9_TIME_MGMT_STRING;
case 0x534f0300: case 0x53000017:
return IPC_STORE_STRING; return PUS_SERVICE_17_TEST_STRING;
case 0x53500010: case 0x53000200:
return TIME_STAMPER_STRING; return PUS_SERVICE_200_MODE_MGMT_STRING;
case 0x53ffffff: case 0x53010000:
return FSFW_OBJECTS_END_STRING; return HEALTH_TABLE_STRING;
case 0x62000300: case 0x53010100:
return UDP_BRIDGE_STRING; return MODE_STORE_STRING;
case 0x62000400: case 0x53030000:
return UDP_POLLING_TASK_STRING; return EVENT_MANAGER_STRING;
case 0x63000000: case 0x53040000:
return CCSDS_DISTRIBUTOR_STRING; return INTERNAL_ERROR_REPORTER_STRING;
case 0x63000001: case 0x534f0100:
return PUS_DISTRIBUTOR_STRING; return TC_STORE_STRING;
case 0x63000002: case 0x534f0200:
return TM_FUNNEL_STRING; return TM_STORE_STRING;
case 0x74000001: case 0x534f0300:
return TEST_DUMMY_1_STRING; return IPC_STORE_STRING;
case 0x74000002: case 0xCAFEAFFE:
return TEST_DUMMY_2_STRING; return DUMMY_CONTROLLER_STRING;
case 0x74000003: case 0xCAFECAFE:
return TEST_DUMMY_3_STRING; return DUMMY_ASS_STRING;
case 0x74000004: case 0xFFFFFFFF:
return TEST_DUMMY_4_STRING; return NO_OBJECT_STRING;
case 0x74000005: default:
return TEST_DUMMY_5_STRING; return "UNKNOWN_OBJECT";
case 0x7400CAFE:
return TEST_TASK_STRING;
case 0xFFFFFFFF:
return NO_OBJECT_STRING;
default:
return "UNKNOWN_OBJECT";
} }
return 0; return 0;
} }

View File

@ -1,8 +0,0 @@
#ifndef FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_
#define FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_
#include <fsfw/objectmanager/SystemObjectIF.h>
const char* translateObject(object_id_t object);
#endif /* FSFWCONFIG_OBJECTS_TRANSLATEOBJECTS_H_ */

View File

View File

@ -0,0 +1,71 @@
"""
@file mib_file_list_parser.py
@brief Generic File Parser class
@details
Used by parse header files. Implemented as class in case header parser becomes more complex
@author R. Mueller
@date 22.11.2019
"""
import os
import re
from typing import Union
# pylint: disable=too-few-public-methods
class FileListParser:
"""
Generic header parser which takes a directory name or directory name list
and parses all included header files recursively.
"""
def __init__(self, directory_list_or_name: Union[str, list]):
if isinstance(directory_list_or_name, str):
self.directory_list = [directory_list_or_name]
elif isinstance(directory_list_or_name, list):
self.directory_list = directory_list_or_name
else:
print("Header Parser: Passed directory list is not a header name or list of "
"header names")
self.header_files = []
def parse_header_files(self, search_recursively: bool = False,
printout_string: str = "Parsing header files: ",
print_current_dir: bool = False):
"""
This function is called to get a list of header files
:param search_recursively:
:param printout_string:
:param print_current_dir:
:return:
"""
print(printout_string, end="")
for directory in self.directory_list:
self.__get_header_file_list(directory, search_recursively, print_current_dir)
print(str(len(self.header_files)) + " header files were found.")
# g.PP.pprint(self.header_files)
return self.header_files
def __get_header_file_list(self, base_directory: str, seach_recursively: bool = False,
print_current_dir: bool = False):
if base_directory[-1] != '/':
base_directory += '/'
local_header_files = []
if print_current_dir:
print("Parsing header files in: " + base_directory)
base_list = os.listdir(base_directory)
# g.PP.pprint(base_list)
for entry in base_list:
header_file_match = re.match(r"[_.]*.*\.h", entry)
if header_file_match:
if os.path.isfile(base_directory + entry):
match_string = header_file_match.group(0)
if match_string[0] == '.' or match_string[0] == '_':
pass
else:
local_header_files.append(base_directory + entry)
if seach_recursively:
next_path = base_directory + entry
if os.path.isdir(next_path):
self.__get_header_file_list(next_path, seach_recursively)
# print("Files found in: " + base_directory)
# g.PP.pprint(local_header_files)
self.header_files.extend(local_header_files)

View File

@ -0,0 +1,71 @@
#! /usr/bin/python3.7
"""
@file
mib_packet_content_parser.py
@brief
Generic File Parser class
@details
Used by the MIB Exporter. There are two functions which can be implemented by child class.
Default implementations are empty
1. handleFileParsing(...) which handles the parsing of one file
2. updateTableEntries(...) After all files have been parsed, the table can
be updated by imlementing this function
A file list to parse must be supplied.
Child classes fill out the MIB table (self.mib_table)
@author
R. Mueller
@date
14.11.2019
"""
from abc import abstractmethod
from typing import Dict
class FileParser:
"""
This parent class gathers common file parser operations into a super class.
Everything else needs to be implemented by child classes
(e.g. which strings to parse for or operations to take after file parsing has finished)
"""
def __init__(self, file_list):
if len(file_list) == 0:
print("File list is empty !")
self.file_list_empty = True
else:
self.file_list_empty = False
self.file_list = file_list
# Can be used to have unique key in MIB tables
self.index = 0
# Initialize empty MIB table which will be filled by specific parser implementation
self.mib_table = dict()
def parse_files(self, *args: any, **kwargs) -> Dict:
"""
Core method which is called to parse the files
:param args: Optional positional arguments. Passed on the file parser
:param kwargs: Optional keyword arguments. Passed on to file parser
:return:
"""
if not self.file_list_empty:
for file_name in self.file_list:
# Implemented by child class ! Fill out info table (self.mib_table) in this routine
self._handle_file_parsing(file_name, *args, **kwargs)
# Can be implemented by child class to edit the table after it is finished.
# default implementation is empty
self._post_parsing_operation()
return self.mib_table
# Implemented by child class ! Fill out info table (self.mib_table) in this routine
@abstractmethod
def _handle_file_parsing(self, file_name: str, *args, **kwargs):
pass
@abstractmethod
def _post_parsing_operation(self):
"""
# Can be implemented by child class to perform post parsing operations (e.g. setting a
flag or editting MIB table entries)
:return:
"""

View File

@ -0,0 +1,331 @@
#! /usr/bin/python3.8
"""
@file
mib_returnvalues.py
@brief
Part of the Mission Information Base Exporter for the SOURCE project by KSat.
TODO: Integrate into Parser Structure instead of calling this file (no cpp file generated yet)
@details
Returnvalue 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 re
# import getpass
# import MySQLdb
from parserbase.mib_parser import FileParser
from parserbase.mib_file_list_parser import FileListParser
from utility.mib_csv_writer import CsvWriter
from utility.mib_printer import Printer, PrettyPrinter
from utility.mib_sql_writer import SqlWriter
EXPORT_TO_FILE = True
MOVE_CSV_FILE = True
EXPORT_TO_SQL = True
PRINT_TABLES = True
CSV_RETVAL_FILENAME = "mib_returnvalues.csv"
CSV_MOVE_DESTINATION = "../"
FILE_SEPARATOR = ';'
MAX_STRING_LENGTH = 32
INTERFACE_DEFINITION_FILES = ["../../fsfw/returnvalues/FwClassIds.h",
"../../config/returnvalues/classIds.h"]
RETURNVALUE_DESTINATIONS = ["../../mission/", "../../fsfw/", "../../config/"]
SQL_DELETE_RETURNVALUES_CMD = """
DROP TABLE IF EXISTS Returnvalues
"""
SQL_CREATE_RETURNVALUES_CMD = """
CREATE TABLE IF NOT EXISTS Returnvalues (
id INTEGER PRIMARY KEY,
code TEXT,
name TEXT,
interface TEXT,
file TEXT,
description TEXT
)
"""
SQL_INSERT_RETURNVALUES_CMD = """
INSERT INTO Returnvalues(code,name,interface,file,description)
VALUES(?,?,?,?,?)
"""
def main():
returnvalue_table = parse_returnvalues()
if EXPORT_TO_FILE:
ReturnValueParser.export_to_file(CSV_RETVAL_FILENAME, returnvalue_table)
if MOVE_CSV_FILE:
handle_file_move(CSV_MOVE_DESTINATION)
if EXPORT_TO_SQL:
pass
# print("ReturnvalueParser: Exporting to SQL")
# sql_retval_exporter(returnvalue_table)
def parse_returnvalues():
""" Core function to parse for the return values """
interface_parser = InterfaceParser(INTERFACE_DEFINITION_FILES, PRINT_TABLES)
interfaces = interface_parser.parse_files()
header_parser = FileListParser(RETURNVALUE_DESTINATIONS)
header_list = header_parser.parse_header_files(True, "Parsing header file list: ")
returnvalue_parser = ReturnValueParser(interfaces, header_list, PRINT_TABLES)
returnvalue_table = returnvalue_parser.parse_files(True)
if PRINT_TABLES:
Printer.print_content(returnvalue_table, "Returnvalue Table: ")
print("ReturnvalueParser: "
"Found " + str(len(returnvalue_table)) + " returnvalues.")
return returnvalue_table
def handle_file_move(destination: str):
""" Handles moving the CSV file somewhere """
csv_writer = CsvWriter(CSV_RETVAL_FILENAME)
if MOVE_CSV_FILE:
csv_writer.move_csv(destination)
class InterfaceParser(FileParser):
def __init__(self, file_list, print_table):
super().__init__(file_list)
self.count = 0
self.print_table = print_table
def _handle_file_parsing(self, file_name: str, *args, **kwargs):
try:
file = open(file_name, 'r', encoding='utf-8')
all_lines = file.readlines()
except UnicodeDecodeError:
file = open(file_name, 'r', encoding='cp1252')
all_lines = file.readlines()
if "FwClassIds.h" in file_name:
count_matched = False
# Parses first entry, which has explicit value 1
for line in all_lines:
if not count_matched:
match = re.search(r'[\s]*([A-Z_0-9]*) = ([0-9]*),[\s]*//([A-Z]{1,3})', line)
else:
match = re.search(r'[\s]*([A-Z_0-9]*),[\s]*//([A-Z]{1,3})', line)
if match and not count_matched:
self.count = int(match.group(2))
self.mib_table.update({match.group(1): [1, match.group(3)]})
self.count += 1
count_matched = True
elif match:
self.mib_table.update({match.group(1): [self.count, match.group(2)]})
self.count += 1
elif "classIds.h" in file_name:
file = open(file_name, "r")
all_lines = file.readlines()
for line in all_lines:
match = re.search(r'[\s]*([\w]*) = FW_CLASS_ID_COUNT,[\s]*(//([A-Z]{1,3}))?', line)
if match:
self.mib_table.update({match.group(1): [self.count, match.group(2)]})
self.count += 1
for line in all_lines:
match = re.search(r'^[\s]*([\w]*)[,]*[\s]*//[!<]*[\s]*([^\n]*)', line)
if match:
self.mib_table.update({match.group(1): [self.count, match.group(2)]})
self.count += 1
def _post_parsing_operation(self):
if self.print_table:
PrettyPrinter.pprint(self.mib_table)
class ReturnValueParser(FileParser):
"""
Generic return value parser.
"""
def __init__(self, interfaces, file_list, print_tables):
super().__init__(file_list)
self.print_tables = print_tables
self.interfaces = interfaces
self.return_value_dict = dict()
self.count = 0
# Stores last three lines
self.last_lines = ["", "", ""]
self.current_interface_id_entries = {
"Name": "",
"ID": 0,
"FullName": ""
}
self.return_value_dict.update({0: ('OK', 'System-wide code for ok.', 'RETURN_OK',
'HasReturnvaluesIF.h', 'HasReturnvaluesIF')})
self.return_value_dict.update({1: ('Failed', 'Unspecified system-wide code for failed.',
'RETURN_FAILED', 'HasReturnvaluesIF.h',
'HasReturnvaluesIF')})
def _handle_file_parsing(self, file_name: str, *args, **kwargs):
try:
file = open(file_name, 'r', encoding='utf-8')
all_lines = file.readlines()
except UnicodeDecodeError:
print("ReturnValueParser: Decoding error with file " + file_name)
file = open(file_name, 'r', encoding='cp1252')
all_lines = file.readlines()
if len(args) == 1:
print_truncated_entries = args[0]
else:
print_truncated_entries = False
for line in all_lines:
self.__handle_line_reading(line, file_name, print_truncated_entries)
def __handle_line_reading(self, line, file_name, print_truncated_entries: bool):
newline = line
if self.last_lines[0] != '\n':
two_lines = self.last_lines[0] + ' ' + newline.strip()
else:
two_lines = ''
interface_id_match = re.search(r'INTERFACE_ID[\s]*=[\s]*CLASS_ID::([a-zA-Z_0-9]*)',
two_lines)
if interface_id_match:
self.__handle_interfaceid_match(interface_id_match)
returnvalue_match = re.search(
r'^[\s]*static const(?:expr)? ReturnValue_t[\s]*([a-zA-Z_0-9]*)[\s]*=[\s]*'
r'MAKE_RETURN_CODE[\s]*\([\s]*([x0-9a-fA-F]{1,4})[\s]*\);[\t ]*(//)?([^\n]*)',
two_lines)
if returnvalue_match:
self.__handle_returnvalue_match(returnvalue_match, file_name, print_truncated_entries)
self.last_lines[1] = self.last_lines[0]
self.last_lines[0] = newline
def __handle_interfaceid_match(self, interface_id_match):
# print("Interface ID" + str(match1.group(1)) + "found in " + fileName)
self.current_interface_id_entries["ID"] = \
self.interfaces[interface_id_match.group(1)][0]
self.current_interface_id_entries["Name"] = \
self.interfaces[interface_id_match.group(1)][1]
self.current_interface_id_entries["FullName"] = interface_id_match.group(1)
# print( "Current ID: " + str(self.current_interface_id_entries["ID"]) )
def __handle_returnvalue_match(self, returnvalue_match, file_name: str,
print_truc_entries: bool):
# valueTable.append([])
description = self.clean_up_description(returnvalue_match.group(4))
string_to_add = self.build_checked_string(
self.current_interface_id_entries["Name"], returnvalue_match.group(1),
print_truc_entries)
full_id = (self.current_interface_id_entries["ID"] << 8) + return_number_from_string(
returnvalue_match.group(2))
if full_id in self.return_value_dict:
# print('Duplicate returncode ' + hex(full_id) + ' from ' + file_name +
# ' was already in ' + self.return_value_dict[full_id][3])
pass
self.return_value_dict.update(
{full_id: (string_to_add, description, returnvalue_match.group(1),
file_name, self.current_interface_id_entries["FullName"])})
# valueTable[count].append(fullId)
# valueTable[count].append(stringToAdd)
self.count = self.count + 1
def _post_parsing_operation(self):
if self.print_tables:
PrettyPrinter.pprint(self.return_value_dict)
self.mib_table = self.return_value_dict
@staticmethod
def export_to_file(filename: str, list_of_entries: dict):
file = open(filename, "w")
for entry in list_of_entries.items():
file.write(hex(entry[0]) + FILE_SEPARATOR + entry[1][0] + FILE_SEPARATOR + entry[1][1] +
FILE_SEPARATOR + entry[1][2] + FILE_SEPARATOR
+ entry[1][3] + FILE_SEPARATOR + entry[1][4] + '\n')
file.close()
def build_checked_string(self, first_part, second_part, print_truncated_entries: bool):
""" Build a checked string """
my_str = first_part + '_' + self.convert(second_part)
if len(my_str) > MAX_STRING_LENGTH:
if print_truncated_entries:
print("Warning: Entry " + my_str + " too long. Will truncate.")
my_str = my_str[0:MAX_STRING_LENGTH]
else:
# print("Entry: " + myStr + " is all right.")
pass
return my_str
@staticmethod
def convert(name):
single_strings = name.split('_')
new_string = ''
for one_string in single_strings:
one_string = one_string.lower()
one_string = one_string.capitalize()
new_string = new_string + one_string
return new_string
@staticmethod
def clean_up_description(descr_string):
description = descr_string.lstrip('!<- ')
if description == '':
description = ' '
return description
def return_number_from_string(a_string):
if a_string.startswith('0x'):
return int(a_string, 16)
if a_string.isdigit():
return int(a_string)
print('Error: Illegal number representation: ' + a_string)
return 0
def sql_retval_exporter(returnvalue_table):
sql_writer = SqlWriter()
sql_writer.open(SQL_CREATE_RETURNVALUES_CMD)
for entry in returnvalue_table.items():
sql_writer.write_entries(
SQL_INSERT_RETURNVALUES_CMD, (entry[0],
entry[1][2],
entry[1][4],
entry[1][3],
entry[1][1]))
sql_writer.commit()
sql_writer.close()
# def writeEntriesToDB(listOfEntries):
# print("Connecting to database...")
# user = getpass.getpass("User: ")
# passwd = getpass.getpass()
# conn = MySQLdb.connect(host="127.0.0.1", user=user, passwd=passwd, db="flpmib")
# written = conn.cursor()
# print("done.")
# # delete old entries
# print("Kill old entries.")
# written.execute("DELETE FROM txp WHERE TXP_NUMBR = 'DSX00000'")
# print("Insert new ones:")
# for entry in listOfEntries.items():
# written.execute("INSERT INTO txp (txp_numbr, txp_from, txp_to, txp_altxt) "
# "VALUES ('DSX00000', %s, %s, %s)", [entry[0], entry[0], entry[1][0]])
# conn.commit()
# print("Done. That was easy.")
#
#
# def writeEntriesToOtherDB(listOfEntries):
# print("Connecting to other database...")
# conn = MySQLdb.connect(host="buggy.irs.uni-stuttgart.de",
# user='returncode', passwd='returncode', db="returncode")
# written = conn.cursor()
# print("connected.")
# # delete old entries
# print("Kill old entries.")
# written.execute("DELETE FROM returncodes WHERE true")
# print("Insert new ones:")
# for entry in listOfEntries.items():
# written.execute("INSERT INTO returncodes (code,name,interface,file,description) "
# "VALUES (%s, %s, %s, %s, %s)",
# [entry[0], entry[1][2], entry[1][4], entry[1][3], entry[1][1]])
# conn.commit()
# print("Done. That was hard.")
if __name__ == "__main__":
main()

View File

@ -1,102 +0,0 @@
#! /usr/bin/python3
# -*- coding: utf-8 -*-
"""
:file: returnvalues_parser.py
:brief: Part of the MOD export tools for the SOURCE project by KSat.
TODO: Integrate into Parser Structure instead of calling this file (no cpp file generated yet)
:details:
Returnvalue exporter.
To use MySQLdb, run pip install mysqlclient or install in IDE. On Windows, Build Tools installation might be necessary.
:data: 21.11.2019
"""
from fsfwgen.parserbase.file_list_parser import FileListParser
from fsfwgen.returnvalues.returnvalues_parser import InterfaceParser, ReturnValueParser
from fsfwgen.utility.sql_writer import SqlWriter
from fsfwgen.utility.file_management import move_file
from definitions import DATABASE_NAME, BspSelect, BspFolderDict
EXPORT_TO_FILE = True
MOVE_CSV_FILE = True
EXPORT_TO_SQL = True
PRINT_TABLES = True
BSP_SELECT = BspSelect.BSP_HOSTED.value
BSP_FOLDER = BspFolderDict[BSP_SELECT]
CSV_RETVAL_FILENAME = f"{BSP_FOLDER}_returnvalues.csv"
CSV_MOVE_DESTINATION = "../"
FILE_SEPARATOR = ';'
MAX_STRING_LENGTH = 32
INTERFACE_DEFINITION_FILES = [
"../../fsfw/returnvalues/FwClassIds.h",
"../../common/config/commonClassIds.h",
f"../../{BSP_FOLDER}/fsfwconfig/returnvalues/classIds.h"
]
RETURNVALUE_DESTINATIONS = [
"../../mission/", "../../fsfw/", f"../../{BSP_FOLDER}"
]
SQL_DELETE_RETURNVALUES_CMD = """
DROP TABLE IF EXISTS Returnvalues
"""
SQL_CREATE_RETURNVALUES_CMD = """
CREATE TABLE IF NOT EXISTS Returnvalues (
id INTEGER PRIMARY KEY,
code TEXT,
name TEXT,
interface TEXT,
file TEXT,
description TEXT
)
"""
SQL_INSERT_RETURNVALUES_CMD = """
INSERT INTO Returnvalues(code,name,interface,file,description)
VALUES(?,?,?,?,?)
"""
def main():
returnvalue_table = parse_returnvalues()
print("")
if EXPORT_TO_FILE:
ReturnValueParser.export_to_file(CSV_RETVAL_FILENAME, returnvalue_table, FILE_SEPARATOR)
if MOVE_CSV_FILE:
move_file(file_name=CSV_RETVAL_FILENAME, destination=CSV_MOVE_DESTINATION)
if EXPORT_TO_SQL:
print("ReturnvalueParser: Exporting to SQL")
sql_retval_exporter(returnvalue_table, db_filename=f"../{DATABASE_NAME}")
def parse_returnvalues():
""" Core function to parse for the return values """
interface_parser = InterfaceParser(file_list=INTERFACE_DEFINITION_FILES, print_table=PRINT_TABLES)
interfaces = interface_parser.parse_files()
header_parser = FileListParser(RETURNVALUE_DESTINATIONS)
header_list = header_parser.parse_header_files(True, "Parsing header file list: ")
print("")
returnvalue_parser = ReturnValueParser(interfaces, header_list, PRINT_TABLES)
returnvalue_parser.set_moving_window_mode(moving_window_size=7)
returnvalue_table = returnvalue_parser.parse_files(True)
print(f"ReturnvalueParser: Found {len(returnvalue_table)} returnvalues.")
return returnvalue_table
def sql_retval_exporter(returnvalue_table, db_filename: str):
sql_writer = SqlWriter(db_filename=db_filename)
sql_writer.open(SQL_CREATE_RETURNVALUES_CMD)
for entry in returnvalue_table.items():
sql_writer.write_entries(
SQL_INSERT_RETURNVALUES_CMD, (entry[0],
entry[1][2],
entry[1][4],
entry[1][3],
entry[1][1]))
sql_writer.commit()
sql_writer.close()
if __name__ == "__main__":
main()

View File

@ -21,8 +21,8 @@ enum Subservice: uint8_t {
import re import re
from enum import Enum from enum import Enum
from fsfwgen.parserbase.file_list_parser import FileListParser from parserbase.mib_file_list_parser import FileListParser
from fsfwgen.parserbase.parser import FileParser from parserbase.mib_parser import FileParser
from utility.mib_csv_writer import CsvWriter from utility.mib_csv_writer import CsvWriter
from utility.mib_printer import Printer from utility.mib_printer import Printer

View File

@ -0,0 +1,62 @@
#! /usr/bin/python3.7
"""
@file
mib_packet_content_parser.py
@brief
CSV Writer
@details
This class writes tables to a csv.
@author
R. Mueller
@date
14.11.2019
"""
from utility import mib_globals as g
from utility.mib_file_management import copy_file, move_file
# TODO: Export to SQL
class CsvWriter:
def __init__(self, filename, table_to_print=None, header_array=None):
if header_array is None:
header_array = []
if table_to_print is None:
table_to_print = dict()
self.filename = filename
self.tableToPrint = table_to_print
self.headerArray = header_array
if self.headerArray != 0:
self.columnNumbers = len(self.headerArray)
self.fileSeparator = g.fileSeparator
def write_to_csv(self):
file = open(self.filename, "w")
file.write("Index" + self.fileSeparator)
for index in range(self.columnNumbers):
# noinspection PyTypeChecker
if index < len(self.headerArray)-1:
file.write(self.headerArray[index] + self.fileSeparator)
else:
file.write(self.headerArray[index] + "\n")
for index, entry in self.tableToPrint.items():
file.write(str(index) + self.fileSeparator)
for columnIndex in range(self.columnNumbers):
# noinspection PyTypeChecker
if columnIndex < len(self.headerArray) - 1:
file.write(str(entry[columnIndex]) + self.fileSeparator)
else:
file.write(str(entry[columnIndex]) + "\n")
file.close()
def copy_csv(self, copy_destination: str = g.copyDestination):
copy_file(self.filename, copy_destination)
print("CSV file was copied to " + copy_destination)
def move_csv(self, move_destination):
move_file(self.filename, move_destination)
if move_destination == ".." or move_destination == "../":
print("CSV Writer: CSV file was moved to parser root directory")
else:
print("CSV Writer: CSV file was moved to " + move_destination)

View File

@ -0,0 +1,22 @@
#! /usr/bin/python3.8
# -*- coding: utf-8 -*-
import shutil
import os
def copy_file(filename:str, destination: str= ""):
if os.path.exists(filename):
try:
shutil.copy2(filename, destination)
except FileNotFoundError as error:
print("File not found!")
print(error)
def move_file(file_name: str, destination: str= ""):
if os.path.exists(file_name):
try:
shutil.copy2(file_name, destination)
os.remove(file_name)
except FileNotFoundError as error:
print("File not found!")
print(error)

View File

@ -0,0 +1,15 @@
import pprint
PrettyPrinter = pprint.PrettyPrinter(indent=0, width=250)
class Printer:
def __init__(self):
pass
@staticmethod
def print_content(dictionary, leading_string: str = ""):
if leading_string != "":
print(leading_string)
PrettyPrinter.pprint(dictionary)
print("\r\n", end="")

View File

@ -0,0 +1,37 @@
import sqlite3
SQL_DATABASE_NAME = "obsw_mib.db"
class SqlWriter:
def __init__(self, filename: str = SQL_DATABASE_NAME):
self.filename = filename
self.conn = sqlite3.connect(self.filename)
def open(self, sql_creation_command: str):
print("SQL Writer: Opening " + self.filename)
self.conn.execute(sql_creation_command)
def delete(self, sql_deletion_command):
print("SQL Writer: Deleting SQL table")
self.conn.execute(sql_deletion_command)
def write_entries(self, sql_insertion_command, current_entry):
cur = self.conn.cursor()
cur.execute(sql_insertion_command, current_entry)
return cur.lastrowid
def commit(self):
print("SQL Writer: Commiting SQL table")
self.conn.commit()
def close(self):
self.conn.close()
def sql_writing_helper(self, creation_cmd, insertion_cmd, mib_table: dict, deletion_cmd: str=""):
if deletion_cmd != "":
self.delete(deletion_cmd)
self.open(creation_cmd)
for i in mib_table:
self.write_entries(insertion_cmd, mib_table[i])
self.commit()
self.close()

View File

@ -905,41 +905,33 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.82715789" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/> <option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.82715789" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.671384657" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.671384657" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
<listOptionValue builtIn="false" value="ETH"/> <listOptionValue builtIn="false" value="ETH"/>
<listOptionValue builtIn="false" value="__MPU_PRESENT=1"/>
</option> </option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1118638090" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1118638090" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example/bsp_stm32_freertos/fsfwconfig}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Drivers/BSP/STM32H7xx_HAL_Driver/Inc}&quot;"/>
</option> </option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1967582696" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/> <inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1967582696" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool> </tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.2119924363" name="GNU Arm Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler"> <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.2119924363" name="GNU Arm Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1579812661" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1579812661" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example/bsp_stm32_freertos/fsfwconfig}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Drivers/BSP/STM32H7xx_HAL_Driver/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/build-Debug-STM32H743-FreeRTOS}&quot;"/>
</option> </option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.255200442" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.255200442" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="FSFW_FREERTOS"/> <listOptionValue builtIn="false" value="FSFW_FREERTOS"/>
<listOptionValue builtIn="false" value="ETH"/> <listOptionValue builtIn="false" value="ETH"/>
<listOptionValue builtIn="false" value="__MPU_PRESENT=1"/>
</option> </option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.934108357" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/> <inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.934108357" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool> </tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1178093806" name="GNU Arm Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler"> <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1178093806" name="GNU Arm Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.958134832" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.958134832" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example/bsp_stm32_freertos/fsfwconfig}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Drivers/BSP/STM32H7xx_HAL_Driver/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/fsfw_example_public/build-Debug-STM32H743-FreeRTOS}&quot;"/>
</option> </option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.1540005786" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols"> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.1540005786" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="FSFW_FREERTOS"/> <listOptionValue builtIn="false" value="FSFW_FREERTOS"/>
<listOptionValue builtIn="false" value="ETH"/> <listOptionValue builtIn="false" value="ETH"/>
<listOptionValue builtIn="false" value="__MPU_PRESENT=1"/>
</option> </option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1267738452" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/> <inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1267738452" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
</tool> </tool>
@ -973,7 +965,6 @@
</configuration> </configuration>
</storageModule> </storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="ilg.gnumcueclipse.managedbuild.packs"/>
</cconfiguration> </cconfiguration>
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929"> <cconfiguration id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929" moduleId="org.eclipse.cdt.core.settings" name="fsfw-stm32-freertos-release"> <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929" moduleId="org.eclipse.cdt.core.settings" name="fsfw-stm32-freertos-release">

View File

@ -13,7 +13,7 @@
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbClientOtherCommands" value="shell sleep 3&#13;&#10;set mem inaccessible-by-default off"/> <stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbClientOtherCommands" value="shell sleep 3&#13;&#10;set mem inaccessible-by-default off"/>
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbClientOtherOptions" value=""/> <stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbClientOtherOptions" value=""/>
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerConnectionAddress" value=""/> <stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerConnectionAddress" value=""/>
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerExecutable" value="${openocd_path}/${openocd_executable}"/> <stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerExecutable" value="openocd"/>
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerGdbPortNumber" value="3333"/> <intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerGdbPortNumber" value="3333"/>
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerLog" value=""/> <stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerLog" value=""/>
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerOther" value="-f &quot;board/st_nucleo_h743zi.cfg&quot;"/> <stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.openocd.gdbServerOther" value="-f &quot;board/st_nucleo_h743zi.cfg&quot;"/>
@ -33,7 +33,7 @@
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/> <intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/> <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/> <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/> <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="false"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/> <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/> <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/> <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
@ -47,11 +47,11 @@
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/> <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/> <stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build-Debug-STM32H743-FreeRTOS/fsfw_example"/> <stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build-Debug-STM32H743-FreeRTOS/fsfw_example"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="fsfw_example_public"/> <stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="fsfw_example"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/> <booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432"/> <stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/fsfw_example_public"/> <listEntry value="/fsfw_example"/>
</listAttribute> </listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/> <listEntry value="4"/>
@ -59,6 +59,6 @@
<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/> <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
</listAttribute> </listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;memoryBlockExpressionList context=&quot;Context string&quot;&gt;&#10; &lt;memoryBlockExpression address=&quot;604291484&quot; label=&quot;*((((this)-&amp;gt;hkBuffer))+0)@100&quot;/&gt;&#10;&lt;/memoryBlockExpressionList&gt;&#10;"/> <stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;Context string&quot;&gt;&#13;&#10; &lt;memoryBlockExpression address=&quot;604291484&quot; label=&quot;*((((this)-&amp;gt;hkBuffer))+0)@100&quot;/&gt;&#13;&#10;&lt;/memoryBlockExpressionList&gt;&#13;&#10;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/> <stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
</launchConfiguration> </launchConfiguration>

View File

@ -47,11 +47,11 @@
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/> <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/> <stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build-Release-STM32H743-FreeRTOS/fsfw_example"/> <stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build-Release-STM32H743-FreeRTOS/fsfw_example"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="fsfw_example_public"/> <stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="fsfw_example"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/> <booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929"/> <stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/fsfw_example_public"/> <listEntry value="/fsfw_example"/>
</listAttribute> </listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/> <listEntry value="4"/>

View File

@ -1,7 +1,7 @@
#include <mission/assemblies/TestAssembly.h> #include <mission/assemblies/TestAssembly.h>
#include <common/config/commonSystemObjects.h> #include <common/config/commonSystemObjects.h>
#include <fsfw/objectmanager/ObjectManager.h> #include <fsfw/objectmanager/ObjectManagerIF.h>
TestAssembly::TestAssembly(object_id_t objectId, object_id_t parentId): TestAssembly::TestAssembly(object_id_t objectId, object_id_t parentId):
@ -149,8 +149,8 @@ ReturnValue_t TestAssembly::initialize() {
if(result != RETURN_OK){ if(result != RETURN_OK){
return result; return result;
} }
handler0 = ObjectManager::instance()->get<TestDevice>(objects::TEST_DEVICE_HANDLER_0); handler0 = objectManager->get<TestDevice>(objects::TEST_DEVICE_HANDLER_0);
handler1 = ObjectManager::instance()->get<TestDevice>(objects::TEST_DEVICE_HANDLER_1); handler1 = objectManager->get<TestDevice>(objects::TEST_DEVICE_HANDLER_1);
if((handler0 == nullptr) or (handler1 == nullptr)){ if((handler0 == nullptr) or (handler1 == nullptr)){
return HasReturnvaluesIF::RETURN_FAILED; return HasReturnvaluesIF::RETURN_FAILED;
} }

View File

@ -1,8 +1,7 @@
#include "TestController.h" #include "TestController.h"
#include "OBSWConfig.h" #include <OBSWConfig.h>
#include <fsfw/datapool/PoolReadGuard.h> #include <fsfw/datapool/PoolReadGuard.h>
#include <fsfw/objectmanager/ObjectManager.h>
#include <fsfw/serviceinterface/ServiceInterface.h> #include <fsfw/serviceinterface/ServiceInterface.h>
TestController::TestController(object_id_t objectId, size_t commandQueueDepth): TestController::TestController(object_id_t objectId, size_t commandQueueDepth):
@ -162,7 +161,7 @@ ReturnValue_t TestController::initializeLocalDataPool(localpool::DataPool &local
ReturnValue_t TestController::initializeAfterTaskCreation() { ReturnValue_t TestController::initializeAfterTaskCreation() {
namespace td = testdevice; namespace td = testdevice;
HasLocalDataPoolIF* device0 = ObjectManager::instance()->get<HasLocalDataPoolIF>( HasLocalDataPoolIF* device0 = objectManager->get<HasLocalDataPoolIF>(
objects::TEST_DEVICE_HANDLER_0); objects::TEST_DEVICE_HANDLER_0);
if(device0 == nullptr) { if(device0 == nullptr) {
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
@ -184,7 +183,7 @@ ReturnValue_t TestController::initializeAfterTaskCreation() {
} }
HasLocalDataPoolIF* device1 = ObjectManager::instance()->get<HasLocalDataPoolIF>( HasLocalDataPoolIF* device1 = objectManager->get<HasLocalDataPoolIF>(
objects::TEST_DEVICE_HANDLER_1); objects::TEST_DEVICE_HANDLER_1);
if(device1 == nullptr) { if(device1 == nullptr) {
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1

View File

@ -1,37 +1,38 @@
#include "GenericFactory.h" #include "GenericFactory.h"
#include "OBSWConfig.h" #include <OBSWConfig.h>
#include "tmtc/apid.h" #include <tmtc/apid.h>
#include "tmtc/pusIds.h" #include <tmtc/pusIds.h>
#include "objects/systemObjectList.h" #include <objects/systemObjectList.h>
#include "test/FsfwExampleTask.h" #include <test/FsfwExampleTask.h>
#include "test/FsfwReaderTask.h" #include <test/FsfwReaderTask.h>
#include "mission/assemblies/TestAssembly.h" #include <mission/assemblies/TestAssembly.h>
#include "mission/devices/TestCookie.h"
#include "mission/devices/TestDeviceHandler.h"
#include "mission/devices/TestEchoComIF.h"
#include "mission/utility/TmFunnel.h"
#include "mission/controller/TestController.h"
#include "fsfw/devicehandlers/CookieIF.h" #include <mission/devices/TestCookie.h>
#include "fsfw/events/EventManager.h" #include <mission/devices/TestDeviceHandler.h>
#include "fsfw/health/HealthTable.h" #include <mission/devices/TestEchoComIF.h>
#include "fsfw/internalError/InternalErrorReporter.h" #include <mission/utility/TmFunnel.h>
#include "fsfw/pus/CService200ModeCommanding.h" #include <mission/controller/TestController.h>
#include "fsfw/pus/Service17Test.h"
#include "fsfw/pus/Service1TelecommandVerification.h" #include <fsfw/devicehandlers/CookieIF.h>
#include "fsfw/pus/Service20ParameterManagement.h" #include <fsfw/events/EventManager.h>
#include "fsfw/pus/Service2DeviceAccess.h" #include <fsfw/health/HealthTable.h>
#include "fsfw/pus/Service3Housekeeping.h" #include <fsfw/internalError/InternalErrorReporter.h>
#include "fsfw/pus/Service5EventReporting.h" #include <fsfw/pus/CService200ModeCommanding.h>
#include "fsfw/pus/Service8FunctionManagement.h" #include <fsfw/pus/Service17Test.h>
#include "fsfw/pus/Service9TimeManagement.h" #include <fsfw/pus/Service1TelecommandVerification.h>
#include "fsfw/tcdistribution/CCSDSDistributor.h" #include <fsfw/pus/Service20ParameterManagement.h>
#include "fsfw/tcdistribution/PUSDistributor.h" #include <fsfw/pus/Service2DeviceAccess.h>
#include "fsfw/timemanager/TimeStamper.h" #include <fsfw/pus/Service3Housekeeping.h>
#include "fsfw/tmtcpacket/pus/TmPacketStored.h" #include <fsfw/pus/Service5EventReporting.h>
#include <fsfw/pus/Service8FunctionManagement.h>
#include <fsfw/pus/Service9TimeManagement.h>
#include <fsfw/tcdistribution/CCSDSDistributor.h>
#include <fsfw/tcdistribution/PUSDistributor.h>
#include <fsfw/timemanager/TimeStamper.h>
#include <fsfw/tmtcpacket/pus/TmPacketStored.h>
@ -99,8 +100,8 @@ void ObjectFactory::produceGenericObjects() {
new TestEchoComIF(objects::TEST_ECHO_COM_IF); new TestEchoComIF(objects::TEST_ECHO_COM_IF);
new TestDevice(objects::TEST_DEVICE_HANDLER_0, objects::TEST_ECHO_COM_IF, testCookie, new TestDevice(objects::TEST_DEVICE_HANDLER_0, objects::TEST_ECHO_COM_IF, testCookie,
testdevice::DeviceIndex::DEVICE_0, enableInfoPrintout); testdevice::DeviceIndex::DEVICE_0, enableInfoPrintout);
testCookie = new DummyCookie(static_cast<address_t>(testdevice::DeviceIndex::DEVICE_1), testCookie = new DummyCookie(
expectedMaxReplyLen); static_cast<address_t>(testdevice::DeviceIndex::DEVICE_1), expectedMaxReplyLen);
new TestDevice(objects::TEST_DEVICE_HANDLER_1, objects::TEST_ECHO_COM_IF, testCookie, new TestDevice(objects::TEST_DEVICE_HANDLER_1, objects::TEST_ECHO_COM_IF, testCookie,
testdevice::DeviceIndex::DEVICE_1, enableInfoPrintout); testdevice::DeviceIndex::DEVICE_1, enableInfoPrintout);

View File

@ -1,5 +1,4 @@
#include <fsfw/ipc/QueueFactory.h> #include <fsfw/ipc/QueueFactory.h>
#include <fsfw/objectmanager/ObjectManager.h>
#include <fsfw/tmtcpacket/pus/TmPacketStored.h> #include <fsfw/tmtcpacket/pus/TmPacketStored.h>
#include <fsfw/serviceinterface/ServiceInterface.h> #include <fsfw/serviceinterface/ServiceInterface.h>
#include <fsfw/tmtcpacket/pus/TmPacketPusC.h> #include <fsfw/tmtcpacket/pus/TmPacketPusC.h>
@ -82,7 +81,7 @@ ReturnValue_t TmFunnel::handlePacket(TmTcMessage* message) {
ReturnValue_t TmFunnel::initialize() { ReturnValue_t TmFunnel::initialize() {
tmPool = ObjectManager::instance()->get<StorageManagerIF>(objects::TM_STORE); tmPool = objectManager->get<StorageManagerIF>(objects::TM_STORE);
if(tmPool == nullptr) { if(tmPool == nullptr) {
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "TmFunnel::initialize: TM store not set." << std::endl; sif::error << "TmFunnel::initialize: TM store not set." << std::endl;
@ -92,8 +91,8 @@ ReturnValue_t TmFunnel::initialize() {
return ObjectManagerIF::CHILD_INIT_FAILED; return ObjectManagerIF::CHILD_INIT_FAILED;
} }
AcceptsTelemetryIF* tmTarget = ObjectManager::instance()-> AcceptsTelemetryIF* tmTarget =
get<AcceptsTelemetryIF>(downlinkDestination); objectManager->get<AcceptsTelemetryIF>(downlinkDestination);
if(tmTarget == nullptr){ if(tmTarget == nullptr){
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "TmFunnel::initialize: Downlink Destination not set." << std::endl; sif::error << "TmFunnel::initialize: Downlink Destination not set." << std::endl;
@ -109,8 +108,8 @@ ReturnValue_t TmFunnel::initialize() {
return SystemObject::initialize(); return SystemObject::initialize();
} }
AcceptsTelemetryIF* storageTarget = ObjectManager::instance()-> AcceptsTelemetryIF* storageTarget =
get<AcceptsTelemetryIF>(storageDestination); objectManager->get<AcceptsTelemetryIF>(storageDestination);
if(storageTarget != nullptr) { if(storageTarget != nullptr) {
storageQueue->setDefaultDestination( storageQueue->setDefaultDestination(
storageTarget->getReportReceptionQueue()); storageTarget->getReportReceptionQueue());

View File

@ -1,10 +1,9 @@
#include "FsfwExampleTask.h" #include "FsfwExampleTask.h"
#include "OBSWConfig.h" #include <OBSWConfig.h>
#include "commonSystemObjects.h" #include <commonSystemObjects.h>
#include "objects/systemObjectList.h" #include <objects/systemObjectList.h>
#include <fsfw/serviceinterface/ServiceInterface.h> #include <fsfw/serviceinterface/ServiceInterface.h>
#include <fsfw/objectmanager/ObjectManager.h>
#include <fsfw/tasks/TaskFactory.h> #include <fsfw/tasks/TaskFactory.h>
#include <fsfw/ipc/QueueFactory.h> #include <fsfw/ipc/QueueFactory.h>
#include <fsfw/ipc/CommandMessage.h> #include <fsfw/ipc/CommandMessage.h>
@ -84,7 +83,8 @@ object_id_t FsfwExampleTask::getSender() {
ReturnValue_t FsfwExampleTask::initialize() { ReturnValue_t FsfwExampleTask::initialize() {
// Get the dataset of the sender. Will be cached for later checks. // Get the dataset of the sender. Will be cached for later checks.
object_id_t sender = getSender(); object_id_t sender = getSender();
HasLocalDataPoolIF* senderIF = ObjectManager::instance()->get<HasLocalDataPoolIF>(sender); HasLocalDataPoolIF* senderIF =
objectManager->get<HasLocalDataPoolIF>(sender);
if(senderIF == nullptr) { if(senderIF == nullptr) {
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "FsfwDemoTask::initialize: Sender object invalid!" << std::endl; sif::error << "FsfwDemoTask::initialize: Sender object invalid!" << std::endl;
@ -163,7 +163,7 @@ ReturnValue_t FsfwExampleTask::performMonitoringDemo() {
ReturnValue_t FsfwExampleTask::performSendOperation() { ReturnValue_t FsfwExampleTask::performSendOperation() {
object_id_t nextRecipient = getNextRecipient(); object_id_t nextRecipient = getNextRecipient();
FsfwExampleTask* target = ObjectManager::instance()->get<FsfwExampleTask>(nextRecipient); FsfwExampleTask* target = objectManager->get<FsfwExampleTask>(nextRecipient);
if (target == nullptr) { if (target == nullptr) {
/* Configuration error */ /* Configuration error */
#if FSFW_CPP_OSTREAM_ENABLED == 1 #if FSFW_CPP_OSTREAM_ENABLED == 1

Some files were not shown because too many files have changed in this diff Show More