|
AM62Ax MCU+ SDK
09.02.00
|
|
Go to the documentation of this file.
56 #include <drivers/hw_include/cslr.h>
57 #include <drivers/hw_include/cslr_eqep.h>
75 #define EQEP_CONFIG_QUADRATURE (0x0000U)
77 #define EQEP_CONFIG_CLOCK_DIR (0x4000U)
79 #define EQEP_CONFIG_UP_COUNT (0x8000U)
81 #define EQEP_CONFIG_DOWN_COUNT (0xC000U)
83 #define EQEP_CONFIG_2X_RESOLUTION (0x0000U)
85 #define EQEP_CONFIG_1X_RESOLUTION (0x0800U)
87 #define EQEP_CONFIG_NO_SWAP (0x0000U)
89 #define EQEP_CONFIG_SWAP (0x0400U)
101 #define EQEP_COMPARE_NO_SYNC_OUT (0x0000U)
103 #define EQEP_COMPARE_IDX_SYNC_OUT (0x2000U)
105 #define EQEP_COMPARE_STROBE_SYNC_OUT (0x3000U)
107 #define EQEP_COMPARE_NO_SHADOW (0x0000U)
109 #define EQEP_COMPARE_LOAD_ON_ZERO (0x8000U)
111 #define EQEP_COMPARE_LOAD_ON_MATCH (0xC000U)
124 #define EQEP_INT_GLOBAL (0x0001U)
126 #define EQEP_INT_POS_CNT_ERROR (0x0002U)
128 #define EQEP_INT_PHASE_ERROR (0x0004U)
130 #define EQEP_INT_DIR_CHANGE (0x0008U)
132 #define EQEP_INT_WATCHDOG (0x0010U)
134 #define EQEP_INT_UNDERFLOW (0x0020U)
136 #define EQEP_INT_OVERFLOW (0x0040U)
138 #define EQEP_INT_POS_COMP_READY (0x0080U)
140 #define EQEP_INT_POS_COMP_MATCH (0x0100U)
142 #define EQEP_INT_STROBE_EVNT_LATCH (0x0200U)
144 #define EQEP_INT_INDEX_EVNT_LATCH (0x0400U)
146 #define EQEP_INT_UNIT_TIME_OUT (0x0800U)
148 #define EQEP_INT_QMA_ERROR (0x1000U)
159 #define EQEP_STS_UNIT_POS_EVNT (0x0080U)
161 #define EQEP_STS_DIR_ON_1ST_IDX (0x0040U)
163 #define EQEP_STS_DIR_FLAG (0x0020U)
165 #define EQEP_STS_DIR_LATCH (0x0010U)
167 #define EQEP_STS_CAP_OVRFLW_ERROR (0x0008U)
169 #define EQEP_STS_CAP_DIR_ERROR (0x0004U)
171 #define EQEP_STS_1ST_IDX_FLAG (0x0002U)
173 #define EQEP_STS_POS_CNT_ERROR (0x0001U)
184 #define EQEP_LATCH_CNT_READ_BY_CPU (0x0000U)
186 #define EQEP_LATCH_UNIT_TIME_OUT (0x0004U)
189 #define EQEP_LATCH_RISING_STROBE (0x0000U)
191 #define EQEP_LATCH_EDGE_DIR_STROBE (0x0040U)
193 #define EQEP_LATCH_RISING_INDEX (0x0010U)
195 #define EQEP_LATCH_FALLING_INDEX (0x0020U)
197 #define EQEP_LATCH_SW_INDEX_MARKER (0x0030U)
209 #define EQEP_INIT_DO_NOTHING (0x0000U)
211 #define EQEP_INIT_RISING_STROBE (0x0800U)
213 #define EQEP_INIT_EDGE_DIR_STROBE (0x0C00U)
215 #define EQEP_INIT_RISING_INDEX (0x0200U)
217 #define EQEP_INIT_FALLING_INDEX (0x0300U)
228 #define EQEP_MOD_FORWARD_DIR (1)
230 #define EQEP_MOD_BACKWARD_DIR (-1)
243 #define EQEP_POSITION_RESET_IDX (0x0000)
245 #define EQEP_POSITION_RESET_MAX_POS (0x1000)
247 #define EQEP_POSITION_RESET_1ST_IDX (0x2000)
249 #define EQEP_POSITION_RESET_UNIT_TIME_OUT (0x3000)
264 #define EQEP_CAPTURE_CLK_DIV_1 (0x00)
266 #define EQEP_CAPTURE_CLK_DIV_2 (0x10)
268 #define EQEP_CAPTURE_CLK_DIV_4 (0x20)
270 #define EQEP_CAPTURE_CLK_DIV_8 (0x30)
272 #define EQEP_CAPTURE_CLK_DIV_16 (0x40)
274 #define EQEP_CAPTURE_CLK_DIV_32 (0x50)
276 #define EQEP_CAPTURE_CLK_DIV_64 (0x60)
278 #define EQEP_CAPTURE_CLK_DIV_128 (0x070)
293 #define EQEP_UNIT_POS_EVNT_DIV_1 (0)
295 #define EQEP_UNIT_POS_EVNT_DIV_2 (1)
297 #define EQEP_UNIT_POS_EVNT_DIV_4 (2)
299 #define EQEP_UNIT_POS_EVNT_DIV_8 (3)
301 #define EQEP_UNIT_POS_EVNT_DIV_16 (4)
303 #define EQEP_UNIT_POS_EVNT_DIV_32 (5)
305 #define EQEP_UNIT_POS_EVNT_DIV_64 (6)
307 #define EQEP_UNIT_POS_EVNT_DIV_128 (7)
309 #define EQEP_UNIT_POS_EVNT_DIV_256 (8)
311 #define EQEP_UNIT_POS_EVNT_DIV_512 (9)
313 #define EQEP_UNIT_POS_EVNT_DIV_1024 (10)
315 #define EQEP_UNIT_POS_EVNT_DIV_2048 (11)
329 #define EQEP_STROBE_FROM_GPIO (0)
331 #define EQEP_STROBE_OR_ADCSOCA (2)
333 #define EQEP_STROBE_OR_ADCSOCB (3)
347 #define EQEP_QMA_MODE_BYPASS (0)
349 #define EQEP_QMA_MODE_1 (1)
351 #define EQEP_QMA_MODE_2 (2)
365 #define EQEP_EMULATIONMODE_STOPIMMEDIATELY (0)
367 #define EQEP_EMULATIONMODE_STOPATROLLOVER (1)
369 #define EQEP_EMULATIONMODE_RUNFREE (2)
378 #define EQEP_DIR_ANTI_CLOCKWISE (CSL_EQEP_QEPSTS_TYPE1_QDF_VAL_QDF_COUNTERCLK)
380 #define EQEP_DIR_CLOCKWISE (CSL_EQEP_QEPSTS_TYPE1_QDF_VAL_QDF_CLK)
467 uint32_t maxPosition);
1175 uint32_t compareValue, uint16_t cycles);
1192 Bool invertIndex, Bool invertStrobe);
uint32_t eqeqUpEvntPrescale_t
Enum Values that can be passed to EQEP_setCaptureConfig() as the evntPrescaleparameter.
Definition: eqep/v0/eqep.h:291
uint32_t EQEP_getCaptureTimerLatch(uint32_t baseAddr)
Gets the encoder capture timer latch.
int32_t EQEP_getDirection(uint32_t baseAddr)
Gets the current direction of rotation.
void EQEP_setInitialPosition(uint32_t baseAddr, uint32_t position)
Sets the init value for the encoder position counter.
void EQEP_setDecoderConfig(uint32_t baseAddr, uint16_t config)
Configures eQEP module's quadrature decoder unit.
void EQEP_disableUnitTimer(uint32_t baseAddr)
Disables the eQEP module unit timer.
uint32_t eqepQmaMode_t
Enum Values that can be passed to EQEP_setQMAModuleMode() as the qmaMode parameter.
Definition: eqep/v0/eqep.h:345
Bool EQEP_isErrorSet(uint32_t baseAddr)
Gets the encoder error indicator.
uint32_t eqepEmulationMode_t
Enum Values that can be passed to EQEP_setEmulationMode() as the emuMode parameter.
Definition: eqep/v0/eqep.h:363
uint32_t EQEP_getWatchdogTimerValue(uint32_t baseAddr)
Gets the eQEP module watchdog timer value.
uint32_t EQEP_getCapturePeriodLatch(uint32_t baseAddr)
Gets the encoder capture period latch.
void EQEP_enableUnitTimer(uint32_t baseAddr, uint32_t period)
Enables the eQEP module unit timer.
void EQEP_setInputPolarity(uint32_t baseAddr, Bool invertQEPA, Bool invertQEPB, Bool invertIndex, Bool invertStrobe)
Sets the polarity of the eQEP module's input signals.
void EQEP_disableCompare(uint32_t baseAddr)
Disables the eQEP module position-compare unit.
void EQEP_disableModule(uint32_t baseAddr)
Disables the eQEP module.
void EQEP_setSWPositionInit(uint32_t baseAddr, Bool initialize)
Sets the software initialization of the encoder position counter.
uint32_t EQEP_getPosition(uint32_t baseAddr)
Gets the current encoder position.
void EQEP_setPosition(uint32_t baseAddr, uint32_t position)
Sets the current encoder position.
void EQEP_setQMAModuleMode(uint32_t baseAddr, eqepQmaMode_t qmaMode)
Set the quadrature mode adapter (QMA) module mode.
uint32_t EQEP_getStatus(uint32_t baseAddr)
Returns content of the eQEP module status register.
void EQEP_setEmulationMode(uint32_t baseAddr, eqepEmulationMode_t emuMode)
Set the emulation mode of the eQEP module.
void EQEP_setWatchdogTimerValue(uint32_t baseAddr, uint16_t value)
Sets the eQEP module watchdog timer value.
void EQEP_clearStatus(uint32_t baseAddr, uint16_t statusFlags)
Clears selected fields of the eQEP module status register.
uint32_t value
Definition: tisci_otp_revision.h:2
void EQEP_enableModule(uint32_t baseAddr)
Enables the eQEP module.
void EQEP_disableInterrupt(uint32_t baseAddr, uint16_t intFlags)
Disables individual eQEP module interrupt sources.
void EQEP_clearInterruptStatus(uint32_t baseAddr, uint16_t intFlags)
Clears eQEP module interrupt sources.
void EQEP_enableCompare(uint32_t baseAddr)
Enables the eQEP module position-compare unit.
uint32_t eqepPositionResetMode_t
Enum Values that can be passed to EQEP_setPositionCounterConfig() as the mode parameter.
Definition: eqep/v0/eqep.h:241
uint32_t EQEP_getIndexPositionLatch(uint32_t baseAddr)
Gets the encoder position that was latched on an index event.
uint32_t EQEP_getCaptureTimer(uint32_t baseAddr)
Gets the encoder capture timer value.
void EQEP_setCaptureConfig(uint32_t baseAddr, eqepCapClkPrescale_t capPrescale, eqeqUpEvntPrescale_t evntPrescale)
Configures eQEP module edge-capture unit.
uint16_t EQEP_getEnabledInterrupt(uint32_t baseAddr)
Get Enabled interrupts of eQEP module.
void EQEP_enableCapture(uint32_t baseAddr)
Enables the eQEP module edge-capture unit.
uint16_t EQEP_getInterruptStatus(uint32_t baseAddr)
Gets the current interrupt status.
void EQEP_disableWatchdog(uint32_t baseAddr)
Disables the eQEP module watchdog timer.
void EQEP_setStrobeSource(uint32_t baseAddr, eqepStrobeSource_t strobeSrc)
Set the strobe input source of the eQEP module.
void EQEP_setCompareConfig(uint32_t baseAddr, uint16_t config, uint32_t compareValue, uint16_t cycles)
Configures eQEP module position-compare unit.
uint32_t eqepStrobeSource_t
Enum Values that can be passed to EQEP_setStrobeSource() as the strobeSrc parameter.
Definition: eqep/v0/eqep.h:327
void EQEP_setPositionInitMode(uint32_t baseAddr, uint16_t initMode)
Configures the mode in which the position counter is initialized.
void EQEP_enableInterrupt(uint32_t baseAddr, uint16_t intFlags)
Enables individual eQEP module interrupt sources.
uint32_t EQEP_getPositionLatch(uint32_t baseAddr)
Gets the encoder position that was latched on a unit time-out event.
char mode[32]
Definition: tisci_pm_core.h:1
uint32_t eqepCapClkPrescale_t
Enum Values that can be passed to EQEP_setCaptureConfig() as the capPrescale parameter.
Definition: eqep/v0/eqep.h:262
int32_t EQEP_setComparePulseWidth(uint32_t baseAddr, uint16_t cycles)
Configures the position-compare unit's sync output pulse width.
void EQEP_disableCapture(uint32_t baseAddr)
Disables the eQEP module edge-capture unit.
uint32_t EQEP_getCapturePeriod(uint32_t baseAddr)
Gets the encoder capture period.
uint32_t EQEP_getStrobePositionLatch(uint32_t baseAddr)
Gets the encoder position that was latched on a strobe event.
void EQEP_forceInterrupt(uint32_t baseAddr, uint16_t intFlags)
Forces individual eQEP module interrupts.
void EQEP_setLatchMode(uint32_t baseAddr, uint32_t latchMode)
Configures the quadrature modes in which the position count can be latched.
void EQEP_enableWatchdog(uint32_t baseAddr, uint16_t period)
Enables the eQEP module watchdog timer.
void EQEP_setPositionCounterConfig(uint32_t baseAddr, eqepPositionResetMode_t mode, uint32_t maxPosition)
Configures eQEP module position counter unit.