Merge remote-tracking branch 'origin/develop' into mueller/core-controller-remount-sd-handling
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good

This commit is contained in:
2022-05-16 15:18:55 +02:00
27 changed files with 824 additions and 628 deletions

View File

@@ -27,6 +27,14 @@ list yields a list of all related PRs for each release.
username appended at the end is created as a side-product now
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/248
### Heater
- Adds `HealthIF` to heaters. Heaters are own system object with queues now which allows to set them faulty.
- SW will attempt to shut down heaters which are on but marked faulty
- Some simplifications for `HeaterHandler`, use `std::vector` instead of `std::unordered_map` for primary container. Using the heater indexes 0 to 7 allows to use natural array indexing
- Some additional input sanity checks in `executeAction`
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/236
## Changed
- Build unittest as default side product of hosted builds

View File

@@ -33,8 +33,16 @@ ObjectManagerIF* objectManager = nullptr;
void initmission::initMission() {
sif::info << "Building global objects.." << std::endl;
/* Instantiate global object manager and also create all objects */
ObjectManager::instance()->setObjectFactoryFunction(ObjectFactory::produce, nullptr);
try {
/* Instantiate global object manager and also create all objects */
ObjectManager::instance()->setObjectFactoryFunction(ObjectFactory::produce, nullptr);
} catch (const std::invalid_argument& e) {
sif::error << "initmission::initMission: Object Construction failed with an "
"invalid argument: "
<< e.what();
std::exit(1);
}
sif::info << "Initializing all objects.." << std::endl;
ObjectManager::instance()->initialize();
@@ -396,6 +404,10 @@ void initmission::createPusTasks(TaskFactory& factory,
if (result != HasReturnvaluesIF::RETURN_OK) {
initmission::printAddObjectError("PUS_200", objects::PUS_SERVICE_200_MODE_MGMT);
}
result = pusMedPrio->addComponent(objects::PUS_SERVICE_201_HEALTH);
if (result != HasReturnvaluesIF::RETURN_OK) {
initmission::printAddObjectError("PUS_201", objects::PUS_SERVICE_201_HEALTH);
}
result = pusMedPrio->addComponent(objects::PUS_SERVICE_20_PARAMETERS);
if (result != HasReturnvaluesIF::RETURN_OK) {
initmission::printAddObjectError("PUS_20", objects::PUS_SERVICE_20_PARAMETERS);

View File

@@ -481,7 +481,8 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComI
#endif /* OBSW_ADD_ACS_HANDLERS == 1 */
}
void ObjectFactory::createHeaterComponents() {
void ObjectFactory::createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher,
HealthTableIF* healthTable) {
using namespace gpio;
GpioCookie* heaterGpiosCookie = new GpioCookie;
GpiodRegularByLineName* gpio = nullptr;
@@ -522,8 +523,21 @@ void ObjectFactory::createHeaterComponents() {
Levels::LOW);
heaterGpiosCookie->addGpio(gpioIds::HEATER_7, gpio);
new HeaterHandler(objects::HEATER_HANDLER, objects::GPIO_IF, heaterGpiosCookie,
objects::PCDU_HANDLER, pcdu::Switches::PDU2_CH3_TCS_BOARD_HEATER_IN_8V);
gpioIF->addGpios(heaterGpiosCookie);
HeaterHelper helper({{
{new HealthDevice(objects::HEATER_0_PLOC_PROC_BRD, MessageQueueIF::NO_QUEUE),
gpioIds::HEATER_0},
{new HealthDevice(objects::HEATER_1_PCDU_BRD, MessageQueueIF::NO_QUEUE), gpioIds::HEATER_1},
{new HealthDevice(objects::HEATER_2_ACS_BRD, MessageQueueIF::NO_QUEUE), gpioIds::HEATER_2},
{new HealthDevice(objects::HEATER_3_OBC_BRD, MessageQueueIF::NO_QUEUE), gpioIds::HEATER_3},
{new HealthDevice(objects::HEATER_4_CAMERA, MessageQueueIF::NO_QUEUE), gpioIds::HEATER_4},
{new HealthDevice(objects::HEATER_5_STR, MessageQueueIF::NO_QUEUE), gpioIds::HEATER_5},
{new HealthDevice(objects::HEATER_6_DRO, MessageQueueIF::NO_QUEUE), gpioIds::HEATER_6},
{new HealthDevice(objects::HEATER_7_HPA, MessageQueueIF::NO_QUEUE), gpioIds::HEATER_7},
}});
new HeaterHandler(objects::HEATER_HANDLER, gpioIF, helper, pwrSwitcher,
pcdu::Switches::PDU2_CH3_TCS_BOARD_HEATER_IN_8V);
}
void ObjectFactory::createSolarArrayDeploymentComponents() {

View File

@@ -10,7 +10,9 @@ class UartComIF;
class SpiComIF;
class I2cComIF;
class PowerSwitchIF;
class HealthTableIF;
class AcsBoardAssembly;
class GpioIF;
namespace ObjectFactory {
@@ -27,7 +29,7 @@ void createTmpComponents();
void createRadSensorComponent(LinuxLibgpioIF* gpioComIF);
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
PowerSwitchIF* pwrSwitcher);
void createHeaterComponents();
void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable);
void createImtqComponents(PowerSwitchIF* pwrSwitcher);
void createBpxBatteryComponent();
void createStrComponents(PowerSwitchIF* pwrSwitcher);

View File

@@ -11,7 +11,8 @@
void ObjectFactory::produce(void* args) {
ObjectFactory::setStatics();
ObjectFactory::produceGenericObjects();
HealthTableIF* healthTable = nullptr;
ObjectFactory::produceGenericObjects(&healthTable);
LinuxLibgpioIF* gpioComIF = nullptr;
UartComIF* uartComIF = nullptr;
@@ -31,7 +32,7 @@ void ObjectFactory::produce(void* args) {
#if OBSW_ADD_ACS_BOARD == 1
createAcsBoardComponents(gpioComIF, uartComIF, pwrSwitcher);
#endif
createHeaterComponents();
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable);
createSolarArrayDeploymentComponents();
createPlPcduComponents(gpioComIF, spiMainComIF, pwrSwitcher);
#if OBSW_ADD_SYRLINKS == 1

View File

@@ -6,35 +6,35 @@
namespace CLASS_ID {
enum commonClassIds: uint8_t {
COMMON_CLASS_ID_START = FW_CLASS_ID_COUNT,
PCDU_HANDLER, //PCDU
HEATER_HANDLER, //HEATER
SYRLINKS_HANDLER, //SYRLINKS
IMTQ_HANDLER, //IMTQ
RW_HANDLER, //RWHA
STR_HANDLER, //STRH
DWLPWRON_CMD, //DWLPWRON
MPSOC_TM, //MPTM
PLOC_SUPERVISOR_HANDLER, //PLSV
PLOC_SUPV_HELPER, //PLSPVhLP
SUS_HANDLER, //SUSS
CCSDS_IP_CORE_BRIDGE, //IPCI
PTME, //PTME
PLOC_UPDATER, //PLUD
STR_HELPER, //STRHLP
GOM_SPACE_HANDLER, //GOMS
PLOC_MEMORY_DUMPER, //PLMEMDUMP
PDEC_HANDLER, //PDEC
CCSDS_HANDLER, //CCSDS
RATE_SETTER, //RS
ARCSEC_JSON_BASE, //JSONBASE
NVM_PARAM_BASE, //NVMB
FILE_SYSTEM_HELPER, //FSHLP
PLOC_MPSOC_HELPER, // PLMPHLP
SA_DEPL_HANDLER, //SADPL
MPSOC_RETURN_VALUES_IF, //MPSOCRTVIF
SUPV_RETURN_VALUES_IF, //SPVRTVIF
COMMON_CLASS_ID_END // [EXPORT] : [END]
COMMON_CLASS_ID_START = FW_CLASS_ID_COUNT,
PCDU_HANDLER, //PCDU
HEATER_HANDLER, //HEATER
SYRLINKS_HANDLER, //SYRLINKS
IMTQ_HANDLER, //IMTQ
RW_HANDLER, //RWHA
STR_HANDLER, //STRH
DWLPWRON_CMD, //DWLPWRON
MPSOC_TM, //MPTM
PLOC_SUPERVISOR_HANDLER, //PLSV
PLOC_SUPV_HELPER, //PLSPVhLP
SUS_HANDLER, //SUSS
CCSDS_IP_CORE_BRIDGE, //IPCI
PTME, //PTME
PLOC_UPDATER, //PLUD
STR_HELPER, //STRHLP
GOM_SPACE_HANDLER, //GOMS
PLOC_MEMORY_DUMPER, //PLMEMDUMP
PDEC_HANDLER, //PDEC
CCSDS_HANDLER, //CCSDS
RATE_SETTER, //RS
ARCSEC_JSON_BASE, //JSONBASE
NVM_PARAM_BASE, //NVMB
FILE_SYSTEM_HELPER, //FSHLP
PLOC_MPSOC_HELPER, // PLMPHLP
SA_DEPL_HANDLER, //SADPL
MPSOC_RETURN_VALUES_IF, //MPSOCRTVIF
SUPV_RETURN_VALUES_IF, //SPVRTVIF
COMMON_CLASS_ID_END // [EXPORT] : [END]
};
}

View File

@@ -22,13 +22,6 @@ enum commonObjects: uint32_t {
CORE_CONTROLLER = 0x43000003,
/* 0x44 ('D') for device handlers */
P60DOCK_HANDLER = 0x44250000,
PDU1_HANDLER = 0x44250001,
PDU2_HANDLER = 0x44250002,
ACU_HANDLER = 0x44250003,
BPX_BATT_HANDLER = 0x44260000,
TMP1075_HANDLER_1 = 0x44420004,
TMP1075_HANDLER_2 = 0x44420005,
MGM_0_LIS3_HANDLER = 0x44120006,
MGM_1_RM3100_HANDLER = 0x44120107,
MGM_2_LIS3_HANDLER = 0x44120208,
@@ -37,12 +30,35 @@ enum commonObjects: uint32_t {
GYRO_1_L3G_HANDLER = 0x44120111,
GYRO_2_ADIS_HANDLER = 0x44120212,
GYRO_3_L3G_HANDLER = 0x44120313,
PLPCDU_HANDLER = 0x44300000,
RW1 = 0x44120047,
RW2 = 0x44120148,
RW3 = 0x44120249,
RW4 = 0x44120350,
STAR_TRACKER = 0x44130001,
GPS_CONTROLLER = 0x44130045,
IMTQ_HANDLER = 0x44140014,
TMP1075_HANDLER_1 = 0x44420004,
TMP1075_HANDLER_2 = 0x44420005,
PCDU_HANDLER = 0x442000A1,
P60DOCK_HANDLER = 0x44250000,
PDU1_HANDLER = 0x44250001,
PDU2_HANDLER = 0x44250002,
ACU_HANDLER = 0x44250003,
BPX_BATT_HANDLER = 0x44260000,
PLPCDU_HANDLER = 0x44300000,
RAD_SENSOR = 0x443200A5,
PLOC_UPDATER = 0x44330000,
PLOC_MEMORY_DUMPER = 0x44330001,
STR_HELPER = 0x44330002,
PLOC_MPSOC_HELPER = 0x44330003,
AXI_PTME_CONFIG = 0x44330004,
PTME_CONFIG = 0x44330005,
PLOC_MPSOC_HANDLER = 0x44330015,
PLOC_SUPERVISOR_HANDLER = 0x44330016,
PLOC_SUPERVISOR_HELPER = 0x44330017,
SOLAR_ARRAY_DEPL_HANDLER = 0x444100A2,
HEATER_HANDLER = 0x444100A4,
/**
* Not yet specified which pt1000 will measure which device/location in the satellite.
@@ -89,20 +105,17 @@ enum commonObjects: uint32_t {
SUS_5_N_LOC_XFYMZB_PT_ZB = 0x44120037,
SUS_11_R_LOC_XBYMZB_PT_ZB = 0x44120043,
GPS_CONTROLLER = 0x44130045,
SYRLINKS_HK_HANDLER = 0x445300A3,
RW1 = 0x44120047,
RW2 = 0x44120148,
RW3 = 0x44120249,
RW4 = 0x44120350,
STAR_TRACKER = 0x44130001,
PLOC_MEMORY_DUMPER = 0x44330001,
STR_HELPER = 0x44330002,
PLOC_MPSOC_HELPER = 0x44330003,
AXI_PTME_CONFIG = 44330004,
PTME_CONFIG = 44330005,
// 0x60 for other stuff
HEATER_0_PLOC_PROC_BRD = 0x60000000,
HEATER_1_PCDU_BRD = 0x60000001,
HEATER_2_ACS_BRD = 0x60000002,
HEATER_3_OBC_BRD = 0x60000003,
HEATER_4_CAMERA = 0x60000004,
HEATER_5_STR = 0x60000005,
HEATER_6_DRO = 0x60000006,
HEATER_7_HPA = 0x60000007,
// 0x73 ('s') for assemblies and system/subsystem components
ACS_BOARD_ASS = 0x73000001,

View File

@@ -3,16 +3,16 @@
#include <cstdint>
namespace heaterSwitches {
enum switcherList: uint8_t {
HEATER_0,
HEATER_1,
HEATER_2,
HEATER_3,
HEATER_4,
HEATER_5,
HEATER_6,
HEATER_7,
namespace heater {
enum Switchers: uint8_t {
HEATER_0_OBC_BRD,
HEATER_1_PLOC_PROC_BRD,
HEATER_2_ACS_BRD,
HEATER_3_PCDU_PDU,
HEATER_4_CAMERA,
HEATER_5_STR,
HEATER_6_DRO,
HEATER_7_HPA,
NUMBER_OF_SWITCHES
};
}

2
fsfw

Submodule fsfw updated: d1ff32bf96...4841d5d92d

View File

@@ -83,9 +83,12 @@
11303;0x2c27;FDIR_REACTION_IGNORED;MEDIUM;;mission/devices/devicedefinitions/powerDefinitions.h
11400;0x2c88;GPIO_PULL_HIGH_FAILED;LOW;;mission/devices/HeaterHandler.h
11401;0x2c89;GPIO_PULL_LOW_FAILED;LOW;;mission/devices/HeaterHandler.h
11402;0x2c8a;SWITCH_ALREADY_ON;LOW;;mission/devices/HeaterHandler.h
11403;0x2c8b;SWITCH_ALREADY_OFF;LOW;;mission/devices/HeaterHandler.h
11404;0x2c8c;MAIN_SWITCH_TIMEOUT;LOW;;mission/devices/HeaterHandler.h
11402;0x2c8a;HEATER_WENT_ON;INFO;;mission/devices/HeaterHandler.h
11403;0x2c8b;HEATER_WENT_OFF;INFO;;mission/devices/HeaterHandler.h
11404;0x2c8c;SWITCH_ALREADY_ON;LOW;;mission/devices/HeaterHandler.h
11405;0x2c8d;SWITCH_ALREADY_OFF;LOW;;mission/devices/HeaterHandler.h
11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;;mission/devices/HeaterHandler.h
11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;;mission/devices/HeaterHandler.h
11500;0x2cec;MAIN_SWITCH_ON_TIMEOUT;LOW;;mission/devices/SolarArrayDeploymentHandler.h
11501;0x2ced;MAIN_SWITCH_OFF_TIMEOUT;LOW;;mission/devices/SolarArrayDeploymentHandler.h
11502;0x2cee;DEPLOYMENT_FAILED;HIGH;;mission/devices/SolarArrayDeploymentHandler.h
@@ -194,6 +197,7 @@
13614;0x352e;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvHelper.h
13615;0x352f;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/devices/ploc/PlocSupvHelper.h
13616;0x3530;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/devices/ploc/PlocSupvHelper.h
13617;0x3531;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet with number P1 P1: Packet number for which the memory write command fails;linux/devices/ploc/PlocSupvHelper.h
13700;0x3584;ALLOC_FAILURE;MEDIUM;;bsp_q7s/core/CoreController.h
13701;0x3585;REBOOT_SW;MEDIUM; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
13702;0x3586;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;bsp_q7s/core/CoreController.h
1 2200 0x0898 STORE_SEND_WRITE_FAILED LOW fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
83 11303 0x2c27 FDIR_REACTION_IGNORED MEDIUM mission/devices/devicedefinitions/powerDefinitions.h
84 11400 0x2c88 GPIO_PULL_HIGH_FAILED LOW mission/devices/HeaterHandler.h
85 11401 0x2c89 GPIO_PULL_LOW_FAILED LOW mission/devices/HeaterHandler.h
86 11402 0x2c8a SWITCH_ALREADY_ON HEATER_WENT_ON LOW INFO mission/devices/HeaterHandler.h
87 11403 0x2c8b SWITCH_ALREADY_OFF HEATER_WENT_OFF LOW INFO mission/devices/HeaterHandler.h
88 11404 0x2c8c MAIN_SWITCH_TIMEOUT SWITCH_ALREADY_ON LOW mission/devices/HeaterHandler.h
89 11405 0x2c8d SWITCH_ALREADY_OFF LOW mission/devices/HeaterHandler.h
90 11406 0x2c8e MAIN_SWITCH_TIMEOUT MEDIUM mission/devices/HeaterHandler.h
91 11407 0x2c8f FAULTY_HEATER_WAS_ON LOW mission/devices/HeaterHandler.h
92 11500 0x2cec MAIN_SWITCH_ON_TIMEOUT LOW mission/devices/SolarArrayDeploymentHandler.h
93 11501 0x2ced MAIN_SWITCH_OFF_TIMEOUT LOW mission/devices/SolarArrayDeploymentHandler.h
94 11502 0x2cee DEPLOYMENT_FAILED HIGH mission/devices/SolarArrayDeploymentHandler.h
197 13614 0x352e SUPV_EXE_INVALID_APID LOW Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvHelper.h
198 13615 0x352f ACK_RECEPTION_FAILURE LOW Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed linux/devices/ploc/PlocSupvHelper.h
199 13616 0x3530 EXE_RECEPTION_FAILURE LOW Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed linux/devices/ploc/PlocSupvHelper.h
200 13617 0x3531 WRITE_MEMORY_FAILED LOW Update procedure failed when sending packet with number P1 P1: Packet number for which the memory write command fails linux/devices/ploc/PlocSupvHelper.h
201 13700 0x3584 ALLOC_FAILURE MEDIUM bsp_q7s/core/CoreController.h
202 13701 0x3585 REBOOT_SW MEDIUM Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy bsp_q7s/core/CoreController.h
203 13702 0x3586 REBOOT_MECHANISM_TRIGGERED MEDIUM The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots bsp_q7s/core/CoreController.h

View File

@@ -37,9 +37,12 @@
0x44260000;BPX_BATT_HANDLER
0x44300000;PLPCDU_HANDLER
0x443200A5;RAD_SENSOR
0x44330000;PLOC_UPDATER
0x44330001;PLOC_MEMORY_DUMPER
0x44330002;STR_HELPER
0x44330003;PLOC_MPSOC_HELPER
0x44330004;AXI_PTME_CONFIG
0x44330005;PTME_CONFIG
0x44330015;PLOC_MPSOC_HANDLER
0x44330016;PLOC_SUPERVISOR_HANDLER
0x44330017;PLOC_SUPERVISOR_HELPER
@@ -109,6 +112,14 @@
0x5400CAFE;DUMMY_INTERFACE
0x54123456;LIBGPIOD_TEST
0x54694269;TEST_TASK
0x60000000;HEATER_0_PLOC_PROC_BRD
0x60000001;HEATER_1_PCDU_BRD
0x60000002;HEATER_2_ACS_BRD
0x60000003;HEATER_3_OBC_BRD
0x60000004;HEATER_4_CAMERA
0x60000005;HEATER_5_STR
0x60000006;HEATER_6_DRO
0x60000007;HEATER_7_HPA
0x73000001;ACS_BOARD_ASS
0x73000002;SUS_BOARD_ASS
0x73000003;TCS_BOARD_ASS
1 0x00005060 P60DOCK_TEST_TASK
37 0x44260000 BPX_BATT_HANDLER
38 0x44300000 PLPCDU_HANDLER
39 0x443200A5 RAD_SENSOR
40 0x44330000 PLOC_UPDATER
41 0x44330001 PLOC_MEMORY_DUMPER
42 0x44330002 STR_HELPER
43 0x44330003 PLOC_MPSOC_HELPER
44 0x44330004 AXI_PTME_CONFIG
45 0x44330005 PTME_CONFIG
46 0x44330015 PLOC_MPSOC_HANDLER
47 0x44330016 PLOC_SUPERVISOR_HANDLER
48 0x44330017 PLOC_SUPERVISOR_HELPER
112 0x5400CAFE DUMMY_INTERFACE
113 0x54123456 LIBGPIOD_TEST
114 0x54694269 TEST_TASK
115 0x60000000 HEATER_0_PLOC_PROC_BRD
116 0x60000001 HEATER_1_PCDU_BRD
117 0x60000002 HEATER_2_ACS_BRD
118 0x60000003 HEATER_3_OBC_BRD
119 0x60000004 HEATER_4_CAMERA
120 0x60000005 HEATER_5_STR
121 0x60000006 HEATER_6_DRO
122 0x60000007 HEATER_7_HPA
123 0x73000001 ACS_BOARD_ASS
124 0x73000002 SUS_BOARD_ASS
125 0x73000003 TCS_BOARD_ASS

View File

@@ -1,13 +1,13 @@
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
0x66a0;NVMB_KeyNotExists;Specified key does not exist in json file;0xA0;mission/memory/NVMParameterBase.h;NVM_PARAM_BASE
0x5ba0;SUSS_ErrorUnlockMutex;;0xA0;mission/devices/SusHandler.h;SUS_HANDLER
0x5ba1;SUSS_ErrorLockMutex;;0xA1;mission/devices/SusHandler.h;SUS_HANDLER
0x63a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;0xA0;mission/tmtc/CCSDSHandler.h;CCSDS_HANDLER
0x69a0;SADPL_CommandNotSupported;;0xA0;mission/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x69a1;SADPL_DeploymentAlreadyExecuting;;0xA1;mission/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x69a2;SADPL_MainSwitchTimeoutFailure;;0xA2;mission/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x69a3;SADPL_SwitchingDeplSa1Failed;;0xA3;mission/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x69a4;SADPL_SwitchingDeplSa2Failed;;0xA4;mission/devices/SolarArrayDeploymentHandler.h;SA_DEPL_HANDLER
0x5ba0;SUSS_ErrorUnlockMutex;;0xA0;mission/devices/SusHandler.h;SUS_HANDLER
0x5ba1;SUSS_ErrorLockMutex;;0xA1;mission/devices/SusHandler.h;SUS_HANDLER
0x55b0;RWHA_SpiWriteFailure;;0xB0;mission/devices/RwHandler.h;RW_HANDLER
0x55b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;0xB1;mission/devices/RwHandler.h;RW_HANDLER
0x55b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;0xB2;mission/devices/RwHandler.h;RW_HANDLER
@@ -20,12 +20,6 @@
0x55a2;RWHA_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;0xA2;mission/devices/RwHandler.h;RW_HANDLER
0x55a3;RWHA_ExecutionFailed;Command execution failed;0xA3;mission/devices/RwHandler.h;RW_HANDLER
0x55a4;RWHA_CrcError;Reaction wheel reply has invalid crc;0xA4;mission/devices/RwHandler.h;RW_HANDLER
0x6000;GOMS_PacketTooLong;;0;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6001;GOMS_InvalidTableId;;1;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6002;GOMS_InvalidAddress;;2;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6003;GOMS_InvalidParamSize;;3;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6004;GOMS_InvalidPayloadSize;;4;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6005;GOMS_UnknownReplyId;;5;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x54a0;IMTQ_InvalidCommandCode;;0xA0;mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x54a1;IMTQ_ParameterMissing;;0xA1;mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x54a2;IMTQ_ParameterInvalid;;0xA2;mission/devices/IMTQHandler.h;IMTQ_HANDLER
@@ -34,6 +28,17 @@
0x54a5;IMTQ_RejectedWithoutReason;;0xA5;mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x54a6;IMTQ_CmdErrUnknown;;0xA6;mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x54a7;IMTQ_UnexpectedSelfTestReply;The status reply to a self test command was received but no self test command has been sent. This should normally never happen.;0xA7;mission/devices/IMTQHandler.h;IMTQ_HANDLER
0x52a1;HEATER_CommandNotSupported;;0xA1;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a2;HEATER_InitFailed;;0xA2;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a3;HEATER_InvalidSwitchNr;;0xA3;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a4;HEATER_MainSwitchSetTimeout;;0xA4;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a5;HEATER_CommandAlreadyWaiting;;0xA5;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x6000;GOMS_PacketTooLong;;0;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6001;GOMS_InvalidTableId;;1;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6002;GOMS_InvalidAddress;;2;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6003;GOMS_InvalidParamSize;;3;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6004;GOMS_InvalidPayloadSize;;4;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x6005;GOMS_UnknownReplyId;;5;mission/devices/GomspaceDeviceHandler.h;GOM_SPACE_HANDLER
0x53a0;SYRLINKS_CrcFailure;;0xA0;mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x53a1;SYRLINKS_UartFraminOrParityErrorAck;;0xA1;mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x53a2;SYRLINKS_BadCharacterAck;;0xA2;mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
@@ -43,63 +48,93 @@
0x53a6;SYRLINKS_BadCrcAck;;0xA6;mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x53a7;SYRLINKS_ReplyWrongSize;;0xA7;mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x53a8;SYRLINKS_MissingStartFrameCharacter;;0xA8;mission/devices/SyrlinksHkHandler.h;SYRLINKS_HANDLER
0x52a1;HEATER_CommandNotSupported;;0xA1;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a2;HEATER_InitFailed;;0xA2;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a3;HEATER_InvalidSwitchNr;;0xA3;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a4;HEATER_MainSwitchSetTimeout;;0xA4;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x52a5;HEATER_CommandAlreadyWaiting;;0xA5;mission/devices/HeaterHandler.h;HEATER_HANDLER
0x63a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;0xA0;mission/tmtc/CCSDSHandler.h;CCSDS_HANDLER
0x66a0;NVMB_KeyNotExists;Specified key does not exist in json file;0xA0;mission/memory/NVMParameterBase.h;NVM_PARAM_BASE
0x4300; HSPI_OpeningFileFailed;;0;fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h;HAL_SPI
0x4301; HSPI_FullDuplexTransferFailed;;1;fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h;HAL_SPI
0x4302; HSPI_HalfDuplexTransferFailed;;2;fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h;HAL_SPI
0x4401; HURT_UartReadFailure;;1;fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h;HAL_UART
0x4402; HURT_UartReadSizeMissmatch;;2;fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h;HAL_UART
0x4403; HURT_UartRxBufferTooSmall;;3;fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h;HAL_UART
0x4601; HGIO_UnknownGpioId;;1;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4602; HGIO_DriveGpioFailure;;2;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4603; HGIO_GpioTypeFailure;;3;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4604; HGIO_GpioInvalidInstance;;4;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4605; HGIO_GpioDuplicateDetected;;5;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4606; HGIO_GpioInitFailed;;6;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4607; HGIO_GpioGetValueFailed;;7;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4200; UXOS_ExecutionFinished;Execution of the current command has finished;0;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4201; UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4202; UXOS_BytesRead;Some bytes have been read from the executing process;2;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4203; UXOS_CommandError;Command execution failed;3;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4204; UXOS_NoCommandLoadedOrPending;;4;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4206; UXOS_PcloseCallError;;6;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x3b00; LPIF_PoolEntryNotFound;;0x00;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3b01; LPIF_PoolEntryTypeConflict;;0x01;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3d00; HKM_QueueOrDestinationInvalid;;0;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d01; HKM_WrongHkPacketType;;1;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d02; HKM_ReportingStatusUnchanged;;2;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d03; HKM_PeriodicHelperInvalid;;3;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d04; HKM_PoolobjectNotFound;;4;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d05; HKM_DatasetNotFound;;5;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3501; CFDP_InvalidTlvType;;1;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3502; CFDP_InvalidDirectiveFields;;2;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3503; CFDP_InvalidPduDatafieldLen;;3;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3504; CFDP_InvalidAckDirectiveFields;;4;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3505; CFDP_MetadataCantParseOptions;;5;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3506; CFDP_FinishedCantParseFsResponses;;6;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3508; CFDP_FilestoreRequiresSecondFile;;8;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3509; CFDP_FilestoreResponseCantParseFsMessage;;9;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3101; CF_ObjectHasNoFunctions;;1;fsfw/src/fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3102; CF_AlreadyCommanding;;2;fsfw/src/fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3201; HF_IsBusy;;1;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3202; HF_InvalidParameters;;2;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3203; HF_ExecutionFinished;;3;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3204; HF_InvalidActionId;;4;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x2d01; HPA_InvalidIdentifierId;;0x01;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d02; HPA_InvalidDomainId;;0x02;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d03; HPA_InvalidValue;;0x03;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d05; HPA_ReadOnly;;0x05;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2c01; PAW_UnknownDatatype;;0x01;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c02; PAW_DatatypeMissmatch;;0x02;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c03; PAW_Readonly;;0x03;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c04; PAW_TooBig;;0x04;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c05; PAW_SourceNotSet;;0x05;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c06; PAW_OutOfBounds;;0x06;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c07; PAW_NotSet;;0x07;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c08; PAW_ColumnOrRowsZero;;0x08;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x1701; HHI_ObjectNotHealthy;;1;fsfw/src/fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x1702; HHI_InvalidHealthState;;2;fsfw/src/fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x2701; SM_DataTooLarge;;1;fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2702; SM_DataStorageFull;;2;fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2703; SM_IllegalStorageId;;3;fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2704; SM_DataDoesNotExist;;4;fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2705; SM_IllegalAddress;;5;fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x2706; SM_PoolTooLarge;;6;fsfw/src/fsfw/storagemanager/StorageManagerIF.h;STORAGE_MANAGER_IF
0x601; PP_DoItMyself;;1;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x602; PP_PointsToVariable;;2;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x603; PP_PointsToMemory;;3;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x604; PP_ActivityCompleted;;4;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x605; PP_PointsToVectorUint8;;5;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x606; PP_PointsToVectorUint16;;6;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x607; PP_PointsToVectorUint32;;7;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x608; PP_PointsToVectorFloat;;8;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6a0; PP_DumpNotSupported;;0xA0;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e0; PP_InvalidSize;;0xE0;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e1; PP_InvalidAddress;;0xE1;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e2; PP_InvalidContent;;0xE2;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e3; PP_UnalignedAccess;;0xE3;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e4; PP_WriteProtected;;0xE4;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x4100; FILS_GenericFileError;;0;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4101; FILS_IsBusy;;1;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4102; FILS_InvalidParameters;;2;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4105; FILS_FileDoesNotExist;;5;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4106; FILS_FileAlreadyExists;;6;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4107; FILS_FileLocked;;7;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410a; FILS_DirectoryDoesNotExist;;10;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410b; FILS_DirectoryAlreadyExists;;11;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410c; FILS_DirectoryNotEmpty;;12;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410f; FILS_SequencePacketMissingWrite;;15;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4110; FILS_SequencePacketMissingRead;;16;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x13e0; MH_UnknownCmd;;0xE0;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e1; MH_InvalidAddress;;0xE1;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e2; MH_InvalidSize;;0xE2;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e3; MH_StateMismatch;;0xE3;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x37a1; SGP4_InvalidEccentricity;;0xA1;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a2; SGP4_InvalidMeanMotion;;0xA2;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a3; SGP4_InvalidPerturbationElements;;0xA3;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a4; SGP4_InvalidSemiLatusRectum;;0xA4;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a5; SGP4_InvalidEpochElements;;0xA5;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a6; SGP4_SatelliteHasDecayed;;0xA6;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37b1; SGP4_TleTooOld;;0xB1;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37b2; SGP4_TleNotInitialized;;0xB2;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x1101; AL_Full;;0x01;fsfw/src/fsfw/container/ArrayList.h;ARRAY_LIST
0x1501; FM_KeyAlreadyExists;;0x01;fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x1502; FM_MapFull;;0x02;fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x1503; FM_KeyDoesNotExist;;0x03;fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x1801; FF_Full;;1;fsfw/src/fsfw/container/FIFOBase.h;FIFO_CLASS
0x1802; FF_Empty;;2;fsfw/src/fsfw/container/FIFOBase.h;FIFO_CLASS
0x1601; FMM_MapFull;;0x01;fsfw/src/fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x1602; FMM_KeyDoesNotExist;;0x02;fsfw/src/fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x2301; MT_TooDetailedRequest;;1;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2302; MT_TooGeneralRequest;;2;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2303; MT_NoMatch;;3;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2304; MT_Full;;4;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2305; MT_NewNodeCreated;;5;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x3e01; DLEE_StreamTooShort;;0x01;fsfw/src/fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x3e02; DLEE_DecodingError;;0x02;fsfw/src/fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x2e01; ASC_TooLongForTargetType;;1;fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e02; ASC_InvalidCharacters;;2;fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e03; ASC_BufferTooSmall;;0x3;fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x1c01; TCD_PacketLost;;1;fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c02; TCD_DestinationNotFound;;2;fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c03; TCD_ServiceIdAlreadyExists;;3;fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1b00; TCC_IllegalApid;;0;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b01; TCC_IncompletePacket;;1;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b02; TCC_IncorrectChecksum;;2;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b03; TCC_IllegalPacketType;;3;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b04; TCC_IllegalPacketSubtype;;4;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b05; TCC_IncorrectPrimaryHeader;;5;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b06; TCC_IncorrectSecondaryHeader;;6;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x3901; MQI_Empty;;1;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3902; MQI_Full;No space left for more messages;2;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3903; MQI_NoReplyPartner;Returned if a reply method was called without partner;3;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3904; MQI_DestinationInvalid;Returned if the target destination is invalid.;4;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0xf01; CM_UnknownCommand;;1;fsfw/src/fsfw/ipc/CommandMessageIF.h;COMMAND_MESSAGE
0x3801; MUX_NotEnoughResources;;1;fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x3802; MUX_InsufficientMemory;;2;fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x3803; MUX_NoPrivilege;;3;fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
@@ -112,23 +147,20 @@
0x380a; MUX_MutexTimeout;;10;fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x380b; MUX_MutexInvalidId;;11;fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x380c; MUX_MutexDestroyedWhileWaiting;;12;fsfw/src/fsfw/ipc/MutexIF.h;MUTEX_IF
0x3901; MQI_Empty;;1;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3902; MQI_Full;No space left for more messages;2;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3903; MQI_NoReplyPartner;Returned if a reply method was called without partner;3;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0x3904; MQI_DestinationInvalid;Returned if the target destination is invalid.;4;fsfw/src/fsfw/ipc/MessageQueueIF.h;MESSAGE_QUEUE_IF
0xf01; CM_UnknownCommand;;1;fsfw/src/fsfw/ipc/CommandMessageIF.h;COMMAND_MESSAGE
0xe01; HM_InvalidMode;;0x01;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe02; HM_TransNotAllowed;;0x02;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe03; HM_InTransition;;0x03;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe04; HM_InvalidSubmode;;0x04;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x2801; TC_InvalidTargetState;;1;fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f1; TC_AboveOperationalLimit;;0xF1;fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f2; TC_BelowOperationalLimit;;0xF2;fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x801; DPS_InvalidParameterDefinition;;1;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x802; DPS_SetWasAlreadyRead;;2;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x803; DPS_CommitingWithoutReading;;3;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x804; DPS_DataSetUninitialised;;4;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x805; DPS_DataSetFull;;5;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x806; DPS_PoolVarNull;;6;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x3ca0; PVA_InvalidReadWriteMode;;0xA0;fsfw/src/fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x3ca1; PVA_InvalidPoolEntry;;0xA1;fsfw/src/fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0xc02; MS_InvalidEntry;;0x02;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xc03; MS_TooManyElements;;0x03;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xc04; MS_CantStoreEmpty;;0x04;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h;MODE_STORE_IF
0xb01; SB_ChildNotFound;;0x01;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb02; SB_ChildInfoUpdated;;0x02;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb03; SB_ChildDoesntHaveModes;;0x03;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb04; SB_CouldNotInsertChild;;0x04;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb05; SB_TableContainsInvalidObjectId;;0x05;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xd01; SS_SequenceAlreadyExists;;0x01;fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd02; SS_TableAlreadyExists;;0x02;fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xd03; SS_TableDoesNotExist;;0x03;fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
@@ -143,7 +175,53 @@
0xd0e; SS_TableInUse;;0x0E;fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xda1; SS_TargetTableNotReached;;0xA1;fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0xda2; SS_TableCheckFailed;;0xA2;fsfw/src/fsfw/subsystem/Subsystem.h;SUBSYSTEM
0x2401; EV_ListenerNotFound;;1;fsfw/src/fsfw/events/EventManagerIF.h;EVENT_MANAGER_IF
0xb01; SB_ChildNotFound;;0x01;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb02; SB_ChildInfoUpdated;;0x02;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb03; SB_ChildDoesntHaveModes;;0x03;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb04; SB_CouldNotInsertChild;;0x04;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb05; SB_TableContainsInvalidObjectId;;0x05;fsfw/src/fsfw/subsystem/SubsystemBase.h;SUBSYSTEM_BASE
0xb00; SB_ConnBroken;;0;fsfw/src/fsfw/osal/common/TcpTmTcServer.h;SUBSYSTEM_BASE
0x2901; IEC_NoConfigurationTable;;0x01;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2902; IEC_NoCpuTable;;0x02;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2903; IEC_InvalidWorkspaceAddress;;0x03;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2904; IEC_TooLittleWorkspace;;0x04;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2905; IEC_WorkspaceAllocation;;0x05;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2906; IEC_InterruptStackTooSmall;;0x06;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2907; IEC_ThreadExitted;;0x07;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2908; IEC_InconsistentMpInformation;;0x08;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2909; IEC_InvalidNode;;0x09;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290a; IEC_NoMpci;;0x0a;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290b; IEC_BadPacket;;0x0b;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290c; IEC_OutOfPackets;;0x0c;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290d; IEC_OutOfGlobalObjects;;0x0d;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290e; IEC_OutOfProxies;;0x0e;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290f; IEC_InvalidGlobalId;;0x0f;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2910; IEC_BadStackHook;;0x10;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2911; IEC_BadAttributes;;0x11;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2912; IEC_ImplementationKeyCreateInconsistency;;0x12;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2913; IEC_ImplementationBlockingOperationCancel;;0x13;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2914; IEC_MutexObtainFromBadState;;0x14;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2915; IEC_UnlimitedAndMaximumIs0;;0x15;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x1401; SE_BufferTooShort;;1;fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1402; SE_StreamTooShort;;2;fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1403; SE_TooManyElements;;3;fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x4a00; SPPA_NoPacketFound;;0x00;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h;SPACE_PACKET_PARSER
0x4a01; SPPA_SplitPacket;;0x01;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h;SPACE_PACKET_PARSER
0x1d01; PUS_ActivityStarted;;1;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d02; PUS_InvalidSubservice;;2;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d03; PUS_IllegalApplicationData;;3;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d04; PUS_SendTmFailed;;4;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d05; PUS_Timeout;;5;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1f01; CSB_ExecutionComplete;;1;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f02; CSB_NoStepMessage;;2;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f03; CSB_ObjectBusy;;3;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f04; CSB_Busy;;4;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f05; CSB_InvalidTc;;5;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f06; CSB_InvalidObject;;6;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f07; CSB_InvalidReply;;7;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x2500; FDI_YourFault;;0;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2501; FDI_MyFault;;1;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2502; FDI_ConfirmLater;;2;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x4e1; RMP_CommandNoDescriptorsAvailable;;0xE1;fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e2; RMP_CommandBufferFull;;0xE2;fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x4e3; RMP_CommandChannelOutOfRange;;0xE3;fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
@@ -184,128 +262,6 @@
0x40a; RMP_ReplyCommandNotImplementedOrNotAuthorised;;10;fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40b; RMP_ReplyRmwDataLengthError;;11;fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x40c; RMP_ReplyInvalidTargetLogicalAddress;;12;fsfw/src/fsfw/rmap/RMAP.h;RMAP_CHANNEL
0x1401; SE_BufferTooShort;;1;fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1402; SE_StreamTooShort;;2;fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x1403; SE_TooManyElements;;3;fsfw/src/fsfw/serialize/SerializeIF.h;SERIALIZE_IF
0x3ca0; PVA_InvalidReadWriteMode;;0xA0;fsfw/src/fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x3ca1; PVA_InvalidPoolEntry;;0xA1;fsfw/src/fsfw/datapool/PoolVariableIF.h;POOL_VARIABLE_IF
0x801; DPS_InvalidParameterDefinition;;1;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x802; DPS_SetWasAlreadyRead;;2;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x803; DPS_CommitingWithoutReading;;3;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x804; DPS_DataSetUninitialised;;4;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x805; DPS_DataSetFull;;5;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x806; DPS_PoolVarNull;;6;fsfw/src/fsfw/datapool/DataSetIF.h;DATA_SET_CLASS
0x1b00; TCC_IllegalApid;;0;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b01; TCC_IncompletePacket;;1;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b02; TCC_IncorrectChecksum;;2;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b03; TCC_IllegalPacketType;;3;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b04; TCC_IllegalPacketSubtype;;4;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b05; TCC_IncorrectPrimaryHeader;;5;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1b06; TCC_IncorrectSecondaryHeader;;6;fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h;TC_PACKET_CHECK
0x1c01; TCD_PacketLost;;1;fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c02; TCD_DestinationNotFound;;2;fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x1c03; TCD_ServiceIdAlreadyExists;;3;fsfw/src/fsfw/tcdistribution/TcDistributor.h;PACKET_DISTRIBUTION
0x2f01; POS_InPowerTransition;;1;fsfw/src/fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x2f02; POS_SwitchStateMismatch;;2;fsfw/src/fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x501; PS_SwitchOn;;1;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x500; PS_SwitchOff;;0;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x502; PS_SwitchTimeout;;2;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x503; PS_FuseOn;;3;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x504; PS_FuseOff;;4;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x3a00; SPH_ConnBroken;;0;fsfw/src/fsfw/osal/common/TcpTmTcServer.h;SEMAPHORE_IF
0x2901; IEC_NoConfigurationTable;;0x01;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2902; IEC_NoCpuTable;;0x02;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2903; IEC_InvalidWorkspaceAddress;;0x03;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2904; IEC_TooLittleWorkspace;;0x04;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2905; IEC_WorkspaceAllocation;;0x05;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2906; IEC_InterruptStackTooSmall;;0x06;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2907; IEC_ThreadExitted;;0x07;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2908; IEC_InconsistentMpInformation;;0x08;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2909; IEC_InvalidNode;;0x09;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290a; IEC_NoMpci;;0x0a;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290b; IEC_BadPacket;;0x0b;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290c; IEC_OutOfPackets;;0x0c;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290d; IEC_OutOfGlobalObjects;;0x0d;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290e; IEC_OutOfProxies;;0x0e;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x290f; IEC_InvalidGlobalId;;0x0f;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2910; IEC_BadStackHook;;0x10;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2911; IEC_BadAttributes;;0x11;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2912; IEC_ImplementationKeyCreateInconsistency;;0x12;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2913; IEC_ImplementationBlockingOperationCancel;;0x13;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2914; IEC_MutexObtainFromBadState;;0x14;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2915; IEC_UnlimitedAndMaximumIs0;;0x15;fsfw/src/fsfw/osal/InternalErrorCodes.h;INTERNAL_ERROR_CODES
0x2500; FDI_YourFault;;0;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2501; FDI_MyFault;;1;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x2502; FDI_ConfirmLater;;2;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h;HANDLES_FAILURES_IF
0x201; OM_InsertionFailed;;1;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x202; OM_NotFound;;2;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x203; OM_ChildInitFailed;;3;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x204; OM_InternalErrReporterUninit;;4;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x2101; TMF_Busy;;1;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2102; TMF_LastPacketFound;;2;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2103; TMF_StopFetch;;3;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2104; TMF_Timeout;;4;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2105; TMF_TmChannelFull;;5;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2106; TMF_NotStored;;6;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2107; TMF_AllDeleted;;7;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2108; TMF_InvalidData;;8;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2109; TMF_NotReady;;9;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2001; TMB_Busy;;1;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2002; TMB_Full;;2;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2003; TMB_Empty;;3;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2004; TMB_NullRequested;;4;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2005; TMB_TooLarge;;5;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2006; TMB_NotReady;;6;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2007; TMB_DumpError;;7;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2008; TMB_CrcError;;8;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2009; TMB_Timeout;;9;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200a; TMB_IdlePacketFound;;10;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200b; TMB_TelecommandFound;;11;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200c; TMB_NoPusATm;;12;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200d; TMB_TooSmall;;13;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200e; TMB_BlockNotFound;;14;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200f; TMB_InvalidRequest;;15;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2c01; PAW_UnknownDatatype;;0x01;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c02; PAW_DatatypeMissmatch;;0x02;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c03; PAW_Readonly;;0x03;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c04; PAW_TooBig;;0x04;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c05; PAW_SourceNotSet;;0x05;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c06; PAW_OutOfBounds;;0x06;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c07; PAW_NotSet;;0x07;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2c08; PAW_ColumnOrRowsZero;;0x08;fsfw/src/fsfw/parameters/ParameterWrapper.h;PARAMETER_WRAPPER
0x2d01; HPA_InvalidIdentifierId;;0x01;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d02; HPA_InvalidDomainId;;0x02;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d03; HPA_InvalidValue;;0x03;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x2d05; HPA_ReadOnly;;0x05;fsfw/src/fsfw/parameters/HasParametersIF.h;HAS_PARAMETERS_IF
0x3a01; SPH_SemaphoreTimeout;;1;fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3a02; SPH_SemaphoreNotOwned;;2;fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3a03; SPH_SemaphoreInvalid;;3;fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x1a01; TRC_NotEnoughSensors;;1;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a02; TRC_LowestValueOol;;2;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a03; TRC_HighestValueOol;;3;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a04; TRC_BothValuesOol;;4;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a05; TRC_DuplexOol;;5;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x3001; LIM_Unchecked;;1;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3002; LIM_Invalid;;2;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3003; LIM_Unselected;;3;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3004; LIM_BelowLowLimit;;4;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3005; LIM_AboveHighLimit;;5;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3006; LIM_UnexpectedValue;;6;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3007; LIM_OutOfRange;;7;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30a0; LIM_FirstSample;;0xA0;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e0; LIM_InvalidSize;;0xE0;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e1; LIM_WrongType;;0xE1;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e2; LIM_WrongPid;;0xE2;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e3; LIM_WrongLimitId;;0xE3;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30ee; LIM_MonitorNotFound;;0xEE;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3501; CFDP_InvalidTlvType;;1;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3502; CFDP_InvalidDirectiveFields;;2;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3503; CFDP_InvalidPduDatafieldLen;;3;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3504; CFDP_InvalidAckDirectiveFields;;4;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3505; CFDP_MetadataCantParseOptions;;5;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3506; CFDP_FinishedCantParseFsResponses;;6;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3508; CFDP_FilestoreRequiresSecondFile;;8;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x3509; CFDP_FilestoreResponseCantParseFsMessage;;9;fsfw/src/fsfw/cfdp/definitions.h;CFDP
0x2b01; CCS_BcIsSetVrCommand;;0x01;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2b02; CCS_BcIsUnlockCommand;;0x02;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bb0; CCS_BcIllegalCommand;;0xB0;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
@@ -335,12 +291,97 @@
0x2bd1; CCS_ShorterThanHeader;;0xD1;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd2; CCS_TooShortBlockedPacket;;0xD2;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x2bd3; CCS_TooShortMapExtraction;;0xD3;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h;CCSDS_HANDLER_IF
0x3301; DC_NoReplyReceived;;0x01;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3302; DC_ProtocolError;;0x02;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3303; DC_Nullpointer;;0x03;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3304; DC_InvalidCookieType;;0x04;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3305; DC_NotActive;;0x05;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3306; DC_TooMuchData;;0x06;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x37a1; SGP4_InvalidEccentricity;;0xA1;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a2; SGP4_InvalidMeanMotion;;0xA2;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a3; SGP4_InvalidPerturbationElements;;0xA3;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a4; SGP4_InvalidSemiLatusRectum;;0xA4;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a5; SGP4_InvalidEpochElements;;0xA5;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37a6; SGP4_SatelliteHasDecayed;;0xA6;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37b1; SGP4_TleTooOld;;0xB1;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x37b2; SGP4_TleNotInitialized;;0xB2;fsfw/src/fsfw/coordinates/Sgp4Propagator.h;SGP4PROPAGATOR_CLASS
0x13e0; MH_UnknownCmd;;0xE0;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e1; MH_InvalidAddress;;0xE1;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e2; MH_InvalidSize;;0xE2;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x13e3; MH_StateMismatch;;0xE3;fsfw/src/fsfw/memory/MemoryHelper.h;MEMORY_HELPER
0x4100; FILS_GenericFileError;;0;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4101; FILS_IsBusy;;1;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4102; FILS_InvalidParameters;;2;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4105; FILS_FileDoesNotExist;;5;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4106; FILS_FileAlreadyExists;;6;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4107; FILS_FileLocked;;7;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410a; FILS_DirectoryDoesNotExist;;10;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410b; FILS_DirectoryAlreadyExists;;11;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410c; FILS_DirectoryNotEmpty;;12;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x410f; FILS_SequencePacketMissingWrite;;15;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x4110; FILS_SequencePacketMissingRead;;16;fsfw/src/fsfw/memory/HasFileSystemIF.h;FILE_SYSTEM
0x601; PP_DoItMyself;;1;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x602; PP_PointsToVariable;;2;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x603; PP_PointsToMemory;;3;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x604; PP_ActivityCompleted;;4;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x605; PP_PointsToVectorUint8;;5;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x606; PP_PointsToVectorUint16;;6;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x607; PP_PointsToVectorUint32;;7;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x608; PP_PointsToVectorFloat;;8;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6a0; PP_DumpNotSupported;;0xA0;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e0; PP_InvalidSize;;0xE0;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e1; PP_InvalidAddress;;0xE1;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e2; PP_InvalidContent;;0xE2;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e3; PP_UnalignedAccess;;0xE3;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x6e4; PP_WriteProtected;;0xE4;fsfw/src/fsfw/memory/HasMemoryIF.h;HAS_MEMORY_IF
0x201; OM_InsertionFailed;;1;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x202; OM_NotFound;;2;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x203; OM_ChildInitFailed;;3;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x204; OM_InternalErrReporterUninit;;4;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h;OBJECT_MANAGER_IF
0x501; PS_SwitchOn;;1;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x500; PS_SwitchOff;;0;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x502; PS_SwitchTimeout;;2;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x503; PS_FuseOn;;3;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x504; PS_FuseOff;;4;fsfw/src/fsfw/power/PowerSwitchIF.h;POWER_SWITCH_IF
0x2f01; POS_InPowerTransition;;1;fsfw/src/fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x2f02; POS_SwitchStateMismatch;;2;fsfw/src/fsfw/power/PowerSwitcher.h;POWER_SWITCHER
0x1000; TIM_UnsupportedTimeFormat;;0;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1001; TIM_NotEnoughInformationForTargetFormat;;1;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1002; TIM_LengthMismatch;;2;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1003; TIM_InvalidTimeFormat;;3;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1004; TIM_InvalidDayOfYear;;4;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1005; TIM_TimeDoesNotFitFormat;;5;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x3601; TSI_BadTimestamp;;1;fsfw/src/fsfw/timemanager/TimeStamperIF.h;TIME_STAMPER_IF
0x2101; TMF_Busy;;1;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2102; TMF_LastPacketFound;;2;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2103; TMF_StopFetch;;3;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2104; TMF_Timeout;;4;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2105; TMF_TmChannelFull;;5;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2106; TMF_NotStored;;6;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2107; TMF_AllDeleted;;7;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2108; TMF_InvalidData;;8;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2109; TMF_NotReady;;9;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h;TM_STORE_FRONTEND_IF
0x2001; TMB_Busy;;1;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2002; TMB_Full;;2;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2003; TMB_Empty;;3;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2004; TMB_NullRequested;;4;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2005; TMB_TooLarge;;5;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2006; TMB_NotReady;;6;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2007; TMB_DumpError;;7;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2008; TMB_CrcError;;8;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x2009; TMB_Timeout;;9;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200a; TMB_IdlePacketFound;;10;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200b; TMB_TelecommandFound;;11;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200c; TMB_NoPusATm;;12;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200d; TMB_TooSmall;;13;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200e; TMB_BlockNotFound;;14;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0x200f; TMB_InvalidRequest;;15;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h;TM_STORE_BACKEND_IF
0xe01; HM_InvalidMode;;0x01;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe02; HM_TransNotAllowed;;0x02;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe03; HM_InTransition;;0x03;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0xe04; HM_InvalidSubmode;;0x04;fsfw/src/fsfw/modes/HasModesIF.h;HAS_MODES_IF
0x1501; FM_KeyAlreadyExists;;0x01;fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x1502; FM_MapFull;;0x02;fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x1503; FM_KeyDoesNotExist;;0x03;fsfw/src/fsfw/container/FixedMap.h;FIXED_MAP
0x1101; AL_Full;;0x01;fsfw/src/fsfw/container/ArrayList.h;ARRAY_LIST
0x1601; FMM_MapFull;;0x01;fsfw/src/fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x1602; FMM_KeyDoesNotExist;;0x02;fsfw/src/fsfw/container/FixedOrderedMultimap.h;FIXED_MULTIMAP
0x1801; FF_Full;;1;fsfw/src/fsfw/container/FIFOBase.h;FIFO_CLASS
0x1802; FF_Empty;;2;fsfw/src/fsfw/container/FIFOBase.h;FIFO_CLASS
0x3a0; DHB_InvalidChannel;;0xA0;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b0; DHB_AperiodicReply;;0xB0;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
0x3b1; DHB_IgnoreReplyData;;0xB1;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h;DEVICE_HANDLER_BASE
@@ -377,78 +418,34 @@
0x26c3; DHI_DeviceReplyInvalid;;0xC3;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d0; DHI_InvalidCommandParameter;;0xD0;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x26d1; DHI_InvalidNumberOrLengthOfParameters;;0xD1;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h;DEVICE_HANDLER_IF
0x2301; MT_TooDetailedRequest;;1;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2302; MT_TooGeneralRequest;;2;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2303; MT_NoMatch;;3;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2304; MT_Full;;4;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x2305; MT_NewNodeCreated;;5;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h;MATCH_TREE_CLASS
0x3e01; DLEE_StreamTooShort;;0x01;fsfw/src/fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x3e02; DLEE_DecodingError;;0x02;fsfw/src/fsfw/globalfunctions/DleEncoder.h;DLE_ENCODER
0x2e01; ASC_TooLongForTargetType;;1;fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e02; ASC_InvalidCharacters;;2;fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x2e03; ASC_BufferTooSmall;;0x3;fsfw/src/fsfw/globalfunctions/AsciiConverter.h;ASCII_CONVERTER
0x1701; HHI_ObjectNotHealthy;;1;fsfw/src/fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x1702; HHI_InvalidHealthState;;2;fsfw/src/fsfw/health/HasHealthIF.h;HAS_HEALTH_IF
0x3101; CF_ObjectHasNoFunctions;;1;fsfw/src/fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3102; CF_AlreadyCommanding;;2;fsfw/src/fsfw/action/CommandsActionsIF.h;COMMANDS_ACTIONS_IF
0x3201; HF_IsBusy;;1;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3202; HF_InvalidParameters;;2;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3203; HF_ExecutionFinished;;3;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3204; HF_InvalidActionId;;4;fsfw/src/fsfw/action/HasActionsIF.h;HAS_ACTIONS_IF
0x3601; TSI_BadTimestamp;;1;fsfw/src/fsfw/timemanager/TimeStamperIF.h;TIME_STAMPER_IF
0x1000; TIM_UnsupportedTimeFormat;;0;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1001; TIM_NotEnoughInformationForTargetFormat;;1;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1002; TIM_LengthMismatch;;2;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1003; TIM_InvalidTimeFormat;;3;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1004; TIM_InvalidDayOfYear;;4;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x1005; TIM_TimeDoesNotFitFormat;;5;fsfw/src/fsfw/timemanager/CCSDSTime.h;CCSDS_TIME_HELPER_CLASS
0x3b00; LPIF_PoolEntryNotFound;;0x00;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3b01; LPIF_PoolEntryTypeConflict;;0x01;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h;LOCAL_POOL_OWNER_IF
0x3d00; HKM_QueueOrDestinationInvalid;;0;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d01; HKM_WrongHkPacketType;;1;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d02; HKM_ReportingStatusUnchanged;;2;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d03; HKM_PeriodicHelperInvalid;;3;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d04; HKM_PoolobjectNotFound;;4;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x3d05; HKM_DatasetNotFound;;5;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h;HOUSEKEEPING_MANAGER
0x2801; TC_InvalidTargetState;;1;fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f1; TC_AboveOperationalLimit;;0xF1;fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x28f2; TC_BelowOperationalLimit;;0xF2;fsfw/src/fsfw/thermal/ThermalComponentIF.h;THERMAL_COMPONENT_IF
0x1f01; CSB_ExecutionComplete;;1;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f02; CSB_NoStepMessage;;2;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f03; CSB_ObjectBusy;;3;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f04; CSB_Busy;;4;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f05; CSB_InvalidTc;;5;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f06; CSB_InvalidObject;;6;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x1f07; CSB_InvalidReply;;7;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h;COMMAND_SERVICE_BASE
0x4a00; SPPA_NoPacketFound;;0x00;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h;SPACE_PACKET_PARSER
0x4a01; SPPA_SplitPacket;;0x01;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h;SPACE_PACKET_PARSER
0x1d01; PUS_ActivityStarted;;1;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d02; PUS_InvalidSubservice;;2;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d03; PUS_IllegalApplicationData;;3;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d04; PUS_SendTmFailed;;4;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x1d05; PUS_Timeout;;5;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h;ACCEPTS_TELECOMMANDS_IF
0x4300; HSPI_OpeningFileFailed;;0;fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h;HAL_SPI
0x4301; HSPI_FullDuplexTransferFailed;;1;fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h;HAL_SPI
0x4302; HSPI_HalfDuplexTransferFailed;;2;fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h;HAL_SPI
0x4601; HGIO_UnknownGpioId;;1;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4602; HGIO_DriveGpioFailure;;2;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4603; HGIO_GpioTypeFailure;;3;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4604; HGIO_GpioInvalidInstance;;4;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4605; HGIO_GpioDuplicateDetected;;5;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4606; HGIO_GpioInitFailed;;6;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4607; HGIO_GpioGetValueFailed;;7;fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h;HAL_GPIO
0x4401; HURT_UartReadFailure;;1;fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h;HAL_UART
0x4402; HURT_UartReadSizeMissmatch;;2;fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h;HAL_UART
0x4403; HURT_UartRxBufferTooSmall;;3;fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h;HAL_UART
0x4200; UXOS_ExecutionFinished;Execution of the current command has finished;0;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4201; UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4202; UXOS_BytesRead;Some bytes have been read from the executing process;2;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4203; UXOS_CommandError;Command execution failed;3;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4204; UXOS_NoCommandLoadedOrPending;;4;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x4206; UXOS_PcloseCallError;;6;fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h;LINUX_OSAL
0x7300; SCBU_KeyNotFound;;0;bsp_q7s/memory/scratchApi.h;SCRATCH_BUFFER
0x67a0;FSHLP_SdNotMounted;SD card specified with path string not mounted;0xA0;bsp_q7s/memory/FilesystemHelper.h;FILE_SYSTEM_HELPER
0x67a1;FSHLP_FileNotExists;Specified file does not exist on filesystem;0xA1;bsp_q7s/memory/FilesystemHelper.h;FILE_SYSTEM_HELPER
0x3301; DC_NoReplyReceived;;0x01;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3302; DC_ProtocolError;;0x02;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3303; DC_Nullpointer;;0x03;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3304; DC_InvalidCookieType;;0x04;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3305; DC_NotActive;;0x05;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x3306; DC_TooMuchData;;0x06;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h;DEVICE_COMMUNICATION_IF
0x2401; EV_ListenerNotFound;;1;fsfw/src/fsfw/events/EventManagerIF.h;EVENT_MANAGER_IF
0x1a01; TRC_NotEnoughSensors;;1;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a02; TRC_LowestValueOol;;2;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a03; TRC_HighestValueOol;;3;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a04; TRC_BothValuesOol;;4;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x1a05; TRC_DuplexOol;;5;fsfw/src/fsfw/monitoring/TriplexMonitor.h;TRIPLE_REDUNDACY_CHECK
0x3001; LIM_Unchecked;;1;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3002; LIM_Invalid;;2;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3003; LIM_Unselected;;3;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3004; LIM_BelowLowLimit;;4;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3005; LIM_AboveHighLimit;;5;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3006; LIM_UnexpectedValue;;6;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3007; LIM_OutOfRange;;7;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30a0; LIM_FirstSample;;0xA0;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e0; LIM_InvalidSize;;0xE0;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e1; LIM_WrongType;;0xE1;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e2; LIM_WrongPid;;0xE2;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30e3; LIM_WrongLimitId;;0xE3;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x30ee; LIM_MonitorNotFound;;0xEE;fsfw/src/fsfw/monitoring/MonitoringIF.h;LIMITS_IF
0x3a01; SPH_SemaphoreTimeout;;1;fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3a02; SPH_SemaphoreNotOwned;;2;fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x3a03; SPH_SemaphoreInvalid;;3;fsfw/src/fsfw/tasks/SemaphoreIF.h;SEMAPHORE_IF
0x7200; SDMA_OpOngoing;;0;bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x7201; SDMA_AlreadyOn;;1;bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x7202; SDMA_AlreadyMounted;;2;bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
@@ -459,13 +456,9 @@
0x720d; SDMA_UnmountError;;13;bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x720e; SDMA_SystemCallError;;14;bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x720f; SDMA_PopenCallError;;15;bsp_q7s/memory/SdCardManager.h;SD_CARD_MANAGER
0x68a0; PLMPHLP_FileClosedAccidentally;File accidentally close;0xA0;linux/devices/ploc/PlocMPSoCHelper.h;PLOC_MPSOC_HELPER
0x61a0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;0xA0;linux/devices/ploc/PlocMemoryDumper.h;PLOC_MEMORY_DUMPER
0x61a1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;0xA1;linux/devices/ploc/PlocMemoryDumper.h;PLOC_MEMORY_DUMPER
0x5aa0;PLSPVhLP_FileClosedAccidentally;File accidentally close;0xA0;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x5aa1;PLSPVhLP_ProcessTerminated;Process has been terminated by command;0xA1;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x5aa2;PLSPVhLP_PathNotExists;Received command with invalid pathname;0xA2;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x5aa3;PLSPVhLP_EventBufferReplyInvalidApid;Expected event buffer TM but received space packet with other APID;0xA3;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x7300; SCBU_KeyNotFound;;0;bsp_q7s/memory/scratchApi.h;SCRATCH_BUFFER
0x67a0;FSHLP_SdNotMounted;SD card specified with path string not mounted;0xA0;bsp_q7s/memory/FilesystemHelper.h;FILE_SYSTEM_HELPER
0x67a1;FSHLP_FileNotExists;Specified file does not exist on filesystem;0xA1;bsp_q7s/memory/FilesystemHelper.h;FILE_SYSTEM_HELPER
0x6aa0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;0xA0;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h;MPSOC_RETURN_VALUES_IF
0x6aa1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;0xA1;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h;MPSOC_RETURN_VALUES_IF
0x6aa2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;0xA2;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h;MPSOC_RETURN_VALUES_IF
@@ -498,21 +491,19 @@
0x6bb3;SPVRTVIF_SupvHelperExecuting;Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command);0xB3;linux/devices/devicedefinitions/SupvReturnValuesIF.h;SUPV_RETURN_VALUES_IF
0x57e0;DWLPWRON_InvalidMode;Received command has invalid JESD mode (valid modes are 0 - 5);0xE0;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h;DWLPWRON_CMD
0x57e1;DWLPWRON_InvalidLaneRate;Received command has invalid lane rate (valid lane rate are 0 - 9);0xE1;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h;DWLPWRON_CMD
0x61a0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;0xA0;linux/devices/ploc/PlocMemoryDumper.h;PLOC_MEMORY_DUMPER
0x61a1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;0xA1;linux/devices/ploc/PlocMemoryDumper.h;PLOC_MEMORY_DUMPER
0x68a0; PLMPHLP_FileClosedAccidentally;File accidentally close;0xA0;linux/devices/ploc/PlocMPSoCHelper.h;PLOC_MPSOC_HELPER
0x5aa0;PLSPVhLP_FileClosedAccidentally;File accidentally close;0xA0;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x5aa1;PLSPVhLP_ProcessTerminated;Process has been terminated by command;0xA1;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x5aa2;PLSPVhLP_PathNotExists;Received command with invalid pathname;0xA2;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x5aa3;PLSPVhLP_EventBufferReplyInvalidApid;Expected event buffer TM but received space packet with other APID;0xA3;linux/devices/ploc/PlocSupvHelper.h;PLOC_SUPV_HELPER
0x6501;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;linux/devices/startracker/ArcsecJsonParamBase.h;ARCSEC_JSON_BASE
0x6502;JSONBASE_SetNotExists;Requested set does not exist in json file;2;linux/devices/startracker/ArcsecJsonParamBase.h;ARCSEC_JSON_BASE
0x6503;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;linux/devices/startracker/ArcsecJsonParamBase.h;ARCSEC_JSON_BASE
0x56a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;0xA0;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x56a1;STRH_PingFailed;Ping command failed;0xA1;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x56a2;STRH_VersionReqFailed;Status in version reply signals error;0xA2;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x5fa0;STRHLP_SdNotMounted;SD card specified in path string not mounted;0xA0;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa1;STRHLP_FileNotExists;Specified file does not exist on filesystem;0xA1;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa2;STRHLP_PathNotExists;Specified path does not exist;0xA2;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa3;STRHLP_FileCreationFailed;Failed to create download image or read flash file;0xA3;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa4;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;0xA4;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa5;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;0xA5;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa6;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;0xA6;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa7;STRHLP_StatusError;Status field in reply signals error;0xA7;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa8;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);0xA8;linux/devices/startracker/StrHelper.h;STR_HELPER
0x56a3;STRH_InterfaceReqFailed;Status in interface reply signals error;0xA3;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x56a4;STRH_PowerReqFailed;Status in power reply signals error;0xA4;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x56a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;0xA5;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
@@ -535,7 +526,21 @@
0x56b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;0xB6;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x56b7;STRH_StartrackerRunningFirmware;Star tracker is in firmware mode but must be in bootloader mode to execute this command;0xB7;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x56b8;STRH_StartrackerRunningBootloader;Star tracker is in bootloader mode but must be in firmware mode to execute this command;0xB8;linux/devices/startracker/StarTrackerHandler.h;STR_HANDLER
0x5fa0;STRHLP_SdNotMounted;SD card specified in path string not mounted;0xA0;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa1;STRHLP_FileNotExists;Specified file does not exist on filesystem;0xA1;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa2;STRHLP_PathNotExists;Specified path does not exist;0xA2;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa3;STRHLP_FileCreationFailed;Failed to create download image or read flash file;0xA3;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa4;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;0xA4;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa5;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;0xA5;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa6;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;0xA6;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa7;STRHLP_StatusError;Status field in reply signals error;0xA7;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5fa8;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);0xA8;linux/devices/startracker/StrHelper.h;STR_HELPER
0x5ca0;IPCI_PapbBusy;;0xA0;linux/obc/PapbVcInterface.h;CCSDS_IP_CORE_BRIDGE
0x5da0;PTME_UnknownVcId;;0xA0;linux/obc/Ptme.h;PTME
0x64a0;RS_RateNotSupported;The commanded rate is not supported by the current FPGA design;0xA0;linux/obc/PtmeConfig.h;RATE_SETTER
0x64a1;RS_BadBitRate;Bad bitrate has been commanded (e.g. 0);0xA1;linux/obc/PtmeConfig.h;RATE_SETTER
0x64a2;RS_ClkInversionFailed;Failed to invert clock and thus change the time the data is updated with respect to the tx clock;0xA2;linux/obc/PtmeConfig.h;RATE_SETTER
0x64a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;0xA3;linux/obc/PtmeConfig.h;RATE_SETTER
0x62a0;PDEC_AbandonedCltu;;0xA0;linux/obc/PdecHandler.h;PDEC_HANDLER
0x62a1;PDEC_FrameDirty;;0xA1;linux/obc/PdecHandler.h;PDEC_HANDLER
0x62a2;PDEC_FrameIllegalMultipleReasons;;0xA2;linux/obc/PdecHandler.h;PDEC_HANDLER
@@ -551,8 +556,3 @@
0x62ab;PDEC_InvalidVcIdLsb;;0xAB;linux/obc/PdecHandler.h;PDEC_HANDLER
0x62ac;PDEC_NsNotZero;;0xAC;linux/obc/PdecHandler.h;PDEC_HANDLER
0x62ae;PDEC_InvalidBcCc;;0xAE;linux/obc/PdecHandler.h;PDEC_HANDLER
0x64a0;RS_RateNotSupported;The commanded rate is not supported by the current FPGA design;0xA0;linux/obc/PtmeConfig.h;RATE_SETTER
0x64a1;RS_BadBitRate;Bad bitrate has been commanded (e.g. 0);0xA1;linux/obc/PtmeConfig.h;RATE_SETTER
0x64a2;RS_ClkInversionFailed;Failed to invert clock and thus change the time the data is updated with respect to the tx clock;0xA2;linux/obc/PtmeConfig.h;RATE_SETTER
0x64a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;0xA3;linux/obc/PtmeConfig.h;RATE_SETTER
0x5ca0;IPCI_PapbBusy;;0xA0;linux/obc/PapbVcInterface.h;CCSDS_IP_CORE_BRIDGE
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 0x66a0 0x63a0 NVMB_KeyNotExists CCSDS_CommandNotImplemented Specified key does not exist in json file Received action message with unknown action id 0xA0 mission/memory/NVMParameterBase.h mission/tmtc/CCSDSHandler.h NVM_PARAM_BASE CCSDS_HANDLER
0x5ba0 SUSS_ErrorUnlockMutex 0xA0 mission/devices/SusHandler.h SUS_HANDLER
0x5ba1 SUSS_ErrorLockMutex 0xA1 mission/devices/SusHandler.h SUS_HANDLER
4 0x69a0 SADPL_CommandNotSupported 0xA0 mission/devices/SolarArrayDeploymentHandler.h SA_DEPL_HANDLER
5 0x69a1 SADPL_DeploymentAlreadyExecuting 0xA1 mission/devices/SolarArrayDeploymentHandler.h SA_DEPL_HANDLER
6 0x69a2 SADPL_MainSwitchTimeoutFailure 0xA2 mission/devices/SolarArrayDeploymentHandler.h SA_DEPL_HANDLER
7 0x69a3 SADPL_SwitchingDeplSa1Failed 0xA3 mission/devices/SolarArrayDeploymentHandler.h SA_DEPL_HANDLER
8 0x69a4 SADPL_SwitchingDeplSa2Failed 0xA4 mission/devices/SolarArrayDeploymentHandler.h SA_DEPL_HANDLER
9 0x5ba0 SUSS_ErrorUnlockMutex 0xA0 mission/devices/SusHandler.h SUS_HANDLER
10 0x5ba1 SUSS_ErrorLockMutex 0xA1 mission/devices/SusHandler.h SUS_HANDLER
11 0x55b0 RWHA_SpiWriteFailure 0xB0 mission/devices/RwHandler.h RW_HANDLER
12 0x55b1 RWHA_SpiReadFailure Used by the spi send function to tell a failing read call 0xB1 mission/devices/RwHandler.h RW_HANDLER
13 0x55b2 RWHA_MissingStartSign Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E 0xB2 mission/devices/RwHandler.h RW_HANDLER
20 0x55a2 RWHA_SetSpeedCommandInvalidLength Received set speed command has invalid length. Should be 6. 0xA2 mission/devices/RwHandler.h RW_HANDLER
21 0x55a3 RWHA_ExecutionFailed Command execution failed 0xA3 mission/devices/RwHandler.h RW_HANDLER
22 0x55a4 RWHA_CrcError Reaction wheel reply has invalid crc 0xA4 mission/devices/RwHandler.h RW_HANDLER
0x6000 GOMS_PacketTooLong 0 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
0x6001 GOMS_InvalidTableId 1 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
0x6002 GOMS_InvalidAddress 2 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
0x6003 GOMS_InvalidParamSize 3 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
0x6004 GOMS_InvalidPayloadSize 4 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
0x6005 GOMS_UnknownReplyId 5 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
23 0x54a0 IMTQ_InvalidCommandCode 0xA0 mission/devices/IMTQHandler.h IMTQ_HANDLER
24 0x54a1 IMTQ_ParameterMissing 0xA1 mission/devices/IMTQHandler.h IMTQ_HANDLER
25 0x54a2 IMTQ_ParameterInvalid 0xA2 mission/devices/IMTQHandler.h IMTQ_HANDLER
28 0x54a5 IMTQ_RejectedWithoutReason 0xA5 mission/devices/IMTQHandler.h IMTQ_HANDLER
29 0x54a6 IMTQ_CmdErrUnknown 0xA6 mission/devices/IMTQHandler.h IMTQ_HANDLER
30 0x54a7 IMTQ_UnexpectedSelfTestReply The status reply to a self test command was received but no self test command has been sent. This should normally never happen. 0xA7 mission/devices/IMTQHandler.h IMTQ_HANDLER
31 0x52a1 HEATER_CommandNotSupported 0xA1 mission/devices/HeaterHandler.h HEATER_HANDLER
32 0x52a2 HEATER_InitFailed 0xA2 mission/devices/HeaterHandler.h HEATER_HANDLER
33 0x52a3 HEATER_InvalidSwitchNr 0xA3 mission/devices/HeaterHandler.h HEATER_HANDLER
34 0x52a4 HEATER_MainSwitchSetTimeout 0xA4 mission/devices/HeaterHandler.h HEATER_HANDLER
35 0x52a5 HEATER_CommandAlreadyWaiting 0xA5 mission/devices/HeaterHandler.h HEATER_HANDLER
36 0x6000 GOMS_PacketTooLong 0 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
37 0x6001 GOMS_InvalidTableId 1 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
38 0x6002 GOMS_InvalidAddress 2 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
39 0x6003 GOMS_InvalidParamSize 3 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
40 0x6004 GOMS_InvalidPayloadSize 4 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
41 0x6005 GOMS_UnknownReplyId 5 mission/devices/GomspaceDeviceHandler.h GOM_SPACE_HANDLER
42 0x53a0 SYRLINKS_CrcFailure 0xA0 mission/devices/SyrlinksHkHandler.h SYRLINKS_HANDLER
43 0x53a1 SYRLINKS_UartFraminOrParityErrorAck 0xA1 mission/devices/SyrlinksHkHandler.h SYRLINKS_HANDLER
44 0x53a2 SYRLINKS_BadCharacterAck 0xA2 mission/devices/SyrlinksHkHandler.h SYRLINKS_HANDLER
48 0x53a6 SYRLINKS_BadCrcAck 0xA6 mission/devices/SyrlinksHkHandler.h SYRLINKS_HANDLER
49 0x53a7 SYRLINKS_ReplyWrongSize 0xA7 mission/devices/SyrlinksHkHandler.h SYRLINKS_HANDLER
50 0x53a8 SYRLINKS_MissingStartFrameCharacter 0xA8 mission/devices/SyrlinksHkHandler.h SYRLINKS_HANDLER
51 0x52a1 0x66a0 HEATER_CommandNotSupported NVMB_KeyNotExists Specified key does not exist in json file 0xA1 0xA0 mission/devices/HeaterHandler.h mission/memory/NVMParameterBase.h HEATER_HANDLER NVM_PARAM_BASE
52 0x52a2 0x4300 HEATER_InitFailed HSPI_OpeningFileFailed 0xA2 0 mission/devices/HeaterHandler.h fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h HEATER_HANDLER HAL_SPI
53 0x52a3 0x4301 HEATER_InvalidSwitchNr HSPI_FullDuplexTransferFailed 0xA3 1 mission/devices/HeaterHandler.h fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h HEATER_HANDLER HAL_SPI
54 0x52a4 0x4302 HEATER_MainSwitchSetTimeout HSPI_HalfDuplexTransferFailed 0xA4 2 mission/devices/HeaterHandler.h fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h HEATER_HANDLER HAL_SPI
55 0x52a5 0x4401 HEATER_CommandAlreadyWaiting HURT_UartReadFailure 0xA5 1 mission/devices/HeaterHandler.h fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h HEATER_HANDLER HAL_UART
56 0x63a0 0x4402 CCSDS_CommandNotImplemented HURT_UartReadSizeMissmatch Received action message with unknown action id 0xA0 2 mission/tmtc/CCSDSHandler.h fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h CCSDS_HANDLER HAL_UART
57 0x4403 HURT_UartRxBufferTooSmall 3 fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h HAL_UART
58 0x4601 HGIO_UnknownGpioId 1 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
59 0x4602 HGIO_DriveGpioFailure 2 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
60 0x4603 HGIO_GpioTypeFailure 3 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
61 0x4604 HGIO_GpioInvalidInstance 4 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
62 0x4605 HGIO_GpioDuplicateDetected 5 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
63 0x4606 HGIO_GpioInitFailed 6 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
64 0x4607 HGIO_GpioGetValueFailed 7 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
65 0x4200 UXOS_ExecutionFinished Execution of the current command has finished 0 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
66 0x4201 UXOS_CommandPending Command is pending. This will also be returned if the user tries to load another command but a command is still pending 1 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
67 0x4202 UXOS_BytesRead Some bytes have been read from the executing process 2 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
68 0x4203 UXOS_CommandError Command execution failed 3 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
69 0x4204 UXOS_NoCommandLoadedOrPending 4 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
70 0x4206 UXOS_PcloseCallError 6 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
71 0x3b00 LPIF_PoolEntryNotFound 0x00 fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h LOCAL_POOL_OWNER_IF
72 0x3b01 LPIF_PoolEntryTypeConflict 0x01 fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h LOCAL_POOL_OWNER_IF
73 0x3d00 HKM_QueueOrDestinationInvalid 0 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
74 0x3d01 HKM_WrongHkPacketType 1 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
75 0x3d02 HKM_ReportingStatusUnchanged 2 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
76 0x3d03 HKM_PeriodicHelperInvalid 3 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
77 0x3d04 HKM_PoolobjectNotFound 4 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
78 0x3d05 HKM_DatasetNotFound 5 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
79 0x3501 CFDP_InvalidTlvType 1 fsfw/src/fsfw/cfdp/definitions.h CFDP
80 0x3502 CFDP_InvalidDirectiveFields 2 fsfw/src/fsfw/cfdp/definitions.h CFDP
81 0x3503 CFDP_InvalidPduDatafieldLen 3 fsfw/src/fsfw/cfdp/definitions.h CFDP
82 0x3504 CFDP_InvalidAckDirectiveFields 4 fsfw/src/fsfw/cfdp/definitions.h CFDP
83 0x3505 CFDP_MetadataCantParseOptions 5 fsfw/src/fsfw/cfdp/definitions.h CFDP
84 0x3506 CFDP_FinishedCantParseFsResponses 6 fsfw/src/fsfw/cfdp/definitions.h CFDP
85 0x3508 CFDP_FilestoreRequiresSecondFile 8 fsfw/src/fsfw/cfdp/definitions.h CFDP
86 0x3509 CFDP_FilestoreResponseCantParseFsMessage 9 fsfw/src/fsfw/cfdp/definitions.h CFDP
87 0x3101 CF_ObjectHasNoFunctions 1 fsfw/src/fsfw/action/CommandsActionsIF.h COMMANDS_ACTIONS_IF
88 0x3102 CF_AlreadyCommanding 2 fsfw/src/fsfw/action/CommandsActionsIF.h COMMANDS_ACTIONS_IF
89 0x3201 HF_IsBusy 1 fsfw/src/fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
90 0x3202 HF_InvalidParameters 2 fsfw/src/fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
91 0x3203 HF_ExecutionFinished 3 fsfw/src/fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
92 0x3204 HF_InvalidActionId 4 fsfw/src/fsfw/action/HasActionsIF.h HAS_ACTIONS_IF
93 0x2d01 HPA_InvalidIdentifierId 0x01 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
94 0x2d02 HPA_InvalidDomainId 0x02 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
95 0x2d03 HPA_InvalidValue 0x03 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
96 0x2d05 HPA_ReadOnly 0x05 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
97 0x2c01 PAW_UnknownDatatype 0x01 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
98 0x2c02 PAW_DatatypeMissmatch 0x02 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
99 0x2c03 PAW_Readonly 0x03 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
100 0x2c04 PAW_TooBig 0x04 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
101 0x2c05 PAW_SourceNotSet 0x05 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
102 0x2c06 PAW_OutOfBounds 0x06 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
103 0x2c07 PAW_NotSet 0x07 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
104 0x2c08 PAW_ColumnOrRowsZero 0x08 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
105 0x1701 HHI_ObjectNotHealthy 1 fsfw/src/fsfw/health/HasHealthIF.h HAS_HEALTH_IF
106 0x1702 HHI_InvalidHealthState 2 fsfw/src/fsfw/health/HasHealthIF.h HAS_HEALTH_IF
107 0x2701 SM_DataTooLarge 1 fsfw/src/fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
108 0x2702 SM_DataStorageFull 2 fsfw/src/fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
109 0x2703 SM_IllegalStorageId 3 fsfw/src/fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
110 0x2704 SM_DataDoesNotExist 4 fsfw/src/fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
111 0x2705 SM_IllegalAddress 5 fsfw/src/fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
112 0x2706 SM_PoolTooLarge 6 fsfw/src/fsfw/storagemanager/StorageManagerIF.h STORAGE_MANAGER_IF
113 0x601 0x2301 PP_DoItMyself MT_TooDetailedRequest 1 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/matching/MatchTree.h HAS_MEMORY_IF MATCH_TREE_CLASS
114 0x602 0x2302 PP_PointsToVariable MT_TooGeneralRequest 2 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/matching/MatchTree.h HAS_MEMORY_IF MATCH_TREE_CLASS
115 0x603 0x2303 PP_PointsToMemory MT_NoMatch 3 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/matching/MatchTree.h HAS_MEMORY_IF MATCH_TREE_CLASS
116 0x604 0x2304 PP_ActivityCompleted MT_Full 4 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/matching/MatchTree.h HAS_MEMORY_IF MATCH_TREE_CLASS
117 0x605 0x2305 PP_PointsToVectorUint8 MT_NewNodeCreated 5 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/matching/MatchTree.h HAS_MEMORY_IF MATCH_TREE_CLASS
118 0x606 0x3e01 PP_PointsToVectorUint16 DLEE_StreamTooShort 6 0x01 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/DleEncoder.h HAS_MEMORY_IF DLE_ENCODER
119 0x607 0x3e02 PP_PointsToVectorUint32 DLEE_DecodingError 7 0x02 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/DleEncoder.h HAS_MEMORY_IF DLE_ENCODER
120 0x608 0x2e01 PP_PointsToVectorFloat ASC_TooLongForTargetType 8 1 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/AsciiConverter.h HAS_MEMORY_IF ASCII_CONVERTER
121 0x6a0 0x2e02 PP_DumpNotSupported ASC_InvalidCharacters 0xA0 2 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/AsciiConverter.h HAS_MEMORY_IF ASCII_CONVERTER
122 0x6e0 0x2e03 PP_InvalidSize ASC_BufferTooSmall 0xE0 0x3 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/globalfunctions/AsciiConverter.h HAS_MEMORY_IF ASCII_CONVERTER
123 0x6e1 0x1c01 PP_InvalidAddress TCD_PacketLost 0xE1 1 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/tcdistribution/TcDistributor.h HAS_MEMORY_IF PACKET_DISTRIBUTION
124 0x6e2 0x1c02 PP_InvalidContent TCD_DestinationNotFound 0xE2 2 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/tcdistribution/TcDistributor.h HAS_MEMORY_IF PACKET_DISTRIBUTION
125 0x6e3 0x1c03 PP_UnalignedAccess TCD_ServiceIdAlreadyExists 0xE3 3 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/tcdistribution/TcDistributor.h HAS_MEMORY_IF PACKET_DISTRIBUTION
126 0x6e4 0x1b00 PP_WriteProtected TCC_IllegalApid 0xE4 0 fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h HAS_MEMORY_IF TC_PACKET_CHECK
127 0x4100 0x1b01 FILS_GenericFileError TCC_IncompletePacket 0 1 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h FILE_SYSTEM TC_PACKET_CHECK
128 0x4101 0x1b02 FILS_IsBusy TCC_IncorrectChecksum 1 2 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h FILE_SYSTEM TC_PACKET_CHECK
129 0x4102 0x1b03 FILS_InvalidParameters TCC_IllegalPacketType 2 3 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h FILE_SYSTEM TC_PACKET_CHECK
130 0x4105 0x1b04 FILS_FileDoesNotExist TCC_IllegalPacketSubtype 5 4 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h FILE_SYSTEM TC_PACKET_CHECK
131 0x4106 0x1b05 FILS_FileAlreadyExists TCC_IncorrectPrimaryHeader 6 5 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h FILE_SYSTEM TC_PACKET_CHECK
132 0x4107 0x1b06 FILS_FileLocked TCC_IncorrectSecondaryHeader 7 6 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h FILE_SYSTEM TC_PACKET_CHECK
133 0x410a 0x3901 FILS_DirectoryDoesNotExist MQI_Empty 10 1 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/ipc/MessageQueueIF.h FILE_SYSTEM MESSAGE_QUEUE_IF
134 0x410b 0x3902 FILS_DirectoryAlreadyExists MQI_Full No space left for more messages 11 2 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/ipc/MessageQueueIF.h FILE_SYSTEM MESSAGE_QUEUE_IF
135 0x410c 0x3903 FILS_DirectoryNotEmpty MQI_NoReplyPartner Returned if a reply method was called without partner 12 3 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/ipc/MessageQueueIF.h FILE_SYSTEM MESSAGE_QUEUE_IF
136 0x410f 0x3904 FILS_SequencePacketMissingWrite MQI_DestinationInvalid Returned if the target destination is invalid. 15 4 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/ipc/MessageQueueIF.h FILE_SYSTEM MESSAGE_QUEUE_IF
137 0x4110 0xf01 FILS_SequencePacketMissingRead CM_UnknownCommand 16 1 fsfw/src/fsfw/memory/HasFileSystemIF.h fsfw/src/fsfw/ipc/CommandMessageIF.h FILE_SYSTEM COMMAND_MESSAGE
0x13e0 MH_UnknownCmd 0xE0 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
0x13e1 MH_InvalidAddress 0xE1 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
0x13e2 MH_InvalidSize 0xE2 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
0x13e3 MH_StateMismatch 0xE3 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
0x37a1 SGP4_InvalidEccentricity 0xA1 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x37a2 SGP4_InvalidMeanMotion 0xA2 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x37a3 SGP4_InvalidPerturbationElements 0xA3 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x37a4 SGP4_InvalidSemiLatusRectum 0xA4 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x37a5 SGP4_InvalidEpochElements 0xA5 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x37a6 SGP4_SatelliteHasDecayed 0xA6 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x37b1 SGP4_TleTooOld 0xB1 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x37b2 SGP4_TleNotInitialized 0xB2 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
0x1101 AL_Full 0x01 fsfw/src/fsfw/container/ArrayList.h ARRAY_LIST
0x1501 FM_KeyAlreadyExists 0x01 fsfw/src/fsfw/container/FixedMap.h FIXED_MAP
0x1502 FM_MapFull 0x02 fsfw/src/fsfw/container/FixedMap.h FIXED_MAP
0x1503 FM_KeyDoesNotExist 0x03 fsfw/src/fsfw/container/FixedMap.h FIXED_MAP
0x1801 FF_Full 1 fsfw/src/fsfw/container/FIFOBase.h FIFO_CLASS
0x1802 FF_Empty 2 fsfw/src/fsfw/container/FIFOBase.h FIFO_CLASS
0x1601 FMM_MapFull 0x01 fsfw/src/fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
0x1602 FMM_KeyDoesNotExist 0x02 fsfw/src/fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
138 0x3801 MUX_NotEnoughResources 1 fsfw/src/fsfw/ipc/MutexIF.h MUTEX_IF
139 0x3802 MUX_InsufficientMemory 2 fsfw/src/fsfw/ipc/MutexIF.h MUTEX_IF
140 0x3803 MUX_NoPrivilege 3 fsfw/src/fsfw/ipc/MutexIF.h MUTEX_IF
147 0x380a MUX_MutexTimeout 10 fsfw/src/fsfw/ipc/MutexIF.h MUTEX_IF
148 0x380b MUX_MutexInvalidId 11 fsfw/src/fsfw/ipc/MutexIF.h MUTEX_IF
149 0x380c MUX_MutexDestroyedWhileWaiting 12 fsfw/src/fsfw/ipc/MutexIF.h MUTEX_IF
150 0x3901 0x2801 MQI_Empty TC_InvalidTargetState 1 fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/thermal/ThermalComponentIF.h MESSAGE_QUEUE_IF THERMAL_COMPONENT_IF
151 0x3902 0x28f1 MQI_Full TC_AboveOperationalLimit No space left for more messages 2 0xF1 fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/thermal/ThermalComponentIF.h MESSAGE_QUEUE_IF THERMAL_COMPONENT_IF
152 0x3903 0x28f2 MQI_NoReplyPartner TC_BelowOperationalLimit Returned if a reply method was called without partner 3 0xF2 fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/thermal/ThermalComponentIF.h MESSAGE_QUEUE_IF THERMAL_COMPONENT_IF
153 0x3904 0x801 MQI_DestinationInvalid DPS_InvalidParameterDefinition Returned if the target destination is invalid. 4 1 fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/datapool/DataSetIF.h MESSAGE_QUEUE_IF DATA_SET_CLASS
154 0xf01 0x802 CM_UnknownCommand DPS_SetWasAlreadyRead 1 2 fsfw/src/fsfw/ipc/CommandMessageIF.h fsfw/src/fsfw/datapool/DataSetIF.h COMMAND_MESSAGE DATA_SET_CLASS
155 0xe01 0x803 HM_InvalidMode DPS_CommitingWithoutReading 0x01 3 fsfw/src/fsfw/modes/HasModesIF.h fsfw/src/fsfw/datapool/DataSetIF.h HAS_MODES_IF DATA_SET_CLASS
156 0xe02 0x804 HM_TransNotAllowed DPS_DataSetUninitialised 0x02 4 fsfw/src/fsfw/modes/HasModesIF.h fsfw/src/fsfw/datapool/DataSetIF.h HAS_MODES_IF DATA_SET_CLASS
157 0xe03 0x805 HM_InTransition DPS_DataSetFull 0x03 5 fsfw/src/fsfw/modes/HasModesIF.h fsfw/src/fsfw/datapool/DataSetIF.h HAS_MODES_IF DATA_SET_CLASS
158 0xe04 0x806 HM_InvalidSubmode DPS_PoolVarNull 0x04 6 fsfw/src/fsfw/modes/HasModesIF.h fsfw/src/fsfw/datapool/DataSetIF.h HAS_MODES_IF DATA_SET_CLASS
159 0x3ca0 PVA_InvalidReadWriteMode 0xA0 fsfw/src/fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
160 0x3ca1 PVA_InvalidPoolEntry 0xA1 fsfw/src/fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
161 0xc02 MS_InvalidEntry 0x02 fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
162 0xc03 MS_TooManyElements 0x03 fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
163 0xc04 MS_CantStoreEmpty 0x04 fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h MODE_STORE_IF
0xb01 SB_ChildNotFound 0x01 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
0xb02 SB_ChildInfoUpdated 0x02 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
0xb03 SB_ChildDoesntHaveModes 0x03 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
0xb04 SB_CouldNotInsertChild 0x04 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
0xb05 SB_TableContainsInvalidObjectId 0x05 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
164 0xd01 SS_SequenceAlreadyExists 0x01 fsfw/src/fsfw/subsystem/Subsystem.h SUBSYSTEM
165 0xd02 SS_TableAlreadyExists 0x02 fsfw/src/fsfw/subsystem/Subsystem.h SUBSYSTEM
166 0xd03 SS_TableDoesNotExist 0x03 fsfw/src/fsfw/subsystem/Subsystem.h SUBSYSTEM
175 0xd0e SS_TableInUse 0x0E fsfw/src/fsfw/subsystem/Subsystem.h SUBSYSTEM
176 0xda1 SS_TargetTableNotReached 0xA1 fsfw/src/fsfw/subsystem/Subsystem.h SUBSYSTEM
177 0xda2 SS_TableCheckFailed 0xA2 fsfw/src/fsfw/subsystem/Subsystem.h SUBSYSTEM
178 0x2401 0xb01 EV_ListenerNotFound SB_ChildNotFound 1 0x01 fsfw/src/fsfw/events/EventManagerIF.h fsfw/src/fsfw/subsystem/SubsystemBase.h EVENT_MANAGER_IF SUBSYSTEM_BASE
179 0xb02 SB_ChildInfoUpdated 0x02 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
180 0xb03 SB_ChildDoesntHaveModes 0x03 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
181 0xb04 SB_CouldNotInsertChild 0x04 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
182 0xb05 SB_TableContainsInvalidObjectId 0x05 fsfw/src/fsfw/subsystem/SubsystemBase.h SUBSYSTEM_BASE
183 0xb00 SB_ConnBroken 0 fsfw/src/fsfw/osal/common/TcpTmTcServer.h SUBSYSTEM_BASE
184 0x2901 IEC_NoConfigurationTable 0x01 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
185 0x2902 IEC_NoCpuTable 0x02 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
186 0x2903 IEC_InvalidWorkspaceAddress 0x03 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
187 0x2904 IEC_TooLittleWorkspace 0x04 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
188 0x2905 IEC_WorkspaceAllocation 0x05 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
189 0x2906 IEC_InterruptStackTooSmall 0x06 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
190 0x2907 IEC_ThreadExitted 0x07 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
191 0x2908 IEC_InconsistentMpInformation 0x08 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
192 0x2909 IEC_InvalidNode 0x09 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
193 0x290a IEC_NoMpci 0x0a fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
194 0x290b IEC_BadPacket 0x0b fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
195 0x290c IEC_OutOfPackets 0x0c fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
196 0x290d IEC_OutOfGlobalObjects 0x0d fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
197 0x290e IEC_OutOfProxies 0x0e fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
198 0x290f IEC_InvalidGlobalId 0x0f fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
199 0x2910 IEC_BadStackHook 0x10 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
200 0x2911 IEC_BadAttributes 0x11 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
201 0x2912 IEC_ImplementationKeyCreateInconsistency 0x12 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
202 0x2913 IEC_ImplementationBlockingOperationCancel 0x13 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
203 0x2914 IEC_MutexObtainFromBadState 0x14 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
204 0x2915 IEC_UnlimitedAndMaximumIs0 0x15 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
205 0x1401 SE_BufferTooShort 1 fsfw/src/fsfw/serialize/SerializeIF.h SERIALIZE_IF
206 0x1402 SE_StreamTooShort 2 fsfw/src/fsfw/serialize/SerializeIF.h SERIALIZE_IF
207 0x1403 SE_TooManyElements 3 fsfw/src/fsfw/serialize/SerializeIF.h SERIALIZE_IF
208 0x4a00 SPPA_NoPacketFound 0x00 fsfw/src/fsfw/tmtcservices/SpacePacketParser.h SPACE_PACKET_PARSER
209 0x4a01 SPPA_SplitPacket 0x01 fsfw/src/fsfw/tmtcservices/SpacePacketParser.h SPACE_PACKET_PARSER
210 0x1d01 PUS_ActivityStarted 1 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
211 0x1d02 PUS_InvalidSubservice 2 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
212 0x1d03 PUS_IllegalApplicationData 3 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
213 0x1d04 PUS_SendTmFailed 4 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
214 0x1d05 PUS_Timeout 5 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
215 0x1f01 CSB_ExecutionComplete 1 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
216 0x1f02 CSB_NoStepMessage 2 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
217 0x1f03 CSB_ObjectBusy 3 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
218 0x1f04 CSB_Busy 4 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
219 0x1f05 CSB_InvalidTc 5 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
220 0x1f06 CSB_InvalidObject 6 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
221 0x1f07 CSB_InvalidReply 7 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
222 0x2500 FDI_YourFault 0 fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
223 0x2501 FDI_MyFault 1 fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
224 0x2502 FDI_ConfirmLater 2 fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
225 0x4e1 RMP_CommandNoDescriptorsAvailable 0xE1 fsfw/src/fsfw/rmap/RMAP.h RMAP_CHANNEL
226 0x4e2 RMP_CommandBufferFull 0xE2 fsfw/src/fsfw/rmap/RMAP.h RMAP_CHANNEL
227 0x4e3 RMP_CommandChannelOutOfRange 0xE3 fsfw/src/fsfw/rmap/RMAP.h RMAP_CHANNEL
262 0x40a RMP_ReplyCommandNotImplementedOrNotAuthorised 10 fsfw/src/fsfw/rmap/RMAP.h RMAP_CHANNEL
263 0x40b RMP_ReplyRmwDataLengthError 11 fsfw/src/fsfw/rmap/RMAP.h RMAP_CHANNEL
264 0x40c RMP_ReplyInvalidTargetLogicalAddress 12 fsfw/src/fsfw/rmap/RMAP.h RMAP_CHANNEL
0x1401 SE_BufferTooShort 1 fsfw/src/fsfw/serialize/SerializeIF.h SERIALIZE_IF
0x1402 SE_StreamTooShort 2 fsfw/src/fsfw/serialize/SerializeIF.h SERIALIZE_IF
0x1403 SE_TooManyElements 3 fsfw/src/fsfw/serialize/SerializeIF.h SERIALIZE_IF
0x3ca0 PVA_InvalidReadWriteMode 0xA0 fsfw/src/fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
0x3ca1 PVA_InvalidPoolEntry 0xA1 fsfw/src/fsfw/datapool/PoolVariableIF.h POOL_VARIABLE_IF
0x801 DPS_InvalidParameterDefinition 1 fsfw/src/fsfw/datapool/DataSetIF.h DATA_SET_CLASS
0x802 DPS_SetWasAlreadyRead 2 fsfw/src/fsfw/datapool/DataSetIF.h DATA_SET_CLASS
0x803 DPS_CommitingWithoutReading 3 fsfw/src/fsfw/datapool/DataSetIF.h DATA_SET_CLASS
0x804 DPS_DataSetUninitialised 4 fsfw/src/fsfw/datapool/DataSetIF.h DATA_SET_CLASS
0x805 DPS_DataSetFull 5 fsfw/src/fsfw/datapool/DataSetIF.h DATA_SET_CLASS
0x806 DPS_PoolVarNull 6 fsfw/src/fsfw/datapool/DataSetIF.h DATA_SET_CLASS
0x1b00 TCC_IllegalApid 0 fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h TC_PACKET_CHECK
0x1b01 TCC_IncompletePacket 1 fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h TC_PACKET_CHECK
0x1b02 TCC_IncorrectChecksum 2 fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h TC_PACKET_CHECK
0x1b03 TCC_IllegalPacketType 3 fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h TC_PACKET_CHECK
0x1b04 TCC_IllegalPacketSubtype 4 fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h TC_PACKET_CHECK
0x1b05 TCC_IncorrectPrimaryHeader 5 fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h TC_PACKET_CHECK
0x1b06 TCC_IncorrectSecondaryHeader 6 fsfw/src/fsfw/tcdistribution/TcPacketCheckPUS.h TC_PACKET_CHECK
0x1c01 TCD_PacketLost 1 fsfw/src/fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
0x1c02 TCD_DestinationNotFound 2 fsfw/src/fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
0x1c03 TCD_ServiceIdAlreadyExists 3 fsfw/src/fsfw/tcdistribution/TcDistributor.h PACKET_DISTRIBUTION
0x2f01 POS_InPowerTransition 1 fsfw/src/fsfw/power/PowerSwitcher.h POWER_SWITCHER
0x2f02 POS_SwitchStateMismatch 2 fsfw/src/fsfw/power/PowerSwitcher.h POWER_SWITCHER
0x501 PS_SwitchOn 1 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
0x500 PS_SwitchOff 0 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
0x502 PS_SwitchTimeout 2 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
0x503 PS_FuseOn 3 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
0x504 PS_FuseOff 4 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
0x3a00 SPH_ConnBroken 0 fsfw/src/fsfw/osal/common/TcpTmTcServer.h SEMAPHORE_IF
0x2901 IEC_NoConfigurationTable 0x01 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2902 IEC_NoCpuTable 0x02 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2903 IEC_InvalidWorkspaceAddress 0x03 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2904 IEC_TooLittleWorkspace 0x04 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2905 IEC_WorkspaceAllocation 0x05 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2906 IEC_InterruptStackTooSmall 0x06 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2907 IEC_ThreadExitted 0x07 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2908 IEC_InconsistentMpInformation 0x08 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2909 IEC_InvalidNode 0x09 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x290a IEC_NoMpci 0x0a fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x290b IEC_BadPacket 0x0b fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x290c IEC_OutOfPackets 0x0c fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x290d IEC_OutOfGlobalObjects 0x0d fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x290e IEC_OutOfProxies 0x0e fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x290f IEC_InvalidGlobalId 0x0f fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2910 IEC_BadStackHook 0x10 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2911 IEC_BadAttributes 0x11 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2912 IEC_ImplementationKeyCreateInconsistency 0x12 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2913 IEC_ImplementationBlockingOperationCancel 0x13 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2914 IEC_MutexObtainFromBadState 0x14 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2915 IEC_UnlimitedAndMaximumIs0 0x15 fsfw/src/fsfw/osal/InternalErrorCodes.h INTERNAL_ERROR_CODES
0x2500 FDI_YourFault 0 fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
0x2501 FDI_MyFault 1 fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
0x2502 FDI_ConfirmLater 2 fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h HANDLES_FAILURES_IF
0x201 OM_InsertionFailed 1 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
0x202 OM_NotFound 2 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
0x203 OM_ChildInitFailed 3 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
0x204 OM_InternalErrReporterUninit 4 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
0x2101 TMF_Busy 1 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2102 TMF_LastPacketFound 2 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2103 TMF_StopFetch 3 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2104 TMF_Timeout 4 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2105 TMF_TmChannelFull 5 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2106 TMF_NotStored 6 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2107 TMF_AllDeleted 7 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2108 TMF_InvalidData 8 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2109 TMF_NotReady 9 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
0x2001 TMB_Busy 1 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2002 TMB_Full 2 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2003 TMB_Empty 3 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2004 TMB_NullRequested 4 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2005 TMB_TooLarge 5 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2006 TMB_NotReady 6 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2007 TMB_DumpError 7 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2008 TMB_CrcError 8 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2009 TMB_Timeout 9 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x200a TMB_IdlePacketFound 10 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x200b TMB_TelecommandFound 11 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x200c TMB_NoPusATm 12 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x200d TMB_TooSmall 13 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x200e TMB_BlockNotFound 14 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x200f TMB_InvalidRequest 15 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
0x2c01 PAW_UnknownDatatype 0x01 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2c02 PAW_DatatypeMissmatch 0x02 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2c03 PAW_Readonly 0x03 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2c04 PAW_TooBig 0x04 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2c05 PAW_SourceNotSet 0x05 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2c06 PAW_OutOfBounds 0x06 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2c07 PAW_NotSet 0x07 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2c08 PAW_ColumnOrRowsZero 0x08 fsfw/src/fsfw/parameters/ParameterWrapper.h PARAMETER_WRAPPER
0x2d01 HPA_InvalidIdentifierId 0x01 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
0x2d02 HPA_InvalidDomainId 0x02 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
0x2d03 HPA_InvalidValue 0x03 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
0x2d05 HPA_ReadOnly 0x05 fsfw/src/fsfw/parameters/HasParametersIF.h HAS_PARAMETERS_IF
0x3a01 SPH_SemaphoreTimeout 1 fsfw/src/fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
0x3a02 SPH_SemaphoreNotOwned 2 fsfw/src/fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
0x3a03 SPH_SemaphoreInvalid 3 fsfw/src/fsfw/tasks/SemaphoreIF.h SEMAPHORE_IF
0x1a01 TRC_NotEnoughSensors 1 fsfw/src/fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
0x1a02 TRC_LowestValueOol 2 fsfw/src/fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
0x1a03 TRC_HighestValueOol 3 fsfw/src/fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
0x1a04 TRC_BothValuesOol 4 fsfw/src/fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
0x1a05 TRC_DuplexOol 5 fsfw/src/fsfw/monitoring/TriplexMonitor.h TRIPLE_REDUNDACY_CHECK
0x3001 LIM_Unchecked 1 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x3002 LIM_Invalid 2 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x3003 LIM_Unselected 3 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x3004 LIM_BelowLowLimit 4 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x3005 LIM_AboveHighLimit 5 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x3006 LIM_UnexpectedValue 6 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x3007 LIM_OutOfRange 7 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x30a0 LIM_FirstSample 0xA0 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x30e0 LIM_InvalidSize 0xE0 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x30e1 LIM_WrongType 0xE1 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x30e2 LIM_WrongPid 0xE2 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x30e3 LIM_WrongLimitId 0xE3 fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x30ee LIM_MonitorNotFound 0xEE fsfw/src/fsfw/monitoring/MonitoringIF.h LIMITS_IF
0x3501 CFDP_InvalidTlvType 1 fsfw/src/fsfw/cfdp/definitions.h CFDP
0x3502 CFDP_InvalidDirectiveFields 2 fsfw/src/fsfw/cfdp/definitions.h CFDP
0x3503 CFDP_InvalidPduDatafieldLen 3 fsfw/src/fsfw/cfdp/definitions.h CFDP
0x3504 CFDP_InvalidAckDirectiveFields 4 fsfw/src/fsfw/cfdp/definitions.h CFDP
0x3505 CFDP_MetadataCantParseOptions 5 fsfw/src/fsfw/cfdp/definitions.h CFDP
0x3506 CFDP_FinishedCantParseFsResponses 6 fsfw/src/fsfw/cfdp/definitions.h CFDP
0x3508 CFDP_FilestoreRequiresSecondFile 8 fsfw/src/fsfw/cfdp/definitions.h CFDP
0x3509 CFDP_FilestoreResponseCantParseFsMessage 9 fsfw/src/fsfw/cfdp/definitions.h CFDP
265 0x2b01 CCS_BcIsSetVrCommand 0x01 fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
266 0x2b02 CCS_BcIsUnlockCommand 0x02 fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
267 0x2bb0 CCS_BcIllegalCommand 0xB0 fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
291 0x2bd1 CCS_ShorterThanHeader 0xD1 fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
292 0x2bd2 CCS_TooShortBlockedPacket 0xD2 fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
293 0x2bd3 CCS_TooShortMapExtraction 0xD3 fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h CCSDS_HANDLER_IF
294 0x3301 0x37a1 DC_NoReplyReceived SGP4_InvalidEccentricity 0x01 0xA1 fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h DEVICE_COMMUNICATION_IF SGP4PROPAGATOR_CLASS
295 0x3302 0x37a2 DC_ProtocolError SGP4_InvalidMeanMotion 0x02 0xA2 fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h DEVICE_COMMUNICATION_IF SGP4PROPAGATOR_CLASS
296 0x3303 0x37a3 DC_Nullpointer SGP4_InvalidPerturbationElements 0x03 0xA3 fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h DEVICE_COMMUNICATION_IF SGP4PROPAGATOR_CLASS
297 0x3304 0x37a4 DC_InvalidCookieType SGP4_InvalidSemiLatusRectum 0x04 0xA4 fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h DEVICE_COMMUNICATION_IF SGP4PROPAGATOR_CLASS
298 0x3305 0x37a5 DC_NotActive SGP4_InvalidEpochElements 0x05 0xA5 fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h DEVICE_COMMUNICATION_IF SGP4PROPAGATOR_CLASS
299 0x3306 0x37a6 DC_TooMuchData SGP4_SatelliteHasDecayed 0x06 0xA6 fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h DEVICE_COMMUNICATION_IF SGP4PROPAGATOR_CLASS
300 0x37b1 SGP4_TleTooOld 0xB1 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
301 0x37b2 SGP4_TleNotInitialized 0xB2 fsfw/src/fsfw/coordinates/Sgp4Propagator.h SGP4PROPAGATOR_CLASS
302 0x13e0 MH_UnknownCmd 0xE0 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
303 0x13e1 MH_InvalidAddress 0xE1 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
304 0x13e2 MH_InvalidSize 0xE2 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
305 0x13e3 MH_StateMismatch 0xE3 fsfw/src/fsfw/memory/MemoryHelper.h MEMORY_HELPER
306 0x4100 FILS_GenericFileError 0 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
307 0x4101 FILS_IsBusy 1 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
308 0x4102 FILS_InvalidParameters 2 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
309 0x4105 FILS_FileDoesNotExist 5 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
310 0x4106 FILS_FileAlreadyExists 6 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
311 0x4107 FILS_FileLocked 7 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
312 0x410a FILS_DirectoryDoesNotExist 10 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
313 0x410b FILS_DirectoryAlreadyExists 11 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
314 0x410c FILS_DirectoryNotEmpty 12 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
315 0x410f FILS_SequencePacketMissingWrite 15 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
316 0x4110 FILS_SequencePacketMissingRead 16 fsfw/src/fsfw/memory/HasFileSystemIF.h FILE_SYSTEM
317 0x601 PP_DoItMyself 1 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
318 0x602 PP_PointsToVariable 2 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
319 0x603 PP_PointsToMemory 3 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
320 0x604 PP_ActivityCompleted 4 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
321 0x605 PP_PointsToVectorUint8 5 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
322 0x606 PP_PointsToVectorUint16 6 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
323 0x607 PP_PointsToVectorUint32 7 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
324 0x608 PP_PointsToVectorFloat 8 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
325 0x6a0 PP_DumpNotSupported 0xA0 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
326 0x6e0 PP_InvalidSize 0xE0 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
327 0x6e1 PP_InvalidAddress 0xE1 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
328 0x6e2 PP_InvalidContent 0xE2 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
329 0x6e3 PP_UnalignedAccess 0xE3 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
330 0x6e4 PP_WriteProtected 0xE4 fsfw/src/fsfw/memory/HasMemoryIF.h HAS_MEMORY_IF
331 0x201 OM_InsertionFailed 1 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
332 0x202 OM_NotFound 2 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
333 0x203 OM_ChildInitFailed 3 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
334 0x204 OM_InternalErrReporterUninit 4 fsfw/src/fsfw/objectmanager/ObjectManagerIF.h OBJECT_MANAGER_IF
335 0x501 PS_SwitchOn 1 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
336 0x500 PS_SwitchOff 0 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
337 0x502 PS_SwitchTimeout 2 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
338 0x503 PS_FuseOn 3 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
339 0x504 PS_FuseOff 4 fsfw/src/fsfw/power/PowerSwitchIF.h POWER_SWITCH_IF
340 0x2f01 POS_InPowerTransition 1 fsfw/src/fsfw/power/PowerSwitcher.h POWER_SWITCHER
341 0x2f02 POS_SwitchStateMismatch 2 fsfw/src/fsfw/power/PowerSwitcher.h POWER_SWITCHER
342 0x1000 TIM_UnsupportedTimeFormat 0 fsfw/src/fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
343 0x1001 TIM_NotEnoughInformationForTargetFormat 1 fsfw/src/fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
344 0x1002 TIM_LengthMismatch 2 fsfw/src/fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
345 0x1003 TIM_InvalidTimeFormat 3 fsfw/src/fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
346 0x1004 TIM_InvalidDayOfYear 4 fsfw/src/fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
347 0x1005 TIM_TimeDoesNotFitFormat 5 fsfw/src/fsfw/timemanager/CCSDSTime.h CCSDS_TIME_HELPER_CLASS
348 0x3601 TSI_BadTimestamp 1 fsfw/src/fsfw/timemanager/TimeStamperIF.h TIME_STAMPER_IF
349 0x2101 TMF_Busy 1 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
350 0x2102 TMF_LastPacketFound 2 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
351 0x2103 TMF_StopFetch 3 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
352 0x2104 TMF_Timeout 4 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
353 0x2105 TMF_TmChannelFull 5 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
354 0x2106 TMF_NotStored 6 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
355 0x2107 TMF_AllDeleted 7 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
356 0x2108 TMF_InvalidData 8 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
357 0x2109 TMF_NotReady 9 fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h TM_STORE_FRONTEND_IF
358 0x2001 TMB_Busy 1 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
359 0x2002 TMB_Full 2 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
360 0x2003 TMB_Empty 3 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
361 0x2004 TMB_NullRequested 4 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
362 0x2005 TMB_TooLarge 5 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
363 0x2006 TMB_NotReady 6 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
364 0x2007 TMB_DumpError 7 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
365 0x2008 TMB_CrcError 8 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
366 0x2009 TMB_Timeout 9 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
367 0x200a TMB_IdlePacketFound 10 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
368 0x200b TMB_TelecommandFound 11 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
369 0x200c TMB_NoPusATm 12 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
370 0x200d TMB_TooSmall 13 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
371 0x200e TMB_BlockNotFound 14 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
372 0x200f TMB_InvalidRequest 15 fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h TM_STORE_BACKEND_IF
373 0xe01 HM_InvalidMode 0x01 fsfw/src/fsfw/modes/HasModesIF.h HAS_MODES_IF
374 0xe02 HM_TransNotAllowed 0x02 fsfw/src/fsfw/modes/HasModesIF.h HAS_MODES_IF
375 0xe03 HM_InTransition 0x03 fsfw/src/fsfw/modes/HasModesIF.h HAS_MODES_IF
376 0xe04 HM_InvalidSubmode 0x04 fsfw/src/fsfw/modes/HasModesIF.h HAS_MODES_IF
377 0x1501 FM_KeyAlreadyExists 0x01 fsfw/src/fsfw/container/FixedMap.h FIXED_MAP
378 0x1502 FM_MapFull 0x02 fsfw/src/fsfw/container/FixedMap.h FIXED_MAP
379 0x1503 FM_KeyDoesNotExist 0x03 fsfw/src/fsfw/container/FixedMap.h FIXED_MAP
380 0x1101 AL_Full 0x01 fsfw/src/fsfw/container/ArrayList.h ARRAY_LIST
381 0x1601 FMM_MapFull 0x01 fsfw/src/fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
382 0x1602 FMM_KeyDoesNotExist 0x02 fsfw/src/fsfw/container/FixedOrderedMultimap.h FIXED_MULTIMAP
383 0x1801 FF_Full 1 fsfw/src/fsfw/container/FIFOBase.h FIFO_CLASS
384 0x1802 FF_Empty 2 fsfw/src/fsfw/container/FIFOBase.h FIFO_CLASS
385 0x3a0 DHB_InvalidChannel 0xA0 fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
386 0x3b0 DHB_AperiodicReply 0xB0 fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
387 0x3b1 DHB_IgnoreReplyData 0xB1 fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h DEVICE_HANDLER_BASE
418 0x26c3 DHI_DeviceReplyInvalid 0xC3 fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
419 0x26d0 DHI_InvalidCommandParameter 0xD0 fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
420 0x26d1 DHI_InvalidNumberOrLengthOfParameters 0xD1 fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h DEVICE_HANDLER_IF
421 0x2301 0x3301 MT_TooDetailedRequest DC_NoReplyReceived 1 0x01 fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h MATCH_TREE_CLASS DEVICE_COMMUNICATION_IF
422 0x2302 0x3302 MT_TooGeneralRequest DC_ProtocolError 2 0x02 fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h MATCH_TREE_CLASS DEVICE_COMMUNICATION_IF
423 0x2303 0x3303 MT_NoMatch DC_Nullpointer 3 0x03 fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h MATCH_TREE_CLASS DEVICE_COMMUNICATION_IF
424 0x2304 0x3304 MT_Full DC_InvalidCookieType 4 0x04 fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h MATCH_TREE_CLASS DEVICE_COMMUNICATION_IF
425 0x2305 0x3305 MT_NewNodeCreated DC_NotActive 5 0x05 fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h MATCH_TREE_CLASS DEVICE_COMMUNICATION_IF
426 0x3e01 0x3306 DLEE_StreamTooShort DC_TooMuchData 0x01 0x06 fsfw/src/fsfw/globalfunctions/DleEncoder.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h DLE_ENCODER DEVICE_COMMUNICATION_IF
427 0x3e02 0x2401 DLEE_DecodingError EV_ListenerNotFound 0x02 1 fsfw/src/fsfw/globalfunctions/DleEncoder.h fsfw/src/fsfw/events/EventManagerIF.h DLE_ENCODER EVENT_MANAGER_IF
428 0x2e01 0x1a01 ASC_TooLongForTargetType TRC_NotEnoughSensors 1 fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw/monitoring/TriplexMonitor.h ASCII_CONVERTER TRIPLE_REDUNDACY_CHECK
429 0x2e02 0x1a02 ASC_InvalidCharacters TRC_LowestValueOol 2 fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw/monitoring/TriplexMonitor.h ASCII_CONVERTER TRIPLE_REDUNDACY_CHECK
430 0x2e03 0x1a03 ASC_BufferTooSmall TRC_HighestValueOol 0x3 3 fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw/monitoring/TriplexMonitor.h ASCII_CONVERTER TRIPLE_REDUNDACY_CHECK
431 0x1701 0x1a04 HHI_ObjectNotHealthy TRC_BothValuesOol 1 4 fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw/monitoring/TriplexMonitor.h HAS_HEALTH_IF TRIPLE_REDUNDACY_CHECK
432 0x1702 0x1a05 HHI_InvalidHealthState TRC_DuplexOol 2 5 fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw/monitoring/TriplexMonitor.h HAS_HEALTH_IF TRIPLE_REDUNDACY_CHECK
433 0x3101 0x3001 CF_ObjectHasNoFunctions LIM_Unchecked 1 fsfw/src/fsfw/action/CommandsActionsIF.h fsfw/src/fsfw/monitoring/MonitoringIF.h COMMANDS_ACTIONS_IF LIMITS_IF
434 0x3102 0x3002 CF_AlreadyCommanding LIM_Invalid 2 fsfw/src/fsfw/action/CommandsActionsIF.h fsfw/src/fsfw/monitoring/MonitoringIF.h COMMANDS_ACTIONS_IF LIMITS_IF
435 0x3201 0x3003 HF_IsBusy LIM_Unselected 1 3 fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw/monitoring/MonitoringIF.h HAS_ACTIONS_IF LIMITS_IF
436 0x3202 0x3004 HF_InvalidParameters LIM_BelowLowLimit 2 4 fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw/monitoring/MonitoringIF.h HAS_ACTIONS_IF LIMITS_IF
437 0x3203 0x3005 HF_ExecutionFinished LIM_AboveHighLimit 3 5 fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw/monitoring/MonitoringIF.h HAS_ACTIONS_IF LIMITS_IF
438 0x3204 0x3006 HF_InvalidActionId LIM_UnexpectedValue 4 6 fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw/monitoring/MonitoringIF.h HAS_ACTIONS_IF LIMITS_IF
439 0x3601 0x3007 TSI_BadTimestamp LIM_OutOfRange 1 7 fsfw/src/fsfw/timemanager/TimeStamperIF.h fsfw/src/fsfw/monitoring/MonitoringIF.h TIME_STAMPER_IF LIMITS_IF
440 0x1000 0x30a0 TIM_UnsupportedTimeFormat LIM_FirstSample 0 0xA0 fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw/monitoring/MonitoringIF.h CCSDS_TIME_HELPER_CLASS LIMITS_IF
441 0x1001 0x30e0 TIM_NotEnoughInformationForTargetFormat LIM_InvalidSize 1 0xE0 fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw/monitoring/MonitoringIF.h CCSDS_TIME_HELPER_CLASS LIMITS_IF
442 0x1002 0x30e1 TIM_LengthMismatch LIM_WrongType 2 0xE1 fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw/monitoring/MonitoringIF.h CCSDS_TIME_HELPER_CLASS LIMITS_IF
443 0x1003 0x30e2 TIM_InvalidTimeFormat LIM_WrongPid 3 0xE2 fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw/monitoring/MonitoringIF.h CCSDS_TIME_HELPER_CLASS LIMITS_IF
444 0x1004 0x30e3 TIM_InvalidDayOfYear LIM_WrongLimitId 4 0xE3 fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw/monitoring/MonitoringIF.h CCSDS_TIME_HELPER_CLASS LIMITS_IF
445 0x1005 0x30ee TIM_TimeDoesNotFitFormat LIM_MonitorNotFound 5 0xEE fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw/monitoring/MonitoringIF.h CCSDS_TIME_HELPER_CLASS LIMITS_IF
446 0x3b00 0x3a01 LPIF_PoolEntryNotFound SPH_SemaphoreTimeout 0x00 1 fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h fsfw/src/fsfw/tasks/SemaphoreIF.h LOCAL_POOL_OWNER_IF SEMAPHORE_IF
447 0x3b01 0x3a02 LPIF_PoolEntryTypeConflict SPH_SemaphoreNotOwned 0x01 2 fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h fsfw/src/fsfw/tasks/SemaphoreIF.h LOCAL_POOL_OWNER_IF SEMAPHORE_IF
448 0x3d00 0x3a03 HKM_QueueOrDestinationInvalid SPH_SemaphoreInvalid 0 3 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h fsfw/src/fsfw/tasks/SemaphoreIF.h HOUSEKEEPING_MANAGER SEMAPHORE_IF
0x3d01 HKM_WrongHkPacketType 1 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
0x3d02 HKM_ReportingStatusUnchanged 2 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
0x3d03 HKM_PeriodicHelperInvalid 3 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
0x3d04 HKM_PoolobjectNotFound 4 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
0x3d05 HKM_DatasetNotFound 5 fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h HOUSEKEEPING_MANAGER
0x2801 TC_InvalidTargetState 1 fsfw/src/fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
0x28f1 TC_AboveOperationalLimit 0xF1 fsfw/src/fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
0x28f2 TC_BelowOperationalLimit 0xF2 fsfw/src/fsfw/thermal/ThermalComponentIF.h THERMAL_COMPONENT_IF
0x1f01 CSB_ExecutionComplete 1 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
0x1f02 CSB_NoStepMessage 2 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
0x1f03 CSB_ObjectBusy 3 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
0x1f04 CSB_Busy 4 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
0x1f05 CSB_InvalidTc 5 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
0x1f06 CSB_InvalidObject 6 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
0x1f07 CSB_InvalidReply 7 fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h COMMAND_SERVICE_BASE
0x4a00 SPPA_NoPacketFound 0x00 fsfw/src/fsfw/tmtcservices/SpacePacketParser.h SPACE_PACKET_PARSER
0x4a01 SPPA_SplitPacket 0x01 fsfw/src/fsfw/tmtcservices/SpacePacketParser.h SPACE_PACKET_PARSER
0x1d01 PUS_ActivityStarted 1 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
0x1d02 PUS_InvalidSubservice 2 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
0x1d03 PUS_IllegalApplicationData 3 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
0x1d04 PUS_SendTmFailed 4 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
0x1d05 PUS_Timeout 5 fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h ACCEPTS_TELECOMMANDS_IF
0x4300 HSPI_OpeningFileFailed 0 fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h HAL_SPI
0x4301 HSPI_FullDuplexTransferFailed 1 fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h HAL_SPI
0x4302 HSPI_HalfDuplexTransferFailed 2 fsfw/hal/src/fsfw_hal/linux/spi/SpiComIF.h HAL_SPI
0x4601 HGIO_UnknownGpioId 1 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
0x4602 HGIO_DriveGpioFailure 2 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
0x4603 HGIO_GpioTypeFailure 3 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
0x4604 HGIO_GpioInvalidInstance 4 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
0x4605 HGIO_GpioDuplicateDetected 5 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
0x4606 HGIO_GpioInitFailed 6 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
0x4607 HGIO_GpioGetValueFailed 7 fsfw/hal/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h HAL_GPIO
0x4401 HURT_UartReadFailure 1 fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h HAL_UART
0x4402 HURT_UartReadSizeMissmatch 2 fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h HAL_UART
0x4403 HURT_UartRxBufferTooSmall 3 fsfw/hal/src/fsfw_hal/linux/uart/UartComIF.h HAL_UART
0x4200 UXOS_ExecutionFinished Execution of the current command has finished 0 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
0x4201 UXOS_CommandPending Command is pending. This will also be returned if the user tries to load another command but a command is still pending 1 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
0x4202 UXOS_BytesRead Some bytes have been read from the executing process 2 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
0x4203 UXOS_CommandError Command execution failed 3 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
0x4204 UXOS_NoCommandLoadedOrPending 4 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
0x4206 UXOS_PcloseCallError 6 fsfw/hal/src/fsfw_hal/linux/CommandExecutor.h LINUX_OSAL
0x7300 SCBU_KeyNotFound 0 bsp_q7s/memory/scratchApi.h SCRATCH_BUFFER
0x67a0 FSHLP_SdNotMounted SD card specified with path string not mounted 0xA0 bsp_q7s/memory/FilesystemHelper.h FILE_SYSTEM_HELPER
0x67a1 FSHLP_FileNotExists Specified file does not exist on filesystem 0xA1 bsp_q7s/memory/FilesystemHelper.h FILE_SYSTEM_HELPER
449 0x7200 SDMA_OpOngoing 0 bsp_q7s/memory/SdCardManager.h SD_CARD_MANAGER
450 0x7201 SDMA_AlreadyOn 1 bsp_q7s/memory/SdCardManager.h SD_CARD_MANAGER
451 0x7202 SDMA_AlreadyMounted 2 bsp_q7s/memory/SdCardManager.h SD_CARD_MANAGER
456 0x720d SDMA_UnmountError 13 bsp_q7s/memory/SdCardManager.h SD_CARD_MANAGER
457 0x720e SDMA_SystemCallError 14 bsp_q7s/memory/SdCardManager.h SD_CARD_MANAGER
458 0x720f SDMA_PopenCallError 15 bsp_q7s/memory/SdCardManager.h SD_CARD_MANAGER
459 0x68a0 0x7300 PLMPHLP_FileClosedAccidentally SCBU_KeyNotFound File accidentally close 0xA0 0 linux/devices/ploc/PlocMPSoCHelper.h bsp_q7s/memory/scratchApi.h PLOC_MPSOC_HELPER SCRATCH_BUFFER
460 0x61a0 0x67a0 PLMEMDUMP_MramAddressTooHigh FSHLP_SdNotMounted The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000. SD card specified with path string not mounted 0xA0 linux/devices/ploc/PlocMemoryDumper.h bsp_q7s/memory/FilesystemHelper.h PLOC_MEMORY_DUMPER FILE_SYSTEM_HELPER
461 0x61a1 0x67a1 PLMEMDUMP_MramInvalidAddressCombination FSHLP_FileNotExists The specified end address is lower than the start address Specified file does not exist on filesystem 0xA1 linux/devices/ploc/PlocMemoryDumper.h bsp_q7s/memory/FilesystemHelper.h PLOC_MEMORY_DUMPER FILE_SYSTEM_HELPER
0x5aa0 PLSPVhLP_FileClosedAccidentally File accidentally close 0xA0 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
0x5aa1 PLSPVhLP_ProcessTerminated Process has been terminated by command 0xA1 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
0x5aa2 PLSPVhLP_PathNotExists Received command with invalid pathname 0xA2 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
0x5aa3 PLSPVhLP_EventBufferReplyInvalidApid Expected event buffer TM but received space packet with other APID 0xA3 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
462 0x6aa0 MPSOCRTVIF_CrcFailure Space Packet received from PLOC has invalid CRC 0xA0 linux/devices/devicedefinitions/MPSoCReturnValuesIF.h MPSOC_RETURN_VALUES_IF
463 0x6aa1 MPSOCRTVIF_ReceivedAckFailure Received ACK failure reply from PLOC 0xA1 linux/devices/devicedefinitions/MPSoCReturnValuesIF.h MPSOC_RETURN_VALUES_IF
464 0x6aa2 MPSOCRTVIF_ReceivedExeFailure Received execution failure reply from PLOC 0xA2 linux/devices/devicedefinitions/MPSoCReturnValuesIF.h MPSOC_RETURN_VALUES_IF
491 0x6bb3 SPVRTVIF_SupvHelperExecuting Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command) 0xB3 linux/devices/devicedefinitions/SupvReturnValuesIF.h SUPV_RETURN_VALUES_IF
492 0x57e0 DWLPWRON_InvalidMode Received command has invalid JESD mode (valid modes are 0 - 5) 0xE0 linux/devices/devicedefinitions/PlocMPSoCDefinitions.h DWLPWRON_CMD
493 0x57e1 DWLPWRON_InvalidLaneRate Received command has invalid lane rate (valid lane rate are 0 - 9) 0xE1 linux/devices/devicedefinitions/PlocMPSoCDefinitions.h DWLPWRON_CMD
494 0x61a0 PLMEMDUMP_MramAddressTooHigh The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000. 0xA0 linux/devices/ploc/PlocMemoryDumper.h PLOC_MEMORY_DUMPER
495 0x61a1 PLMEMDUMP_MramInvalidAddressCombination The specified end address is lower than the start address 0xA1 linux/devices/ploc/PlocMemoryDumper.h PLOC_MEMORY_DUMPER
496 0x68a0 PLMPHLP_FileClosedAccidentally File accidentally close 0xA0 linux/devices/ploc/PlocMPSoCHelper.h PLOC_MPSOC_HELPER
497 0x5aa0 PLSPVhLP_FileClosedAccidentally File accidentally close 0xA0 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
498 0x5aa1 PLSPVhLP_ProcessTerminated Process has been terminated by command 0xA1 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
499 0x5aa2 PLSPVhLP_PathNotExists Received command with invalid pathname 0xA2 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
500 0x5aa3 PLSPVhLP_EventBufferReplyInvalidApid Expected event buffer TM but received space packet with other APID 0xA3 linux/devices/ploc/PlocSupvHelper.h PLOC_SUPV_HELPER
501 0x6501 JSONBASE_JsonFileNotExists Specified json file does not exist 1 linux/devices/startracker/ArcsecJsonParamBase.h ARCSEC_JSON_BASE
502 0x6502 JSONBASE_SetNotExists Requested set does not exist in json file 2 linux/devices/startracker/ArcsecJsonParamBase.h ARCSEC_JSON_BASE
503 0x6503 JSONBASE_ParamNotExists Requested parameter does not exist in json file 3 linux/devices/startracker/ArcsecJsonParamBase.h ARCSEC_JSON_BASE
504 0x56a0 STRH_TemperatureReqFailed Status in temperature reply signals error 0xA0 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
505 0x56a1 STRH_PingFailed Ping command failed 0xA1 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
506 0x56a2 STRH_VersionReqFailed Status in version reply signals error 0xA2 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
0x5fa0 STRHLP_SdNotMounted SD card specified in path string not mounted 0xA0 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa1 STRHLP_FileNotExists Specified file does not exist on filesystem 0xA1 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa2 STRHLP_PathNotExists Specified path does not exist 0xA2 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa3 STRHLP_FileCreationFailed Failed to create download image or read flash file 0xA3 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa4 STRHLP_RegionMismatch Region in flash write/read reply does not match expected region 0xA4 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa5 STRHLP_AddressMismatch Address in flash write/read reply does not match expected address 0xA5 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa6 STRHLP_LengthMismatch Length in flash write/read reply does not match expected length 0xA6 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa7 STRHLP_StatusError Status field in reply signals error 0xA7 linux/devices/startracker/StrHelper.h STR_HELPER
0x5fa8 STRHLP_InvalidTypeId Reply has invalid type ID (should be of action reply type) 0xA8 linux/devices/startracker/StrHelper.h STR_HELPER
507 0x56a3 STRH_InterfaceReqFailed Status in interface reply signals error 0xA3 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
508 0x56a4 STRH_PowerReqFailed Status in power reply signals error 0xA4 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
509 0x56a5 STRH_SetParamFailed Status of reply to parameter set command signals error 0xA5 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
526 0x56b6 STRH_StartrackerAlreadyBooted Star tracker is already in firmware mode 0xB6 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
527 0x56b7 STRH_StartrackerRunningFirmware Star tracker is in firmware mode but must be in bootloader mode to execute this command 0xB7 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
528 0x56b8 STRH_StartrackerRunningBootloader Star tracker is in bootloader mode but must be in firmware mode to execute this command 0xB8 linux/devices/startracker/StarTrackerHandler.h STR_HANDLER
529 0x5fa0 STRHLP_SdNotMounted SD card specified in path string not mounted 0xA0 linux/devices/startracker/StrHelper.h STR_HELPER
530 0x5fa1 STRHLP_FileNotExists Specified file does not exist on filesystem 0xA1 linux/devices/startracker/StrHelper.h STR_HELPER
531 0x5fa2 STRHLP_PathNotExists Specified path does not exist 0xA2 linux/devices/startracker/StrHelper.h STR_HELPER
532 0x5fa3 STRHLP_FileCreationFailed Failed to create download image or read flash file 0xA3 linux/devices/startracker/StrHelper.h STR_HELPER
533 0x5fa4 STRHLP_RegionMismatch Region in flash write/read reply does not match expected region 0xA4 linux/devices/startracker/StrHelper.h STR_HELPER
534 0x5fa5 STRHLP_AddressMismatch Address in flash write/read reply does not match expected address 0xA5 linux/devices/startracker/StrHelper.h STR_HELPER
535 0x5fa6 STRHLP_LengthMismatch Length in flash write/read reply does not match expected length 0xA6 linux/devices/startracker/StrHelper.h STR_HELPER
536 0x5fa7 STRHLP_StatusError Status field in reply signals error 0xA7 linux/devices/startracker/StrHelper.h STR_HELPER
537 0x5fa8 STRHLP_InvalidTypeId Reply has invalid type ID (should be of action reply type) 0xA8 linux/devices/startracker/StrHelper.h STR_HELPER
538 0x5ca0 IPCI_PapbBusy 0xA0 linux/obc/PapbVcInterface.h CCSDS_IP_CORE_BRIDGE
539 0x5da0 PTME_UnknownVcId 0xA0 linux/obc/Ptme.h PTME
540 0x64a0 RS_RateNotSupported The commanded rate is not supported by the current FPGA design 0xA0 linux/obc/PtmeConfig.h RATE_SETTER
541 0x64a1 RS_BadBitRate Bad bitrate has been commanded (e.g. 0) 0xA1 linux/obc/PtmeConfig.h RATE_SETTER
542 0x64a2 RS_ClkInversionFailed Failed to invert clock and thus change the time the data is updated with respect to the tx clock 0xA2 linux/obc/PtmeConfig.h RATE_SETTER
543 0x64a3 RS_TxManipulatorConfigFailed Failed to change configuration bit of tx clock manipulator 0xA3 linux/obc/PtmeConfig.h RATE_SETTER
544 0x62a0 PDEC_AbandonedCltu 0xA0 linux/obc/PdecHandler.h PDEC_HANDLER
545 0x62a1 PDEC_FrameDirty 0xA1 linux/obc/PdecHandler.h PDEC_HANDLER
546 0x62a2 PDEC_FrameIllegalMultipleReasons 0xA2 linux/obc/PdecHandler.h PDEC_HANDLER
556 0x62ab PDEC_InvalidVcIdLsb 0xAB linux/obc/PdecHandler.h PDEC_HANDLER
557 0x62ac PDEC_NsNotZero 0xAC linux/obc/PdecHandler.h PDEC_HANDLER
558 0x62ae PDEC_InvalidBcCc 0xAE linux/obc/PdecHandler.h PDEC_HANDLER
0x64a0 RS_RateNotSupported The commanded rate is not supported by the current FPGA design 0xA0 linux/obc/PtmeConfig.h RATE_SETTER
0x64a1 RS_BadBitRate Bad bitrate has been commanded (e.g. 0) 0xA1 linux/obc/PtmeConfig.h RATE_SETTER
0x64a2 RS_ClkInversionFailed Failed to invert clock and thus change the time the data is updated with respect to the tx clock 0xA2 linux/obc/PtmeConfig.h RATE_SETTER
0x64a3 RS_TxManipulatorConfigFailed Failed to change configuration bit of tx clock manipulator 0xA3 linux/obc/PtmeConfig.h RATE_SETTER
0x5ca0 IPCI_PapbBusy 0xA0 linux/obc/PapbVcInterface.h CCSDS_IP_CORE_BRIDGE

View File

@@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 200 translations.
* @brief Auto-generated event translation file. Contains 204 translations.
* @details
* Generated on: 2022-05-11 17:58:22
* Generated on: 2022-05-13 18:40:51
*/
#include "translateEvents.h"
@@ -90,9 +90,12 @@ const char *SWITCHING_Q7S_DENIED_STRING = "SWITCHING_Q7S_DENIED";
const char *FDIR_REACTION_IGNORED_STRING = "FDIR_REACTION_IGNORED";
const char *GPIO_PULL_HIGH_FAILED_STRING = "GPIO_PULL_HIGH_FAILED";
const char *GPIO_PULL_LOW_FAILED_STRING = "GPIO_PULL_LOW_FAILED";
const char *HEATER_WENT_ON_STRING = "HEATER_WENT_ON";
const char *HEATER_WENT_OFF_STRING = "HEATER_WENT_OFF";
const char *SWITCH_ALREADY_ON_STRING = "SWITCH_ALREADY_ON";
const char *SWITCH_ALREADY_OFF_STRING = "SWITCH_ALREADY_OFF";
const char *MAIN_SWITCH_TIMEOUT_STRING = "MAIN_SWITCH_TIMEOUT";
const char *FAULTY_HEATER_WAS_ON_STRING = "FAULTY_HEATER_WAS_ON";
const char *MAIN_SWITCH_ON_TIMEOUT_STRING = "MAIN_SWITCH_ON_TIMEOUT";
const char *MAIN_SWITCH_OFF_TIMEOUT_STRING = "MAIN_SWITCH_OFF_TIMEOUT";
const char *DEPLOYMENT_FAILED_STRING = "DEPLOYMENT_FAILED";
@@ -197,6 +200,7 @@ const char *SUPV_ACK_INVALID_APID_STRING = "SUPV_ACK_INVALID_APID";
const char *SUPV_EXE_INVALID_APID_STRING = "SUPV_EXE_INVALID_APID";
const char *ACK_RECEPTION_FAILURE_STRING = "ACK_RECEPTION_FAILURE";
const char *EXE_RECEPTION_FAILURE_STRING = "EXE_RECEPTION_FAILURE";
const char *WRITE_MEMORY_FAILED_STRING = "WRITE_MEMORY_FAILED";
const char *ALLOC_FAILURE_STRING = "ALLOC_FAILURE";
const char *REBOOT_SW_STRING = "REBOOT_SW";
const char *REBOOT_MECHANISM_TRIGGERED_STRING = "REBOOT_MECHANISM_TRIGGERED";
@@ -375,11 +379,17 @@ const char *translateEvents(Event event) {
case (11401):
return GPIO_PULL_LOW_FAILED_STRING;
case (11402):
return SWITCH_ALREADY_ON_STRING;
return HEATER_WENT_ON_STRING;
case (11403):
return SWITCH_ALREADY_OFF_STRING;
return HEATER_WENT_OFF_STRING;
case (11404):
return SWITCH_ALREADY_ON_STRING;
case (11405):
return SWITCH_ALREADY_OFF_STRING;
case (11406):
return MAIN_SWITCH_TIMEOUT_STRING;
case (11407):
return FAULTY_HEATER_WAS_ON_STRING;
case (11500):
return MAIN_SWITCH_ON_TIMEOUT_STRING;
case (11501):
@@ -588,6 +598,8 @@ const char *translateEvents(Event event) {
return ACK_RECEPTION_FAILURE_STRING;
case (13616):
return EXE_RECEPTION_FAILURE_STRING;
case (13617):
return WRITE_MEMORY_FAILED_STRING;
case (13700):
return ALLOC_FAILURE_STRING;
case (13701):

View File

@@ -1,8 +1,8 @@
/**
* @brief Auto-generated object translation file.
* @details
* Contains 118 translations.
* Generated on: 2022-05-11 17:58:22
* Contains 129 translations.
* Generated on: 2022-05-12 20:45:27
*/
#include "translateObjects.h"
@@ -45,9 +45,12 @@ const char *ACU_HANDLER_STRING = "ACU_HANDLER";
const char *BPX_BATT_HANDLER_STRING = "BPX_BATT_HANDLER";
const char *PLPCDU_HANDLER_STRING = "PLPCDU_HANDLER";
const char *RAD_SENSOR_STRING = "RAD_SENSOR";
const char *PLOC_UPDATER_STRING = "PLOC_UPDATER";
const char *PLOC_MEMORY_DUMPER_STRING = "PLOC_MEMORY_DUMPER";
const char *STR_HELPER_STRING = "STR_HELPER";
const char *PLOC_MPSOC_HELPER_STRING = "PLOC_MPSOC_HELPER";
const char *AXI_PTME_CONFIG_STRING = "AXI_PTME_CONFIG";
const char *PTME_CONFIG_STRING = "PTME_CONFIG";
const char *PLOC_MPSOC_HANDLER_STRING = "PLOC_MPSOC_HANDLER";
const char *PLOC_SUPERVISOR_HANDLER_STRING = "PLOC_SUPERVISOR_HANDLER";
const char *PLOC_SUPERVISOR_HELPER_STRING = "PLOC_SUPERVISOR_HELPER";
@@ -117,6 +120,14 @@ const char *DUMMY_HANDLER_STRING = "DUMMY_HANDLER";
const char *DUMMY_INTERFACE_STRING = "DUMMY_INTERFACE";
const char *LIBGPIOD_TEST_STRING = "LIBGPIOD_TEST";
const char *TEST_TASK_STRING = "TEST_TASK";
const char *HEATER_0_PLOC_PROC_BRD_STRING = "HEATER_0_PLOC_PROC_BRD";
const char *HEATER_1_PCDU_BRD_STRING = "HEATER_1_PCDU_BRD";
const char *HEATER_2_ACS_BRD_STRING = "HEATER_2_ACS_BRD";
const char *HEATER_3_OBC_BRD_STRING = "HEATER_3_OBC_BRD";
const char *HEATER_4_CAMERA_STRING = "HEATER_4_CAMERA";
const char *HEATER_5_STR_STRING = "HEATER_5_STR";
const char *HEATER_6_DRO_STRING = "HEATER_6_DRO";
const char *HEATER_7_HPA_STRING = "HEATER_7_HPA";
const char *ACS_BOARD_ASS_STRING = "ACS_BOARD_ASS";
const char *SUS_BOARD_ASS_STRING = "SUS_BOARD_ASS";
const char *TCS_BOARD_ASS_STRING = "TCS_BOARD_ASS";
@@ -205,12 +216,18 @@ const char *translateObject(object_id_t object) {
return PLPCDU_HANDLER_STRING;
case 0x443200A5:
return RAD_SENSOR_STRING;
case 0x44330000:
return PLOC_UPDATER_STRING;
case 0x44330001:
return PLOC_MEMORY_DUMPER_STRING;
case 0x44330002:
return STR_HELPER_STRING;
case 0x44330003:
return PLOC_MPSOC_HELPER_STRING;
case 0x44330004:
return AXI_PTME_CONFIG_STRING;
case 0x44330005:
return PTME_CONFIG_STRING;
case 0x44330015:
return PLOC_MPSOC_HANDLER_STRING;
case 0x44330016:
@@ -349,6 +366,22 @@ const char *translateObject(object_id_t object) {
return LIBGPIOD_TEST_STRING;
case 0x54694269:
return TEST_TASK_STRING;
case 0x60000000:
return HEATER_0_PLOC_PROC_BRD_STRING;
case 0x60000001:
return HEATER_1_PCDU_BRD_STRING;
case 0x60000002:
return HEATER_2_ACS_BRD_STRING;
case 0x60000003:
return HEATER_3_OBC_BRD_STRING;
case 0x60000004:
return HEATER_4_CAMERA_STRING;
case 0x60000005:
return HEATER_5_STR_STRING;
case 0x60000006:
return HEATER_6_DRO_STRING;
case 0x60000007:
return HEATER_7_HPA_STRING;
case 0x73000001:
return ACS_BOARD_ASS_STRING;
case 0x73000002:

View File

@@ -309,6 +309,10 @@ class ApidOnlyPacket : public SpacePacket {
*/
class MPSoCBootSelect : public SpacePacket {
public:
static const uint8_t NVM0 = 0;
static const uint8_t NVM1 = 1;
/**
* @brief Constructor
*
@@ -317,7 +321,7 @@ class MPSoCBootSelect : public SpacePacket {
* @param bp1 Partition pin 1
* @param bp2 Partition pin 2
*/
MPSoCBootSelect(uint8_t mem, uint8_t bp0, uint8_t bp1, uint8_t bp2)
MPSoCBootSelect(uint8_t mem = 0, uint8_t bp0 = 0, uint8_t bp1 = 0, uint8_t bp2 = 0)
: SpacePacket(DATA_FIELD_LENGTH - 1, true, APID_SEL_MPSOC_BOOT_IMAGE, DEFAULT_SEQUENCE_COUNT),
mem(mem),
bp0(bp0),
@@ -1460,7 +1464,9 @@ class ExecutionReport : public VerificationReport {
OUT_OF_RANGE = 0x103,
OUT_OF_HEAP_MEMORY = 0x104,
INVALID_STATE_TRANSITION = 0x105,
MPSOC_BOOT_FAILED = 0x106,
MPSOC_ALREADY_BOOTING = 0x106,
MPSOC_ALREADY_OPERATIONAL = 0x107,
MPSOC_BOOT_FAILED = 0x108,
SP_NOT_AVAILABLE = 0x200,
SP_DATA_INSUFFICIENT = 0x201,
SP_MEMORY_ID_INVALID = 0x202,
@@ -1594,6 +1600,14 @@ class ExecutionReport : public VerificationReport {
sif::warning << STATUS_PRINTOUT_PREFIX << "Invalid state transition" << std::endl;
break;
}
case StatusCode::MPSOC_ALREADY_BOOTING: {
sif::warning << STATUS_PRINTOUT_PREFIX << "MPSoC already booting" << std::endl;
break;
}
case StatusCode::MPSOC_ALREADY_OPERATIONAL: {
sif::warning << STATUS_PRINTOUT_PREFIX << "MPSoC already operational" << std::endl;
break;
}
case StatusCode::MPSOC_BOOT_FAILED: {
sif::warning << STATUS_PRINTOUT_PREFIX << "MPSoC boot failed" << std::endl;
break;

View File

@@ -108,7 +108,11 @@ class PlocMPSoCHandler : public DeviceHandlerBase, public CommandsActionsIF {
MessageQueueIF* eventQueue = nullptr;
MessageQueueIF* commandActionHelperQueue = nullptr;
SourceSequenceCounter sequenceCount;
// Initiate the sequence count with the maximum value. It is incremented before
// a packet is sent, so the first value will be 0 accordingly using
// the wrap around of the counter.
SourceSequenceCounter sequenceCount =
SourceSequenceCounter(SpacePacketBase::LIMIT_SEQUENCE_COUNT - 1);
uint8_t commandBuffer[mpsoc::MAX_COMMAND_SIZE];

View File

@@ -1062,8 +1062,8 @@ ReturnValue_t PlocSupervisorHandler::handleBootStatusReport(const uint8_t* data)
nextReplyId = supv::EXE_REPORT;
#if OBSW_VERBOSE_LEVEL >= 1 && OBSW_DEBUG_PLOC_SUPERVISOR == 1
sif::info << "PlocSupervisorHandler::handleBootStatusReport: SoC State (0 - off, 1 - booting, 3 "
"- operating, 4 - Shutdown): "
sif::info << "PlocSupervisorHandler::handleBootStatusReport: SoC State (0 - off, 1 - booting, 2 - Update, 3 "
"- operating, 4 - Shutdown, 5 - Reset): "
<< static_cast<unsigned int>(bootStatusReport.socState.value) << std::endl;
sif::info << "PlocSupervisorHandler::handleBootStatusReport: Power Cycles: "
<< static_cast<unsigned int>(bootStatusReport.powerCycles.value) << std::endl;

View File

@@ -10,6 +10,7 @@
#endif
#include "fsfw/globalfunctions/CRC.h"
#include "fsfw/tasks/TaskFactory.h"
#include "fsfw/timemanager/Countdown.h"
#include "mission/utility/Filenaming.h"
#include "mission/utility/ProgressPrinter.h"
@@ -158,10 +159,12 @@ ReturnValue_t PlocSupvHelper::performUpdate() {
uint16_t dataLength = 0;
size_t bytesWritten = 0;
uint16_t sequenceCount = 1;
uint32_t packetNum = 1;
supv::SequenceFlags seqFlags = supv::SequenceFlags::FIRST_PKT;
while (remainingSize > 0) {
if (terminate) {
terminate = false;
triggerEvent(TERMINATED_UPDATE_PROCEDURE);
return PROCESS_TERMINATED;
}
if (remainingSize > supv::WriteMemory::CHUNK_MAX) {
@@ -193,8 +196,10 @@ ReturnValue_t PlocSupvHelper::performUpdate() {
update.startAddress + bytesWritten, dataLength, tempData);
result = handlePacketTransmission(packet);
if (result != RETURN_OK) {
triggerEvent(WRITE_MEMORY_FAILED, packetNum);
return result;
}
packetNum += 1;
bytesWritten += dataLength;
#if OBSW_DEBUG_PLOC_SUPERVISOR == 1
progressPrinter.print(bytesWritten);
@@ -233,7 +238,7 @@ ReturnValue_t PlocSupvHelper::performEventBufferRequest() {
ReturnValue_t PlocSupvHelper::prepareUpdate() {
ReturnValue_t result = RETURN_OK;
supv::ApidOnlyPacket packet(supv::APID_PREPARE_UPDATE);
result = handlePacketTransmission(packet);
result = handlePacketTransmission(packet, PREPARE_UPDATE_EXECUTION_REPORT);
if (result != RETURN_OK) {
return result;
}
@@ -342,8 +347,8 @@ ReturnValue_t PlocSupvHelper::handleTmReception(supv::TmPacket* tmPacket, size_t
}
}
if (remainingBytes != 0) {
sif::warning << "PlocSupvHelper::handleTmReception: Failed to read " << remainingBytes
<< " bytes" << std::endl;
sif::warning << "PlocSupvHelper::handleTmReception: Failed to read " << std::dec
<< remainingBytes << " bytes" << std::endl;
return RETURN_FAILED;
}
result = tmPacket->checkCrc();
@@ -372,6 +377,8 @@ ReturnValue_t PlocSupvHelper::receive(uint8_t* data, size_t* readBytes, size_t r
}
if (*readBytes > 0) {
std::memcpy(data, buffer, *readBytes);
} else {
TaskFactory::delayTask(40);
}
return result;
}

View File

@@ -78,6 +78,9 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
//! P1: Return value
//! P2: Apid of command for which the reception of the execution report failed
static const Event EXE_RECEPTION_FAILURE = MAKE_EVENT(16, severity::LOW);
//! [EXPORT] : [COMMENT] Update procedure failed when sending packet with number P1
//! P1: Packet number for which the memory write command fails
static const Event WRITE_MEMORY_FAILED = MAKE_EVENT(17, severity::LOW);
PlocSupvHelper(object_id_t objectId);
virtual ~PlocSupvHelper();
@@ -128,6 +131,7 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
static const size_t SIZE_EVENT_BUFFER_FULL_PACKET = 1024;
static const size_t SIZE_EVENT_BUFFER_LAST_PACKET = 200;
static const uint32_t CRC_EXECUTION_TIMEOUT = 60000;
static const uint32_t PREPARE_UPDATE_EXECUTION_REPORT = 2000;
struct Update {
uint8_t memoryId;
@@ -177,7 +181,7 @@ class PlocSupvHelper : public SystemObject, public ExecutableObjectIF, public Ha
ReturnValue_t performUpdate();
ReturnValue_t performEventBufferRequest();
ReturnValue_t handlePacketTransmission(SpacePacket& packet,
uint32_t timeoutExecutionReport = 1000);
uint32_t timeoutExecutionReport = 2000);
ReturnValue_t sendCommand(SpacePacket& packet);
/**
* @brief Function which reads form the communication interface

View File

@@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 200 translations.
* @brief Auto-generated event translation file. Contains 204 translations.
* @details
* Generated on: 2022-05-11 17:58:22
* Generated on: 2022-05-13 18:40:51
*/
#include "translateEvents.h"
@@ -90,9 +90,12 @@ const char *SWITCHING_Q7S_DENIED_STRING = "SWITCHING_Q7S_DENIED";
const char *FDIR_REACTION_IGNORED_STRING = "FDIR_REACTION_IGNORED";
const char *GPIO_PULL_HIGH_FAILED_STRING = "GPIO_PULL_HIGH_FAILED";
const char *GPIO_PULL_LOW_FAILED_STRING = "GPIO_PULL_LOW_FAILED";
const char *HEATER_WENT_ON_STRING = "HEATER_WENT_ON";
const char *HEATER_WENT_OFF_STRING = "HEATER_WENT_OFF";
const char *SWITCH_ALREADY_ON_STRING = "SWITCH_ALREADY_ON";
const char *SWITCH_ALREADY_OFF_STRING = "SWITCH_ALREADY_OFF";
const char *MAIN_SWITCH_TIMEOUT_STRING = "MAIN_SWITCH_TIMEOUT";
const char *FAULTY_HEATER_WAS_ON_STRING = "FAULTY_HEATER_WAS_ON";
const char *MAIN_SWITCH_ON_TIMEOUT_STRING = "MAIN_SWITCH_ON_TIMEOUT";
const char *MAIN_SWITCH_OFF_TIMEOUT_STRING = "MAIN_SWITCH_OFF_TIMEOUT";
const char *DEPLOYMENT_FAILED_STRING = "DEPLOYMENT_FAILED";
@@ -197,6 +200,7 @@ const char *SUPV_ACK_INVALID_APID_STRING = "SUPV_ACK_INVALID_APID";
const char *SUPV_EXE_INVALID_APID_STRING = "SUPV_EXE_INVALID_APID";
const char *ACK_RECEPTION_FAILURE_STRING = "ACK_RECEPTION_FAILURE";
const char *EXE_RECEPTION_FAILURE_STRING = "EXE_RECEPTION_FAILURE";
const char *WRITE_MEMORY_FAILED_STRING = "WRITE_MEMORY_FAILED";
const char *ALLOC_FAILURE_STRING = "ALLOC_FAILURE";
const char *REBOOT_SW_STRING = "REBOOT_SW";
const char *REBOOT_MECHANISM_TRIGGERED_STRING = "REBOOT_MECHANISM_TRIGGERED";
@@ -375,11 +379,17 @@ const char *translateEvents(Event event) {
case (11401):
return GPIO_PULL_LOW_FAILED_STRING;
case (11402):
return SWITCH_ALREADY_ON_STRING;
return HEATER_WENT_ON_STRING;
case (11403):
return SWITCH_ALREADY_OFF_STRING;
return HEATER_WENT_OFF_STRING;
case (11404):
return SWITCH_ALREADY_ON_STRING;
case (11405):
return SWITCH_ALREADY_OFF_STRING;
case (11406):
return MAIN_SWITCH_TIMEOUT_STRING;
case (11407):
return FAULTY_HEATER_WAS_ON_STRING;
case (11500):
return MAIN_SWITCH_ON_TIMEOUT_STRING;
case (11501):
@@ -588,6 +598,8 @@ const char *translateEvents(Event event) {
return ACK_RECEPTION_FAILURE_STRING;
case (13616):
return EXE_RECEPTION_FAILURE_STRING;
case (13617):
return WRITE_MEMORY_FAILED_STRING;
case (13700):
return ALLOC_FAILURE_STRING;
case (13701):

View File

@@ -51,13 +51,6 @@ enum sourceObjects : uint32_t {
GPIO_IF = 0x49010005,
SPI_RW_COM_IF = 0x49020005,
/* Custom device handler */
PCDU_HANDLER = 0x442000A1,
SOLAR_ARRAY_DEPL_HANDLER = 0x444100A2,
SYRLINKS_HK_HANDLER = 0x445300A3,
HEATER_HANDLER = 0x444100A4,
RAD_SENSOR = 0x443200A5,
/* 0x54 ('T') for test handlers */
TEST_TASK = 0x54694269,
LIBGPIOD_TEST = 0x54123456,

View File

@@ -1,8 +1,8 @@
/**
* @brief Auto-generated object translation file.
* @details
* Contains 118 translations.
* Generated on: 2022-05-11 17:58:22
* Contains 129 translations.
* Generated on: 2022-05-12 20:45:27
*/
#include "translateObjects.h"
@@ -45,9 +45,12 @@ const char *ACU_HANDLER_STRING = "ACU_HANDLER";
const char *BPX_BATT_HANDLER_STRING = "BPX_BATT_HANDLER";
const char *PLPCDU_HANDLER_STRING = "PLPCDU_HANDLER";
const char *RAD_SENSOR_STRING = "RAD_SENSOR";
const char *PLOC_UPDATER_STRING = "PLOC_UPDATER";
const char *PLOC_MEMORY_DUMPER_STRING = "PLOC_MEMORY_DUMPER";
const char *STR_HELPER_STRING = "STR_HELPER";
const char *PLOC_MPSOC_HELPER_STRING = "PLOC_MPSOC_HELPER";
const char *AXI_PTME_CONFIG_STRING = "AXI_PTME_CONFIG";
const char *PTME_CONFIG_STRING = "PTME_CONFIG";
const char *PLOC_MPSOC_HANDLER_STRING = "PLOC_MPSOC_HANDLER";
const char *PLOC_SUPERVISOR_HANDLER_STRING = "PLOC_SUPERVISOR_HANDLER";
const char *PLOC_SUPERVISOR_HELPER_STRING = "PLOC_SUPERVISOR_HELPER";
@@ -117,6 +120,14 @@ const char *DUMMY_HANDLER_STRING = "DUMMY_HANDLER";
const char *DUMMY_INTERFACE_STRING = "DUMMY_INTERFACE";
const char *LIBGPIOD_TEST_STRING = "LIBGPIOD_TEST";
const char *TEST_TASK_STRING = "TEST_TASK";
const char *HEATER_0_PLOC_PROC_BRD_STRING = "HEATER_0_PLOC_PROC_BRD";
const char *HEATER_1_PCDU_BRD_STRING = "HEATER_1_PCDU_BRD";
const char *HEATER_2_ACS_BRD_STRING = "HEATER_2_ACS_BRD";
const char *HEATER_3_OBC_BRD_STRING = "HEATER_3_OBC_BRD";
const char *HEATER_4_CAMERA_STRING = "HEATER_4_CAMERA";
const char *HEATER_5_STR_STRING = "HEATER_5_STR";
const char *HEATER_6_DRO_STRING = "HEATER_6_DRO";
const char *HEATER_7_HPA_STRING = "HEATER_7_HPA";
const char *ACS_BOARD_ASS_STRING = "ACS_BOARD_ASS";
const char *SUS_BOARD_ASS_STRING = "SUS_BOARD_ASS";
const char *TCS_BOARD_ASS_STRING = "TCS_BOARD_ASS";
@@ -205,12 +216,18 @@ const char *translateObject(object_id_t object) {
return PLPCDU_HANDLER_STRING;
case 0x443200A5:
return RAD_SENSOR_STRING;
case 0x44330000:
return PLOC_UPDATER_STRING;
case 0x44330001:
return PLOC_MEMORY_DUMPER_STRING;
case 0x44330002:
return STR_HELPER_STRING;
case 0x44330003:
return PLOC_MPSOC_HELPER_STRING;
case 0x44330004:
return AXI_PTME_CONFIG_STRING;
case 0x44330005:
return PTME_CONFIG_STRING;
case 0x44330015:
return PLOC_MPSOC_HANDLER_STRING;
case 0x44330016:
@@ -349,6 +366,22 @@ const char *translateObject(object_id_t object) {
return LIBGPIOD_TEST_STRING;
case 0x54694269:
return TEST_TASK_STRING;
case 0x60000000:
return HEATER_0_PLOC_PROC_BRD_STRING;
case 0x60000001:
return HEATER_1_PCDU_BRD_STRING;
case 0x60000002:
return HEATER_2_ACS_BRD_STRING;
case 0x60000003:
return HEATER_3_OBC_BRD_STRING;
case 0x60000004:
return HEATER_4_CAMERA_STRING;
case 0x60000005:
return HEATER_5_STR_STRING;
case 0x60000006:
return HEATER_6_DRO_STRING;
case 0x60000007:
return HEATER_7_HPA_STRING;
case 0x73000001:
return ACS_BOARD_ASS_STRING;
case 0x73000002:

View File

@@ -4,6 +4,7 @@
#include <fsfw/health/HealthTable.h>
#include <fsfw/internalerror/InternalErrorReporter.h>
#include <fsfw/pus/CService200ModeCommanding.h>
#include <fsfw/pus/CService201HealthCommanding.h>
#include <fsfw/pus/Service17Test.h>
#include <fsfw/pus/Service1TelecommandVerification.h>
#include <fsfw/pus/Service20ParameterManagement.h>
@@ -44,10 +45,13 @@
#define OBSW_TM_TO_PTME 0
#endif
void ObjectFactory::produceGenericObjects() {
void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_) {
// Framework objects
new EventManager(objects::EVENT_MANAGER);
new HealthTable(objects::HEALTH_TABLE);
auto healthTable = new HealthTable(objects::HEALTH_TABLE);
if (healthTable != nullptr) {
*healthTable_ = healthTable;
}
new InternalErrorReporter(objects::INTERNAL_ERROR_REPORTER);
new TimeStamper(objects::TIME_STAMPER);
@@ -96,8 +100,9 @@ void ObjectFactory::produceGenericObjects() {
new Service20ParameterManagement(objects::PUS_SERVICE_20_PARAMETERS, apid::EIVE_OBSW,
pus::PUS_SERVICE_20);
new CService200ModeCommanding(objects::PUS_SERVICE_200_MODE_MGMT, apid::EIVE_OBSW,
pus::PUS_SERVICE_200, 8, config::LONGEST_MODE_TIMEOUT_SECONDS);
pus::PUS_SERVICE_200, 8);
new CService201HealthCommanding(objects::PUS_SERVICE_201_HEALTH, apid::EIVE_OBSW,
pus::PUS_SERVICE_201);
#if OBSW_ADD_TCPIP_BRIDGE == 1
#if OBSW_USE_TMTC_TCP_BRIDGE == 0
auto tmtcBridge = new UdpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR);

View File

@@ -1,9 +1,11 @@
#ifndef MISSION_CORE_GENERICFACTORY_H_
#define MISSION_CORE_GENERICFACTORY_H_
class HealthTableIF;
namespace ObjectFactory {
void produceGenericObjects();
void produceGenericObjects(HealthTableIF** healthTable = nullptr);
}

View File

@@ -1,21 +1,38 @@
#include "HeaterHandler.h"
#include <fsfw/health/HealthTableIF.h>
#include <fsfw/ipc/QueueFactory.h>
#include <fsfw/objectmanager/ObjectManager.h>
#include <fsfw_hal/common/gpio/GpioCookie.h>
#include <stdexcept>
#include "devices/gpioIds.h"
#include "devices/powerSwitcherList.h"
HeaterHandler::HeaterHandler(object_id_t setObjectId_, object_id_t gpioDriverId_,
CookieIF* gpioCookie_, object_id_t mainLineSwitcherObjectId_,
uint8_t mainLineSwitch_)
HeaterHandler::HeaterHandler(object_id_t setObjectId_, GpioIF* gpioInterface_, HeaterHelper helper,
PowerSwitchIF* mainLineSwitcher_, power::Switch_t mainLineSwitch_)
: SystemObject(setObjectId_),
gpioDriverId(gpioDriverId_),
gpioCookie(gpioCookie_),
mainLineSwitcherObjectId(mainLineSwitcherObjectId_),
helper(helper),
gpioInterface(gpioInterface_),
mainLineSwitcher(mainLineSwitcher_),
mainLineSwitch(mainLineSwitch_),
actionHelper(this, nullptr) {
for (const auto& heater : helper.heaters) {
if (heater.first == nullptr) {
throw std::invalid_argument("HeaterHandler::HeaterHandler: Invalid Heater Object");
}
}
if (gpioInterface_ == nullptr) {
throw std::invalid_argument("HeaterHandler::HeaterHandler: Invalid Gpio IF");
}
if (mainLineSwitcher == nullptr) {
throw std::invalid_argument("HeaterHandler::HeaterHandler: Invalid PowerSwitchIF");
}
heaterMutex = MutexFactory::instance()->createMutex();
if (heaterMutex == nullptr) {
throw std::runtime_error("HeaterHandler::HeaterHandler: Creating Mutex failed");
}
auto mqArgs = MqArgs(setObjectId_, static_cast<void*>(this));
commandQueue = QueueFactory::instance()->createMessageQueue(
cmdQueueSize, MessageQueueMessage::MAX_MESSAGE_SIZE, &mqArgs);
@@ -24,10 +41,16 @@ HeaterHandler::HeaterHandler(object_id_t setObjectId_, object_id_t gpioDriverId_
HeaterHandler::~HeaterHandler() {}
ReturnValue_t HeaterHandler::performOperation(uint8_t operationCode) {
if (operationCode == DeviceHandlerIF::PERFORM_OPERATION) {
try {
readCommandQueue();
handleActiveCommands();
return RETURN_OK;
for (const auto& heater : helper.heaters) {
heater.first->performOperation(0);
}
handleSwitchHandling();
} catch (const std::out_of_range& e) {
sif::warning << "HeaterHandler::performOperation: "
"Out of range error | "
<< e.what() << std::endl;
}
return RETURN_OK;
}
@@ -43,33 +66,12 @@ ReturnValue_t HeaterHandler::initialize() {
return ObjectManagerIF::CHILD_INIT_FAILED;
}
gpioInterface = ObjectManager::instance()->get<GpioIF>(gpioDriverId);
if (gpioInterface == nullptr) {
sif::error << "HeaterHandler::initialize: Invalid Gpio interface." << std::endl;
return ObjectManagerIF::CHILD_INIT_FAILED;
}
result = gpioInterface->addGpios(dynamic_cast<GpioCookie*>(gpioCookie));
if (result != RETURN_OK) {
sif::error << "HeaterHandler::initialize: Failed to initialize Gpio interface" << std::endl;
return ObjectManagerIF::CHILD_INIT_FAILED;
}
IPCStore = ObjectManager::instance()->get<StorageManagerIF>(objects::IPC_STORE);
if (IPCStore == nullptr) {
ipcStore = ObjectManager::instance()->get<StorageManagerIF>(objects::IPC_STORE);
if (ipcStore == nullptr) {
sif::error << "HeaterHandler::initialize: IPC store not set up in factory." << std::endl;
return ObjectManagerIF::CHILD_INIT_FAILED;
}
if (mainLineSwitcherObjectId != objects::NO_OBJECT) {
mainLineSwitcher = ObjectManager::instance()->get<PowerSwitchIF>(mainLineSwitcherObjectId);
if (mainLineSwitcher == nullptr) {
sif::error << "HeaterHandler::initialize: Failed to get main line switcher. Make sure "
<< "main line switcher object is initialized." << std::endl;
return ObjectManagerIF::CHILD_INIT_FAILED;
}
}
result = actionHelper.initialize(commandQueue);
if (result != RETURN_OK) {
return ObjectManagerIF::CHILD_INIT_FAILED;
@@ -79,81 +81,97 @@ ReturnValue_t HeaterHandler::initialize() {
}
ReturnValue_t HeaterHandler::initializeHeaterMap() {
HeaterCommandInfo_t heaterCommandInfo;
for (switchNr_t switchNr = 0; switchNr < heaterSwitches::NUMBER_OF_SWITCHES; switchNr++) {
std::pair status = heaterMap.emplace(switchNr, heaterCommandInfo);
if (status.second == false) {
sif::error << "HeaterHandler::initializeHeaterMap: Failed to initialize heater map"
<< std::endl;
return RETURN_FAILED;
}
for (power::Switch_t switchNr = 0; switchNr < heater::NUMBER_OF_SWITCHES; switchNr++) {
heaterVec.push_back(HeaterWrapper(helper.heaters[switchNr], SwitchState::OFF));
}
return RETURN_OK;
}
void HeaterHandler::setInitialSwitchStates() {
for (switchNr_t switchNr = 0; switchNr < heaterSwitches::NUMBER_OF_SWITCHES; switchNr++) {
switchStates[switchNr] = OFF;
}
}
void HeaterHandler::readCommandQueue() {
ReturnValue_t result = RETURN_OK;
CommandMessage command;
ReturnValue_t result = commandQueue->receiveMessage(&command);
if (result != RETURN_OK) {
return;
}
result = actionHelper.handleActionMessage(&command);
if (result == RETURN_OK) {
return;
}
do {
result = commandQueue->receiveMessage(&command);
if (result == MessageQueueIF::EMPTY) {
break;
} else if (result != RETURN_OK) {
sif::warning << "HeaterHandler::readCommandQueue: Message reception error" << std::endl;
}
result = actionHelper.handleActionMessage(&command);
if (result == RETURN_OK) {
continue;
}
} while (result == RETURN_OK);
}
ReturnValue_t HeaterHandler::executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size) {
ReturnValue_t result;
if (actionId != SWITCH_HEATER) {
result = COMMAND_NOT_SUPPORTED;
} else {
switchNr_t switchNr = *data;
HeaterMapIter heaterMapIter = heaterMap.find(switchNr);
if (heaterMapIter != heaterMap.end()) {
if (heaterMapIter->second.active) {
return COMMAND_ALREADY_WAITING;
}
heaterMapIter->second.action = *(data + 1);
heaterMapIter->second.active = true;
heaterMapIter->second.replyQueue = commandedBy;
} else {
sif::error << "HeaterHandler::executeAction: Invalid switchNr" << std::endl;
return INVALID_SWITCH_NR;
}
result = RETURN_OK;
if (data == nullptr or size < 3) {
return HasActionsIF::INVALID_PARAMETERS;
}
return result;
if (actionId != SWITCH_HEATER) {
return COMMAND_NOT_SUPPORTED;
}
auto switchNr = data[0];
if (switchNr > 7) {
return HasActionsIF::INVALID_PARAMETERS;
}
auto& heater = heaterVec.at(switchNr);
auto actionRaw = data[1];
if (actionRaw != 0 and actionRaw != 1) {
return HasActionsIF::INVALID_PARAMETERS;
}
auto action = static_cast<SwitchAction>(data[1]);
// Always accepts OFF commands
if (action == SwitchAction::SET_SWITCH_ON) {
HasHealthIF::HealthState health = heater.healthDevice->getHealth();
if (health == HasHealthIF::FAULTY or health == HasHealthIF::PERMANENT_FAULTY or
health == HasHealthIF::NEEDS_RECOVERY) {
return HasHealthIF::OBJECT_NOT_HEALTHY;
}
CmdSourceParam cmdSource = CmdSourceParam::EXTERNAL;
uint8_t cmdSourceRaw = data[2];
if (cmdSourceRaw > 1) {
return HasActionsIF::INVALID_PARAMETERS;
}
cmdSource = static_cast<CmdSourceParam>(data[2]);
if (health == HasHealthIF::EXTERNAL_CONTROL and cmdSource == CmdSourceParam::INTERNAL) {
return HasHealthIF::IS_EXTERNALLY_CONTROLLED;
}
}
if (heater.cmdActive) {
return COMMAND_ALREADY_WAITING;
}
heater.action = action;
heater.cmdActive = true;
heater.replyQueue = commandedBy;
return RETURN_OK;
}
ReturnValue_t HeaterHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) {
ReturnValue_t result;
store_address_t storeAddress;
uint8_t commandData[2];
uint8_t commandData[3] = {};
switch (onOff) {
case PowerSwitchIF::SWITCH_ON:
commandData[0] = switchNr;
commandData[1] = SET_SWITCH_ON;
commandData[2] = CmdSourceParam::INTERNAL;
break;
case PowerSwitchIF::SWITCH_OFF:
commandData[0] = switchNr;
commandData[1] = SET_SWITCH_OFF;
commandData[2] = CmdSourceParam::INTERNAL;
break;
default:
sif::error << "HeaterHandler::sendSwitchCommand: Invalid switch request" << std::endl;
break;
}
result = IPCStore->addData(&storeAddress, commandData, sizeof(commandData));
result = ipcStore->addData(&storeAddress, commandData, sizeof(commandData));
if (result == RETURN_OK) {
CommandMessage message;
ActionMessage::setCommand(&message, SWITCH_HEATER, storeAddress);
@@ -167,16 +185,27 @@ ReturnValue_t HeaterHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t o
return result;
}
void HeaterHandler::handleActiveCommands() {
HeaterMapIter heaterMapIter = heaterMap.begin();
for (; heaterMapIter != heaterMap.end(); heaterMapIter++) {
if (heaterMapIter->second.active) {
switch (heaterMapIter->second.action) {
void HeaterHandler::handleSwitchHandling() {
for (uint8_t idx = 0; idx < heater::NUMBER_OF_SWITCHES; idx++) {
auto health = heaterVec[idx].healthDevice->getHealth();
if (heaterVec[idx].switchState == SwitchState::ON) {
// If a heater is still on but the device was marked faulty by the operator, the SW
// will shut down the heater
if (health == HasHealthIF::FAULTY or health == HasHealthIF::PERMANENT_FAULTY) {
heaterVec[idx].cmdActive = true;
heaterVec[idx].action = SET_SWITCH_OFF;
triggerEvent(FAULTY_HEATER_WAS_ON, idx, 0);
handleSwitchOffCommand(static_cast<heater::Switchers>(idx));
continue;
}
}
if (heaterVec[idx].cmdActive) {
switch (heaterVec[idx].action) {
case SET_SWITCH_ON:
handleSwitchOnCommand(heaterMapIter);
handleSwitchOnCommand(static_cast<heater::Switchers>(idx));
break;
case SET_SWITCH_OFF:
handleSwitchOffCommand(heaterMapIter);
handleSwitchOffCommand(static_cast<heater::Switchers>(idx));
break;
default:
sif::error << "HeaterHandler::handleActiveCommands: Invalid action commanded"
@@ -187,162 +216,139 @@ void HeaterHandler::handleActiveCommands() {
}
}
void HeaterHandler::handleSwitchOnCommand(HeaterMapIter heaterMapIter) {
void HeaterHandler::handleSwitchOnCommand(heater::Switchers heaterIdx) {
ReturnValue_t result = RETURN_OK;
switchNr_t switchNr;
auto& heater = heaterVec.at(heaterIdx);
/* Check if command waits for main switch being set on and whether the timeout has expired */
if (heaterMapIter->second.waitMainSwitchOn &&
heaterMapIter->second.mainSwitchCountdown.hasTimedOut()) {
if (heater.waitMainSwitchOn && heater.mainSwitchCountdown.hasTimedOut()) {
// TODO - This requires the initiation of an FDIR procedure
triggerEvent(MAIN_SWITCH_TIMEOUT);
sif::error << "HeaterHandler::handleSwitchOnCommand: Main switch setting on timeout"
<< std::endl;
heaterMapIter->second.active = false;
heaterMapIter->second.waitMainSwitchOn = false;
if (heaterMapIter->second.replyQueue != commandQueue->getId()) {
actionHelper.finish(false, heaterMapIter->second.replyQueue, heaterMapIter->second.action,
MAIN_SWITCH_SET_TIMEOUT);
heater.cmdActive = false;
heater.waitMainSwitchOn = false;
if (heater.replyQueue != commandQueue->getId()) {
actionHelper.finish(false, heater.replyQueue, heater.action, MAIN_SWITCH_SET_TIMEOUT);
}
return;
}
switchNr = heaterMapIter->first;
/* Check state of main line switch */
// Check state of main line switch
ReturnValue_t mainSwitchState = mainLineSwitcher->getSwitchState(mainLineSwitch);
if (mainSwitchState == PowerSwitchIF::SWITCH_ON) {
if (!checkSwitchState(switchNr)) {
gpioId_t gpioId = getGpioIdFromSwitchNr(switchNr);
if (checkSwitchState(heaterIdx) == SwitchState::OFF) {
gpioId_t gpioId = heater.gpioId;
result = gpioInterface->pullHigh(gpioId);
if (result != RETURN_OK) {
sif::error << "HeaterHandler::handleSwitchOnCommand: Failed to pull gpio with id " << gpioId
<< " high" << std::endl;
triggerEvent(GPIO_PULL_HIGH_FAILED, result);
} else {
switchStates[switchNr] = ON;
triggerEvent(HEATER_WENT_ON, heaterIdx, 0);
heater.switchState = ON;
}
} else {
triggerEvent(SWITCH_ALREADY_ON, switchNr);
triggerEvent(SWITCH_ALREADY_ON, heaterIdx);
}
/* There is no need to send action finish replies if the sender was the
* HeaterHandler itself. */
if (heaterMapIter->second.replyQueue != commandQueue->getId()) {
// There is no need to send action finish replies if the sender was the
// HeaterHandler itself
if (heater.replyQueue != commandQueue->getId()) {
if (result == RETURN_OK) {
actionHelper.finish(true, heaterMapIter->second.replyQueue, heaterMapIter->second.action,
result);
actionHelper.finish(true, heater.replyQueue, heater.action, result);
} else {
actionHelper.finish(false, heaterMapIter->second.replyQueue, heaterMapIter->second.action,
result);
actionHelper.finish(false, heater.replyQueue, heater.action, result);
}
}
heaterMapIter->second.active = false;
heaterMapIter->second.waitMainSwitchOn = false;
} else if (mainSwitchState == PowerSwitchIF::SWITCH_OFF &&
heaterMapIter->second.waitMainSwitchOn) {
/* Just waiting for the main switch being set on */
heater.cmdActive = false;
heater.waitMainSwitchOn = false;
} else if (mainSwitchState == PowerSwitchIF::SWITCH_OFF && heater.waitMainSwitchOn) {
// Just waiting for the main switch being set on
return;
} else if (mainSwitchState == PowerSwitchIF::SWITCH_OFF) {
mainLineSwitcher->sendSwitchCommand(mainLineSwitch, PowerSwitchIF::SWITCH_ON);
heaterMapIter->second.mainSwitchCountdown.setTimeout(mainLineSwitcher->getSwitchDelayMs());
heaterMapIter->second.waitMainSwitchOn = true;
heater.mainSwitchCountdown.setTimeout(mainLineSwitcher->getSwitchDelayMs());
heater.waitMainSwitchOn = true;
} else {
sif::debug << "HeaterHandler::handleActiveCommands: Failed to get state of"
sif::debug << "HeaterHandler::handleSwitchHandling: Failed to get state of"
<< " main line switch" << std::endl;
if (heaterMapIter->second.replyQueue != commandQueue->getId()) {
actionHelper.finish(false, heaterMapIter->second.replyQueue, heaterMapIter->second.action,
mainSwitchState);
if (heater.replyQueue != commandQueue->getId()) {
actionHelper.finish(false, heater.replyQueue, heater.action, mainSwitchState);
}
heaterMapIter->second.active = false;
heater.cmdActive = false;
}
}
void HeaterHandler::handleSwitchOffCommand(HeaterMapIter heaterMapIter) {
void HeaterHandler::handleSwitchOffCommand(heater::Switchers heaterIdx) {
ReturnValue_t result = RETURN_OK;
switchNr_t switchNr = heaterMapIter->first;
/* Check whether switch is already off */
if (checkSwitchState(switchNr)) {
gpioId_t gpioId = getGpioIdFromSwitchNr(switchNr);
auto& heater = heaterVec.at(heaterIdx);
// Check whether switch is already off
if (checkSwitchState(heaterIdx)) {
gpioId_t gpioId = heater.gpioId;
result = gpioInterface->pullLow(gpioId);
if (result != RETURN_OK) {
sif::error << "HeaterHandler::handleSwitchOffCommand: Failed to pull gpio with id" << gpioId
<< " low" << std::endl;
triggerEvent(GPIO_PULL_LOW_FAILED, result);
} else {
switchStates[switchNr] = OFF;
/* When all switches are off, also main line switch will be turned off */
auto result = heaterMutex->lockMutex();
heater.switchState = OFF;
if (result == HasReturnvaluesIF::RETURN_OK) {
heaterMutex->unlockMutex();
}
triggerEvent(HEATER_WENT_OFF, heaterIdx, 0);
// When all switches are off, also main line switch will be turned off
if (allSwitchesOff()) {
mainLineSwitcher->sendSwitchCommand(mainLineSwitch, PowerSwitchIF::SWITCH_OFF);
}
}
} else {
sif::info << "HeaterHandler::handleSwitchOffCommand: Switch already off" << std::endl;
triggerEvent(SWITCH_ALREADY_OFF, switchNr);
triggerEvent(SWITCH_ALREADY_OFF, heaterIdx);
}
if (heaterMapIter->second.replyQueue != NO_COMMANDER) {
/* Report back switch command reply if necessary */
if (heater.replyQueue != NO_COMMANDER) {
// Report back switch command reply if necessary
if (result == HasReturnvaluesIF::RETURN_OK) {
actionHelper.finish(true, heaterMapIter->second.replyQueue, heaterMapIter->second.action,
result);
actionHelper.finish(true, heater.replyQueue, heater.action, result);
} else {
actionHelper.finish(false, heaterMapIter->second.replyQueue, heaterMapIter->second.action,
result);
actionHelper.finish(false, heater.replyQueue, heater.action, result);
}
}
heaterMapIter->second.active = false;
heater.cmdActive = false;
}
bool HeaterHandler::checkSwitchState(int switchNr) { return switchStates[switchNr]; }
HeaterHandler::SwitchState HeaterHandler::checkSwitchState(heater::Switchers switchNr) const {
MutexGuard mg(heaterMutex);
return heaterVec.at(switchNr).switchState;
}
bool HeaterHandler::allSwitchesOff() {
bool allSwitchesOrd = false;
MutexGuard mg(heaterMutex);
/* Or all switches. As soon one switch is on, allSwitchesOrd will be true */
for (switchNr_t switchNr = 0; switchNr < heaterSwitches::NUMBER_OF_SWITCHES; switchNr++) {
allSwitchesOrd = allSwitchesOrd || switchStates[switchNr];
for (power::Switch_t switchNr = 0; switchNr < heater::NUMBER_OF_SWITCHES; switchNr++) {
allSwitchesOrd = allSwitchesOrd || heaterVec.at(switchNr).switchState;
}
return !allSwitchesOrd;
}
gpioId_t HeaterHandler::getGpioIdFromSwitchNr(int switchNr) {
gpioId_t gpioId = 0xFFFF;
switch (switchNr) {
case heaterSwitches::HEATER_0:
gpioId = gpioIds::HEATER_0;
break;
case heaterSwitches::HEATER_1:
gpioId = gpioIds::HEATER_1;
break;
case heaterSwitches::HEATER_2:
gpioId = gpioIds::HEATER_2;
break;
case heaterSwitches::HEATER_3:
gpioId = gpioIds::HEATER_3;
break;
case heaterSwitches::HEATER_4:
gpioId = gpioIds::HEATER_4;
break;
case heaterSwitches::HEATER_5:
gpioId = gpioIds::HEATER_5;
break;
case heaterSwitches::HEATER_6:
gpioId = gpioIds::HEATER_6;
break;
case heaterSwitches::HEATER_7:
gpioId = gpioIds::HEATER_7;
break;
default:
sif::error << "HeaterHandler::getGpioIdFromSwitchNr: Unknown heater switch number"
<< std::endl;
break;
}
return gpioId;
}
MessageQueueId_t HeaterHandler::getCommandQueue() const { return commandQueue->getId(); }
ReturnValue_t HeaterHandler::sendFuseOnCommand(uint8_t fuseNr) { return RETURN_OK; }
ReturnValue_t HeaterHandler::getSwitchState(uint8_t switchNr) const { return 0; }
ReturnValue_t HeaterHandler::getSwitchState(uint8_t switchNr) const {
ReturnValue_t mainSwitchState = mainLineSwitcher->getSwitchState(mainLineSwitch);
if (mainSwitchState == PowerSwitchIF::SWITCH_OFF) {
return PowerSwitchIF::SWITCH_OFF;
}
if (switchNr > 7) {
return PowerSwitchIF::RETURN_FAILED;
}
if (checkSwitchState(static_cast<heater::Switchers>(switchNr)) == SwitchState::ON) {
return PowerSwitchIF::SWITCH_ON;
}
return PowerSwitchIF::SWITCH_OFF;
}
ReturnValue_t HeaterHandler::getFuseState(uint8_t fuseNr) const { return 0; }
uint32_t HeaterHandler::getSwitchDelayMs(void) const { return 0; }
uint32_t HeaterHandler::getSwitchDelayMs(void) const { return 2000; }

View File

@@ -4,6 +4,9 @@
#include <fsfw/action/HasActionsIF.h>
#include <fsfw/devicehandlers/CookieIF.h>
#include <fsfw/devicehandlers/DeviceHandlerIF.h>
#include <fsfw/devicehandlers/HealthDevice.h>
#include <fsfw/health/HasHealthIF.h>
#include <fsfw/health/HealthHelper.h>
#include <fsfw/objectmanager/SystemObject.h>
#include <fsfw/power/PowerSwitchIF.h>
#include <fsfw/returnvalues/HasReturnvaluesIF.h>
@@ -11,10 +14,20 @@
#include <fsfw/timemanager/Countdown.h>
#include <fsfw_hal/common/gpio/GpioIF.h>
#include <unordered_map>
#include <vector>
#include "devices/heaterSwitcherList.h"
class PowerSwitchIF;
class HealthTableIF;
using HeaterPair = std::pair<HealthDevice*, gpioId_t>;
struct HeaterHelper {
public:
HeaterHelper(std::array<HeaterPair, heater::NUMBER_OF_SWITCHES> heaters) : heaters(heaters) {}
std::array<HeaterPair, heater::NUMBER_OF_SWITCHES> heaters = {};
};
/**
* @brief This class intends the control of heaters.
*
@@ -33,42 +46,49 @@ class HeaterHandler : public ExecutableObjectIF,
static const ReturnValue_t MAIN_SWITCH_SET_TIMEOUT = MAKE_RETURN_CODE(0xA4);
static const ReturnValue_t COMMAND_ALREADY_WAITING = MAKE_RETURN_CODE(0xA5);
enum CmdSourceParam : uint8_t { INTERNAL = 0, EXTERNAL = 1 };
/** Device command IDs */
static const DeviceCommandId_t SWITCH_HEATER = 0x0;
HeaterHandler(object_id_t setObjectId, object_id_t gpioDriverId, CookieIF* gpioCookie,
object_id_t mainLineSwitcherObjectId, uint8_t mainLineSwitch);
HeaterHandler(object_id_t setObjectId, GpioIF* gpioInterface_, HeaterHelper helper,
PowerSwitchIF* mainLineSwitcherObjectId, power::Switch_t mainLineSwitch);
virtual ~HeaterHandler();
virtual ReturnValue_t performOperation(uint8_t operationCode = 0) override;
ReturnValue_t performOperation(uint8_t operationCode = 0) override;
virtual ReturnValue_t sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) override;
virtual ReturnValue_t sendFuseOnCommand(uint8_t fuseNr) override;
ReturnValue_t sendSwitchCommand(uint8_t switchNr, ReturnValue_t onOff) override;
ReturnValue_t sendFuseOnCommand(uint8_t fuseNr) override;
/**
* @brief This function will be called from the Heater object to check
* the current switch state.
*/
virtual ReturnValue_t getSwitchState(uint8_t switchNr) const override;
virtual ReturnValue_t getFuseState(uint8_t fuseNr) const override;
virtual uint32_t getSwitchDelayMs(void) const override;
ReturnValue_t getSwitchState(uint8_t switchNr) const override;
ReturnValue_t getFuseState(uint8_t fuseNr) const override;
uint32_t getSwitchDelayMs(void) const override;
virtual MessageQueueId_t getCommandQueue() const override;
virtual ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size) override;
virtual ReturnValue_t initialize() override;
MessageQueueId_t getCommandQueue() const override;
ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size) override;
ReturnValue_t initialize() override;
private:
static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::HEATER_HANDLER;
static const Event GPIO_PULL_HIGH_FAILED = MAKE_EVENT(0, severity::LOW);
static const Event GPIO_PULL_LOW_FAILED = MAKE_EVENT(1, severity::LOW);
static const Event SWITCH_ALREADY_ON = MAKE_EVENT(2, severity::LOW);
static const Event SWITCH_ALREADY_OFF = MAKE_EVENT(3, severity::LOW);
static const Event MAIN_SWITCH_TIMEOUT = MAKE_EVENT(4, severity::LOW);
static constexpr Event GPIO_PULL_HIGH_FAILED = MAKE_EVENT(0, severity::LOW);
static constexpr Event GPIO_PULL_LOW_FAILED = MAKE_EVENT(1, severity::LOW);
static constexpr Event HEATER_WENT_ON = event::makeEvent(SUBSYSTEM_ID, 2, severity::INFO);
static constexpr Event HEATER_WENT_OFF = event::makeEvent(SUBSYSTEM_ID, 3, severity::INFO);
static constexpr Event SWITCH_ALREADY_ON = MAKE_EVENT(4, severity::LOW);
static constexpr Event SWITCH_ALREADY_OFF = MAKE_EVENT(5, severity::LOW);
static constexpr Event MAIN_SWITCH_TIMEOUT = MAKE_EVENT(6, severity::MEDIUM);
//! A faulty heater was one. The SW will autonomously attempt to shut it down. P1: Heater Index
static constexpr Event FAULTY_HEATER_WAS_ON = event::makeEvent(SUBSYSTEM_ID, 7, severity::LOW);
static const MessageQueueId_t NO_COMMANDER = 0;
enum SwitchState : bool { ON = true, OFF = false };
enum SwitchAction : uint8_t { SET_SWITCH_OFF, SET_SWITCH_ON, NONE };
/**
* @brief Struct holding information about a heater command to execute.
@@ -80,54 +100,46 @@ class HeaterHandler : public ExecutableObjectIF,
* @param waitSwitchOn True if the command is waiting for the main switch being set on.
* @param mainSwitchCountdown Sets timeout to wait for main switch being set on.
*/
typedef struct HeaterCommandInfo {
uint8_t action;
MessageQueueId_t replyQueue;
bool active = false;
struct HeaterWrapper {
HeaterWrapper(HeaterPair pair, SwitchState initState)
: healthDevice(pair.first), gpioId(pair.second), switchState(initState) {}
HealthDevice* healthDevice = nullptr;
gpioId_t gpioId = gpio::NO_GPIO;
SwitchAction action = SwitchAction::NONE;
MessageQueueId_t replyQueue = MessageQueueIF::NO_QUEUE;
bool cmdActive = false;
SwitchState switchState = SwitchState::OFF;
bool waitMainSwitchOn = false;
Countdown mainSwitchCountdown;
} HeaterCommandInfo_t;
};
enum SwitchAction { SET_SWITCH_OFF, SET_SWITCH_ON };
using HeaterMap = std::vector<HeaterWrapper>;
using switchNr_t = uint8_t;
using HeaterMap = std::unordered_map<switchNr_t, HeaterCommandInfo_t>;
using HeaterMapIter = HeaterMap::iterator;
HeaterMap heaterVec = {};
HeaterMap heaterMap;
MutexIF* heaterMutex = nullptr;
bool switchStates[heaterSwitches::NUMBER_OF_SWITCHES];
HeaterHelper helper;
/** Size of command queue */
size_t cmdQueueSize = 20;
/**
* The object ID of the GPIO driver which enables and disables the
* heaters.
*/
object_id_t gpioDriverId;
CookieIF* gpioCookie;
GpioIF* gpioInterface = nullptr;
/** Queue to receive messages from other objects. */
MessageQueueIF* commandQueue = nullptr;
object_id_t mainLineSwitcherObjectId;
/** Switch number of the heater power supply switch */
uint8_t mainLineSwitch;
/**
* Power switcher object which controls the 8V main line of the heater
* logic on the TCS board.
*/
PowerSwitchIF* mainLineSwitcher = nullptr;
/** Switch number of the heater power supply switch */
power::Switch_t mainLineSwitch;
ActionHelper actionHelper;
StorageManagerIF* IPCStore = nullptr;
StorageManagerIF* ipcStore = nullptr;
void readCommandQueue();
@@ -135,18 +147,12 @@ class HeaterHandler : public ExecutableObjectIF,
* @brief Returns the state of a switch (ON - true, or OFF - false).
* @param switchNr The number of the switch to check.
*/
bool checkSwitchState(int switchNr);
/**
* @brief Returns the ID of the GPIO related to a heater identified by the switch number
* which is defined in the heaterSwitches list.
*/
gpioId_t getGpioIdFromSwitchNr(int switchNr);
SwitchState checkSwitchState(heater::Switchers switchNr) const;
/**
* @brief This function runs commands waiting for execution.
*/
void handleActiveCommands();
void handleSwitchHandling();
ReturnValue_t initializeHeaterMap();
@@ -155,9 +161,9 @@ class HeaterHandler : public ExecutableObjectIF,
*/
void setInitialSwitchStates();
void handleSwitchOnCommand(HeaterMapIter heaterMapIter);
void handleSwitchOnCommand(heater::Switchers heaterIdx);
void handleSwitchOffCommand(HeaterMapIter heaterMapIter);
void handleSwitchOffCommand(heater::Switchers heaterIdx);
/**
* @brief Checks if all switches are off.

2
tmtc

Submodule tmtc updated: a681850248...b81f756e4b