AM263x MCU+ SDK  08.02.00
ecap/v1/ecap.h File Reference

Go to the source code of this file.

Macros

#define ECAP_MAX_PRESCALER_VALUE   (32U)
 Header Files. More...
 
#define ECAP_ISR_SOURCE_CAPTURE_EVENT_1   (0x2U)
 Event 1 ISR source. More...
 
#define ECAP_ISR_SOURCE_CAPTURE_EVENT_2   (0x4U)
 Event 2 ISR source. More...
 
#define ECAP_ISR_SOURCE_CAPTURE_EVENT_3   (0x8U)
 Event 3 ISR source. More...
 
#define ECAP_ISR_SOURCE_CAPTURE_EVENT_4   (0x10U)
 Event 4 ISR source. More...
 
#define ECAP_ISR_SOURCE_COUNTER_OVERFLOW   (0x20U)
 Counter overflow ISR source. More...
 
#define ECAP_ISR_SOURCE_COUNTER_PERIOD   (0x40U)
 Counter equals period ISR source. More...
 
#define ECAP_ISR_SOURCE_COUNTER_COMPARE   (0x80U)
 Counter equals compare ISR source. More...
 
#define ECAP_ISR_SOURCE_HR_ERROR   (0x100U)
 High resolution error ISR source. More...
 
#define ECAP_ISR_SOURCE_ALL
 All ISR source. More...
 
#define HRCAP_GLOBAL_CALIBRATION_INTERRUPT   (0x1U)
 Global calibration interrupt flag. More...
 
#define HRCAP_CALIBRATION_DONE   (0x2U)
 Calibration done flag. More...
 
#define HRCAP_CALIBRATION_PERIOD_OVERFLOW   (0x4U)
 Calibration period overflow flag. More...
 

Enumerations

enum  ECAP_EmulationMode { ECAP_EMULATION_STOP = 0x0U, ECAP_EMULATION_RUN_TO_ZERO = 0x1U, ECAP_EMULATION_FREE_RUN = 0x2U }
 
enum  ECAP_CaptureMode { ECAP_CONTINUOUS_CAPTURE_MODE = 0U, ECAP_ONE_SHOT_CAPTURE_MODE = 1U }
 
enum  ECAP_Events { ECAP_EVENT_1 = 0U, ECAP_EVENT_2 = 1U, ECAP_EVENT_3 = 2U, ECAP_EVENT_4 = 3U }
 
enum  ECAP_SyncOutMode { ECAP_SYNC_OUT_SYNCI = 0x00, ECAP_SYNC_OUT_COUNTER_PRD = 0x40, ECAP_SYNC_OUT_DISABLED = 0x80 }
 
enum  ECAP_APWMPolarity { ECAP_APWM_ACTIVE_HIGH = 0x000, ECAP_APWM_ACTIVE_LOW = 0x400 }
 
enum  ECAP_EventPolarity { ECAP_EVNT_RISING_EDGE = 0U, ECAP_EVNT_FALLING_EDGE = 1U }
 
enum  ECAP_InputCaptureSignals {
  ECAP_INPUT_FSI_RX0_TRIG_0 = 0, ECAP_INPUT_FSI_RX0_TRIG_1 = 1, ECAP_INPUT_FSI_RX0_TRIG_2 = 2, ECAP_INPUT_FSI_RX0_TRIG_3 = 3,
  ECAP_INPUT_FSI_RX1_TRIG_0 = 4, ECAP_INPUT_FSI_RX1_TRIG_1 = 5, ECAP_INPUT_FSI_RX1_TRIG_2 = 6, ECAP_INPUT_FSI_RX1_TRIG_3 = 7,
  ECAP_INPUT_FSI_RX2_TRIG_0 = 8, ECAP_INPUT_FSI_RX2_TRIG_1 = 9, ECAP_INPUT_FSI_RX2_TRIG_2 = 10, ECAP_INPUT_FSI_RX2_TRIG_3 = 11,
  ECAP_INPUT_FSI_RX3_TRIG_0 = 12, ECAP_INPUT_FSI_RX3_TRIG_1 = 13, ECAP_INPUT_FSI_RX3_TRIG_2 = 14, ECAP_INPUT_FSI_RX3_TRIG_3 = 15,
  ECAP_INPUT_EQEP0_QI = 16, ECAP_INPUT_EQEP0_QS = 17, ECAP_INPUT_EQEP1_QI = 18, ECAP_INPUT_EQEP1_QS = 19,
  ECAP_INPUT_EQEP2_QI = 20, ECAP_INPUT_EQEP2_QS = 21, ECAP_INPUT_EPWM0_SOCA = 54, ECAP_INPUT_EPWM1_SOCA = 55,
  ECAP_INPUT_EPWM2_SOCA = 56, ECAP_INPUT_EPWM3_SOCA = 57, ECAP_INPUT_EPWM4_SOCA = 58, ECAP_INPUT_EPWM5_SOCA = 59,
  ECAP_INPUT_EPWM6_SOCA = 60, ECAP_INPUT_EPWM7_SOCA = 61, ECAP_INPUT_EPWM8_SOCA = 62, ECAP_INPUT_EPWM9_SOCA = 63,
  ECAP_INPUT_EPWM10_SOCA = 64, ECAP_INPUT_EPWM11_SOCA = 65, ECAP_INPUT_EPWM12_SOCA = 66, ECAP_INPUT_EPWM13_SOCA = 67,
  ECAP_INPUT_EPWM14_SOCA = 68, ECAP_INPUT_EPWM15_SOCA = 69, ECAP_INPUT_EPWM16_SOCA = 70, ECAP_INPUT_EPWM17_SOCA = 71,
  ECAP_INPUT_EPWM18_SOCA = 72, ECAP_INPUT_EPWM19_SOCA = 73, ECAP_INPUT_EPWM20_SOCA = 74, ECAP_INPUT_EPWM21_SOCA = 75,
  ECAP_INPUT_EPWM22_SOCA = 76, ECAP_INPUT_EPWM23_SOCA = 77, ECAP_INPUT_EPWM24_SOCA = 78, ECAP_INPUT_EPWM25_SOCA = 79,
  ECAP_INPUT_EPWM26_SOCA = 80, ECAP_INPUT_EPWM27_SOCA = 81, ECAP_INPUT_EPWM28_SOCA = 82, ECAP_INPUT_EPWM29_SOCA = 83,
  ECAP_INPUT_EPWM30_SOCA = 84, ECAP_INPUT_EPWM31_SOCA = 85, ECAP_INPUT_EPWM0_SOCB = 86, ECAP_INPUT_EPWM1_SOCB = 87,
  ECAP_INPUT_EPWM2_SOCB = 88, ECAP_INPUT_EPWM3_SOCB = 89, ECAP_INPUT_EPWM4_SOCB = 90, ECAP_INPUT_EPWM5_SOCB = 91,
  ECAP_INPUT_EPWM6_SOCB = 92, ECAP_INPUT_EPWM7_SOCB = 93, ECAP_INPUT_EPWM8_SOCB = 94, ECAP_INPUT_EPWM9_SOCB = 95,
  ECAP_INPUT_EPWM10_SOCB = 96, ECAP_INPUT_EPWM11_SOCB = 97, ECAP_INPUT_EPWM12_SOCB = 98, ECAP_INPUT_EPWM13_SOCB = 99,
  ECAP_INPUT_EPWM14_SOCB = 100, ECAP_INPUT_EPWM15_SOCB = 101, ECAP_INPUT_EPWM16_SOCB = 102, ECAP_INPUT_EPWM17_SOCB = 103,
  ECAP_INPUT_EPWM18_SOCB = 104, ECAP_INPUT_EPWM19_SOCB = 105, ECAP_INPUT_EPWM20_SOCB = 106, ECAP_INPUT_EPWM21_SOCB = 107,
  ECAP_INPUT_EPWM22_SOCB = 108, ECAP_INPUT_EPWM23_SOCB = 109, ECAP_INPUT_EPWM24_SOCB = 110, ECAP_INPUT_EPWM25_SOCB = 111,
  ECAP_INPUT_EPWM26_SOCB = 112, ECAP_INPUT_EPWM27_SOCB = 113, ECAP_INPUT_EPWM28_SOCB = 114, ECAP_INPUT_EPWM29_SOCB = 115,
  ECAP_INPUT_EPWM30_SOCB = 116, ECAP_INPUT_EPWM31_SOCB = 117, ECAP_INPUT_SDFM0_COMPARE1_HIGH = 118, ECAP_INPUT_SDFM0_COMPARE1_LOW = 119,
  ECAP_INPUT_SDFM0_COMPARE_Z1 = 120, ECAP_INPUT_SDFM0_COMPARE2_HIGH = 121, ECAP_INPUT_SDFM0_COMPARE2_LOW = 122, ECAP_INPUT_SDFM0_COMPARE_Z2 = 123,
  ECAP_INPUT_SDFM0_COMPARE3_HIGH = 124, ECAP_INPUT_SDFM0_COMPARE3_LOW = 125, ECAP_INPUT_SDFM0_COMPARE_Z3 = 126, ECAP_INPUT_SDFM0_COMPARE4_HIGH = 127,
  ECAP_INPUT_SDFM0_COMPARE4_LOW = 128, ECAP_INPUT_SDFM0_COMPARE_Z4 = 129, ECAP_INPUT_SDFM1_COMPARE1_HIGH = 130, ECAP_INPUT_SDFM1_COMPARE1_LOW = 131,
  ECAP_INPUT_SDFM1_COMPARE_Z1 = 132, ECAP_INPUT_SDFM1_COMPARE2_HIGH = 133, ECAP_INPUT_SDFM1_COMPARE2_LOW = 134, ECAP_INPUT_SDFM1_COMPARE_Z2 = 135,
  ECAP_INPUT_SDFM1_COMPARE3_HIGH = 136, ECAP_INPUT_SDFM1_COMPARE3_LOW = 137, ECAP_INPUT_SDFM1_COMPARE_Z3 = 138, ECAP_INPUT_SDFM1_COMPARE4_HIGH = 139,
  ECAP_INPUT_SDFM1_COMPARE4_LOW = 140, ECAP_INPUT_SDFM1_COMPARE_Z4 = 141, ECAP_INPUT_CMPSSA0_CTRIP_LOW = 142, ECAP_INPUT_CMPSSA0_CTRIP_HIGH = 143,
  ECAP_INPUT_CMPSSA1_CTRIP_LOW = 144, ECAP_INPUT_CMPSSA1_CTRIP_HIGH = 145, ECAP_INPUT_CMPSSA2_CTRIP_LOW = 146, ECAP_INPUT_CMPSSA2_CTRIP_HIGH = 147,
  ECAP_INPUT_CMPSSA3_CTRIP_LOW = 148, ECAP_INPUT_CMPSSA3_CTRIP_HIGH = 149, ECAP_INPUT_CMPSSA4_CTRIP_LOW = 150, ECAP_INPUT_CMPSSA4_CTRIP_HIGH = 151,
  ECAP_INPUT_CMPSSA5_CTRIP_LOW = 152, ECAP_INPUT_CMPSSA5_CTRIP_HIGH = 153, ECAP_INPUT_CMPSSA6_CTRIP_LOW = 154, ECAP_INPUT_CMPSSA6_CTRIP_HIGH = 155,
  ECAP_INPUT_CMPSSA7_CTRIP_LOW = 156, ECAP_INPUT_CMPSSA7_CTRIP_HIGH = 157, ECAP_INPUT_CMPSSA8_CTRIP_LOW = 158, ECAP_INPUT_CMPSSA8_CTRIP_HIGH = 159,
  ECAP_INPUT_CMPSSA9_CTRIP_LOW = 160, ECAP_INPUT_CMPSSA9_CTRIP_HIGH = 161, ECAP_INPUT_CMPSSB0_CTRIP_LOW = 162, ECAP_INPUT_CMPSSB0_CTRIP_HIGH = 163,
  ECAP_INPUT_CMPSSB1_CTRIP_LOW = 164, ECAP_INPUT_CMPSSB1_CTRIP_HIGH = 165, ECAP_INPUT_CMPSSB2_CTRIP_LOW = 166, ECAP_INPUT_CMPSSB2_CTRIP_HIGH = 167,
  ECAP_INPUT_CMPSSB3_CTRIP_LOW = 168, ECAP_INPUT_CMPSSB3_CTRIP_HIGH = 169, ECAP_INPUT_CMPSSB4_CTRIP_LOW = 170, ECAP_INPUT_CMPSSB4_CTRIP_HIGH = 171,
  ECAP_INPUT_CMPSSB5_CTRIP_LOW = 172, ECAP_INPUT_CMPSSB5_CTRIP_HIGH = 173, ECAP_INPUT_CMPSSB6_CTRIP_LOW = 174, ECAP_INPUT_CMPSSB6_CTRIP_HIGH = 175,
  ECAP_INPUT_CMPSSB7_CTRIP_LOW = 176, ECAP_INPUT_CMPSSB7_CTRIP_HIGH = 177, ECAP_INPUT_CMPSSB8_CTRIP_LOW = 178, ECAP_INPUT_CMPSSB8_CTRIP_HIGH = 179,
  ECAP_INPUT_CMPSSB9_CTRIP_LOW = 180, ECAP_INPUT_CMPSSB9_CTRIP_HIGH = 181, ECAP_INPUT_ADC0_EVT0 = 182, ECAP_INPUT_ADC0_EVT1 = 183,
  ECAP_INPUT_ADC0_EVT2 = 184, ECAP_INPUT_ADC0_EVT3 = 185, ECAP_INPUT_ADC1_EVT0 = 186, ECAP_INPUT_ADC1_EVT1 = 187,
  ECAP_INPUT_ADC1_EVT2 = 188, ECAP_INPUT_ADC1_EVT3 = 189, ECAP_INPUT_ADC2_EVT0 = 190, ECAP_INPUT_ADC2_EVT1 = 191,
  ECAP_INPUT_ADC2_EVT2 = 192, ECAP_INPUT_ADC2_EVT3 = 193, ECAP_INPUT_ADC3_EVT0 = 194, ECAP_INPUT_ADC3_EVT1 = 195,
  ECAP_INPUT_ADC3_EVT2 = 196, ECAP_INPUT_ADC3_EVT3 = 197, ECAP_INPUT_ADC4_EVT0 = 198, ECAP_INPUT_ADC4_EVT1 = 199,
  ECAP_INPUT_ADC4_EVT2 = 200, ECAP_INPUT_ADC4_EVT3 = 201, ECAP_INPUT_INPUTXBAR0 = 202, ECAP_INPUT_INPUTXBAR1 = 203,
  ECAP_INPUT_INPUTXBAR2 = 204, ECAP_INPUT_INPUTXBAR3 = 205, ECAP_INPUT_INPUTXBAR4 = 206, ECAP_INPUT_INPUTXBAR5 = 207,
  ECAP_INPUT_INPUTXBAR6 = 208, ECAP_INPUT_INPUTXBAR7 = 209, ECAP_INPUT_INPUTXBAR8 = 210, ECAP_INPUT_INPUTXBAR9 = 211,
  ECAP_INPUT_INPUTXBAR10 = 212, ECAP_INPUT_INPUTXBAR11 = 213, ECAP_INPUT_INPUTXBAR12 = 214, ECAP_INPUT_INPUTXBAR13 = 215,
  ECAP_INPUT_INPUTXBAR14 = 216, ECAP_INPUT_INPUTXBAR15 = 217, ECAP_INPUT_INPUTXBAR16 = 218, ECAP_INPUT_INPUTXBAR17 = 219,
  ECAP_INPUT_INPUTXBAR18 = 220, ECAP_INPUT_INPUTXBAR19 = 221, ECAP_INPUT_INPUTXBAR20 = 222, ECAP_INPUT_INPUTXBAR21 = 223,
  ECAP_INPUT_INPUTXBAR22 = 224, ECAP_INPUT_INPUTXBAR23 = 225, ECAP_INPUT_INPUTXBAR24 = 226, ECAP_INPUT_INPUTXBAR25 = 227,
  ECAP_INPUT_INPUTXBAR26 = 228, ECAP_INPUT_INPUTXBAR27 = 229, ECAP_INPUT_INPUTXBAR28 = 230, ECAP_INPUT_INPUTXBAR29 = 231,
  ECAP_INPUT_INPUTXBAR30 = 232, ECAP_INPUT_INPUTXBAR31 = 233
}
 
enum  ECAP_SyncInPulseSource {
  ECAP_SYNC_IN_PULSE_SRC_DISABLE = 0x0, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM0 = 0x1, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM1 = 0x2, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM2 = 0x3,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM3 = 0x4, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM4 = 0x5, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM5 = 0x6, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM6 = 0x7,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM7 = 0x8, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM8 = 0x9, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM9 = 0xA, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM10 = 0xB,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM11 = 0xC, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM12 = 0xD, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM13 = 0xE, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM14 = 0xF,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM15 = 0x10, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM16 = 0x11, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM17 = 0x12, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM18 = 0x13,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM19 = 0x14, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM20 = 0x15, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM21 = 0x16, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM22 = 0x17,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM23 = 0x18, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM24 = 0x19, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM25 = 0x1A, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM26 = 0x1B,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM27 = 0x1C, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM28 = 0x1D, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM29 = 0x1E, ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM30 = 0x1F,
  ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM31 = 0x20
}
 
enum  HRCAP_CalibrationClockSource { HRCAP_CALIBRATION_CLOCK_SYSCLK = 0x0, HRCAP_CALIBRATION_CLOCK_HRCLK = 0x4 }
 
enum  HRCAP_ContinuousCalibrationMode { HRCAP_CONTINUOUS_CALIBRATION_DISABLED = 0x00, HRCAP_CONTINUOUS_CALIBRATION_ENABLED = 0x20 }
 

Functions

static void ECAP_setEventPrescaler (uint32_t base, uint16_t preScalerValue)
 
static void ECAP_setEventPolarity (uint32_t base, ECAP_Events event, ECAP_EventPolarity polarity)
 
static void ECAP_setCaptureMode (uint32_t base, ECAP_CaptureMode mode, ECAP_Events event)
 
static void ECAP_reArm (uint32_t base)
 
static void ECAP_enableInterrupt (uint32_t base, uint16_t intFlags)
 
static void ECAP_disableInterrupt (uint32_t base, uint16_t intFlags)
 
static uint16_t ECAP_getInterruptSource (uint32_t base)
 
static bool ECAP_getGlobalInterruptStatus (uint32_t base)
 
static void ECAP_clearInterrupt (uint32_t base, uint16_t intFlags)
 
static void ECAP_clearGlobalInterrupt (uint32_t base)
 
static void ECAP_forceInterrupt (uint32_t base, uint16_t intFlags)
 
static void ECAP_enableCaptureMode (uint32_t base)
 
static void ECAP_enableAPWMMode (uint32_t base)
 
static void ECAP_enableCounterResetOnEvent (uint32_t base, ECAP_Events event)
 
static void ECAP_disableCounterResetOnEvent (uint32_t base, ECAP_Events event)
 
static void ECAP_enableTimeStampCapture (uint32_t base)
 
static void ECAP_disableTimeStampCapture (uint32_t base)
 
static void ECAP_setPhaseShiftCount (uint32_t base, uint32_t shiftCount)
 
static void ECAP_setSyncInPulseSource (uint32_t base, ECAP_SyncInPulseSource source)
 
static void ECAP_enableLoadCounter (uint32_t base)
 
static void ECAP_disableLoadCounter (uint32_t base)
 
static void ECAP_loadCounter (uint32_t base)
 
static void ECAP_setSyncOutMode (uint32_t base, ECAP_SyncOutMode mode)
 
static void ECAP_stopCounter (uint32_t base)
 
static void ECAP_startCounter (uint32_t base)
 
static void ECAP_setAPWMPolarity (uint32_t base, ECAP_APWMPolarity polarity)
 
static void ECAP_setAPWMPeriod (uint32_t base, uint32_t periodCount)
 
static void ECAP_setAPWMCompare (uint32_t base, uint32_t compareCount)
 
static void ECAP_setAPWMShadowPeriod (uint32_t base, uint32_t periodCount)
 
static void ECAP_setAPWMShadowCompare (uint32_t base, uint32_t compareCount)
 
static uint32_t ECAP_getTimeBaseCounter (uint32_t base)
 
static uint32_t ECAP_getEventTimeStamp (uint32_t base, ECAP_Events event)
 
static void ECAP_selectECAPInput (uint32_t base, ECAP_InputCaptureSignals input)
 
static void ECAP_resetCounters (uint32_t base)
 
static void ECAP_setDMASource (uint32_t base, ECAP_Events event)
 
static ECAP_Events ECAP_getModuloCounterStatus (uint32_t base)
 
static void HRCAP_enableHighResolution (uint32_t base)
 
static void HRCAP_disableHighResolution (uint32_t base)
 
static void HRCAP_enableHighResolutionClock (uint32_t base)
 
static void HRCAP_disbleHighResolutionClock (uint32_t base)
 
static void HRCAP_startCalibration (uint32_t base)
 
static void HRCAP_setCalibrationMode (uint32_t base)
 
static void HRCAP_enableCalibrationInterrupt (uint32_t base, uint16_t intFlags)
 
static void HRCAP_disableCalibrationInterrupt (uint32_t base, uint16_t intFlags)
 
static uint16_t HRCAP_getCalibrationFlags (uint32_t base)
 
static void HRCAP_clearCalibrationFlags (uint32_t base, uint16_t flags)
 
static bool HRCAP_isCalibrationBusy (uint32_t base)
 
static void HRCAP_forceCalibrationFlags (uint32_t base, uint16_t flag)
 
static void HRCAP_setCalibrationPeriod (uint32_t base, uint32_t sysclkHz)
 
static uint32_t HRCAP_getCalibrationClockPeriod (uint32_t base, HRCAP_CalibrationClockSource clockSource)
 
static Float32 HRCAP_getScaleFactor (uint32_t base)
 
static Float32 HRCAP_convertEventTimeStampNanoseconds (uint32_t timeStamp, Float32 scaleFactor)
 
void ECAP_setEmulationMode (uint32_t base, ECAP_EmulationMode mode)