Timer¶
-
class
wpilib.
Timer
[source]¶ Bases:
object
Provides time-related functionality for the robot
Note
Prefer to use this module for time functions, instead of the
time
module in the standard library. This will make it easier for your code to work properly in simulation.-
static
delay
(seconds)[source]¶ Pause the thread for a specified time. Pause the execution of the thread for a specified period of time given in seconds. Motors will continue to run at their last assigned values, and sensors will continue to update. Only the thread containing the wait will pause until the wait time is expired.
Parameters: seconds (float) – Length of time to pause Warning
If you’re tempted to use this function for autonomous mode to time transitions between actions, don’t do it!
Delaying the main robot thread for more than a few milliseconds is generally discouraged, and will cause problems and possibly leave the robot unresponsive.
-
get
()[source]¶ Get the current time from the timer. If the clock is running it is derived from the current system clock the start time stored in the timer class. If the clock is not running, then return the time when it was last stopped.
Returns: Current time value for this timer in seconds Return type: float
-
static
getFPGATimestamp
()[source]¶ Return the system clock time in seconds. Return the time from the FPGA hardware clock in seconds since the FPGA started.
Returns: Robot running time in seconds. Return type: float
-
static
getMatchTime
()[source]¶ Return the approximate match time. The FMS does not currently send the official match time to the robots. This returns the time since the enable signal sent from the Driver Station. At the beginning of autonomous, the time is reset to 0.0 seconds. At the beginning of teleop, the time is reset to +15.0 seconds. If the robot is disabled, this returns 0.0 seconds.
Warning
This is not an official time (so it cannot be used to argue with referees).
Returns: Match time in seconds since the beginning of autonomous Return type: float
-
hasPeriodPassed
(period)[source]¶ Check if the period specified has passed and if it has, advance the start time by that period. This is useful to decide if it’s time to do periodic work without drifting later by the time it took to get around to checking.
Parameters: period – The period to check for (in seconds). Returns: If the period has passed. Return type: bool
-
reset
()[source]¶ Reset the timer by setting the time to 0. Make the timer startTime the current time so new requests will be relative now.
-
static