10#ifndef SEMF_HARDWAREABSTRACTION_STM32_STM32TIMER_H_
11#define SEMF_HARDWAREABSTRACTION_STM32_STM32TIMER_H_
17#if defined(STM32) && defined(HAL_TIM_MODULE_ENABLED)
44 explicit Stm32Timer(TIM_HandleTypeDef& hwHandle);
54 void start()
override;
62 void reset()
override;
72 static void systemIsr(TIM_HandleTypeDef& hwHandle);
77 void isr(TIM_HandleTypeDef& hwHandle);
83 TIM_HandleTypeDef* m_hwHandle;
85 static constexpr Error::ClassID kSemfClassId = Error::ClassID::Stm32Timer;
LinkedQueue is an managed single linked queue implementation.
Timer implementation for STM32 as peripheral timer.
Stm32Timer(TIM_HandleTypeDef &hwHandle)
Constructor.
Stm32Timer(const Stm32Timer &other)=delete
void isr(TIM_HandleTypeDef &hwHandle)
Interrupt service routine for adc conversion finished.
static void systemIsr(TIM_HandleTypeDef &hwHandle)
System-wide interrupt service routine for adc conversion finished.
virtual ~Stm32Timer()=default
static LinkedQueue< Stm32Timer > * queue()
Get the list with all timers.
Class for using timer hardware.