Class TimedRobot

All Implemented Interfaces:
AutoCloseable

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

    • TimedRobot

      protected TimedRobot()
      Constructor for TimedRobot.
    • TimedRobot

      protected TimedRobot​(double period)
      Constructor for TimedRobot.
      Parameters:
      period - Period in seconds.
  • Method Details

    • finalize

      protected void finalize()
      Overrides:
      finalize in class Object
    • 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
    • getPeriod

      public double getPeriod()
      Get time period between calls to Periodic() functions.
    • 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.