From 393773ffe73bd07c3735b7e95f0196b41e704705 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Mon, 11 Nov 2024 15:03:17 +0100 Subject: [PATCH] cond code to string converter --- src/fsfw/cfdp/definitions.h | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/fsfw/cfdp/definitions.h b/src/fsfw/cfdp/definitions.h index adab1d0f..af204f51 100644 --- a/src/fsfw/cfdp/definitions.h +++ b/src/fsfw/cfdp/definitions.h @@ -158,6 +158,53 @@ enum class ProxyOpMessageType : uint8_t { CLOSURE = 0x0b }; +static inline const char* conditionCodeString(ConditionCode code) { + switch (code) { + case (ConditionCode::NO_ERROR): { + return "No Error"; + } + case (ConditionCode::POSITIVE_ACK_LIMIT_REACHED): { + return "Positive ACK limit reached"; + } + case (ConditionCode::KEEP_ALIVE_LIMIT_REACHED): { + return "Keep alive limit reached"; + } + case (ConditionCode::INVALID_TRANSMISSION_MODE): { + return "Invalid transmission mode"; + } + case (ConditionCode::FILESTORE_REJECTION): { + return "Filestore rejection"; + } + case (ConditionCode::FILE_CHECKSUM_FAILURE): { + return "File checksum failure"; + } + case (ConditionCode::FILE_SIZE_ERROR): { + return "File size error"; + } + case (ConditionCode::NAK_LIMIT_REACHED): { + return "NAK limit reached"; + } + case (ConditionCode::INACTIVITY_DETECTED): { + return "Inactivity detected"; + } + case (ConditionCode::CHECK_LIMIT_REACHED): { + return "Check limit reached"; + } + case (ConditionCode::UNSUPPORTED_CHECKSUM_TYPE): { + return "Unsupported checksum type"; + } + case (ConditionCode::SUSPEND_REQUEST_RECEIVED): { + return "Suspend request received"; + } + case (ConditionCode::CANCEL_REQUEST_RECEIVED): { + return "Cancel request received"; + } + default: { + return "Invalid condition code value"; + } + } +} + } // namespace cfdp #endif /* FSFW_SRC_FSFW_CFDP_PDU_DEFINITIONS_H_ */