56      units::pounds_per_square_inch_t minPressure,
 
   57      units::pounds_per_square_inch_t maxPressure) 
override;
 
   86      units::pounds_per_square_inch_t minPressure,
 
   87      units::pounds_per_square_inch_t maxPressure) 
override;
 
  119                                    int reverseChannel) 
override;
 
  291  units::pounds_per_square_inch_t 
GetPressure(
int channel) 
const override;
 
  299  static std::shared_ptr<PneumaticsBase> GetForModule(
int module);
 
  301  std::shared_ptr<DataStore> m_dataStore;
 
  306  static std::unique_ptr<wpi::DenseMap<int, std::weak_ptr<DataStore>>>
 
  308  static std::weak_ptr<DataStore>& GetDataStore(
int module);
 
 
This file defines the DenseMap class.
 
Class for operating a compressor connected to a pneumatics module.
Definition Compressor.h:35
 
DoubleSolenoid class for running 2 channels of high voltage Digital Output on a pneumatics module.
Definition DoubleSolenoid.h:26
 
Module class for controlling a REV Robotics Pneumatic Hub.
Definition PneumaticHub.h:18
 
friend class DataStore
Definition PneumaticHub.h:295
 
units::pounds_per_square_inch_t GetPressure(int channel) const override
Returns the pressure read by an analog pressure sensor on the specified analog input channel.
 
void DisableCompressor() override
Disables the compressor.
 
void UnreserveCompressor() override
Unreserve the compressor.
 
int GetSolenoidDisabledList() const override
Get a bitmask of disabled solenoids.
 
units::volt_t GetAnalogVoltage(int channel) const override
Returns the raw voltage of the specified analog input channel.
 
void EnableCompressorHybrid(units::pounds_per_square_inch_t minPressure, units::pounds_per_square_inch_t maxPressure) override
Enables the compressor in hybrid mode.
 
units::ampere_t GetSolenoidsTotalCurrent() const
Returns the total current drawn by all solenoids.
 
units::volt_t Get5VRegulatedVoltage() const
Returns the current voltage of the regulated 5v supply.
 
void SetOneShotDuration(int index, units::second_t duration) override
Set the duration for a single solenoid shot.
 
bool ReserveCompressor() override
Reserve the compressor.
 
bool GetPressureSwitch() const override
Returns the state of the pressure switch.
 
int GetModuleNumber() const override
Get module number for this module.
 
units::volt_t GetSolenoidsVoltage() const
Returns the current voltage of the solenoid power supply.
 
void EnableCompressorAnalog(units::pounds_per_square_inch_t minPressure, units::pounds_per_square_inch_t maxPressure) override
Enables the compressor in analog mode.
 
bool CheckSolenoidChannel(int channel) const override
Check if a solenoid channel is valid.
 
Solenoid MakeSolenoid(int channel) override
Create a solenoid object for the specified channel.
 
bool GetCompressor() const override
Returns whether the compressor is active or not.
 
void ClearStickyFaults()
Clears the sticky faults.
 
CompressorConfigType GetCompressorConfigType() const override
Returns the active compressor configuration.
 
~PneumaticHub() override=default
 
Version GetVersion() const
Returns the hardware and firmware versions of this device.
 
units::ampere_t GetCompressorCurrent() const override
Returns the current drawn by the compressor.
 
Compressor MakeCompressor() override
Create a compressor object.
 
Faults GetFaults() const
Returns the faults currently active on this device.
 
void SetSolenoids(int mask, int values) override
Sets solenoids on a pneumatics module.
 
DoubleSolenoid MakeDoubleSolenoid(int forwardChannel, int reverseChannel) override
Create a double solenoid object for the specified channels.
 
StickyFaults GetStickyFaults() const
Returns the sticky faults currently active on this device.
 
PneumaticHub(int module)
Constructs a PneumaticHub.
 
void FireOneShot(int index) override
Fire a single solenoid shot.
 
void UnreserveSolenoids(int mask) override
Unreserve the solenoids marked in the bitmask.
 
void EnableCompressorDigital() override
Enables the compressor in digital mode using the digital pressure switch.
 
PneumaticHub()
Constructs a PneumaticHub with the default ID (1).
 
units::volt_t GetInputVoltage() const
Returns the current input voltage for this device.
 
int CheckAndReserveSolenoids(int mask) override
Check to see if the solenoids marked in the bitmask can be reserved, and if so, reserve them.
 
int GetSolenoids() const override
Gets a bitmask of solenoid values.
 
Base class for pneumatics devices.
Definition PneumaticsBase.h:25
 
Solenoid class for running high voltage Digital Output on a pneumatics module.
Definition Solenoid.h:26
 
HAL_Handle HAL_REVPHHandle
Definition Types.h:71
 
CompressorConfigType
Compressor config type.
Definition CompressorConfigType.h:11
 
::std::mutex mutex
Definition mutex.h:17
 
Faults for a REV PH.
Definition PneumaticHub.h:149
 
uint32_t CanWarning
A warning was raised by the device's CAN controller.
Definition PneumaticHub.h:191
 
uint32_t Channel1Fault
Fault on channel 1.
Definition PneumaticHub.h:153
 
uint32_t HardwareFault
The hardware on the device has malfunctioned.
Definition PneumaticHub.h:193
 
uint32_t Channel9Fault
Fault on channel 9.
Definition PneumaticHub.h:169
 
uint32_t Channel2Fault
Fault on channel 2.
Definition PneumaticHub.h:155
 
uint32_t Channel13Fault
Fault on channel 13.
Definition PneumaticHub.h:177
 
uint32_t CompressorOpen
The compressor output has an open circuit.
Definition PneumaticHub.h:185
 
uint32_t Channel10Fault
Fault on channel 10.
Definition PneumaticHub.h:171
 
uint32_t Channel0Fault
Fault on channel 0.
Definition PneumaticHub.h:151
 
uint32_t Brownout
The input voltage is below the minimum voltage.
Definition PneumaticHub.h:189
 
uint32_t CompressorOverCurrent
An overcurrent event occurred on the compressor output.
Definition PneumaticHub.h:183
 
uint32_t Channel14Fault
Fault on channel 14.
Definition PneumaticHub.h:179
 
uint32_t Channel8Fault
Fault on channel 8.
Definition PneumaticHub.h:167
 
uint32_t Channel12Fault
Fault on channel 12.
Definition PneumaticHub.h:175
 
uint32_t SolenoidOverCurrent
An overcurrent event occurred on a solenoid output.
Definition PneumaticHub.h:187
 
uint32_t Channel3Fault
Fault on channel 3.
Definition PneumaticHub.h:157
 
bool GetChannelFault(int channel) const
Gets whether there is a fault at the specified channel.
 
uint32_t Channel7Fault
Fault on channel 7.
Definition PneumaticHub.h:165
 
uint32_t Channel15Fault
Fault on channel 15.
Definition PneumaticHub.h:181
 
uint32_t Channel6Fault
Fault on channel 6.
Definition PneumaticHub.h:163
 
uint32_t Channel11Fault
Fault on channel 11.
Definition PneumaticHub.h:173
 
uint32_t Channel4Fault
Fault on channel 4.
Definition PneumaticHub.h:159
 
uint32_t Channel5Fault
Fault on channel 5.
Definition PneumaticHub.h:161
 
Sticky faults for a REV PH.
Definition PneumaticHub.h:216
 
uint32_t CanBusOff
The device's CAN controller experienced a "Bus Off" event.
Definition PneumaticHub.h:228
 
uint32_t CompressorOpen
The compressor output has an open circuit.
Definition PneumaticHub.h:220
 
uint32_t SolenoidOverCurrent
An overcurrent event occurred on a solenoid output.
Definition PneumaticHub.h:222
 
uint32_t Brownout
The input voltage is below the minimum voltage.
Definition PneumaticHub.h:224
 
uint32_t CanWarning
A warning was raised by the device's CAN controller.
Definition PneumaticHub.h:226
 
uint32_t HasReset
The device has rebooted.
Definition PneumaticHub.h:234
 
uint32_t FirmwareFault
The firmware on the device has malfunctioned.
Definition PneumaticHub.h:232
 
uint32_t HardwareFault
The hardware on the device has malfunctioned.
Definition PneumaticHub.h:230
 
uint32_t CompressorOverCurrent
An overcurrent event occurred on the compressor output.
Definition PneumaticHub.h:218
 
Version and device data received from a REV PH.
Definition PneumaticHub.h:123
 
uint32_t HardwareMinor
The hardware minor version.
Definition PneumaticHub.h:131
 
uint32_t FirmwareFix
The firmware fix version.
Definition PneumaticHub.h:129
 
uint32_t FirmwareMinor
The firmware minor version.
Definition PneumaticHub.h:127
 
uint32_t HardwareMajor
The hardware major version.
Definition PneumaticHub.h:133
 
uint32_t UniqueId
The device's unique ID.
Definition PneumaticHub.h:135
 
uint32_t FirmwareMajor
The firmware major version.
Definition PneumaticHub.h:125