13#include "wpi/units/frequency.hpp"
14#include "wpi/units/time.hpp"
72 return m_callbacks.GetLoopStartTime();
87 void AddPeriodic(std::function<
void()> callback, wpi::units::second_t period,
88 wpi::units::second_t offset = 0_s);
IterativeRobotBase(wpi::units::second_t period)
Constructor for IterativeRobotBase.
static constexpr auto DEFAULT_PERIOD
Default loop period.
Definition TimedRobot.hpp:30
TimedRobot(wpi::units::hertz_t frequency)
Constructor for TimedRobot.
TimedRobot(TimedRobot &&)=default
void StartCompetition() override
Provide an alternate "main loop" via StartCompetition().
TimedRobot & operator=(TimedRobot &&)=default
wpi::hal::Handle< HAL_NotifierHandle, HAL_DestroyNotifier > m_notifier
Definition TimedRobot.hpp:91
wpi::units::microsecond_t GetLoopStartTime() const
Return the system clock time in microseconds for the start of the current periodic loop.
Definition TimedRobot.hpp:71
TimedRobot(wpi::units::second_t period=DEFAULT_PERIOD)
Constructor for TimedRobot.
void EndCompetition() override
Ends the main loop in StartCompetition().
void AddPeriodic(std::function< void()> callback, wpi::units::second_t period, wpi::units::second_t offset=0_s)
Add a callback to run at a specific period with a starting time offset.
std::chrono::microseconds m_startTime
Definition TimedRobot.hpp:92
A move-only C++ wrapper around a HAL handle.
Definition Types.hpp:16
A priority queue for scheduling periodic callbacks based on their next execution time.
Definition PeriodicPriorityQueue.hpp:30
Definition CvSource.hpp:15