class mrpt::system::CRateTimer

A class for calling sleep() in a loop, such that the amount of sleep time will be computed to make the loop run at the desired rate (in Hz).

[New in MRPT 1.5.0]

#include <mrpt/system/CRateTimer.h>

class CRateTimer
{
public:
    // construction

    CRateTimer(const double rate_hz = 1.0);

    //
methods

    void setRate(const double rate_hz);
    double rate() const;
    bool sleep();
};

Construction

CRateTimer(const double rate_hz = 1.0)

Ctor: specifies the desired rate (Hz)

Methods

void setRate(const double rate_hz)

Changes the object loop rate (Hz)

double rate() const

Gets current rate (Hz)

bool sleep()

Sleeps for some time, such as the return of this method is 1/rate (seconds) after the return of the previous call.

Returns:

false if the rate could not be achieved (“we are already late”), true if all went right.