WPILibC++
unspecified
|
DigitalSource Interface. More...
#include <DigitalSource.h>
Public Member Functions | |
virtual HAL_Handle | GetPortHandleForRouting () const =0 |
virtual AnalogTriggerType | GetAnalogTriggerTypeForRouting () const =0 |
virtual bool | IsAnalogTrigger () const =0 |
virtual int | GetChannel () const =0 |
![]() | |
virtual void | RequestInterrupts (HAL_InterruptHandlerFunction handler, void *param) |
Request one of the 8 interrupts asynchronously on this digital input. More... | |
virtual void | RequestInterrupts () |
Request one of the 8 interrupts synchronously on this digital input. More... | |
virtual void | CancelInterrupts () |
Cancel interrupts on this device. More... | |
virtual WaitResult | WaitForInterrupt (double timeout, bool ignorePrevious=true) |
In synchronous mode, wait for the defined interrupt to occur. More... | |
virtual void | EnableInterrupts () |
Enable interrupts to occur on this input. More... | |
virtual void | DisableInterrupts () |
Disable Interrupts without without deallocating structures. | |
virtual double | ReadRisingTimestamp () |
Return the timestamp for the rising interrupt that occurred most recently. More... | |
virtual double | ReadFallingTimestamp () |
Return the timestamp for the falling interrupt that occurred most recently. More... | |
virtual void | SetUpSourceEdge (bool risingEdge, bool fallingEdge) |
Set which edge to trigger interrupts on. 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 (const llvm::Twine &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, const llvm::Twine &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, const llvm::Twine &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, const llvm::Twine &contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetWPIError (const llvm::Twine &errorMessage, Error::Code code, const llvm::Twine &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... | |
![]() | |
SendableBase (bool addLiveWindow=true) | |
Creates an instance of the sensor base. More... | |
~SendableBase () override | |
Free the resources used by this object. | |
std::string | GetName () const final |
Gets the name of this Sendable object. More... | |
void | SetName (const llvm::Twine &name) final |
Sets the name of this Sendable object. More... | |
std::string | GetSubsystem () const final |
Gets the subsystem name of this Sendable object. More... | |
void | SetSubsystem (const llvm::Twine &subsystem) final |
Sets the subsystem name of this Sendable object. More... | |
![]() | |
void | SetName (const llvm::Twine &subsystem, const llvm::Twine &name) |
Sets both the subsystem name and device name of this Sendable object. More... | |
virtual void | InitSendable (SendableBuilder &builder)=0 |
Initializes this Sendable object. More... | |
Additional Inherited Members | |
![]() | |
enum | WaitResult { kTimeout = 0x0, kRisingEdge = 0x1, kFallingEdge = 0x100, kBoth = 0x101 } |
![]() | |
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, const llvm::Twine &contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) |
static void | SetGlobalWPIError (const llvm::Twine &errorMessage, const llvm::Twine &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() |
![]() | |
void | AllocateInterrupts (bool watcher) |
![]() | |
void | AddChild (std::shared_ptr< Sendable > child) |
Add a child component. More... | |
void | AddChild (void *child) |
Add a child component. More... | |
void | SetName (const llvm::Twine &moduleType, int channel) |
Sets the name of the sensor with a channel number. More... | |
void | SetName (const llvm::Twine &moduleType, int moduleNumber, int channel) |
Sets the name of the sensor with a module and channel number. More... | |
![]() | |
HAL_InterruptHandle | m_interrupt = HAL_kInvalidHandle |
![]() | |
Error | m_error |
![]() | |
static wpi::mutex | _globalErrorMutex |
static Error | _globalError |
DigitalSource Interface.
The DigitalSource represents all the possible inputs for a counter or a quadrature encoder. The source may be either a digital input or an analog input. If the caller just provides a channel, then a digital input will be constructed and freed when finished for the source. The source can either be a digital input or analog trigger but not both.