WPILibC++ 2024.3.2
Encoder.h File Reference
#include <stdint.h>
#include "hal/AnalogTrigger.h"
#include "hal/Types.h"

Go to the source code of this file.

Enumerations

enum  HAL_EncoderIndexingType : int32_t { HAL_kResetWhileHigh , HAL_kResetWhileLow , HAL_kResetOnFallingEdge , HAL_kResetOnRisingEdge }
 The type of index pulse for the encoder. More...
 
enum  HAL_EncoderEncodingType : int32_t { HAL_Encoder_k1X , HAL_Encoder_k2X , HAL_Encoder_k4X }
 The encoding scaling of the encoder. More...
 

Functions

HAL_EncoderHandle HAL_InitializeEncoder (HAL_Handle digitalSourceHandleA, HAL_AnalogTriggerType analogTriggerTypeA, HAL_Handle digitalSourceHandleB, HAL_AnalogTriggerType analogTriggerTypeB, HAL_Bool reverseDirection, HAL_EncoderEncodingType encodingType, int32_t *status)
 Initializes an encoder. More...
 
void HAL_FreeEncoder (HAL_EncoderHandle encoderHandle, int32_t *status)
 Frees an encoder. More...
 
void HAL_SetEncoderSimDevice (HAL_EncoderHandle handle, HAL_SimDeviceHandle device)
 Indicates the encoder is used by a simulated device. More...
 
int32_t HAL_GetEncoder (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the current counts of the encoder after encoding type scaling. More...
 
int32_t HAL_GetEncoderRaw (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the raw counts of the encoder. More...
 
int32_t HAL_GetEncoderEncodingScale (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the encoder scale value. More...
 
void HAL_ResetEncoder (HAL_EncoderHandle encoderHandle, int32_t *status)
 Reads the current encoder value. More...
 
double HAL_GetEncoderPeriod (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the Period of the most recent count. More...
 
void HAL_SetEncoderMaxPeriod (HAL_EncoderHandle encoderHandle, double maxPeriod, int32_t *status)
 Sets the maximum period where the device is still considered "moving". More...
 
HAL_Bool HAL_GetEncoderStopped (HAL_EncoderHandle encoderHandle, int32_t *status)
 Determines if the clock is stopped. More...
 
HAL_Bool HAL_GetEncoderDirection (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the last direction the encoder value changed. More...
 
double HAL_GetEncoderDistance (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the current distance traveled by the encoder. More...
 
double HAL_GetEncoderRate (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the current rate of the encoder. More...
 
void HAL_SetEncoderMinRate (HAL_EncoderHandle encoderHandle, double minRate, int32_t *status)
 Sets the minimum rate to be considered moving by the encoder. More...
 
void HAL_SetEncoderDistancePerPulse (HAL_EncoderHandle encoderHandle, double distancePerPulse, int32_t *status)
 Sets the distance traveled per encoder pulse. More...
 
void HAL_SetEncoderReverseDirection (HAL_EncoderHandle encoderHandle, HAL_Bool reverseDirection, int32_t *status)
 Sets if to reverse the direction of the encoder. More...
 
void HAL_SetEncoderSamplesToAverage (HAL_EncoderHandle encoderHandle, int32_t samplesToAverage, int32_t *status)
 Sets the number of encoder samples to average when calculating encoder rate. More...
 
int32_t HAL_GetEncoderSamplesToAverage (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the current samples to average value. More...
 
void HAL_SetEncoderIndexSource (HAL_EncoderHandle encoderHandle, HAL_Handle digitalSourceHandle, HAL_AnalogTriggerType analogTriggerType, HAL_EncoderIndexingType type, int32_t *status)
 Sets the source for an index pulse on the encoder. More...
 
int32_t HAL_GetEncoderFPGAIndex (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the FPGA index of the encoder. More...
 
double HAL_GetEncoderDecodingScaleFactor (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the decoding scale factor of the encoder. More...
 
double HAL_GetEncoderDistancePerPulse (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the user set distance per pulse of the encoder. More...
 
HAL_EncoderEncodingType HAL_GetEncoderEncodingType (HAL_EncoderHandle encoderHandle, int32_t *status)
 Gets the encoding type of the encoder. More...