From f2814dd5ed26b1b6478d781048c0df27f03ca1e3 Mon Sep 17 00:00:00 2001 From: mark9064 <30447455+mark9064@users.noreply.github.com> Date: Mon, 15 Dec 2025 00:04:05 +0000 Subject: Use RoundedDiv utility function across project --- src/heartratetask/HeartRateTask.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/heartratetask/HeartRateTask.cpp') diff --git a/src/heartratetask/HeartRateTask.cpp b/src/heartratetask/HeartRateTask.cpp index e9bc11a3..fa352772 100644 --- a/src/heartratetask/HeartRateTask.cpp +++ b/src/heartratetask/HeartRateTask.cpp @@ -3,16 +3,12 @@ #include #include +#include "utility/Math.h" + using namespace Pinetime::Applications; namespace { constexpr TickType_t backgroundMeasurementTimeLimit = 30 * configTICK_RATE_HZ; - - // dividend + (divisor / 2) must be less than the max T value - template - constexpr T RoundedDiv(T dividend, T divisor) { - return (dividend + (divisor / static_cast(2))) / divisor; - } } std::optional HeartRateTask::BackgroundMeasurementInterval() const { @@ -48,9 +44,9 @@ TickType_t HeartRateTask::CurrentTaskDelay() { static_cast((Pinetime::Controllers::Ppg::deltaTms)) < std::numeric_limits::max(), "Overflow"); - TickType_t elapsedTarget = RoundedDiv(static_cast(configTICK_RATE_HZ / 2) * (static_cast(count) + 1U) * - static_cast((Pinetime::Controllers::Ppg::deltaTms)), - static_cast(1000 / 2)); + TickType_t elapsedTarget = Utility::RoundedDiv(static_cast(configTICK_RATE_HZ / 2) * (static_cast(count) + 1U) * + static_cast((Pinetime::Controllers::Ppg::deltaTms)), + static_cast(1000 / 2)); // On count overflow, reset both count and start time // Count is 16bit to avoid overflow in elapsedTarget -- cgit v1.2.3-70-g09d2