Merge remote-tracking branch 'origin/main' into auto-switch-image-feature
All checks were successful
EIVE/-/pipeline/pr-main This commit looks good

This commit is contained in:
Robin Müller 2023-10-30 14:45:08 +01:00
commit 92fe9d92de
Signed by: muellerr
GPG Key ID: A649FB78196E3849
14 changed files with 903 additions and 425 deletions

View File

@ -14,6 +14,20 @@ list yields a list of all related PRs for each release.
- Core controller auto switch enable and disable command. - Core controller auto switch enable and disable command.
# [v5.10.1] 2023-10-27
- Minor improvements, update event translation.
# [v5.10.0] 2023-10-27
- Added new STR commands to allow more debugging.
# [v5.9.0] 2023-10-24
## Added
- Added command to update PL PCDU I and V parameter bounds commands.
# [v5.8.0] 2023-10-11 # [v5.8.0] 2023-10-11
## Added ## Added

View File

@ -86,6 +86,7 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
10802;0x2a32;SERIALIZATION_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h 10802;0x2a32;SERIALIZATION_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10803;0x2a33;FILESTORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h 10803;0x2a33;FILESTORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10804;0x2a34;FILENAME_TOO_LARGE_ERROR;LOW;P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name;fsfw/src/fsfw/cfdp/handler/defs.h 10804;0x2a34;FILENAME_TOO_LARGE_ERROR;LOW;P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name;fsfw/src/fsfw/cfdp/handler/defs.h
10805;0x2a35;HANDLING_CFDP_REQUEST_FAILED;LOW;CFDP request handling failed. P2: Returncode.;fsfw/src/fsfw/cfdp/handler/defs.h
11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;The limits for the rotation in safe mode were violated.;mission/acs/defs.h 11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;The limits for the rotation in safe mode were violated.;mission/acs/defs.h
11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;The system has recovered from a safe rate rotation violation.;mission/acs/defs.h 11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;The system has recovered from a safe rate rotation violation.;mission/acs/defs.h
11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained.;mission/acs/defs.h 11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained.;mission/acs/defs.h
@ -311,4 +312,5 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
14313;0x37e9;DUMP_HK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h 14313;0x37e9;DUMP_HK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14314;0x37ea;DUMP_CFDP_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h 14314;0x37ea;DUMP_CFDP_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14500;0x38a4;TEMPERATURE_ALL_ONES_START;MEDIUM;Detected invalid values, starting invalid message counting;mission/acs/SusHandler.h 14500;0x38a4;TEMPERATURE_ALL_ONES_START;MEDIUM;Detected invalid values, starting invalid message counting;mission/acs/SusHandler.h
14501;0x38a5;TEMPERATURE_ALL_ONES_RECOVERY;INFO;Detected valid values again, resetting invalid message counter. P1: Invalid message counter.;mission/acs/SusHandler.h 14501;0x38a5;TEMPERATURE_ALL_ONES_RECOVERY;INFO;Detected valid values for a prolonged time again, resetting all counters. P1: Number of periods with invalid messages. P2: Maximum invalid message counter.;mission/acs/SusHandler.h
14600;0x3908;FAULT_HANDLER_TRIGGERED;LOW;P1: CFDP fault handler code. P2: CFDP condition code.;mission/cfdp/defs.h

1 Event ID (dec) Event ID (hex) Name Severity Description File Path
86 10802 0x2a32 SERIALIZATION_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
87 10803 0x2a33 FILESTORE_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
88 10804 0x2a34 FILENAME_TOO_LARGE_ERROR LOW P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name fsfw/src/fsfw/cfdp/handler/defs.h
89 10805 0x2a35 HANDLING_CFDP_REQUEST_FAILED LOW CFDP request handling failed. P2: Returncode. fsfw/src/fsfw/cfdp/handler/defs.h
90 11200 0x2bc0 SAFE_RATE_VIOLATION MEDIUM The limits for the rotation in safe mode were violated. mission/acs/defs.h
91 11201 0x2bc1 SAFE_RATE_RECOVERY MEDIUM The system has recovered from a safe rate rotation violation. mission/acs/defs.h
92 11202 0x2bc2 MULTIPLE_RW_INVALID HIGH Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained. mission/acs/defs.h
312 14313 0x37e9 DUMP_HK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
313 14314 0x37ea DUMP_CFDP_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
314 14500 0x38a4 TEMPERATURE_ALL_ONES_START MEDIUM Detected invalid values, starting invalid message counting mission/acs/SusHandler.h
315 14501 0x38a5 TEMPERATURE_ALL_ONES_RECOVERY INFO Detected valid values again, resetting invalid message counter. P1: Invalid message counter. Detected valid values for a prolonged time again, resetting all counters. P1: Number of periods with invalid messages. P2: Maximum invalid message counter. mission/acs/SusHandler.h
316 14600 0x3908 FAULT_HANDLER_TRIGGERED LOW P1: CFDP fault handler code. P2: CFDP condition code. mission/cfdp/defs.h

View File

@ -158,6 +158,7 @@
0x73000102;CFDP_TM_FUNNEL 0x73000102;CFDP_TM_FUNNEL
0x73000205;CFDP_HANDLER 0x73000205;CFDP_HANDLER
0x73000206;CFDP_DISTRIBUTOR 0x73000206;CFDP_DISTRIBUTOR
0x73000207;CFDP_FAULT_HANDLER
0x73010000;EIVE_SYSTEM 0x73010000;EIVE_SYSTEM
0x73010001;ACS_SUBSYSTEM 0x73010001;ACS_SUBSYSTEM
0x73010002;PL_SUBSYSTEM 0x73010002;PL_SUBSYSTEM

1 0x00005060 P60DOCK_TEST_TASK
158 0x73000102 CFDP_TM_FUNNEL
159 0x73000205 CFDP_HANDLER
160 0x73000206 CFDP_DISTRIBUTOR
161 0x73000207 CFDP_FAULT_HANDLER
162 0x73010000 EIVE_SYSTEM
163 0x73010001 ACS_SUBSYSTEM
164 0x73010002 PL_SUBSYSTEM

View File

@ -323,289 +323,299 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x3405;DC_NotActive;No description;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h 0x3405;DC_NotActive;No description;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3406;DC_TooMuchData;No description;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h 0x3406;DC_TooMuchData;No description;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3407;DC_Busy;No description;7;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h 0x3407;DC_Busy;No description;7;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3601;CFDP_InvalidTlvType;No description;1;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3601;CFDP_InvalidTlvType;No description;1;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3602;CFDP_InvalidDirectiveField;No description;2;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3602;CFDP_InvalidDirectiveField;No description;2;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3603;CFDP_InvalidPduDatafieldLen;No description;3;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3603;CFDP_InvalidPduDatafieldLen;No description;3;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3604;CFDP_InvalidAckDirectiveFields;No description;4;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3604;CFDP_InvalidAckDirectiveFields;No description;4;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3605;CFDP_MetadataCantParseOptions;No description;5;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3605;CFDP_MetadataCantParseOptions;No description;5;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3606;CFDP_NakCantParseOptions;No description;6;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3606;CFDP_NakCantParseOptions;No description;6;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3607;CFDP_FinishedCantParseFsResponses;No description;7;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3607;CFDP_FinishedCantParseFsResponses;No description;7;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3608;CFDP_FilestoreRequiresSecondFile;No description;8;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3608;CFDP_FilestoreRequiresSecondFile;No description;8;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3609;CFDP_FilestoreResponseCantParseFsMessage;No description;9;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x3609;CFDP_FilestoreResponseCantParseFsMessage;No description;9;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x360a;CFDP_InvalidPduFormat;No description;10;CFDP;fsfw/src/fsfw/cfdp/definitions.h 0x360a;CFDP_InvalidPduFormat;No description;10;CFDP_BASE;fsfw/src/fsfw/cfdp/definitions.h
0x3701;TSI_BadTimestamp;No description;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h 0x3700;CFDP_SourceTransactionPending;No description;0;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38a1;SGP4_InvalidEccentricity;No description;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3701;CFDP_FileDoesNotExist;No description;1;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38a2;SGP4_InvalidMeanMotion;No description;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3702;CFDP_FileSegmentLenInvalid;No description;2;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38a3;SGP4_InvalidPerturbationElements;No description;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3703;CFDP_SourceNameEmpty;No description;3;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38a4;SGP4_InvalidSemiLatusRectum;No description;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3704;CFDP_DestNameEmpty;No description;4;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38a5;SGP4_InvalidEpochElements;No description;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3705;CFDP_WrongRemoteCfgEntityId;No description;5;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38a6;SGP4_SatelliteHasDecayed;No description;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3706;CFDP_TargetMsgQueueFull;No description;6;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38b1;SGP4_TleTooOld;No description;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3707;CFDP_TmStoreFull;No description;7;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h
0x38b2;SGP4_TleNotInitialized;No description;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x3801;TSI_BadTimestamp;No description;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h
0x3901;MUX_NotEnoughResources;No description;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39a1;SGP4_InvalidEccentricity;No description;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3902;MUX_InsufficientMemory;No description;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39a2;SGP4_InvalidMeanMotion;No description;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3903;MUX_NoPrivilege;No description;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39a3;SGP4_InvalidPerturbationElements;No description;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3904;MUX_WrongAttributeSetting;No description;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39a4;SGP4_InvalidSemiLatusRectum;No description;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3905;MUX_MutexAlreadyLocked;No description;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39a5;SGP4_InvalidEpochElements;No description;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3906;MUX_MutexNotFound;No description;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39a6;SGP4_SatelliteHasDecayed;No description;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3907;MUX_MutexMaxLocks;No description;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39b1;SGP4_TleTooOld;No description;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3908;MUX_CurrThreadAlreadyOwnsMutex;No description;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x39b2;SGP4_TleNotInitialized;No description;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x3909;MUX_CurrThreadDoesNotOwnMutex;No description;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x3a01;MUX_NotEnoughResources;No description;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390a;MUX_MutexTimeout;No description;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x3a02;MUX_InsufficientMemory;No description;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390b;MUX_MutexInvalidId;No description;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x3a03;MUX_NoPrivilege;No description;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390c;MUX_MutexDestroyedWhileWaiting;No description;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h 0x3a04;MUX_WrongAttributeSetting;No description;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3a01;MQI_Empty;No description;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h 0x3a05;MUX_MutexAlreadyLocked;No description;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3a02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h 0x3a06;MUX_MutexNotFound;No description;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3a03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h 0x3a07;MUX_MutexMaxLocks;No description;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h 0x3a08;MUX_CurrThreadAlreadyOwnsMutex;No description;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3b00;SPH_ConnBroken;No description;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h 0x3a09;MUX_CurrThreadDoesNotOwnMutex;No description;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3b01;SPH_SemaphoreTimeout;No description;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h 0x3a0a;MUX_MutexTimeout;No description;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3b02;SPH_SemaphoreNotOwned;No description;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h 0x3a0b;MUX_MutexInvalidId;No description;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3b03;SPH_SemaphoreInvalid;No description;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h 0x3a0c;MUX_MutexDestroyedWhileWaiting;No description;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3c00;LPIF_PoolEntryNotFound;No description;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h 0x3b01;MQI_Empty;No description;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3c01;LPIF_PoolEntryTypeConflict;No description;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h 0x3b02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3da0;PVA_InvalidReadWriteMode;No description;160;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h 0x3b03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3da1;PVA_InvalidPoolEntry;No description;161;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h 0x3b04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3e00;HKM_QueueOrDestinationInvalid;No description;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3c01;SPH_SemaphoreTimeout;No description;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3e01;HKM_WrongHkPacketType;No description;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3c02;SPH_SemaphoreNotOwned;No description;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3e02;HKM_ReportingStatusUnchanged;No description;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3c03;SPH_SemaphoreInvalid;No description;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3e03;HKM_PeriodicHelperInvalid;No description;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3d00;LPIF_PoolEntryNotFound;No description;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3e04;HKM_PoolobjectNotFound;No description;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3d01;LPIF_PoolEntryTypeConflict;No description;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3e05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3ea0;PVA_InvalidReadWriteMode;No description;160;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
0x3f01;DLEE_StreamTooShort;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h 0x3ea1;PVA_InvalidPoolEntry;No description;161;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
0x3f02;DLEE_DecodingError;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h 0x3f00;HKM_QueueOrDestinationInvalid;No description;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x4201;PUS11_InvalidTypeTimeWindow;No description;1;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h 0x3f01;HKM_WrongHkPacketType;No description;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x4202;PUS11_InvalidTimeWindow;No description;2;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h 0x3f02;HKM_ReportingStatusUnchanged;No description;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x4203;PUS11_TimeshiftingNotPossible;No description;3;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h 0x3f03;HKM_PeriodicHelperInvalid;No description;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x4204;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h 0x3f04;HKM_PoolobjectNotFound;No description;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x4205;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h 0x3f05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x4206;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h 0x4001;DLEE_StreamTooShort;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
0x4300;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4002;DLEE_DecodingError;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
0x4301;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4301;PUS11_InvalidTypeTimeWindow;No description;1;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4302;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4302;PUS11_InvalidTimeWindow;No description;2;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4303;FILS_GenericRenameError;No description;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4303;PUS11_TimeshiftingNotPossible;No description;3;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4304;FILS_IsBusy;No description;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4304;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4305;FILS_InvalidParameters;No description;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4305;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x430a;FILS_FileDoesNotExist;No description;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4306;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x430b;FILS_FileAlreadyExists;No description;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4400;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430c;FILS_NotAFile;No description;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4401;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430d;FILS_FileLocked;No description;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4402;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430e;FILS_PermissionDenied;No description;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4403;FILS_GenericRenameError;No description;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4315;FILS_DirectoryDoesNotExist;No description;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4404;FILS_IsBusy;No description;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4316;FILS_DirectoryAlreadyExists;No description;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x4405;FILS_InvalidParameters;No description;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4317;FILS_NotADirectory;No description;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x440a;FILS_FileDoesNotExist;No description;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4318;FILS_DirectoryNotEmpty;No description;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x440b;FILS_FileAlreadyExists;No description;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431e;FILS_SequencePacketMissingWrite;No description;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x440c;FILS_NotAFile;No description;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431f;FILS_SequencePacketMissingRead;No description;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h 0x440d;FILS_FileLocked;No description;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4400;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h 0x440e;FILS_PermissionDenied;No description;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4401;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h 0x4415;FILS_DirectoryDoesNotExist;No description;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4402;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h 0x4416;FILS_DirectoryAlreadyExists;No description;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4403;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h 0x4417;FILS_NotADirectory;No description;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4404;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h 0x4418;FILS_DirectoryNotEmpty;No description;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4406;UXOS_PcloseCallError;No description;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h 0x441e;FILS_SequencePacketMissingWrite;No description;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4500;HSPI_OpeningFileFailed;No description;0;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h 0x441f;FILS_SequencePacketMissingRead;No description;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4501;HSPI_FullDuplexTransferFailed;No description;1;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h 0x4500;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4502;HSPI_HalfDuplexTransferFailed;No description;2;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h 0x4501;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4503;HSPI_Timeout;No description;3;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h 0x4502;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4504;HSPI_Busy;No description;4;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h 0x4503;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4505;HSPI_GenericError;No description;5;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h 0x4504;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4601;HURT_UartReadFailure;No description;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h 0x4506;UXOS_PcloseCallError;No description;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4602;HURT_UartReadSizeMissmatch;No description;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h 0x4600;HSPI_OpeningFileFailed;No description;0;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h
0x4603;HURT_UartRxBufferTooSmall;No description;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h 0x4601;HSPI_FullDuplexTransferFailed;No description;1;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h
0x4801;HGIO_UnknownGpioId;No description;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4602;HSPI_HalfDuplexTransferFailed;No description;2;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h
0x4802;HGIO_DriveGpioFailure;No description;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4603;HSPI_Timeout;No description;3;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h
0x4803;HGIO_GpioTypeFailure;No description;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4604;HSPI_Busy;No description;4;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h
0x4804;HGIO_GpioInvalidInstance;No description;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4605;HSPI_GenericError;No description;5;HAL_SPI;fsfw/src/fsfw_hal/common/spi/spiCommon.h
0x4805;HGIO_GpioDuplicateDetected;No description;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4701;HURT_UartReadFailure;No description;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4806;HGIO_GpioInitFailed;No description;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4702;HURT_UartReadSizeMissmatch;No description;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4807;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4703;HURT_UartRxBufferTooSmall;No description;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4c00;SPPA_NoPacketFound;No description;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h 0x4901;HGIO_UnknownGpioId;No description;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4c01;SPPA_SplitPacket;No description;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h 0x4902;HGIO_DriveGpioFailure;No description;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4fa1;HEATER_CommandNotSupported;No description;161;HEATER_HANDLER;mission/tcs/HeaterHandler.h 0x4903;HGIO_GpioTypeFailure;No description;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4fa2;HEATER_InitFailed;No description;162;HEATER_HANDLER;mission/tcs/HeaterHandler.h 0x4904;HGIO_GpioInvalidInstance;No description;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4fa3;HEATER_InvalidSwitchNr;No description;163;HEATER_HANDLER;mission/tcs/HeaterHandler.h 0x4905;HGIO_GpioDuplicateDetected;No description;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4fa4;HEATER_MainSwitchSetTimeout;No description;164;HEATER_HANDLER;mission/tcs/HeaterHandler.h 0x4906;HGIO_GpioInitFailed;No description;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4fa5;HEATER_CommandAlreadyWaiting;No description;165;HEATER_HANDLER;mission/tcs/HeaterHandler.h 0x4907;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x50a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x4d00;SPPA_NoPacketFound;No description;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x4d01;SPPA_SplitPacket;No description;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x50a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x50a1;HEATER_CommandNotSupported;No description;161;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x50a3;SYRLINKS_BadParameterValueAck;No description;163;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x50a2;HEATER_InitFailed;No description;162;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x50a4;SYRLINKS_BadEndOfFrameAck;No description;164;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x50a3;HEATER_InvalidSwitchNr;No description;163;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x50a5;SYRLINKS_UnknownCommandIdAck;No description;165;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x50a4;HEATER_MainSwitchSetTimeout;No description;164;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x50a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x50a5;HEATER_CommandAlreadyWaiting;No description;165;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x50a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x51a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h 0x51a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5100;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x51a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5101;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x51a3;SYRLINKS_BadParameterValueAck;No description;163;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5102;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x51a4;SYRLINKS_BadEndOfFrameAck;No description;164;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5103;IMTQ_ParameterMissing;No description;3;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x51a5;SYRLINKS_UnknownCommandIdAck;No description;165;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5104;IMTQ_ParameterInvalid;No description;4;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x51a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5105;IMTQ_CcUnavailable;No description;5;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x51a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5106;IMTQ_InternalProcessingError;No description;6;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x51a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x5107;IMTQ_RejectedWithoutReason;No description;7;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x5200;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5108;IMTQ_CmdErrUnknown;No description;8;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x5201;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5109;IMTQ_StartupCfgError;No description;9;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x5202;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x510a;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.;10;IMTQ_HANDLER;mission/acs/imtqHelpers.h 0x5203;IMTQ_ParameterMissing;No description;3;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b0;RWHA_SpiWriteFailure;No description;176;RW_HANDLER;mission/acs/rwHelpers.h 0x5204;IMTQ_ParameterInvalid;No description;4;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/acs/rwHelpers.h 0x5205;IMTQ_CcUnavailable;No description;5;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;178;RW_HANDLER;mission/acs/rwHelpers.h 0x5206;IMTQ_InternalProcessingError;No description;6;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b3;RWHA_InvalidSubstitute;Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination;179;RW_HANDLER;mission/acs/rwHelpers.h 0x5207;IMTQ_RejectedWithoutReason;No description;7;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b4;RWHA_MissingEndSign;HDLC decoding mechanism never receives the end sign 0x7E;180;RW_HANDLER;mission/acs/rwHelpers.h 0x5208;IMTQ_CmdErrUnknown;No description;8;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b5;RWHA_NoReply;Reaction wheel only responds with empty frames.;181;RW_HANDLER;mission/acs/rwHelpers.h 0x5209;IMTQ_StartupCfgError;No description;9;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b6;RWHA_NoStartMarker;Expected a start marker as first byte;182;RW_HANDLER;mission/acs/rwHelpers.h 0x520a;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.;10;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b7;RWHA_SpiReadTimeout;Timeout when reading reply;183;RW_HANDLER;mission/acs/rwHelpers.h 0x53b0;RWHA_SpiWriteFailure;No description;176;RW_HANDLER;mission/acs/rwHelpers.h
0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x53b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/acs/rwHelpers.h
0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x53b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;178;RW_HANDLER;mission/acs/rwHelpers.h
0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x53b3;RWHA_InvalidSubstitute;Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination;179;RW_HANDLER;mission/acs/rwHelpers.h
0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x53b4;RWHA_MissingEndSign;HDLC decoding mechanism never receives the end sign 0x7E;180;RW_HANDLER;mission/acs/rwHelpers.h
0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x53b5;RWHA_NoReply;Reaction wheel only responds with empty frames.;181;RW_HANDLER;mission/acs/rwHelpers.h
0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x53b6;RWHA_NoStartMarker;Expected a start marker as first byte;182;RW_HANDLER;mission/acs/rwHelpers.h
0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x53b7;RWHA_SpiReadTimeout;Timeout when reading reply;183;RW_HANDLER;mission/acs/rwHelpers.h
0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b7;STRH_StartrackerNotRunningFirmware;Star tracker must be in firmware mode to run this command;183;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b8;STRH_StartrackerNotRunningBootloader;Star tracker must be in bootloader mode to run this command;184;STR_HANDLER;mission/acs/str/StarTrackerHandler.h 0x54b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x54e0;DWLPWRON_InvalidMode;Received command has invalid JESD mode (valid modes are 0 - 5);224;DWLPWRON_CMD;linux/payload/plocMpsocHelpers.h 0x54b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x54e1;DWLPWRON_InvalidLaneRate;Received command has invalid lane rate (valid lane rate are 0 - 9);225;DWLPWRON_CMD;linux/payload/plocMpsocHelpers.h 0x54b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5700;PLSPVhLP_RequestDone;No description;0;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x54b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5701;PLSPVhLP_NoPacketFound;No description;1;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x54b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5702;PLSPVhLP_DecodeBufTooSmall;No description;2;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x54b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5703;PLSPVhLP_PossiblePacketLossConsecutiveStart;No description;3;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x54b7;STRH_StartrackerNotRunningFirmware;Star tracker must be in firmware mode to run this command;183;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5704;PLSPVhLP_PossiblePacketLossConsecutiveEnd;No description;4;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x54b8;STRH_StartrackerNotRunningBootloader;Star tracker must be in bootloader mode to run this command;184;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5705;PLSPVhLP_HdlcError;No description;5;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x55e0;DWLPWRON_InvalidMode;Received command has invalid JESD mode (valid modes are 0 - 5);224;DWLPWRON_CMD;linux/payload/plocMpsocHelpers.h
0x57a0;PLSPVhLP_FileClosedAccidentally;File accidentally close;160;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x55e1;DWLPWRON_InvalidLaneRate;Received command has invalid lane rate (valid lane rate are 0 - 9);225;DWLPWRON_CMD;linux/payload/plocMpsocHelpers.h
0x57a1;PLSPVhLP_ProcessTerminated;Process has been terminated by command;161;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x5800;PLSPVhLP_RequestDone;No description;0;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x57a2;PLSPVhLP_PathNotExists;Received command with invalid pathname;162;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x5801;PLSPVhLP_NoPacketFound;No description;1;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x57a3;PLSPVhLP_EventBufferReplyInvalidApid;Expected event buffer TM but received space packet with other APID;163;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h 0x5802;PLSPVhLP_DecodeBufTooSmall;No description;2;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x58a0;SUSS_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;SUS_HANDLER;mission/acs/RwHandler.h 0x5803;PLSPVhLP_PossiblePacketLossConsecutiveStart;No description;3;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x58a1;SUSS_InvalidRampTime;Action Message with invalid ramp time was received.;161;SUS_HANDLER;mission/acs/RwHandler.h 0x5804;PLSPVhLP_PossiblePacketLossConsecutiveEnd;No description;4;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x58a2;SUSS_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;SUS_HANDLER;mission/acs/RwHandler.h 0x5805;PLSPVhLP_HdlcError;No description;5;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x58a3;SUSS_ExecutionFailed;Command execution failed;163;SUS_HANDLER;mission/acs/RwHandler.h 0x58a0;PLSPVhLP_FileClosedAccidentally;File accidentally close;160;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x58a4;SUSS_CrcError;Reaction wheel reply has invalid crc;164;SUS_HANDLER;mission/acs/RwHandler.h 0x58a1;PLSPVhLP_ProcessTerminated;Process has been terminated by command;161;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x58a5;SUSS_ValueNotRead;No description;165;SUS_HANDLER;mission/acs/RwHandler.h 0x58a2;PLSPVhLP_PathNotExists;Received command with invalid pathname;162;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x59a0;IPCI_PapbBusy;No description;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h 0x58a3;PLSPVhLP_EventBufferReplyInvalidApid;Expected event buffer TM but received space packet with other APID;163;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x5aa0;PTME_UnknownVcId;No description;160;PTME;linux/ipcore/Ptme.h 0x59a0;SUSS_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;SUS_HANDLER;mission/acs/RwHandler.h
0x5c01;STRHLP_SdNotMounted;SD card specified in path string not mounted;1;STR_HELPER;linux/acs/StrComHandler.h 0x59a1;SUSS_InvalidRampTime;Action Message with invalid ramp time was received.;161;SUS_HANDLER;mission/acs/RwHandler.h
0x5c02;STRHLP_FileNotExists;Specified file does not exist on filesystem;2;STR_HELPER;linux/acs/StrComHandler.h 0x59a2;SUSS_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;SUS_HANDLER;mission/acs/RwHandler.h
0x5c03;STRHLP_PathNotExists;Specified path does not exist;3;STR_HELPER;linux/acs/StrComHandler.h 0x59a3;SUSS_ExecutionFailed;Command execution failed;163;SUS_HANDLER;mission/acs/RwHandler.h
0x5c04;STRHLP_FileCreationFailed;Failed to create download image or read flash file;4;STR_HELPER;linux/acs/StrComHandler.h 0x59a4;SUSS_CrcError;Reaction wheel reply has invalid crc;164;SUS_HANDLER;mission/acs/RwHandler.h
0x5c05;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;5;STR_HELPER;linux/acs/StrComHandler.h 0x59a5;SUSS_ValueNotRead;No description;165;SUS_HANDLER;mission/acs/RwHandler.h
0x5c06;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;6;STR_HELPER;linux/acs/StrComHandler.h 0x5aa0;IPCI_PapbBusy;No description;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h
0x5c07;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;7;STR_HELPER;linux/acs/StrComHandler.h 0x5ba0;PTME_UnknownVcId;No description;160;PTME;linux/ipcore/Ptme.h
0x5c08;STRHLP_StatusError;Status field in reply signals error;8;STR_HELPER;linux/acs/StrComHandler.h 0x5d01;STRHLP_SdNotMounted;SD card specified in path string not mounted;1;STR_HELPER;linux/acs/StrComHandler.h
0x5c09;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);9;STR_HELPER;linux/acs/StrComHandler.h 0x5d02;STRHLP_FileNotExists;Specified file does not exist on filesystem;2;STR_HELPER;linux/acs/StrComHandler.h
0x5c0a;STRHLP_ReceptionTimeout;No description;10;STR_HELPER;linux/acs/StrComHandler.h 0x5d03;STRHLP_PathNotExists;Specified path does not exist;3;STR_HELPER;linux/acs/StrComHandler.h
0x5c0b;STRHLP_DecodingError;No description;11;STR_HELPER;linux/acs/StrComHandler.h 0x5d04;STRHLP_FileCreationFailed;Failed to create download image or read flash file;4;STR_HELPER;linux/acs/StrComHandler.h
0x5d00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h 0x5d05;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;5;STR_HELPER;linux/acs/StrComHandler.h
0x5d01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h 0x5d06;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;6;STR_HELPER;linux/acs/StrComHandler.h
0x5d02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h 0x5d07;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;7;STR_HELPER;linux/acs/StrComHandler.h
0x5d03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h 0x5d08;STRHLP_StatusError;Status field in reply signals error;8;STR_HELPER;linux/acs/StrComHandler.h
0x5d04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h 0x5d09;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);9;STR_HELPER;linux/acs/StrComHandler.h
0x5d05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h 0x5d0a;STRHLP_ReceptionTimeout;No description;10;STR_HELPER;linux/acs/StrComHandler.h
0x5ea0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;160;PLOC_MEMORY_DUMPER;linux/payload/PlocMemoryDumper.h 0x5d0b;STRHLP_DecodingError;No description;11;STR_HELPER;linux/acs/StrComHandler.h
0x5ea1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;161;PLOC_MEMORY_DUMPER;linux/payload/PlocMemoryDumper.h 0x5e00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5fa0;PDEC_AbandonedCltuRetval;No description;160;PDEC_HANDLER;linux/ipcore/pdec.h 0x5e01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5fa1;PDEC_FrameDirtyRetval;No description;161;PDEC_HANDLER;linux/ipcore/pdec.h 0x5e02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5fa2;PDEC_FrameIllegalMultipleReasons;No description;162;PDEC_HANDLER;linux/ipcore/pdec.h 0x5e03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5fa3;PDEC_AdDiscardedLockoutRetval;No description;163;PDEC_HANDLER;linux/ipcore/pdec.h 0x5e04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5fa4;PDEC_AdDiscardedWaitRetval;No description;164;PDEC_HANDLER;linux/ipcore/pdec.h 0x5e05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5fa5;PDEC_AdDiscardedNsVs;No description;165;PDEC_HANDLER;linux/ipcore/pdec.h 0x5fa0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;160;PLOC_MEMORY_DUMPER;linux/payload/PlocMemoryDumper.h
0x5fa6;PDEC_NoReportRetval;No description;166;PDEC_HANDLER;linux/ipcore/pdec.h 0x5fa1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;161;PLOC_MEMORY_DUMPER;linux/payload/PlocMemoryDumper.h
0x5fa7;PDEC_ErrorVersionNumberRetval;No description;167;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a0;PDEC_AbandonedCltuRetval;No description;160;PDEC_HANDLER;linux/ipcore/pdec.h
0x5fa8;PDEC_IllegalCombinationRetval;No description;168;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a1;PDEC_FrameDirtyRetval;No description;161;PDEC_HANDLER;linux/ipcore/pdec.h
0x5fa9;PDEC_InvalidScIdRetval;No description;169;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a2;PDEC_FrameIllegalMultipleReasons;No description;162;PDEC_HANDLER;linux/ipcore/pdec.h
0x5faa;PDEC_InvalidVcIdMsbRetval;No description;170;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a3;PDEC_AdDiscardedLockoutRetval;No description;163;PDEC_HANDLER;linux/ipcore/pdec.h
0x5fab;PDEC_InvalidVcIdLsbRetval;No description;171;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a4;PDEC_AdDiscardedWaitRetval;No description;164;PDEC_HANDLER;linux/ipcore/pdec.h
0x5fac;PDEC_NsNotZeroRetval;No description;172;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a5;PDEC_AdDiscardedNsVs;No description;165;PDEC_HANDLER;linux/ipcore/pdec.h
0x5fae;PDEC_InvalidBcCc;No description;174;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a6;PDEC_NoReportRetval;No description;166;PDEC_HANDLER;linux/ipcore/pdec.h
0x5fb0;PDEC_CommandNotImplemented;Received action message with unknown action id;176;PDEC_HANDLER;linux/ipcore/pdec.h 0x60a7;PDEC_ErrorVersionNumberRetval;No description;167;PDEC_HANDLER;linux/ipcore/pdec.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/com/CcsdsIpCoreHandler.h 0x60a8;PDEC_IllegalCombinationRetval;No description;168;PDEC_HANDLER;linux/ipcore/pdec.h
0x61a0;RS_RateNotSupported;The commanded rate is not supported by the current FPGA design;160;RATE_SETTER;linux/ipcore/PtmeConfig.h 0x60a9;PDEC_InvalidScIdRetval;No description;169;PDEC_HANDLER;linux/ipcore/pdec.h
0x61a1;RS_BadBitRate;Bad bitrate has been commanded (e.g. 0);161;RATE_SETTER;linux/ipcore/PtmeConfig.h 0x60aa;PDEC_InvalidVcIdMsbRetval;No description;170;PDEC_HANDLER;linux/ipcore/pdec.h
0x61a2;RS_ClkInversionFailed;Failed to invert clock and thus change the time the data is updated with respect to the tx clock;162;RATE_SETTER;linux/ipcore/PtmeConfig.h 0x60ab;PDEC_InvalidVcIdLsbRetval;No description;171;PDEC_HANDLER;linux/ipcore/pdec.h
0x61a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;163;RATE_SETTER;linux/ipcore/PtmeConfig.h 0x60ac;PDEC_NsNotZeroRetval;No description;172;PDEC_HANDLER;linux/ipcore/pdec.h
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h 0x60ae;PDEC_InvalidBcCc;No description;174;PDEC_HANDLER;linux/ipcore/pdec.h
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h 0x60b0;PDEC_CommandNotImplemented;Received action message with unknown action id;176;PDEC_HANDLER;linux/ipcore/pdec.h
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h 0x61a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/com/CcsdsIpCoreHandler.h
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h 0x62a0;RS_RateNotSupported;The commanded rate is not supported by the current FPGA design;160;RATE_SETTER;linux/ipcore/PtmeConfig.h
0x64a0;FSHLP_SdNotMounted;SD card specified with path string not mounted;160;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h 0x62a1;RS_BadBitRate;Bad bitrate has been commanded (e.g. 0);161;RATE_SETTER;linux/ipcore/PtmeConfig.h
0x64a1;FSHLP_FileNotExists;Specified file does not exist on filesystem;161;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h 0x62a2;RS_ClkInversionFailed;Failed to invert clock and thus change the time the data is updated with respect to the tx clock;162;RATE_SETTER;linux/ipcore/PtmeConfig.h
0x65a0;PLMPHLP_FileWriteError;File error occured for file transfers from OBC to the MPSoC.;160;PLOC_MPSOC_HELPER;linux/payload/PlocMpsocSpecialComHelper.h 0x62a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;163;RATE_SETTER;linux/ipcore/PtmeConfig.h
0x65a1;PLMPHLP_FileReadError;File error occured for file transfers from MPSoC to OBC.;161;PLOC_MPSOC_HELPER;linux/payload/PlocMpsocSpecialComHelper.h 0x6301;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x66a0;SADPL_CommandNotSupported;No description;160;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h 0x6302;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x66a1;SADPL_DeploymentAlreadyExecuting;No description;161;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h 0x6303;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x66a2;SADPL_MainSwitchTimeoutFailure;No description;162;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h 0x64a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h
0x66a3;SADPL_SwitchingDeplSa1Failed;No description;163;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h 0x65a0;FSHLP_SdNotMounted;SD card specified with path string not mounted;160;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h
0x66a4;SADPL_SwitchingDeplSa2Failed;No description;164;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h 0x65a1;FSHLP_FileNotExists;Specified file does not exist on filesystem;161;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h
0x67a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x66a0;PLMPHLP_FileWriteError;File error occured for file transfers from OBC to the MPSoC.;160;PLOC_MPSOC_HELPER;linux/payload/PlocMpsocSpecialComHelper.h
0x67a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x66a1;PLMPHLP_FileReadError;File error occured for file transfers from MPSoC to OBC.;161;PLOC_MPSOC_HELPER;linux/payload/PlocMpsocSpecialComHelper.h
0x67a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x67a0;SADPL_CommandNotSupported;No description;160;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x67a3;MPSOCRTVIF_InvalidApid;Received space packet with invalid APID from PLOC;163;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x67a1;SADPL_DeploymentAlreadyExecuting;No description;161;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x67a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x67a2;SADPL_MainSwitchTimeoutFailure;No description;162;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x67a5;MPSOCRTVIF_FilenameTooLong;Filename of file in OBC filesystem is too long;165;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x67a3;SADPL_SwitchingDeplSa1Failed;No description;163;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x67a6;MPSOCRTVIF_MpsocHelperExecuting;MPSoC helper is currently executing a command;166;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x67a4;SADPL_SwitchingDeplSa2Failed;No description;164;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x67a7;MPSOCRTVIF_MpsocFilenameTooLong;Filename of MPSoC file is to long (max. 256 bytes);167;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x68a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x67a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x68a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x67a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h 0x68a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a0;SPVRTVIF_CrcFailure;Space Packet received from PLOC supervisor has invalid CRC;160;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x68a3;MPSOCRTVIF_InvalidApid;Received space packet with invalid APID from PLOC;163;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a1;SPVRTVIF_InvalidServiceId;No description;161;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x68a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a2;SPVRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC supervisor;162;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x68a5;MPSOCRTVIF_FilenameTooLong;Filename of file in OBC filesystem is too long;165;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a3;SPVRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC supervisor;163;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x68a6;MPSOCRTVIF_MpsocHelperExecuting;MPSoC helper is currently executing a command;166;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a4;SPVRTVIF_InvalidApid;Received space packet with invalid APID from PLOC supervisor;164;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x68a7;MPSOCRTVIF_MpsocFilenameTooLong;Filename of MPSoC file is to long (max. 256 bytes);167;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a5;SPVRTVIF_GetTimeFailure;Failed to read current system time;165;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x68a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a6;SPVRTVIF_InvalidWatchdog;Received command with invalid watchdog parameter. Valid watchdogs are 0 for PS, 1 for PL and 2 for INT;166;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x68a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a7;SPVRTVIF_InvalidWatchdogTimeout;Received watchdog timeout config command with invalid timeout. Valid timeouts must be in the range between 1000 and 360000 ms.;167;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a0;SPVRTVIF_CrcFailure;Space Packet received from PLOC supervisor has invalid CRC;160;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68a8;SPVRTVIF_InvalidLatchupId;Received latchup config command with invalid latchup ID;168;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a1;SPVRTVIF_InvalidServiceId;No description;161;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68a9;SPVRTVIF_SweepPeriodTooSmall;Received set adc sweep period command with invalid sweep period. Must be larger than 21.;169;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a2;SPVRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC supervisor;162;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68aa;SPVRTVIF_InvalidTestParam;Receive auto EM test command with invalid test param. Valid params are 1 and 2.;170;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a3;SPVRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC supervisor;163;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68ab;SPVRTVIF_MramPacketParsingFailure;Returned when scanning for MRAM dump packets failed.;171;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a4;SPVRTVIF_InvalidApid;Received space packet with invalid APID from PLOC supervisor;164;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68ac;SPVRTVIF_InvalidMramAddresses;Returned when the start and stop addresses of the MRAM dump or MRAM wipe commands are invalid (e.g. start address bigger than stop address);172;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a5;SPVRTVIF_GetTimeFailure;Failed to read current system time;165;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68ad;SPVRTVIF_NoMramPacket;Expect reception of an MRAM dump packet but received space packet with other apid.;173;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a6;SPVRTVIF_InvalidWatchdog;Received command with invalid watchdog parameter. Valid watchdogs are 0 for PS, 1 for PL and 2 for INT;166;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68ae;SPVRTVIF_PathDoesNotExist;Path to PLOC directory on SD card does not exist;174;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a7;SPVRTVIF_InvalidWatchdogTimeout;Received watchdog timeout config command with invalid timeout. Valid timeouts must be in the range between 1000 and 360000 ms.;167;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68af;SPVRTVIF_MramFileNotExists;MRAM dump file does not exists. The file should actually already have been created with the reception of the first dump packet.;175;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a8;SPVRTVIF_InvalidLatchupId;Received latchup config command with invalid latchup ID;168;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b0;SPVRTVIF_InvalidReplyLength;No description;176;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69a9;SPVRTVIF_SweepPeriodTooSmall;Received set adc sweep period command with invalid sweep period. Must be larger than 21.;169;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b1;SPVRTVIF_InvalidLength;Received action command has invalid length;177;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69aa;SPVRTVIF_InvalidTestParam;Receive auto EM test command with invalid test param. Valid params are 1 and 2.;170;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b2;SPVRTVIF_FilenameTooLong;Filename too long;178;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69ab;SPVRTVIF_MramPacketParsingFailure;Returned when scanning for MRAM dump packets failed.;171;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b3;SPVRTVIF_UpdateStatusReportInvalidLength;Received update status report with invalid packet length field;179;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69ac;SPVRTVIF_InvalidMramAddresses;Returned when the start and stop addresses of the MRAM dump or MRAM wipe commands are invalid (e.g. start address bigger than stop address);172;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b4;SPVRTVIF_UpdateCrcFailure;Update status report does not contain expected CRC. There might be a bit flip in the update memory region.;180;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69ad;SPVRTVIF_NoMramPacket;Expect reception of an MRAM dump packet but received space packet with other apid.;173;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b5;SPVRTVIF_SupvHelperExecuting;Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command);181;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69ae;SPVRTVIF_PathDoesNotExist;Path to PLOC directory on SD card does not exist;174;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68c0;SPVRTVIF_BufTooSmall;No description;192;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69af;SPVRTVIF_MramFileNotExists;MRAM dump file does not exists. The file should actually already have been created with the reception of the first dump packet.;175;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68c1;SPVRTVIF_NoReplyTimeout;No description;193;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h 0x69b0;SPVRTVIF_InvalidReplyLength;No description;176;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6900;ACSCTRL_FileDeletionFailed;File deletion failed and at least one file is still existent.;0;ACS_CTRL;mission/controller/AcsController.h 0x69b1;SPVRTVIF_InvalidLength;Received action command has invalid length;177;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6a02;ACSMEKF_MekfUninitialized;No description;2;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x69b2;SPVRTVIF_FilenameTooLong;Filename too long;178;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6a03;ACSMEKF_MekfNoGyrData;No description;3;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x69b3;SPVRTVIF_UpdateStatusReportInvalidLength;Received update status report with invalid packet length field;179;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6a04;ACSMEKF_MekfNoModelVectors;No description;4;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x69b4;SPVRTVIF_UpdateCrcFailure;Update status report does not contain expected CRC. There might be a bit flip in the update memory region.;180;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6a05;ACSMEKF_MekfNoSusMgmStrData;No description;5;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x69b5;SPVRTVIF_SupvHelperExecuting;Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command);181;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6a06;ACSMEKF_MekfCovarianceInversionFailed;No description;6;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x69c0;SPVRTVIF_BufTooSmall;No description;192;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6a07;ACSMEKF_MekfNotFinite;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x69c1;SPVRTVIF_NoReplyTimeout;No description;193;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x6a08;ACSMEKF_MekfInitialized;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6a00;ACSCTRL_FileDeletionFailed;File deletion failed and at least one file is still existent.;0;ACS_CTRL;mission/controller/AcsController.h
0x6a09;ACSMEKF_MekfRunning;No description;9;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6b02;ACSMEKF_MekfUninitialized;No description;2;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b00;SDMA_OpOngoing;No description;0;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6b03;ACSMEKF_MekfNoGyrData;No description;3;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b01;SDMA_AlreadyOn;No description;1;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6b04;ACSMEKF_MekfNoModelVectors;No description;4;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b02;SDMA_AlreadyMounted;No description;2;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6b05;ACSMEKF_MekfNoSusMgmStrData;No description;5;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b03;SDMA_AlreadyOff;No description;3;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6b06;ACSMEKF_MekfCovarianceInversionFailed;No description;6;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b0a;SDMA_StatusFileNexists;No description;10;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6b07;ACSMEKF_MekfNotFinite;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b0b;SDMA_StatusFileFormatInvalid;No description;11;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6b08;ACSMEKF_MekfInitialized;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b0c;SDMA_MountError;No description;12;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6b09;ACSMEKF_MekfRunning;No description;9;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b0d;SDMA_UnmountError;No description;13;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6c00;SDMA_OpOngoing;No description;0;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6b0e;SDMA_SystemCallError;No description;14;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6c01;SDMA_AlreadyOn;No description;1;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6b0f;SDMA_PopenCallError;No description;15;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h 0x6c02;SDMA_AlreadyMounted;No description;2;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6c00;LPH_SdNotReady;No description;0;LOCAL_PARAM_HANDLER;bsp_q7s/memory/LocalParameterHandler.h 0x6c03;SDMA_AlreadyOff;No description;3;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6d00;PTM_DumpDone;No description;0;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h 0x6c0a;SDMA_StatusFileNexists;No description;10;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6d01;PTM_BusyDumping;No description;1;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h 0x6c0b;SDMA_StatusFileFormatInvalid;No description;11;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6e00;TMS_IsBusy;No description;0;TM_SINK;mission/tmtc/DirectTmSinkIF.h 0x6c0c;SDMA_MountError;No description;12;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x7000;SCBU_KeyNotFound;No description;0;SCRATCH_BUFFER;bsp_q7s/memory/scratchApi.h 0x6c0d;SDMA_UnmountError;No description;13;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6c0e;SDMA_SystemCallError;No description;14;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6c0f;SDMA_PopenCallError;No description;15;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6d00;LPH_SdNotReady;No description;0;LOCAL_PARAM_HANDLER;bsp_q7s/memory/LocalParameterHandler.h
0x6e00;PTM_DumpDone;No description;0;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h
0x6e01;PTM_BusyDumping;No description;1;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h
0x6f00;TMS_IsBusy;No description;0;TM_SINK;mission/tmtc/DirectTmSinkIF.h
0x6f01;TMS_PartiallyWritten;No description;1;TM_SINK;mission/tmtc/DirectTmSinkIF.h
0x6f02;TMS_NoWriteActive;No description;2;TM_SINK;mission/tmtc/DirectTmSinkIF.h
0x7000;VCS_ChannelDoesNotExist;No description;0;VIRTUAL_CHANNEL;mission/com/VirtualChannel.h
0x7200;SCBU_KeyNotFound;No description;0;SCRATCH_BUFFER;bsp_q7s/memory/scratchApi.h

1 Full ID (hex) Name Description Unique ID Subsytem Name File Path
323 0x3405 DC_NotActive No description 5 DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
324 0x3406 DC_TooMuchData No description 6 DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
325 0x3407 DC_Busy No description 7 DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
326 0x3601 CFDP_InvalidTlvType No description 1 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
327 0x3602 CFDP_InvalidDirectiveField No description 2 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
328 0x3603 CFDP_InvalidPduDatafieldLen No description 3 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
329 0x3604 CFDP_InvalidAckDirectiveFields No description 4 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
330 0x3605 CFDP_MetadataCantParseOptions No description 5 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
331 0x3606 CFDP_NakCantParseOptions No description 6 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
332 0x3607 CFDP_FinishedCantParseFsResponses No description 7 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
333 0x3608 CFDP_FilestoreRequiresSecondFile No description 8 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
334 0x3609 CFDP_FilestoreResponseCantParseFsMessage No description 9 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
335 0x360a CFDP_InvalidPduFormat No description 10 CFDP CFDP_BASE fsfw/src/fsfw/cfdp/definitions.h
336 0x3701 0x3700 TSI_BadTimestamp CFDP_SourceTransactionPending No description 1 0 TIME_STAMPER_IF CFDP_HANDLER fsfw/src/fsfw/timemanager/TimeStampIF.h fsfw/src/fsfw/cfdp/handler/defs.h
337 0x38a1 0x3701 SGP4_InvalidEccentricity CFDP_FileDoesNotExist No description 161 1 SGP4PROPAGATOR_CLASS CFDP_HANDLER fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/cfdp/handler/defs.h
338 0x38a2 0x3702 SGP4_InvalidMeanMotion CFDP_FileSegmentLenInvalid No description 162 2 SGP4PROPAGATOR_CLASS CFDP_HANDLER fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/cfdp/handler/defs.h
339 0x38a3 0x3703 SGP4_InvalidPerturbationElements CFDP_SourceNameEmpty No description 163 3 SGP4PROPAGATOR_CLASS CFDP_HANDLER fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/cfdp/handler/defs.h
340 0x38a4 0x3704 SGP4_InvalidSemiLatusRectum CFDP_DestNameEmpty No description 164 4 SGP4PROPAGATOR_CLASS CFDP_HANDLER fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/cfdp/handler/defs.h
341 0x38a5 0x3705 SGP4_InvalidEpochElements CFDP_WrongRemoteCfgEntityId No description 165 5 SGP4PROPAGATOR_CLASS CFDP_HANDLER fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/cfdp/handler/defs.h
342 0x38a6 0x3706 SGP4_SatelliteHasDecayed CFDP_TargetMsgQueueFull No description 166 6 SGP4PROPAGATOR_CLASS CFDP_HANDLER fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/cfdp/handler/defs.h
343 0x38b1 0x3707 SGP4_TleTooOld CFDP_TmStoreFull No description 177 7 SGP4PROPAGATOR_CLASS CFDP_HANDLER fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/cfdp/handler/defs.h
344 0x38b2 0x3801 SGP4_TleNotInitialized TSI_BadTimestamp No description 178 1 SGP4PROPAGATOR_CLASS TIME_STAMPER_IF fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/timemanager/TimeStampIF.h
345 0x3901 0x39a1 MUX_NotEnoughResources SGP4_InvalidEccentricity No description 1 161 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
346 0x3902 0x39a2 MUX_InsufficientMemory SGP4_InvalidMeanMotion No description 2 162 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
347 0x3903 0x39a3 MUX_NoPrivilege SGP4_InvalidPerturbationElements No description 3 163 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
348 0x3904 0x39a4 MUX_WrongAttributeSetting SGP4_InvalidSemiLatusRectum No description 4 164 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
349 0x3905 0x39a5 MUX_MutexAlreadyLocked SGP4_InvalidEpochElements No description 5 165 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
350 0x3906 0x39a6 MUX_MutexNotFound SGP4_SatelliteHasDecayed No description 6 166 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
351 0x3907 0x39b1 MUX_MutexMaxLocks SGP4_TleTooOld No description 7 177 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
352 0x3908 0x39b2 MUX_CurrThreadAlreadyOwnsMutex SGP4_TleNotInitialized No description 8 178 MUTEX_IF SGP4PROPAGATOR_CLASS fsfw/src/fsfw/ipc/MutexIF.h fsfw/src/fsfw/coordinates/Sgp4Propagator.h
353 0x3909 0x3a01 MUX_CurrThreadDoesNotOwnMutex MUX_NotEnoughResources No description 9 1 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
354 0x390a 0x3a02 MUX_MutexTimeout MUX_InsufficientMemory No description 10 2 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
355 0x390b 0x3a03 MUX_MutexInvalidId MUX_NoPrivilege No description 11 3 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
356 0x390c 0x3a04 MUX_MutexDestroyedWhileWaiting MUX_WrongAttributeSetting No description 12 4 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
357 0x3a01 0x3a05 MQI_Empty MUX_MutexAlreadyLocked No description 1 5 MESSAGE_QUEUE_IF MUTEX_IF fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/ipc/MutexIF.h
358 0x3a02 0x3a06 MQI_Full MUX_MutexNotFound No space left for more messages No description 2 6 MESSAGE_QUEUE_IF MUTEX_IF fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/ipc/MutexIF.h
359 0x3a03 0x3a07 MQI_NoReplyPartner MUX_MutexMaxLocks Returned if a reply method was called without partner No description 3 7 MESSAGE_QUEUE_IF MUTEX_IF fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/ipc/MutexIF.h
360 0x3a04 0x3a08 MQI_DestinationInvalid MUX_CurrThreadAlreadyOwnsMutex Returned if the target destination is invalid. No description 4 8 MESSAGE_QUEUE_IF MUTEX_IF fsfw/src/fsfw/ipc/MessageQueueIF.h fsfw/src/fsfw/ipc/MutexIF.h
361 0x3b00 0x3a09 SPH_ConnBroken MUX_CurrThreadDoesNotOwnMutex No description 0 9 SEMAPHORE_IF MUTEX_IF fsfw/src/fsfw/osal/common/TcpTmTcServer.h fsfw/src/fsfw/ipc/MutexIF.h
362 0x3b01 0x3a0a SPH_SemaphoreTimeout MUX_MutexTimeout No description 1 10 SEMAPHORE_IF MUTEX_IF fsfw/src/fsfw/tasks/SemaphoreIF.h fsfw/src/fsfw/ipc/MutexIF.h
363 0x3b02 0x3a0b SPH_SemaphoreNotOwned MUX_MutexInvalidId No description 2 11 SEMAPHORE_IF MUTEX_IF fsfw/src/fsfw/tasks/SemaphoreIF.h fsfw/src/fsfw/ipc/MutexIF.h
364 0x3b03 0x3a0c SPH_SemaphoreInvalid MUX_MutexDestroyedWhileWaiting No description 3 12 SEMAPHORE_IF MUTEX_IF fsfw/src/fsfw/tasks/SemaphoreIF.h fsfw/src/fsfw/ipc/MutexIF.h
365 0x3c00 0x3b01 LPIF_PoolEntryNotFound MQI_Empty No description 0 1 LOCAL_POOL_OWNER_IF MESSAGE_QUEUE_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h fsfw/src/fsfw/ipc/MessageQueueIF.h
366 0x3c01 0x3b02 LPIF_PoolEntryTypeConflict MQI_Full No description No space left for more messages 1 2 LOCAL_POOL_OWNER_IF MESSAGE_QUEUE_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h fsfw/src/fsfw/ipc/MessageQueueIF.h
367 0x3da0 0x3b03 PVA_InvalidReadWriteMode MQI_NoReplyPartner No description Returned if a reply method was called without partner 160 3 POOL_VARIABLE_IF MESSAGE_QUEUE_IF fsfw/src/fsfw/datapool/PoolVariableIF.h fsfw/src/fsfw/ipc/MessageQueueIF.h
368 0x3da1 0x3b04 PVA_InvalidPoolEntry MQI_DestinationInvalid No description Returned if the target destination is invalid. 161 4 POOL_VARIABLE_IF MESSAGE_QUEUE_IF fsfw/src/fsfw/datapool/PoolVariableIF.h fsfw/src/fsfw/ipc/MessageQueueIF.h
369 0x3e00 0x3c01 HKM_QueueOrDestinationInvalid SPH_SemaphoreTimeout No description 0 1 HOUSEKEEPING_MANAGER SEMAPHORE_IF fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h fsfw/src/fsfw/tasks/SemaphoreIF.h
370 0x3e01 0x3c02 HKM_WrongHkPacketType SPH_SemaphoreNotOwned No description 1 2 HOUSEKEEPING_MANAGER SEMAPHORE_IF fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h fsfw/src/fsfw/tasks/SemaphoreIF.h
371 0x3e02 0x3c03 HKM_ReportingStatusUnchanged SPH_SemaphoreInvalid No description 2 3 HOUSEKEEPING_MANAGER SEMAPHORE_IF fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h fsfw/src/fsfw/tasks/SemaphoreIF.h
372 0x3e03 0x3d00 HKM_PeriodicHelperInvalid LPIF_PoolEntryNotFound No description 3 0 HOUSEKEEPING_MANAGER LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
373 0x3e04 0x3d01 HKM_PoolobjectNotFound LPIF_PoolEntryTypeConflict No description 4 1 HOUSEKEEPING_MANAGER LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
374 0x3e05 0x3ea0 HKM_DatasetNotFound PVA_InvalidReadWriteMode No description 5 160 HOUSEKEEPING_MANAGER POOL_VARIABLE_IF fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h fsfw/src/fsfw/datapool/PoolVariableIF.h
375 0x3f01 0x3ea1 DLEE_StreamTooShort PVA_InvalidPoolEntry No description 1 161 DLE_ENCODER POOL_VARIABLE_IF fsfw/src/fsfw/globalfunctions/DleEncoder.h fsfw/src/fsfw/datapool/PoolVariableIF.h
376 0x3f02 0x3f00 DLEE_DecodingError HKM_QueueOrDestinationInvalid No description 2 0 DLE_ENCODER HOUSEKEEPING_MANAGER fsfw/src/fsfw/globalfunctions/DleEncoder.h fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
377 0x4201 0x3f01 PUS11_InvalidTypeTimeWindow HKM_WrongHkPacketType No description 1 PUS_SERVICE_11 HOUSEKEEPING_MANAGER fsfw/src/fsfw/pus/Service11TelecommandScheduling.h fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
378 0x4202 0x3f02 PUS11_InvalidTimeWindow HKM_ReportingStatusUnchanged No description 2 PUS_SERVICE_11 HOUSEKEEPING_MANAGER fsfw/src/fsfw/pus/Service11TelecommandScheduling.h fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
379 0x4203 0x3f03 PUS11_TimeshiftingNotPossible HKM_PeriodicHelperInvalid No description 3 PUS_SERVICE_11 HOUSEKEEPING_MANAGER fsfw/src/fsfw/pus/Service11TelecommandScheduling.h fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
380 0x4204 0x3f04 PUS11_InvalidRelativeTime HKM_PoolobjectNotFound No description 4 PUS_SERVICE_11 HOUSEKEEPING_MANAGER fsfw/src/fsfw/pus/Service11TelecommandScheduling.h fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
381 0x4205 0x3f05 PUS11_ContainedTcTooSmall HKM_DatasetNotFound No description 5 PUS_SERVICE_11 HOUSEKEEPING_MANAGER fsfw/src/fsfw/pus/Service11TelecommandScheduling.h fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
382 0x4206 0x4001 PUS11_ContainedTcCrcMissmatch DLEE_StreamTooShort No description 6 1 PUS_SERVICE_11 DLE_ENCODER fsfw/src/fsfw/pus/Service11TelecommandScheduling.h fsfw/src/fsfw/globalfunctions/DleEncoder.h
383 0x4300 0x4002 FILS_GenericFileError DLEE_DecodingError No description 0 2 FILE_SYSTEM DLE_ENCODER fsfw/src/fsfw/filesystem/HasFileSystemIF.h fsfw/src/fsfw/globalfunctions/DleEncoder.h
384 0x4301 FILS_GenericDirError PUS11_InvalidTypeTimeWindow No description 1 FILE_SYSTEM PUS_SERVICE_11 fsfw/src/fsfw/filesystem/HasFileSystemIF.h fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
385 0x4302 FILS_FilesystemInactive PUS11_InvalidTimeWindow No description 2 FILE_SYSTEM PUS_SERVICE_11 fsfw/src/fsfw/filesystem/HasFileSystemIF.h fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
386 0x4303 FILS_GenericRenameError PUS11_TimeshiftingNotPossible No description 3 FILE_SYSTEM PUS_SERVICE_11 fsfw/src/fsfw/filesystem/HasFileSystemIF.h fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
387 0x4304 FILS_IsBusy PUS11_InvalidRelativeTime No description 4 FILE_SYSTEM PUS_SERVICE_11 fsfw/src/fsfw/filesystem/HasFileSystemIF.h fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
388 0x4305 FILS_InvalidParameters PUS11_ContainedTcTooSmall No description 5 FILE_SYSTEM PUS_SERVICE_11 fsfw/src/fsfw/filesystem/HasFileSystemIF.h fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
389 0x430a 0x4306 FILS_FileDoesNotExist PUS11_ContainedTcCrcMissmatch No description 10 6 FILE_SYSTEM PUS_SERVICE_11 fsfw/src/fsfw/filesystem/HasFileSystemIF.h fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
390 0x430b 0x4400 FILS_FileAlreadyExists FILS_GenericFileError No description 11 0 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
391 0x430c 0x4401 FILS_NotAFile FILS_GenericDirError No description 12 1 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
392 0x430d 0x4402 FILS_FileLocked FILS_FilesystemInactive No description 13 2 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
393 0x430e 0x4403 FILS_PermissionDenied FILS_GenericRenameError No description 14 3 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
394 0x4315 0x4404 FILS_DirectoryDoesNotExist FILS_IsBusy No description 21 4 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
395 0x4316 0x4405 FILS_DirectoryAlreadyExists FILS_InvalidParameters No description 22 5 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
396 0x4317 0x440a FILS_NotADirectory FILS_FileDoesNotExist No description 23 10 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
397 0x4318 0x440b FILS_DirectoryNotEmpty FILS_FileAlreadyExists No description 24 11 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
398 0x431e 0x440c FILS_SequencePacketMissingWrite FILS_NotAFile No description 30 12 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
399 0x431f 0x440d FILS_SequencePacketMissingRead FILS_FileLocked No description 31 13 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
400 0x4400 0x440e UXOS_ExecutionFinished FILS_PermissionDenied Execution of the current command has finished No description 0 14 LINUX_OSAL FILE_SYSTEM fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
401 0x4401 0x4415 UXOS_CommandPending FILS_DirectoryDoesNotExist Command is pending. This will also be returned if the user tries to load another command but a command is still pending No description 1 21 LINUX_OSAL FILE_SYSTEM fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
402 0x4402 0x4416 UXOS_BytesRead FILS_DirectoryAlreadyExists Some bytes have been read from the executing process No description 2 22 LINUX_OSAL FILE_SYSTEM fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
403 0x4403 0x4417 UXOS_CommandError FILS_NotADirectory Command execution failed No description 3 23 LINUX_OSAL FILE_SYSTEM fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
404 0x4404 0x4418 UXOS_NoCommandLoadedOrPending FILS_DirectoryNotEmpty No description 4 24 LINUX_OSAL FILE_SYSTEM fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
405 0x4406 0x441e UXOS_PcloseCallError FILS_SequencePacketMissingWrite No description 6 30 LINUX_OSAL FILE_SYSTEM fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
406 0x4500 0x441f HSPI_OpeningFileFailed FILS_SequencePacketMissingRead No description 0 31 HAL_SPI FILE_SYSTEM fsfw/src/fsfw_hal/common/spi/spiCommon.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
407 0x4501 0x4500 HSPI_FullDuplexTransferFailed UXOS_ExecutionFinished No description Execution of the current command has finished 1 0 HAL_SPI LINUX_OSAL fsfw/src/fsfw_hal/common/spi/spiCommon.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
408 0x4502 0x4501 HSPI_HalfDuplexTransferFailed UXOS_CommandPending No description Command is pending. This will also be returned if the user tries to load another command but a command is still pending 2 1 HAL_SPI LINUX_OSAL fsfw/src/fsfw_hal/common/spi/spiCommon.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
409 0x4503 0x4502 HSPI_Timeout UXOS_BytesRead No description Some bytes have been read from the executing process 3 2 HAL_SPI LINUX_OSAL fsfw/src/fsfw_hal/common/spi/spiCommon.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
410 0x4504 0x4503 HSPI_Busy UXOS_CommandError No description Command execution failed 4 3 HAL_SPI LINUX_OSAL fsfw/src/fsfw_hal/common/spi/spiCommon.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
411 0x4505 0x4504 HSPI_GenericError UXOS_NoCommandLoadedOrPending No description 5 4 HAL_SPI LINUX_OSAL fsfw/src/fsfw_hal/common/spi/spiCommon.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
412 0x4601 0x4506 HURT_UartReadFailure UXOS_PcloseCallError No description 1 6 HAL_UART LINUX_OSAL fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
413 0x4602 0x4600 HURT_UartReadSizeMissmatch HSPI_OpeningFileFailed No description 2 0 HAL_UART HAL_SPI fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw_hal/common/spi/spiCommon.h
414 0x4603 0x4601 HURT_UartRxBufferTooSmall HSPI_FullDuplexTransferFailed No description 3 1 HAL_UART HAL_SPI fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw_hal/common/spi/spiCommon.h
415 0x4801 0x4602 HGIO_UnknownGpioId HSPI_HalfDuplexTransferFailed No description 1 2 HAL_GPIO HAL_SPI fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw_hal/common/spi/spiCommon.h
416 0x4802 0x4603 HGIO_DriveGpioFailure HSPI_Timeout No description 2 3 HAL_GPIO HAL_SPI fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw_hal/common/spi/spiCommon.h
417 0x4803 0x4604 HGIO_GpioTypeFailure HSPI_Busy No description 3 4 HAL_GPIO HAL_SPI fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw_hal/common/spi/spiCommon.h
418 0x4804 0x4605 HGIO_GpioInvalidInstance HSPI_GenericError No description 4 5 HAL_GPIO HAL_SPI fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw_hal/common/spi/spiCommon.h
419 0x4805 0x4701 HGIO_GpioDuplicateDetected HURT_UartReadFailure No description 5 1 HAL_GPIO HAL_UART fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
420 0x4806 0x4702 HGIO_GpioInitFailed HURT_UartReadSizeMissmatch No description 6 2 HAL_GPIO HAL_UART fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
421 0x4807 0x4703 HGIO_GpioGetValueFailed HURT_UartRxBufferTooSmall No description 7 3 HAL_GPIO HAL_UART fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
422 0x4c00 0x4901 SPPA_NoPacketFound HGIO_UnknownGpioId No description 0 1 SPACE_PACKET_PARSER HAL_GPIO fsfw/src/fsfw/tmtcservices/SpacePacketParser.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
423 0x4c01 0x4902 SPPA_SplitPacket HGIO_DriveGpioFailure No description 1 2 SPACE_PACKET_PARSER HAL_GPIO fsfw/src/fsfw/tmtcservices/SpacePacketParser.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
424 0x4fa1 0x4903 HEATER_CommandNotSupported HGIO_GpioTypeFailure No description 161 3 HEATER_HANDLER HAL_GPIO mission/tcs/HeaterHandler.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
425 0x4fa2 0x4904 HEATER_InitFailed HGIO_GpioInvalidInstance No description 162 4 HEATER_HANDLER HAL_GPIO mission/tcs/HeaterHandler.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
426 0x4fa3 0x4905 HEATER_InvalidSwitchNr HGIO_GpioDuplicateDetected No description 163 5 HEATER_HANDLER HAL_GPIO mission/tcs/HeaterHandler.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
427 0x4fa4 0x4906 HEATER_MainSwitchSetTimeout HGIO_GpioInitFailed No description 164 6 HEATER_HANDLER HAL_GPIO mission/tcs/HeaterHandler.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
428 0x4fa5 0x4907 HEATER_CommandAlreadyWaiting HGIO_GpioGetValueFailed No description 165 7 HEATER_HANDLER HAL_GPIO mission/tcs/HeaterHandler.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
429 0x50a0 0x4d00 SYRLINKS_CrcFailure SPPA_NoPacketFound No description 160 0 SYRLINKS_HANDLER SPACE_PACKET_PARSER mission/com/SyrlinksHandler.h fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
430 0x50a1 0x4d01 SYRLINKS_UartFraminOrParityErrorAck SPPA_SplitPacket No description 161 1 SYRLINKS_HANDLER SPACE_PACKET_PARSER mission/com/SyrlinksHandler.h fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
431 0x50a2 0x50a1 SYRLINKS_BadCharacterAck HEATER_CommandNotSupported No description 162 161 SYRLINKS_HANDLER HEATER_HANDLER mission/com/SyrlinksHandler.h mission/tcs/HeaterHandler.h
432 0x50a3 0x50a2 SYRLINKS_BadParameterValueAck HEATER_InitFailed No description 163 162 SYRLINKS_HANDLER HEATER_HANDLER mission/com/SyrlinksHandler.h mission/tcs/HeaterHandler.h
433 0x50a4 0x50a3 SYRLINKS_BadEndOfFrameAck HEATER_InvalidSwitchNr No description 164 163 SYRLINKS_HANDLER HEATER_HANDLER mission/com/SyrlinksHandler.h mission/tcs/HeaterHandler.h
434 0x50a5 0x50a4 SYRLINKS_UnknownCommandIdAck HEATER_MainSwitchSetTimeout No description 165 164 SYRLINKS_HANDLER HEATER_HANDLER mission/com/SyrlinksHandler.h mission/tcs/HeaterHandler.h
435 0x50a6 0x50a5 SYRLINKS_BadCrcAck HEATER_CommandAlreadyWaiting No description 166 165 SYRLINKS_HANDLER HEATER_HANDLER mission/com/SyrlinksHandler.h mission/tcs/HeaterHandler.h
436 0x50a7 0x51a0 SYRLINKS_ReplyWrongSize SYRLINKS_CrcFailure No description 167 160 SYRLINKS_HANDLER mission/com/SyrlinksHandler.h
437 0x50a8 0x51a1 SYRLINKS_MissingStartFrameCharacter SYRLINKS_UartFraminOrParityErrorAck No description 168 161 SYRLINKS_HANDLER mission/com/SyrlinksHandler.h
438 0x5100 0x51a2 IMTQ_InvalidCommandCode SYRLINKS_BadCharacterAck No description 0 162 IMTQ_HANDLER SYRLINKS_HANDLER mission/acs/imtqHelpers.h mission/com/SyrlinksHandler.h
439 0x5101 0x51a3 IMTQ_MgmMeasurementLowLevelError SYRLINKS_BadParameterValueAck No description 1 163 IMTQ_HANDLER SYRLINKS_HANDLER mission/acs/imtqHelpers.h mission/com/SyrlinksHandler.h
440 0x5102 0x51a4 IMTQ_ActuateCmdLowLevelError SYRLINKS_BadEndOfFrameAck No description 2 164 IMTQ_HANDLER SYRLINKS_HANDLER mission/acs/imtqHelpers.h mission/com/SyrlinksHandler.h
441 0x5103 0x51a5 IMTQ_ParameterMissing SYRLINKS_UnknownCommandIdAck No description 3 165 IMTQ_HANDLER SYRLINKS_HANDLER mission/acs/imtqHelpers.h mission/com/SyrlinksHandler.h
442 0x5104 0x51a6 IMTQ_ParameterInvalid SYRLINKS_BadCrcAck No description 4 166 IMTQ_HANDLER SYRLINKS_HANDLER mission/acs/imtqHelpers.h mission/com/SyrlinksHandler.h
443 0x5105 0x51a7 IMTQ_CcUnavailable SYRLINKS_ReplyWrongSize No description 5 167 IMTQ_HANDLER SYRLINKS_HANDLER mission/acs/imtqHelpers.h mission/com/SyrlinksHandler.h
444 0x5106 0x51a8 IMTQ_InternalProcessingError SYRLINKS_MissingStartFrameCharacter No description 6 168 IMTQ_HANDLER SYRLINKS_HANDLER mission/acs/imtqHelpers.h mission/com/SyrlinksHandler.h
445 0x5107 0x5200 IMTQ_RejectedWithoutReason IMTQ_InvalidCommandCode No description 7 0 IMTQ_HANDLER mission/acs/imtqHelpers.h
446 0x5108 0x5201 IMTQ_CmdErrUnknown IMTQ_MgmMeasurementLowLevelError No description 8 1 IMTQ_HANDLER mission/acs/imtqHelpers.h
447 0x5109 0x5202 IMTQ_StartupCfgError IMTQ_ActuateCmdLowLevelError No description 9 2 IMTQ_HANDLER mission/acs/imtqHelpers.h
448 0x510a 0x5203 IMTQ_UnexpectedSelfTestReply IMTQ_ParameterMissing The status reply to a self test command was received but no self test command has been sent. This should normally never happen. No description 10 3 IMTQ_HANDLER mission/acs/imtqHelpers.h
449 0x52b0 0x5204 RWHA_SpiWriteFailure IMTQ_ParameterInvalid No description 176 4 RW_HANDLER IMTQ_HANDLER mission/acs/rwHelpers.h mission/acs/imtqHelpers.h
450 0x52b1 0x5205 RWHA_SpiReadFailure IMTQ_CcUnavailable Used by the spi send function to tell a failing read call No description 177 5 RW_HANDLER IMTQ_HANDLER mission/acs/rwHelpers.h mission/acs/imtqHelpers.h
451 0x52b2 0x5206 RWHA_MissingStartSign IMTQ_InternalProcessingError Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E No description 178 6 RW_HANDLER IMTQ_HANDLER mission/acs/rwHelpers.h mission/acs/imtqHelpers.h
452 0x52b3 0x5207 RWHA_InvalidSubstitute IMTQ_RejectedWithoutReason Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination No description 179 7 RW_HANDLER IMTQ_HANDLER mission/acs/rwHelpers.h mission/acs/imtqHelpers.h
453 0x52b4 0x5208 RWHA_MissingEndSign IMTQ_CmdErrUnknown HDLC decoding mechanism never receives the end sign 0x7E No description 180 8 RW_HANDLER IMTQ_HANDLER mission/acs/rwHelpers.h mission/acs/imtqHelpers.h
454 0x52b5 0x5209 RWHA_NoReply IMTQ_StartupCfgError Reaction wheel only responds with empty frames. No description 181 9 RW_HANDLER IMTQ_HANDLER mission/acs/rwHelpers.h mission/acs/imtqHelpers.h
455 0x52b6 0x520a RWHA_NoStartMarker IMTQ_UnexpectedSelfTestReply Expected a start marker as first byte The status reply to a self test command was received but no self test command has been sent. This should normally never happen. 182 10 RW_HANDLER IMTQ_HANDLER mission/acs/rwHelpers.h mission/acs/imtqHelpers.h
456 0x52b7 0x53b0 RWHA_SpiReadTimeout RWHA_SpiWriteFailure Timeout when reading reply No description 183 176 RW_HANDLER mission/acs/rwHelpers.h
457 0x53a0 0x53b1 STRH_TemperatureReqFailed RWHA_SpiReadFailure Status in temperature reply signals error Used by the spi send function to tell a failing read call 160 177 STR_HANDLER RW_HANDLER mission/acs/str/StarTrackerHandler.h mission/acs/rwHelpers.h
458 0x53a1 0x53b2 STRH_PingFailed RWHA_MissingStartSign Ping command failed Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E 161 178 STR_HANDLER RW_HANDLER mission/acs/str/StarTrackerHandler.h mission/acs/rwHelpers.h
459 0x53a2 0x53b3 STRH_VersionReqFailed RWHA_InvalidSubstitute Status in version reply signals error Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination 162 179 STR_HANDLER RW_HANDLER mission/acs/str/StarTrackerHandler.h mission/acs/rwHelpers.h
460 0x53a3 0x53b4 STRH_InterfaceReqFailed RWHA_MissingEndSign Status in interface reply signals error HDLC decoding mechanism never receives the end sign 0x7E 163 180 STR_HANDLER RW_HANDLER mission/acs/str/StarTrackerHandler.h mission/acs/rwHelpers.h
461 0x53a4 0x53b5 STRH_PowerReqFailed RWHA_NoReply Status in power reply signals error Reaction wheel only responds with empty frames. 164 181 STR_HANDLER RW_HANDLER mission/acs/str/StarTrackerHandler.h mission/acs/rwHelpers.h
462 0x53a5 0x53b6 STRH_SetParamFailed RWHA_NoStartMarker Status of reply to parameter set command signals error Expected a start marker as first byte 165 182 STR_HANDLER RW_HANDLER mission/acs/str/StarTrackerHandler.h mission/acs/rwHelpers.h
463 0x53a6 0x53b7 STRH_ActionFailed RWHA_SpiReadTimeout Status of reply to action command signals error Timeout when reading reply 166 183 STR_HANDLER RW_HANDLER mission/acs/str/StarTrackerHandler.h mission/acs/rwHelpers.h
464 0x53a7 0x54a0 STRH_FilePathTooLong STRH_TemperatureReqFailed Received invalid path string. Exceeds allowed length Status in temperature reply signals error 167 160 STR_HANDLER mission/acs/str/StarTrackerHandler.h
465 0x53a8 0x54a1 STRH_FilenameTooLong STRH_PingFailed Name of file received with command is too long Ping command failed 168 161 STR_HANDLER mission/acs/str/StarTrackerHandler.h
466 0x53a9 0x54a2 STRH_InvalidProgram STRH_VersionReqFailed Received version reply with invalid program ID Status in version reply signals error 169 162 STR_HANDLER mission/acs/str/StarTrackerHandler.h
467 0x53aa 0x54a3 STRH_ReplyError STRH_InterfaceReqFailed Status field reply signals error Status in interface reply signals error 170 163 STR_HANDLER mission/acs/str/StarTrackerHandler.h
468 0x53ab 0x54a4 STRH_CommandTooShort STRH_PowerReqFailed Received command which is too short (some data is missing for proper execution) Status in power reply signals error 171 164 STR_HANDLER mission/acs/str/StarTrackerHandler.h
469 0x53ac 0x54a5 STRH_InvalidLength STRH_SetParamFailed Received command with invalid length (too few or too many parameters) Status of reply to parameter set command signals error 172 165 STR_HANDLER mission/acs/str/StarTrackerHandler.h
470 0x53ad 0x54a6 STRH_RegionMismatch STRH_ActionFailed Region mismatch between send and received data Status of reply to action command signals error 173 166 STR_HANDLER mission/acs/str/StarTrackerHandler.h
471 0x53ae 0x54a7 STRH_AddressMismatch STRH_FilePathTooLong Address mismatch between send and received data Received invalid path string. Exceeds allowed length 174 167 STR_HANDLER mission/acs/str/StarTrackerHandler.h
472 0x53af 0x54a8 STRH_LengthMismatch STRH_FilenameTooLong Length field mismatch between send and received data Name of file received with command is too long 175 168 STR_HANDLER mission/acs/str/StarTrackerHandler.h
473 0x53b0 0x54a9 STRH_FileNotExists STRH_InvalidProgram Specified file does not exist Received version reply with invalid program ID 176 169 STR_HANDLER mission/acs/str/StarTrackerHandler.h
474 0x53b1 0x54aa STRH_InvalidType STRH_ReplyError Download blob pixel command has invalid type field Status field reply signals error 177 170 STR_HANDLER mission/acs/str/StarTrackerHandler.h
475 0x53b2 0x54ab STRH_InvalidId STRH_CommandTooShort Received FPGA action command with invalid ID Received command which is too short (some data is missing for proper execution) 178 171 STR_HANDLER mission/acs/str/StarTrackerHandler.h
476 0x53b3 0x54ac STRH_ReplyTooShort STRH_InvalidLength Received reply is too short Received command with invalid length (too few or too many parameters) 179 172 STR_HANDLER mission/acs/str/StarTrackerHandler.h
477 0x53b4 0x54ad STRH_CrcFailure STRH_RegionMismatch Received reply with invalid CRC Region mismatch between send and received data 180 173 STR_HANDLER mission/acs/str/StarTrackerHandler.h
478 0x53b5 0x54ae STRH_StrHelperExecuting STRH_AddressMismatch Star tracker handler currently executing a command and using the communication interface Address mismatch between send and received data 181 174 STR_HANDLER mission/acs/str/StarTrackerHandler.h
479 0x53b6 0x54af STRH_StartrackerAlreadyBooted STRH_LengthMismatch Star tracker is already in firmware mode Length field mismatch between send and received data 182 175 STR_HANDLER mission/acs/str/StarTrackerHandler.h
480 0x53b7 0x54b0 STRH_StartrackerNotRunningFirmware STRH_FileNotExists Star tracker must be in firmware mode to run this command Specified file does not exist 183 176 STR_HANDLER mission/acs/str/StarTrackerHandler.h
481 0x53b8 0x54b1 STRH_StartrackerNotRunningBootloader STRH_InvalidType Star tracker must be in bootloader mode to run this command Download blob pixel command has invalid type field 184 177 STR_HANDLER mission/acs/str/StarTrackerHandler.h
482 0x54e0 0x54b2 DWLPWRON_InvalidMode STRH_InvalidId Received command has invalid JESD mode (valid modes are 0 - 5) Received FPGA action command with invalid ID 224 178 DWLPWRON_CMD STR_HANDLER linux/payload/plocMpsocHelpers.h mission/acs/str/StarTrackerHandler.h
483 0x54e1 0x54b3 DWLPWRON_InvalidLaneRate STRH_ReplyTooShort Received command has invalid lane rate (valid lane rate are 0 - 9) Received reply is too short 225 179 DWLPWRON_CMD STR_HANDLER linux/payload/plocMpsocHelpers.h mission/acs/str/StarTrackerHandler.h
484 0x5700 0x54b4 PLSPVhLP_RequestDone STRH_CrcFailure No description Received reply with invalid CRC 0 180 PLOC_SUPV_HELPER STR_HANDLER linux/payload/PlocSupvUartMan.h mission/acs/str/StarTrackerHandler.h
485 0x5701 0x54b5 PLSPVhLP_NoPacketFound STRH_StrHelperExecuting No description Star tracker handler currently executing a command and using the communication interface 1 181 PLOC_SUPV_HELPER STR_HANDLER linux/payload/PlocSupvUartMan.h mission/acs/str/StarTrackerHandler.h
486 0x5702 0x54b6 PLSPVhLP_DecodeBufTooSmall STRH_StartrackerAlreadyBooted No description Star tracker is already in firmware mode 2 182 PLOC_SUPV_HELPER STR_HANDLER linux/payload/PlocSupvUartMan.h mission/acs/str/StarTrackerHandler.h
487 0x5703 0x54b7 PLSPVhLP_PossiblePacketLossConsecutiveStart STRH_StartrackerNotRunningFirmware No description Star tracker must be in firmware mode to run this command 3 183 PLOC_SUPV_HELPER STR_HANDLER linux/payload/PlocSupvUartMan.h mission/acs/str/StarTrackerHandler.h
488 0x5704 0x54b8 PLSPVhLP_PossiblePacketLossConsecutiveEnd STRH_StartrackerNotRunningBootloader No description Star tracker must be in bootloader mode to run this command 4 184 PLOC_SUPV_HELPER STR_HANDLER linux/payload/PlocSupvUartMan.h mission/acs/str/StarTrackerHandler.h
489 0x5705 0x55e0 PLSPVhLP_HdlcError DWLPWRON_InvalidMode No description Received command has invalid JESD mode (valid modes are 0 - 5) 5 224 PLOC_SUPV_HELPER DWLPWRON_CMD linux/payload/PlocSupvUartMan.h linux/payload/plocMpsocHelpers.h
490 0x57a0 0x55e1 PLSPVhLP_FileClosedAccidentally DWLPWRON_InvalidLaneRate File accidentally close Received command has invalid lane rate (valid lane rate are 0 - 9) 160 225 PLOC_SUPV_HELPER DWLPWRON_CMD linux/payload/PlocSupvUartMan.h linux/payload/plocMpsocHelpers.h
491 0x57a1 0x5800 PLSPVhLP_ProcessTerminated PLSPVhLP_RequestDone Process has been terminated by command No description 161 0 PLOC_SUPV_HELPER linux/payload/PlocSupvUartMan.h
492 0x57a2 0x5801 PLSPVhLP_PathNotExists PLSPVhLP_NoPacketFound Received command with invalid pathname No description 162 1 PLOC_SUPV_HELPER linux/payload/PlocSupvUartMan.h
493 0x57a3 0x5802 PLSPVhLP_EventBufferReplyInvalidApid PLSPVhLP_DecodeBufTooSmall Expected event buffer TM but received space packet with other APID No description 163 2 PLOC_SUPV_HELPER linux/payload/PlocSupvUartMan.h
494 0x58a0 0x5803 SUSS_InvalidSpeed PLSPVhLP_PossiblePacketLossConsecutiveStart Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000] No description 160 3 SUS_HANDLER PLOC_SUPV_HELPER mission/acs/RwHandler.h linux/payload/PlocSupvUartMan.h
495 0x58a1 0x5804 SUSS_InvalidRampTime PLSPVhLP_PossiblePacketLossConsecutiveEnd Action Message with invalid ramp time was received. No description 161 4 SUS_HANDLER PLOC_SUPV_HELPER mission/acs/RwHandler.h linux/payload/PlocSupvUartMan.h
496 0x58a2 0x5805 SUSS_SetSpeedCommandInvalidLength PLSPVhLP_HdlcError Received set speed command has invalid length. Should be 6. No description 162 5 SUS_HANDLER PLOC_SUPV_HELPER mission/acs/RwHandler.h linux/payload/PlocSupvUartMan.h
497 0x58a3 0x58a0 SUSS_ExecutionFailed PLSPVhLP_FileClosedAccidentally Command execution failed File accidentally close 163 160 SUS_HANDLER PLOC_SUPV_HELPER mission/acs/RwHandler.h linux/payload/PlocSupvUartMan.h
498 0x58a4 0x58a1 SUSS_CrcError PLSPVhLP_ProcessTerminated Reaction wheel reply has invalid crc Process has been terminated by command 164 161 SUS_HANDLER PLOC_SUPV_HELPER mission/acs/RwHandler.h linux/payload/PlocSupvUartMan.h
499 0x58a5 0x58a2 SUSS_ValueNotRead PLSPVhLP_PathNotExists No description Received command with invalid pathname 165 162 SUS_HANDLER PLOC_SUPV_HELPER mission/acs/RwHandler.h linux/payload/PlocSupvUartMan.h
500 0x59a0 0x58a3 IPCI_PapbBusy PLSPVhLP_EventBufferReplyInvalidApid No description Expected event buffer TM but received space packet with other APID 160 163 CCSDS_IP_CORE_BRIDGE PLOC_SUPV_HELPER linux/ipcore/PapbVcInterface.h linux/payload/PlocSupvUartMan.h
501 0x5aa0 0x59a0 PTME_UnknownVcId SUSS_InvalidSpeed No description Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000] 160 PTME SUS_HANDLER linux/ipcore/Ptme.h mission/acs/RwHandler.h
502 0x5c01 0x59a1 STRHLP_SdNotMounted SUSS_InvalidRampTime SD card specified in path string not mounted Action Message with invalid ramp time was received. 1 161 STR_HELPER SUS_HANDLER linux/acs/StrComHandler.h mission/acs/RwHandler.h
503 0x5c02 0x59a2 STRHLP_FileNotExists SUSS_SetSpeedCommandInvalidLength Specified file does not exist on filesystem Received set speed command has invalid length. Should be 6. 2 162 STR_HELPER SUS_HANDLER linux/acs/StrComHandler.h mission/acs/RwHandler.h
504 0x5c03 0x59a3 STRHLP_PathNotExists SUSS_ExecutionFailed Specified path does not exist Command execution failed 3 163 STR_HELPER SUS_HANDLER linux/acs/StrComHandler.h mission/acs/RwHandler.h
505 0x5c04 0x59a4 STRHLP_FileCreationFailed SUSS_CrcError Failed to create download image or read flash file Reaction wheel reply has invalid crc 4 164 STR_HELPER SUS_HANDLER linux/acs/StrComHandler.h mission/acs/RwHandler.h
506 0x5c05 0x59a5 STRHLP_RegionMismatch SUSS_ValueNotRead Region in flash write/read reply does not match expected region No description 5 165 STR_HELPER SUS_HANDLER linux/acs/StrComHandler.h mission/acs/RwHandler.h
507 0x5c06 0x5aa0 STRHLP_AddressMismatch IPCI_PapbBusy Address in flash write/read reply does not match expected address No description 6 160 STR_HELPER CCSDS_IP_CORE_BRIDGE linux/acs/StrComHandler.h linux/ipcore/PapbVcInterface.h
508 0x5c07 0x5ba0 STRHLP_LengthMismatch PTME_UnknownVcId Length in flash write/read reply does not match expected length No description 7 160 STR_HELPER PTME linux/acs/StrComHandler.h linux/ipcore/Ptme.h
509 0x5c08 0x5d01 STRHLP_StatusError STRHLP_SdNotMounted Status field in reply signals error SD card specified in path string not mounted 8 1 STR_HELPER linux/acs/StrComHandler.h
510 0x5c09 0x5d02 STRHLP_InvalidTypeId STRHLP_FileNotExists Reply has invalid type ID (should be of action reply type) Specified file does not exist on filesystem 9 2 STR_HELPER linux/acs/StrComHandler.h
511 0x5c0a 0x5d03 STRHLP_ReceptionTimeout STRHLP_PathNotExists No description Specified path does not exist 10 3 STR_HELPER linux/acs/StrComHandler.h
512 0x5c0b 0x5d04 STRHLP_DecodingError STRHLP_FileCreationFailed No description Failed to create download image or read flash file 11 4 STR_HELPER linux/acs/StrComHandler.h
513 0x5d00 0x5d05 GOMS_PacketTooLong STRHLP_RegionMismatch No description Region in flash write/read reply does not match expected region 0 5 GOM_SPACE_HANDLER STR_HELPER mission/power/GomspaceDeviceHandler.h linux/acs/StrComHandler.h
514 0x5d01 0x5d06 GOMS_InvalidTableId STRHLP_AddressMismatch No description Address in flash write/read reply does not match expected address 1 6 GOM_SPACE_HANDLER STR_HELPER mission/power/GomspaceDeviceHandler.h linux/acs/StrComHandler.h
515 0x5d02 0x5d07 GOMS_InvalidAddress STRHLP_LengthMismatch No description Length in flash write/read reply does not match expected length 2 7 GOM_SPACE_HANDLER STR_HELPER mission/power/GomspaceDeviceHandler.h linux/acs/StrComHandler.h
516 0x5d03 0x5d08 GOMS_InvalidParamSize STRHLP_StatusError No description Status field in reply signals error 3 8 GOM_SPACE_HANDLER STR_HELPER mission/power/GomspaceDeviceHandler.h linux/acs/StrComHandler.h
517 0x5d04 0x5d09 GOMS_InvalidPayloadSize STRHLP_InvalidTypeId No description Reply has invalid type ID (should be of action reply type) 4 9 GOM_SPACE_HANDLER STR_HELPER mission/power/GomspaceDeviceHandler.h linux/acs/StrComHandler.h
518 0x5d05 0x5d0a GOMS_UnknownReplyId STRHLP_ReceptionTimeout No description 5 10 GOM_SPACE_HANDLER STR_HELPER mission/power/GomspaceDeviceHandler.h linux/acs/StrComHandler.h
519 0x5ea0 0x5d0b PLMEMDUMP_MramAddressTooHigh STRHLP_DecodingError The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000. No description 160 11 PLOC_MEMORY_DUMPER STR_HELPER linux/payload/PlocMemoryDumper.h linux/acs/StrComHandler.h
520 0x5ea1 0x5e00 PLMEMDUMP_MramInvalidAddressCombination GOMS_PacketTooLong The specified end address is lower than the start address No description 161 0 PLOC_MEMORY_DUMPER GOM_SPACE_HANDLER linux/payload/PlocMemoryDumper.h mission/power/GomspaceDeviceHandler.h
521 0x5fa0 0x5e01 PDEC_AbandonedCltuRetval GOMS_InvalidTableId No description 160 1 PDEC_HANDLER GOM_SPACE_HANDLER linux/ipcore/pdec.h mission/power/GomspaceDeviceHandler.h
522 0x5fa1 0x5e02 PDEC_FrameDirtyRetval GOMS_InvalidAddress No description 161 2 PDEC_HANDLER GOM_SPACE_HANDLER linux/ipcore/pdec.h mission/power/GomspaceDeviceHandler.h
523 0x5fa2 0x5e03 PDEC_FrameIllegalMultipleReasons GOMS_InvalidParamSize No description 162 3 PDEC_HANDLER GOM_SPACE_HANDLER linux/ipcore/pdec.h mission/power/GomspaceDeviceHandler.h
524 0x5fa3 0x5e04 PDEC_AdDiscardedLockoutRetval GOMS_InvalidPayloadSize No description 163 4 PDEC_HANDLER GOM_SPACE_HANDLER linux/ipcore/pdec.h mission/power/GomspaceDeviceHandler.h
525 0x5fa4 0x5e05 PDEC_AdDiscardedWaitRetval GOMS_UnknownReplyId No description 164 5 PDEC_HANDLER GOM_SPACE_HANDLER linux/ipcore/pdec.h mission/power/GomspaceDeviceHandler.h
526 0x5fa5 0x5fa0 PDEC_AdDiscardedNsVs PLMEMDUMP_MramAddressTooHigh No description The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000. 165 160 PDEC_HANDLER PLOC_MEMORY_DUMPER linux/ipcore/pdec.h linux/payload/PlocMemoryDumper.h
527 0x5fa6 0x5fa1 PDEC_NoReportRetval PLMEMDUMP_MramInvalidAddressCombination No description The specified end address is lower than the start address 166 161 PDEC_HANDLER PLOC_MEMORY_DUMPER linux/ipcore/pdec.h linux/payload/PlocMemoryDumper.h
528 0x5fa7 0x60a0 PDEC_ErrorVersionNumberRetval PDEC_AbandonedCltuRetval No description 167 160 PDEC_HANDLER linux/ipcore/pdec.h
529 0x5fa8 0x60a1 PDEC_IllegalCombinationRetval PDEC_FrameDirtyRetval No description 168 161 PDEC_HANDLER linux/ipcore/pdec.h
530 0x5fa9 0x60a2 PDEC_InvalidScIdRetval PDEC_FrameIllegalMultipleReasons No description 169 162 PDEC_HANDLER linux/ipcore/pdec.h
531 0x5faa 0x60a3 PDEC_InvalidVcIdMsbRetval PDEC_AdDiscardedLockoutRetval No description 170 163 PDEC_HANDLER linux/ipcore/pdec.h
532 0x5fab 0x60a4 PDEC_InvalidVcIdLsbRetval PDEC_AdDiscardedWaitRetval No description 171 164 PDEC_HANDLER linux/ipcore/pdec.h
533 0x5fac 0x60a5 PDEC_NsNotZeroRetval PDEC_AdDiscardedNsVs No description 172 165 PDEC_HANDLER linux/ipcore/pdec.h
534 0x5fae 0x60a6 PDEC_InvalidBcCc PDEC_NoReportRetval No description 174 166 PDEC_HANDLER linux/ipcore/pdec.h
535 0x5fb0 0x60a7 PDEC_CommandNotImplemented PDEC_ErrorVersionNumberRetval Received action message with unknown action id No description 176 167 PDEC_HANDLER linux/ipcore/pdec.h
536 0x60a0 0x60a8 CCSDS_CommandNotImplemented PDEC_IllegalCombinationRetval Received action message with unknown action id No description 160 168 CCSDS_HANDLER PDEC_HANDLER mission/com/CcsdsIpCoreHandler.h linux/ipcore/pdec.h
537 0x61a0 0x60a9 RS_RateNotSupported PDEC_InvalidScIdRetval The commanded rate is not supported by the current FPGA design No description 160 169 RATE_SETTER PDEC_HANDLER linux/ipcore/PtmeConfig.h linux/ipcore/pdec.h
538 0x61a1 0x60aa RS_BadBitRate PDEC_InvalidVcIdMsbRetval Bad bitrate has been commanded (e.g. 0) No description 161 170 RATE_SETTER PDEC_HANDLER linux/ipcore/PtmeConfig.h linux/ipcore/pdec.h
539 0x61a2 0x60ab RS_ClkInversionFailed PDEC_InvalidVcIdLsbRetval Failed to invert clock and thus change the time the data is updated with respect to the tx clock No description 162 171 RATE_SETTER PDEC_HANDLER linux/ipcore/PtmeConfig.h linux/ipcore/pdec.h
540 0x61a3 0x60ac RS_TxManipulatorConfigFailed PDEC_NsNotZeroRetval Failed to change configuration bit of tx clock manipulator No description 163 172 RATE_SETTER PDEC_HANDLER linux/ipcore/PtmeConfig.h linux/ipcore/pdec.h
541 0x6201 0x60ae JSONBASE_JsonFileNotExists PDEC_InvalidBcCc Specified json file does not exist No description 1 174 ARCSEC_JSON_BASE PDEC_HANDLER mission/acs/str/ArcsecJsonParamBase.h linux/ipcore/pdec.h
542 0x6202 0x60b0 JSONBASE_SetNotExists PDEC_CommandNotImplemented Requested set does not exist in json file Received action message with unknown action id 2 176 ARCSEC_JSON_BASE PDEC_HANDLER mission/acs/str/ArcsecJsonParamBase.h linux/ipcore/pdec.h
543 0x6203 0x61a0 JSONBASE_ParamNotExists CCSDS_CommandNotImplemented Requested parameter does not exist in json file Received action message with unknown action id 3 160 ARCSEC_JSON_BASE CCSDS_HANDLER mission/acs/str/ArcsecJsonParamBase.h mission/com/CcsdsIpCoreHandler.h
544 0x63a0 0x62a0 NVMB_KeyNotExists RS_RateNotSupported Specified key does not exist in json file The commanded rate is not supported by the current FPGA design 160 NVM_PARAM_BASE RATE_SETTER mission/memory/NvmParameterBase.h linux/ipcore/PtmeConfig.h
545 0x64a0 0x62a1 FSHLP_SdNotMounted RS_BadBitRate SD card specified with path string not mounted Bad bitrate has been commanded (e.g. 0) 160 161 FILE_SYSTEM_HELPER RATE_SETTER bsp_q7s/fs/FilesystemHelper.h linux/ipcore/PtmeConfig.h
546 0x64a1 0x62a2 FSHLP_FileNotExists RS_ClkInversionFailed Specified file does not exist on filesystem Failed to invert clock and thus change the time the data is updated with respect to the tx clock 161 162 FILE_SYSTEM_HELPER RATE_SETTER bsp_q7s/fs/FilesystemHelper.h linux/ipcore/PtmeConfig.h
547 0x65a0 0x62a3 PLMPHLP_FileWriteError RS_TxManipulatorConfigFailed File error occured for file transfers from OBC to the MPSoC. Failed to change configuration bit of tx clock manipulator 160 163 PLOC_MPSOC_HELPER RATE_SETTER linux/payload/PlocMpsocSpecialComHelper.h linux/ipcore/PtmeConfig.h
548 0x65a1 0x6301 PLMPHLP_FileReadError JSONBASE_JsonFileNotExists File error occured for file transfers from MPSoC to OBC. Specified json file does not exist 161 1 PLOC_MPSOC_HELPER ARCSEC_JSON_BASE linux/payload/PlocMpsocSpecialComHelper.h mission/acs/str/ArcsecJsonParamBase.h
549 0x66a0 0x6302 SADPL_CommandNotSupported JSONBASE_SetNotExists No description Requested set does not exist in json file 160 2 SA_DEPL_HANDLER ARCSEC_JSON_BASE mission/SolarArrayDeploymentHandler.h mission/acs/str/ArcsecJsonParamBase.h
550 0x66a1 0x6303 SADPL_DeploymentAlreadyExecuting JSONBASE_ParamNotExists No description Requested parameter does not exist in json file 161 3 SA_DEPL_HANDLER ARCSEC_JSON_BASE mission/SolarArrayDeploymentHandler.h mission/acs/str/ArcsecJsonParamBase.h
551 0x66a2 0x64a0 SADPL_MainSwitchTimeoutFailure NVMB_KeyNotExists No description Specified key does not exist in json file 162 160 SA_DEPL_HANDLER NVM_PARAM_BASE mission/SolarArrayDeploymentHandler.h mission/memory/NvmParameterBase.h
552 0x66a3 0x65a0 SADPL_SwitchingDeplSa1Failed FSHLP_SdNotMounted No description SD card specified with path string not mounted 163 160 SA_DEPL_HANDLER FILE_SYSTEM_HELPER mission/SolarArrayDeploymentHandler.h bsp_q7s/fs/FilesystemHelper.h
553 0x66a4 0x65a1 SADPL_SwitchingDeplSa2Failed FSHLP_FileNotExists No description Specified file does not exist on filesystem 164 161 SA_DEPL_HANDLER FILE_SYSTEM_HELPER mission/SolarArrayDeploymentHandler.h bsp_q7s/fs/FilesystemHelper.h
554 0x67a0 0x66a0 MPSOCRTVIF_CrcFailure PLMPHLP_FileWriteError Space Packet received from PLOC has invalid CRC File error occured for file transfers from OBC to the MPSoC. 160 MPSOC_RETURN_VALUES_IF PLOC_MPSOC_HELPER linux/payload/mpsocRetvals.h linux/payload/PlocMpsocSpecialComHelper.h
555 0x67a1 0x66a1 MPSOCRTVIF_ReceivedAckFailure PLMPHLP_FileReadError Received ACK failure reply from PLOC File error occured for file transfers from MPSoC to OBC. 161 MPSOC_RETURN_VALUES_IF PLOC_MPSOC_HELPER linux/payload/mpsocRetvals.h linux/payload/PlocMpsocSpecialComHelper.h
556 0x67a2 0x67a0 MPSOCRTVIF_ReceivedExeFailure SADPL_CommandNotSupported Received execution failure reply from PLOC No description 162 160 MPSOC_RETURN_VALUES_IF SA_DEPL_HANDLER linux/payload/mpsocRetvals.h mission/SolarArrayDeploymentHandler.h
557 0x67a3 0x67a1 MPSOCRTVIF_InvalidApid SADPL_DeploymentAlreadyExecuting Received space packet with invalid APID from PLOC No description 163 161 MPSOC_RETURN_VALUES_IF SA_DEPL_HANDLER linux/payload/mpsocRetvals.h mission/SolarArrayDeploymentHandler.h
558 0x67a4 0x67a2 MPSOCRTVIF_InvalidLength SADPL_MainSwitchTimeoutFailure Received command with invalid length No description 164 162 MPSOC_RETURN_VALUES_IF SA_DEPL_HANDLER linux/payload/mpsocRetvals.h mission/SolarArrayDeploymentHandler.h
559 0x67a5 0x67a3 MPSOCRTVIF_FilenameTooLong SADPL_SwitchingDeplSa1Failed Filename of file in OBC filesystem is too long No description 165 163 MPSOC_RETURN_VALUES_IF SA_DEPL_HANDLER linux/payload/mpsocRetvals.h mission/SolarArrayDeploymentHandler.h
560 0x67a6 0x67a4 MPSOCRTVIF_MpsocHelperExecuting SADPL_SwitchingDeplSa2Failed MPSoC helper is currently executing a command No description 166 164 MPSOC_RETURN_VALUES_IF SA_DEPL_HANDLER linux/payload/mpsocRetvals.h mission/SolarArrayDeploymentHandler.h
561 0x67a7 0x68a0 MPSOCRTVIF_MpsocFilenameTooLong MPSOCRTVIF_CrcFailure Filename of MPSoC file is to long (max. 256 bytes) Space Packet received from PLOC has invalid CRC 167 160 MPSOC_RETURN_VALUES_IF linux/payload/mpsocRetvals.h
562 0x67a8 0x68a1 MPSOCRTVIF_InvalidParameter MPSOCRTVIF_ReceivedAckFailure Command has invalid parameter Received ACK failure reply from PLOC 168 161 MPSOC_RETURN_VALUES_IF linux/payload/mpsocRetvals.h
563 0x67a9 0x68a2 MPSOCRTVIF_NameTooLong MPSOCRTVIF_ReceivedExeFailure Received command has file string with invalid length Received execution failure reply from PLOC 169 162 MPSOC_RETURN_VALUES_IF linux/payload/mpsocRetvals.h
564 0x68a0 0x68a3 SPVRTVIF_CrcFailure MPSOCRTVIF_InvalidApid Space Packet received from PLOC supervisor has invalid CRC Received space packet with invalid APID from PLOC 160 163 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/payload/plocSupvDefs.h linux/payload/mpsocRetvals.h
565 0x68a1 0x68a4 SPVRTVIF_InvalidServiceId MPSOCRTVIF_InvalidLength No description Received command with invalid length 161 164 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/payload/plocSupvDefs.h linux/payload/mpsocRetvals.h
566 0x68a2 0x68a5 SPVRTVIF_ReceivedAckFailure MPSOCRTVIF_FilenameTooLong Received ACK failure reply from PLOC supervisor Filename of file in OBC filesystem is too long 162 165 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/payload/plocSupvDefs.h linux/payload/mpsocRetvals.h
567 0x68a3 0x68a6 SPVRTVIF_ReceivedExeFailure MPSOCRTVIF_MpsocHelperExecuting Received execution failure reply from PLOC supervisor MPSoC helper is currently executing a command 163 166 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/payload/plocSupvDefs.h linux/payload/mpsocRetvals.h
568 0x68a4 0x68a7 SPVRTVIF_InvalidApid MPSOCRTVIF_MpsocFilenameTooLong Received space packet with invalid APID from PLOC supervisor Filename of MPSoC file is to long (max. 256 bytes) 164 167 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/payload/plocSupvDefs.h linux/payload/mpsocRetvals.h
569 0x68a5 0x68a8 SPVRTVIF_GetTimeFailure MPSOCRTVIF_InvalidParameter Failed to read current system time Command has invalid parameter 165 168 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/payload/plocSupvDefs.h linux/payload/mpsocRetvals.h
570 0x68a6 0x68a9 SPVRTVIF_InvalidWatchdog MPSOCRTVIF_NameTooLong Received command with invalid watchdog parameter. Valid watchdogs are 0 for PS, 1 for PL and 2 for INT Received command has file string with invalid length 166 169 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/payload/plocSupvDefs.h linux/payload/mpsocRetvals.h
571 0x68a7 0x69a0 SPVRTVIF_InvalidWatchdogTimeout SPVRTVIF_CrcFailure Received watchdog timeout config command with invalid timeout. Valid timeouts must be in the range between 1000 and 360000 ms. Space Packet received from PLOC supervisor has invalid CRC 167 160 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
572 0x68a8 0x69a1 SPVRTVIF_InvalidLatchupId SPVRTVIF_InvalidServiceId Received latchup config command with invalid latchup ID No description 168 161 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
573 0x68a9 0x69a2 SPVRTVIF_SweepPeriodTooSmall SPVRTVIF_ReceivedAckFailure Received set adc sweep period command with invalid sweep period. Must be larger than 21. Received ACK failure reply from PLOC supervisor 169 162 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
574 0x68aa 0x69a3 SPVRTVIF_InvalidTestParam SPVRTVIF_ReceivedExeFailure Receive auto EM test command with invalid test param. Valid params are 1 and 2. Received execution failure reply from PLOC supervisor 170 163 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
575 0x68ab 0x69a4 SPVRTVIF_MramPacketParsingFailure SPVRTVIF_InvalidApid Returned when scanning for MRAM dump packets failed. Received space packet with invalid APID from PLOC supervisor 171 164 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
576 0x68ac 0x69a5 SPVRTVIF_InvalidMramAddresses SPVRTVIF_GetTimeFailure Returned when the start and stop addresses of the MRAM dump or MRAM wipe commands are invalid (e.g. start address bigger than stop address) Failed to read current system time 172 165 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
577 0x68ad 0x69a6 SPVRTVIF_NoMramPacket SPVRTVIF_InvalidWatchdog Expect reception of an MRAM dump packet but received space packet with other apid. Received command with invalid watchdog parameter. Valid watchdogs are 0 for PS, 1 for PL and 2 for INT 173 166 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
578 0x68ae 0x69a7 SPVRTVIF_PathDoesNotExist SPVRTVIF_InvalidWatchdogTimeout Path to PLOC directory on SD card does not exist Received watchdog timeout config command with invalid timeout. Valid timeouts must be in the range between 1000 and 360000 ms. 174 167 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
579 0x68af 0x69a8 SPVRTVIF_MramFileNotExists SPVRTVIF_InvalidLatchupId MRAM dump file does not exists. The file should actually already have been created with the reception of the first dump packet. Received latchup config command with invalid latchup ID 175 168 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
580 0x68b0 0x69a9 SPVRTVIF_InvalidReplyLength SPVRTVIF_SweepPeriodTooSmall No description Received set adc sweep period command with invalid sweep period. Must be larger than 21. 176 169 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
581 0x68b1 0x69aa SPVRTVIF_InvalidLength SPVRTVIF_InvalidTestParam Received action command has invalid length Receive auto EM test command with invalid test param. Valid params are 1 and 2. 177 170 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
582 0x68b2 0x69ab SPVRTVIF_FilenameTooLong SPVRTVIF_MramPacketParsingFailure Filename too long Returned when scanning for MRAM dump packets failed. 178 171 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
583 0x68b3 0x69ac SPVRTVIF_UpdateStatusReportInvalidLength SPVRTVIF_InvalidMramAddresses Received update status report with invalid packet length field Returned when the start and stop addresses of the MRAM dump or MRAM wipe commands are invalid (e.g. start address bigger than stop address) 179 172 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
584 0x68b4 0x69ad SPVRTVIF_UpdateCrcFailure SPVRTVIF_NoMramPacket Update status report does not contain expected CRC. There might be a bit flip in the update memory region. Expect reception of an MRAM dump packet but received space packet with other apid. 180 173 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
585 0x68b5 0x69ae SPVRTVIF_SupvHelperExecuting SPVRTVIF_PathDoesNotExist Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command) Path to PLOC directory on SD card does not exist 181 174 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
586 0x68c0 0x69af SPVRTVIF_BufTooSmall SPVRTVIF_MramFileNotExists No description MRAM dump file does not exists. The file should actually already have been created with the reception of the first dump packet. 192 175 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
587 0x68c1 0x69b0 SPVRTVIF_NoReplyTimeout SPVRTVIF_InvalidReplyLength No description 193 176 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
588 0x6900 0x69b1 ACSCTRL_FileDeletionFailed SPVRTVIF_InvalidLength File deletion failed and at least one file is still existent. Received action command has invalid length 0 177 ACS_CTRL SUPV_RETURN_VALUES_IF mission/controller/AcsController.h linux/payload/plocSupvDefs.h
589 0x6a02 0x69b2 ACSMEKF_MekfUninitialized SPVRTVIF_FilenameTooLong No description Filename too long 2 178 ACS_MEKF SUPV_RETURN_VALUES_IF mission/controller/acs/MultiplicativeKalmanFilter.h linux/payload/plocSupvDefs.h
590 0x6a03 0x69b3 ACSMEKF_MekfNoGyrData SPVRTVIF_UpdateStatusReportInvalidLength No description Received update status report with invalid packet length field 3 179 ACS_MEKF SUPV_RETURN_VALUES_IF mission/controller/acs/MultiplicativeKalmanFilter.h linux/payload/plocSupvDefs.h
591 0x6a04 0x69b4 ACSMEKF_MekfNoModelVectors SPVRTVIF_UpdateCrcFailure No description Update status report does not contain expected CRC. There might be a bit flip in the update memory region. 4 180 ACS_MEKF SUPV_RETURN_VALUES_IF mission/controller/acs/MultiplicativeKalmanFilter.h linux/payload/plocSupvDefs.h
592 0x6a05 0x69b5 ACSMEKF_MekfNoSusMgmStrData SPVRTVIF_SupvHelperExecuting No description Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command) 5 181 ACS_MEKF SUPV_RETURN_VALUES_IF mission/controller/acs/MultiplicativeKalmanFilter.h linux/payload/plocSupvDefs.h
593 0x6a06 0x69c0 ACSMEKF_MekfCovarianceInversionFailed SPVRTVIF_BufTooSmall No description 6 192 ACS_MEKF SUPV_RETURN_VALUES_IF mission/controller/acs/MultiplicativeKalmanFilter.h linux/payload/plocSupvDefs.h
594 0x6a07 0x69c1 ACSMEKF_MekfNotFinite SPVRTVIF_NoReplyTimeout No description 7 193 ACS_MEKF SUPV_RETURN_VALUES_IF mission/controller/acs/MultiplicativeKalmanFilter.h linux/payload/plocSupvDefs.h
595 0x6a08 0x6a00 ACSMEKF_MekfInitialized ACSCTRL_FileDeletionFailed No description File deletion failed and at least one file is still existent. 8 0 ACS_MEKF ACS_CTRL mission/controller/acs/MultiplicativeKalmanFilter.h mission/controller/AcsController.h
596 0x6a09 0x6b02 ACSMEKF_MekfRunning ACSMEKF_MekfUninitialized No description 9 2 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
597 0x6b00 0x6b03 SDMA_OpOngoing ACSMEKF_MekfNoGyrData No description 0 3 SD_CARD_MANAGER ACS_MEKF bsp_q7s/fs/SdCardManager.h mission/controller/acs/MultiplicativeKalmanFilter.h
598 0x6b01 0x6b04 SDMA_AlreadyOn ACSMEKF_MekfNoModelVectors No description 1 4 SD_CARD_MANAGER ACS_MEKF bsp_q7s/fs/SdCardManager.h mission/controller/acs/MultiplicativeKalmanFilter.h
599 0x6b02 0x6b05 SDMA_AlreadyMounted ACSMEKF_MekfNoSusMgmStrData No description 2 5 SD_CARD_MANAGER ACS_MEKF bsp_q7s/fs/SdCardManager.h mission/controller/acs/MultiplicativeKalmanFilter.h
600 0x6b03 0x6b06 SDMA_AlreadyOff ACSMEKF_MekfCovarianceInversionFailed No description 3 6 SD_CARD_MANAGER ACS_MEKF bsp_q7s/fs/SdCardManager.h mission/controller/acs/MultiplicativeKalmanFilter.h
601 0x6b0a 0x6b07 SDMA_StatusFileNexists ACSMEKF_MekfNotFinite No description 10 7 SD_CARD_MANAGER ACS_MEKF bsp_q7s/fs/SdCardManager.h mission/controller/acs/MultiplicativeKalmanFilter.h
602 0x6b0b 0x6b08 SDMA_StatusFileFormatInvalid ACSMEKF_MekfInitialized No description 11 8 SD_CARD_MANAGER ACS_MEKF bsp_q7s/fs/SdCardManager.h mission/controller/acs/MultiplicativeKalmanFilter.h
603 0x6b0c 0x6b09 SDMA_MountError ACSMEKF_MekfRunning No description 12 9 SD_CARD_MANAGER ACS_MEKF bsp_q7s/fs/SdCardManager.h mission/controller/acs/MultiplicativeKalmanFilter.h
604 0x6b0d 0x6c00 SDMA_UnmountError SDMA_OpOngoing No description 13 0 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
605 0x6b0e 0x6c01 SDMA_SystemCallError SDMA_AlreadyOn No description 14 1 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
606 0x6b0f 0x6c02 SDMA_PopenCallError SDMA_AlreadyMounted No description 15 2 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
607 0x6c00 0x6c03 LPH_SdNotReady SDMA_AlreadyOff No description 0 3 LOCAL_PARAM_HANDLER SD_CARD_MANAGER bsp_q7s/memory/LocalParameterHandler.h bsp_q7s/fs/SdCardManager.h
608 0x6d00 0x6c0a PTM_DumpDone SDMA_StatusFileNexists No description 0 10 PERSISTENT_TM_STORE SD_CARD_MANAGER mission/tmtc/PersistentTmStore.h bsp_q7s/fs/SdCardManager.h
609 0x6d01 0x6c0b PTM_BusyDumping SDMA_StatusFileFormatInvalid No description 1 11 PERSISTENT_TM_STORE SD_CARD_MANAGER mission/tmtc/PersistentTmStore.h bsp_q7s/fs/SdCardManager.h
610 0x6e00 0x6c0c TMS_IsBusy SDMA_MountError No description 0 12 TM_SINK SD_CARD_MANAGER mission/tmtc/DirectTmSinkIF.h bsp_q7s/fs/SdCardManager.h
611 0x7000 0x6c0d SCBU_KeyNotFound SDMA_UnmountError No description 0 13 SCRATCH_BUFFER SD_CARD_MANAGER bsp_q7s/memory/scratchApi.h bsp_q7s/fs/SdCardManager.h
612 0x6c0e SDMA_SystemCallError No description 14 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
613 0x6c0f SDMA_PopenCallError No description 15 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
614 0x6d00 LPH_SdNotReady No description 0 LOCAL_PARAM_HANDLER bsp_q7s/memory/LocalParameterHandler.h
615 0x6e00 PTM_DumpDone No description 0 PERSISTENT_TM_STORE mission/tmtc/PersistentTmStore.h
616 0x6e01 PTM_BusyDumping No description 1 PERSISTENT_TM_STORE mission/tmtc/PersistentTmStore.h
617 0x6f00 TMS_IsBusy No description 0 TM_SINK mission/tmtc/DirectTmSinkIF.h
618 0x6f01 TMS_PartiallyWritten No description 1 TM_SINK mission/tmtc/DirectTmSinkIF.h
619 0x6f02 TMS_NoWriteActive No description 2 TM_SINK mission/tmtc/DirectTmSinkIF.h
620 0x7000 VCS_ChannelDoesNotExist No description 0 VIRTUAL_CHANNEL mission/com/VirtualChannel.h
621 0x7200 SCBU_KeyNotFound No description 0 SCRATCH_BUFFER bsp_q7s/memory/scratchApi.h

View File

@ -61,3 +61,4 @@
143;PERSISTENT_TM_STORE 143;PERSISTENT_TM_STORE
144;SYRLINKS_COM 144;SYRLINKS_COM
145;SUS_HANDLER 145;SUS_HANDLER
146;CFDP_APP

1 22 MEMORY
61 143 PERSISTENT_TM_STORE
62 144 SYRLINKS_COM
63 145 SUS_HANDLER
64 146 CFDP_APP

View File

@ -67,7 +67,7 @@ from eive_tmtc.config.object_ids import (
from eive_tmtc.tmtc.tcs.tmp1075 import pack_tmp1075_test_into from eive_tmtc.tmtc.tcs.tmp1075 import pack_tmp1075_test_into
from eive_tmtc.tmtc.acs.gps import pack_gps_command from eive_tmtc.tmtc.acs.gps import pack_gps_command
from eive_tmtc.tmtc.payload.rad_sensor import pack_rad_sensor_test_into from eive_tmtc.tmtc.payload.rad_sensor import pack_rad_sensor_test_into
from eive_tmtc.tmtc.power.plpcdu import pack_pl_pcdu_commands from eive_tmtc.tmtc.payload.plpcdu import pack_pl_pcdu_commands
from eive_tmtc.tmtc.acs.str_img_helper import pack_str_img_helper_command from eive_tmtc.tmtc.acs.str_img_helper import pack_str_img_helper_command
from eive_tmtc.pus_tc.system.proc import pack_proc_commands from eive_tmtc.pus_tc.system.proc import pack_proc_commands

View File

@ -16,7 +16,7 @@ from eive_tmtc.pus_tm.defs import PrintWrapper
from eive_tmtc.tmtc.core import handle_core_ctrl_action_replies from eive_tmtc.tmtc.core import handle_core_ctrl_action_replies
from eive_tmtc.tmtc.payload.ploc_mpsoc import handle_mpsoc_data_reply from eive_tmtc.tmtc.payload.ploc_mpsoc import handle_mpsoc_data_reply
from eive_tmtc.tmtc.payload.ploc_supervisor import SupvActionId from eive_tmtc.tmtc.payload.ploc_supervisor import SupvActionId
from eive_tmtc.tmtc.acs.star_tracker import StarTrackerActionId from eive_tmtc.tmtc.acs.star_tracker import handle_star_tracker_action_replies
from eive_tmtc.tmtc.power.tm import handle_get_param_data_reply from eive_tmtc.tmtc.power.tm import handle_get_param_data_reply
from tmtccmd.tm import Service8FsfwTm from tmtccmd.tm import Service8FsfwTm
from tmtccmd.fsfw.tmtc_printer import FsfwTmTcPrinter from tmtccmd.fsfw.tmtc_printer import FsfwTmTcPrinter
@ -52,7 +52,7 @@ def handle_action_reply(
elif object_id.as_bytes == CORE_CONTROLLER_ID: elif object_id.as_bytes == CORE_CONTROLLER_ID:
return handle_core_ctrl_action_replies(action_id, pw, custom_data) return handle_core_ctrl_action_replies(action_id, pw, custom_data)
elif object_id.as_bytes == STAR_TRACKER_ID: elif object_id.as_bytes == STAR_TRACKER_ID:
return handle_startracker_replies(action_id, pw, custom_data) return handle_star_tracker_action_replies(action_id, pw, custom_data)
elif object_id.as_bytes in [ elif object_id.as_bytes in [
ACU_HANDLER_ID, ACU_HANDLER_ID,
PDU_1_HANDLER_ID, PDU_1_HANDLER_ID,
@ -89,20 +89,3 @@ def handle_supervisor_replies(action_id: int, pw: PrintWrapper, custom_data: byt
content_list = [struct.unpack("!H", custom_data[:2])[0]] content_list = [struct.unpack("!H", custom_data[:2])[0]]
pw.dlog(f"{header_list}") pw.dlog(f"{header_list}")
pw.dlog(f"{content_list}") pw.dlog(f"{content_list}")
def handle_startracker_replies(
action_id: int, pw: PrintWrapper, custom_data: bytearray
):
if action_id == StarTrackerActionId.CHECKSUM:
if len(custom_data) != 5:
_LOGGER.warning(
"Star tracker reply has invalid length {0}".format(len(custom_data))
)
return
header_list = ["Checksum", "Checksum valid"]
print(custom_data[4])
checksum_valid_flag = custom_data[4] >> 8
content_list = ["0x" + custom_data[:4].hex(), checksum_valid_flag]
pw.dlog(f"{header_list}")
pw.dlog(f"{content_list}")

View File

@ -1,12 +1,14 @@
"""HK Handling for EIVE OBSW""" """HK Handling for EIVE OBSW"""
import dataclasses
import logging import logging
from typing import List
from eive_tmtc.tmtc.acs.acs_ctrl import handle_acs_ctrl_hk_data from eive_tmtc.tmtc.acs.acs_ctrl import handle_acs_ctrl_hk_data
from eive_tmtc.tmtc.internal_err_reporter import handle_ier_hk_data from eive_tmtc.tmtc.internal_err_reporter import handle_ier_hk_data
from eive_tmtc.tmtc.payload.ploc_mpsoc import handle_ploc_mpsoc_hk_data from eive_tmtc.tmtc.payload.ploc_mpsoc import handle_ploc_mpsoc_hk_data
from eive_tmtc.tmtc.tcs.rtd import RTD_NAMES, handle_rtd_hk from eive_tmtc.tmtc.tcs.rtd import RTD_NAMES, handle_rtd_hk
from eive_tmtc.tmtc.acs.star_tracker import handle_str_hk_data from eive_tmtc.tmtc.acs.star_tracker import handle_str_hk_data
from eive_tmtc.tmtc.power.plpcdu import handle_plpcdu_hk from eive_tmtc.tmtc.payload.plpcdu import handle_plpcdu_hk
from eive_tmtc.tmtc.payload.rad_sensor import handle_rad_sensor_data from eive_tmtc.tmtc.payload.rad_sensor import handle_rad_sensor_data
from eive_tmtc.tmtc.acs.sus import handle_sus_hk from eive_tmtc.tmtc.acs.sus import handle_sus_hk
from eive_tmtc.tmtc.payload.ploc_supervisor import handle_supv_hk_data from eive_tmtc.tmtc.payload.ploc_supervisor import handle_supv_hk_data
@ -46,8 +48,18 @@ _LOGGER = logging.getLogger(__name__)
FORWARD_SENSOR_TEMPS = False FORWARD_SENSOR_TEMPS = False
@dataclasses.dataclass
class HkFilter:
object_ids: List[ObjectIdU32]
set_ids: List[int]
def handle_hk_packet( def handle_hk_packet(
raw_tm: bytes, obj_id_dict: ObjectIdDictT, printer: FsfwTmTcPrinter, hk_level: int raw_tm: bytes,
obj_id_dict: ObjectIdDictT,
printer: FsfwTmTcPrinter,
hk_filter: HkFilter,
hk_level: int,
): ):
tm_packet = Service3FsfwTm.unpack(raw_telemetry=raw_tm, custom_hk_handling=False) tm_packet = Service3FsfwTm.unpack(raw_telemetry=raw_tm, custom_hk_handling=False)
named_obj_id = obj_id_dict.get(tm_packet.object_id.as_bytes) named_obj_id = obj_id_dict.get(tm_packet.object_id.as_bytes)
@ -56,17 +68,21 @@ def handle_hk_packet(
if tm_packet.subservice == 25 or tm_packet.subservice == 26: if tm_packet.subservice == 25 or tm_packet.subservice == 26:
hk_data = tm_packet.tm_data[8:] hk_data = tm_packet.tm_data[8:]
printer.generic_hk_tm_print( if named_obj_id in hk_filter.object_ids:
content_type=HkContentType.HK, handle_regular_hk_print(
printer=printer,
object_id=named_obj_id, object_id=named_obj_id,
set_id=tm_packet.set_id, hk_packet=tm_packet,
tm=tm_packet.pus_tm,
hk_data=hk_data, hk_data=hk_data,
) )
return
try: try:
if hk_level == 1: if hk_level >= 1:
pass printer.generic_hk_tm_print(
elif hk_level > 1: HkContentType.HK, named_obj_id, tm_packet.set_id, hk_data
)
if hk_level >= 1:
handle_regular_hk_print( handle_regular_hk_print(
printer=printer, printer=printer,
object_id=named_obj_id, object_id=named_obj_id,

View File

@ -18,7 +18,7 @@ from .defs import PrintWrapper
from .event_handler import handle_event_packet from .event_handler import handle_event_packet
from .verification_handler import handle_service_1_fsfw_packet, generic_retval_printout from .verification_handler import handle_service_1_fsfw_packet, generic_retval_printout
from .hk_handler import handle_hk_packet from .hk_handler import handle_hk_packet, HkFilter
from .action_reply_handler import handle_action_reply from .action_reply_handler import handle_action_reply
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -30,6 +30,7 @@ def pus_factory_hook( # noqa C901 : Complexity okay here
printer: FsfwTmTcPrinter, printer: FsfwTmTcPrinter,
raw_logger: RawTmtcTimedLogWrapper, raw_logger: RawTmtcTimedLogWrapper,
hk_level: int, hk_level: int,
hk_filter: HkFilter,
): ):
if len(packet) < 8: if len(packet) < 8:
_LOGGER.warning("Detected packet shorter than 8 bytes!") _LOGGER.warning("Detected packet shorter than 8 bytes!")
@ -50,7 +51,11 @@ def pus_factory_hook( # noqa C901 : Complexity okay here
handle_service_1_fsfw_packet(wrapper=verif_wrapper, raw_tm=packet) handle_service_1_fsfw_packet(wrapper=verif_wrapper, raw_tm=packet)
elif service == 3: elif service == 3:
handle_hk_packet( handle_hk_packet(
printer=printer, raw_tm=packet, obj_id_dict=obj_id_dict, hk_level=hk_level printer=printer,
raw_tm=packet,
obj_id_dict=obj_id_dict,
hk_level=hk_level,
hk_filter=hk_filter,
) )
elif service == 5: elif service == 5:
handle_event_packet(raw_tm=packet, pw=pw) handle_event_packet(raw_tm=packet, pw=pw)

View File

@ -16,7 +16,14 @@ from eive_tmtc.utility.input_helper import InputHelper
from spacepackets.ecss.tc import PusTelecommand from spacepackets.ecss.tc import PusTelecommand
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
from tmtccmd.config.tmtc import tmtc_definitions_provider from tmtccmd.config.tmtc import tmtc_definitions_provider
from tmtccmd.tc.pus_3_fsfw_hk import create_request_one_diag_command, make_sid from tmtccmd.tc.pus_3_fsfw_hk import (
create_request_one_diag_command,
create_request_one_hk_command,
enable_periodic_hk_command_with_interval,
disable_periodic_hk_command,
make_sid,
)
from tmtccmd.pus.s8_fsfw_funccmd import create_action_cmd
from tmtccmd.tc import DefaultPusQueueHelper from tmtccmd.tc import DefaultPusQueueHelper
from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode
from tmtccmd.util import ObjectIdU32 from tmtccmd.util import ObjectIdU32
@ -90,6 +97,9 @@ class StarTrackerActionId(enum.IntEnum):
DEBUG_CAMERA = 83 DEBUG_CAMERA = 83
FIRMWARE_UPDATE = 84 FIRMWARE_UPDATE = 84
SET_TIME_FROM_SYS_TIME = 87 SET_TIME_FROM_SYS_TIME = 87
ADD_SECONDARY_TM_TO_NORMAL_MODE = 95
RESET_SECONDARY_TM_SET = 96
READ_SECONDARY_TM_SET = 97
class OpCodes: class OpCodes:
@ -98,19 +108,29 @@ class OpCodes:
NORMAL = "nml" NORMAL = "nml"
OFF = "off" OFF = "off"
PING = "ping" PING = "ping"
REQUEST_SOLUTION_SET_HK = "hk_req_sol" ONE_SHOOT_HK = "one_shot_hk"
REQUEST_SOLUTION_SET_ACTION = "action_req_sol" ENABLE_HK = "enable_hk"
DISABLE_HK = "disable_hk"
ADD_SECONDARY_TM_TO_NORMAL_MODE = "add_secondary_tm"
RESET_SECONDARY_TM_SET = "reset_secondary_tm"
READ_SECONDARY_TM_SET = "read_secondary_tm"
TAKE_IMAGE = "take_image" TAKE_IMAGE = "take_image"
UPLOAD_IMAGE = "upload_image" UPLOAD_IMAGE = "upload_image"
DOWNLOAD_IMAGE = "download_image"
SET_IMG_PROCESSOR_MODE = "set_img_proc_mode" SET_IMG_PROCESSOR_MODE = "set_img_proc_mode"
FW_UPDATE = "fw_update" FW_UPDATE = "fw_update"
SET_TIME_FROM_SYS_TIME = "set_time" SET_TIME_FROM_SYS_TIME = "set_time"
class Info: class Info:
REQUEST_SOLUTION_SET_HK = "Request Solution Set HK once" ONE_SHOOT_HK = "One shoot HK Set"
REQUEST_SOLUTION_SET_ACTION = "Request Solution Set Action" ENABLE_HK = "Enable Periodic HK"
UPLOAD_IMAGE = "Upload Image" DISABLE_HK = "Disable Periodic HK"
ADD_SECONDARY_TM_TO_NORMAL_MODE = "Add specific Dataset to secondary TM"
RESET_SECONDARY_TM_SET = "Reset secondary TM to Temperature Set only"
READ_SECONDARY_TM_SET = "Read list of secondary TM Sets"
UPLOAD_IMAGE = "Upload Optical Image"
DOWNLOAD_IMAGE = "Download Optical Image"
TAKE_IMAGE = "Take Image" TAKE_IMAGE = "Take Image"
SET_IMG_PROCESSOR_MODE = "Set Image Processor Mode" SET_IMG_PROCESSOR_MODE = "Set Image Processor Mode"
FW_UPDATE = "Firmware Update" FW_UPDATE = "Firmware Update"
@ -124,11 +144,24 @@ class SetId(enum.IntEnum):
TEMPERATURE = 25 TEMPERATURE = 25
SOLUTION = 24 SOLUTION = 24
HISTOGRAM = 28 HISTOGRAM = 28
CONTRAST = 29
CHECKSUM = 50 CHECKSUM = 50
CAMERA = 67 CAMERA = 67
LIMITS = 68 LIMITS = 68
CENTROIDING = 72 CENTROIDING = 72
LISA = 73 LISA = 73
AUTO_BLOB = 89
MATCHED_CENTROIDS = 90
BLOB = 91
BLOBS = 92
CENTROID = 93
CENTROIDS = 94
class DataSetRequest(enum.IntEnum):
ONESHOT = 0
ENABLE = 1
DISABLE = 2
class FileDefs: class FileDefs:
@ -227,13 +260,15 @@ def pack_star_tracker_commands( # noqa C901
q.add_log_cmd("Star tracker: Mode Off") q.add_log_cmd("Star tracker: Mode Off")
data = pack_mode_data(prompt_object_id_mode_cmd(), Mode.OFF, 0) data = pack_mode_data(prompt_object_id_mode_cmd(), Mode.OFF, 0)
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data)) q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data))
if op_code == OpCodes.REQUEST_SOLUTION_SET_HK: if op_code == OpCodes.ONE_SHOOT_HK:
q.add_log_cmd(Info.REQUEST_SOLUTION_SET_HK) q.add_log_cmd(Info.ONE_SHOOT_HK)
q.add_pus_tc(create_request_one_diag_command(make_sid(obyt, SetId.SOLUTION))) request_dataset(q, DataSetRequest.ONESHOT)
if op_code == OpCodes.REQUEST_SOLUTION_SET_ACTION: if op_code == OpCodes.ENABLE_HK:
q.add_log_cmd("Star tracker: Request solution") q.add_log_cmd(Info.ENABLE_HK)
data = obyt + struct.pack("!I", StarTrackerActionId.REQ_SOLUTION) request_dataset(q, DataSetRequest.ENABLE)
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data)) if op_code == OpCodes.DISABLE_HK:
q.add_log_cmd(Info.DISABLE_HK)
request_dataset(q, DataSetRequest.DISABLE)
if op_code == "4": if op_code == "4":
q.add_log_cmd("Star tracker: Mode Raw") q.add_log_cmd("Star tracker: Mode Raw")
data = pack_mode_data(obyt, Mode.RAW, 0) data = pack_mode_data(obyt, Mode.RAW, 0)
@ -290,8 +325,8 @@ def pack_star_tracker_commands( # noqa C901
+ bytearray(image, "utf-8") + bytearray(image, "utf-8")
) )
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data)) q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
if op_code == "16": if op_code == OpCodes.DOWNLOAD_IMAGE:
q.add_log_cmd("Star tracker: Download image") q.add_log_cmd(f"STR: {Info.DOWNLOAD_IMAGE}")
path = input("Specify storage location (default - /mnt/sd0/startracker): ") path = input("Specify storage location (default - /mnt/sd0/startracker): ")
if not path: if not path:
path = FileDefs.download_path path = FileDefs.download_path
@ -613,6 +648,79 @@ def pack_star_tracker_commands( # noqa C901
+ firmware.encode() + firmware.encode()
) )
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data)) q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
if op_code == OpCodes.ADD_SECONDARY_TM_TO_NORMAL_MODE:
q.add_log_cmd(Info.ADD_SECONDARY_TM_TO_NORMAL_MODE)
for val in SetId:
print("{:<2}: {:<20}".format(val, val.name))
set_id = int(input("Specify the dataset \n" ""))
q.add_pus_tc(
create_action_cmd(
STAR_TRACKER_ID,
StarTrackerActionId.ADD_SECONDARY_TM_TO_NORMAL_MODE,
struct.pack("!I", set_id),
)
)
if op_code == OpCodes.RESET_SECONDARY_TM_SET:
q.add_log_cmd(Info.RESET_SECONDARY_TM_SET)
q.add_pus_tc(
create_action_cmd(
STAR_TRACKER_ID,
StarTrackerActionId.RESET_SECONDARY_TM_SET,
)
)
if op_code == OpCodes.READ_SECONDARY_TM_SET:
q.add_log_cmd(Info.READ_SECONDARY_TM_SET)
q.add_pus_tc(
create_action_cmd(
STAR_TRACKER_ID, StarTrackerActionId.READ_SECONDARY_TM_SET
)
)
def request_dataset(q: DefaultPusQueueHelper, req_type: DataSetRequest):
for val in SetId:
print("{:<2}: {:<20}".format(val, val.name))
set_id = int(input("Specify the dataset \n" ""))
if set_id in [SetId.SOLUTION, SetId.TEMPERATURE]:
is_diag = True
else:
is_diag = False
match req_type:
case DataSetRequest.ONESHOT:
if is_diag:
q.add_pus_tc(
create_request_one_diag_command(make_sid(STAR_TRACKER_ID, set_id))
)
else:
q.add_pus_tc(
create_request_one_hk_command(make_sid(STAR_TRACKER_ID, set_id))
)
case DataSetRequest.ENABLE:
interval = float(
input("Please specify interval in floating point seconds: ")
)
if is_diag:
cmd_tuple = enable_periodic_hk_command_with_interval(
True, make_sid(STAR_TRACKER_ID, set_id), interval
)
else:
cmd_tuple = enable_periodic_hk_command_with_interval(
False, make_sid(STAR_TRACKER_ID, set_id), interval
)
q.add_pus_tc(cmd_tuple[0])
q.add_pus_tc(cmd_tuple[1])
case DataSetRequest.DISABLE:
if is_diag:
q.add_pus_tc(
disable_periodic_hk_command(True, make_sid(STAR_TRACKER_ID, set_id))
)
else:
q.add_pus_tc(
disable_periodic_hk_command(
False, make_sid(STAR_TRACKER_ID, set_id)
)
)
def pack_read_command(object_id: bytes) -> bytearray: def pack_read_command(object_id: bytes) -> bytearray:
@ -680,8 +788,24 @@ def handle_str_hk_data(set_id: int, hk_data: bytes, pw: PrintWrapper):
pw.dlog(f"Received STR HK set with set ID {set_id}") pw.dlog(f"Received STR HK set with set ID {set_id}")
if set_id == SetId.SOLUTION: if set_id == SetId.SOLUTION:
handle_solution_set(hk_data, pw) handle_solution_set(hk_data, pw)
elif set_id == SetId.HISTOGRAM:
handle_histogram_set(hk_data, pw)
elif set_id == SetId.TEMPERATURE: elif set_id == SetId.TEMPERATURE:
handle_temperature_set(hk_data, pw) handle_temperature_set(hk_data, pw)
elif set_id == SetId.AUTO_BLOB:
handle_auto_blob_set(hk_data, pw)
elif set_id == SetId.MATCHED_CENTROIDS:
handle_matched_centroids_set(hk_data, pw)
elif set_id == SetId.BLOB:
handle_blob_set(hk_data, pw)
elif set_id == SetId.BLOBS:
handle_blobs_set(hk_data, pw)
elif set_id == SetId.CENTROID:
handle_centroid_set(hk_data, pw)
elif set_id == SetId.CENTROIDS:
handle_centroids_set(hk_data, pw)
elif set_id == SetId.CONTRAST:
handle_contrast_set(hk_data, pw)
else: else:
_LOGGER.warning(f"HK parsing for Star Tracker set ID {set_id} unimplemented") _LOGGER.warning(f"HK parsing for Star Tracker set ID {set_id} unimplemented")
@ -692,11 +816,14 @@ def unpack_time_hk(hk_data: bytes, current_idx: int, pw: PrintWrapper) -> int:
(ticks, unix_time) = struct.unpack( (ticks, unix_time) = struct.unpack(
ticks_time_fmt, hk_data[current_idx : current_idx + fmt_len] ticks_time_fmt, hk_data[current_idx : current_idx + fmt_len]
) )
try:
unix_as_dt = datetime.datetime.fromtimestamp( unix_as_dt = datetime.datetime.fromtimestamp(
int(round(unix_time / 1e6)), tz=datetime.timezone.utc int(round(unix_time / 1e6)), tz=datetime.timezone.utc
) )
pw.dlog(f"Ticks: {ticks} | UNIX time: {unix_time}") pw.dlog(f"Ticks: {ticks} | UNIX time: {unix_time}")
pw.dlog(f"UNIX as datetime: {unix_as_dt}") pw.dlog(f"UNIX as datetime: {unix_as_dt}")
except ValueError as e:
_LOGGER.exception(e)
current_idx += fmt_len current_idx += fmt_len
return current_idx return current_idx
@ -792,6 +919,234 @@ def handle_solution_set(hk_data: bytes, pw: PrintWrapper):
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], 23) FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], 23)
def handle_blob_set(hk_data: bytes, pw: PrintWrapper):
pw.dlog("Received Blob Set")
if len(hk_data) < 14:
_LOGGER.warning(f"Blob dataset HK data with length {len(hk_data)} too short")
return
current_idx = unpack_time_hk(hk_data, 0, pw)
blob_count = struct.unpack("!I", hk_data[current_idx : current_idx + 4])[0]
pw.dlog(f"Blob count: {blob_count}")
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx + 4 :], num_vars=3)
def handle_blobs_set(hk_data: bytes, pw: PrintWrapper):
pw.dlog("Received Blobs Set")
if len(hk_data) < 6 + 2 * 2 * 8:
_LOGGER.warning(f"Blobs dataset HK data with length {len(hk_data)} too short")
return
current_idx = unpack_time_hk(hk_data, 0, pw)
fmt_str = "!HHH"
inc_len = struct.calcsize(fmt_str)
count, count_used, nr_4lines_skipped = struct.unpack(
fmt_str, hk_data[current_idx : current_idx + inc_len]
)
current_idx += inc_len
pw.dlog(
f"Count {count} | Count Used {count_used} | Number of skipped 4lines {nr_4lines_skipped}"
)
fmt_coords = "!HHHHHHHH"
inc_len = struct.calcsize(fmt_coords)
x_coords = struct.unpack(fmt_coords, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
y_coords = struct.unpack(fmt_coords, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
pw.dlog("{:<8} {:<8}".format("X", "Y"))
for idx in range(8):
pw.dlog("{:<8} {:<8}".format(x_coords[idx], y_coords[idx]))
assert current_idx == len(hk_data) - 1
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=7)
def handle_centroid_set(hk_data: bytes, pw: PrintWrapper):
pw.dlog("Received Centroid Set")
if len(hk_data) < 14:
raise ValueError(
f"Centroid dataset HK data with length {len(hk_data)} too short"
)
current_idx = unpack_time_hk(hk_data, 0, pw)
centroid_count = struct.unpack("!I", hk_data[current_idx : current_idx + 4])[0]
current_idx += 4
pw.dlog(f"Centroid count: {centroid_count}")
assert current_idx == len(hk_data) - 1
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=3)
def handle_centroids_set(hk_data: bytes, pw: PrintWrapper):
pw.dlog("Received Centroids Set")
current_idx = unpack_time_hk(hk_data, 0, pw)
centroids_count = struct.unpack("!H", hk_data[current_idx : current_idx + 2])[0]
current_idx += 2
pw.dlog(f"Centroids count: {centroids_count}")
fmt_coords = "!ffffffffffffffff"
inc_len = struct.calcsize(fmt_coords)
x_coords = struct.unpack(fmt_coords, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
y_coords = struct.unpack(fmt_coords, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
fmt_coords = "!BBBBBBBBBBBBBBBB"
inc_len = struct.calcsize(fmt_coords)
magnitude = struct.unpack(fmt_coords, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
pw.dlog("{:<8} {:<8} {:<8} {:<8}".format("Index", "X", "Y", "Magnitude"))
for idx in range(16):
pw.dlog(
"{:<8} {:<8.3f} {:<8.3f} {:<8}".format(
idx, x_coords[idx], y_coords[idx], magnitude[idx]
)
)
assert current_idx == len(hk_data) - 1
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=6)
def handle_matched_centroids_set(hk_data: bytes, pw: PrintWrapper):
pw.dlog("Received Matched Centroids Set")
if len(hk_data) < 4 + 8 + 1 + 4 * 16 * 5:
raise ValueError(
f"Matched Centroids dataset HK data with length {len(hk_data)} too short. Expected 333 bytes."
)
current_idx = unpack_time_hk(hk_data, 0, pw)
num_matched_centroids = hk_data[current_idx]
current_idx += 1
pw.dlog(f"Number of matched centroids {num_matched_centroids}")
fmt_ids = "!IIIIIIIIIIIIIIII"
inc_len = struct.calcsize(fmt_ids)
star_id = struct.unpack(fmt_ids, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
fmt_floats = "!ffffffffffffffff"
inc_len = struct.calcsize(fmt_floats)
x_coords = struct.unpack(fmt_floats, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
y_coords = struct.unpack(fmt_floats, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
x_errors = struct.unpack(fmt_floats, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
y_errors = struct.unpack(fmt_floats, hk_data[current_idx : current_idx + inc_len])
current_idx += inc_len
pw.dlog(
"{:<8} {:<10} {:<10} {:<10} {:<10} {:<10}".format(
"Index", "Star ID", "X", "Y", "X Error", "Y Error"
)
)
for idx in range(16):
pw.dlog(
"{:<8} {:<10} {:<10.3f} {:<10.3f} {:<10.3f} {:<10.3f}".format(
idx,
star_id[idx],
x_coords[idx],
y_coords[idx],
x_errors[idx],
y_errors[idx],
)
)
assert current_idx == len(hk_data) - 1
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=8)
def handle_auto_blob_set(hk_data: bytes, pw: PrintWrapper):
pw.dlog("Received Auto Blob Set")
if len(hk_data) < 4 + 8 + 4:
raise ValueError(
f"Matched Centroids dataset HK data with length {len(hk_data)} too short. Expected 16 bytes."
)
current_idx = unpack_time_hk(hk_data, 0, pw)
fmt_threshold = "!f"
inc_len = struct.calcsize(fmt_threshold)
threshold = struct.unpack(
fmt_threshold, hk_data[current_idx : current_idx + inc_len]
)[0]
current_idx += inc_len
assert current_idx == len(hk_data) - 1
pw.dlog(f"Threshold {threshold}")
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=3)
def handle_histo_or_contrast_set(name: str, hk_data: bytes, pw: PrintWrapper):
pw.dlog(f"Received {name} Set")
current_idx = unpack_time_hk(hk_data, 0, pw)
fmt_str = "!IIIIIIIII"
bins_list = []
inc_len = struct.calcsize(fmt_str)
a_bins = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
bins_list.append(a_bins)
current_idx += inc_len
b_bins = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
bins_list.append(b_bins)
current_idx += inc_len
c_bins = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
bins_list.append(c_bins)
current_idx += inc_len
d_bins = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
bins_list.append(d_bins)
pw.dlog(
f"{name} Sections: A Upper Left | B Upper Right | C Lower Left | D Lower Right"
)
pw.dlog("{:<12} {:<10} {:<10} {:<10} {:<10}".format("Range", "A", "B", "C", "D"))
for idx in range(9):
if idx == 0:
val_range = "0 (0-0)"
elif idx == 1:
val_range = "1 (1-1)"
else:
val_range = f"{idx} ({pow(2, idx - 1)}-{pow(2, idx) - 1})"
pw.dlog(
"{:<12} {:<10} {:<10} {:<10} {:<10}".format(
val_range,
bins_list[0][idx],
bins_list[1][idx],
bins_list[2][idx],
bins_list[3][idx],
)
)
def handle_histogram_set(hk_data: bytes, pw: PrintWrapper):
handle_histo_or_contrast_set("Histogram", hk_data, pw)
def handle_contrast_set(hk_data: bytes, pw: PrintWrapper):
handle_histo_or_contrast_set("Contrast", hk_data, pw)
def handle_star_tracker_action_replies(
action_id: int, pw: PrintWrapper, custom_data: bytes
):
if action_id == StarTrackerActionId.CHECKSUM:
handle_checksum(pw, custom_data)
elif action_id == StarTrackerActionId.READ_SECONDARY_TM_SET:
handle_read_secondary_tm_set(pw, custom_data)
def handle_checksum(pw: PrintWrapper, custom_data: bytes):
if len(custom_data) != 5:
_LOGGER.warning(
"Star tracker reply has invalid length {0}".format(len(custom_data))
)
return
header_list = ["Checksum", "Checksum valid"]
print(custom_data[4])
checksum_valid_flag = custom_data[4] >> 8
content_list = ["0x" + custom_data[:4].hex(), checksum_valid_flag]
pw.dlog(f"{header_list}")
pw.dlog(f"{content_list}")
def handle_read_secondary_tm_set(pw: PrintWrapper, custom_data: bytes):
pw.dlog("Received secondary TM Sets")
if len(custom_data) % 4 != 0:
raise ValueError(f"Received data of unexpected length {len(custom_data)}")
data_length = int(len(custom_data) / 4)
fmt_str = "!" + "I" * data_length
inc_len = struct.calcsize(fmt_str)
set_ids = struct.unpack(fmt_str, custom_data[:inc_len])
pw.dlog("The following Datasets are currently Part of the secondary TM list")
for set_id in set_ids:
if set_id in SetId._value2member_map_:
pw.dlog(SetId(set_id).name)
else:
pw.dlog(f"Unknown Set ID {set_id}")
@tmtc_definitions_provider @tmtc_definitions_provider
def add_str_cmds(defs: TmtcDefinitionWrapper): def add_str_cmds(defs: TmtcDefinitionWrapper):
oce = OpCodeEntry() oce = OpCodeEntry()
@ -799,62 +1154,19 @@ def add_str_cmds(defs: TmtcDefinitionWrapper):
oce.add(OpCodes.ON_FIRMWARE, "Mode On, Submode Firmware") oce.add(OpCodes.ON_FIRMWARE, "Mode On, Submode Firmware")
oce.add(OpCodes.NORMAL, "Mode Normal") oce.add(OpCodes.NORMAL, "Mode Normal")
oce.add(OpCodes.OFF, "Mode Off") oce.add(OpCodes.OFF, "Mode Off")
# oce.add("4", "Star Tracker: Mode Raw")
oce.add(OpCodes.PING, "Star Tracker: Ping") oce.add(OpCodes.PING, "Star Tracker: Ping")
oce.add(OpCodes.TAKE_IMAGE, "Take Image") oce.add(OpCodes.TAKE_IMAGE, "Take Image")
oce.add(OpCodes.REQUEST_SOLUTION_SET_HK, Info.REQUEST_SOLUTION_SET_HK)
oce.add(OpCodes.REQUEST_SOLUTION_SET_ACTION, Info.REQUEST_SOLUTION_SET_ACTION)
oce.add(OpCodes.UPLOAD_IMAGE, Info.UPLOAD_IMAGE) oce.add(OpCodes.UPLOAD_IMAGE, Info.UPLOAD_IMAGE)
oce.add(OpCodes.DOWNLOAD_IMAGE, Info.DOWNLOAD_IMAGE)
oce.add(OpCodes.ONE_SHOOT_HK, Info.ONE_SHOOT_HK)
oce.add(OpCodes.ENABLE_HK, Info.ENABLE_HK)
oce.add(OpCodes.DISABLE_HK, Info.DISABLE_HK)
oce.add(OpCodes.SET_IMG_PROCESSOR_MODE, Info.SET_IMG_PROCESSOR_MODE) oce.add(OpCodes.SET_IMG_PROCESSOR_MODE, Info.SET_IMG_PROCESSOR_MODE)
oce.add("6", "Star Tracker: Switch to bootloader program") oce.add(
oce.add("7", "Star Tracker: Request temperature") OpCodes.ADD_SECONDARY_TM_TO_NORMAL_MODE, Info.ADD_SECONDARY_TM_TO_NORMAL_MODE
oce.add("8", "Star Tracker: Request version") )
oce.add("9", "Star Tracker: Request interface") oce.add(OpCodes.READ_SECONDARY_TM_SET, Info.READ_SECONDARY_TM_SET)
oce.add("10", "Star Tracker: Request power") oce.add(OpCodes.RESET_SECONDARY_TM_SET, Info.RESET_SECONDARY_TM_SET)
oce.add("11", "Star Tracker: Set subscription parameters")
oce.add("12", "Star Tracker: Boot image (requires bootloader mode)")
oce.add("13", "Star Tracker: Request time")
oce.add("14", "Star Tracker: Request solution")
oce.add("16", "Star Tracker: Download image")
oce.add("17", "Star Tracker: Set limit parameters")
oce.add("17", "Star Tracker: Set limit parameters")
oce.add("18", "Star Tracker: Set tracking parameters")
oce.add("19", "Star Tracker: Set mounting parameters")
oce.add("20", "Star Tracker: Set camera parameters")
oce.add("22", "Star Tracker: Set centroiding parameters")
oce.add("23", "Star Tracker: Set LISA parameters")
oce.add("24", "Star Tracker: Set matching parameters")
oce.add("25", "Star Tracker: Set validation parameters")
oce.add("26", "Star Tracker: Set algo parameters")
oce.add("28", "Star Tracker: Stop str helper")
oce.add("30", "Star Tracker: Set name of download image")
oce.add("31", "Star Tracker: Request histogram")
oce.add("32", "Star Tracker: Request contrast")
oce.add("33", "Star Tracker: Set json filename")
oce.add("35", "Star Tracker: Flash read")
oce.add("36", "Star Tracker: Set flash read filename")
oce.add("37", "Star Tracker: Get checksum")
oce.add("49", "Star Tracker: Request camera parameter")
oce.add("50", "Star Tracker: Request limits")
oce.add("52", "Star Tracker: (EGSE only) Load camera ground config")
oce.add("53", "Star Tracker: (EGSE only) Load camera flight config")
oce.add("54", "Star Tracker: Request log level parameters")
oce.add("55", "Star Tracker: Request mounting parameters")
oce.add("56", "Star Tracker: Request image processor parameters")
oce.add("57", "Star Tracker: Request centroiding parameters")
oce.add("58", "Star Tracker: Request lisa parameters")
oce.add("59", "Star Tracker: Request matching parameters")
oce.add("60", "Star Tracker: Request tracking parameters")
oce.add("61", "Star Tracker: Request validation parameters")
oce.add("62", "Star Tracker: Request algo parameters")
oce.add("63", "Star Tracker: Request subscription parameters")
oce.add("64", "Star Tracker: Request log subscription parameters")
oce.add("65", "Star Tracker: Request debug camera parameters")
oce.add("66", "Star Tracker: Set log level parameters")
oce.add("67", "Star Tracker: Set log subscription parameters")
oce.add("68", "Star Tracker: Set debug camera parameters")
oce.add(OpCodes.FW_UPDATE, Info.FW_UPDATE) oce.add(OpCodes.FW_UPDATE, Info.FW_UPDATE)
oce.add("70", "Star Tracker: Disable timestamp generation")
oce.add("71", "Star Tracker: Enable timestamp generation")
oce.add(OpCodes.SET_TIME_FROM_SYS_TIME, Info.SET_TIME_FROM_SYS_TIME) oce.add(OpCodes.SET_TIME_FROM_SYS_TIME, Info.SET_TIME_FROM_SYS_TIME)
defs.add_service(CustomServiceList.STAR_TRACKER.value, "Star Tracker", oce) defs.add_service(CustomServiceList.STAR_TRACKER.value, "Star Tracker", oce)

View File

@ -151,6 +151,7 @@ class OpCodes:
PERFORM_UPDATE = ["update"] PERFORM_UPDATE = ["update"]
FACTORY_RESET = ["factory_reset"] FACTORY_RESET = ["factory_reset"]
MEM_CHECK = ["mem_check"] MEM_CHECK = ["mem_check"]
RESET_MPSOC = "reset_mpsoc"
class Info(str, enum.Enum): class Info(str, enum.Enum):
@ -168,6 +169,7 @@ class Info(str, enum.Enum):
REQ_BOOT_STATUS_REPORT = "Request boot status report and HK" REQ_BOOT_STATUS_REPORT = "Request boot status report and HK"
MEM_CHECK = "Memory Check" MEM_CHECK = "Memory Check"
SEL_NVM = "Select NVM" SEL_NVM = "Select NVM"
RESET_MPSOC = "Reset MPSoC"
@tmtc_definitions_provider @tmtc_definitions_provider
@ -183,8 +185,8 @@ def add_ploc_supv_cmds(defs: TmtcDefinitionWrapper):
oce.add(OpCodes.SEL_NVM, Info.SEL_NVM) oce.add(OpCodes.SEL_NVM, Info.SEL_NVM)
oce.add(OpCodes.SET_TIME_REF, Info.SET_TIME_REF) oce.add(OpCodes.SET_TIME_REF, Info.SET_TIME_REF)
oce.add(OpCodes.FACTORY_RESET, Info.FACTORY_RESET) oce.add(OpCodes.FACTORY_RESET, Info.FACTORY_RESET)
oce.add(OpCodes.RESET_MPSOC, Info.RESET_MPSOC)
oce.add("8", "PLOC Supervisor: Set max restart tries") oce.add("8", "PLOC Supervisor: Set max restart tries")
oce.add("9", "PLOC Supervisor: Reset MPSoC")
oce.add("11", "PLOC Supervisor: Set boot timeout") oce.add("11", "PLOC Supervisor: Set boot timeout")
oce.add("12", "PLOC Supervisor: Disable Hk") oce.add("12", "PLOC Supervisor: Disable Hk")
oce.add(OpCodes.REQ_BOOT_STATUS_REPORT, Info.REQ_BOOT_STATUS_REPORT) oce.add(OpCodes.REQ_BOOT_STATUS_REPORT, Info.REQ_BOOT_STATUS_REPORT)
@ -268,7 +270,6 @@ def pack_ploc_supv_commands(p: ServiceProviderParams): # noqa C901
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command)) q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command))
if op_code in OpCodes.FACTORY_RESET: if op_code in OpCodes.FACTORY_RESET:
q.add_log_cmd(f"{prefix}: {Info.FACTORY_RESET}") q.add_log_cmd(f"{prefix}: {Info.FACTORY_RESET}")
key = -1
while True: while True:
print("Please select the key for a factory reset operation") print("Please select the key for a factory reset operation")
for key, val in FACTORY_RESET_OPS.items(): for key, val in FACTORY_RESET_OPS.items():
@ -293,8 +294,8 @@ def pack_ploc_supv_commands(p: ServiceProviderParams): # noqa C901
+ struct.pack("!B", restart_tries) + struct.pack("!B", restart_tries)
) )
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command)) q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command))
if op_code == "9": if op_code == OpCodes.RESET_MPSOC:
q.add_log_cmd("PLOC Supervisor: Reset MPSoC") q.add_log_cmd(Info.RESET_MPSOC)
command = object_id.as_bytes + struct.pack("!I", SupvActionId.RESET_MPSOC) command = object_id.as_bytes + struct.pack("!I", SupvActionId.RESET_MPSOC)
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command)) q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command))
if op_code in OpCodes.SET_TIME_REF: if op_code in OpCodes.SET_TIME_REF:

View File

@ -20,7 +20,8 @@ from tmtccmd.tc.pus_11_tc_sched import (
create_enable_tc_sched_cmd, create_enable_tc_sched_cmd,
create_time_tagged_cmd, create_time_tagged_cmd,
) )
from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode, Subservice from tmtccmd.pus.s200_fsfw_mode import Subservice
from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode
from tmtccmd.tc.pus_20_fsfw_param import ( from tmtccmd.tc.pus_20_fsfw_param import (
create_scalar_double_parameter, create_scalar_double_parameter,
create_load_param_cmd, create_load_param_cmd,
@ -35,18 +36,22 @@ _LOGGER = logging.getLogger(__name__)
class OpCode: class OpCode:
SWITCH_HPA_ON_PROC = ["0", "proc_hpa"] SWITCH_HPA_ON_PROC = ["0", "proc_hpa"]
SWITCH_ON = ["2", "on"] SWITCH_ON = "on"
SWITCH_OFF = ["3", "off"] SWITCH_OFF = "off"
NORMAL_SSR = ["4", "nml_ssr"] NORMAL_SSR = "nml_ssr"
NORMAL_DRO = ["5", "nml_dro"] NORMAL_DRO = "nml_dro"
NORMAL_X8 = ["6", "nml_x8"] NORMAL_X8 = "nml_x8"
NORMAL_TX = ["7", "nml_tx"] NORMAL_TX = "nml_tx"
NORMAL_MPA = ["8", "nml_mpa"] NORMAL_MPA = "nml_mpa"
NORMAL_HPA = ["9", "nml_hpa"] NORMAL_HPA = "nml_hpa"
ENABLE_HK = ["enable_hk"] ENABLE_HK = "enable_hk"
DISABLE_HK = ["disable_hk"] DISABLE_HK = "disable_hk"
REQ_OS_HK = ["hk_os"] REQ_OS_HK = "hk_os"
UPDATE_I_UPPER_LIMIT = "update_i_upper_limit"
UPDATE_V_LOWER_LIMIT = "update_v_lower_limit"
UPDATE_V_UPPER_LIMIT = "update_v_upper_limit"
INJECT_SSR_TO_DRO_FAILURE = ["10", "inject_ssr_dro_fault"] INJECT_SSR_TO_DRO_FAILURE = ["10", "inject_ssr_dro_fault"]
INJECT_DRO_TO_X8_FAILURE = ["11", "inject_dro_x8_fault"] INJECT_DRO_TO_X8_FAILURE = ["11", "inject_dro_x8_fault"]
@ -70,6 +75,9 @@ class Info:
SWITCH_HPA_ON_PROC = "Switch HPA on procedure" SWITCH_HPA_ON_PROC = "Switch HPA on procedure"
ENABLE_HK = "Enable HK" ENABLE_HK = "Enable HK"
DISABLE_HK = "Disable HK" DISABLE_HK = "Disable HK"
UPDATE_I_UPPER_LIMIT = "Update upper current parameter"
UPDATE_V_LOWER_LIMIT = "Update lower voltage parameter"
UPDATE_V_UPPER_LIMIT = "Update upper voltage parameter"
class SetId(enum.IntEnum): class SetId(enum.IntEnum):
@ -119,7 +127,7 @@ class SubmodeForNormalMode(enum.IntEnum):
) )
class ParamIds(enum.IntEnum): class ParamId(enum.IntEnum):
NEG_V_LOWER_BOUND = 0 NEG_V_LOWER_BOUND = 0
NEG_V_UPPER_BOUND = 1 NEG_V_UPPER_BOUND = 1
@ -157,6 +165,15 @@ class ParamIds(enum.IntEnum):
INJECT_ALL_ON_FAILURE = 35 INJECT_ALL_ON_FAILURE = 35
class DevSelect(enum.IntEnum):
SSR_NEG_V = 0
DRO = 1
X8 = 2
TX = 3
MPA = 4
HPA = 5
@tmtc_definitions_provider @tmtc_definitions_provider
def add_pl_pcdu_cmds(defs: TmtcDefinitionWrapper): def add_pl_pcdu_cmds(defs: TmtcDefinitionWrapper):
oce = OpCodeEntry() oce = OpCodeEntry()
@ -171,6 +188,9 @@ def add_pl_pcdu_cmds(defs: TmtcDefinitionWrapper):
oce.add(keys=OpCode.NORMAL_HPA, info=Info.NORMAL_HPA) oce.add(keys=OpCode.NORMAL_HPA, info=Info.NORMAL_HPA)
oce.add(keys=OpCode.REQ_OS_HK, info=Info.REQ_OS_HK) oce.add(keys=OpCode.REQ_OS_HK, info=Info.REQ_OS_HK)
oce.add(keys=OpCode.ENABLE_HK, info=Info.ENABLE_HK) oce.add(keys=OpCode.ENABLE_HK, info=Info.ENABLE_HK)
oce.add(keys=OpCode.UPDATE_V_LOWER_LIMIT, info=Info.UPDATE_V_LOWER_LIMIT)
oce.add(keys=OpCode.UPDATE_V_UPPER_LIMIT, info=Info.UPDATE_V_UPPER_LIMIT)
oce.add(keys=OpCode.UPDATE_I_UPPER_LIMIT, info=Info.UPDATE_I_UPPER_LIMIT)
oce.add( oce.add(
keys=OpCode.INJECT_SSR_TO_DRO_FAILURE, keys=OpCode.INJECT_SSR_TO_DRO_FAILURE,
info="Inject failure SSR to DRO transition", info="Inject failure SSR to DRO transition",
@ -198,9 +218,9 @@ def add_pl_pcdu_cmds(defs: TmtcDefinitionWrapper):
def pack_pl_pcdu_commands( # noqa C901: Complexity is okay here. def pack_pl_pcdu_commands( # noqa C901: Complexity is okay here.
q: DefaultPusQueueHelper, op_code: str q: DefaultPusQueueHelper, op_code: str
): # noqa C901: Complexity is okay here. ): # noqa C901: Complexity is okay here.
if op_code in OpCode.SWITCH_ON: if op_code == OpCode.SWITCH_ON:
pack_pl_pcdu_mode_cmd(q=q, info=Info.SWITCH_ON, mode=Mode.ON, submode=0) pack_pl_pcdu_mode_cmd(q=q, info=Info.SWITCH_ON, mode=Mode.ON, submode=0)
if op_code in OpCode.SWITCH_OFF: if op_code == OpCode.SWITCH_OFF:
pack_pl_pcdu_mode_cmd(q=q, info=Info.SWITCH_OFF, mode=Mode.OFF, submode=0) pack_pl_pcdu_mode_cmd(q=q, info=Info.SWITCH_OFF, mode=Mode.OFF, submode=0)
if op_code in OpCode.ENABLE_HK: if op_code in OpCode.ENABLE_HK:
interval = float( interval = float(
@ -212,13 +232,13 @@ def pack_pl_pcdu_commands( # noqa C901: Complexity is okay here.
q.add_log_cmd(f"Enable PL PCDU HK with interval of {interval} seconds") q.add_log_cmd(f"Enable PL PCDU HK with interval of {interval} seconds")
for cmd in cmds: for cmd in cmds:
q.add_pus_tc(cmd) q.add_pus_tc(cmd)
if op_code in OpCode.DISABLE_HK: if op_code == OpCode.DISABLE_HK:
cmd = disable_periodic_hk_command( cmd = disable_periodic_hk_command(
diag=True, sid=make_sid(PL_PCDU_ID, SetId.ADC) diag=True, sid=make_sid(PL_PCDU_ID, SetId.ADC)
) )
q.add_log_cmd("Disabling PL PCDU HK") q.add_log_cmd("Disabling PL PCDU HK")
q.add_pus_tc(cmd) q.add_pus_tc(cmd)
if op_code in OpCode.NORMAL_SSR: if op_code == OpCode.NORMAL_SSR:
pack_pl_pcdu_mode_cmd( pack_pl_pcdu_mode_cmd(
q=q, q=q,
info=Info.NORMAL_SSR, info=Info.NORMAL_SSR,
@ -227,54 +247,90 @@ def pack_pl_pcdu_commands( # noqa C901: Complexity is okay here.
NormalSubmodesMask.SOLID_STATE_RELAYS_ADC_ON NormalSubmodesMask.SOLID_STATE_RELAYS_ADC_ON
), ),
) )
if op_code in OpCode.NORMAL_DRO: if op_code == OpCode.NORMAL_DRO:
pack_pl_pcdu_mode_cmd( pack_pl_pcdu_mode_cmd(
q=q, q=q,
info=Info.NORMAL_DRO, info=Info.NORMAL_DRO,
mode=Mode.NORMAL, mode=Mode.NORMAL,
submode=submode_mask_to_submode(NormalSubmodesMask.DRO_ON), submode=submode_mask_to_submode(NormalSubmodesMask.DRO_ON),
) )
if op_code in OpCode.NORMAL_X8: if op_code == OpCode.NORMAL_X8:
pack_pl_pcdu_mode_cmd( pack_pl_pcdu_mode_cmd(
q=q, q=q,
info=Info.NORMAL_X8, info=Info.NORMAL_X8,
mode=Mode.NORMAL, mode=Mode.NORMAL,
submode=submode_mask_to_submode(NormalSubmodesMask.X8_ON), submode=submode_mask_to_submode(NormalSubmodesMask.X8_ON),
) )
if op_code in OpCode.NORMAL_TX: if op_code == OpCode.NORMAL_TX:
pack_pl_pcdu_mode_cmd( pack_pl_pcdu_mode_cmd(
q=q, q=q,
info=Info.NORMAL_TX, info=Info.NORMAL_TX,
mode=Mode.NORMAL, mode=Mode.NORMAL,
submode=submode_mask_to_submode(NormalSubmodesMask.TX_ON), submode=submode_mask_to_submode(NormalSubmodesMask.TX_ON),
) )
if op_code in OpCode.NORMAL_MPA: if op_code == OpCode.NORMAL_MPA:
pack_pl_pcdu_mode_cmd( pack_pl_pcdu_mode_cmd(
q=q, q=q,
info=Info.NORMAL_MPA, info=Info.NORMAL_MPA,
mode=Mode.NORMAL, mode=Mode.NORMAL,
submode=submode_mask_to_submode(NormalSubmodesMask.MPA_ON), submode=submode_mask_to_submode(NormalSubmodesMask.MPA_ON),
) )
if op_code in OpCode.NORMAL_HPA: if op_code == OpCode.NORMAL_HPA:
pack_pl_pcdu_mode_cmd( pack_pl_pcdu_mode_cmd(
q=q, q=q,
info=Info.NORMAL_HPA, info=Info.NORMAL_HPA,
mode=Mode.NORMAL, mode=Mode.NORMAL,
submode=submode_mask_to_submode(NormalSubmodesMask.HPA_ON), submode=submode_mask_to_submode(NormalSubmodesMask.HPA_ON),
) )
if op_code in OpCode.REQ_OS_HK: if op_code == OpCode.REQ_OS_HK:
q.add_log_cmd(f"PL PCDU: {Info.REQ_OS_HK}") q.add_log_cmd(f"PL PCDU: {Info.REQ_OS_HK}")
q.add_pus_tc( q.add_pus_tc(
generate_one_diag_command( generate_one_diag_command(
sid=make_sid(object_id=PL_PCDU_ID, set_id=SetId.ADC) sid=make_sid(object_id=PL_PCDU_ID, set_id=SetId.ADC)
) )
) )
if op_code in OpCode.SWITCH_HPA_ON_PROC: if op_code == OpCode.UPDATE_I_UPPER_LIMIT:
q.add_log_cmd(Info.UPDATE_I_UPPER_LIMIT)
print("Select device to update lower current limit for: ")
param_id = dev_select_to_upper_i_update_param_id(dev_select_prompt(True))
new_param_value = float(
input("Please specify new parameter value as a double: ")
)
q.add_pus_tc(
create_load_param_cmd(
create_scalar_double_parameter(PL_PCDU_ID, 0, param_id, new_param_value)
)
)
if op_code == OpCode.UPDATE_V_LOWER_LIMIT:
q.add_log_cmd(Info.UPDATE_V_LOWER_LIMIT)
print("Select device to update lower voltage limit for: ")
param_id = dev_select_to_lower_u_update_param_id(dev_select_prompt(False))
new_param_value = float(
input("Please specify new parameter value as a double: ")
)
q.add_pus_tc(
create_load_param_cmd(
create_scalar_double_parameter(PL_PCDU_ID, 0, param_id, new_param_value)
)
)
if op_code == OpCode.UPDATE_V_UPPER_LIMIT:
q.add_log_cmd(Info.UPDATE_V_UPPER_LIMIT)
print("Select device to update upper voltage limit for: ")
param_id = dev_select_to_upper_u_update_param_id(dev_select_prompt(False))
new_param_value = float(
input("Please specify new parameter value as a double: ")
)
q.add_pus_tc(
create_load_param_cmd(
create_scalar_double_parameter(PL_PCDU_ID, 0, param_id, new_param_value)
)
)
if op_code == OpCode.SWITCH_HPA_ON_PROC:
hpa_on_procedure(q) hpa_on_procedure(q)
if op_code in OpCode.INJECT_ALL_ON_FAILURE: if op_code == OpCode.INJECT_ALL_ON_FAILURE:
pack_failure_injection_cmd( pack_failure_injection_cmd(
q=q, q=q,
param_id=ParamIds.INJECT_ALL_ON_FAILURE, param_id=ParamId.INJECT_ALL_ON_FAILURE,
print_str="All On", print_str="All On",
) )
@ -510,3 +566,72 @@ def handle_plpcdu_hk(pw: PrintWrapper, set_id: int, hk_data: bytes):
FsfwTmTcPrinter.get_validity_buffer( FsfwTmTcPrinter.get_validity_buffer(
validity_buffer=hk_data[current_idx:], num_vars=3 validity_buffer=hk_data[current_idx:], num_vars=3
) )
def dev_select_prompt(skip_ssr: bool) -> DevSelect:
while True:
for dev in DevSelect:
if skip_ssr and dev == DevSelect.SSR_NEG_V:
continue
print(f"{dev}: {dev.name}")
dev_select = int(input("Select device by index: "))
try:
return DevSelect(dev_select)
except IndexError:
_LOGGER.warn("Invalid paramter index, try again.")
continue
def dev_select_to_upper_i_update_param_id(dev_select: DevSelect) -> ParamId:
param_id = None
if dev_select == DevSelect.DRO:
param_id = ParamId.DRO_I_UPPER_BOUND
elif dev_select == DevSelect.X8:
param_id = ParamId.X8_I_UPPER_BOUND
elif dev_select == DevSelect.TX:
param_id = ParamId.TX_I_UPPER_BOUND
elif dev_select == DevSelect.MPA:
param_id = ParamId.MPA_I_UPPER_BOUND
elif dev_select == DevSelect.HPA:
param_id = ParamId.HPA_I_UPPER_BOUND
if param_id is None:
raise ValueError("invalid parameter ID")
return param_id
def dev_select_to_lower_u_update_param_id(dev_select: DevSelect) -> ParamId:
param_id = None
if dev_select == DevSelect.SSR_NEG_V:
param_id = ParamId.NEG_V_LOWER_BOUND
if dev_select == DevSelect.DRO:
param_id = ParamId.DRO_U_LOWER_BOUND
elif dev_select == DevSelect.X8:
param_id = ParamId.X8_U_LOWER_BOUND
elif dev_select == DevSelect.TX:
param_id = ParamId.TX_U_LOWER_BOUND
elif dev_select == DevSelect.MPA:
param_id = ParamId.MPA_U_LOWER_BOUND
elif dev_select == DevSelect.HPA:
param_id = ParamId.HPA_U_LOWER_BOUND
if param_id is None:
raise ValueError("invalid parameter ID")
return param_id
def dev_select_to_upper_u_update_param_id(dev_select: DevSelect) -> ParamId:
param_id = None
if dev_select == DevSelect.SSR_NEG_V:
param_id = ParamId.NEG_V_UPPER_BOUND
if dev_select == DevSelect.DRO:
param_id = ParamId.DRO_U_UPPER_BOUND
elif dev_select == DevSelect.X8:
param_id = ParamId.X8_U_UPPER_BOUND
elif dev_select == DevSelect.TX:
param_id = ParamId.TX_U_UPPER_BOUND
elif dev_select == DevSelect.MPA:
param_id = ParamId.MPA_U_UPPER_BOUND
elif dev_select == DevSelect.HPA:
param_id = ParamId.HPA_U_UPPER_BOUND
if param_id is None:
raise ValueError("invalid parameter ID")
return param_id

View File

@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
name = "eive-tmtc" name = "eive-tmtc"
description = "TMTC Commander EIVE" description = "TMTC Commander EIVE"
readme = "README.md" readme = "README.md"
version = "5.8.0" version = "5.10.1"
requires-python = ">=3.10" requires-python = ">=3.10"
license = {text = "Apache-2.0"} license = {text = "Apache-2.0"}
authors = [ authors = [

View File

@ -16,6 +16,7 @@ from spacepackets.cfdp import (
) )
from eive_tmtc.pus_tc.tc_handler import TcHandler from eive_tmtc.pus_tc.tc_handler import TcHandler
from eive_tmtc.pus_tm.hk_handler import HkFilter
from tmtccmd.logging import add_colorlog_console_logger from tmtccmd.logging import add_colorlog_console_logger
from tmtccmd.cfdp.handler import CfdpInCcsdsHandler from tmtccmd.cfdp.handler import CfdpInCcsdsHandler
from tmtccmd.cfdp.mib import ( from tmtccmd.cfdp.mib import (
@ -77,12 +78,19 @@ class PusHandler(SpecificApidHandlerBase):
self.verif_wrapper = wrapper self.verif_wrapper = wrapper
self.raw_logger = raw_logger self.raw_logger = raw_logger
self.hk_level = hk_level self.hk_level = hk_level
self.these_objs_hk_only = []
self.hk_filter = HkFilter(object_ids=self.these_objs_hk_only, set_ids=[])
def handle_tm(self, packet: bytes, _user_args: any): def handle_tm(self, packet: bytes, _user_args: any):
# with open("tc.bin", "wb") as of: # with open("tc.bin", "wb") as of:
# of.write(packet) # of.write(packet)
pus_factory_hook( pus_factory_hook(
packet, self.verif_wrapper, self.printer, self.raw_logger, self.hk_level packet,
self.verif_wrapper,
self.printer,
self.raw_logger,
self.hk_level,
self.hk_filter,
) )