diff --git a/src/device/handlers/PressureCalculator.cpp b/src/device/handlers/PressureCalculator.cpp index 655fc04..58e3d93 100644 --- a/src/device/handlers/PressureCalculator.cpp +++ b/src/device/handlers/PressureCalculator.cpp @@ -3,16 +3,17 @@ #include "Average.h" #include "DemandHandler.h" #include "InputHandler.h" +#include #include void PressureCalculator::update() { - double averagePower = average.getAverage(); - double c2contrib = averagePower * cachedConstant2; - double c1contrib = + float averagePower = average.getAverage(); + float c2contrib = averagePower * cachedConstant2; + float c1contrib = cachedConstant1 * (cachedTemperature - cachedSP - c2contrib); - double uncappedPressure = cachedMinimalPressure + c1contrib; + float uncappedPressure = cachedMinimalPressure + c1contrib; - double cappedPressure = uncappedPressure; + float cappedPressure = uncappedPressure; if (c2contrib != 0) { c2contrib = -c2contrib * cachedConstant1; @@ -20,11 +21,8 @@ void PressureCalculator::update() { c2contrib = 0.0f; } - if (cappedPressure < cachedMinimalPressure) - cappedPressure = cachedMinimalPressure; - - if (cappedPressure > cachedMaximalPressure) - cappedPressure = cachedMaximalPressure; + cappedPressure = std::clamp(uncappedPressure, cachedMinimalPressure, + cachedMaximalPressure); Event event = {};