|
| DigitalOutput (uint32_t channel) |
| Create an instance of a digital output. More...
|
|
virtual | ~DigitalOutput () |
| Free the resources associated with a digital output.
|
|
void | Set (uint32_t value) |
| Set the value of a digital output. More...
|
|
uint32_t | GetChannel () const |
|
void | Pulse (float length) |
| Output a single pulse on the digital output line. More...
|
|
bool | IsPulsing () const |
| Determine if the pulse is still going. More...
|
|
void | SetPWMRate (float rate) |
| Change the PWM frequency of the PWM output on a Digital Output line. More...
|
|
void | EnablePWM (float initialDutyCycle) |
| Enable a PWM Output on this line. More...
|
|
void | DisablePWM () |
| Change this line from a PWM output back to a static Digital Output line. More...
|
|
void | UpdateDutyCycle (float dutyCycle) |
| Change the duty-cycle that is being generated on the line. More...
|
|
virtual uint32_t | GetChannelForRouting () const |
|
virtual uint32_t | GetModuleForRouting () const |
|
virtual bool | GetAnalogTriggerForRouting () const |
|
virtual void | ValueChanged (ITable *source, llvm::StringRef key, std::shared_ptr< nt::Value > value, bool isNew) |
| Called when a key-value pair is changed in a ITable. 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< ITable > subTable) |
| Initializes a table for this sendable object. More...
|
|
std::shared_ptr< ITable > | GetTable () const |
|
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...
|
|
virtual void | ValueChangedEx (ITable *source, llvm::StringRef key, std::shared_ptr< nt::Value > value, unsigned int flags) |
| Extended version of ValueChanged. More...
|
|
|
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 |
|
Class to write to digital outputs.
Write values to the digital output channels. Other devices implemented elsewhere will allocate channels automatically so for those devices it shouldn't be done here.