CallbackTimer.h
Go to the documentation of this file.
154 __forceinline CallbackTimer& IRAM_ATTR initializeUs(TimerCallback callback, void* arg = nullptr)
167 __forceinline CallbackTimer& IRAM_ATTR initializeUs(TimeType microseconds, TimerCallback callback,
174 __forceinline CallbackTimer& IRAM_ATTR initializeUs(TimeType microseconds, InterruptCallback callback = nullptr)
181 __forceinline CallbackTimer& IRAM_ATTR initializeMs(TimerCallback callback, void* arg = nullptr)
194 __forceinline CallbackTimer& IRAM_ATTR initializeMs(uint32_t milliseconds, TimerCallback callback,
201 __forceinline CallbackTimer& IRAM_ATTR initializeMs(uint32_t milliseconds, InterruptCallback callback = nullptr)
Class template for accessing a Clock in specific time units.
Definition: NanoTime.h:122
void(*)(void *arg) TimerCallback
Interrupt-compatible C callback function pointer.
Definition: CallbackTimer.h:23
static TimeType ticksToUs(TickType ticks)
Convert timer ticks into microseconds.
Definition: CallbackTimer.h:116
static constexpr void checkIntervalMs()
Check timer interval in milliseconds is valid (static check)
Definition: CallbackTimer.h:306
TickType getInterval() const
Get timer interval in clock ticks.
Definition: CallbackTimer.h:272
bool start(bool repeating=true)
Start timer running.
Definition: CallbackTimer.h:210
bool checkInterval(TickType ticks) const
Check timer interval is valid.
Definition: CallbackTimer.h:281
static constexpr Millis millis()
Get a millisecond time source.
Definition: CallbackTimer.h:86
CallbackTimer & initializeMs(uint32_t milliseconds, TimerCallback callback, void *arg=nullptr)
Initialise hardware timer in milliseconds with Timer Callback and optional argument.
Definition: CallbackTimer.h:194
Time< T > time(Unit unit, T value)
Helper function to create a Time and deduce the type.
Definition: NanoTime.h:429
static TickType usToTicks(TimeType time)
Convert microsecond count into timer ticks.
Definition: CallbackTimer.h:104
NanoTime::TimeSource< Clock, NanoTime::Microseconds, TimeType > Micros
Definition: CallbackTimer.h:77
void setCallback(Callback callback)
Set a callback function that is invoked on each change of the current allocation.
CallbackTimer & initializeMs(TimerCallback callback, void *arg=nullptr)
Initialise hardware timer in milliseconds (static check) with Timer Callback and optional argument.
Definition: CallbackTimer.h:181
static constexpr void checkInterval()
Check timer interval in ticks is valid (static check)
Definition: CallbackTimer.h:290
bool callbackSet
User has provided callback function.
Definition: CallbackTimer.h:418
static constexpr uint64_t ticksToUs()
Convert timer ticks into microseconds.
Definition: CallbackTimer.h:110
CallbackTimer & initializeUs(TimeType microseconds, TimerCallback callback, void *arg=nullptr)
Initialise timer in microseconds with Timer Callback and optional argument.
Definition: CallbackTimer.h:167
void setInterval()
Set timer interval in timer ticks (static check)
Definition: CallbackTimer.h:335
CallbackTimer & initializeMs(InterruptCallback callback=nullptr)
Initialise hardware timer in milliseconds (static check) and optional Interrupt Callback (no arg)
Definition: CallbackTimer.h:188
static constexpr void checkIntervalUs()
Check timer interval in microseconds is valid (static check)
Definition: CallbackTimer.h:312
std::enable_if< std::is_integral< T >::value, String >::type toString(T value)
Definition: BitSet.h:481
bool setInterval(TimeType time)
Set timer interval in timer ticks.
Definition: CallbackTimer.h:355
CallbackTimer & initializeUs(TimeType microseconds, InterruptCallback callback=nullptr)
Initialise timer in microseconds with optional Interrupt Callback (no arg)
Definition: CallbackTimer.h:174
void setCallback(InterruptCallback callback)
Set timer trigger callback.
Definition: CallbackTimer.h:401
NanoTime::Time< TimeType > getIntervalUs() const
Get timer interval in microseconds.
Definition: CallbackTimer.h:260
bool setIntervalUs(TimeType microseconds)
Set timer interval in microseconds.
Definition: CallbackTimer.h:361
CallbackTimer & initializeMs(uint32_t milliseconds, InterruptCallback callback=nullptr)
Initialise hardware timer in milliseconds with optional Interrupt Callback (no arg)
Definition: CallbackTimer.h:201
static constexpr uint64_t ticksToTime()
Get the time for a given number of clock ticks.
Definition: NanoTime.h:734
static constexpr Micros micros()
Get a microsecond time source.
Definition: CallbackTimer.h:92
static constexpr uint64_t timeToTicks()
Get the number of ticks for a given time.
Definition: NanoTime.h:724
void setIntervalMs()
Set timer interval in milliseconds (static check)
Definition: CallbackTimer.h:379
CallbackTimer & initializeUs(InterruptCallback callback=nullptr)
Initialise timer in microseconds (static check) with optional Interrupt Callback (no argument)
Definition: CallbackTimer.h:161
NanoTime::TimeSource< Clock, NanoTime::Milliseconds, uint32_t > Millis
Definition: CallbackTimer.h:76
void setCallback(TimerCallback callback, void *arg=nullptr)
Set timer trigger callback.
Definition: CallbackTimer.h:388
void setInterval()
Set timer interval in specific time unit (static check)
Definition: CallbackTimer.h:346
static constexpr void checkInterval()
Check timer interval in specific time unit is valid (static check)
Definition: CallbackTimer.h:300
void setIntervalUs()
Set timer interval in microseconds (static check)
Definition: CallbackTimer.h:367
bool isStarted() const
Check if timer is started.
Definition: CallbackTimer.h:254
CallbackTimer & initialize(TimeType time, TimerCallback callback, void *arg=nullptr)
Initialise timer with an interval and callback.
Definition: CallbackTimer.h:145
CallbackTimer & initializeUs(TimerCallback callback, void *arg=nullptr)
Initialise timer in microseconds (static check) with Timer Callback and optional argument.
Definition: CallbackTimer.h:154
NanoTime::Time< uint32_t > getIntervalMs() const
Get timer interval in milliseconds.
Definition: CallbackTimer.h:266
static constexpr uint64_t usToTicks()
Convert microsecond count into timer ticks.
Definition: CallbackTimer.h:98
bool setInterval(TickType ticks)
Set timer interval in timer ticks.
Definition: CallbackTimer.h:320
bool setIntervalMs(uint32_t milliseconds)
Set timer interval in milliseconds.
Definition: CallbackTimer.h:373
CallbackTimer & initialize(TimerCallback callback, void *arg=nullptr)
Initialise timer with an interval (static check) and callback.
Definition: CallbackTimer.h:130
bool intervalSet
User has set valid time interval.
Definition: CallbackTimer.h:419