Faults GetFaults() const
Returns the power distribution faults.
void ClearStickyFaults()
Remove all of the fault flags on the PDP/PDH.
static constexpr int kDefaultModule
Default module number.
Definition PowerDistribution.hpp:24
~PowerDistribution() override=default
void ResetTotalEnergy()
Reset the total energy drawn from the PDP.
double GetTotalEnergy() const
Query the total energy drawn from the monitored PDP channels.
double GetTemperature() const
Query the temperature of the PDP.
double GetCurrent(int channel) const
Query the current of a single channel of the PDP/PDH.
double GetVoltage() const
Query the input voltage of the PDP/PDH.
ModuleType
Power distribution module type.
Definition PowerDistribution.hpp:29
@ kCTRE
CTRE (Cross The Road Electronics) CTRE Power Distribution Panel (PDP).
Definition PowerDistribution.hpp:31
@ kRev
REV Power Distribution Hub (PDH).
Definition PowerDistribution.hpp:33
bool GetSwitchableChannel() const
Gets whether the PDH switchable channel is turned on or off.
int GetNumChannels() const
Gets the number of channels for this power distribution object.
PowerDistribution & operator=(PowerDistribution &&)=default
double GetTotalCurrent() const
Query the total current of all monitored PDP/PDH channels.
ModuleType GetType() const
Gets module type.
int GetModule() const
Gets module number (CAN ID).
PowerDistribution(int busId, int module, ModuleType moduleType)
Constructs a PowerDistribution object.
PowerDistribution(int busId)
Constructs a PowerDistribution object.
StickyFaults GetStickyFaults() const
Returns the power distribution sticky faults.
void InitSendable(wpi::util::SendableBuilder &builder) override
Initializes this Sendable object.
std::vector< double > GetAllCurrents() const
Query all currents of the PDP.
double GetTotalPower() const
Query the total power drawn from all monitored PDP channels.
PowerDistribution(PowerDistribution &&)=default
Version GetVersion() const
void SetSwitchableChannel(bool enabled)
Sets the PDH switchable channel on or off.
A move-only C++ wrapper around a HAL handle.
Definition Types.hpp:16
Helper class for building Sendable dashboard representations.
Definition SendableBuilder.hpp:21
A helper class for use with objects that add themselves to SendableRegistry.
Definition SendableHelper.hpp:21
Interface for Sendable objects.
Definition Sendable.hpp:16
Definition CvSource.hpp:15
Faults for a PowerDistribution device.
Definition PowerDistribution.hpp:185
uint32_t Channel19BreakerFault
Breaker fault on channel 20.
Definition PowerDistribution.hpp:225
uint32_t Channel13BreakerFault
Breaker fault on channel 14.
Definition PowerDistribution.hpp:213
uint32_t HardwareFault
The hardware on the device has malfunctioned.
Definition PowerDistribution.hpp:239
uint32_t Channel20BreakerFault
Breaker fault on channel 21.
Definition PowerDistribution.hpp:227
uint32_t Channel18BreakerFault
Breaker fault on channel 19.
Definition PowerDistribution.hpp:223
uint32_t Channel9BreakerFault
Breaker fault on channel 9.
Definition PowerDistribution.hpp:205
uint32_t Channel12BreakerFault
Breaker fault on channel 13.
Definition PowerDistribution.hpp:211
uint32_t Channel2BreakerFault
Breaker fault on channel 2.
Definition PowerDistribution.hpp:191
uint32_t Channel4BreakerFault
Breaker fault on channel 4.
Definition PowerDistribution.hpp:195
uint32_t Channel11BreakerFault
Breaker fault on channel 12.
Definition PowerDistribution.hpp:209
uint32_t Channel14BreakerFault
Breaker fault on channel 15.
Definition PowerDistribution.hpp:215
uint32_t Channel23BreakerFault
Breaker fault on channel 24.
Definition PowerDistribution.hpp:233
uint32_t Brownout
The input voltage is below the minimum voltage.
Definition PowerDistribution.hpp:235
uint32_t Channel10BreakerFault
Breaker fault on channel 10.
Definition PowerDistribution.hpp:207
uint32_t Channel17BreakerFault
Breaker fault on channel 18.
Definition PowerDistribution.hpp:221
uint32_t Channel0BreakerFault
Breaker fault on channel 0.
Definition PowerDistribution.hpp:187
uint32_t Channel15BreakerFault
Breaker fault on channel 16.
Definition PowerDistribution.hpp:217
bool GetBreakerFault(int channel) const
Gets whether there is a breaker fault at a specified channel.
uint32_t Channel21BreakerFault
Breaker fault on channel 22.
Definition PowerDistribution.hpp:229
uint32_t Channel16BreakerFault
Breaker fault on channel 17.
Definition PowerDistribution.hpp:219
uint32_t CanWarning
A warning was raised by the device's CAN controller.
Definition PowerDistribution.hpp:237
uint32_t Channel8BreakerFault
Breaker fault on channel 8.
Definition PowerDistribution.hpp:203
uint32_t Channel7BreakerFault
Breaker fault on channel 7.
Definition PowerDistribution.hpp:201
uint32_t Channel3BreakerFault
Breaker fault on channel 3.
Definition PowerDistribution.hpp:193
uint32_t Channel1BreakerFault
Breaker fault on channel 1.
Definition PowerDistribution.hpp:189
uint32_t Channel6BreakerFault
Breaker fault on channel 6.
Definition PowerDistribution.hpp:199
uint32_t Channel22BreakerFault
Breaker fault on channel 23.
Definition PowerDistribution.hpp:231
uint32_t Channel5BreakerFault
Breaker fault on channel 5.
Definition PowerDistribution.hpp:197
Sticky faults for a PowerDistribution device.
Definition PowerDistribution.hpp:264
uint32_t Channel15BreakerFault
Breaker fault on channel 16.
Definition PowerDistribution.hpp:296
uint32_t Channel1BreakerFault
Breaker fault on channel 1.
Definition PowerDistribution.hpp:268
uint32_t Channel3BreakerFault
Breaker fault on channel 3.
Definition PowerDistribution.hpp:272
uint32_t Channel4BreakerFault
Breaker fault on channel 4.
Definition PowerDistribution.hpp:274
uint32_t Channel5BreakerFault
Breaker fault on channel 5.
Definition PowerDistribution.hpp:276
uint32_t Channel14BreakerFault
Breaker fault on channel 15.
Definition PowerDistribution.hpp:294
uint32_t Channel2BreakerFault
Breaker fault on channel 2.
Definition PowerDistribution.hpp:270
uint32_t Channel8BreakerFault
Breaker fault on channel 8.
Definition PowerDistribution.hpp:282
uint32_t HasReset
The device has rebooted.
Definition PowerDistribution.hpp:324
uint32_t Channel0BreakerFault
Breaker fault on channel 0.
Definition PowerDistribution.hpp:266
uint32_t Channel23BreakerFault
Breaker fault on channel 24.
Definition PowerDistribution.hpp:312
uint32_t Channel10BreakerFault
Breaker fault on channel 10.
Definition PowerDistribution.hpp:286
uint32_t Channel16BreakerFault
Breaker fault on channel 17.
Definition PowerDistribution.hpp:298
uint32_t Channel22BreakerFault
Breaker fault on channel 23.
Definition PowerDistribution.hpp:310
uint32_t CanWarning
A warning was raised by the device's CAN controller.
Definition PowerDistribution.hpp:316
uint32_t Channel6BreakerFault
Breaker fault on channel 6.
Definition PowerDistribution.hpp:278
uint32_t Channel13BreakerFault
Breaker fault on channel 14.
Definition PowerDistribution.hpp:292
uint32_t FirmwareFault
The firmware on the device has malfunctioned.
Definition PowerDistribution.hpp:322
uint32_t Channel19BreakerFault
Breaker fault on channel 20.
Definition PowerDistribution.hpp:304
uint32_t Channel17BreakerFault
Breaker fault on channel 18.
Definition PowerDistribution.hpp:300
uint32_t CanBusOff
The device's CAN controller experienced a "Bus Off" event.
Definition PowerDistribution.hpp:318
uint32_t Brownout
The input voltage is below the minimum voltage.
Definition PowerDistribution.hpp:314
uint32_t Channel7BreakerFault
Breaker fault on channel 7.
Definition PowerDistribution.hpp:280
uint32_t Channel12BreakerFault
Breaker fault on channel 13.
Definition PowerDistribution.hpp:290
uint32_t Channel21BreakerFault
Breaker fault on channel 22.
Definition PowerDistribution.hpp:308
uint32_t Channel11BreakerFault
Breaker fault on channel 12.
Definition PowerDistribution.hpp:288
uint32_t Channel20BreakerFault
Breaker fault on channel 21.
Definition PowerDistribution.hpp:306
uint32_t Channel9BreakerFault
Breaker fault on channel 9.
Definition PowerDistribution.hpp:284
bool GetBreakerFault(int channel) const
Gets whether there is a sticky breaker fault at the specified channel.
uint32_t Channel18BreakerFault
Breaker fault on channel 19.
Definition PowerDistribution.hpp:302
uint32_t HardwareFault
The hardware on the device has malfunctioned.
Definition PowerDistribution.hpp:320
Version and device data received from a PowerDistribution device.
Definition PowerDistribution.hpp:164
uint32_t UniqueId
Unique ID.
Definition PowerDistribution.hpp:176
uint32_t FirmwareFix
Firmware fix version number.
Definition PowerDistribution.hpp:170
uint32_t FirmwareMajor
Firmware major version number.
Definition PowerDistribution.hpp:166
uint32_t FirmwareMinor
Firmware minor version number.
Definition PowerDistribution.hpp:168
uint32_t HardwareMajor
Hardware major version number.
Definition PowerDistribution.hpp:174
uint32_t HardwareMinor
Hardware minor version number.
Definition PowerDistribution.hpp:172