From 593d6339729edf28073b235016093aeec680fb42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Betto?= <niccolo.betto@skywarder.eu> Date: Fri, 1 Dec 2023 17:05:19 +0100 Subject: [PATCH] [Logger] Update to Miosix 2.7 API --- src/shared/diagnostic/CpuMeter/CpuMeter.cpp | 6 +++--- src/shared/diagnostic/PrintLogger.cpp | 2 +- src/shared/diagnostic/StackLogger.h | 2 +- src/shared/logger/Logger.cpp | 10 ++++++---- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/shared/diagnostic/CpuMeter/CpuMeter.cpp b/src/shared/diagnostic/CpuMeter/CpuMeter.cpp index 57990c49f..76c813bcc 100644 --- a/src/shared/diagnostic/CpuMeter/CpuMeter.cpp +++ b/src/shared/diagnostic/CpuMeter/CpuMeter.cpp @@ -60,12 +60,12 @@ static void cpuMeterThread(void*) { for (;;) { - long long t1 = getTick(); + long long t1 = getTime(); delayMs(period); - long long t2 = getTick(); + long long t2 = getTime(); update++; - float delta = t2 - t1; + float delta = (t2 - t1) / 1e6f; // delta in milliseconds { Lock<FastMutex> l(utilizationMutex); utilization.add(100.f * (1.f - static_cast<float>(period) / delta)); diff --git a/src/shared/diagnostic/PrintLogger.cpp b/src/shared/diagnostic/PrintLogger.cpp index 0aa1c4e5b..b66d35c37 100644 --- a/src/shared/diagnostic/PrintLogger.cpp +++ b/src/shared/diagnostic/PrintLogger.cpp @@ -51,7 +51,7 @@ void LogSink::log(const LogRecord& record) using namespace fmt::literals; if (record.level >= minimumLevel) { - float ts = miosix::getTick() / 1000.0f; + float ts = miosix::getTime() / (float)Constants::NS_IN_S; int min = ts / 60; string tsStr = fmt::format("{:02d}:{:06.3f}", min, (ts - min * 60)); diff --git a/src/shared/diagnostic/StackLogger.h b/src/shared/diagnostic/StackLogger.h index c7998375a..ec1927195 100644 --- a/src/shared/diagnostic/StackLogger.h +++ b/src/shared/diagnostic/StackLogger.h @@ -54,7 +54,7 @@ public: void updateStack(uint8_t threadId) { StackData d; - d.timestamp = miosix::getTick(); + d.timestamp = miosix::getTime(); d.threadId = threadId; d.minimumStack = miosix::MemoryProfiling::getAbsoluteFreeStack(); diff --git a/src/shared/logger/Logger.cpp b/src/shared/logger/Logger.cpp index a1c1da5ea..cc47316d3 100644 --- a/src/shared/logger/Logger.cpp +++ b/src/shared/logger/Logger.cpp @@ -33,10 +33,12 @@ #include <tscpp/buffer.h> #include <utils/Debug.h> +#include <chrono> #include <fstream> #include <stdexcept> using namespace std; +using namespace std::chrono; using namespace miosix; namespace Boardcore @@ -287,8 +289,7 @@ void Logger::writeThread() return; // Write data to disk - Timer timer; - timer.start(); + auto start = system_clock::now(); size_t result = fwrite(buffer->data, 1, buffer->size, file); if (result != buffer->size) @@ -301,8 +302,9 @@ void Logger::writeThread() else stats.buffersWritten++; - timer.stop(); - stats.averageWriteTime = timer.interval(); + stats.averageWriteTime = + duration_cast<milliseconds>(system_clock::now() - start) + .count(); stats.maxWriteTime = max(stats.maxWriteTime, stats.averageWriteTime); -- GitLab