Go to the documentation of this file.
40 template<auto Context,
template<auto,
typename>
typename TimerImpl,
typename Size>
46 using Impl = TimerImpl<Context, Size>;
54 static inline auto&
Channel = Impl::template Channel<Number>;
59 static inline auto&
Encoder = Impl::Encoder;
72 static auto init(
auto ... args) {
73 return Impl::init(args...);
83 return Impl::deinit(args...);
108 return Impl::getCount();
134 return Impl::getPwmFrequency();
146 return Impl::setPwmFrequency(f_hz, resolution);
static u32 getPwmFrequency()
Get the pwm frequency.
Definition: timer.hpp:133
static auto & ProfileCounter
Timer used as profile counter.
Definition: timer.hpp:64
static bool setPwmFrequency(u32 f_hz, Size resolution=0)
Set the pwm frequency and (optional) the maximal ticks within on cycle for all channels.
Definition: timer.hpp:145
static auto & Channel
Timer channel.
Definition: timer.hpp:54
static void resetCount()
Set the counter value to 0.
Definition: timer.hpp:123
TimerImpl< Context, Size > Impl
Definition: timer.hpp:46
static void disable()
Disable the counter.
Definition: timer.hpp:97
uint32_t u32
Definition: types.h:38
Zero-cost abstraction for accessing registers and bits/bitfields within them.
static auto init(auto ... args)
Timer initialization.
Definition: timer.hpp:72
static void enable()
Enable the counter.
Definition: timer.hpp:90
static Size getCount()
Get the counter value.
Definition: timer.hpp:107
static auto deinit(auto ... args)
Timer deinitialization.
Definition: timer.hpp:82
static auto & Encoder
Timer in encoder mode.
Definition: timer.hpp:59
Commonly used C++ and GNU attributes.
Base class for Timer abstraction.
Definition: timer.hpp:41
static void setCount(Size cnt)
Set the counter value.
Definition: timer.hpp:116
Definition: display.hpp:37
Timer(const Timer &)=delete