Functions | |
void | QEIEnable (uint32_t ui32Base) |
void | QEIDisable (uint32_t ui32Base) |
void | QEIConfigure (uint32_t ui32Base, uint32_t ui32Config, uint32_t ui32MaxPosition) |
uint32_t | QEIPositionGet (uint32_t ui32Base) |
void | QEIPositionSet (uint32_t ui32Base, uint32_t ui32Position) |
int32_t | QEIDirectionGet (uint32_t ui32Base) |
bool | QEIErrorGet (uint32_t ui32Base) |
void | QEIFilterEnable (uint32_t ui32Base) |
void | QEIFilterDisable (uint32_t ui32Base) |
void | QEIFilterConfigure (uint32_t ui32Base, uint32_t ui32FiltCnt) |
void | QEIVelocityEnable (uint32_t ui32Base) |
void | QEIVelocityDisable (uint32_t ui32Base) |
void | QEIVelocityConfigure (uint32_t ui32Base, uint32_t ui32PreDiv, uint32_t ui32Period) |
uint32_t | QEIVelocityGet (uint32_t ui32Base) |
void | QEIIntRegister (uint32_t ui32Base, void(*pfnHandler)(void)) |
void | QEIIntUnregister (uint32_t ui32Base) |
void | QEIIntEnable (uint32_t ui32Base, uint32_t ui32IntFlags) |
void | QEIIntDisable (uint32_t ui32Base, uint32_t ui32IntFlags) |
uint32_t | QEIIntStatus (uint32_t ui32Base, bool bMasked) |
void | QEIIntClear (uint32_t ui32Base, uint32_t ui32IntFlags) |
void QEIEnable | ( | uint32_t | ui32Base | ) |
Enables the quadrature encoder.
ui32Base | is the base address of the quadrature encoder module. |
This function enables operation of the quadrature encoder module. The module must be configured before it is enabled.
References ASSERT, HWREG, QEI_CTL_ENABLE, and QEI_O_CTL.
void QEIDisable | ( | uint32_t | ui32Base | ) |
Disables the quadrature encoder.
ui32Base | is the base address of the quadrature encoder module. |
This function disables operation of the quadrature encoder module.
References ASSERT, HWREG, QEI_CTL_ENABLE, and QEI_O_CTL.
void QEIConfigure | ( | uint32_t | ui32Base, |
uint32_t | ui32Config, | ||
uint32_t | ui32MaxPosition | ||
) |
Configures the quadrature encoder.
ui32Base | is the base address of the quadrature encoder module. |
ui32Config | is the configuration for the quadrature encoder. See below for a description of this parameter. |
ui32MaxPosition | specifies the maximum position value. |
This function configures the operation of the quadrature encoder. The ui32Config parameter provides the configuration of the encoder and is the logical OR of several values:
ui32MaxPosition is the maximum value of the position integrator and is the value used to reset the position capture when in index reset mode and moving in the reverse (negative) direction.
References ASSERT, HWREG, QEI_CTL_CAPMODE, QEI_CTL_RESMODE, QEI_CTL_SIGMODE, QEI_CTL_SWAP, QEI_O_CTL, and QEI_O_MAXPOS.
uint32_t QEIPositionGet | ( | uint32_t | ui32Base | ) |
Gets the current encoder position.
ui32Base | is the base address of the quadrature encoder module. |
This function returns the current position of the encoder. Depending upon the configuration of the encoder, and the incident of an index pulse, this value may or may not contain the expected data (that is, if in reset on index mode, if an index pulse has not been encountered, the position counter is not yet aligned with the index pulse).
void QEIPositionSet | ( | uint32_t | ui32Base, |
uint32_t | ui32Position | ||
) |
Sets the current encoder position.
ui32Base | is the base address of the quadrature encoder module. |
ui32Position | is the new position for the encoder. |
This function sets the current position of the encoder; the encoder position is then measured relative to this value.
int32_t QEIDirectionGet | ( | uint32_t | ui32Base | ) |
Gets the current direction of rotation.
ui32Base | is the base address of the quadrature encoder module. |
This function returns the current direction of rotation. In this case, current means the most recently detected direction of the encoder; it may not be presently moving but this is the direction it last moved before it stopped.
References ASSERT, HWREG, QEI_O_STAT, and QEI_STAT_DIRECTION.
bool QEIErrorGet | ( | uint32_t | ui32Base | ) |
Gets the encoder error indicator.
ui32Base | is the base address of the quadrature encoder module. |
This function returns the error indicator for the quadrature encoder. It is an error for both of the signals of the quadrature input to change at the same time.
References ASSERT, HWREG, QEI_O_STAT, and QEI_STAT_ERROR.
void QEIFilterEnable | ( | uint32_t | ui32Base | ) |
Enables the input filter.
ui32Base | is the base address of the quadrature encoder module. |
This function enables operation of the input filter in the quadrature encoder module. The module must be configured before input filter is enabled.
References ASSERT, HWREG, QEI_CTL_FILTEN, and QEI_O_CTL.
void QEIFilterDisable | ( | uint32_t | ui32Base | ) |
Disables the input filter.
ui32Base | is the base address of the quadrature encoder module. |
This function disables operation of the input filter in the quadrature encoder module.
References ASSERT, HWREG, QEI_CTL_FILTEN, and QEI_O_CTL.
void QEIFilterConfigure | ( | uint32_t | ui32Base, |
uint32_t | ui32FiltCnt | ||
) |
Configures the input filter.
ui32Base | is the base address of the quadrature encoder module. |
ui32FiltCnt | specifies the filter count applied to the input quadrature signal before it is counted; can be one of QEI_FILTCNT_2, QEI_FILTCNT_3, QEI_FILTCNT_4, QEI_FILTCNT_5, QEI_FILTCNT_6, QEI_FILTCNT_7, QEI_FILTCNT_8, QEI_FILTCNT_9, QEI_FILTCNT_10, QEI_FILTCNT_11, QEI_FILTCNT_12, QEI_FILTCNT_13, QEI_FILTCNT_14, QEI_FILTCNT_15, QEI_FILTCNT_16 or QEI_FILTCNT_17 |
This function configures the operation of the input filter prescale count. as specified by ui32FiltCnt before the input signals are sent to the quadrature encoder module.
References ASSERT, HWREG, QEI_CTL_FILTCNT_M, and QEI_O_CTL.
void QEIVelocityEnable | ( | uint32_t | ui32Base | ) |
Enables the velocity capture.
ui32Base | is the base address of the quadrature encoder module. |
This function enables operation of the velocity capture in the quadrature encoder module. The module must be configured before velocity capture is enabled.
References ASSERT, HWREG, QEI_CTL_VELEN, and QEI_O_CTL.
void QEIVelocityDisable | ( | uint32_t | ui32Base | ) |
Disables the velocity capture.
ui32Base | is the base address of the quadrature encoder module. |
This function disables operation of the velocity capture in the quadrature encoder module.
References ASSERT, HWREG, QEI_CTL_VELEN, and QEI_O_CTL.
void QEIVelocityConfigure | ( | uint32_t | ui32Base, |
uint32_t | ui32PreDiv, | ||
uint32_t | ui32Period | ||
) |
Configures the velocity capture.
ui32Base | is the base address of the quadrature encoder module. |
ui32PreDiv | specifies the predivider applied to the input quadrature signal before it is counted; can be one of QEI_VELDIV_1, QEI_VELDIV_2, QEI_VELDIV_4, QEI_VELDIV_8, QEI_VELDIV_16, QEI_VELDIV_32, QEI_VELDIV_64, or QEI_VELDIV_128. |
ui32Period | specifies the number of clock ticks over which to measure the velocity; must be non-zero. |
This function configures the operation of the velocity capture portion of the quadrature encoder. The position increment signal is predivided as specified by ui32PreDiv before being accumulated by the velocity capture. The divided signal is accumulated over ui32Period system clock before being saved and resetting the accumulator.
References ASSERT, HWREG, QEI_CTL_VELDIV_M, QEI_O_CTL, and QEI_O_LOAD.
uint32_t QEIVelocityGet | ( | uint32_t | ui32Base | ) |
Gets the current encoder speed.
ui32Base | is the base address of the quadrature encoder module. |
This function returns the current speed of the encoder. The value returned is the number of pulses detected in the specified time period; this number can be multiplied by the number of time periods per second and divided by the number of pulses per revolution to obtain the number of revolutions per second.
References ASSERT, HWREG, and QEI_O_SPEED.
void QEIIntRegister | ( | uint32_t | ui32Base, |
void(*)(void) | pfnHandler | ||
) |
Registers an interrupt handler for the quadrature encoder interrupt.
ui32Base | is the base address of the quadrature encoder module. |
pfnHandler | is a pointer to the function to be called when the quadrature encoder interrupt occurs. |
This function registers the handler to be called when a quadrature encoder interrupt occurs. This function enables the global interrupt in the interrupt controller; specific quadrature encoder interrupts must be enabled via QEIIntEnable(). It is the interrupt handler's responsibility to clear the interrupt source via QEIIntClear().
References ASSERT.
void QEIIntUnregister | ( | uint32_t | ui32Base | ) |
Unregisters an interrupt handler for the quadrature encoder interrupt.
ui32Base | is the base address of the quadrature encoder module. |
This function unregisters the handler to be called when a quadrature encoder interrupt occurs. This function also masks off the interrupt in the interrupt controller so that the interrupt handler no longer is called.
References ASSERT.
void QEIIntEnable | ( | uint32_t | ui32Base, |
uint32_t | ui32IntFlags | ||
) |
Enables individual quadrature encoder interrupt sources.
ui32Base | is the base address of the quadrature encoder module. |
ui32IntFlags | is a bit mask of the interrupt sources to be enabled. Can be any of the QEI_INTERROR, QEI_INTDIR, QEI_INTTIMER, or QEI_INTINDEX values. |
This function enables the indicated quadrature encoder interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.
References ASSERT, HWREG, and QEI_O_INTEN.
void QEIIntDisable | ( | uint32_t | ui32Base, |
uint32_t | ui32IntFlags | ||
) |
Disables individual quadrature encoder interrupt sources.
ui32Base | is the base address of the quadrature encoder module. |
ui32IntFlags | is a bit mask of the interrupt sources to be disabled. This parameter can be any of the QEI_INTERROR, QEI_INTDIR, QEI_INTTIMER, or QEI_INTINDEX values. |
This function disables the indicated quadrature encoder interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.
References ASSERT, HWREG, and QEI_O_INTEN.
uint32_t QEIIntStatus | ( | uint32_t | ui32Base, |
bool | bMasked | ||
) |
Gets the current interrupt status.
ui32Base | is the base address of the quadrature encoder module. |
bMasked | is false if the raw interrupt status is required and true if the masked interrupt status is required. |
This function returns the interrupt status for the quadrature encoder module. Either the raw interrupt status or the status of interrupts that are allowed to reflect to the processor can be returned.
void QEIIntClear | ( | uint32_t | ui32Base, |
uint32_t | ui32IntFlags | ||
) |
Clears quadrature encoder interrupt sources.
ui32Base | is the base address of the quadrature encoder module. |
ui32IntFlags | is a bit mask of the interrupt sources to be cleared. This parameter can be any of the QEI_INTERROR, QEI_INTDIR, QEI_INTTIMER, or QEI_INTINDEX values. |
The specified quadrature encoder interrupt sources are cleared, so that they no longer assert. This function must be called in the interrupt handler to keep the interrupt from being triggered again immediately upon exit.