Class DigitalOutput
- All Implemented Interfaces:
Sendable
,AutoCloseable
public class DigitalOutput extends DigitalSource implements Sendable
-
Constructor Summary
Constructors Constructor Description DigitalOutput(int channel)
Create an instance of a digital output. -
Method Summary
Modifier and Type Method Description void
close()
void
disablePWM()
Change this line from a PWM output back to a static Digital Output line.void
enablePPS(double dutyCycle)
Enable a PWM PPS (Pulse Per Second) Output on this line.void
enablePWM(double initialDutyCycle)
Enable a PWM Output on this line.boolean
get()
Gets the value being output from the Digital Output.int
getAnalogTriggerTypeForRouting()
Get the analog trigger type.int
getChannel()
Get the GPIO channel number that this object represents.int
getPortHandleForRouting()
Get the HAL Port Handle.void
initSendable(SendableBuilder builder)
Initializes thisSendable
object.boolean
isAnalogTrigger()
Is this an analog trigger.boolean
isPulsing()
Determine if the pulse is still going.void
pulse(double pulseLengthSeconds)
Output a single pulse on the digital output line.void
set(boolean value)
Set the value of a digital output.void
setPWMRate(double rate)
Change the PWM frequency of the PWM output on a Digital Output line.void
setSimDevice(SimDevice device)
Indicates this input is used by a simulated device.void
updateDutyCycle(double dutyCycle)
Change the duty-cycle that is being generated on the line.
-
Constructor Details
-
DigitalOutput
Create an instance of a digital output. Create an instance of a digital output given a channel.- Parameters:
channel
- the DIO channel to use for the digital output. 0-9 are on-board, 10-25 are on the MXP
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Overrides:
close
in classDigitalSource
-
set
Set the value of a digital output.- Parameters:
value
- true is on, off is false
-
get
Gets the value being output from the Digital Output.- Returns:
- the state of the digital output.
-
getChannel
Get the GPIO channel number that this object represents.- Specified by:
getChannel
in classDigitalSource
- Returns:
- The GPIO channel number.
-
pulse
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.
- Parameters:
pulseLengthSeconds
- The pulse length in seconds
-
isPulsing
Determine if the pulse is still going. Determine if a previously started pulse is still going.- Returns:
- true if pulsing
-
setPWMRate
Change the PWM frequency of the PWM output on a Digital Output line.The valid range is from 0.6 Hz to 19 kHz. The frequency resolution is logarithmic.
There is only one PWM frequency for all channels.
- Parameters:
rate
- The frequency to output all digital output PWM signals.
-
enablePPS
Enable a PWM PPS (Pulse Per Second) Output on this line.Allocate one of the 6 DO PWM generator resources.
Supply the duty-cycle to output.
The resolution of the duty cycle is 8-bit.
- Parameters:
dutyCycle
- The duty-cycle to start generating. [0..1]
-
enablePWM
Enable a PWM Output on this line.Allocate one of the 6 DO PWM generator resources.
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.
- Parameters:
initialDutyCycle
- The duty-cycle to start generating. [0..1]
-
disablePWM
Change this line from a PWM output back to a static Digital Output line.Free up one of the 6 DO PWM generator resources that were in use.
-
updateDutyCycle
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.
- Parameters:
dutyCycle
- The duty-cycle to change to. [0..1]
-
setSimDevice
Indicates this input is used by a simulated device.- Parameters:
device
- simulated device handle
-
initSendable
Description copied from interface:Sendable
Initializes thisSendable
object.- Specified by:
initSendable
in interfaceSendable
- Parameters:
builder
- sendable builder
-
isAnalogTrigger
Is this an analog trigger.- Specified by:
isAnalogTrigger
in classDigitalSource
- Returns:
- true if this is an analog trigger
-
getAnalogTriggerTypeForRouting
Get the analog trigger type.- Specified by:
getAnalogTriggerTypeForRouting
in classDigitalSource
- Returns:
- false
-
getPortHandleForRouting
Get the HAL Port Handle.- Specified by:
getPortHandleForRouting
in classDigitalSource
- Returns:
- The HAL Handle to the specified source.
-