Polled timers

Polled interval timers. More...

Collaboration diagram for Polled timers:

Macros

#define POLLED_TIMER_MARGIN_US   250000
 Timer intervals are limited to the maximum clock time, minus this safety margin. More...
 
template<NanoTime::Unit unit>
using OneShotElapseTimer = PolledTimer::OneShot< PolledTimerClock, unit >
 
template<NanoTime::Unit unit>
using PeriodicElapseTimer = PolledTimer::Periodic< PolledTimerClock, unit >
 
using OneShotFastMs = OneShotElapseTimer< NanoTime::Milliseconds >
 
using PeriodicFastMs = PeriodicElapseTimer< NanoTime::Milliseconds >
 
using OneShotFastUs = OneShotElapseTimer< NanoTime::Microseconds >
 
using PeriodicFastUs = PeriodicElapseTimer< NanoTime::Microseconds >
 
using ElapseTimer = OneShotFastUs
 
template<NanoTime::Unit units>
using OneShotCpuCycleTimer = PolledTimer::OneShot< CpuCycleClockNormal, units >
 
template<NanoTime::Unit units>
using PeriodicCpuCycleTimer = PolledTimer::Periodic< CpuCycleClockNormal, units >
 
template<NanoTime::Unit units>
using OneShotCpuCycleTimerFast = PolledTimer::OneShot< CpuCycleClockFast, units >
 
template<NanoTime::Unit units>
using PeriodicCpuCycleTimerFast = PolledTimer::Periodic< CpuCycleClockFast, units >
 
using CpuCycleTimer = OneShotCpuCycleTimer< NanoTime::Nanoseconds >
 
using CpuCycleTimerFast = OneShotCpuCycleTimerFast< NanoTime::Nanoseconds >
 
typedef OneShotFastMs oneShotFastMs
 
typedef PeriodicFastMs periodicFastMs
 
typedef OneShotFastUs oneShotFastUs
 
typedef PeriodicFastUs periodicFastUs
 

Detailed Description

Polled interval timers.

Macro Definition Documentation

◆ POLLED_TIMER_MARGIN_US

#define POLLED_TIMER_MARGIN_US   250000

Timer intervals are limited to the maximum clock time, minus this safety margin.

Note
Specified in microseconds, this is the minimum timer poll interval to ensure no missed polls across the full timer range. Larger margin means smaller time range.

Typedef Documentation

◆ CpuCycleTimer

◆ CpuCycleTimerFast

◆ ElapseTimer

◆ OneShotCpuCycleTimer

template<NanoTime::Unit units>
using OneShotCpuCycleTimer = PolledTimer::OneShot<CpuCycleClockNormal, units>

◆ OneShotCpuCycleTimerFast

template<NanoTime::Unit units>
using OneShotCpuCycleTimerFast = PolledTimer::OneShot<CpuCycleClockFast, units>

◆ OneShotElapseTimer

template<NanoTime::Unit unit>
using OneShotElapseTimer = PolledTimer::OneShot<PolledTimerClock, unit>

◆ OneShotFastMs

◆ oneShotFastMs

◆ OneShotFastUs

◆ oneShotFastUs

◆ PeriodicCpuCycleTimer

template<NanoTime::Unit units>
using PeriodicCpuCycleTimer = PolledTimer::Periodic<CpuCycleClockNormal, units>

◆ PeriodicCpuCycleTimerFast

template<NanoTime::Unit units>
using PeriodicCpuCycleTimerFast = PolledTimer::Periodic<CpuCycleClockFast, units>

◆ PeriodicElapseTimer

template<NanoTime::Unit unit>
using PeriodicElapseTimer = PolledTimer::Periodic<PolledTimerClock, unit>

◆ PeriodicFastMs

◆ periodicFastMs

◆ PeriodicFastUs

◆ periodicFastUs