FSFW Gen and Build Scripts Update #71

Merged
meierj merged 7 commits from mueller/fsfwgen-update into develop 2021-08-02 13:11:36 +02:00
10 changed files with 905 additions and 832 deletions
Showing only changes of commit 009234612a - Show all commits

View File

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

2
fsfw

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

View File

@ -0,0 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="returnvalues" type="PythonConfigurationType" factoryName="Python">
<module name="generators" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/fsfwgen.py" />
<option name="PARAMETERS" value="returnvalues" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
</component>

View File

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

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

@ -1 +1 @@
Subproject commit 8e805d24088707ad7bc49fda5f1dc5edfa1154b0
Subproject commit 16280cc1df2ac4c5e872a761d2cf6276cf1ef0d3

View File

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

View File

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

View File

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

View File

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

View File

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