generated from Template/H563ZI-HAL-CMake-Template
19 lines
479 B
C++
19 lines
479 B
C++
#pragma once
|
|
|
|
#include "stm32h5xx_hal.h"
|
|
#include <cstdint>
|
|
#include <stdexcept>
|
|
|
|
class TaskHelper {
|
|
public:
|
|
template <typename Func>
|
|
static void WaitFor(Func func, int timeoutMilliseconds) {
|
|
auto start = HAL_GetTick();
|
|
while (!func()) {
|
|
uint32_t now = HAL_GetTick();
|
|
if ((now - start) > static_cast<uint32_t>(timeoutMilliseconds)) {
|
|
throw std::runtime_error("Operation timed out");
|
|
}
|
|
}
|
|
}
|
|
}; |