WPILibC++
unspecified
|
Base class for all sensors. More...
#include <SensorBase.h>
Public Member Functions | |
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 Public Member Functions | |
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. | |
Protected Member Functions | |
void | AddToSingletonList () |
Add sensor to the singleton list. More... | |
Static Protected Attributes | |
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 |
Additional Inherited Members | |
![]() | |
Error | m_error |
Base class for all sensors.
Stores most recent status information as well as containing utility functions for checking channels and error processing.
|
protected |
Add sensor to the singleton list.
Add this sensor to the list of singletons that need to be deleted when the robot program exits. Each of the sensors on this list are singletons, that is they aren't allocated directly with new, but instead are allocated by the static GetInstance method. As a result, they are never deleted when the program exits. Consequently these sensors may still be holding onto resources and need to have their destructors called at the end of the program.
|
static |
Check that the analog input number is value.
Verify that the analog input number is one of the legal channel numbers. Channel numbers are 0-based.
|
static |
Check that the analog output number is valid.
Verify that the analog output number is one of the legal channel numbers. Channel numbers are 0-based.
|
static |
Check that the digital channel number is valid.
Verify that the channel number is one of the legal channel numbers. Channel numbers are 1-based.
|
static |
Verify that the power distribution channel number is within limits.
|
static |
Check that the digital channel number is valid.
Verify that the channel number is one of the legal channel numbers. Channel numbers are 1-based.
|
static |
Check that the digital channel number is valid.
Verify that the channel number is one of the legal channel numbers. Channel numbers are 1-based.
|
static |
Verify that the solenoid channel number is within limits.
|
static |
Check that the solenoid module number is valid.
|
static |
Delete all the singleton classes on the list.
All the classes that were allocated as singletons need to be deleted so their resources can be freed.