|
| SafePWM (uint32_t channel) |
| Constructor for a SafePWM object taking a channel number. More...
|
|
void | SetExpiration (float timeout) |
| Set the expiration time for the PWM object. More...
|
|
float | GetExpiration () const |
| Return the expiration time for the PWM object. More...
|
|
bool | IsAlive () const |
| Check if the PWM object is currently alive or stopped due to a timeout. More...
|
|
void | StopMotor () |
| Stop the motor associated with this PWM object. More...
|
|
bool | IsSafetyEnabled () const |
| Check if motor safety is enabled for this object. More...
|
|
void | SetSafetyEnabled (bool enabled) |
| Enable/disable motor safety for this device Turn on and off the motor safety option for this PWM object. More...
|
|
void | GetDescription (std::ostringstream &desc) const |
|
virtual void | SetSpeed (float speed) |
| Feed the MotorSafety timer when setting the speed. More...
|
|
| PWM (uint32_t channel) |
| Allocate a PWM given a channel number. More...
|
|
virtual | ~PWM () |
| Free the PWM channel. More...
|
|
virtual void | SetRaw (unsigned short value) |
| Set the PWM value directly to the hardware. More...
|
|
virtual unsigned short | GetRaw () const |
| Get the PWM value directly from the hardware. More...
|
|
void | SetPeriodMultiplier (PeriodMultiplier mult) |
| Slow down the PWM signal for old devices. More...
|
|
void | SetZeroLatch () |
|
void | EnableDeadbandElimination (bool eliminateDeadband) |
| Optionally eliminate the deadband from a speed controller. More...
|
|
void | SetBounds (int32_t max, int32_t deadbandMax, int32_t center, int32_t deadbandMin, int32_t min) |
| Set the bounds on the PWM values. More...
|
|
void | SetBounds (double max, double deadbandMax, double center, double deadbandMin, double min) |
| Set the bounds on the PWM pulse widths. More...
|
|
uint32_t | GetChannel () const |
|
| 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 | PeriodMultiplier { kPeriodMultiplier_1X = 1,
kPeriodMultiplier_2X = 2,
kPeriodMultiplier_4X = 4
} |
|
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 |
|
virtual void | SetPosition (float pos) |
| Set the PWM value based on a position. More...
|
|
virtual float | GetPosition () const |
| Get the PWM value in terms of a position. More...
|
|
virtual float | GetSpeed () const |
| Get the PWM value in terms of speed. More...
|
|
void | ValueChanged (ITable *source, llvm::StringRef key, std::shared_ptr< nt::Value > value, bool isNew) override |
| Called when a key-value pair is changed in a ITable. More...
|
|
void | UpdateTable () override |
| Update the table for this sendable object with the latest values.
|
|
void | StartLiveWindowMode () override |
| Start having this sendable object automatically respond to value changes reflect the value on the table.
|
|
void | StopLiveWindowMode () override |
| Stop having this sendable object automatically respond to value changes.
|
|
std::string | GetSmartDashboardType () const override |
|
void | InitTable (std::shared_ptr< ITable > subTable) override |
| Initializes a table for this sendable object. More...
|
|
std::shared_ptr< ITable > | GetTable () const override |
|
void | AddToSingletonList () |
| Add sensor to the singleton list. More...
|
|
bool | m_eliminateDeadband |
|
int32_t | m_maxPwm |
|
int32_t | m_deadbandMaxPwm |
|
int32_t | m_centerPwm |
|
int32_t | m_deadbandMinPwm |
|
int32_t | m_minPwm |
|
std::shared_ptr< ITable > | m_table |
|
Error | m_error |
|
static constexpr float | kDefaultPwmPeriod = 5.05 |
| kDefaultPwmPeriod is in ms More...
|
|
static constexpr float | kDefaultPwmCenter = 1.5 |
| kDefaultPwmCenter is the PWM range center in ms
|
|
static const int32_t | kDefaultPwmStepsDown = 1000 |
| kDefaultPWMStepsDown is the number of PWM steps below the centerpoint
|
|
static const int32_t | kPwmDisabled = 0 |
|
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 |
|
A safe version of the PWM class.
It is safe because it implements the MotorSafety interface that provides timeouts in the event that the motor value is not updated before the expiration time. This delegates the actual work to a MotorSafetyHelper object that is used for all objects that implement MotorSafety.