WPILibC++ 2024.3.2
|
Class for Spike style relay outputs. More...
#include <frc/Relay.h>
Public Types | |
enum | Value { kOff , kOn , kForward , kReverse } |
The state to drive a Relay to. More... | |
enum | Direction { kBothDirections , kForwardOnly , kReverseOnly } |
The Direction(s) that a relay is configured to operate in. More... | |
Public Member Functions | |
Relay (int channel, Direction direction=kBothDirections) | |
Relay constructor given a channel. More... | |
~Relay () override | |
Free the resource associated with a relay. More... | |
Relay (Relay &&)=default | |
Relay & | operator= (Relay &&)=default |
void | Set (Value value) |
Set the relay state. More... | |
Value | Get () const |
Get the Relay State. More... | |
int | GetChannel () const |
void | StopMotor () override |
Called to stop the motor when the timeout expires. More... | |
std::string | GetDescription () const override |
Returns a description to print when an error occurs. More... | |
void | InitSendable (wpi::SendableBuilder &builder) override |
Initializes this Sendable object. More... | |
Public Member Functions inherited from frc::MotorSafety | |
MotorSafety () | |
virtual | ~MotorSafety () |
MotorSafety (MotorSafety &&rhs) | |
MotorSafety & | operator= (MotorSafety &&rhs) |
void | Feed () |
Feed the motor safety object. More... | |
void | SetExpiration (units::second_t expirationTime) |
Set the expiration time for the corresponding motor safety object. More... | |
units::second_t | GetExpiration () const |
Retrieve the timeout value for the corresponding motor safety object. More... | |
bool | IsAlive () const |
Determine if the motor is still operating or has timed out. More... | |
void | SetSafetyEnabled (bool enabled) |
Enable/disable motor safety for this device. More... | |
bool | IsSafetyEnabled () const |
Return the state of the motor safety enabled flag. More... | |
void | Check () |
Check if this motor has exceeded its timeout. More... | |
virtual void | StopMotor ()=0 |
Called to stop the motor when the timeout expires. More... | |
virtual std::string | GetDescription () const =0 |
Returns a description to print when an error occurs. More... | |
Public Member Functions inherited from wpi::Sendable | |
virtual | ~Sendable ()=default |
virtual void | InitSendable (SendableBuilder &builder)=0 |
Initializes this Sendable object. More... | |
Public Member Functions inherited from wpi::SendableHelper< Relay > | |
SendableHelper (const SendableHelper &rhs)=default | |
SendableHelper (SendableHelper &&rhs) | |
SendableHelper & | operator= (const SendableHelper &rhs)=default |
SendableHelper & | operator= (SendableHelper &&rhs) |
Additional Inherited Members | |
Static Public Member Functions inherited from frc::MotorSafety | |
static void | CheckMotors () |
Check the motors to see if any have timed out. More... | |
Protected Member Functions inherited from wpi::SendableHelper< Relay > | |
SendableHelper ()=default | |
~SendableHelper () | |
Class for Spike style relay outputs.
Relays are intended to be connected to spikes or similar relays. The relay channels controls a pair of pins that are either both off, one on, the other on, or both on. This translates into two spike outputs at 0v, one at 12v and one at 0v, one at 0v and the other at 12v, or two spike outputs at 12V. This allows off, full forward, or full reverse control of motors without variable speed. It also allows the two channels (forward and reverse) to be used independently for something that does not care about voltage polarity (like a solenoid).
enum frc::Relay::Value |
The state to drive a Relay to.
Enumerator | |
---|---|
kOff | Off. |
kOn | On. |
kForward | Forward. |
kReverse | Reverse. |
|
explicit |
|
override |
Free the resource associated with a relay.
The relay channels are set to free and the relay output is turned off.
|
default |
Value frc::Relay::Get | ( | ) | const |
Get the Relay State.
Gets the current state of the relay.
When set to kForwardOnly or kReverseOnly, value is returned as kOn/kOff not kForward/kReverse (per the recommendation in Set).
int frc::Relay::GetChannel | ( | ) | const |
|
overridevirtual |
Returns a description to print when an error occurs.
Implements frc::MotorSafety.
|
overridevirtual |
void frc::Relay::Set | ( | Value | value | ) |
Set the relay state.
Valid values depend on which directions of the relay are controlled by the object.
When set to kBothDirections, the relay can be any of the four states: 0v-0v, 0v-12v, 12v-0v, 12v-12v
When set to kForwardOnly or kReverseOnly, you can specify the constant for the direction or you can simply specify kOff and kOn. Using only kOff and kOn is recommended.
value | The state to set the relay. |
|
overridevirtual |
Called to stop the motor when the timeout expires.
Implements frc::MotorSafety.