Package edu.wpi.first.wpilibj
Class PowerDistribution
java.lang.Object
edu.wpi.first.wpilibj.PowerDistribution
- All Implemented Interfaces:
Sendable,AutoCloseable
Class for getting voltage, current, temperature, power and energy from the CTRE Power
Distribution Panel (PDP) or REV Power Distribution Hub (PDH) over CAN.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumPower distribution module type. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a PowerDistribution object.PowerDistribution(int module, PowerDistribution.ModuleType moduleType) Constructs a PowerDistribution object. -
Method Summary
Modifier and TypeMethodDescriptionvoidClear all PDP/PDH sticky faults.voidclose()double[]Query all currents of the PDP.doublegetCurrent(int channel) Query the current of a single channel of the PDP/PDH.Returns the power distribution faults.intGets module number (CAN ID).intGets the number of channels for this power distribution object.Returns the power distribution sticky faults.booleanGets whether the PDH switchable channel is turned on or off.doubleQuery the temperature of the PDP.doubleQuery the current of all monitored channels.doubleQuery the total energy drawn from the monitored channels of the PDP.doubleQuery the total power drawn from the monitored channels of the PDP.getType()Gets the module type for this power distribution object.Returns the power distribution version number.doubleQuery the input voltage of the PDP/PDH.voidinitSendable(SendableBuilder builder) Initializes thisSendableobject.voidReset the total energy to 0 of the PDP.voidsetSwitchableChannel(boolean enabled) Sets the PDH switchable channel on or off.
-
Field Details
-
kDefaultModule
Default module number.- See Also:
-
-
Constructor Details
-
PowerDistribution
Constructs a PowerDistribution object.- Parameters:
module- The CAN ID of the PDP/PDH.moduleType- Module type (CTRE or REV).
-
PowerDistribution
public PowerDistribution()Constructs a PowerDistribution object.Detects the connected PDP/PDH using the default CAN ID (0 for CTRE and 1 for REV).
-
-
Method Details
-
close
- Specified by:
closein interfaceAutoCloseable
-
getNumChannels
Gets the number of channels for this power distribution object.- Returns:
- Number of output channels (16 for PDP, 24 for PDH).
-
getVoltage
Query the input voltage of the PDP/PDH.- Returns:
- The voltage in volts
-
getTemperature
Query the temperature of the PDP.Not supported on the Rev PDH and returns 0.
- Returns:
- The temperature in degrees Celsius
-
getCurrent
Query the current of a single channel of the PDP/PDH.- Parameters:
channel- The channel (0-15 for PDP, 0-23 for PDH) to query- Returns:
- The current of the channel in Amperes
-
getAllCurrents
Query all currents of the PDP.- Returns:
- The current of each channel in Amperes
-
getTotalCurrent
Query the current of all monitored channels.- Returns:
- The current of all the channels in Amperes
-
getTotalPower
Query the total power drawn from the monitored channels of the PDP.Not supported on the Rev PDH and returns 0.
- Returns:
- the total power in Watts
-
getTotalEnergy
Query the total energy drawn from the monitored channels of the PDP.Not supported on the Rev PDH and returns 0.
- Returns:
- the total energy in Joules
-
resetTotalEnergy
Reset the total energy to 0 of the PDP.Not supported on the Rev PDH and does nothing.
-
clearStickyFaults
Clear all PDP/PDH sticky faults. -
getModule
Gets module number (CAN ID).- Returns:
- The module number (CAN ID).
-
getType
Gets the module type for this power distribution object.- Returns:
- The module type
-
getSwitchableChannel
Gets whether the PDH switchable channel is turned on or off. Returns false with the CTRE PDP.- Returns:
- The output state of the PDH switchable channel
-
setSwitchableChannel
Sets the PDH switchable channel on or off. Does nothing with the CTRE PDP.- Parameters:
enabled- Whether to turn the PDH switchable channel on or off
-
getVersion
Returns the power distribution version number.- Returns:
- The power distribution version number.
-
getFaults
Returns the power distribution faults.On a CTRE PDP, this will return an object with no faults active.
- Returns:
- The power distribution faults.
-
getStickyFaults
Returns the power distribution sticky faults.On a CTRE PDP, this will return an object with no faults active.
- Returns:
- The power distribution sticky faults.
-
initSendable
Description copied from interface:SendableInitializes thisSendableobject.- Specified by:
initSendablein interfaceSendable- Parameters:
builder- sendable builder
-