From b7fda13b4bd576c327e110cb283ed53213cff847 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Mon, 9 May 2022 01:14:53 +0200 Subject: [PATCH] complete iostream log replacements --- config/commonPollingSequenceFactory.cpp | 8 ++--- example/controller/FsfwTestController.cpp | 40 +++++++---------------- example/test/FsfwExampleTask.cpp | 33 +++++++++---------- example/test/FsfwReaderTask.cpp | 22 +++---------- example/test/FsfwTestTask.cpp | 2 +- example/test/MutexExample.cpp | 8 ++--- example/test/testFmt.cpp | 8 ++++- example/test/testFmt.h | 4 +-- example/utility/TaskCreation.h | 2 +- example/utility/TmFunnel.cpp | 16 ++++----- example/utility/utility.cpp | 20 ++++-------- 11 files changed, 63 insertions(+), 100 deletions(-) diff --git a/config/commonPollingSequenceFactory.cpp b/config/commonPollingSequenceFactory.cpp index d787d24..c2497ce 100644 --- a/config/commonPollingSequenceFactory.cpp +++ b/config/commonPollingSequenceFactory.cpp @@ -27,7 +27,7 @@ ReturnValue_t pst::pollingSequenceExamples(FixedTimeslotTaskIF* thisSequence) { if (thisSequence->checkSequence() == HasReturnvaluesIF::RETURN_OK) { return HasReturnvaluesIF::RETURN_OK; } else { - std::cerr << "pst::pollingSequenceInitFunction: Initialization errors!" << std::endl; + FSFW_LOGE("pst::pollingSequenceInitFunction: Initialization errors\n"); return HasReturnvaluesIF::RETURN_FAILED; } } @@ -53,11 +53,7 @@ ReturnValue_t pst::pollingSequenceDevices(FixedTimeslotTaskIF* thisSequence) { if (thisSequence->checkSequence() == HasReturnvaluesIF::RETURN_OK) { return HasReturnvaluesIF::RETURN_OK; } else { -#if FSFW_CPP_OSTREAM_ENABLED == 1 - std::cerr << "pst::pollingSequenceTestFunction: Initialization errors!" << std::endl; -#else - sif::printError("pst::pollingSequenceTestFunction: Initialization errors!\n"); -#endif + FSFW_LOGE("pst::pollingSequenceTestFunction: Initialization errors\n"); return HasReturnvaluesIF::RETURN_FAILED; } } diff --git a/example/controller/FsfwTestController.cpp b/example/controller/FsfwTestController.cpp index 14f2208..5c5ea82 100644 --- a/example/controller/FsfwTestController.cpp +++ b/example/controller/FsfwTestController.cpp @@ -40,8 +40,8 @@ void FsfwTestController::performControlOperation() { break; } PoolReadGuard readHelper(&deviceDataset0.testUint8Var); - FSFW_FLOGI("Tracing device 0 variable 0 (UINT8), current value: {}", - static_cast(deviceDataset0.testUint8Var.value)); + FSFW_LOGI("Tracing device 0 variable 0 (UINT8), current value: {}", + static_cast(deviceDataset0.testUint8Var.value)); traceCounter--; break; } @@ -108,8 +108,8 @@ void FsfwTestController::handleChangedDataset(sid_t sid, store_address_t storeId } else { printout = "Snapshot"; } - FSFW_FLOGI("handleChangedDataset: {} update from object ID {:#08x} and set ID {}\n", printout, - sid.objectId, sid.ownerSetId); + FSFW_LOGI("handleChangedDataset: {} update from object ID {:#08x} and set ID {}\n", printout, + sid.objectId, sid.ownerSetId); if (storeId == storeId::INVALID_STORE_ADDRESS) { if (sid.objectId == device0Id) { @@ -118,13 +118,8 @@ void FsfwTestController::handleChangedDataset(sid_t sid, store_address_t storeId floatVec[0] = deviceDataset0.testFloat3Vec.value[0]; floatVec[1] = deviceDataset0.testFloat3Vec.value[1]; floatVec[2] = deviceDataset0.testFloat3Vec.value[2]; -#if FSFW_CPP_OSTREAM_ENABLED == 1 - std::cout << "Current float vector (3) values: [" << floatVec[0] << ", " << floatVec[1] - << ", " << floatVec[2] << "]" << std::endl; -#else - sif::printInfo("Current float vector (3) values: [%f, %f, %f]\n", floatVec[0], floatVec[1], - floatVec[2]); -#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ + FSFW_LOGI("Current float vector (3) values: [{},{},{}]\n", floatVec[0], floatVec[1], + floatVec[2]); } } } @@ -149,29 +144,16 @@ void FsfwTestController::handleChangedPoolVariable(gp_id_t globPoolId, store_add printout = "Snapshot"; } -#if FSFW_CPP_OSTREAM_ENABLED == 1 - std::cout << "TestController::handleChangedPoolVariable: " << printout - << " update from object " - "ID 0x" - << setw(8) << setfill('0') << hex << globPoolId.objectId << " and local pool ID " - << globPoolId.localPoolId << dec << setfill(' ') << endl; -#else - sif::printInfo( - "TestController::handleChangedPoolVariable: %s update from object ID 0x%08x and " - "local pool ID %lu\n", + FSFW_LOGI( + "TestController::handleChangedPoolVariable: {} update from object " + "ID {:#010x} and LPID {}\n", printout, globPoolId.objectId, globPoolId.localPoolId); -#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ if (storeId == storeId::INVALID_STORE_ADDRESS) { if (globPoolId.objectId == device0Id) { PoolReadGuard readHelper(&deviceDataset0.testUint8Var); -#if FSFW_CPP_OSTREAM_ENABLED == 1 - std::cout << "Current test variable 0 (UINT8) value: " - << static_cast(deviceDataset0.testUint8Var.value) << std::endl; -#else - sif::printInfo("Current test variable 0 (UINT8) value %d\n", - deviceDataset0.testUint8Var.value); -#endif /* FSFW_CPP_OSTREAM_ENABLED == 1 */ + FSFW_LOGI("Current test variable 0 (UINT8) value: {}", + static_cast(deviceDataset0.testUint8Var.value)); } } } diff --git a/example/test/FsfwExampleTask.cpp b/example/test/FsfwExampleTask.cpp index 0dc9b7a..b47ab64 100644 --- a/example/test/FsfwExampleTask.cpp +++ b/example/test/FsfwExampleTask.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include "OBSWConfig.h" @@ -82,14 +82,14 @@ ReturnValue_t FsfwExampleTask::initialize() { object_id_t sender = getSender(); auto* senderIF = ObjectManager::instance()->get(sender); if (senderIF == nullptr) { - std::cerr << "FsfwDemoTask::initialize: Sender object invalid!" << std::endl; + FSFW_LOGE("initialize: Sender object invalid\n"); return HasReturnvaluesIF::RETURN_FAILED; } // we need a private copy of the previous dataset.. or we use the shared dataset. senderSet = new FsfwDemoSet(senderIF); if (senderSet == nullptr) { - std::cerr << "FsfwDemoTask::initialize: Sender dataset invalid!" << std::endl; + FSFW_LOGE("initialize: Sender dataset invalid\n"); return HasReturnvaluesIF::RETURN_FAILED; } return poolManager.initialize(commandQueue); @@ -120,7 +120,7 @@ ReturnValue_t FsfwExampleTask::performMonitoringDemo() { ReturnValue_t result = demoSet.variableLimit.read(MutexIF::TimeoutType::WAITING, 20); if (result != HasReturnvaluesIF::RETURN_OK) { /* Configuration error */ - std::cerr << "DummyObject::performOperation: Could not read variableLimit!" << std::endl; + FSFW_LOGE("DummyObject::performOperation: Could not read variableLimit\n"); return result; } if (this->getObjectId() == objects::TEST_DUMMY_5) { @@ -128,7 +128,7 @@ ReturnValue_t FsfwExampleTask::performMonitoringDemo() { demoSet.variableLimit.value = 0; } demoSet.variableLimit.value++; - demoSet.variableLimit.commit(20); + demoSet.variableLimit.commit(true); monitor.check(); } return HasReturnvaluesIF::RETURN_OK; @@ -136,10 +136,10 @@ ReturnValue_t FsfwExampleTask::performMonitoringDemo() { ReturnValue_t FsfwExampleTask::performSendOperation() { object_id_t nextRecipient = getNextRecipient(); - FsfwExampleTask* target = ObjectManager::instance()->get(nextRecipient); + auto* target = ObjectManager::instance()->get(nextRecipient); if (target == nullptr) { /* Configuration error */ - std::cerr << "DummyObject::performOperation: Next recipient does not exist!" << std::endl; + FSFW_LOGE("performSendOperation: Next recipient does not exist\n"); return HasReturnvaluesIF::RETURN_FAILED; } @@ -151,18 +151,18 @@ ReturnValue_t FsfwExampleTask::performSendOperation() { /* Send message using own message queue */ ReturnValue_t result = commandQueue->sendMessage(target->getMessageQueueId(), &message); if (result != HasReturnvaluesIF::RETURN_OK && result != MessageQueueIF::FULL) { - std::cerr << "FsfwDemoTask::performSendOperation: Send failed with " << result << std::endl; + FSFW_LOGE("performSendOperation: Send failed with {:#06x}\n", result); } /* Send message without via MessageQueueSenderIF */ result = MessageQueueSenderIF::sendMessage(target->getMessageQueueId(), &message, commandQueue->getId()); if (result != HasReturnvaluesIF::RETURN_OK && result != MessageQueueIF::FULL) { - std::cerr << "FsfwDemoTask::performSendOperation: Send failed with " << result << std::endl; + FSFW_LOGE("performSendOperation: Send failed with {:#06x}\n", result); } demoSet.variableWrite.value = randomNumber; - result = demoSet.variableWrite.commit(20); + result = demoSet.variableWrite.commit(true); return result; } @@ -173,7 +173,7 @@ ReturnValue_t FsfwExampleTask::performReceiveOperation() { CommandMessage receivedMessage; result = commandQueue->receiveMessage(&receivedMessage); if (result != HasReturnvaluesIF::RETURN_OK && result != MessageQueueIF::EMPTY) { - FSFW_FLOGD("performReceiveOperation: Receive failed with {}\n", result); + FSFW_LOGD("performReceiveOperation: Receive failed with {}\n", result); break; } if (result != MessageQueueIF::EMPTY) { @@ -194,13 +194,10 @@ ReturnValue_t FsfwExampleTask::performReceiveOperation() { return result; } if (senderSet->variableRead.value != receivedMessage.getParameter()) { -#if FSFW_CPP_OSTREAM_ENABLED == 1 - std::cerr << "FsfwDemoTask::performReceiveOperation: Variable " << std::hex << "0x" - << senderSet->variableRead.getDataPoolId() << std::dec << " has wrong value." - << std::endl; - std::cerr << "Value: " << demoSet.variableRead.value - << ", expected: " << receivedMessage.getParameter() << std::endl; -#endif + FSFW_LOGE( + "FsfwDemoTask::performReceiveOperation: Variable {} has wrong value {}, expected {}\n", + senderSet->variableRead.getDataPoolId(), demoSet.variableRead.value, + receivedMessage.getParameter()); } } } diff --git a/example/test/FsfwReaderTask.cpp b/example/test/FsfwReaderTask.cpp index 5d6e2d7..51861c6 100644 --- a/example/test/FsfwReaderTask.cpp +++ b/example/test/FsfwReaderTask.cpp @@ -2,7 +2,7 @@ #include #include -#include +#include #include #include @@ -32,23 +32,11 @@ ReturnValue_t FsfwReaderTask::performOperation(uint8_t operationCode) { uint32_t variable2 = readSet.variable2.value; uint32_t variable3 = readSet.variable3.value; -#if OBSW_VERBOSE_LEVEL >= 1 if (opDivider.checkAndIncrement() and printoutEnabled) { -#if FSFW_CPP_OSTREAM_ENABLED == 1 - std::cout << "FsfwPeriodicTask::performOperation: Reading variables." << std::endl; - std::cout << "Variable read from demo object 1: " << variable1 << std::endl; - std::cout << "Variable read from demo object 2: " << variable2 << std::endl; - std::cout << "Variable read from demo object 3: " << variable3 << std::endl; -#else - sif::printInfo("FsfwPeriodicTask::performOperation: Reading variables.\n\r"); - sif::printInfo("Variable read from demo object 1: %d\n\r", variable1); - sif::printInfo("Variable read from demo object 2: %d\n\r", variable2); - sif::printInfo("Variable read from demo object 3: %d\n\r", variable3); -#endif + FSFW_LOGI( + "FsfwPeriodicTask::performOperation: Reading variables from Demo " + "Object 1,2,3\n1 {} | 2 {} | 3 {}\n", + variable1, variable2, variable3); } -#else - if (variable1 and variable2 and variable3) { - }; -#endif return HasReturnvaluesIF::RETURN_OK; } diff --git a/example/test/FsfwTestTask.cpp b/example/test/FsfwTestTask.cpp index 71a2dcf..37350b4 100644 --- a/example/test/FsfwTestTask.cpp +++ b/example/test/FsfwTestTask.cpp @@ -9,7 +9,7 @@ FsfwTestTask::FsfwTestTask(object_id_t objectId, bool periodicEvent) : TestTask(objectId), periodicEvent(periodicEvent) { #if FSFW_ADD_FMT_TESTS == 1 - fmtTests(); + // fmtTests(); #endif } diff --git a/example/test/MutexExample.cpp b/example/test/MutexExample.cpp index 8bae8a5..b429802 100644 --- a/example/test/MutexExample.cpp +++ b/example/test/MutexExample.cpp @@ -9,21 +9,21 @@ void MutexExample::example() { ReturnValue_t result = mutex->lockMutex(MutexIF::TimeoutType::WAITING, 2 * 60 * 1000); if (result != HasReturnvaluesIF::RETURN_OK) { - FSFW_FLOGET("MutexExample::example: Lock Failed with {}\n", result); + FSFW_LOGET("MutexExample::example: Lock Failed with {}\n", result); } result = mutex2->lockMutex(MutexIF::TimeoutType::BLOCKING); if (result != HasReturnvaluesIF::RETURN_OK) { - FSFW_FLOGET("MutexExample::example: Lock Failed with {}\n", result); + FSFW_LOGET("MutexExample::example: Lock Failed with {}\n", result); } result = mutex->unlockMutex(); if (result != HasReturnvaluesIF::RETURN_OK) { - FSFW_FLOGET("MutexExample::example: Unlock Failed with {}\n", result); + FSFW_LOGET("MutexExample::example: Unlock Failed with {}\n", result); } result = mutex2->unlockMutex(); if (result != HasReturnvaluesIF::RETURN_OK) { - FSFW_FLOGET("MutexExample::example: Unlock Failed with {}\n", result); + FSFW_LOGET("MutexExample::example: Unlock Failed with {}\n", result); } } diff --git a/example/test/testFmt.cpp b/example/test/testFmt.cpp index 16d2051..fddbe0f 100644 --- a/example/test/testFmt.cpp +++ b/example/test/testFmt.cpp @@ -4,11 +4,17 @@ void fmtTests() { sif::initialize(); sif::debug(__FILENAME__, __LINE__, "Hello {}", "World\n"); sif::debug_t(__FILENAME__, __LINE__, "Hallo\n"); - FSFW_FLOGD("{}", "Hallo\n"); + FSFW_LOGD("{}", "Hallo\n"); sif::info_t("Hallo\n"); sif::info("Hallo\n"); sif::warning_s(__FILENAME__, __LINE__, "Hello\n"); sif::warning_st(__FILENAME__, __LINE__, "Hello\n"); + FSFW_LOGW("Hello World\n"); + FSFW_LOGW("{} World\n", "Hello"); + uint8_t test0 = 5; + float test1 = 12.0; + uint32_t test2 = 0x00ff11ff; + FSFW_LOGW("Test 0 {} | Test 1 {:.3f} | Test 2 {:#010x}\n", test0, test1, test2); sif::error_s(__FILENAME__, __LINE__, "Hello\n"); sif::error_st(__FILENAME__, __LINE__, "Hello\n"); } \ No newline at end of file diff --git a/example/test/testFmt.h b/example/test/testFmt.h index 20209f6..bfe9ea3 100644 --- a/example/test/testFmt.h +++ b/example/test/testFmt.h @@ -164,10 +164,10 @@ void fmtTests(); // //#define FSFW_FLOGIT(format, ...) finfo_t(FMT_STRING(format), __VA_ARGS__) // -//#define FSFW_FLOGD(format, ...) sif::fdebug(__FILENAME__, __LINE__, FMT_STRING(format), +//#define FSFW_LOGD(format, ...) sif::fdebug(__FILENAME__, __LINE__, FMT_STRING(format), //__VA_ARGS__) // -//#define FSFW_FLOGDT(format, ...) fdebug_t(__FILENAME__, __LINE__, FMT_STRING(format), __VA_ARGS__) +//#define FSFW_LOGDT(format, ...) fdebug_t(__FILENAME__, __LINE__, FMT_STRING(format), __VA_ARGS__) // //#define FSFW_FLOGW(format, ...) fdebug(__FILENAME__, __LINE__, FMT_STRING(format), __VA_ARGS__) // diff --git a/example/utility/TaskCreation.h b/example/utility/TaskCreation.h index cd841cd..8872c88 100644 --- a/example/utility/TaskCreation.h +++ b/example/utility/TaskCreation.h @@ -7,7 +7,7 @@ namespace task { void printInitError(const char* objName, object_id_t objectId) { - FSFW_FLOGW("InitMission: Adding object {} ({:#08x}) failed\n", objName, objectId); + FSFW_LOGW("InitMission: Adding object {} ({:#08x}) failed\n", objName, objectId); } } // namespace task diff --git a/example/utility/TmFunnel.cpp b/example/utility/TmFunnel.cpp index 7b37925..3aae433 100644 --- a/example/utility/TmFunnel.cpp +++ b/example/utility/TmFunnel.cpp @@ -56,7 +56,7 @@ ReturnValue_t TmFunnel::handlePacket(TmTcMessage* message) { result = tmQueue->sendToDefault(message); if (result != HasReturnvaluesIF::RETURN_OK) { tmPool->deleteData(message->getStorageId()); - FSFW_FLOGET("{}", "handlePacket: Error sending to downlink handler\n"); + FSFW_LOGET("{}", "handlePacket: Error sending to downlink handler\n"); return result; } @@ -64,7 +64,7 @@ ReturnValue_t TmFunnel::handlePacket(TmTcMessage* message) { result = storageQueue->sendToDefault(message); if (result != HasReturnvaluesIF::RETURN_OK) { tmPool->deleteData(message->getStorageId()); - FSFW_FLOGET("{}", "handlePacket: Error sending to storage handler\n"); + FSFW_LOGET("{}", "handlePacket: Error sending to storage handler\n"); return result; } } @@ -74,18 +74,18 @@ ReturnValue_t TmFunnel::handlePacket(TmTcMessage* message) { ReturnValue_t TmFunnel::initialize() { tmPool = ObjectManager::instance()->get(objects::TM_STORE); if (tmPool == nullptr) { - FSFW_FLOGE("{}", - "initialize: TM store not set\n" - "Make sure the tm store is set up properly and implements StorageManagerIF"); + FSFW_LOGE("{}", + "initialize: TM store not set\n" + "Make sure the tm store is set up properly and implements StorageManagerIF"); return ObjectManagerIF::CHILD_INIT_FAILED; } auto* tmTarget = ObjectManager::instance()->get(downlinkDestination); if (tmTarget == nullptr) { #if FSFW_CPP_OSTREAM_ENABLED == 1 - FSFW_FLOGE("{}", - "initialize: Downlink Destination not set. Make sure the downlink destination " - "object is set up properly and implements AcceptsTelemetryIF\n"); + FSFW_LOGE("{}", + "initialize: Downlink Destination not set. Make sure the downlink destination " + "object is set up properly and implements AcceptsTelemetryIF\n"); #endif return ObjectManagerIF::CHILD_INIT_FAILED; } diff --git a/example/utility/utility.cpp b/example/utility/utility.cpp index 3630fc2..e75be62 100644 --- a/example/utility/utility.cpp +++ b/example/utility/utility.cpp @@ -1,22 +1,16 @@ #include "utility.h" -#include #include -#include + +#include "fsfw/serviceinterface.h" void utility::commonInitPrint(const char* const os, const char* const board) { if (os == nullptr or board == nullptr) { return; } -#if FSFW_CPP_OSTREAM_ENABLED == 1 - std::cout << "-- FSFW Example (" << os << ") v" << FSFW_EXAMPLE_VERSION << "." - << FSFW_EXAMPLE_SUBVERSION << "." << FSFW_EXAMPLE_REVISION << " --" << std::endl; - std::cout << "-- Compiled for " << board << " --" << std::endl; - std::cout << "-- Compiled on " << __DATE__ << " " << __TIME__ << " --" << std::endl; -#else - printf("\n\r-- FSFW Example (%s) v%d.%d.%d --\n", os, FSFW_EXAMPLE_VERSION, - FSFW_EXAMPLE_SUBVERSION, FSFW_EXAMPLE_REVISION); - printf("-- Compiled for %s --\n", board); - printf("-- Compiled on %s %s --\n", __DATE__, __TIME__); -#endif + fmt::print("-- FSFW Example ({}) v{}.{}.{} --\n", os, FSFW_EXAMPLE_VERSION, + FSFW_EXAMPLE_SUBVERSION, FSFW_EXAMPLE_REVISION); + fmt::print("-- Compiled for {}\n", board); + fmt::print("-- Compiled on {} {}\n", __DATE__, __TIME__); + sif::initialize(); }