Package edu.wpi.first.wpilibj
Class MotorSafety
- java.lang.Object
-
- edu.wpi.first.wpilibj.MotorSafety
-
- Direct Known Subclasses:
NidecBrushless,PWM,Relay,RobotDrive,RobotDriveBase
public abstract class MotorSafety extends Object
This base class runs a watchdog timer and calls the subclass's StopMotor() function if the timeout expires.The subclass should call feed() whenever the motor value is updated.
-
-
Constructor Summary
Constructors Constructor Description MotorSafety()MotorSafety constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcheck()Check if this motor has exceeded its timeout.static voidcheckMotors()Check the motors to see if any have timed out.voidfeed()Feed the motor safety object.abstract StringgetDescription()doublegetExpiration()Retrieve the timeout value for the corresponding motor safety object.booleanisAlive()Determine of the motor is still operating or has timed out.booleanisSafetyEnabled()Return the state of the motor safety enabled flag.voidsetExpiration(double expirationTime)Set the expiration time for the corresponding motor safety object.voidsetSafetyEnabled(boolean enabled)Enable/disable motor safety for this device.abstract voidstopMotor()
-
-
-
Method Detail
-
feed
public void feed()
Feed the motor safety object.Resets the timer on this object that is used to do the timeouts.
-
setExpiration
public void setExpiration(double expirationTime)
Set the expiration time for the corresponding motor safety object.- Parameters:
expirationTime- The timeout value in seconds.
-
getExpiration
public double getExpiration()
Retrieve the timeout value for the corresponding motor safety object.- Returns:
- the timeout value in seconds.
-
isAlive
public boolean isAlive()
Determine of the motor is still operating or has timed out.- Returns:
- a true value if the motor is still operating normally and hasn't timed out.
-
check
public void check()
Check if this motor has exceeded its timeout. This method is called periodically to determine if this motor has exceeded its timeout value. If it has, the stop method is called, and the motor is shut down until its value is updated again.
-
setSafetyEnabled
public void setSafetyEnabled(boolean enabled)
Enable/disable motor safety for this device.Turn on and off the motor safety option for this PWM object.
- Parameters:
enabled- True if motor safety is enforced for this object
-
isSafetyEnabled
public boolean isSafetyEnabled()
Return the state of the motor safety enabled flag.Return if the motor safety is currently enabled for this device.
- Returns:
- True if motor safety is enforced for this device
-
checkMotors
public static void checkMotors()
Check the motors to see if any have timed out.This static method is called periodically to poll all the motors and stop any that have timed out.
-
stopMotor
public abstract void stopMotor()
-
getDescription
public abstract String getDescription()
-
-