Merge remote-tracking branch 'origin/main' into refactor-periodic-hk-helpers

This commit is contained in:
Robin Müller 2024-11-12 15:05:44 +01:00
commit 62682f12de
3 changed files with 50 additions and 2 deletions

View File

@ -90,6 +90,7 @@ endif()
option(FSFW_BUILD_TESTS
"Build unittest binary in addition to static library. Requires Catch2"
OFF)
option(FSFW_ADD_CATCH2 "Add Catch2 unittest framework dependency" OFF)
option(FSFW_CICD_BUILD "Build for CI/CD. This can disable problematic test" OFF)
option(FSFW_BUILD_DOCS "Build documentation with Sphinx and Doxygen" OFF)
if(FSFW_BUILD_TESTS)

View File

@ -11,6 +11,6 @@ if(FSFW_ADD_SGP4_PROPAGATOR)
endif()
add_subdirectory(etl-20.39.4)
if(FSFW_BUILD_TESTS)
if(FSFW_BUILD_TESTS OR FSFW_ADD_CATCH2)
add_subdirectory(Catch2-3.7.1)
endif()
endif()

View File

@ -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_ */