EQEP Driver API/interface file.
Go to the source code of this file.
EQEP Position Reset Mode | |
#define | EQEP_POSITION_RESET_IDX (0x0000) |
Reset position on index pulse. More... | |
#define | EQEP_POSITION_RESET_MAX_POS (0x1000) |
Reset position on maximum position. More... | |
#define | EQEP_POSITION_RESET_1ST_IDX (0x2000) |
Reset position on the first index pulse. More... | |
#define | EQEP_POSITION_RESET_UNIT_TIME_OUT (0x3000) |
Reset position on a unit time event. More... | |
typedef uint32_t | eqepPositionResetMode_t |
Enum Values that can be passed to EQEP_setPositionCounterConfig() as the mode parameter. More... | |
EQEP CapPrescalar parameter | |
#define | EQEP_CAPTURE_CLK_DIV_1 (0x00) |
CAPCLK = SYSCLKOUT/1. More... | |
#define | EQEP_CAPTURE_CLK_DIV_2 (0x10) |
CAPCLK = SYSCLKOUT/2. More... | |
#define | EQEP_CAPTURE_CLK_DIV_4 (0x20) |
CAPCLK = SYSCLKOUT/4. More... | |
#define | EQEP_CAPTURE_CLK_DIV_8 (0x30) |
CAPCLK = SYSCLKOUT/8. More... | |
#define | EQEP_CAPTURE_CLK_DIV_16 (0x40) |
CAPCLK = SYSCLKOUT/16. More... | |
#define | EQEP_CAPTURE_CLK_DIV_32 (0x50) |
CAPCLK = SYSCLKOUT/32. More... | |
#define | EQEP_CAPTURE_CLK_DIV_64 (0x60) |
CAPCLK = SYSCLKOUT/64. More... | |
#define | EQEP_CAPTURE_CLK_DIV_128 (0x070) |
CAPCLK = SYSCLKOUT/128. More... | |
typedef uint32_t | eqepCapClkPrescale_t |
Enum Values that can be passed to EQEP_setCaptureConfig() as the capPrescale parameter. More... | |
EQEP unit position event frequency | |
#define | EQEP_UNIT_POS_EVNT_DIV_1 (0) |
UPEVNT = QCLK/1. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_2 (1) |
UPEVNT = QCLK/2. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_4 (2) |
UPEVNT = QCLK/4. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_8 (3) |
UPEVNT = QCLK/8. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_16 (4) |
UPEVNT = QCLK/16. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_32 (5) |
UPEVNT = QCLK/32. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_64 (6) |
UPEVNT = QCLK/64. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_128 (7) |
UPEVNT = QCLK/128. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_256 (8) |
UPEVNT = QCLK/256. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_512 (9) |
UPEVNT = QCLK/512. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_1024 (10) |
UPEVNT = QCLK/1024. More... | |
#define | EQEP_UNIT_POS_EVNT_DIV_2048 (11) |
UPEVNT = QCLK/2048. More... | |
typedef uint32_t | eqeqUpEvntPrescale_t |
Enum Values that can be passed to EQEP_setCaptureConfig() as the evntPrescaleparameter. More... | |
EQEP strobeSrc parameter | |
#define | EQEP_STROBE_FROM_GPIO (0) |
Strobe signal comes from GPIO. More... | |
#define | EQEP_STROBE_OR_ADCSOCA (2) |
Strobe signal is OR'd with ADCSOCA. More... | |
#define | EQEP_STROBE_OR_ADCSOCB (3) |
Strobe signal is OR'd with ADCSOCB. More... | |
typedef uint32_t | eqepStrobeSource_t |
Enum Values that can be passed to EQEP_setStrobeSource() as the strobeSrc parameter. More... | |
EQEP qmaMode parameter | |
#define | EQEP_QMA_MODE_BYPASS (0) |
QMA module is bypassed. More... | |
#define | EQEP_QMA_MODE_1 (1) |
QMA mode-1 operation is selected. More... | |
#define | EQEP_QMA_MODE_2 (2) |
QMA mode-2 operation is selected. More... | |
typedef uint32_t | eqepQmaMode_t |
Enum Values that can be passed to EQEP_setQMAModuleMode() as the qmaMode parameter. More... | |
EQEP emuMode parameter | |
#define | EQEP_EMULATIONMODE_STOPIMMEDIATELY (0) |
Counters stop immediately. More... | |
#define | EQEP_EMULATIONMODE_STOPATROLLOVER (1) |
Counters stop at period rollover. More... | |
#define | EQEP_EMULATIONMODE_RUNFREE (2) |
Counter unaffected by suspend. More... | |
typedef uint32_t | eqepEmulationMode_t |
Enum Values that can be passed to EQEP_setEmulationMode() as the emuMode parameter. More... | |
Macros | |
EQEP Decoder Configuration | |
#define | EQEP_CONFIG_QUADRATURE (0x0000U) |
Values that can be passed to EQEP_setDecoderConfig() as the config parameter. More... | |
#define | EQEP_CONFIG_CLOCK_DIR (0x4000U) |
Quadrature-clock Direction-count mode. More... | |
#define | EQEP_CONFIG_UP_COUNT (0x8000U) |
Up-count mode, QDIR = 1. More... | |
#define | EQEP_CONFIG_DOWN_COUNT (0xC000U) |
Down-count mode, QDIR = 0. More... | |
#define | EQEP_CONFIG_2X_RESOLUTION (0x0000U) |
Resolution Count rising and falling edge. More... | |
#define | EQEP_CONFIG_1X_RESOLUTION (0x0800U) |
Resolution Count rising edge only. More... | |
#define | EQEP_CONFIG_NO_SWAP (0x0000U) |
Do not swap QEPA and QEPB. More... | |
#define | EQEP_CONFIG_SWAP (0x0400U) |
Swap QEPA and QEPB. More... | |
EQEP Compare Configuration | |
#define | EQEP_COMPARE_NO_SYNC_OUT (0x0000U) |
Values that can be passed to EQEP_setCompareConfig() as the config parameter. More... | |
#define | EQEP_COMPARE_IDX_SYNC_OUT (0x2000U) |
Sync output on index pin. More... | |
#define | EQEP_COMPARE_STROBE_SYNC_OUT (0x3000U) |
Sync output on strobe pin. More... | |
#define | EQEP_COMPARE_NO_SHADOW (0x0000U) |
Disable shadow of QPOSCMP. More... | |
#define | EQEP_COMPARE_LOAD_ON_ZERO (0x8000U) |
Load on QPOSCNT = 0. More... | |
#define | EQEP_COMPARE_LOAD_ON_MATCH (0xC000U) |
Load on QPOSCNT = QPOSCMP. More... | |
EQEP Interrupt Sources | |
#define | EQEP_INT_GLOBAL (0x0001U) |
Values that can be passed to EQEP_enableInterrupt(), EQEP_disableInterrupt(), and EQEP_clearInterruptStatus() as the intFlags parameter and returned by EQEP_clearInterruptStatus(). More... | |
#define | EQEP_INT_POS_CNT_ERROR (0x0002U) |
Position counter error. More... | |
#define | EQEP_INT_PHASE_ERROR (0x0004U) |
Quadrature phase error. More... | |
#define | EQEP_INT_DIR_CHANGE (0x0008U) |
Quadrature direction change. More... | |
#define | EQEP_INT_WATCHDOG (0x0010U) |
Watchdog time-out. More... | |
#define | EQEP_INT_UNDERFLOW (0x0020U) |
Position counter underflow. More... | |
#define | EQEP_INT_OVERFLOW (0x0040U) |
Position counter overflow. More... | |
#define | EQEP_INT_POS_COMP_READY (0x0080U) |
Position-compare ready. More... | |
#define | EQEP_INT_POS_COMP_MATCH (0x0100U) |
Position-compare match. More... | |
#define | EQEP_INT_STROBE_EVNT_LATCH (0x0200U) |
Strobe event latch. More... | |
#define | EQEP_INT_INDEX_EVNT_LATCH (0x0400U) |
Index event latch. More... | |
#define | EQEP_INT_UNIT_TIME_OUT (0x0800U) |
Unit time-out. More... | |
#define | EQEP_INT_QMA_ERROR (0x1000U) |
QMA error. More... | |
EQEP Get Module Status | |
#define | EQEP_STS_UNIT_POS_EVNT (0x0080U) |
Values that can be returned by EQEP_getStatus(). More... | |
#define | EQEP_STS_DIR_ON_1ST_IDX (0x0040U) |
Direction was clockwise on first index event. More... | |
#define | EQEP_STS_DIR_FLAG (0x0020U) |
Direction is CW (forward) More... | |
#define | EQEP_STS_DIR_LATCH (0x0010U) |
Direction was CW on index. More... | |
#define | EQEP_STS_CAP_OVRFLW_ERROR (0x0008U) |
Capture timer overflow. More... | |
#define | EQEP_STS_CAP_DIR_ERROR (0x0004U) |
Direction changed between position capture events. More... | |
#define | EQEP_STS_1ST_IDX_FLAG (0x0002U) |
First index pulse occurred. More... | |
#define | EQEP_STS_POS_CNT_ERROR (0x0001U) |
Position counter error. More... | |
EQEP Set Latch Mode | |
#define | EQEP_LATCH_CNT_READ_BY_CPU (0x0000U) |
Values that can be passed to EQEP_setLatchMode() as the latchMode parameter. More... | |
#define | EQEP_LATCH_UNIT_TIME_OUT (0x0004U) |
On position counter read. More... | |
#define | EQEP_LATCH_RISING_STROBE (0x0000U) |
On unit time-out event. More... | |
#define | EQEP_LATCH_EDGE_DIR_STROBE (0x0040U) |
On rising edge when clockwise, on falling when counter clockwise. More... | |
#define | EQEP_LATCH_RISING_INDEX (0x0010U) |
Index position counter latch event. More... | |
#define | EQEP_LATCH_FALLING_INDEX (0x0020U) |
On rising edge of index. More... | |
#define | EQEP_LATCH_SW_INDEX_MARKER (0x0030U) |
On falling edge of index. More... | |
EQEP Set Position Init Mode | |
#define | EQEP_INIT_DO_NOTHING (0x0000U) |
Values that can be passed to EQEP_setPositionInitMode() as the initMode parameter. More... | |
#define | EQEP_INIT_RISING_STROBE (0x0800U) |
Strobe events On rising edge of strobe. More... | |
#define | EQEP_INIT_EDGE_DIR_STROBE (0x0C00U) |
Strobe events On rising edge when clockwise, on falling when counter clockwise. More... | |
#define | EQEP_INIT_RISING_INDEX (0x0200U) |
Index events, On rising edge of index. More... | |
#define | EQEP_INIT_FALLING_INDEX (0x0300U) |
Index events, On falling edge of index. More... | |
EQEP get direction | |
#define | EQEP_MOD_FORWARD_DIR (1) |
Values that can be return from EQEP_getDirection() . More... | |
#define | EQEP_MOD_BACKWARD_DIR (-1) |
Moving in the reverse direction. More... | |
EQEP direction | |
#define | EQEP_DIR_ANTI_CLOCKWISE (CSL_EQEP_QEPSTS_TYPE1_QDF_VAL_QDF_COUNTERCLK) |
Moving in the anticlockwise direction. More... | |
#define | EQEP_DIR_CLOCKWISE (CSL_EQEP_QEPSTS_TYPE1_QDF_VAL_QDF_CLK) |
Moving in the clockwise direction. More... | |
Functions | |
void | EQEP_enableModule (uint32_t baseAddr) |
Enables the eQEP module. More... | |
void | EQEP_disableModule (uint32_t baseAddr) |
Disables the eQEP module. More... | |
void | EQEP_setDecoderConfig (uint32_t baseAddr, uint16_t config) |
Configures eQEP module's quadrature decoder unit. More... | |
void | EQEP_setPositionCounterConfig (uint32_t baseAddr, eqepPositionResetMode_t mode, uint32_t maxPosition) |
Configures eQEP module position counter unit. More... | |
uint32_t | EQEP_getPosition (uint32_t baseAddr) |
Gets the current encoder position. More... | |
void | EQEP_setPosition (uint32_t baseAddr, uint32_t position) |
Sets the current encoder position. More... | |
int32_t | EQEP_getDirection (uint32_t baseAddr) |
Gets the current direction of rotation. More... | |
void | EQEP_enableInterrupt (uint32_t baseAddr, uint16_t intFlags) |
Enables individual eQEP module interrupt sources. More... | |
void | EQEP_disableInterrupt (uint32_t baseAddr, uint16_t intFlags) |
Disables individual eQEP module interrupt sources. More... | |
uint16_t | EQEP_getEnabledInterrupt (uint32_t baseAddr) |
Get Enabled interrupts of eQEP module. More... | |
uint16_t | EQEP_getInterruptStatus (uint32_t baseAddr) |
Gets the current interrupt status. More... | |
void | EQEP_clearInterruptStatus (uint32_t baseAddr, uint16_t intFlags) |
Clears eQEP module interrupt sources. More... | |
void | EQEP_forceInterrupt (uint32_t baseAddr, uint16_t intFlags) |
Forces individual eQEP module interrupts. More... | |
Bool | EQEP_isErrorSet (uint32_t baseAddr) |
Gets the encoder error indicator. More... | |
uint32_t | EQEP_getStatus (uint32_t baseAddr) |
Returns content of the eQEP module status register. More... | |
void | EQEP_clearStatus (uint32_t baseAddr, uint16_t statusFlags) |
Clears selected fields of the eQEP module status register. More... | |
void | EQEP_setCaptureConfig (uint32_t baseAddr, eqepCapClkPrescale_t capPrescale, eqeqUpEvntPrescale_t evntPrescale) |
Configures eQEP module edge-capture unit. More... | |
void | EQEP_enableCapture (uint32_t baseAddr) |
Enables the eQEP module edge-capture unit. More... | |
void | EQEP_disableCapture (uint32_t baseAddr) |
Disables the eQEP module edge-capture unit. More... | |
uint32_t | EQEP_getCapturePeriod (uint32_t baseAddr) |
Gets the encoder capture period. More... | |
uint32_t | EQEP_getCaptureTimer (uint32_t baseAddr) |
Gets the encoder capture timer value. More... | |
void | EQEP_enableCompare (uint32_t baseAddr) |
Enables the eQEP module position-compare unit. More... | |
void | EQEP_disableCompare (uint32_t baseAddr) |
Disables the eQEP module position-compare unit. More... | |
int32_t | EQEP_setComparePulseWidth (uint32_t baseAddr, uint16_t cycles) |
Configures the position-compare unit's sync output pulse width. More... | |
void | EQEP_enableUnitTimer (uint32_t baseAddr, uint32_t period) |
Enables the eQEP module unit timer. More... | |
void | EQEP_disableUnitTimer (uint32_t baseAddr) |
Disables the eQEP module unit timer. More... | |
void | EQEP_enableWatchdog (uint32_t baseAddr, uint16_t period) |
Enables the eQEP module watchdog timer. More... | |
void | EQEP_disableWatchdog (uint32_t baseAddr) |
Disables the eQEP module watchdog timer. More... | |
void | EQEP_setWatchdogTimerValue (uint32_t baseAddr, uint16_t value) |
Sets the eQEP module watchdog timer value. More... | |
uint32_t | EQEP_getWatchdogTimerValue (uint32_t baseAddr) |
Gets the eQEP module watchdog timer value. More... | |
void | EQEP_setPositionInitMode (uint32_t baseAddr, uint16_t initMode) |
Configures the mode in which the position counter is initialized. More... | |
void | EQEP_setSWPositionInit (uint32_t baseAddr, Bool initialize) |
Sets the software initialization of the encoder position counter. More... | |
void | EQEP_setInitialPosition (uint32_t baseAddr, uint32_t position) |
Sets the init value for the encoder position counter. More... | |
void | EQEP_setLatchMode (uint32_t baseAddr, uint32_t latchMode) |
Configures the quadrature modes in which the position count can be latched. More... | |
uint32_t | EQEP_getIndexPositionLatch (uint32_t baseAddr) |
Gets the encoder position that was latched on an index event. More... | |
uint32_t | EQEP_getStrobePositionLatch (uint32_t baseAddr) |
Gets the encoder position that was latched on a strobe event. More... | |
uint32_t | EQEP_getPositionLatch (uint32_t baseAddr) |
Gets the encoder position that was latched on a unit time-out event. More... | |
uint32_t | EQEP_getCaptureTimerLatch (uint32_t baseAddr) |
Gets the encoder capture timer latch. More... | |
uint32_t | EQEP_getCapturePeriodLatch (uint32_t baseAddr) |
Gets the encoder capture period latch. More... | |
void | EQEP_setQMAModuleMode (uint32_t baseAddr, eqepQmaMode_t qmaMode) |
Set the quadrature mode adapter (QMA) module mode. More... | |
void | EQEP_setStrobeSource (uint32_t baseAddr, eqepStrobeSource_t strobeSrc) |
Set the strobe input source of the eQEP module. More... | |
void | EQEP_setEmulationMode (uint32_t baseAddr, eqepEmulationMode_t emuMode) |
Set the emulation mode of the eQEP module. More... | |
void | EQEP_setCompareConfig (uint32_t baseAddr, uint16_t config, uint32_t compareValue, uint16_t cycles) |
Configures eQEP module position-compare unit. More... | |
void | EQEP_setInputPolarity (uint32_t baseAddr, Bool invertQEPA, Bool invertQEPB, Bool invertIndex, Bool invertStrobe) |
Sets the polarity of the eQEP module's input signals. More... | |