WPILibC++ 2025.2.1
Loading...
Searching...
No Matches
frc::PneumaticHub Class Reference

Module class for controlling a REV Robotics Pneumatic Hub. More...

#include <frc/PneumaticHub.h>

Inheritance diagram for frc::PneumaticHub:
frc::PneumaticsBase

Classes

struct  Faults
 Faults for a REV PH. More...
 
struct  StickyFaults
 Sticky faults for a REV PH. More...
 
struct  Version
 Version and device data received from a REV PH. More...
 

Public Member Functions

 PneumaticHub ()
 Constructs a PneumaticHub with the default ID (1).
 
 PneumaticHub (int module)
 Constructs a PneumaticHub.
 
 ~PneumaticHub () override=default
 
bool GetCompressor () const override
 Returns whether the compressor is active or not.
 
void DisableCompressor () override
 Disables the compressor.
 
void EnableCompressorDigital () override
 Enables the compressor in digital mode using the digital pressure switch.
 
void EnableCompressorAnalog (units::pounds_per_square_inch_t minPressure, units::pounds_per_square_inch_t maxPressure) override
 Enables the compressor in analog mode.
 
void EnableCompressorHybrid (units::pounds_per_square_inch_t minPressure, units::pounds_per_square_inch_t maxPressure) override
 Enables the compressor in hybrid mode.
 
CompressorConfigType GetCompressorConfigType () const override
 Returns the active compressor configuration.
 
bool GetPressureSwitch () const override
 Returns the state of the pressure switch.
 
units::ampere_t GetCompressorCurrent () const override
 Returns the current drawn by the compressor.
 
void SetSolenoids (int mask, int values) override
 Sets solenoids on a pneumatics module.
 
int GetSolenoids () const override
 Gets a bitmask of solenoid values.
 
int GetModuleNumber () const override
 Get module number for this module.
 
int GetSolenoidDisabledList () const override
 Get a bitmask of disabled solenoids.
 
void FireOneShot (int index) override
 Fire a single solenoid shot.
 
void SetOneShotDuration (int index, units::second_t duration) override
 Set the duration for a single solenoid shot.
 
bool CheckSolenoidChannel (int channel) const override
 Check if a solenoid channel is valid.
 
int CheckAndReserveSolenoids (int mask) override
 Check to see if the solenoids marked in the bitmask can be reserved, and if so, reserve them.
 
void UnreserveSolenoids (int mask) override
 Unreserve the solenoids marked in the bitmask.
 
bool ReserveCompressor () override
 Reserve the compressor.
 
void UnreserveCompressor () override
 Unreserve the compressor.
 
Solenoid MakeSolenoid (int channel) override
 Create a solenoid object for the specified channel.
 
DoubleSolenoid MakeDoubleSolenoid (int forwardChannel, int reverseChannel) override
 Create a double solenoid object for the specified channels.
 
Compressor MakeCompressor () override
 Create a compressor object.
 
Version GetVersion () const
 Returns the hardware and firmware versions of this device.
 
Faults GetFaults () const
 Returns the faults currently active on this device.
 
StickyFaults GetStickyFaults () const
 Returns the sticky faults currently active on this device.
 
void ClearStickyFaults ()
 Clears the sticky faults.
 
units::volt_t GetInputVoltage () const
 Returns the current input voltage for this device.
 
units::volt_t Get5VRegulatedVoltage () const
 Returns the current voltage of the regulated 5v supply.
 
units::ampere_t GetSolenoidsTotalCurrent () const
 Returns the total current drawn by all solenoids.
 
units::volt_t GetSolenoidsVoltage () const
 Returns the current voltage of the solenoid power supply.
 
units::volt_t GetAnalogVoltage (int channel) const override
 Returns the raw voltage of the specified analog input channel.
 
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.
 
- Public Member Functions inherited from frc::PneumaticsBase
virtual ~PneumaticsBase ()=default
 

Friends

class DataStore
 
class PneumaticsBase
 

Additional Inherited Members

- Static Public Member Functions inherited from frc::PneumaticsBase
static std::shared_ptr< PneumaticsBaseGetForType (int module, PneumaticsModuleType moduleType)
 For internal use to get a module for a specific type.
 
static int GetDefaultForType (PneumaticsModuleType moduleType)
 For internal use to get the default for a specific type.
 

Detailed Description

Module class for controlling a REV Robotics Pneumatic Hub.

Constructor & Destructor Documentation

◆ PneumaticHub() [1/2]

frc::PneumaticHub::PneumaticHub ( )

Constructs a PneumaticHub with the default ID (1).

◆ PneumaticHub() [2/2]

frc::PneumaticHub::PneumaticHub ( int module)
explicit

Constructs a PneumaticHub.

Parameters
modulemodule number to construct

◆ ~PneumaticHub()

frc::PneumaticHub::~PneumaticHub ( )
overridedefault

Member Function Documentation

◆ CheckAndReserveSolenoids()

int frc::PneumaticHub::CheckAndReserveSolenoids ( int mask)
overridevirtual

Check to see if the solenoids marked in the bitmask can be reserved, and if so, reserve them.

Parameters
maskThe bitmask of solenoids to reserve. The LSB represents solenoid 0.
Returns
0 if successful; mask of solenoids that couldn't be allocated otherwise

Implements frc::PneumaticsBase.

◆ CheckSolenoidChannel()

bool frc::PneumaticHub::CheckSolenoidChannel ( int channel) const
overridevirtual

Check if a solenoid channel is valid.

Parameters
channelChannel to check
Returns
True if channel exists

Implements frc::PneumaticsBase.

◆ ClearStickyFaults()

void frc::PneumaticHub::ClearStickyFaults ( )

Clears the sticky faults.

◆ DisableCompressor()

void frc::PneumaticHub::DisableCompressor ( )
overridevirtual

Disables the compressor.

The compressor will not turn on until EnableCompressorDigital(), EnableCompressorAnalog(), or EnableCompressorHybrid() are called.

Implements frc::PneumaticsBase.

◆ EnableCompressorAnalog()

void frc::PneumaticHub::EnableCompressorAnalog ( units::pounds_per_square_inch_t minPressure,
units::pounds_per_square_inch_t maxPressure )
overridevirtual

Enables the compressor in analog mode.

This mode uses an analog pressure sensor connected to analog channel 0 to cycle the compressor. The compressor will turn on when the pressure drops below minPressure and will turn off when the pressure reaches maxPressure.

Parameters
minPressureThe minimum pressure. The compressor will turn on when the pressure drops below this value. Range 0 - 120 PSI.
maxPressureThe maximum pressure. The compressor will turn off when the pressure reaches this value. Range 0 - 120 PSI. Must be larger then minPressure.

Implements frc::PneumaticsBase.

◆ EnableCompressorDigital()

void frc::PneumaticHub::EnableCompressorDigital ( )
overridevirtual

Enables the compressor in digital mode using the digital pressure switch.

The compressor will turn on when the pressure switch indicates that the system is not full, and will turn off when the pressure switch indicates that the system is full.

Implements frc::PneumaticsBase.

◆ EnableCompressorHybrid()

void frc::PneumaticHub::EnableCompressorHybrid ( units::pounds_per_square_inch_t minPressure,
units::pounds_per_square_inch_t maxPressure )
overridevirtual

Enables the compressor in hybrid mode.

This mode uses both a digital pressure switch and an analog pressure sensor connected to analog channel 0 to cycle the compressor.

The compressor will turn on when both:

  • The digital pressure switch indicates the system is not full AND
  • The analog pressure sensor indicates that the pressure in the system is below the specified minimum pressure.

The compressor will turn off when either:

  • The digital pressure switch is disconnected or indicates that the system is full OR
  • The pressure detected by the analog sensor is greater than the specified maximum pressure.
Parameters
minPressureThe minimum pressure. The compressor will turn on when the pressure drops below this value and the pressure switch indicates that the system is not full. Range 0 - 120 PSI.
maxPressureThe maximum pressure. The compressor will turn off when the pressure reaches this value or the pressure switch is disconnected or indicates that the system is full. Range 0 - 120 PSI. Must be larger then minPressure.

Implements frc::PneumaticsBase.

◆ FireOneShot()

void frc::PneumaticHub::FireOneShot ( int index)
overridevirtual

Fire a single solenoid shot.

Parameters
indexsolenoid index

Implements frc::PneumaticsBase.

◆ Get5VRegulatedVoltage()

units::volt_t frc::PneumaticHub::Get5VRegulatedVoltage ( ) const

Returns the current voltage of the regulated 5v supply.

Returns
The current voltage of the 5v supply.

◆ GetAnalogVoltage()

units::volt_t frc::PneumaticHub::GetAnalogVoltage ( int channel) const
overridevirtual

Returns the raw voltage of the specified analog input channel.

Parameters
channelThe analog input channel to read voltage from.
Returns
The voltage of the specified analog input channel.

Implements frc::PneumaticsBase.

◆ GetCompressor()

bool frc::PneumaticHub::GetCompressor ( ) const
overridevirtual

Returns whether the compressor is active or not.

Returns
True if the compressor is on - otherwise false.

Implements frc::PneumaticsBase.

◆ GetCompressorConfigType()

CompressorConfigType frc::PneumaticHub::GetCompressorConfigType ( ) const
overridevirtual

Returns the active compressor configuration.

Returns
The active compressor configuration.

Implements frc::PneumaticsBase.

◆ GetCompressorCurrent()

units::ampere_t frc::PneumaticHub::GetCompressorCurrent ( ) const
overridevirtual

Returns the current drawn by the compressor.

Returns
The current drawn by the compressor.

Implements frc::PneumaticsBase.

◆ GetFaults()

Faults frc::PneumaticHub::GetFaults ( ) const

Returns the faults currently active on this device.

Returns
The faults.

◆ GetInputVoltage()

units::volt_t frc::PneumaticHub::GetInputVoltage ( ) const

Returns the current input voltage for this device.

Returns
The input voltage.

◆ GetModuleNumber()

int frc::PneumaticHub::GetModuleNumber ( ) const
overridevirtual

Get module number for this module.

Returns
module number

Implements frc::PneumaticsBase.

◆ GetPressure()

units::pounds_per_square_inch_t frc::PneumaticHub::GetPressure ( int channel) const
overridevirtual

Returns the pressure read by an analog pressure sensor on the specified analog input channel.

Parameters
channelThe analog input channel to read pressure from.
Returns
The pressure read by an analog pressure sensor on the specified analog input channel.

Implements frc::PneumaticsBase.

◆ GetPressureSwitch()

bool frc::PneumaticHub::GetPressureSwitch ( ) const
overridevirtual

Returns the state of the pressure switch.

Returns
True if pressure switch indicates that the system is full, otherwise false.

Implements frc::PneumaticsBase.

◆ GetSolenoidDisabledList()

int frc::PneumaticHub::GetSolenoidDisabledList ( ) const
overridevirtual

Get a bitmask of disabled solenoids.

Returns
Bitmask indicating disabled solenoids. The LSB represents solenoid 0.

Implements frc::PneumaticsBase.

◆ GetSolenoids()

int frc::PneumaticHub::GetSolenoids ( ) const
overridevirtual

Gets a bitmask of solenoid values.

Returns
Bitmask containing the state of the solenoids. The LSB represents solenoid 0.

Implements frc::PneumaticsBase.

◆ GetSolenoidsTotalCurrent()

units::ampere_t frc::PneumaticHub::GetSolenoidsTotalCurrent ( ) const

Returns the total current drawn by all solenoids.

Returns
Total current drawn by all solenoids.

◆ GetSolenoidsVoltage()

units::volt_t frc::PneumaticHub::GetSolenoidsVoltage ( ) const

Returns the current voltage of the solenoid power supply.

Returns
The current voltage of the solenoid power supply.

◆ GetStickyFaults()

StickyFaults frc::PneumaticHub::GetStickyFaults ( ) const

Returns the sticky faults currently active on this device.

Returns
The sticky faults.

◆ GetVersion()

Version frc::PneumaticHub::GetVersion ( ) const

Returns the hardware and firmware versions of this device.

Returns
The hardware and firmware versions.

◆ MakeCompressor()

Compressor frc::PneumaticHub::MakeCompressor ( )
overridevirtual

Create a compressor object.

Returns
Compressor object

Implements frc::PneumaticsBase.

◆ MakeDoubleSolenoid()

DoubleSolenoid frc::PneumaticHub::MakeDoubleSolenoid ( int forwardChannel,
int reverseChannel )
overridevirtual

Create a double solenoid object for the specified channels.

Parameters
forwardChannelsolenoid channel for forward
reverseChannelsolenoid channel for reverse
Returns
DoubleSolenoid object

Implements frc::PneumaticsBase.

◆ MakeSolenoid()

Solenoid frc::PneumaticHub::MakeSolenoid ( int channel)
overridevirtual

Create a solenoid object for the specified channel.

Parameters
channelsolenoid channel
Returns
Solenoid object

Implements frc::PneumaticsBase.

◆ ReserveCompressor()

bool frc::PneumaticHub::ReserveCompressor ( )
overridevirtual

Reserve the compressor.

Returns
true if successful; false if compressor already reserved

Implements frc::PneumaticsBase.

◆ SetOneShotDuration()

void frc::PneumaticHub::SetOneShotDuration ( int index,
units::second_t duration )
overridevirtual

Set the duration for a single solenoid shot.

Parameters
indexsolenoid index
durationshot duration

Implements frc::PneumaticsBase.

◆ SetSolenoids()

void frc::PneumaticHub::SetSolenoids ( int mask,
int values )
overridevirtual

Sets solenoids on a pneumatics module.

Parameters
maskBitmask indicating which solenoids to set. The LSB represents solenoid 0.
valuesBitmask indicating the desired states of the solenoids. The LSB represents solenoid 0.

Implements frc::PneumaticsBase.

◆ UnreserveCompressor()

void frc::PneumaticHub::UnreserveCompressor ( )
overridevirtual

Unreserve the compressor.

Implements frc::PneumaticsBase.

◆ UnreserveSolenoids()

void frc::PneumaticHub::UnreserveSolenoids ( int mask)
overridevirtual

Unreserve the solenoids marked in the bitmask.

Parameters
maskThe bitmask of solenoids to unreserve. The LSB represents solenoid 0.

Implements frc::PneumaticsBase.

Friends And Related Symbol Documentation

◆ DataStore

friend class DataStore
friend

◆ PneumaticsBase

friend class PneumaticsBase
friend

The documentation for this class was generated from the following file: