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
public class TimedRobot extends IterativeRobotBase
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
Fields Modifier and Type Field Description static double
kDefaultPeriod
-
Constructor Summary
Constructors Modifier Constructor Description protected
TimedRobot()
Constructor for TimedRobot.protected
TimedRobot(double period)
Constructor for TimedRobot.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPeriodic(Runnable callback, double periodSeconds)
Add a callback to run at a specific period.void
addPeriodic(Runnable callback, double periodSeconds, double offsetSeconds)
Add a callback to run at a specific period with a starting time offset.void
endCompetition()
Ends the main loop in startCompetition().protected void
finalize()
void
startCompetition()
Provide an alternate "main loop" via startCompetition().-
Methods inherited from class edu.wpi.first.wpilibj.IterativeRobotBase
autonomousExit, autonomousInit, autonomousPeriodic, disabledExit, disabledInit, disabledPeriodic, getPeriod, loopFunc, robotInit, robotPeriodic, setNetworkTablesFlushEnabled, simulationInit, simulationPeriodic, teleopExit, teleopInit, teleopPeriodic, testExit, testInit, testPeriodic
-
Methods inherited from class edu.wpi.first.wpilibj.RobotBase
close, getBooleanProperty, getMainThreadId, getRuntimeType, isAutonomous, isAutonomousEnabled, isDisabled, isEnabled, isNewDataAvailable, isOperatorControl, isOperatorControlEnabled, isReal, isSimulation, isTeleop, isTeleopEnabled, isTest, startRobot, suppressExitWarning
-
-
-
-
Field Detail
-
kDefaultPeriod
public static final double kDefaultPeriod
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TimedRobot
protected TimedRobot()
Constructor for TimedRobot.
-
TimedRobot
protected TimedRobot(double period)
Constructor for TimedRobot.- Parameters:
period
- Period in seconds.
-
-
Method Detail
-
startCompetition
public void startCompetition()
Provide an alternate "main loop" via startCompetition().- Specified by:
startCompetition
in classIterativeRobotBase
-
endCompetition
public void endCompetition()
Ends the main loop in startCompetition().- Specified by:
endCompetition
in classRobotBase
-
addPeriodic
public void addPeriodic(Runnable callback, double periodSeconds)
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
public void addPeriodic(Runnable callback, double periodSeconds, double offsetSeconds)
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.
-
-