From 91cf5f176400a12c18e66ef53bf7efe1fab9265f Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 6 Jan 2021 19:49:58 +0100 Subject: [PATCH] added way to completely disable printouts --- datapoollocal/LocalPoolVariable.tpp | 15 +++++---- serviceinterface/ServiceInterfacePrinter.cpp | 32 ++++++++++++++------ serviceinterface/ServiceInterfacePrinter.h | 2 ++ unittest/internal/UnittDefinitions.cpp | 6 ++-- unittest/internal/UnittDefinitions.h | 2 +- 5 files changed, 38 insertions(+), 19 deletions(-) diff --git a/datapoollocal/LocalPoolVariable.tpp b/datapoollocal/LocalPoolVariable.tpp index f35c8be2..f70e4e91 100644 --- a/datapoollocal/LocalPoolVariable.tpp +++ b/datapoollocal/LocalPoolVariable.tpp @@ -38,7 +38,7 @@ inline ReturnValue_t LocalPoolVariable::readWithoutLock() { "mode for read call." << std::endl; #else fsfw::printWarning("LocalPoolVariable: Invalid read write " - "mode for read call."); + "mode for read call.\n\r"); #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ return PoolVariableIF::INVALID_READ_WRITE_MODE; } @@ -53,8 +53,8 @@ inline ReturnValue_t LocalPoolVariable::readWithoutLock() { << std::dec << " failed." << std::setfill(' ') << std::endl; #else fsfw::printError("LocalPoolVariable: Read of local pool variable of " - "object 0x%08x and lp ID 0x08x failed.", hkManager->getOwner(), - localPoolId); + "object 0x%08x and lp ID 0x%08x failed.\n\r", + hkManager->getOwner(), localPoolId); #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ return result; } @@ -75,7 +75,10 @@ inline ReturnValue_t LocalPoolVariable::commitWithoutLock() { if(readWriteMode == pool_rwm_t::VAR_READ) { #if FSFW_CPP_OSTREAM_ENABLED == 1 sif::warning << "LocalPoolVariable: Invalid read write " - "mode for commit() call." << std::endl; + "mode for commit call." << std::endl; +#else + fsfw::printWarning("LocalPoolVariable: Invalid read write " + "mode for commit call.\n\r"); #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ return PoolVariableIF::INVALID_READ_WRITE_MODE; } @@ -89,8 +92,8 @@ inline ReturnValue_t LocalPoolVariable::commitWithoutLock() { << std::dec << " failed." << std::endl; #else fsfw::printError("LocalPoolVariable: Read of local pool variable of " - "object 0x%08x and lp ID 0x08x failed.", hkManager->getOwner(), - localPoolId); + "object 0x%08x and lp ID 0x%08x failed.\n\r", + hkManager->getOwner(), localPoolId); #endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ return result; } diff --git a/serviceinterface/ServiceInterfacePrinter.cpp b/serviceinterface/ServiceInterfacePrinter.cpp index e8eb498f..15e738a8 100644 --- a/serviceinterface/ServiceInterfacePrinter.cpp +++ b/serviceinterface/ServiceInterfacePrinter.cpp @@ -6,12 +6,14 @@ #include #include - fsfw::PrintLevel printLevel = fsfw::PrintLevel::DEBUG; -uint8_t printBuffer[fsfwconfig::FSFW_PRINT_BUFFER_SIZE]; #if defined(WIN32) && FSFW_COLORED_OUTPUT == 1 bool consoleInitialized = false; -#endif +#endif /* defined(WIN32) && FSFW_COLORED_OUTPUT == 1 */ + + +#if FSFW_DISABLE_PRINTOUT == 0 +uint8_t printBuffer[fsfwconfig::FSFW_PRINT_BUFFER_SIZE]; void fsfwPrint(fsfw::PrintLevel printType, const char* fmt, va_list arg) { @@ -81,13 +83,6 @@ void fsfwPrint(fsfw::PrintLevel printType, const char* fmt, va_list arg) { printf("%s", printBuffer); } -void fsfw::setPrintLevel(PrintLevel printLevel_) { - printLevel = printLevel_; -} - -fsfw::PrintLevel fsfw::getPrintLevel() { - return printLevel; -} void fsfw::printInfo(const char *fmt, ...) { va_list args; @@ -116,3 +111,20 @@ void fsfw::printError(const char *fmt, ...) { fsfwPrint(fsfw::PrintLevel::ERROR_TYPE, fmt, args); va_end(args); } + +#else + +void fsfw::printInfo(const char *fmt, ...) {} +void fsfw::printWarning(const char *fmt, ...) {} +void fsfw::printDebug(const char *fmt, ...) {} +void fsfw::printError(const char *fmt, ...) {} + +#endif /* FSFW_DISABLE_PRINTOUT == 0 */ + +void fsfw::setPrintLevel(PrintLevel printLevel_) { + printLevel = printLevel_; +} + +fsfw::PrintLevel fsfw::getPrintLevel() { + return printLevel; +} diff --git a/serviceinterface/ServiceInterfacePrinter.h b/serviceinterface/ServiceInterfacePrinter.h index 8b81ee7a..a60b6332 100644 --- a/serviceinterface/ServiceInterfacePrinter.h +++ b/serviceinterface/ServiceInterfacePrinter.h @@ -1,4 +1,6 @@ +#if FSFW_DISABLE_PRINTOUT == 0 #include +#endif namespace fsfw { diff --git a/unittest/internal/UnittDefinitions.cpp b/unittest/internal/UnittDefinitions.cpp index 7138e6c6..d20771a4 100644 --- a/unittest/internal/UnittDefinitions.cpp +++ b/unittest/internal/UnittDefinitions.cpp @@ -3,7 +3,9 @@ ReturnValue_t unitt::put_error(std::string errorId) { #if FSFW_CPP_OSTREAM_ENABLED == 1 sif::error << "Unit Tester error: Failed at test ID " - << errorId << "\n" << std::flush; -#endif + << errorId << std::endl; +#else + fsfw::printError("Unit Tester error: Failed at test ID 0x%08x", errorId); +#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ return HasReturnvaluesIF::RETURN_FAILED; } diff --git a/unittest/internal/UnittDefinitions.h b/unittest/internal/UnittDefinitions.h index d319f4bc..3e14fec5 100644 --- a/unittest/internal/UnittDefinitions.h +++ b/unittest/internal/UnittDefinitions.h @@ -2,7 +2,7 @@ #define UNITTEST_INTERNAL_UNITTDEFINITIONS_H_ #include "../../returnvalues/HasReturnvaluesIF.h" -#include "../../serviceinterface/ServiceInterfaceStream.h" +#include "../../serviceinterface/ServiceInterface.h" #include #include #include