WPILibC++ 2023.4.3-108-ge5452e3
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
 
struct  StickyFaults
 
struct  Version
 

Public Member Functions

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

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. More...
 
static int GetDefaultForType (PneumaticsModuleType moduleType)
 For internal use to get the default for a specific type. More...
 

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 masked solenoids can be reserved, and if not reserve them.

Parameters
maskThe bitmask of solenoids to reserve
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 of disabled solenoids

Implements frc::PneumaticsBase.

◆ GetSolenoids()

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

Gets a bitmask of solenoid values.

Returns
solenoid values

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 to set
valuessolenoid values

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 masked solenoids.

Parameters
maskThe bitmask of solenoids to unreserve

Implements frc::PneumaticsBase.

Friends And Related Function Documentation

◆ DataStore

friend class DataStore
friend

◆ PneumaticsBase

friend class PneumaticsBase
friend

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