Class PreciseTimer#
Defined in File utilities.h
Class Documentation#
-
class PreciseTimer#
creates an interruptable, precise sleep timer object
This is a utility class to create a reasonably accurate interruptable sleep timer (precision approx 100 microseconds). This is done by making repeated calls to precise_sleep(), while checking for a cancel flag. The timer can also be modified.
Units are in microseconds except for the inputs, delay(ms) and modify(ms), and outputs, get_remaining() and stop(&ms), which are in milliseconds.
Public Functions
-
inline PreciseTimer()#
-
inline long delay(long milliseconds)#
This is the entry point to create a blocking delay, which
won’t return until milliseconds have elapsed unless stopped
or modified.
-
inline long get_remaining()#
Returns the time remaining in milliseconds
-
inline void modify(long milliseconds)#
Modifies the delay time to new value in milliseconds
-
inline void progress(long &remaintime, long &delaytime)#
Returns by reference remaining and delay times in msec
-
inline bool is_held() const#
Returns true if the timer is currently on hold
-
inline void hold()#
Hold/pause the delay timer at the next short-sleep boundary
-
inline void resume()#
Removes the hold and resumes the delay after a hold
-
inline void stop()#
Stops the delay at the next short-sleep boundary
-
inline void stop(long &milliseconds)#
Stops the delay at the next short-sleep boundary, returns
remaining time in milliseconds by reference.
-
inline void reset()#
For internal use only, resets class variables
-
inline PreciseTimer()#