TimerBase Class Referenceabstract

Base class for timers. More...

`#include <hrtimer.h>`

Inheritance diagram for TimerBase:

## Public Types

enum | Unit { SECONDS = 0 , MILLISECONDS , MICROSECONDS , NANOSECONDS }
| Unit of measure. More...

## Public Member Functions

| TimerBase (Unit unit, bool stuckAtZero)
| Construct a TimerBase.
virtual TimerWord | GetCurrentTimerValue ()=0
| Retrieve the current timer value.
virtual TimerWord | TicksPerSecond ()=0
| Retrieve ticks per second.
void | StartTimer ()
| Start the timer.
double | ElapsedTimeAsDouble ()
| Retrieve the elapsed time.
unsigned long | ElapsedTime ()
| Retrieve the elapsed time.

## Detailed Description

Base class for timers.

See also
  ThreadUserTimer, Timer

Definition at line 27 of file hrtimer.h.

## Member Enumeration Documentation

## Unit

enum TimerBase::Unit

Unit of measure.

Unit selects the unit of measure as returned by functions ElapsedTimeAsDouble() and ElapsedTime().

See also
  ElapsedTimeAsDouble, ElapsedTime

Enumerator
SECONDS | Timer unit is seconds. All timers support seconds
MILLISECONDS | Timer unit is milliseconds. All timers support milliseconds
MICROSECONDS | Timer unit is microseconds. The timer requires hardware support microseconds
NANOSECONDS | Timer unit is nanoseconds. The timer requires hardware support nanoseconds

Definition at line 34 of file hrtimer.h.

## Constructor & Destructor Documentation

## TimerBase()

TimerBase::TimerBase | ( | Unit | unit,
|  | bool | stuckAtZero
| ) |  |

inline

Construct a TimerBase.

Parameters

  unit | the unit of measure
  stuckAtZero | flag

Definition at line 52 of file hrtimer.h.

## Member Function Documentation

## GetCurrentTimerValue()

virtual TimerWord TimerBase::GetCurrentTimerValue | ( |  | ) |

pure virtual

Retrieve the current timer value.

Returns
  the current timer value

Implemented in ThreadUserTimer, and Timer.

## TicksPerSecond()

virtual TimerWord TimerBase::TicksPerSecond | ( |  | ) |

pure virtual

Retrieve ticks per second.

Returns
  ticks per second

TicksPerSecond() is not the timer resolution. It is a conversion factor into seconds.

Implemented in ThreadUserTimer, and Timer.

## ElapsedTimeAsDouble()

double TimerBase::ElapsedTimeAsDouble | ( |  | ) |

Retrieve the elapsed time.

Returns
  the elapsed time as a double

The return value of ElapsedTimeAsDouble() depends upon the Unit selected during construction of the timer. For example, if `Unit = SECONDS` and ElapsedTimeAsDouble() returns 3, then the timer has run for 3 seconds. If `Unit = MILLISECONDS` and ElapsedTimeAsDouble() returns 3000, then the timer has run for 3 seconds.

See also
  Unit, ElapsedTime

## ElapsedTime()

unsigned long TimerBase::ElapsedTime | ( |  | ) |

Retrieve the elapsed time.

Returns
  the elapsed time as an unsigned long

The return value of ElapsedTime() depends upon the Unit selected during construction of the timer. For example, if `Unit = SECONDS` and ElapsedTime() returns 3, then the timer has run for 3 seconds. If `Unit = MILLISECONDS` and ElapsedTime() returns 3000, then the timer has run for 3 seconds.

See also
  Unit, ElapsedTimeAsDouble

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

- hrtimer.h