eive-obsw/mission/utility/ProgressPrinter.cpp

17 lines
619 B
C++
Raw Normal View History

2022-03-01 17:17:15 +01:00
#include "ProgressPrinter.h"
2022-03-01 17:17:15 +01:00
#include "fsfw/serviceinterface/ServiceInterfaceStream.h"
ProgressPrinter::ProgressPrinter(std::string name, uint32_t numSteps, uint32_t percentageResolution)
2022-03-01 17:17:15 +01:00
: name(name), numSteps(numSteps) {}
ProgressPrinter::~ProgressPrinter() {}
2022-03-01 17:17:15 +01:00
void ProgressPrinter::print(uint32_t currentStep) {
float progressInPercent = static_cast<float>(currentStep) / static_cast<float>(numSteps) * 100;
if (static_cast<uint32_t>(progressInPercent) >= nextProgressPrint) {
sif::info << name << " progress: " << progressInPercent << " %" << std::endl;
nextProgressPrint += FIVE_PERCENT;
}
}