// Copyright (C) 2026 Hector van der Aa // Copyright (C) 2026 Association Exergie // SPDX-License-Identifier: GPL-3.0-or-later #include "timer_utils.h" #include "stm32h7xx.h" #include void TIM2_CH3_SetOCMode(uint32_t oc_mode) { MODIFY_REG(TIM2->CCMR2, TIM_CCMR2_OC3M | TIM_CCMR2_OC3M_3, oc_mode); } bool timer_safe_to_arm(uint32_t deadline, TIM_HandleTypeDef *tim) { uint32_t time_left = deadline - __HAL_TIM_GET_COUNTER(tim); return time_left > 100U && time_left < 0x80000000U; }