WPILibC++
unspecified
|
DoubleSolenoid class for running 2 channels of high voltage Digital Output (PCM). More...
#include <DoubleSolenoid.h>
Public Types | |
enum | Value { kOff, kForward, kReverse } |
Public Member Functions | |
DoubleSolenoid (int forwardChannel, int reverseChannel) | |
Constructor. More... | |
DoubleSolenoid (int moduleNumber, int forwardChannel, int reverseChannel) | |
Constructor. More... | |
virtual | ~DoubleSolenoid () |
Destructor. | |
virtual void | Set (Value value) |
Set the value of a solenoid. More... | |
virtual Value | Get () const |
Read the current value of the solenoid. More... | |
bool | IsFwdSolenoidBlackListed () const |
Check if the forward solenoid is blacklisted. More... | |
bool | IsRevSolenoidBlackListed () const |
Check if the reverse solenoid is blacklisted. More... | |
void | UpdateTable () |
Update the table for this sendable object with the latest values. | |
void | StartLiveWindowMode () |
Start having this sendable object automatically respond to value changes reflect the value on the table. | |
void | StopLiveWindowMode () |
Stop having this sendable object automatically respond to value changes. | |
std::string | GetSmartDashboardType () const |
void | InitTable (std::shared_ptr< nt::NetworkTable > subTable) |
Initializes a table for this sendable object. More... | |
![]() | |
int | GetAll () const |
Read all 8 solenoids as a single byte. More... | |
int | GetPCMSolenoidBlackList () const |
Reads complete solenoid blacklist for all 8 solenoids as a single byte. More... | |
bool | GetPCMSolenoidVoltageStickyFault () const |
bool | GetPCMSolenoidVoltageFault () const |
void | ClearAllPCMStickyFaults () |
Clear ALL sticky faults inside PCM that Compressor is wired to. More... | |
![]() | |
SensorBase (const SensorBase &)=delete | |
SensorBase & | operator= (const SensorBase &)=delete |
![]() | |
ErrorBase (const ErrorBase &)=delete | |
ErrorBase & | operator= (const ErrorBase &)=delete |
virtual Error & | GetError () |
Retrieve the current error. More... | |
virtual const Error & | GetError () const |
virtual void | SetErrnoError (llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set error information associated with a C library call that set an error to the "errno" global variable. More... | |
virtual void | SetImaqError (int success, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated from the nivision Imaq API. More... | |
virtual void | SetError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetErrorRange (Error::Code code, int32_t minRange, int32_t maxRange, int32_t requestedValue, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetWPIError (llvm::StringRef errorMessage, Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | CloneError (const ErrorBase &rhs) const |
virtual void | ClearError () const |
Clear the current error information associated with this sensor. | |
virtual bool | StatusIsFatal () const |
Check if the current error code represents a fatal error. More... | |
Additional Inherited Members | |
![]() | |
static int | GetAll (int module) |
Read all 8 solenoids as a single byte. More... | |
static int | GetPCMSolenoidBlackList (int module) |
Reads complete solenoid blacklist for all 8 solenoids as a single byte. More... | |
static bool | GetPCMSolenoidVoltageStickyFault (int module) |
static bool | GetPCMSolenoidVoltageFault (int module) |
static void | ClearAllPCMStickyFaults (int module) |
Clear ALL sticky faults inside PCM that Compressor is wired to. More... | |
![]() | |
static int | GetDefaultSolenoidModule () |
static bool | CheckSolenoidModule (int moduleNumber) |
Check that the solenoid module number is valid. More... | |
static bool | CheckDigitalChannel (int channel) |
Check that the digital channel number is valid. More... | |
static bool | CheckRelayChannel (int channel) |
Check that the relay channel number is valid. More... | |
static bool | CheckPWMChannel (int channel) |
Check that the digital channel number is valid. More... | |
static bool | CheckAnalogInputChannel (int channel) |
Check that the analog input number is value. More... | |
static bool | CheckAnalogOutputChannel (int channel) |
Check that the analog output number is valid. More... | |
static bool | CheckSolenoidChannel (int channel) |
Verify that the solenoid channel number is within limits. More... | |
static bool | CheckPDPChannel (int channel) |
Verify that the power distribution channel number is within limits. More... | |
![]() | |
static void | SetGlobalError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) |
static void | SetGlobalWPIError (llvm::StringRef errorMessage, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) |
static Error & | GetGlobalError () |
Retrieve the current global error. | |
![]() | |
static const int | kDigitalChannels = HAL_GetNumDigitalChannels() |
static const int | kAnalogInputs = HAL_GetNumAnalogInputs() |
static const int | kAnalogOutputs |
static const int | kSolenoidChannels = HAL_GetNumSolenoidChannels() |
static const int | kSolenoidModules = HAL_GetNumPCMModules() |
static const int | kPwmChannels = HAL_GetNumPWMChannels() |
static const int | kRelayChannels = HAL_GetNumRelayHeaders() |
static const int | kPDPChannels = HAL_GetNumPDPChannels() |
![]() | |
SolenoidBase (int pcmID) | |
Constructor. More... | |
![]() | |
int | m_moduleNumber |
![]() | |
Error | m_error |
![]() | |
static const int | m_maxModules = 63 |
static const int | m_maxPorts = 8 |
![]() | |
static std::mutex | _globalErrorMutex |
static Error | _globalError |
DoubleSolenoid class for running 2 channels of high voltage Digital Output (PCM).
The DoubleSolenoid class is typically used for pneumatics solenoids that have two positions controlled by two separate channels.
|
explicit |
Constructor.
Uses the default PCM ID of 0.
forwardChannel | The forward channel number on the PCM (0..7). |
reverseChannel | The reverse channel number on the PCM (0..7). |
DoubleSolenoid::DoubleSolenoid | ( | int | moduleNumber, |
int | forwardChannel, | ||
int | reverseChannel | ||
) |
Constructor.
moduleNumber | The CAN ID of the PCM. |
forwardChannel | The forward channel on the PCM to control (0..7). |
reverseChannel | The reverse channel on the PCM to control (0..7). |
|
virtual |
Read the current value of the solenoid.
|
virtual |
Implements frc::Sendable.
|
virtual |
Initializes a table for this sendable object.
subtable | The table to put the values in. |
Implements frc::Sendable.
bool DoubleSolenoid::IsFwdSolenoidBlackListed | ( | ) | const |
Check if the forward solenoid is blacklisted.
If a solenoid is shorted, it is added to the blacklist and disabled until power cycle, or until faults are cleared.
bool DoubleSolenoid::IsRevSolenoidBlackListed | ( | ) | const |
Check if the reverse solenoid is blacklisted.
If a solenoid is shorted, it is added to the blacklist and disabled until power cycle, or until faults are cleared.
|
virtual |
Set the value of a solenoid.
value | The value to set (Off, Forward or Reverse) |