Program Listing for File simple_timer.hpp

Return to documentation for file (fang-mcb-project/src/util/chrono/simple_timer.hpp)

#ifndef FANG_ROBOTICS_MCB_TIME_SIMPLER_TIMER_HPP
#define FANG_ROBOTICS_MCB_TIME_SIMPLER_TIMER_HPP
#include "wrap/units/units_alias.hpp"
#include "modm/architecture/interface/clock.hpp"

namespace fang::chrono
{
    class SimpleTimer
    {
        //Microseconds
        using TimePoint = modm::chrono::micro_clock::time_point;
        using RawDuration = modm::PreciseClock::duration;
        using Clock = modm::PreciseClock;
    public:
        SimpleTimer();
        Microseconds getDurationAndReset();

        void reset();

        Microseconds getDuration() const;
    private:
        Clock m_clock;
        TimePoint m_epoch;
    };
}
#endif