Embedded Artistry Framework
Embedded Systems C++ Framework
Public Member Functions | Public Attributes | List of all members
embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo Struct Reference

Timer Delay Information. More...

Public Member Functions

 delayInfo () noexcept
 
 delayInfo (const delayInfo &rhs) noexcept
 
 delayInfo (delayInfo &&rhs) noexcept
 

Public Attributes

embvm::timer::config config
 The requested timer configuration. More...
 
TimeRep_t current_time
 The adjusted delay time. More...
 
TimeRep_t target_time
 The original delay time This value is stored particularly for periodic timers. More...
 
TTimeoutCallback cb
 The timer callback function. More...
 
bool wait_in_progress
 Indicates whether the timer is currently running. More...
 

Detailed Description

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
struct embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo

Timer Delay Information.

The delayInfo struct is used to track information for a given time request.

Constructor & Destructor Documentation

◆ delayInfo() [1/3]

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::delayInfo ( )
inlinenoexcept

◆ delayInfo() [2/3]

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::delayInfo ( const delayInfo rhs)
inlinenoexcept

◆ delayInfo() [3/3]

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::delayInfo ( delayInfo &&  rhs)
inlinenoexcept

Member Data Documentation

◆ cb

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
TTimeoutCallback embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::cb

The timer callback function.

When the timer expires, this callback is called

◆ config

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
embvm::timer::config embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::config

The requested timer configuration.

◆ current_time

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
TimeRep_t embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::current_time

The adjusted delay time.

This field allows allowing for delay adjustments due to other timer requests

◆ target_time

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
TimeRep_t embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::target_time

The original delay time This value is stored particularly for periodic timers.

◆ wait_in_progress

template<const size_t TMaxTimers = 0, typename TLock = embutil::nop_lock, typename TTimeUnit = embvm::timer::timer_period_t, typename TTimeoutCallback = stdext::inplace_function<void()>, typename TTimerDevice = embvm::timer::Timer>
bool embvm::TimerManager< TMaxTimers, TLock, TTimeUnit, TTimeoutCallback, TTimerDevice >::delayInfo::wait_in_progress

Indicates whether the timer is currently running.


The documentation for this struct was generated from the following file: