WPILibC++
unspecified
|
Solenoid class for running high voltage Digital Output (PCM). More...
#include <Solenoid.h>
Public Member Functions | |
Solenoid (int channel) | |
Constructor using the default PCM ID (0). More... | |
Solenoid (int moduleNumber, int channel) | |
Constructor. More... | |
virtual | ~Solenoid () |
Destructor. | |
virtual void | Set (bool on) |
Set the value of a solenoid. More... | |
virtual bool | Get () const |
Read the current value of the solenoid. More... | |
bool | IsBlackListed () const |
Check if 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 |
Solenoid class for running high voltage Digital Output (PCM).
The Solenoid class is typically used for pneumatics solenoids, but could be used for any device within the current spec of the PCM.
|
explicit |
Constructor using the default PCM ID (0).
channel | The channel on the PCM to control (0..7). |
Solenoid::Solenoid | ( | int | moduleNumber, |
int | channel | ||
) |
Constructor.
moduleNumber | The CAN ID of the PCM the solenoid is attached to |
channel | The 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 Solenoid::IsBlackListed | ( | ) | const |
Check if 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.
on | Turn the solenoid output off or on. |