#pragma once #include namespace common2 { class Speed { public: Speed(const bool fixedSpeed); void reset(); // calculate the number of cycles to execute in the current period // assuming the next call will happen in x microseconds size_t getCyclesTillNext(const size_t microseconds) const; private: const bool myFixedSpeed; std::chrono::time_point myStartTime; uint64_t myStartCycles; }; }