Class for getting voltage, current, temperature, power and energy from the CTRE Power Distribution Pa...
Definition PowerDistribution.h:21
void ClearStickyFaults()
Remove all of the fault flags on the PDP/PDH.
double GetTotalCurrent() const
Query the total current of all monitored PDP/PDH channels.
double GetTemperature() const
Query the temperature of the PDP.
ModuleType GetType() const
Gets module type.
void SetSwitchableChannel(bool enabled)
Sets the PDH switchable channel on or off.
StickyFaults GetStickyFaults() const
Returns the power distribution sticky faults.
std::vector< double > GetAllCurrents() const
Query all currents of the PDP.
double GetTotalPower() const
Query the total power drawn from all monitored PDP channels.
ModuleType
Power distribution module type.
Definition PowerDistribution.h:29
@ kCTRE
CTRE (Cross The Road Electronics) CTRE Power Distribution Panel (PDP).
@ kRev
REV Power Distribution Hub (PDH).
Version GetVersion() const
PowerDistribution(PowerDistribution &&)=default
PowerDistribution()
Constructs a PowerDistribution object.
~PowerDistribution() override=default
PowerDistribution & operator=(PowerDistribution &&)=default
double GetCurrent(int channel) const
Query the current of a single channel of the PDP/PDH.
PowerDistribution(int module, ModuleType moduleType)
Constructs a PowerDistribution object.
Faults GetFaults() const
Returns the power distribution faults.
double GetTotalEnergy() const
Query the total energy drawn from the monitored PDP channels.
int GetNumChannels() const
Gets the number of channels for this power distribution object.
static constexpr int kDefaultModule
Default module number.
Definition PowerDistribution.h:24
void ResetTotalEnergy()
Reset the total energy drawn from the PDP.
int GetModule() const
Gets module number (CAN ID).
bool GetSwitchableChannel() const
Gets whether the PDH switchable channel is turned on or off.
double GetVoltage() const
Query the input voltage of the PDP/PDH.
void InitSendable(wpi::SendableBuilder &builder) override
Initializes this Sendable object.
A move-only C++ wrapper around a HAL handle.
Definition Types.h:96
Helper class for building Sendable dashboard representations.
Definition SendableBuilder.h:21
A helper class for use with objects that add themselves to SendableRegistry.
Definition SendableHelper.h:21
Interface for Sendable objects.
Definition Sendable.h:16
Faults for a PowerDistribution device.
Definition PowerDistribution.h:182
uint32_t Channel4BreakerFault
Breaker fault on channel 4.
Definition PowerDistribution.h:192
uint32_t Channel18BreakerFault
Breaker fault on channel 19.
Definition PowerDistribution.h:220
uint32_t Channel2BreakerFault
Breaker fault on channel 2.
Definition PowerDistribution.h:188
uint32_t Brownout
The input voltage is below the minimum voltage.
Definition PowerDistribution.h:232
uint32_t CanWarning
A warning was raised by the device's CAN controller.
Definition PowerDistribution.h:234
uint32_t Channel13BreakerFault
Breaker fault on channel 14.
Definition PowerDistribution.h:210
uint32_t Channel19BreakerFault
Breaker fault on channel 20.
Definition PowerDistribution.h:222
uint32_t Channel9BreakerFault
Breaker fault on channel 9.
Definition PowerDistribution.h:202
uint32_t Channel17BreakerFault
Breaker fault on channel 18.
Definition PowerDistribution.h:218
uint32_t Channel0BreakerFault
Breaker fault on channel 0.
Definition PowerDistribution.h:184
uint32_t Channel21BreakerFault
Breaker fault on channel 22.
Definition PowerDistribution.h:226
uint32_t Channel7BreakerFault
Breaker fault on channel 7.
Definition PowerDistribution.h:198
uint32_t Channel23BreakerFault
Breaker fault on channel 24.
Definition PowerDistribution.h:230
uint32_t Channel20BreakerFault
Breaker fault on channel 21.
Definition PowerDistribution.h:224
uint32_t Channel12BreakerFault
Breaker fault on channel 13.
Definition PowerDistribution.h:208
uint32_t Channel6BreakerFault
Breaker fault on channel 6.
Definition PowerDistribution.h:196
uint32_t Channel10BreakerFault
Breaker fault on channel 10.
Definition PowerDistribution.h:204
uint32_t Channel1BreakerFault
Breaker fault on channel 1.
Definition PowerDistribution.h:186
uint32_t Channel8BreakerFault
Breaker fault on channel 8.
Definition PowerDistribution.h:200
uint32_t HardwareFault
The hardware on the device has malfunctioned.
Definition PowerDistribution.h:236
uint32_t Channel11BreakerFault
Breaker fault on channel 12.
Definition PowerDistribution.h:206
uint32_t Channel16BreakerFault
Breaker fault on channel 17.
Definition PowerDistribution.h:216
uint32_t Channel14BreakerFault
Breaker fault on channel 15.
Definition PowerDistribution.h:212
uint32_t Channel22BreakerFault
Breaker fault on channel 23.
Definition PowerDistribution.h:228
uint32_t Channel15BreakerFault
Breaker fault on channel 16.
Definition PowerDistribution.h:214
uint32_t Channel3BreakerFault
Breaker fault on channel 3.
Definition PowerDistribution.h:190
bool GetBreakerFault(int channel) const
Gets whether there is a breaker fault at a specified channel.
uint32_t Channel5BreakerFault
Breaker fault on channel 5.
Definition PowerDistribution.h:194
Sticky faults for a PowerDistribution device.
Definition PowerDistribution.h:261
uint32_t Brownout
The input voltage is below the minimum voltage.
Definition PowerDistribution.h:311
uint32_t Channel8BreakerFault
Breaker fault on channel 8.
Definition PowerDistribution.h:279
uint32_t Channel18BreakerFault
Breaker fault on channel 19.
Definition PowerDistribution.h:299
bool GetBreakerFault(int channel) const
Gets whether there is a sticky breaker fault at the specified channel.
uint32_t Channel23BreakerFault
Breaker fault on channel 24.
Definition PowerDistribution.h:309
uint32_t Channel20BreakerFault
Breaker fault on channel 21.
Definition PowerDistribution.h:303
uint32_t Channel1BreakerFault
Breaker fault on channel 1.
Definition PowerDistribution.h:265
uint32_t Channel4BreakerFault
Breaker fault on channel 4.
Definition PowerDistribution.h:271
uint32_t Channel12BreakerFault
Breaker fault on channel 13.
Definition PowerDistribution.h:287
uint32_t Channel22BreakerFault
Breaker fault on channel 23.
Definition PowerDistribution.h:307
uint32_t Channel10BreakerFault
Breaker fault on channel 10.
Definition PowerDistribution.h:283
uint32_t Channel7BreakerFault
Breaker fault on channel 7.
Definition PowerDistribution.h:277
uint32_t Channel19BreakerFault
Breaker fault on channel 20.
Definition PowerDistribution.h:301
uint32_t Channel17BreakerFault
Breaker fault on channel 18.
Definition PowerDistribution.h:297
uint32_t Channel6BreakerFault
Breaker fault on channel 6.
Definition PowerDistribution.h:275
uint32_t Channel14BreakerFault
Breaker fault on channel 15.
Definition PowerDistribution.h:291
uint32_t Channel0BreakerFault
Breaker fault on channel 0.
Definition PowerDistribution.h:263
uint32_t Channel11BreakerFault
Breaker fault on channel 12.
Definition PowerDistribution.h:285
uint32_t Channel15BreakerFault
Breaker fault on channel 16.
Definition PowerDistribution.h:293
uint32_t Channel2BreakerFault
Breaker fault on channel 2.
Definition PowerDistribution.h:267
uint32_t Channel16BreakerFault
Breaker fault on channel 17.
Definition PowerDistribution.h:295
uint32_t FirmwareFault
The firmware on the device has malfunctioned.
Definition PowerDistribution.h:319
uint32_t Channel13BreakerFault
Breaker fault on channel 14.
Definition PowerDistribution.h:289
uint32_t HasReset
The device has rebooted.
Definition PowerDistribution.h:321
uint32_t CanBusOff
The device's CAN controller experienced a "Bus Off" event.
Definition PowerDistribution.h:315
uint32_t Channel21BreakerFault
Breaker fault on channel 22.
Definition PowerDistribution.h:305
uint32_t Channel9BreakerFault
Breaker fault on channel 9.
Definition PowerDistribution.h:281
uint32_t CanWarning
A warning was raised by the device's CAN controller.
Definition PowerDistribution.h:313
uint32_t HardwareFault
The hardware on the device has malfunctioned.
Definition PowerDistribution.h:317
uint32_t Channel3BreakerFault
Breaker fault on channel 3.
Definition PowerDistribution.h:269
uint32_t Channel5BreakerFault
Breaker fault on channel 5.
Definition PowerDistribution.h:273
Version and device data received from a PowerDistribution device.
Definition PowerDistribution.h:161
uint32_t HardwareMajor
Hardware major version number.
Definition PowerDistribution.h:171
uint32_t FirmwareMajor
Firmware major version number.
Definition PowerDistribution.h:163
uint32_t HardwareMinor
Hardware minor version number.
Definition PowerDistribution.h:169
uint32_t FirmwareFix
Firmware fix version number.
Definition PowerDistribution.h:167
uint32_t FirmwareMinor
Firmware minor version number.
Definition PowerDistribution.h:165
uint32_t UniqueId
Unique ID.
Definition PowerDistribution.h:173