#include <GearTooth.h>
Public Member Functions | |
GearTooth (uint32_t channel, bool directionSensitive=false) | |
GearTooth (uint8_t moduleNumber, uint32_t channel, bool directionSensitive=false) | |
GearTooth (DigitalSource *source, bool directionSensitive=false) | |
GearTooth (DigitalSource &source, bool directionSensitive=false) | |
virtual | ~GearTooth () |
void | EnableDirectionSensing (bool directionSensitive) |
virtual std::string | GetSmartDashboardType () |
Public Member Functions inherited from Counter | |
Counter () | |
Counter (uint32_t channel) | |
Counter (uint8_t moduleNumber, uint32_t channel) | |
Counter (DigitalSource *source) | |
Counter (DigitalSource &source) | |
Counter (AnalogTrigger *trigger) | |
Counter (AnalogTrigger &trigger) | |
Counter (EncodingType encodingType, DigitalSource *upSource, DigitalSource *downSource, bool inverted) | |
virtual | ~Counter () |
void | SetUpSource (uint32_t channel) |
void | SetUpSource (uint8_t moduleNumber, uint32_t channel) |
void | SetUpSource (AnalogTrigger *analogTrigger, AnalogTriggerOutput::Type triggerType) |
void | SetUpSource (AnalogTrigger &analogTrigger, AnalogTriggerOutput::Type triggerType) |
void | SetUpSource (DigitalSource *source) |
void | SetUpSource (DigitalSource &source) |
void | SetUpSourceEdge (bool risingEdge, bool fallingEdge) |
void | ClearUpSource () |
void | SetDownSource (uint32_t channel) |
void | SetDownSource (uint8_t moduleNumber, uint32_t channel) |
void | SetDownSource (AnalogTrigger *analogTrigger, AnalogTriggerOutput::Type triggerType) |
void | SetDownSource (AnalogTrigger &analogTrigger, AnalogTriggerOutput::Type triggerType) |
void | SetDownSource (DigitalSource *source) |
void | SetDownSource (DigitalSource &source) |
void | SetDownSourceEdge (bool risingEdge, bool fallingEdge) |
void | ClearDownSource () |
void | SetUpDownCounterMode () |
void | SetExternalDirectionMode () |
void | SetSemiPeriodMode (bool highSemiPeriod) |
void | SetPulseLengthMode (float threshold) |
void | SetReverseDirection (bool reverseDirection) |
void | Start () |
int32_t | Get () |
void | Reset () |
void | Stop () |
double | GetPeriod () |
void | SetMaxPeriod (double maxPeriod) |
void | SetUpdateWhenEmpty (bool enabled) |
bool | GetStopped () |
bool | GetDirection () |
void | SetSamplesToAverage (int samplesToAverage) |
int | GetSamplesToAverage () |
uint32_t | GetIndex () |
void | UpdateTable () |
void | StartLiveWindowMode () |
void | StopLiveWindowMode () |
void | InitTable (ITable *subTable) |
ITable * | GetTable () |
Public Member Functions inherited from SensorBase | |
SensorBase () | |
virtual | ~SensorBase () |
Public Member Functions inherited from ErrorBase | |
virtual Error & | GetError () |
Retrieve the current error. Get the current error information associated with this sensor. | |
virtual const Error & | GetError () const |
virtual void | SetErrnoError (const char *contextMessage, const char *filename, const char *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, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const |
Set the current error information associated from the nivision Imaq API. More... | |
virtual void | SetError (Error::Code code, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetWPIError (const char *errorMessage, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | CloneError (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 Attributes | |
static constexpr double | kGearToothThreshold = 55e-6 |
55 uSec for threshold | |
Static Public Attributes inherited from SensorBase | |
static const uint32_t | kSystemClockTicksPerMicrosecond = 40 |
static const uint32_t | kDigitalChannels = 14 |
static const uint32_t | kAnalogChannels = 8 |
static const uint32_t | kAnalogModules = 2 |
static const uint32_t | kDigitalModules = 2 |
static const uint32_t | kSolenoidChannels = 8 |
static const uint32_t | kSolenoidModules = 2 |
static const uint32_t | kPwmChannels = 10 |
static const uint32_t | kRelayChannels = 8 |
static const uint32_t | kChassisSlots = 8 |
Additional Inherited Members | |
Public Types inherited from Counter | |
enum | Mode { kTwoPulse =0, kSemiperiod =1, kPulseLength =2, kExternalDirection =3 } |
Public Types inherited from CounterBase | |
enum | EncodingType { k1X, k2X, k4X } |
Static Public Member Functions inherited from SensorBase | |
static void | DeleteSingletons () |
static uint32_t | GetDefaultAnalogModule () |
static uint32_t | GetDefaultDigitalModule () |
static uint32_t | GetDefaultSolenoidModule () |
static bool | CheckAnalogModule (uint8_t moduleNumber) |
static bool | CheckDigitalModule (uint8_t moduleNumber) |
static bool | CheckPWMModule (uint8_t moduleNumber) |
static bool | CheckRelayModule (uint8_t moduleNumber) |
static bool | CheckSolenoidModule (uint8_t moduleNumber) |
static bool | CheckDigitalChannel (uint32_t channel) |
static bool | CheckRelayChannel (uint32_t channel) |
static bool | CheckPWMChannel (uint32_t channel) |
static bool | CheckAnalogChannel (uint32_t channel) |
static bool | CheckSolenoidChannel (uint32_t channel) |
Static Public Member Functions inherited from ErrorBase | |
static void | SetGlobalError (Error::Code code, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) |
static void | SetGlobalWPIError (const char *errorMessage, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) |
static Error & | GetGlobalError () |
Protected Member Functions inherited from SensorBase | |
void | AddToSingletonList () |
Protected Member Functions inherited from ErrorBase | |
ErrorBase () | |
Initialize the instance status to 0 for now. | |
Protected Attributes inherited from Counter | |
DigitalSource * | m_upSource |
What makes the counter count up. | |
DigitalSource * | m_downSource |
What makes the counter count down. | |
tCounter * | m_counter |
The FPGA counter object. | |
Protected Attributes inherited from ErrorBase | |
Error | m_error |
Static Protected Attributes inherited from ErrorBase | |
static SEM_ID | _globalErrorMutex = semMCreate(SEM_Q_PRIORITY | SEM_DELETE_SAFE | SEM_INVERSION_SAFE) |
static Error | _globalError |
Alias for counter class. Implement the gear tooth sensor supplied by FIRST. Currently there is no reverse sensing on the gear tooth sensor, but in future versions we might implement the necessary timing in the FPGA to sense direction.
Definition at line 18 of file GearTooth.h.
GearTooth::GearTooth | ( | uint32_t | channel, |
bool | directionSensitive = false |
||
) |
Construct a GearTooth sensor given a channel.
The default module is assumed.
channel | The GPIO channel on the digital module that the sensor is connected to. |
directionSensitive | Enable the pulse length decoding in hardware to specify count direction. |
Definition at line 31 of file GearTooth.cpp.
GearTooth::GearTooth | ( | uint8_t | moduleNumber, |
uint32_t | channel, | ||
bool | directionSensitive = false |
||
) |
Construct a GearTooth sensor given a channel and module.
moduleNumber | The digital module (1 or 2). |
channel | The GPIO channel on the digital module that the sensor is connected to. |
directionSensitive | Enable the pulse length decoding in hardware to specify count direction. |
Definition at line 44 of file GearTooth.cpp.
GearTooth::GearTooth | ( | DigitalSource * | source, |
bool | directionSensitive = false |
||
) |
Construct a GearTooth sensor given a digital input. This should be used when sharing digial inputs.
source | An object that fully descibes the input that the sensor is connected to. |
directionSensitive | Enable the pulse length decoding in hardware to specify count direction. |
Definition at line 58 of file GearTooth.cpp.
|
virtual |
Free the resources associated with a gear tooth sensor.
Definition at line 72 of file GearTooth.cpp.
void GearTooth::EnableDirectionSensing | ( | bool | directionSensitive | ) |
Common code called by the constructors.
Definition at line 15 of file GearTooth.cpp.
|
virtual |
Reimplemented from Counter.
Definition at line 77 of file GearTooth.cpp.