#pragma once #include "stm32h5xx_hal.h" #include #include namespace TaskHelper { template static void WaitFor(Func func, uint32_t timeoutMilliseconds) { auto start = HAL_GetTick(); while (!func()) { uint32_t now = HAL_GetTick(); if ((now - start) > timeoutMilliseconds) { throw std::runtime_error("Operation timed out"); } } } }; // namespace TaskHelper