SolenoidBase class is the common base class for the Solenoid and DoubleSolenoid classes.
More...
#include <SolenoidBase.h>
|
uint8_t | GetAll (int module=0) const |
| Read all 8 solenoids as a single byte. More...
|
|
uint8_t | GetPCMSolenoidBlackList (int module) const |
| Reads complete solenoid blacklist for all 8 solenoids as a single byte. More...
|
|
bool | GetPCMSolenoidVoltageStickyFault (int module) const |
|
bool | GetPCMSolenoidVoltageFault (int module) const |
|
void | ClearAllPCMStickyFaults (int module) |
| Clear ALL sticky faults inside PCM that Compressor is wired to. More...
|
|
| SensorBase () |
| Creates an instance of the sensor base and gets an FPGA handle.
|
|
| 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, uint32_t 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, uint32_t 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, uint32_t 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, uint32_t 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...
|
|
|
static const int | m_maxModules = 63 |
|
static const int | m_maxPorts = 8 |
|
static void * | m_ports [m_maxModules][m_maxPorts] |
|
static std::unique_ptr< Resource > | m_allocated |
|
static void * | m_digital_ports [kDigitalChannels] |
|
static void * | m_relay_ports [kRelayChannels] |
|
static void * | m_pwm_ports [kPwmChannels] |
|
static priority_mutex | _globalErrorMutex |
|
static Error | _globalError |
|
|
static void | DeleteSingletons () |
| Delete all the singleton classes on the list. More...
|
|
static uint32_t | GetDefaultSolenoidModule () |
|
static bool | CheckSolenoidModule (uint8_t moduleNumber) |
| Check that the solenoid module number is valid. More...
|
|
static bool | CheckDigitalChannel (uint32_t channel) |
| Check that the digital channel number is valid. More...
|
|
static bool | CheckRelayChannel (uint32_t channel) |
| Check that the digital channel number is valid. More...
|
|
static bool | CheckPWMChannel (uint32_t channel) |
| Check that the digital channel number is valid. More...
|
|
static bool | CheckAnalogInput (uint32_t channel) |
| Check that the analog input number is value. More...
|
|
static bool | CheckAnalogOutput (uint32_t channel) |
| Check that the analog output number is valid. More...
|
|
static bool | CheckSolenoidChannel (uint32_t channel) |
| Verify that the solenoid channel number is within limits. More...
|
|
static bool | CheckPDPChannel (uint32_t 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, uint32_t lineNumber) |
|
static void | SetGlobalWPIError (llvm::StringRef errorMessage, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, uint32_t lineNumber) |
|
static Error & | GetGlobalError () |
| Retrieve the current global error.
|
|
static const uint32_t | kDigitalChannels = 26 |
|
static const uint32_t | kAnalogInputs = 8 |
|
static const uint32_t | kAnalogOutputs = 2 |
|
static const uint32_t | kSolenoidChannels = 8 |
|
static const uint32_t | kSolenoidModules = 2 |
|
static const uint32_t | kPwmChannels = 20 |
|
static const uint32_t | kRelayChannels = 8 |
|
static const uint32_t | kPDPChannels = 16 |
|
static const uint32_t | kChassisSlots = 8 |
|
SolenoidBase class is the common base class for the Solenoid and DoubleSolenoid classes.
SolenoidBase::SolenoidBase |
( |
uint8_t |
moduleNumber | ) |
|
|
explicitprotected |
Constructor.
- Parameters
-
moduleNumber | The CAN PCM ID. |
void SolenoidBase::ClearAllPCMStickyFaults |
( |
int |
module | ) |
|
Clear ALL sticky faults inside PCM that Compressor is wired to.
If a sticky fault is set, then it will be persistently cleared. Compressor drive maybe momentarily disable while flags are being cleared. Care should be taken to not call this too frequently, otherwise normal compressor functionality may be prevented.
If no sticky faults are set then this call will have no effect.
uint8_t SolenoidBase::GetAll |
( |
int |
module = 0 | ) |
const |
Read all 8 solenoids as a single byte.
- Returns
- The current value of all 8 solenoids on the module.
uint8_t SolenoidBase::GetPCMSolenoidBlackList |
( |
int |
module | ) |
const |
Reads complete solenoid blacklist for all 8 solenoids as a single byte.
If a solenoid is shorted, it is added to the blacklist and disabled until power cycle, or until faults are cleared.
- See Also
- ClearAllPCMStickyFaults()
- Returns
- The solenoid blacklist of all 8 solenoids on the module.
bool SolenoidBase::GetPCMSolenoidVoltageFault |
( |
int |
module | ) |
const |
- Returns
- true if PCM is in fault state : The common highside solenoid voltage rail is too low, most likely a solenoid channel is shorted.
bool SolenoidBase::GetPCMSolenoidVoltageStickyFault |
( |
int |
module | ) |
const |
- Returns
- true if PCM sticky fault is set : The common highside solenoid voltage rail is too low, most likely a solenoid channel is shorted.
void SolenoidBase::Set |
( |
uint8_t |
value, |
|
|
uint8_t |
mask, |
|
|
int |
module |
|
) |
| |
|
protected |
Set the value of a solenoid.
- Parameters
-
value | The value you want to set on the module. |
mask | The channels you want to be affected. |
uint32_t SolenoidBase::m_moduleNumber |
|
protected |
Slot number where the module is plugged into the chassis.
The documentation for this class was generated from the following files: