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
Modifier and TypeClassDescriptionstatic enum
Power distribution module type. -
Field Summary
-
Constructor Summary
ConstructorDescriptionConstructs a PowerDistribution object.PowerDistribution
(int module, PowerDistribution.ModuleType moduleType) Constructs a PowerDistribution object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear all PDP/PDH sticky faults.void
close()
double[]
Query all currents of the PDP.double
getCurrent
(int channel) Query the current of a single channel of the PDP/PDH.Returns the power distribution faults.int
Gets module number (CAN ID).int
Gets the number of channels for this power distribution object.Returns the power distribution sticky faults.boolean
Gets whether the PDH switchable channel is turned on or off.double
Query the temperature of the PDP.double
Query the current of all monitored channels.double
Query the total energy drawn from the monitored channels of the PDP.double
Query 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.double
Query the input voltage of the PDP/PDH.void
initSendable
(SendableBuilder builder) Initializes thisSendable
object.void
Reset the total energy to 0 of the PDP.void
setSwitchableChannel
(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:
close
in 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:Sendable
Initializes thisSendable
object.- Specified by:
initSendable
in interfaceSendable
- Parameters:
builder
- sendable builder
-