avr-classes
Public Member Functions | Protected Member Functions | List of all members
PeriodicTimer< COUNTERTYPE > Class Template Reference

#include <periodictimer.h>

Inheritance diagram for PeriodicTimer< COUNTERTYPE >:
OneShotTimer< COUNTERTYPE > TimerService

Public Member Functions

 PeriodicTimer (EventReceiver *receiver, const Event &event, COUNTERTYPE timeout)
 
- Public Member Functions inherited from OneShotTimer< COUNTERTYPE >
 OneShotTimer (EventReceiver *receiver, const Event &event, COUNTERTYPE timeout)
 
COUNTERTYPE getTimeout (void) const
 
void setTimeout (COUNTERTYPE timeout)
 
virtual void onTick (void) override
 
void reset (void)
 
void restart (void)
 
- Public Member Functions inherited from TimerService
 TimerService (void)
 
void start (void)
 
void stop (void)
 
bool isRunning (void) const
 

Protected Member Functions

virtual void elapsed (void) override
 

Detailed Description

template<class COUNTERTYPE>
class PeriodicTimer< COUNTERTYPE >

Countdown timer that sends an event when it has elapsed and automatically restarts itself. A PeriodicTimer can be paused using the stop() and start() methods, and reset to the original timeout value using reset(). The PeriodicTimer needs to be added to a TimerServiceHost instance. The base tick frequency of the TimerServiceHost specifies the rate at which the timeout value is decremented.

Parameters
COUNTERTYPEData type for timeout value, e.g. uint16_t.

Constructor & Destructor Documentation

◆ PeriodicTimer()

template<class COUNTERTYPE >
PeriodicTimer< COUNTERTYPE >::PeriodicTimer ( EventReceiver receiver,
const Event event,
COUNTERTYPE  timeout 
)
inline

Constructor.

Parameters
receiverReceiver of the elapsed event.
eventEvent to be sent when timer has elapsed.
timeoutTimeout value, actual time depends on base tick frequency of used TimerServiceHost.

Member Function Documentation

◆ elapsed()

template<class COUNTERTYPE >
virtual void PeriodicTimer< COUNTERTYPE >::elapsed ( void  )
inlineoverrideprotectedvirtual

Method that is called when the timer is running and reaches zero.

Reimplemented from OneShotTimer< COUNTERTYPE >.