WPILibC++ 2023.4.3-108-ge5452e3
|
Class to write to digital outputs. More...
#include <frc/DigitalOutput.h>
Public Member Functions | |
DigitalOutput (int channel) | |
Create an instance of a digital output. More... | |
~DigitalOutput () override | |
DigitalOutput (DigitalOutput &&)=default | |
DigitalOutput & | operator= (DigitalOutput &&)=default |
void | Set (bool value) |
Set the value of a digital output. More... | |
bool | Get () const |
Gets the value being output from the Digital Output. More... | |
HAL_Handle | GetPortHandleForRouting () const override |
AnalogTriggerType | GetAnalogTriggerTypeForRouting () const override |
bool | IsAnalogTrigger () const override |
Is source an AnalogTrigger. More... | |
int | GetChannel () const override |
void | Pulse (units::second_t pulseLength) |
Output a single pulse on the digital output line. More... | |
bool | IsPulsing () const |
Determine if the pulse is still going. More... | |
void | SetPWMRate (double rate) |
Change the PWM frequency of the PWM output on a Digital Output line. More... | |
void | EnablePPS (double dutyCycle) |
Enable a PWM PPS (Pulse Per Second) Output on this line. More... | |
void | EnablePWM (double initialDutyCycle) |
Enable a PWM Output on this line. More... | |
void | DisablePWM () |
Change this line from a PWM output back to a static Digital Output line. More... | |
void | UpdateDutyCycle (double dutyCycle) |
Change the duty-cycle that is being generated on the line. More... | |
void | SetSimDevice (HAL_SimDeviceHandle device) |
Indicates this output is used by a simulated device. More... | |
void | InitSendable (wpi::SendableBuilder &builder) override |
Initializes this Sendable object. More... | |
Public Member Functions inherited from frc::DigitalSource | |
DigitalSource ()=default | |
DigitalSource (DigitalSource &&)=default | |
DigitalSource & | operator= (DigitalSource &&)=default |
virtual HAL_Handle | GetPortHandleForRouting () const =0 |
virtual AnalogTriggerType | GetAnalogTriggerTypeForRouting () const =0 |
virtual bool | IsAnalogTrigger () const =0 |
virtual int | GetChannel () const =0 |
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< DigitalOutput > | |
SendableHelper (const SendableHelper &rhs)=default | |
SendableHelper (SendableHelper &&rhs) | |
SendableHelper & | operator= (const SendableHelper &rhs)=default |
SendableHelper & | operator= (SendableHelper &&rhs) |
Additional Inherited Members | |
Protected Member Functions inherited from wpi::SendableHelper< DigitalOutput > | |
SendableHelper ()=default | |
~SendableHelper () | |
Class to write to digital outputs.
Write values to the digital output channels. Other devices implemented elsewhere will allocate channels automatically so for those devices it shouldn't be done here.
|
explicit |
Create an instance of a digital output.
Create a digital output given a channel.
channel | The digital channel 0-9 are on-board, 10-25 are on the MXP port |
|
override |
|
default |
void frc::DigitalOutput::DisablePWM | ( | ) |
void frc::DigitalOutput::EnablePPS | ( | double | dutyCycle | ) |
void frc::DigitalOutput::EnablePWM | ( | double | initialDutyCycle | ) |
Enable a PWM Output on this line.
Allocate one of the 6 DO PWM generator resources from this module.
Supply the initial duty-cycle to output so as to avoid a glitch when first starting.
The resolution of the duty cycle is 8-bit for low frequencies (1kHz or less) but is reduced the higher the frequency of the PWM signal is.
initialDutyCycle | The duty-cycle to start generating. [0..1] |
bool frc::DigitalOutput::Get | ( | ) | const |
Gets the value being output from the Digital Output.
|
overridevirtual |
Implements frc::DigitalSource.
|
overridevirtual |
Implements frc::DigitalSource.
|
overridevirtual |
Implements frc::DigitalSource.
|
overridevirtual |
|
overridevirtual |
Is source an AnalogTrigger.
Implements frc::DigitalSource.
bool frc::DigitalOutput::IsPulsing | ( | ) | const |
Determine if the pulse is still going.
Determine if a previously started pulse is still going.
|
default |
void frc::DigitalOutput::Pulse | ( | units::second_t | pulseLength | ) |
Output a single pulse on the digital output line.
Send a single pulse on the digital output line where the pulse duration is specified in seconds. Maximum of 65535 microseconds.
pulseLength | The pulse length in seconds |
void frc::DigitalOutput::Set | ( | bool | value | ) |
Set the value of a digital output.
Set the value of a digital output to either one (true) or zero (false).
value | 1 (true) for high, 0 (false) for disabled |
void frc::DigitalOutput::SetPWMRate | ( | double | rate | ) |
void frc::DigitalOutput::SetSimDevice | ( | HAL_SimDeviceHandle | device | ) |
Indicates this output is used by a simulated device.
device | simulated device handle |
void frc::DigitalOutput::UpdateDutyCycle | ( | double | dutyCycle | ) |
Change the duty-cycle that is being generated on the line.
The resolution of the duty cycle is 8-bit for low frequencies (1kHz or less) but is reduced the higher the frequency of the PWM signal is.
dutyCycle | The duty-cycle to change to. [0..1] |