Package edu.wpi.first.wpilibj
Class TimedRobot
java.lang.Object
edu.wpi.first.wpilibj.RobotBase
edu.wpi.first.wpilibj.IterativeRobotBase
edu.wpi.first.wpilibj.TimedRobot
- All Implemented Interfaces:
AutoCloseable
- Direct Known Subclasses:
TimesliceRobot
TimedRobot implements the IterativeRobotBase robot program framework.
The TimedRobot class is intended to be subclassed by a user creating a robot program.
periodic() functions from the base class are called on an interval by a Notifier instance.
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructor for TimedRobot.protected
TimedRobot
(double period) Constructor for TimedRobot. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
addPeriodic
(Runnable callback, double periodSeconds) Add a callback to run at a specific period.final void
addPeriodic
(Runnable callback, double periodSeconds, double offsetSeconds) Add a callback to run at a specific period with a starting time offset.final void
addPeriodic
(Runnable callback, Time period) Add a callback to run at a specific period.final void
addPeriodic
(Runnable callback, Time period, Time offset) Add a callback to run at a specific period with a starting time offset.void
close()
void
Ends the main loop in startCompetition().long
Return the system clock time in micrseconds for the start of the current periodic loop.void
Provide an alternate "main loop" via startCompetition().Methods inherited from class edu.wpi.first.wpilibj.IterativeRobotBase
autonomousExit, autonomousInit, autonomousPeriodic, disabledExit, disabledInit, disabledPeriodic, driverStationConnected, enableLiveWindowInTest, getPeriod, isLiveWindowEnabledInTest, loopFunc, printWatchdogEpochs, robotInit, robotPeriodic, setNetworkTablesFlushEnabled, simulationInit, simulationPeriodic, teleopExit, teleopInit, teleopPeriodic, testExit, testInit, testPeriodic
Methods inherited from class edu.wpi.first.wpilibj.RobotBase
getMainThreadId, getRuntimeType, isAutonomous, isAutonomousEnabled, isDisabled, isEnabled, isReal, isSimulation, isTeleop, isTeleopEnabled, isTest, isTestEnabled, startRobot, suppressExitWarning
-
Field Details
-
kDefaultPeriod
Default loop period.- See Also:
-
-
Constructor Details
-
TimedRobot
protected TimedRobot()Constructor for TimedRobot. -
TimedRobot
Constructor for TimedRobot.- Parameters:
period
- Period in seconds.
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Overrides:
close
in classRobotBase
-
startCompetition
Provide an alternate "main loop" via startCompetition().- Specified by:
startCompetition
in classIterativeRobotBase
-
endCompetition
Ends the main loop in startCompetition().- Specified by:
endCompetition
in classRobotBase
-
getLoopStartTime
Return the system clock time in micrseconds for the start of the current periodic loop. This is in the same time base as Timer.getFPGATimestamp(), but is stable through a loop. It is updated at the beginning of every periodic callback (including the normal periodic loop).- Returns:
- Robot running time in microseconds, as of the start of the current periodic function.
-
addPeriodic
Add a callback to run at a specific period.This is scheduled on TimedRobot's Notifier, so TimedRobot and the callback run synchronously. Interactions between them are thread-safe.
- Parameters:
callback
- The callback to run.periodSeconds
- The period at which to run the callback in seconds.
-
addPeriodic
Add a callback to run at a specific period with a starting time offset.This is scheduled on TimedRobot's Notifier, so TimedRobot and the callback run synchronously. Interactions between them are thread-safe.
- Parameters:
callback
- The callback to run.periodSeconds
- The period at which to run the callback in seconds.offsetSeconds
- The offset from the common starting time in seconds. This is useful for scheduling a callback in a different timeslot relative to TimedRobot.
-
addPeriodic
Add a callback to run at a specific period.This is scheduled on TimedRobot's Notifier, so TimedRobot and the callback run synchronously. Interactions between them are thread-safe.
- Parameters:
callback
- The callback to run.period
- The period at which to run the callback.
-
addPeriodic
Add a callback to run at a specific period with a starting time offset.This is scheduled on TimedRobot's Notifier, so TimedRobot and the callback run synchronously. Interactions between them are thread-safe.
- Parameters:
callback
- The callback to run.period
- The period at which to run the callback.offset
- The offset from the common starting time. This is useful for scheduling a callback in a different timeslot relative to TimedRobot.
-