WPILibC++
unspecified
|
DigitalSource Interface. More...
#include <DigitalSource.h>
Public Member Functions | |
virtual uint32_t | GetChannelForRouting () const =0 |
virtual uint32_t | GetModuleForRouting () const =0 |
virtual bool | GetAnalogTriggerForRouting () const =0 |
![]() | |
virtual void | RequestInterrupts (InterruptHandlerFunction handler, void *param) |
Asynchronus handler version. More... | |
virtual void | RequestInterrupts () |
Synchronus Wait version. More... | |
virtual void | CancelInterrupts () |
Free up the underlying chipobject functions. More... | |
virtual WaitResult | WaitForInterrupt (float timeout, bool ignorePrevious=true) |
Synchronus version. More... | |
virtual void | EnableInterrupts () |
Enable interrupts - after finishing setup. More... | |
virtual void | DisableInterrupts () |
Disable, but don't deallocate. More... | |
virtual double | ReadRisingTimestamp () |
Return the timestamp for the rising interrupt that occurred. More... | |
virtual double | ReadFallingTimestamp () |
Return the timestamp for the falling interrupt that occurred. More... | |
virtual void | SetUpSourceEdge (bool risingEdge, bool fallingEdge) |
Set which edge to trigger interrupts on. 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... | |
Additional Inherited Members | |
![]() | |
enum | WaitResult { kTimeout = 0x0, kRisingEdge = 0x1, kFallingEdge = 0x100, kBoth = 0x101 } |
![]() | |
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 |
![]() | |
void | AllocateInterrupts (bool watcher) |
![]() | |
void | AddToSingletonList () |
Add sensor to the singleton list. More... | |
![]() | |
void * | m_interrupt = nullptr |
uint32_t | m_interruptIndex = std::numeric_limits<uint32_t>::max() |
![]() | |
Error | m_error |
![]() | |
static std::unique_ptr< Resource > | m_interrupts |
![]() | |
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 |
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.