Class 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 Details

  • Constructor Details

  • Method Details

    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class RobotBase
    • startCompetition

      public void startCompetition()
      Provide an alternate "main loop" via startCompetition().
      Specified by:
      startCompetition in class IterativeRobotBase
    • endCompetition

      public void endCompetition()
      Ends the main loop in startCompetition().
      Specified by:
      endCompetition in class RobotBase
    • 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.