AM263Px MCU+ SDK: APIs for RESOLVER

| AM263Px MCU+ SDK 26.00.00 |

Data Structures | Functions | Macros
APIs for RESOLVER
APIs for SOC Specific Device Drivers

## Introduction

This module contains APIs to program and use the RESOLVER module.

## Data Structures
struct | Track2Constants_t
| struct to hold the track2 constant data More...
struct | Diag_Mon_SinCos_Offset_drift_data
| Structure to hold the control/status data for Diagnostics mentioned under Monitor Sin or Cos offset drift (DOS) More...
struct | Diag_Mon_SinCos_Gain_drift_data
| Structure to hold the control/status data for Diagnostics mentioned under Monitor Sin or Cos Gain drift (DOS) More...
struct | Diag_Mon_Cos_Phase_drift_data
| Structure to hold the control/status data for Diagnostics mentioned under Monitor Cos Phase drift (DOS) More...
struct | Diag_Mon_ExcFreq_Degradataion_data
| Structure to hold the control/status data for Diagnostics mentioned under Monitor excitation frequency degradation or loss (DOS) More...
struct | Diag_Mon_Rotational_Signal_Integrity_data
| Structure to hold the control/status data for Diagnostics mentioned under Monitor rotational signal integrity (DOS) More...
struct | Diag_Mon_Signal_Integrity_SinSq_CosSq
| Structure to hold the control/status data for Diagnostics mentioned under Monitor signal integrity by checking Sin2+Cos2=Constant (DOS) More...
struct | Diag_Mon_Sin_Cos_High_Amplitude
| Structure to hold the control/status data for Diagnostics mentioned under Monitor Sin or Cos saturation or very high amplitude (DOS) More...
struct | Diag_Mon_Sin_Cos_Weak_Amplitude
| Structure to hold the control/status data for Diagnostics mentioned under Monitor weak Sin or Cos signal below a threshold (LOS) More...
struct | ADC_observationalData
| Structure to hold the Observational Data reads int16_t cos_adc - SW Observational ADC data post latch and Averaged if enabled int16_t sin_adc - SW Observational ADC data post latch and Averaged if enabled int16_t cos_rec - SW Observational ADC data post recovered int16_t sin_rec - SW Observational ADC data post recovered int16_t cos_dc - SW Observational ADC data post DC offset Correction int16_t sin_dc - SW Observational ADC data post DC offset Correction int16_t cos_pgc - SW Observational ADC data post Phase Gain Correction int16_t sin_pgc - SW Observational ADC data post Phase Gain Correction. More...
struct | Core_config_t
| Struct holds the Resolver Core Configurations Can be passed to RDC_coreParamsInit(Core_config_t* coreParams); Note : this is also called in the RDC_paramsInit(RDC_configParams* params);. More...
struct | RDC_configParams
| Struct holds the RDC configurations Can be passed to RDC_paramsInit(RDC_configParams* params); RDC_init(uint32_t base, RDC_configParams* params);. More...
struct | baselineParameters
| Struct holds the Baseline Parameter values Can be passed to RDC_BaselineParametersInit(uint32_t base);. More...
struct | PeakHistogram_observationalData
| Struct to hold the peakHistogram Buckets for Ideal Sample Calculation by SW. once the auto ideal sample detection has ran for the given train limit, these histograms may be read the bucket with highest value may be selected as the ideal sample bucket. More...

## Functions
static void | RDC_setAdcSocWidth (uint32_t base, uint8_t socWidth)
| sets the Start of Conversion Width for the ADC conversion More...
static uint8_t | RDC_getConfiguredAdcSocWidth (uint32_t base)
| Returns the configured ADC SOC Width value. More...
static void | RDC_setAdcBurstCount (uint32_t base, uint8_t burstCount)
| sets the ADC Burst count, samples to be averaged. More...
static uint8_t | RDC_getConfiguredAdcBurstCount (uint32_t base)
| Returns the configured Burst count value. More...
static void | RDC_enableAdcSingleEndedMode (uint32_t base)
| Enable Single Ended Mode of operation. More...
static void | RDC_disableAdcSingleEndedMode (uint32_t base)
| Disable Single Ended Mode of operation. More...
static bool | RDC_isAdcSingleEndedModeEnabled (uint32_t base)
| Returns if Single ended mode of sampling is enabled for the ADCs. More...
static uint32_t | RDC_getAdcSequencerOperationalMode (uint32_t base)
| returns Sequencer Operational Mode Valid values are RDC_SEQUENCER_MODE_0 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COSINE PARALLELLY FOR CORE 0 RDC_SEQUENCER_MODE_1 - ADC0 SAMPLES SIN AND COSINE SEQUENTIALLY FOR CORE 0 RDC_SEQUENCER_MODE_2 - ADC0 SAMPLES SIN0, COS0, COS1, SIN1 SEQUENTIALLY, TO BE AVERAGED FOR CORE 0 RDC_SEQUENCER_MODE_3 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 0 FOLLOWED BY ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 1 RDC_SEQUENCER_MODE_4 - ADC0 SAMPLES SIN FOR CORE 0 AND ADC1 SAMPLES SIN FOR CORE 1 PARALLELLY FOLLOWED BY ADC0 SAMPLES COS FOR CORE 0 AND ADC1 SAMPLES COS FOR CORE 2 RDC_SEQUENCER_MODE_5 - ADC0/1 PARALLELLY SAMPLE SIN0, COS0, COS1, SIN1 SAMPLES SEQUENTIALLY FOR CORE0/1. BOTH SIN(COS) SAMPLES FOR EACH CORE WILL BE AVERAGED. More...
static void | RDC_setAdcSequencerOperationalMode (uint32_t base, uint8_t operationalMode)
| sets Sequencer Operational Mode Valid values are RDC_SEQUENCER_MODE_0 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COSINE PARALLELLY FOR CORE 0 RDC_SEQUENCER_MODE_1 - ADC0 SAMPLES SIN AND COSINE SEQUENTIALLY FOR CORE 0 RDC_SEQUENCER_MODE_2 - ADC0 SAMPLES SIN0, COS0, COS1, SIN1 SEQUENTIALLY, TO BE AVERAGED FOR CORE 0 RDC_SEQUENCER_MODE_3 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 0 FOLLOWED BY ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 1 RDC_SEQUENCER_MODE_4 - ADC0 SAMPLES SIN FOR CORE 0 AND ADC1 SAMPLES SIN FOR CORE 1 PARALLELLY FOLLOWED BY ADC0 SAMPLES COS FOR CORE 0 AND ADC1 SAMPLES COS FOR CORE 2 RDC_SEQUENCER_MODE_5 - ADC0/1 PARALLELLY SAMPLE SIN0, COS0, COS1, SIN1 SAMPLES SEQUENTIALLY FOR CORE0/1. BOTH SIN(COS) SAMPLES FOR EACH CORE WILL BE AVERAGED. More...
static void | RDC_enableResolver (uint32_t base)
| Enables the Resolver Operation. More...
static void | RDC_disableResolver (uint32_t base)
| Disables the Resolver Operation. More...
static bool | RDC_isResolverEnabled (uint32_t base)
| Returns if Resolver is enabled. More...
static void | RDC_setExcitationSignalPhase (uint32_t base, uint16_t phase)
| Sets the Phase value for the Excitation Signal. Phase values in the range [RDC_EXCITATION_FREQUENCY_MIN_PHASE, RDC_EXCITATION_FREQUENCY_MAX_PHASE] can be mapped to 0-360 deg. More...
static uint32_t | RDC_getExcitationSignalPhase (uint32_t base)
| Returns the Phase Value programmed for Excitation signal. More...
static void | RDC_setExcitationSignalFrequencySelect (uint32_t base, uint8_t FrequencySel)
| Sets the Excitation frequency value from the selected values. More...
static uint32_t | RDC_getExcitationSignalFrequencySelect (uint32_t base)
| Returns the selected Excitation Signal Frequency select. More...
static uint32_t | RDC_getAdcSampleRate (uint32_t base)
| Gets the ADC Sampling Ratio. More...
static void | RDC_enableExcitationSignalSyncIn (uint32_t base)
| Enables the Excitation Signal Sync In. More...
static void | RDC_disableExcitationSignalSyncIn (uint32_t base)
| Disables the Excitation Signal Sync In. More...
static bool | RDC_isExcitationSignalSyncInEnabled (uint32_t base)
| Returns if the Excitation Sync-in Signal is enabled. More...
static uint32_t | RDC_getExcitationSignalEventStatus (uint32_t base)
| returns if there is a sync in event after the RDC_enableResolver() has been called once this returns non-zero, RDC_clearExcitationSignalEventStatus(), RDC_disableResolver(), RDC_enableResolver() needs to be called to rearm. More...
static void | RDC_clearExcitationSignalEventStatus (uint32_t base)
| Clears SyncIn event status. More...
static uint32_t | RDC_getExcitationSignalPhaseInfo (uint32_t base)
| Returns the latched value of the last pwm_sync_in rise event of the pwm phase. this is updated on every pwm_sync_in event. More...
static void | RDC_setExcitationSignalSocDelay (uint32_t base, uint16_t socDelay)
| Sets the SOC Delay from the PWM Exciation Signal. More...
static uint16_t | RDC_getConfiguredExcitationSignalSocDelay (uint32_t base)
| Returns Configured Excitation Signal SOC Delay. More...
static void | RDC_setExcitationSignalAmplitudeControl (uint32_t base, uint8_t amplitude)
| set the Amplitude control for the excitation signal More...
static uint32_t | RDC_getExcitationSignalAmplitudeControl (uint32_t base)
| returns the Amplitude control for the excitation signal More...
static void | RDC_enableSequencerInterrupt (uint32_t base)
| Enable Sequencer Error Interrupt. More...
static void | RDC_disableSequencerInterrupt (uint32_t base)
| Disable Sequencer Error Interrupt. More...
static bool | RDC_isSequencerInterruptEnabled (uint32_t base)
| Returns if the sequencer error interrupt is enabled. More...
static void | RDC_clearSequencerInterrupt (uint32_t base)
| Clear the Sequencer Error Interrupt status. More...
static void | RDC_forceSequencerInterrupt (uint32_t base)
| Force the Sequencer Error Interrupt. More...
static uint32_t | RDC_getSequencerInterruptStatus (uint32_t base)
| Returns Sequencer interrupt Status. More...
static void | RDC_enableCoreInterrupt (uint32_t base, uint32_t ResolverCore, uint32_t interruptSource)
| enable Core Interrupt More...
static uint32_t | RDC_getCoreEnabledInterruptSources (uint32_t base, uint8_t ResolverCore)
| returns enabled Interrupt Sources More...
static void | RDC_disableCoreInterrupt (uint32_t base, uint32_t ResolverCore, uint32_t interruptSource)
| Disable Core Interrupt. More...
static void | RDC_clearCoreInterrupt (uint32_t base, uint32_t ResolverCore, uint32_t interruptSource)
| Clear the Core Interrupt status. More...
static void | RDC_forceCoreInterrupt (uint32_t base, uint32_t ResolverCore, uint32_t interruptSource)
| Force the Core Interrupt. More...
static uint32_t | RDC_getCoreInterruptStatus (uint32_t base, uint32_t ResolverCore)
| Returns Core interrupt Status. More...
static uint32_t | RDC_getCoreInterruptSources (uint32_t base, uint32_t ResolverCore)
| Returns Core interrupt sources. More...
static bool | RDC_getCalibrationStatus (uint32_t base)
| Returns the Calibration Status. More...
static void | RDC_clearCalibrationStatus (uint32_t base)
| Clears Calibration Status for re-enabling Calibration Sequence. More...
static void | RDC_selectCalibrationChannel (uint32_t base, uint8_t calChannel)
| Selects Calibration Channel for Cal sequence. More...
static void | RDC_enableCalibration (uint32_t base)
| Enables ADC Calibration. More...
static uint16_t | RDC_getCalibrationData (uint32_t base, uint8_t CalAdc)
| Returns the CAL ADC data for given ADC, if the mode permits. More...
static void | RDC_setDcOffsetCalCoef (uint32_t base, uint8_t core, uint8_t coef1, uint8_t coef2)
| Sets the DC Offset Coefficients coef1, coef2. More...
static void | RDC_getConfiguredDcOffsetCalCoef (uint32_t base, uint8_t core, uint8_t *coef1, uint8_t *coef2)
| Returns the Configured Coefficient Values for DC Offset Estimation and correction logic. More...
static void | RDC_enableBPF (uint32_t base, uint8_t core)
| enables Band Pass Filter before DC Offset logic. More...
static void | RDC_disableBPF (uint32_t base, uint8_t core)
| Disables Band Pass Filter Logic before DC Offset logic. More...
static bool | RDC_isBPFEnabled (uint32_t base, uint8_t core)
| Returns if the BPF is enabled for given RDC Core. More...
static void | RDC_disableDcOffsetAutoCorrection (uint32_t base, uint8_t core)
| Disbales Auto Offset correction from the estimated values Enables DC Offset Manual Correction logic. More...
static bool | RDC_isDcOffsetAutoCorrectionEnabled (uint32_t base, uint8_t core)
| Returns if DC Auto Offset Correction is enabled for give RDC Core. More...
static void | RDC_enableDcOffsetAutoCorrection (uint32_t base, uint8_t core)
| Enables Auto DC Offset Correction from the estimated values Disables DC Offset Manual Correction logic and enabled the Auto correction logic. More...
static void | RDC_setDcOffsetManualCorrectionValue (uint32_t base, uint8_t core, int16_t sin, int16_t cos)
| Sets the Sin, Cosine Manual Correction values for the Dc Offset block in the given resolver core. More...
static void | RDC_getDcOffsetManualCorrectionValue (uint32_t base, uint8_t core, int16_t *sin, int16_t *cos)
| Gets the Sin, Cosine Manual Correction values for the Dc Offset block in the given resolver core. More...
static int16_t | RDC_getDcOffsetEstimatedValues (uint32_t base, uint8_t core, uint8_t sinCosValue)
| returns DC OFFSET estimation values More...
static void | RDC_overrideIdealSampleTime (uint32_t base, uint8_t core, uint8_t overrideValue)
| sets the Override value for the Ideal Sample Time selection. More...
static uint8_t | RDC_getConfiguredOverrideIdealSampleTime (uint32_t base, uint8_t core)
| Returns the Configured Override value for the Ideal Sample Time. More...
static uint8_t | RDC_getIdealSampleTime (uint32_t base, uint8_t core)
| Returns the Ideal Sample Time Esitimated by the resolver core. More...
static void | RDC_setIdealSampleDetectionThreshold (uint32_t base, uint8_t core, uint16_t absThresholdValue)
| sets Ideal Sample Detetction Threshold. validates the sample for the Ideal Sample time detection computation More...
static uint16_t | RDC_getConfiguredIdealSampleDetectionThreshold (uint32_t base, uint8_t core)
| Returns the confiugured Ideal Sample Detection Threshold. More...
static void | RDC_setIdealSampleBpfAdjust (uint32_t base, uint8_t core, uint8_t sampleAdjustCount)
| the BPF sample adjust when the BPF is turned on. This configuration takes effect only on the auto mode, and doesn't take effect on the manual mode More...
static uint8_t | RDC_getConfiguredIdealSampleBpfAdjust (uint32_t base, uint8_t core)
static bool | RDC_getIdealSamplePeakAvgLimitStatus (uint32_t base, uint8_t core)
| Gets the status if the Peak Averaging Limit is reached. More...
static void | RDC_setIdealSampleMode (uint32_t base, uint8_t core, uint8_t mode)
| Ideal Sample Time Computation Mode selection. More...
static uint8_t | RDC_getConfiguredIdealSampleMode (uint32_t base, uint8_t core)
| Returns the configured Ideal Sample Mode. More...
static void | RDC_enableIdealSampleBottomSampling (uint32_t base, uint8_t core)
| Enables bottom Sampling. twice the sampling rate than disabled. the track2 loop runs twice the speed so, the velocity output needs to be converted to respective rotations per second accordingly. More...
static bool | RDC_isIdealSampleBottomSamplingEnabled (uint32_t base, uint8_t core)
| Returns if the Bottom Sampling is enabled in the sample selection. More...
static void | RDC_disableIdealSampleBottomSampling (uint32_t base, uint8_t core)
| Disables Bottom Sampling. More...
static bool | RDC_getPhaseGainEstimationStatus (uint32_t base, uint8_t core)
| Gets status if the Phase Gain Estimation is complete. More...
static void | RDC_clearPhaseGainEstimationStatus (uint32_t base, uint8_t core)
| Clears the Phase Gain Estimation status. This can be used for any udpates to the thresholds or the train limits' and can be polled on for updated values. More...
static void | RDC_setPhaseGainEstimationTrainLimit (uint32_t base, uint8_t core, uint8_t pgEstimationLimit)
| Sets the Phase Gain Estimation train limit. if the programmed value is x, 2^x rotations are considered for the train limit. More...
static uint8_t | RDC_getConfiguredPhaseGainEstimationTrainLimit (uint32_t base, uint8_t core)
| Returns the configured Phase gain Estimation Train Limit. More...
static void | RDC_setCosPhaseBypass (uint32_t base, uint8_t core, int16_t cosPhaseBypass)
| sets the Cos Phase Manual Bypass Value More...
static int16_t | RDC_getConfiguredCosPhaseBypass (uint32_t base, uint8_t core)
| Returns the configrued Cosine Phase Bypass value. More...
static void | RDC_enablePhaseGainEstimation (uint32_t base, uint8_t core)
| Enables Phase Gain Estimation in the background. More...
static void | RDC_disablePhaseGainEstimation (uint32_t base, uint8_t core)
| Disbales Phase Gain Estimation in the background. More...
static bool | RDC_isPhaseGainEstimationEnabled (uint32_t base, uint8_t core)
| Returns if the Phase Gain Estimation logic is enabled. More...
static void | RDC_enablePhaseAutoCorrection (uint32_t base, uint8_t core)
| Enables Phase Auto Correction. More...
static void | RDC_disablePhaseAutoCorrection (uint32_t base, uint8_t core)
| Disables Phase Auto Correction. More...
static bool | RDC_isPhaseAutoCorrectionEnabled (uint32_t base, uint16_t core)
| Returns if the Phase Auto Correction is enabled. More...
static void | RDC_enableGainAutoCorrection (uint32_t base, uint8_t core)
| Enable Gain Auto correction. More...
static void | RDC_disableGainAutoCorrection (uint32_t base, uint8_t core)
| Disable Gain Auto Correction. More...
static bool | RDC_isGainAutoCorrectionEnabled (uint32_t base, uint8_t core)
| Returns if the Gain Auto Correction is. More...
static void | RDC_setGainBypassValue (uint32_t base, uint8_t core, uint16_t sinGainBypass, uint16_t cosGainBypass)
| Sets the Manual Gain Correction values for Sin and Cos. More...
static void | RDC_getConfiguredGainBypassValue (uint32_t base, uint8_t core, uint16_t *sinGainBypass, uint16_t *cosGainBypass)
| Returns the sine and cosine gain bypass values configured. More...
static int16_t | RDC_getPhaseEstimation (uint32_t base, uint8_t core)
| returns the Cos Phase Offset Estimation this can be used only if the RDC_getPhaseGainEstimationStatus() returns true More...
static void | RDC_getGainEstimation (uint32_t base, uint8_t core, float *sinGainEstimateSq, float *cosGainEstimateSq)
| returns the Gain Squared estimates for sin and cosine gain values More...
static void | RDC_setTrack2Constants (uint32_t base, uint8_t core, Track2Constants_t *track2Constants)
| sets up the Track2 loop constants the following are the constants that can be setup using this API More...
static void | RDC_getConfiguredTrack2Constants (uint32_t base, uint8_t core, Track2Constants_t *track2Constants)
| Returns the configured Track2 Constants. More...
static void | RDC_enableTrack2Boost (uint32_t base, uint8_t core)
| enables the track2 Boost More...
static void | RDC_disableTrack2Boost (uint32_t base, uint8_t core)
| disables the track2 Boost More...
static int16_t | RDC_getArcTanAngle (uint32_t base, uint8_t core)
| Returns signed 16bit angle data from ArcTan. the data corresponds to -180 to +180 degrees angle in degrees : ((16b signed int)) * 360 / 2^16. More...
static int16_t | RDC_getTrack2Angle (uint32_t base, uint8_t core)
| Returns Signed 16 bit angle data from Track2 Loop. the data corresponds to -180 to 180 degrees angle in degrees : ((16b signed int)) * 360 / 2^16. More...
static int32_t | RDC_getTrack2Velocity (uint32_t base, uint8_t core)
| Returns Signed 32 bit Velocity data from Track2 Loop. More...
static void | RDC_getDiagnosticsSinCosOffsetDriftData (uint32_t base, uint8_t resolverCore, Diag_Mon_SinCos_Offset_drift_data *monitorData)
| Returns the Monitor Sin or Cos Offset Drift (DOS) diagnostics data int16_t offset_drift_threshold_hi - the configured offset drift threshold hi value int16_t offset_drift_threshold_lo - the configured offset drift threshold lo value bool offset_drift_cos_hi - the status of the flag in the Interrupt status bool offset_drift_cos_lo - the status of the flag in the Interrupt status bool offset_drift_sin_hi - the status of the flag in the Interrupt status bool offset_drift_sin_lo - the status of the flag in the Interrupt status bool offset_drift_en - if the interrupt is enabled for any of the error status. More...
static void | RDC_setDiagnosticsSinCosOffsetDriftData (uint32_t base, uint8_t resolverCore, Diag_Mon_SinCos_Offset_drift_data *monitorData)
| Sets the Monitor Sin or Cos Offset Drift (DOS) diagnostics controls int16_t offset_drift_threshold_hi - the offset drift threshold hi value to be configured int16_t offset_drift_threshold_lo - the offset drift threshold lo value to be configured bool offset_drift_cos_hi - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_cos_lo - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_sin_hi - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_sin_lo - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_en - enables interrupt on the errors. More...
static void | RDC_getDiagnosticsSinCosGainDriftData (uint32_t base, uint8_t resolverCore, Diag_Mon_SinCos_Gain_drift_data *monitorData)
| Returns the Monitor Sin or Cos Gain drift (DOS) diagnostics data uint16_t gain_drift_threshold_hi - the configured gain drift threshold hi value uint16_t gain_drift_threshold_lo - the configured gain drift threshold lo value uint8_t gain_drift_glitch_count - the configured gain drift glitch count value bool gain_drift_cos_hi - the status of the flag in the Interrupt status bool gain_drift_cos_lo - the status of the flag in the Interrupt status bool gain_drift_sin_hi - the status of the flag in the Interrupt status bool gain_drift_sin_lo - the status of the flag in the Interrupt status bool gain_drift_en - if the interrupt is enabled for any of the error status. More...
static void | RDC_setDiagnosticsSinCosGainDriftData (uint32_t base, uint8_t resolverCore, Diag_Mon_SinCos_Gain_drift_data *monitorData)
| Sets the Monitor Sin or Cos Gain drift (DOS) diagnostics Controls uint16_t gain_drift_threshold_hi - the gain drift threshold hi value to be configured uint16_t gain_drift_threshold_lo - the gain drift threshold lo value to be configured uint8_t gain_drift_glitch_count - the gain drift glitch count value to be configured bool gain_drift_cos_hi - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_cos_lo - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_sin_hi - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_sin_lo - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_en - enables interrupt on the errors. More...
static void | RDC_getDiagnosticsCosPhaseDriftData (uint32_t base, uint8_t resolverCore, Diag_Mon_Cos_Phase_drift_data *monitorData)
| Returns the Monitor Cos Phase drift (DOS) diagnostics data int16_t phase_drift_threshold_hi - the configured phase drift threshold hi value int16_t phase_drift_threshold_lo - the configured phase drift threshold lo value uint8_t phase_drift_glitch_count - the configured phase drift glitch count value bool phase_drift_cos_hi - the status of the flag in the Interrupt status bool phase_drift_cos_lo - the status of the flag in the Interrupt status bool phase_drift_en - if the interrupt is enabled for any of the error status. More...
static void | RDC_setDiagnosticsCosPhaseDriftData (uint32_t base, uint8_t resolverCore, Diag_Mon_Cos_Phase_drift_data *monitorData)
| Sets the Monitor Cos Phase drift (DOS) diagnostics Controls int16_t phase_drift_threshold_hi - the phase drift threshold hi value to be configured int16_t phase_drift_threshold_lo - the phase drift threshold lo value to be configured uint8_t phase_drift_glitch_count - the phase drift glitch count value to be configured bool phase_drift_cos_hi - enables interrupt on this flag if set and phase_drift_en is set bool phase_drift_cos_lo - enables interrupt on this flag if set and phase_drift_en is set bool phase_drift_en - enables interrupt on the errors. More...
static void | RDC_getDiagnosticsExcFreqDegradationData (uint32_t base, uint8_t resolverCore, Diag_Mon_ExcFreq_Degradataion_data *monitorData)
| Returns the Monitor excitation frequency degradation or loss (DOS) diagnostics data uint16_t excfreqdetected_sin - the counts detected between ZCS for sin excitation frequency uint16_t excfreqdetected_cos - the counts detected between ZCS for cos excitation frequency uint16_t excfreqdrift_threshold_hi - the configured excfreqdrift threshold hi value uint16_t excfreqdrift_threshold_lo - the configured excfreqdrift threshold lo value uint16_t excfreq_level - the configured threshold on ADC to detect sin or cos zero crossings uint8_t excfreqdrift_glitchcount - the configured excfreqdrift glitch count value bool excfreqdrift_hi - the status of the flag in the Interrupt status bool excfreqdrift_cos_lo - the status of the flag in the Interrupt status bool excfreqdrift_sin_lo - the status of the flag in the Interrupt status bool excfreqdrift_en - if the interrupt is enabled for any of the error status. More...
static void | RDC_setDiagnosticsExcFreqDegradationData (uint32_t base, uint8_t resolverCore, Diag_Mon_ExcFreq_Degradataion_data *monitorData)
| Sets the Monitor excitation frequency degradation or loss (DOS) diagnostics Controls uint16_t excfreqdetected_sin - no action uint16_t excfreqdetected_cos - no action uint16_t excfreqdrift_threshold_hi - the excfreqdrift threshold hi value to be configured uint16_t excfreqdrift_threshold_lo - the excfreqdrift threshold lo value to be configured uint16_t excfreq_level - the threshold on ADC to detect sin or cos zero crossings to be configured uint8_t excfreqdrift_glitchcount - the excfreqdrift glitch count value to be configured bool excfreqdrift_hi - enables interrupt on this flag if set and excfreqdrift_en is set bool excfreqdrift_cos_lo - enables interrupt on this flag if set and excfreqdrift_en is set bool excfreqdrift_sin_lo - enables interrupt on this flag if set and excfreqdrift_en is set bool excfreqdrift_en - enables interrupt on the errors. More...
static void | RDC_getDiagnosticsRotationalSignalIntegrityData (uint32_t base, uint8_t resolverCore, Diag_Mon_Rotational_Signal_Integrity_data *monitorData)
| Returns the Monitor rotational signal integrity (DOS) diagnostics data bool cos_neg_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool cos_pos_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool sin_neg_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool sin_pos_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool sin_multi_zc_error_err - the status of the flag in the Interrupt status bool cos_multi_zc_error_err - the status of the flag in the Interrupt status uint8_t cos_multi_zc_error_count - status of cos capture number of faulty ZCS uint8_t sin_multi_zc_error_count - status of sin capture number of faulty ZCS uint16_t rotpeak_level - the configured "peak level" of rotational Sin/Cos when other signal is zero crossing uint16_t rotfreq_level - the configured "zero crossing detection level" of rotational sin/cos bool zero_cross_rot_en - if the interrupt is enabled for any of the error status. More...
static void | RDC_setDiagnosticsRotationalSignalIntegrityData (uint32_t base, uint8_t resolverCore, Diag_Mon_Rotational_Signal_Integrity_data *monitorData)
| Sets the Monitor rotational signal integrity (DOS) diagnostics Controls bool cos_neg_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool cos_pos_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool sin_neg_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool sin_pos_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool sin_multi_zc_error_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool cos_multi_zc_error_err - enables interrupt on this flag if set and zero_cross_rot_en is set uint8_t cos_multi_zc_error_count - no action uint8_t sin_multi_zc_error_count - no action uint16_t rotpeak_level - the "peak level" of rotational Sin/Cos when other signal is zero crossing to be configured uint16_t rotfreq_level - the "zero crossing detection level" of rotational sin/cos to be configured bool zero_cross_rot_en - enables interrupt on the errors. More...
static void | RDC_getDiagnosticsSignalIntegritySquareSumData (uint32_t base, uint32_t resolverCore, Diag_Mon_Signal_Integrity_SinSq_CosSq *monitorData)
| Returns the Monitor signal integrity by checking Sin2+Cos2=Constant (DOS) diagnostics data uint16_t sinsqcossq_threshold_hi - the configured threshold hi for sinsq + cossq uint16_t sinsqcossq_threshold_lo - the configured threshold lo for sinsq + cossq uint8_t sinsqcossq_glitchcount - the configured glitchcount for sinsq + cossq error uint16_t sinsqcossq_cossq - actual cossq value on error trigger either lo of hi, first event uint16_t sinsqcossq_sinsq - actual sinsq value on error trigger either lo of hi, first event bool sinsqcossq_hi - the status of the flag in the Interrupt status bool sinsqcossq_lo - the status of the flag in the Interrupt status. More...
static void | RDC_setDiagnosticsSignalIntegritySquareSumData (uint32_t base, uint32_t resolverCore, Diag_Mon_Signal_Integrity_SinSq_CosSq *monitorData)
| Sets the Monitor signal integrity by checking Sin2+Cos2=Constant (DOS) diagnostics Controls uint16_t sinsqcossq_threshold_hi - the threshold hi for sinsq + cossq to be configured uint16_t sinsqcossq_threshold_lo - the threshold lo for sinsq + cossq to be configured uint8_t sinsqcossq_glitchcount - the glitchcount for sinsq + cossq error to be configured uint16_t sinsqcossq_cossq - no action uint16_t sinsqcossq_sinsq - no action bool sinsqcossq_hi - enable interrupt on this error if set bool sinsqcossq_lo - enable interrupt on this error if set. More...
static void | RDC_getDiagnosticsHighAmplitudeData (uint32_t base, uint8_t resolverCore, Diag_Mon_Sin_Cos_High_Amplitude *monitorData)
| Returns the Monitor Sin or Cos saturation or very high amplitude (DOS) diagnostics data uint16_t highAmplitude_threshold - the configured threshold for highAmplitude error uint8_t highAmplitude_glitchcount - the configured glitch count for highAmplitude error int16_t highAmplitude_sin_value - value of sin channel at the error trigger instant int16_t highAmplitude_cos_value - value of cos channel at the error trigger instant bool highAmplitude_sin_error - status of the error flag in the interrupt register bool highAmplitude_cos_error - status of the error flag in the interrupt register. More...
static void | RDC_setDiagnosticsHighAmplitudeData (uint32_t base, uint8_t resolverCore, Diag_Mon_Sin_Cos_High_Amplitude *monitorData)
| Sets the Monitor Sin or Cos saturation or very high amplitude (DOS) diagnostics Controls uint16_t highAmplitude_threshold - the threshold for highAmplitude error to be configured uint8_t highAmplitude_glitchcount - the glitch count for highAmplitude error to be configured int16_t highAmplitude_sin_value - no action int16_t highAmplitude_cos_value - no action bool highAmplitude_sin_error - enabled interrupt on this error if set bool highAmplitude_cos_error - enabled interrupt on this error if set. More...
static void | RDC_getDiagnosticsWeakAmplitudeData (uint32_t base, uint8_t resolverCore, Diag_Mon_Sin_Cos_Weak_Amplitude *monitorData)
| Returns the Monitor weak Sin or Cos signal below a threshold (LOS) diagnostics data uint16_t lowAmplitude_threshold - the configured threshold for the lowAmplitude error uint8_t lowAmplitude_glitchcount - the configured glitch count for the lowAmplitude error bool lowAmplitude_error - status of the error flag in the interrupt register int16_t lowAmplitude_sin_value - value of sin channel at the trigger instant int16_t lowAmplitude_cos_value - value of cos channel at the trigger instant. More...
static void | RDC_setDiagnosticsWeakAmplitudeData (uint32_t base, uint8_t resolverCore, Diag_Mon_Sin_Cos_Weak_Amplitude *monitorData)
| Sets the Monitor weak Sin or Cos signal below a threshold (LOS) diagnostics Controls uint16_t lowAmplitude_threshold - the threshold for the lowAmplitude error to be configured uint8_t lowAmplitude_glitchcount - the glitch count for the lowAmplitude error to be configured bool lowAmplitude_error - enabled interrupt on the error if set int16_t lowAmplitude_sin_value - no action int16_t lowAmplitude_cos_value - no action. More...
static void | RDC_getAdcObservationalData (uint32_t base, uint8_t resolverCore, ADC_observationalData *AdcData)
| Returns the Observational ADC data to struct type ADC_observationalData int16_t cos_adc - SW Observational ADC data post latch and Averaged if enabled int16_t sin_adc - SW Observational ADC data post latch and Averaged if enabled int16_t cos_rec - SW Observational ADC data post recovered int16_t sin_rec - SW Observational ADC data post recovered int16_t cos_dc - SW Observational ADC data post DC offset Correction int16_t sin_dc - SW Observational ADC data post DC offset Correction int16_t cos_pgc - SW Observational ADC data post Phase Gain Correction int16_t sin_pgc - SW Observational ADC data post Phase Gain Correction. More...
static void | RDC_getPeakHistogramObservationalData (uint32_t base, uint8_t resolverCore, PeakHistogram_observationalData *histogram)
| Returns the Peak Histogram Bucket data. More...
void | RDC_coreParamsInit (Core_config_t *coreParams)
| Inits the Core Parameters for the resolver core. More...
void | RDC_paramsInit (RDC_configParams *params)
| Inits the resolver Configuration parameters. More...
void | RDC_init (uint32_t base, RDC_configParams *params)
| Configures the RDC based on the parameter values. More...
void | RDC_getStaticConfigurations (uint32_t base, RDC_configParams *params)
| Returns the Static Configurations. More...
int32_t | RDC_verifyStaticConfigurations (uint32_t base, RDC_configParams *paramsInit, RDC_configParams *params)
| Returns if the configurations in paramsInit to params. More...
void | RDC_BaselineParametersInit (uint32_t base)
| Inits Baseline Parameter configurations. More...

## Macros
#define | RDC_CORE_OFFSET (CSL_RESOLVER_REGS_IRQSTATUS_RAW_SYS_1 - CSL_RESOLVER_REGS_IRQSTATUS_RAW_SYS_0)
| Header Files. More...
#define | RDC_EXCITATION_FREQUENCY_MIN_PHASE (0U)
| Minimum Phase value that can be programmed for the Excitation signal. More...
#define | RDC_EXCITATION_FREQUENCY_MAX_PHASE (7999U)
| Maximum Phase value that can be programmed for the Excitation signal. More...
#define | RDC_MAX_EXCITATION_AMPLITUDE (249U)
| Maximum Excitation Signal Amplitude. More...
#define | RDC_RESOLVER_CORE0 (0U)
| Macro used to specify resolver core 0. More...
#define | RDC_RESOLVER_CORE1 (1U)
| Macro used to specify resolver core 1. More...
#define | RDC_ADC_CAL_CHANNEL0 (0U)
| Macros used to sepcify Resovler Channel for the Calibration in the RDC_selectCalibrationChannel() as calChannel parameter. More...
#define | RDC_ADC_CAL_CHANNEL1 (1U)
#define | RDC_ADC_CAL_CHANNEL2 (2U)
#define | RDC_ADC_CAL_CHANNEL3 (3U)
#define | RDC_ADC_CAL_CHANNEL_CAL2 (4U)
#define | RDC_ADC_CAL_CHANNEL_CAL3 (5U)
#define | RDC_ADC_CAL_CHANNEL_CAL0 (6U)
#define | RDC_ADC_CAL_CHANNEL_CAL1 (7U)
#define | RDC_DC_OFFSET_SIN_ESTIMATION (0U)
#define | RDC_DC_OFFSET_COS_ESTIMATION (1U)
#define | RDC_MIN_IDEAL_SAMPLE_PEAK_AVG_LIMIT (0U)
#define | RDC_MAX_IDEAL_SAMPLE_PEAK_AVG_LIMIT (7U)
#define | RDC_MAX_IDEAL_SAMPLE_BPF_ADJUST (0x0000001FU)
#define | RDC_SINGALMODE_SINGLE_ENDED (0U)
#define | RDC_SINGALMODE_DIFFERENTIAL_ENDED (1U)
#define | RDC_ADC_BURST_COUNT_DISABLE (1U)
| Burst Count is disabled. More...
#define | RDC_ADC_BURST_COUNT_2 (2U)
| 2 ADC Samples to be averaged More...
#define | RDC_ADC_BURST_COUNT_4 (4U)
| 4 ADC Samples to be averaged More...
#define | RDC_ADC_BURST_COUNT_8 (8U)
| 8 ADC Samples to be averaged More...
#define | RDC_ADC_BURST_COUNT_16 (16U)
| 16 ADC Samples to be averaged More...
#define | RDC_ADC_BURST_COUNT_32 (32U)
| 32 ADC Samples to be averaged More...
#define | RDC_SEQUENCER_MODE_0 (0U)
| or returned by RDC_getAdcSequencerOperationalMode() More...
#define | RDC_SEQUENCER_MODE_1 (1U)
| ADC0 Samples Sin And Cos Sequentially For Core 0 More...
#define | RDC_SEQUENCER_MODE_2 (2U)
| ADC0 Samples Sin0, Cos0, Cos1, Sin1 Sequentially, To Be Averaged For Core 0. More...
#define | RDC_SEQUENCER_MODE_3 (3U)
| ADC0 Samples Sin And ADC1 Samples Cos Parallelly For Core 0 Followed By ADC0 Samples Sin And ADC1 Samples Cos Parallelly For Core 1. More...
#define | RDC_SEQUENCER_MODE_4 (4U)
| ADC0 Samples Sin For Core 0 And ADC1 Samples Sin For Core 1 Parallelly Followed By ADC0 Samples Cos For Core 0 And ADC1 Samples Cos For Core 2. More...
#define | RDC_SEQUENCER_MODE_5 (5U)
| ADC0/1 Parallelly Sample Sin0, Cos0, Cos1, Sin1 Samples Sequentially For Core0/1. Both Sin(Cos) Samples For Each Core Will Be Averaged. More...
#define | RDC_EXCITATION_FREQUENCY_5K (50)
| or returned by RDC_getExcitationSignalFrequencySelect() More...
#define | RDC_EXCITATION_FREQUENCY_10K (100)
| select 10KHz Excitation Sine Frequency More...
#define | RDC_EXCITATION_FREQUENCY_20K (200)
| select 20KHz Excitation Sine Frequency More...
#define | OVERSAMPLING_RATIO_16 (8)
| Values that can be returned by RDC_getAdcSampleRate() More...
#define | OVERSAMPLING_RATIO_20 (10)
| ADC Sample rate selection value oversampling 20 samples to 1. More...
#define | RDC_INTERRUPT_SOURCE_LOWAMPLITUDE_ERR (0x00000001U)
| Interrupt Sources Macros. More...
#define | RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_COS_FAULT_ERR (0x00000002U)
#define | RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_SIN_FAULT_ERR (0x00000004U)
#define | RDC_INTERRUPT_SOURCE_SINSQCOSSQ_LO_ERR (0x00000008U)
#define | RDC_INTERRUPT_SOURCE_SINSQCOSSQ_HI_ERR (0x00000010U)
#define | RDC_INTERRUPT_SOURCE_COS_MULTI_ZC_ERROR_ERR (0x00000020U)
#define | RDC_INTERRUPT_SOURCE_SIN_MULTI_ZC_ERROR_ERR (0x00000040U)
#define | RDC_INTERRUPT_SOURCE_COS_NEG_ZC_PEAK_MISMATCH_ERR (0x00000080U)
#define | RDC_INTERRUPT_SOURCE_COS_POS_ZC_PEAK_MISMATCH_ERR (0x00000100U)
#define | RDC_INTERRUPT_SOURCE_SIN_NEG_ZC_PEAK_MISMATCH_ERR (0x00000200U)
#define | RDC_INTERRUPT_SOURCE_SIN_POS_ZC_PEAK_MISMATCH_ERR (0x00000400U)
#define | RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_SIN_LO_ERR (0x00000800U)
#define | RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_COS_LO_ERR (0x00001000U)
#define | RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_HI_ERR (0x00002000U)
#define | RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_LO_ERR (0x00004000U)
#define | RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_HI_ERR (0x00008000U)
#define | RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_LO_ERR (0x00010000U)
#define | RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_HI_ERR (0x00020000U)
#define | RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_LO_ERR (0x00040000U)
#define | RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_HI_ERR (0x00080000U)
#define | RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_LO_ERR (0x00100000U)
#define | RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_HI_ERR (0x00200000U)
#define | RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_LO_ERR (0x00400000U)
#define | RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_HI_ERR (0x00800000U)
#define | RDC_INTERRUPT_SOURCE_TRACK_LOCK_ERR (0x01000000U)
#define | RDC_INTERRUPT_SOURCE_ALL
#define | RDC_CAL_ADC0 (0U)
| Macro used to specify Calibration data for ADC 0. More...
#define | RDC_CAL_ADC1 (1U)
| Macro used to specify Calibration data for ADC 1. More...
#define | RDC_IDEAL_SAMPLE_TIME_MODE_0_AUTO_DETECT (0U)
| This mode runs Ideal Sample Time computation on both Sin and Cos. More...
#define | RDC_IDEAL_SAMPLE_TIME_MODE_1_AUTO_DETECT_ON_SIN (1U)
| This mode runs Ideal Sample Time Computation only on Sin. More...
#define | RDC_IDEAL_SAMPLE_TIME_MODE_2_AUTO_DETECT_ON_COS (2U)
| This mode runs Ideal Sample Time Computation only on COS. More...
#define | RDC_IDEAL_SAMPLE_TIME_MODE_3_AUTO_DETECT_OFF (3U)
| This mode enables Manual override of Ideal Sample Time selection. More...

## Macro Definition Documentation

## ◆ RDC_CORE_OFFSET

#define RDC_CORE_OFFSET (CSL_RESOLVER_REGS_IRQSTATUS_RAW_SYS_1 - CSL_RESOLVER_REGS_IRQSTATUS_RAW_SYS_0)

Header Files.

Defines to be used by the driver

## ◆ RDC_EXCITATION_FREQUENCY_MIN_PHASE

#define RDC_EXCITATION_FREQUENCY_MIN_PHASE (0U)

Minimum Phase value that can be programmed for the Excitation signal.

## ◆ RDC_EXCITATION_FREQUENCY_MAX_PHASE

#define RDC_EXCITATION_FREQUENCY_MAX_PHASE (7999U)

Maximum Phase value that can be programmed for the Excitation signal.

## ◆ RDC_MAX_EXCITATION_AMPLITUDE

#define RDC_MAX_EXCITATION_AMPLITUDE (249U)

Maximum Excitation Signal Amplitude.

## ◆ RDC_RESOLVER_CORE0

#define RDC_RESOLVER_CORE0 (0U)

Macro used to specify resolver core 0.

## ◆ RDC_RESOLVER_CORE1

#define RDC_RESOLVER_CORE1 (1U)

Macro used to specify resolver core 1.

## ◆ RDC_ADC_CAL_CHANNEL0

#define RDC_ADC_CAL_CHANNEL0 (0U)

Macros used to sepcify Resovler Channel for the Calibration in the RDC_selectCalibrationChannel() as calChannel parameter.

## ◆ RDC_ADC_CAL_CHANNEL1

#define RDC_ADC_CAL_CHANNEL1 (1U)

## ◆ RDC_ADC_CAL_CHANNEL2

#define RDC_ADC_CAL_CHANNEL2 (2U)

## ◆ RDC_ADC_CAL_CHANNEL3

#define RDC_ADC_CAL_CHANNEL3 (3U)

## ◆ RDC_ADC_CAL_CHANNEL_CAL2

#define RDC_ADC_CAL_CHANNEL_CAL2 (4U)

## ◆ RDC_ADC_CAL_CHANNEL_CAL3

#define RDC_ADC_CAL_CHANNEL_CAL3 (5U)

## ◆ RDC_ADC_CAL_CHANNEL_CAL0

#define RDC_ADC_CAL_CHANNEL_CAL0 (6U)

## ◆ RDC_ADC_CAL_CHANNEL_CAL1

#define RDC_ADC_CAL_CHANNEL_CAL1 (7U)

## ◆ RDC_DC_OFFSET_SIN_ESTIMATION

#define RDC_DC_OFFSET_SIN_ESTIMATION (0U)

## ◆ RDC_DC_OFFSET_COS_ESTIMATION

#define RDC_DC_OFFSET_COS_ESTIMATION (1U)

## ◆ RDC_MIN_IDEAL_SAMPLE_PEAK_AVG_LIMIT

#define RDC_MIN_IDEAL_SAMPLE_PEAK_AVG_LIMIT (0U)

## ◆ RDC_MAX_IDEAL_SAMPLE_PEAK_AVG_LIMIT

#define RDC_MAX_IDEAL_SAMPLE_PEAK_AVG_LIMIT (7U)

## ◆ RDC_MAX_IDEAL_SAMPLE_BPF_ADJUST

#define RDC_MAX_IDEAL_SAMPLE_BPF_ADJUST (0x0000001FU)

## ◆ RDC_SINGALMODE_SINGLE_ENDED

#define RDC_SINGALMODE_SINGLE_ENDED (0U)

## ◆ RDC_SINGALMODE_DIFFERENTIAL_ENDED

#define RDC_SINGALMODE_DIFFERENTIAL_ENDED (1U)

## ◆ RDC_ADC_BURST_COUNT_DISABLE

#define RDC_ADC_BURST_COUNT_DISABLE (1U)

Burst Count is disabled.

Values that can be passed to RDC_setAdcBurstCount() as burstCount parameter

## ◆ RDC_ADC_BURST_COUNT_2

#define RDC_ADC_BURST_COUNT_2 (2U)

2 ADC Samples to be averaged

## ◆ RDC_ADC_BURST_COUNT_4

#define RDC_ADC_BURST_COUNT_4 (4U)

4 ADC Samples to be averaged

## ◆ RDC_ADC_BURST_COUNT_8

#define RDC_ADC_BURST_COUNT_8 (8U)

8 ADC Samples to be averaged

## ◆ RDC_ADC_BURST_COUNT_16

#define RDC_ADC_BURST_COUNT_16 (16U)

16 ADC Samples to be averaged

## ◆ RDC_ADC_BURST_COUNT_32

#define RDC_ADC_BURST_COUNT_32 (32U)

32 ADC Samples to be averaged

## ◆ RDC_SEQUENCER_MODE_0

#define RDC_SEQUENCER_MODE_0 (0U)

or returned by RDC_getAdcSequencerOperationalMode()

Values that can be passed to RDC_setAdcSequencerOperationalMode() as operationalMode parameter

ADC0 Samples Sin And Adc1 Samples Cos Parallelly For Core 0

## ◆ RDC_SEQUENCER_MODE_1

#define RDC_SEQUENCER_MODE_1 (1U)

ADC0 Samples Sin And Cos Sequentially For Core 0

## ◆ RDC_SEQUENCER_MODE_2

#define RDC_SEQUENCER_MODE_2 (2U)

ADC0 Samples Sin0, Cos0, Cos1, Sin1 Sequentially, To Be Averaged For Core 0.

## ◆ RDC_SEQUENCER_MODE_3

#define RDC_SEQUENCER_MODE_3 (3U)

ADC0 Samples Sin And ADC1 Samples Cos Parallelly For Core 0 Followed By ADC0 Samples Sin And ADC1 Samples Cos Parallelly For Core 1.

## ◆ RDC_SEQUENCER_MODE_4

#define RDC_SEQUENCER_MODE_4 (4U)

ADC0 Samples Sin For Core 0 And ADC1 Samples Sin For Core 1 Parallelly Followed By ADC0 Samples Cos For Core 0 And ADC1 Samples Cos For Core 2.

## ◆ RDC_SEQUENCER_MODE_5

#define RDC_SEQUENCER_MODE_5 (5U)

ADC0/1 Parallelly Sample Sin0, Cos0, Cos1, Sin1 Samples Sequentially For Core0/1. Both Sin(Cos) Samples For Each Core Will Be Averaged.

## ◆ RDC_EXCITATION_FREQUENCY_5K

#define RDC_EXCITATION_FREQUENCY_5K (50)

or returned by RDC_getExcitationSignalFrequencySelect()

Values that can be passed to RDC_setExcitationSignalFrequencySelect() as FrequencySel parameter

select 5KHz Excitation Sine Frequency

## ◆ RDC_EXCITATION_FREQUENCY_10K

#define RDC_EXCITATION_FREQUENCY_10K (100)

select 10KHz Excitation Sine Frequency

## ◆ RDC_EXCITATION_FREQUENCY_20K

#define RDC_EXCITATION_FREQUENCY_20K (200)

select 20KHz Excitation Sine Frequency

## ◆ OVERSAMPLING_RATIO_16

#define OVERSAMPLING_RATIO_16 (8)

Values that can be returned by RDC_getAdcSampleRate()

Values that can be passed to RDC_setExcitationSignalFrequencySelect() as FrequencySel parameter

ADC Sample rate selection value oversampling 16 samples to 1

## ◆ OVERSAMPLING_RATIO_20

#define OVERSAMPLING_RATIO_20 (10)

ADC Sample rate selection value oversampling 20 samples to 1.

## ◆ RDC_INTERRUPT_SOURCE_LOWAMPLITUDE_ERR

#define RDC_INTERRUPT_SOURCE_LOWAMPLITUDE_ERR (0x00000001U)

Interrupt Sources Macros.

Values that can be passed to RDC_enableCoreInterrupt(), RDC_disableCoreInterrupt(), RDC_clearCoreInterrupt(), RDC_forceCoreInterrupt(), as FrequencySel parameter Values that can be returned by RDC_getCoreInterruptStatus(), RDC_getCoreEnabledInterruptSources()

## ◆ RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_COS_FAULT_ERR

#define RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_COS_FAULT_ERR (0x00000002U)

## ◆ RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_SIN_FAULT_ERR

#define RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_SIN_FAULT_ERR (0x00000004U)

## ◆ RDC_INTERRUPT_SOURCE_SINSQCOSSQ_LO_ERR

#define RDC_INTERRUPT_SOURCE_SINSQCOSSQ_LO_ERR (0x00000008U)

## ◆ RDC_INTERRUPT_SOURCE_SINSQCOSSQ_HI_ERR

#define RDC_INTERRUPT_SOURCE_SINSQCOSSQ_HI_ERR (0x00000010U)

## ◆ RDC_INTERRUPT_SOURCE_COS_MULTI_ZC_ERROR_ERR

#define RDC_INTERRUPT_SOURCE_COS_MULTI_ZC_ERROR_ERR (0x00000020U)

## ◆ RDC_INTERRUPT_SOURCE_SIN_MULTI_ZC_ERROR_ERR

#define RDC_INTERRUPT_SOURCE_SIN_MULTI_ZC_ERROR_ERR (0x00000040U)

## ◆ RDC_INTERRUPT_SOURCE_COS_NEG_ZC_PEAK_MISMATCH_ERR

#define RDC_INTERRUPT_SOURCE_COS_NEG_ZC_PEAK_MISMATCH_ERR (0x00000080U)

## ◆ RDC_INTERRUPT_SOURCE_COS_POS_ZC_PEAK_MISMATCH_ERR

#define RDC_INTERRUPT_SOURCE_COS_POS_ZC_PEAK_MISMATCH_ERR (0x00000100U)

## ◆ RDC_INTERRUPT_SOURCE_SIN_NEG_ZC_PEAK_MISMATCH_ERR

#define RDC_INTERRUPT_SOURCE_SIN_NEG_ZC_PEAK_MISMATCH_ERR (0x00000200U)

## ◆ RDC_INTERRUPT_SOURCE_SIN_POS_ZC_PEAK_MISMATCH_ERR

#define RDC_INTERRUPT_SOURCE_SIN_POS_ZC_PEAK_MISMATCH_ERR (0x00000400U)

## ◆ RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_SIN_LO_ERR

#define RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_SIN_LO_ERR (0x00000800U)

## ◆ RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_COS_LO_ERR

#define RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_COS_LO_ERR (0x00001000U)

## ◆ RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_HI_ERR

#define RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_HI_ERR (0x00002000U)

## ◆ RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_LO_ERR

#define RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_LO_ERR (0x00004000U)

## ◆ RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_HI_ERR

#define RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_HI_ERR (0x00008000U)

## ◆ RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_LO_ERR

#define RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_LO_ERR (0x00010000U)

## ◆ RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_HI_ERR

#define RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_HI_ERR (0x00020000U)

## ◆ RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_LO_ERR

#define RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_LO_ERR (0x00040000U)

## ◆ RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_HI_ERR

#define RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_HI_ERR (0x00080000U)

## ◆ RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_LO_ERR

#define RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_LO_ERR (0x00100000U)

## ◆ RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_HI_ERR

#define RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_HI_ERR (0x00200000U)

## ◆ RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_LO_ERR

#define RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_LO_ERR (0x00400000U)

## ◆ RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_HI_ERR

#define RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_HI_ERR (0x00800000U)

## ◆ RDC_INTERRUPT_SOURCE_TRACK_LOCK_ERR

#define RDC_INTERRUPT_SOURCE_TRACK_LOCK_ERR (0x01000000U)

## ◆ RDC_INTERRUPT_SOURCE_ALL

#define RDC_INTERRUPT_SOURCE_ALL

Value:
(RDC_INTERRUPT_SOURCE_LOWAMPLITUDE_ERR | \
RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_COS_FAULT_ERR | \
RDC_INTERRUPT_SOURCE_HIGHAMPLITUDE_SIN_FAULT_ERR | \
RDC_INTERRUPT_SOURCE_SINSQCOSSQ_LO_ERR | \
RDC_INTERRUPT_SOURCE_SINSQCOSSQ_HI_ERR | \
RDC_INTERRUPT_SOURCE_COS_MULTI_ZC_ERROR_ERR | \
RDC_INTERRUPT_SOURCE_SIN_MULTI_ZC_ERROR_ERR | \
RDC_INTERRUPT_SOURCE_COS_NEG_ZC_PEAK_MISMATCH_ERR | \
RDC_INTERRUPT_SOURCE_COS_POS_ZC_PEAK_MISMATCH_ERR | \
RDC_INTERRUPT_SOURCE_SIN_NEG_ZC_PEAK_MISMATCH_ERR | \
RDC_INTERRUPT_SOURCE_SIN_POS_ZC_PEAK_MISMATCH_ERR | \
RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_SIN_LO_ERR | \
RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_COS_LO_ERR | \
RDC_INTERRUPT_SOURCE_EXCFREQDRIFT_HI_ERR | \
RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_LO_ERR | \
RDC_INTERRUPT_SOURCE_PHASEDRIFT_COS_HI_ERR | \
RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_LO_ERR | \
RDC_INTERRUPT_SOURCE_GAINDRIFT_SIN_HI_ERR | \
RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_LO_ERR | \
RDC_INTERRUPT_SOURCE_GAINDRIFT_COS_HI_ERR | \
RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_LO_ERR | \
RDC_INTERRUPT_SOURCE_OFFSETDRIFT_SIN_HI_ERR | \
RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_LO_ERR | \
RDC_INTERRUPT_SOURCE_OFFSETDRIFT_COS_HI_ERR | \
RDC_INTERRUPT_SOURCE_TRACK_LOCK_ERR)

## ◆ RDC_CAL_ADC0

#define RDC_CAL_ADC0 (0U)

Macro used to specify Calibration data for ADC 0.

Values that can be passed to RDC_getCalibrationData() as CalAdc parameter

## ◆ RDC_CAL_ADC1

#define RDC_CAL_ADC1 (1U)

Macro used to specify Calibration data for ADC 1.

## ◆ RDC_IDEAL_SAMPLE_TIME_MODE_0_AUTO_DETECT

#define RDC_IDEAL_SAMPLE_TIME_MODE_0_AUTO_DETECT (0U)

This mode runs Ideal Sample Time computation on both Sin and Cos.

Values that can be passed to RDC_setIdealSampleMode() as mode parameter

## ◆ RDC_IDEAL_SAMPLE_TIME_MODE_1_AUTO_DETECT_ON_SIN

#define RDC_IDEAL_SAMPLE_TIME_MODE_1_AUTO_DETECT_ON_SIN (1U)

This mode runs Ideal Sample Time Computation only on Sin.

## ◆ RDC_IDEAL_SAMPLE_TIME_MODE_2_AUTO_DETECT_ON_COS

#define RDC_IDEAL_SAMPLE_TIME_MODE_2_AUTO_DETECT_ON_COS (2U)

This mode runs Ideal Sample Time Computation only on COS.

## ◆ RDC_IDEAL_SAMPLE_TIME_MODE_3_AUTO_DETECT_OFF

#define RDC_IDEAL_SAMPLE_TIME_MODE_3_AUTO_DETECT_OFF (3U)

This mode enables Manual override of Ideal Sample Time selection.

## Function Documentation

## ◆ RDC_setAdcSocWidth()

static void RDC_setAdcSocWidth | ( | uint32_t | base,
|  | uint8_t | socWidth
| ) |  |
| inlinestatic

sets the Start of Conversion Width for the ADC conversion

Parameters

  base | RDC Base Address
  socWidth | the SoC Width for the ADC Conversion

## ◆ RDC_getConfiguredAdcSocWidth()

static uint8_t RDC_getConfiguredAdcSocWidth | ( | uint32_t | base | ) |
| inlinestatic

Returns the configured ADC SOC Width value.

Parameters

  base | RDC Base Address

Returns
  uint8_t the configured ADC SOC Width Value

## ◆ RDC_setAdcBurstCount()

static void RDC_setAdcBurstCount | ( | uint32_t | base,
|  | uint8_t | burstCount
| ) |  |
| inlinestatic

sets the ADC Burst count, samples to be averaged.

Parameters

  base | RDC Base Address
  burstCount | the number of Burst per Sample to be averaged. Valid Burst count values are RDC_ADC_BURST_COUNT_DISABLE // Burst Count is disabled RDC_ADC_BURST_COUNT_2 // 2 samples to be averaged RDC_ADC_BURST_COUNT_4 // 4 samples to be averaged RDC_ADC_BURST_COUNT_8 // 8 samples to be averaged RDC_ADC_BURST_COUNT_16 // 16 samples to be averaged RDC_ADC_BURST_COUNT_32 // 32 samples to be averaged

## ◆ RDC_getConfiguredAdcBurstCount()

static uint8_t RDC_getConfiguredAdcBurstCount | ( | uint32_t | base | ) |
| inlinestatic

Returns the configured Burst count value.

Note
  this is only applicable in the Sequencer Mode 0

Parameters

  base | RDC Base Address

Returns
  uint8_t Configured Burst Count Value. Valid return values are... RDC_ADC_BURST_COUNT_DISABLE // Burst Count is disabled RDC_ADC_BURST_COUNT_2 // 2 samples to be averaged RDC_ADC_BURST_COUNT_4 // 4 samples to be averaged RDC_ADC_BURST_COUNT_8 // 8 samples to be averaged RDC_ADC_BURST_COUNT_16 // 16 samples to be averaged RDC_ADC_BURST_COUNT_32 // 32 samples to be averaged

## ◆ RDC_enableAdcSingleEndedMode()

static void RDC_enableAdcSingleEndedMode | ( | uint32_t | base | ) |
| inlinestatic

Enable Single Ended Mode of operation.

- default is Differential Mode of operation

Parameters

  base | RDC Base Address

## ◆ RDC_disableAdcSingleEndedMode()

static void RDC_disableAdcSingleEndedMode | ( | uint32_t | base | ) |
| inlinestatic

Disable Single Ended Mode of operation.

- default is Differential Mode of operation

Parameters

  base | RDC Base Address

## ◆ RDC_isAdcSingleEndedModeEnabled()

static bool RDC_isAdcSingleEndedModeEnabled | ( | uint32_t | base | ) |
| inlinestatic

Returns if Single ended mode of sampling is enabled for the ADCs.

Parameters

  base |

Returns
  true Single ended mode of sampling is enabled and default mode of Sifferential ended sampling is disabled
  false Single ended mode of sampling is disbaled and default mode of Differential ended sampling is enabled

## ◆ RDC_getAdcSequencerOperationalMode()

static uint32_t RDC_getAdcSequencerOperationalMode | ( | uint32_t | base | ) |
| inlinestatic

returns Sequencer Operational Mode Valid values are RDC_SEQUENCER_MODE_0 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COSINE PARALLELLY FOR CORE 0 RDC_SEQUENCER_MODE_1 - ADC0 SAMPLES SIN AND COSINE SEQUENTIALLY FOR CORE 0 RDC_SEQUENCER_MODE_2 - ADC0 SAMPLES SIN0, COS0, COS1, SIN1 SEQUENTIALLY, TO BE AVERAGED FOR CORE 0 RDC_SEQUENCER_MODE_3 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 0 FOLLOWED BY ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 1 RDC_SEQUENCER_MODE_4 - ADC0 SAMPLES SIN FOR CORE 0 AND ADC1 SAMPLES SIN FOR CORE 1 PARALLELLY FOLLOWED BY ADC0 SAMPLES COS FOR CORE 0 AND ADC1 SAMPLES COS FOR CORE 2 RDC_SEQUENCER_MODE_5 - ADC0/1 PARALLELLY SAMPLE SIN0, COS0, COS1, SIN1 SAMPLES SEQUENTIALLY FOR CORE0/1. BOTH SIN(COS) SAMPLES FOR EACH CORE WILL BE AVERAGED.

Parameters

  base | RDC Base Address

Returns
  uint8_t 4-bit mode value

## ◆ RDC_setAdcSequencerOperationalMode()

static void RDC_setAdcSequencerOperationalMode | ( | uint32_t | base,
|  | uint8_t | operationalMode
| ) |  |
| inlinestatic

sets Sequencer Operational Mode Valid values are RDC_SEQUENCER_MODE_0 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COSINE PARALLELLY FOR CORE 0 RDC_SEQUENCER_MODE_1 - ADC0 SAMPLES SIN AND COSINE SEQUENTIALLY FOR CORE 0 RDC_SEQUENCER_MODE_2 - ADC0 SAMPLES SIN0, COS0, COS1, SIN1 SEQUENTIALLY, TO BE AVERAGED FOR CORE 0 RDC_SEQUENCER_MODE_3 - ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 0 FOLLOWED BY ADC0 SAMPLES SIN AND ADC1 SAMPLES COS PARALLELLY FOR CORE 1 RDC_SEQUENCER_MODE_4 - ADC0 SAMPLES SIN FOR CORE 0 AND ADC1 SAMPLES SIN FOR CORE 1 PARALLELLY FOLLOWED BY ADC0 SAMPLES COS FOR CORE 0 AND ADC1 SAMPLES COS FOR CORE 2 RDC_SEQUENCER_MODE_5 - ADC0/1 PARALLELLY SAMPLE SIN0, COS0, COS1, SIN1 SAMPLES SEQUENTIALLY FOR CORE0/1. BOTH SIN(COS) SAMPLES FOR EACH CORE WILL BE AVERAGED.

Parameters

  base | RDC Base Address
  operationalMode | RDC sequencer operational mode

## ◆ RDC_enableResolver()

static void RDC_enableResolver | ( | uint32_t | base | ) |
| inlinestatic

Enables the Resolver Operation.

Note
  this API has to be called only after all the configurations are complete.

Parameters

  base | RDC Base Address

## ◆ RDC_disableResolver()

static void RDC_disableResolver | ( | uint32_t | base | ) |
| inlinestatic

Disables the Resolver Operation.

Note
  this API has to be called before any of the configurations are done.

Parameters

  base | RDC Base Address

## ◆ RDC_isResolverEnabled()

static bool RDC_isResolverEnabled | ( | uint32_t | base | ) |
| inlinestatic

Returns if Resolver is enabled.

Parameters

  base |

Returns
  true Resolver is enabled
  false Resolver is disabled

## ◆ RDC_setExcitationSignalPhase()

static void RDC_setExcitationSignalPhase | ( | uint32_t | base,
|  | uint16_t | phase
| ) |  |
| inlinestatic

Sets the Phase value for the Excitation Signal. Phase values in the range [RDC_EXCITATION_FREQUENCY_MIN_PHASE, RDC_EXCITATION_FREQUENCY_MAX_PHASE] can be mapped to 0-360 deg.

Parameters

  base | RDC Base Address
  phase | Phase values can be from the range [RDC_EXCITATION_FREQUENCY_MIN_PHASE, RDC_EXCITATION_FREQUENCY_MAX_PHASE]

## ◆ RDC_getExcitationSignalPhase()

static uint32_t RDC_getExcitationSignalPhase | ( | uint32_t | base | ) |
| inlinestatic

Returns the Phase Value programmed for Excitation signal.

Parameters

  base | RDC Base Address

Returns
  uint32_t Phase Value programmed for Excitation signal ranges in [RDC_EXCITATION_FREQUENCY_MIN_PHASE, RDC_EXCITATION_FREQUENCY_MAX_PHASE], can be mapped to 0-360 deg

## ◆ RDC_setExcitationSignalFrequencySelect()

static void RDC_setExcitationSignalFrequencySelect | ( | uint32_t | base,
|  | uint8_t | FrequencySel
| ) |  |
| inlinestatic

Sets the Excitation frequency value from the selected values.

Parameters

  base | RDC Base Address
  FrequencySel | Valid inputs are RDC_EXCITATION_FREQUENCY_5K - selects for 5KHz Excitation Sine Frequency RDC_EXCITATION_FREQUENCY_10K - selects for 10KHz Excitation Sine Frequency RDC_EXCITATION_FREQUENCY_20K - selects for 20KHz Excitation Sine Frequency

## ◆ RDC_getExcitationSignalFrequencySelect()

static uint32_t RDC_getExcitationSignalFrequencySelect | ( | uint32_t | base | ) |
| inlinestatic

Returns the selected Excitation Signal Frequency select.

Parameters

  base | RDC Base Address

Returns
  uint8_t Excitation Frequency selected RDC_EXCITATION_FREQUENCY_5K - selected for 5KHz Excitation Sine Frequency RDC_EXCITATION_FREQUENCY_10K - selected for 10KHz Excitation Sine Frequency RDC_EXCITATION_FREQUENCY_20K - selected for 20KHz Excitation Sine Frequency.

## ◆ RDC_getAdcSampleRate()

static uint32_t RDC_getAdcSampleRate | ( | uint32_t | base | ) |
| inlinestatic

Gets the ADC Sampling Ratio.

Parameters

  base | RDC Base Address

Returns
  uint32_t Valid values are OVERSAMPLING_RATIO_16

## ◆ RDC_enableExcitationSignalSyncIn()

static void RDC_enableExcitationSignalSyncIn | ( | uint32_t | base | ) |
| inlinestatic

Enables the Excitation Signal Sync In.

Parameters

  base | RDC Base Address

## ◆ RDC_disableExcitationSignalSyncIn()

static void RDC_disableExcitationSignalSyncIn | ( | uint32_t | base | ) |
| inlinestatic

Disables the Excitation Signal Sync In.

Parameters

  base | RDC Base Address

## ◆ RDC_isExcitationSignalSyncInEnabled()

static bool RDC_isExcitationSignalSyncInEnabled | ( | uint32_t | base | ) |
| inlinestatic

Returns if the Excitation Sync-in Signal is enabled.

Parameters

  base | RDC Base Address

Returns
  true Sync-in is enabled
  false Sync-in is disabled

## ◆ RDC_getExcitationSignalEventStatus()

static uint32_t RDC_getExcitationSignalEventStatus | ( | uint32_t | base | ) |
| inlinestatic

returns if there is a sync in event after the RDC_enableResolver() has been called once this returns non-zero, RDC_clearExcitationSignalEventStatus(), RDC_disableResolver(), RDC_enableResolver() needs to be called to rearm.

Parameters

  base | RDC Base Address

Returns
  uint32_t sync in event status after resolver enable.

## ◆ RDC_clearExcitationSignalEventStatus()

static void RDC_clearExcitationSignalEventStatus | ( | uint32_t | base | ) |
| inlinestatic

Clears SyncIn event status.

Parameters

  base | RDC Base Address

## ◆ RDC_getExcitationSignalPhaseInfo()

static uint32_t RDC_getExcitationSignalPhaseInfo | ( | uint32_t | base | ) |
| inlinestatic

Returns the latched value of the last pwm_sync_in rise event of the pwm phase. this is updated on every pwm_sync_in event.

Parameters

  base | RDC Base Address

Returns
  uint32_t Excitation phase info.

## ◆ RDC_setExcitationSignalSocDelay()

static void RDC_setExcitationSignalSocDelay | ( | uint32_t | base,
|  | uint16_t | socDelay
| ) |  |
| inlinestatic

Sets the SOC Delay from the PWM Exciation Signal.

Parameters

  base | RDC Base Address
  socDelay | in steps of 800KHz

## ◆ RDC_getConfiguredExcitationSignalSocDelay()

static uint16_t RDC_getConfiguredExcitationSignalSocDelay | ( | uint32_t | base | ) |
| inlinestatic

Returns Configured Excitation Signal SOC Delay.

Parameters

  base | RDC base address

Returns
  uint16_t

## ◆ RDC_setExcitationSignalAmplitudeControl()

static void RDC_setExcitationSignalAmplitudeControl | ( | uint32_t | base,
|  | uint8_t | amplitude
| ) |  |
| inlinestatic

set the Amplitude control for the excitation signal

Parameters

  base | RDC Base Address
  amplitude | 0-249 mapping 0-100%

## ◆ RDC_getExcitationSignalAmplitudeControl()

static uint32_t RDC_getExcitationSignalAmplitudeControl | ( | uint32_t | base | ) |
| inlinestatic

returns the Amplitude control for the excitation signal

Parameters

  base | RDC Base Address

Returns
  0-249 mapping 0-100%

## ◆ RDC_enableSequencerInterrupt()

static void RDC_enableSequencerInterrupt | ( | uint32_t | base | ) |
| inlinestatic

Enable Sequencer Error Interrupt.

Parameters

  base | RDC Base Address

## ◆ RDC_disableSequencerInterrupt()

static void RDC_disableSequencerInterrupt | ( | uint32_t | base | ) |
| inlinestatic

Disable Sequencer Error Interrupt.

Parameters

  base | RDC Base Address

## ◆ RDC_isSequencerInterruptEnabled()

static bool RDC_isSequencerInterruptEnabled | ( | uint32_t | base | ) |
| inlinestatic

Returns if the sequencer error interrupt is enabled.

Returns
  true Sequencer error interrupt is enabled
  false Sequencer error interrutp is disabled

## ◆ RDC_clearSequencerInterrupt()

static void RDC_clearSequencerInterrupt | ( | uint32_t | base | ) |
| inlinestatic

Clear the Sequencer Error Interrupt status.

Parameters

  base | RDC Base Address

## ◆ RDC_forceSequencerInterrupt()

static void RDC_forceSequencerInterrupt | ( | uint32_t | base | ) |
| inlinestatic

Force the Sequencer Error Interrupt.

Parameters

  base | RDC Base Address

## ◆ RDC_getSequencerInterruptStatus()

static uint32_t RDC_getSequencerInterruptStatus | ( | uint32_t | base | ) |
| inlinestatic

Returns Sequencer interrupt Status.

Parameters

  base | RDC Base Address

## ◆ RDC_enableCoreInterrupt()

static void RDC_enableCoreInterrupt | ( | uint32_t | base,
|  | uint32_t | ResolverCore,
|  | uint32_t | interruptSource
| ) |  |
| inlinestatic

enable Core Interrupt

Parameters

  base | RDC Base Address
  ResolverCore | Resolver Core
  interruptSource | Resolver Core Interrupt

## ◆ RDC_getCoreEnabledInterruptSources()

static uint32_t RDC_getCoreEnabledInterruptSources | ( | uint32_t | base,
|  | uint8_t | ResolverCore
| ) |  |
| inlinestatic

returns enabled Interrupt Sources

Parameters

  base | RDC Base Address
  ResolverCore | Resolver Core

Returns
  uint32_t

## ◆ RDC_disableCoreInterrupt()

static void RDC_disableCoreInterrupt | ( | uint32_t | base,
|  | uint32_t | ResolverCore,
|  | uint32_t | interruptSource
| ) |  |
| inlinestatic

Disable Core Interrupt.

Parameters

  base | RDC Base Address
  ResolverCore | Resolver Core
  interruptSource | Resolver Core Interrupt

## ◆ RDC_clearCoreInterrupt()

static void RDC_clearCoreInterrupt | ( | uint32_t | base,
|  | uint32_t | ResolverCore,
|  | uint32_t | interruptSource
| ) |  |
| inlinestatic

Clear the Core Interrupt status.

Parameters

  base | RDC Base Address
  ResolverCore | Resolver Core
  interruptSource | Resolver Core Interrupt

## ◆ RDC_forceCoreInterrupt()

static void RDC_forceCoreInterrupt | ( | uint32_t | base,
|  | uint32_t | ResolverCore,
|  | uint32_t | interruptSource
| ) |  |
| inlinestatic

Force the Core Interrupt.

Parameters

  base | RDC Base Address
  ResolverCore | Resolver Core
  interruptSource | Resolver Core Interrupt

## ◆ RDC_getCoreInterruptStatus()

static uint32_t RDC_getCoreInterruptStatus | ( | uint32_t | base,
|  | uint32_t | ResolverCore
| ) |  |
| inlinestatic

Returns Core interrupt Status.

Parameters

  base | RDC Base Address
  ResolverCore | Resovler Core

## ◆ RDC_getCoreInterruptSources()

static uint32_t RDC_getCoreInterruptSources | ( | uint32_t | base,
|  | uint32_t | ResolverCore
| ) |  |
| inlinestatic

Returns Core interrupt sources.

Parameters

  base | RDC Base Address
  ResolverCore | Resovler Core

## ◆ RDC_getCalibrationStatus()

static bool RDC_getCalibrationStatus | ( | uint32_t | base | ) |
| inlinestatic

Returns the Calibration Status.

Parameters

  base | RDC Base Address

Returns
  bool Calibration Status

## ◆ RDC_clearCalibrationStatus()

static void RDC_clearCalibrationStatus | ( | uint32_t | base | ) |
| inlinestatic

Clears Calibration Status for re-enabling Calibration Sequence.

Parameters

  base | RDC Base Address

## ◆ RDC_selectCalibrationChannel()

static void RDC_selectCalibrationChannel | ( | uint32_t | base,
|  | uint8_t | calChannel
| ) |  |
| inlinestatic

Selects Calibration Channel for Cal sequence.

Parameters

  base | RDC Base Address
  calChannel | channel to read from. valid values are the following RDC_ADC_CAL_CHANNEL0 - ADC_RxAIN0 RDC_ADC_CAL_CHANNEL1 - ADC_RxAIN1 RDC_ADC_CAL_CHANNEL2 - ADC_RxAIN2 RDC_ADC_CAL_CHANNEL3 - ADC_RxAIN3 RDC_ADC_CAL_CHANNEL_CAL0 - ADC_CAL0 RDC_ADC_CAL_CHANNEL_CAL1 - ADC_CAL1 RDC_ADC_CAL_CHANNEL_CAL2 - ADC_CAL2 RDC_ADC_CAL_CHANNEL_CAL3 - ADC_CAL3

## ◆ RDC_enableCalibration()

static void RDC_enableCalibration | ( | uint32_t | base | ) |
| inlinestatic

Enables ADC Calibration.

Parameters

  base | RDC Base Address

## ◆ RDC_getCalibrationData()

static uint16_t RDC_getCalibrationData | ( | uint32_t | base,
|  | uint8_t | CalAdc
| ) |  |
| inlinestatic

Returns the CAL ADC data for given ADC, if the mode permits.

Parameters

  base | RDC Base Address
  CalAdc | valid values are RDC_CAL_ADC0, RDC_CAL_ADC1

Returns
  uint32_t CAL ADC DATA

## ◆ RDC_setDcOffsetCalCoef()

static void RDC_setDcOffsetCalCoef | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint8_t | coef1,
|  | uint8_t | coef2
| ) |  |
| inlinestatic

Sets the DC Offset Coefficients coef1, coef2.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  coef1 | 4 bit unsigned value.
  coef2 | 4 bit unsigned value.

## ◆ RDC_getConfiguredDcOffsetCalCoef()

static void RDC_getConfiguredDcOffsetCalCoef | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint8_t * | coef1,
|  | uint8_t * | coef2
| ) |  |
| inlinestatic

Returns the Configured Coefficient Values for DC Offset Estimation and correction logic.

Parameters

  base | RDC base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  coef1 | Configured Coef values.
  coef2 | Configured Coef values.

## ◆ RDC_enableBPF()

static void RDC_enableBPF | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

enables Band Pass Filter before DC Offset logic.

Note
  the BPF is only supported for oversampling ratio of 20
  The DC Offset logic can be bypassed if BPF is enabled

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_disableBPF()

static void RDC_disableBPF | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Disables Band Pass Filter Logic before DC Offset logic.

Parameters

  base | RDC Base Address
  core | valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_isBPFEnabled()

static bool RDC_isBPFEnabled | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns if the BPF is enabled for given RDC Core.

Parameters

  base | RDC Base Address
  core | valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true BPF is enabled
  false BPF is disabled

## ◆ RDC_disableDcOffsetAutoCorrection()

static void RDC_disableDcOffsetAutoCorrection | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Disbales Auto Offset correction from the estimated values Enables DC Offset Manual Correction logic.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_isDcOffsetAutoCorrectionEnabled()

static bool RDC_isDcOffsetAutoCorrectionEnabled | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns if DC Auto Offset Correction is enabled for give RDC Core.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true Auto Offset Correction is enabled
  false Auto Offset Correction is disabled

## ◆ RDC_enableDcOffsetAutoCorrection()

static void RDC_enableDcOffsetAutoCorrection | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Enables Auto DC Offset Correction from the estimated values Disables DC Offset Manual Correction logic and enabled the Auto correction logic.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_setDcOffsetManualCorrectionValue()

static void RDC_setDcOffsetManualCorrectionValue | ( | uint32_t | base,
|  | uint8_t | core,
|  | int16_t | sin,
|  | int16_t | cos
| ) |  |
| inlinestatic

Sets the Sin, Cosine Manual Correction values for the Dc Offset block in the given resolver core.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  sin | 16 bit signed int value for sine manual offset
  cos | 16 bit signed int value for cosine manual offset

## ◆ RDC_getDcOffsetManualCorrectionValue()

static void RDC_getDcOffsetManualCorrectionValue | ( | uint32_t | base,
|  | uint8_t | core,
|  | int16_t * | sin,
|  | int16_t * | cos
| ) |  |
| inlinestatic

Gets the Sin, Cosine Manual Correction values for the Dc Offset block in the given resolver core.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  sin | pointer to Return Sin Manual Correction Value Configured
  cos | pointer to Return Cos Manual Correction Value Configured

## ◆ RDC_getDcOffsetEstimatedValues()

static int16_t RDC_getDcOffsetEstimatedValues | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint8_t | sinCosValue
| ) |  |
| inlinestatic

returns DC OFFSET estimation values

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  sinCosValue | Valid inputs are RDC_DC_OFFSET_SIN_ESTIMATION RDC_DC_OFFSET_COS_ESTIMATION

Returns
  int16_t

## ◆ RDC_overrideIdealSampleTime()

static void RDC_overrideIdealSampleTime | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint8_t | overrideValue
| ) |  |
| inlinestatic

sets the Override value for the Ideal Sample Time selection.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  overrideValue | uint8_t value

## ◆ RDC_getConfiguredOverrideIdealSampleTime()

static uint8_t RDC_getConfiguredOverrideIdealSampleTime | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns the Configured Override value for the Ideal Sample Time.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  uint8_t Returns the Configured Override value for the Ideal Sample Time

## ◆ RDC_getIdealSampleTime()

static uint8_t RDC_getIdealSampleTime | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns the Ideal Sample Time Esitimated by the resolver core.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  uint8_t

## ◆ RDC_setIdealSampleDetectionThreshold()

static void RDC_setIdealSampleDetectionThreshold | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint16_t | absThresholdValue
| ) |  |
| inlinestatic

sets Ideal Sample Detetction Threshold. validates the sample for the Ideal Sample time detection computation

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  absThresholdValue | the value needs to be higher than the trigger peak detect value.

## ◆ RDC_getConfiguredIdealSampleDetectionThreshold()

static uint16_t RDC_getConfiguredIdealSampleDetectionThreshold | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns the confiugured Ideal Sample Detection Threshold.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  uint16_t Absolute Threshold value configured for the ideal sample detection

## ◆ RDC_setIdealSampleBpfAdjust()

static void RDC_setIdealSampleBpfAdjust | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint8_t | sampleAdjustCount
| ) |  |
| inlinestatic

the BPF sample adjust when the BPF is turned on. This configuration takes effect only on the auto mode, and doesn't take effect on the manual mode

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  sampleAdjustCount | this is a 5 bit value.

## ◆ RDC_getConfiguredIdealSampleBpfAdjust()

static uint8_t RDC_getConfiguredIdealSampleBpfAdjust | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

## ◆ RDC_getIdealSamplePeakAvgLimitStatus()

static bool RDC_getIdealSamplePeakAvgLimitStatus | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Gets the status if the Peak Averaging Limit is reached.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true
  false

## ◆ RDC_setIdealSampleMode()

static void RDC_setIdealSampleMode | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint8_t | mode
| ) |  |
| inlinestatic

Ideal Sample Time Computation Mode selection.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  mode | uint8_t input. the following are the Valid arguments RDC_IDEAL_SAMPLE_TIME_MODE_0_AUTO_DETECT - Computation on sin and cos RDC_IDEAL_SAMPLE_TIME_MODE_1_AUTO_DETECT_ON_SIN - Computation on sin only RDC_IDEAL_SAMPLE_TIME_MODE_2_AUTO_DETECT_ON_COS - Computation on cos only RDC_IDEAL_SAMPLE_TIME_MODE_3_AUTO_DETECT_OFF - Manual Override of Ideal Sample Time

## ◆ RDC_getConfiguredIdealSampleMode()

static uint8_t RDC_getConfiguredIdealSampleMode | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns the configured Ideal Sample Mode.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  uint8_t the following are the Valid outputs
  - RDC_IDEAL_SAMPLE_TIME_MODE_0_AUTO_DETECT - Computation on sin and cos
  - RDC_IDEAL_SAMPLE_TIME_MODE_1_AUTO_DETECT_ON_SIN - Computation on sin only
  - RDC_IDEAL_SAMPLE_TIME_MODE_2_AUTO_DETECT_ON_COS - Computation on cos only
  - RDC_IDEAL_SAMPLE_TIME_MODE_3_AUTO_DETECT_OFF - Manual Override of Ideal Sample Time

## ◆ RDC_enableIdealSampleBottomSampling()

static void RDC_enableIdealSampleBottomSampling | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Enables bottom Sampling. twice the sampling rate than disabled. the track2 loop runs twice the speed so, the velocity output needs to be converted to respective rotations per second accordingly.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_isIdealSampleBottomSamplingEnabled()

static bool RDC_isIdealSampleBottomSamplingEnabled | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns if the Bottom Sampling is enabled in the sample selection.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true Bottom Sampling is enabled
  false Bottom Sampling is disabled

## ◆ RDC_disableIdealSampleBottomSampling()

static void RDC_disableIdealSampleBottomSampling | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Disables Bottom Sampling.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_getPhaseGainEstimationStatus()

static bool RDC_getPhaseGainEstimationStatus | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Gets status if the Phase Gain Estimation is complete.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true if the phase gain estimation is complete
  false if the phase gain estimation is not complete

## ◆ RDC_clearPhaseGainEstimationStatus()

static void RDC_clearPhaseGainEstimationStatus | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Clears the Phase Gain Estimation status. This can be used for any udpates to the thresholds or the train limits' and can be polled on for updated values.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_setPhaseGainEstimationTrainLimit()

static void RDC_setPhaseGainEstimationTrainLimit | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint8_t | pgEstimationLimit
| ) |  |
| inlinestatic

Sets the Phase Gain Estimation train limit. if the programmed value is x, 2^x rotations are considered for the train limit.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  pgEstimationLimit |

## ◆ RDC_getConfiguredPhaseGainEstimationTrainLimit()

static uint8_t RDC_getConfiguredPhaseGainEstimationTrainLimit | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns the configured Phase gain Estimation Train Limit.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core Within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  uint8_t Configured Train limit for Phase Gain Estimation

## ◆ RDC_setCosPhaseBypass()

static void RDC_setCosPhaseBypass | ( | uint32_t | base,
|  | uint8_t | core,
|  | int16_t | cosPhaseBypass
| ) |  |
| inlinestatic

sets the Cos Phase Manual Bypass Value

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  cosPhaseBypass | the values range [-2^15, 2^15], mapping to -90 to 90 deg correction for the phase

## ◆ RDC_getConfiguredCosPhaseBypass()

static int16_t RDC_getConfiguredCosPhaseBypass | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns the configrued Cosine Phase Bypass value.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  int16_t Configured Phase bypass value

Note
  the values range [-2^15, 2^15], map to -90 to 90 deg correction for the phase

## ◆ RDC_enablePhaseGainEstimation()

static void RDC_enablePhaseGainEstimation | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Enables Phase Gain Estimation in the background.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_disablePhaseGainEstimation()

static void RDC_disablePhaseGainEstimation | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Disbales Phase Gain Estimation in the background.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_isPhaseGainEstimationEnabled()

static bool RDC_isPhaseGainEstimationEnabled | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns if the Phase Gain Estimation logic is enabled.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true Phase Gain Estimation Logic is enabled
  false Phase Gain Estimation Logic is enabled

## ◆ RDC_enablePhaseAutoCorrection()

static void RDC_enablePhaseAutoCorrection | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Enables Phase Auto Correction.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_disablePhaseAutoCorrection()

static void RDC_disablePhaseAutoCorrection | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Disables Phase Auto Correction.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_isPhaseAutoCorrectionEnabled()

static bool RDC_isPhaseAutoCorrectionEnabled | ( | uint32_t | base,
|  | uint16_t | core
| ) |  |
| inlinestatic

Returns if the Phase Auto Correction is enabled.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true Phase Auto Correction is enabled
  false Phase Auto Correction is disabled

## ◆ RDC_enableGainAutoCorrection()

static void RDC_enableGainAutoCorrection | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Enable Gain Auto correction.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_disableGainAutoCorrection()

static void RDC_disableGainAutoCorrection | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Disable Gain Auto Correction.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_isGainAutoCorrectionEnabled()

static bool RDC_isGainAutoCorrectionEnabled | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns if the Gain Auto Correction is.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  true Gain Auto correction is enabled
  false Gain Auto correction is disabled

## ◆ RDC_setGainBypassValue()

static void RDC_setGainBypassValue | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint16_t | sinGainBypass,
|  | uint16_t | cosGainBypass
| ) |  |
| inlinestatic

Sets the Manual Gain Correction values for Sin and Cos.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  sinGainBypass | uint16_t always positive value (gain >= 2^14)
  cosGainBypass | uint16_t type

## ◆ RDC_getConfiguredGainBypassValue()

static void RDC_getConfiguredGainBypassValue | ( | uint32_t | base,
|  | uint8_t | core,
|  | uint16_t * | sinGainBypass,
|  | uint16_t * | cosGainBypass
| ) |  |
| inlinestatic

Returns the sine and cosine gain bypass values configured.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  sinGainBypass | Configured Sine Gain Bypass value
  cosGainBypass | Configured Cosine Gain Bypass value

## ◆ RDC_getPhaseEstimation()

static int16_t RDC_getPhaseEstimation | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

returns the Cos Phase Offset Estimation this can be used only if the RDC_getPhaseGainEstimationStatus() returns true

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  int16_t -2^15 corresponds to -90 deg and 2^15 corresponds to +90 deg

## ◆ RDC_getGainEstimation()

static void RDC_getGainEstimation | ( | uint32_t | base,
|  | uint8_t | core,
|  | float * | sinGainEstimateSq,
|  | float * | cosGainEstimateSq
| ) |  |
| inlinestatic

returns the Gain Squared estimates for sin and cosine gain values

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC

Note
  this is gain squared value. Perform a sqrt() over to get the actual gain value. the calculated gain value can be used in the RDC_setGainBypassValue() as the gain_calc*(2^14) being the sinGainBypass or cosGainBypass respectively for sine and cosine gain bypass values

valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Parameters

  cosGainEstimateSq | float pass by reference
  sinGainEstimateSq | float pass by reference

## ◆ RDC_setTrack2Constants()

static void RDC_setTrack2Constants | ( | uint32_t | base,
|  | uint8_t | core,
|  | Track2Constants_t * | track2Constants
| ) |  |
| inlinestatic

sets up the Track2 loop constants the following are the constants that can be setup using this API

- kvelfilt

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  track2Constants |

## ◆ RDC_getConfiguredTrack2Constants()

static void RDC_getConfiguredTrack2Constants | ( | uint32_t | base,
|  | uint8_t | core,
|  | Track2Constants_t * | track2Constants
| ) |  |
| inlinestatic

Returns the configured Track2 Constants.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1
  track2Constants | returns the configured into the struct members

## ◆ RDC_enableTrack2Boost()

static void RDC_enableTrack2Boost | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

enables the track2 Boost

Parameters

  base | RDC base address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_disableTrack2Boost()

static void RDC_disableTrack2Boost | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

disables the track2 Boost

Parameters

  base | RDC base address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

## ◆ RDC_getArcTanAngle()

static int16_t RDC_getArcTanAngle | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns signed 16bit angle data from ArcTan. the data corresponds to -180 to +180 degrees angle in degrees : ((16b signed int)) * 360 / 2^16.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  in16_t angle value

## ◆ RDC_getTrack2Angle()

static int16_t RDC_getTrack2Angle | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns Signed 16 bit angle data from Track2 Loop. the data corresponds to -180 to 180 degrees angle in degrees : ((16b signed int)) * 360 / 2^16.

Parameters

  base | RDC Base Address
  core | denotes Resolver Core within RDC valid values are RDC_RESOLVER_CORE0, RDC_RESOLVER_CORE1

Returns
  int16_t angle value

## ◆ RDC_getTrack2Velocity()

static int32_t RDC_getTrack2Velocity | ( | uint32_t | base,
|  | uint8_t | core
| ) |  |
| inlinestatic

Returns Signed 32 bit Velocity data from Track2 Loop.

Velocity in RPS : ((32b singed int)* frequency)/(2^32) [if RDC_disableIdealSampleBottomSampling() is called] Velocity in RPS : ((32b singed int)* frequency)/((2^32) * 2) [if RDC_enableIdealSampleBottomSampling() is called]

Parameters

  base |
  core |

Returns
  int32_t

## ◆ RDC_getDiagnosticsSinCosOffsetDriftData()

static void RDC_getDiagnosticsSinCosOffsetDriftData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_SinCos_Offset_drift_data * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor Sin or Cos Offset Drift (DOS) diagnostics data int16_t offset_drift_threshold_hi - the configured offset drift threshold hi value int16_t offset_drift_threshold_lo - the configured offset drift threshold lo value bool offset_drift_cos_hi - the status of the flag in the Interrupt status bool offset_drift_cos_lo - the status of the flag in the Interrupt status bool offset_drift_sin_hi - the status of the flag in the Interrupt status bool offset_drift_sin_lo - the status of the flag in the Interrupt status bool offset_drift_en - if the interrupt is enabled for any of the error status.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_SinCos_Offset_drift_data struct as input

## ◆ RDC_setDiagnosticsSinCosOffsetDriftData()

static void RDC_setDiagnosticsSinCosOffsetDriftData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_SinCos_Offset_drift_data * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor Sin or Cos Offset Drift (DOS) diagnostics controls int16_t offset_drift_threshold_hi - the offset drift threshold hi value to be configured int16_t offset_drift_threshold_lo - the offset drift threshold lo value to be configured bool offset_drift_cos_hi - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_cos_lo - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_sin_hi - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_sin_lo - enables interrupt on this flag if set and offset_drift_en is set bool offset_drift_en - enables interrupt on the errors.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_SinCos_Offset_drift_data struct as input

## ◆ RDC_getDiagnosticsSinCosGainDriftData()

static void RDC_getDiagnosticsSinCosGainDriftData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_SinCos_Gain_drift_data * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor Sin or Cos Gain drift (DOS) diagnostics data uint16_t gain_drift_threshold_hi - the configured gain drift threshold hi value uint16_t gain_drift_threshold_lo - the configured gain drift threshold lo value uint8_t gain_drift_glitch_count - the configured gain drift glitch count value bool gain_drift_cos_hi - the status of the flag in the Interrupt status bool gain_drift_cos_lo - the status of the flag in the Interrupt status bool gain_drift_sin_hi - the status of the flag in the Interrupt status bool gain_drift_sin_lo - the status of the flag in the Interrupt status bool gain_drift_en - if the interrupt is enabled for any of the error status.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_SinCos_Gain_drift_data struct as input

## ◆ RDC_setDiagnosticsSinCosGainDriftData()

static void RDC_setDiagnosticsSinCosGainDriftData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_SinCos_Gain_drift_data * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor Sin or Cos Gain drift (DOS) diagnostics Controls uint16_t gain_drift_threshold_hi - the gain drift threshold hi value to be configured uint16_t gain_drift_threshold_lo - the gain drift threshold lo value to be configured uint8_t gain_drift_glitch_count - the gain drift glitch count value to be configured bool gain_drift_cos_hi - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_cos_lo - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_sin_hi - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_sin_lo - enables interrupt on this flag if set and gain_drift_en is set bool gain_drift_en - enables interrupt on the errors.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_SinCos_Gain_drift_data struct as input

## ◆ RDC_getDiagnosticsCosPhaseDriftData()

static void RDC_getDiagnosticsCosPhaseDriftData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Cos_Phase_drift_data * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor Cos Phase drift (DOS) diagnostics data int16_t phase_drift_threshold_hi - the configured phase drift threshold hi value int16_t phase_drift_threshold_lo - the configured phase drift threshold lo value uint8_t phase_drift_glitch_count - the configured phase drift glitch count value bool phase_drift_cos_hi - the status of the flag in the Interrupt status bool phase_drift_cos_lo - the status of the flag in the Interrupt status bool phase_drift_en - if the interrupt is enabled for any of the error status.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Cos_Phase_drift_data struct as input

## ◆ RDC_setDiagnosticsCosPhaseDriftData()

static void RDC_setDiagnosticsCosPhaseDriftData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Cos_Phase_drift_data * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor Cos Phase drift (DOS) diagnostics Controls int16_t phase_drift_threshold_hi - the phase drift threshold hi value to be configured int16_t phase_drift_threshold_lo - the phase drift threshold lo value to be configured uint8_t phase_drift_glitch_count - the phase drift glitch count value to be configured bool phase_drift_cos_hi - enables interrupt on this flag if set and phase_drift_en is set bool phase_drift_cos_lo - enables interrupt on this flag if set and phase_drift_en is set bool phase_drift_en - enables interrupt on the errors.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Cos_Phase_drift_data struct as input

## ◆ RDC_getDiagnosticsExcFreqDegradationData()

static void RDC_getDiagnosticsExcFreqDegradationData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_ExcFreq_Degradataion_data * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor excitation frequency degradation or loss (DOS) diagnostics data uint16_t excfreqdetected_sin - the counts detected between ZCS for sin excitation frequency uint16_t excfreqdetected_cos - the counts detected between ZCS for cos excitation frequency uint16_t excfreqdrift_threshold_hi - the configured excfreqdrift threshold hi value uint16_t excfreqdrift_threshold_lo - the configured excfreqdrift threshold lo value uint16_t excfreq_level - the configured threshold on ADC to detect sin or cos zero crossings uint8_t excfreqdrift_glitchcount - the configured excfreqdrift glitch count value bool excfreqdrift_hi - the status of the flag in the Interrupt status bool excfreqdrift_cos_lo - the status of the flag in the Interrupt status bool excfreqdrift_sin_lo - the status of the flag in the Interrupt status bool excfreqdrift_en - if the interrupt is enabled for any of the error status.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_ExcFreq_Degradataion_data struct as input

## ◆ RDC_setDiagnosticsExcFreqDegradationData()

static void RDC_setDiagnosticsExcFreqDegradationData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_ExcFreq_Degradataion_data * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor excitation frequency degradation or loss (DOS) diagnostics Controls uint16_t excfreqdetected_sin - no action uint16_t excfreqdetected_cos - no action uint16_t excfreqdrift_threshold_hi - the excfreqdrift threshold hi value to be configured uint16_t excfreqdrift_threshold_lo - the excfreqdrift threshold lo value to be configured uint16_t excfreq_level - the threshold on ADC to detect sin or cos zero crossings to be configured uint8_t excfreqdrift_glitchcount - the excfreqdrift glitch count value to be configured bool excfreqdrift_hi - enables interrupt on this flag if set and excfreqdrift_en is set bool excfreqdrift_cos_lo - enables interrupt on this flag if set and excfreqdrift_en is set bool excfreqdrift_sin_lo - enables interrupt on this flag if set and excfreqdrift_en is set bool excfreqdrift_en - enables interrupt on the errors.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_ExcFreq_Degradataion_data struct as input

## ◆ RDC_getDiagnosticsRotationalSignalIntegrityData()

static void RDC_getDiagnosticsRotationalSignalIntegrityData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Rotational_Signal_Integrity_data * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor rotational signal integrity (DOS) diagnostics data bool cos_neg_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool cos_pos_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool sin_neg_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool sin_pos_zc_peak_mismatch_err - the status of the flag in the Interrupt status bool sin_multi_zc_error_err - the status of the flag in the Interrupt status bool cos_multi_zc_error_err - the status of the flag in the Interrupt status uint8_t cos_multi_zc_error_count - status of cos capture number of faulty ZCS uint8_t sin_multi_zc_error_count - status of sin capture number of faulty ZCS uint16_t rotpeak_level - the configured "peak level" of rotational Sin/Cos when other signal is zero crossing uint16_t rotfreq_level - the configured "zero crossing detection level" of rotational sin/cos bool zero_cross_rot_en - if the interrupt is enabled for any of the error status.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Rotational_Signal_Integrity_data struct as input

## ◆ RDC_setDiagnosticsRotationalSignalIntegrityData()

static void RDC_setDiagnosticsRotationalSignalIntegrityData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Rotational_Signal_Integrity_data * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor rotational signal integrity (DOS) diagnostics Controls bool cos_neg_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool cos_pos_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool sin_neg_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool sin_pos_zc_peak_mismatch_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool sin_multi_zc_error_err - enables interrupt on this flag if set and zero_cross_rot_en is set bool cos_multi_zc_error_err - enables interrupt on this flag if set and zero_cross_rot_en is set uint8_t cos_multi_zc_error_count - no action uint8_t sin_multi_zc_error_count - no action uint16_t rotpeak_level - the "peak level" of rotational Sin/Cos when other signal is zero crossing to be configured uint16_t rotfreq_level - the "zero crossing detection level" of rotational sin/cos to be configured bool zero_cross_rot_en - enables interrupt on the errors.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Rotational_Signal_Integrity_data struct as input

## ◆ RDC_getDiagnosticsSignalIntegritySquareSumData()

static void RDC_getDiagnosticsSignalIntegritySquareSumData | ( | uint32_t | base,
|  | uint32_t | resolverCore,
|  | Diag_Mon_Signal_Integrity_SinSq_CosSq * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor signal integrity by checking Sin2+Cos2=Constant (DOS) diagnostics data uint16_t sinsqcossq_threshold_hi - the configured threshold hi for sinsq + cossq uint16_t sinsqcossq_threshold_lo - the configured threshold lo for sinsq + cossq uint8_t sinsqcossq_glitchcount - the configured glitchcount for sinsq + cossq error uint16_t sinsqcossq_cossq - actual cossq value on error trigger either lo of hi, first event uint16_t sinsqcossq_sinsq - actual sinsq value on error trigger either lo of hi, first event bool sinsqcossq_hi - the status of the flag in the Interrupt status bool sinsqcossq_lo - the status of the flag in the Interrupt status.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Signal_Integrity_SinSq_CosSq struct as input

## ◆ RDC_setDiagnosticsSignalIntegritySquareSumData()

static void RDC_setDiagnosticsSignalIntegritySquareSumData | ( | uint32_t | base,
|  | uint32_t | resolverCore,
|  | Diag_Mon_Signal_Integrity_SinSq_CosSq * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor signal integrity by checking Sin2+Cos2=Constant (DOS) diagnostics Controls uint16_t sinsqcossq_threshold_hi - the threshold hi for sinsq + cossq to be configured uint16_t sinsqcossq_threshold_lo - the threshold lo for sinsq + cossq to be configured uint8_t sinsqcossq_glitchcount - the glitchcount for sinsq + cossq error to be configured uint16_t sinsqcossq_cossq - no action uint16_t sinsqcossq_sinsq - no action bool sinsqcossq_hi - enable interrupt on this error if set bool sinsqcossq_lo - enable interrupt on this error if set.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Signal_Integrity_SinSq_CosSq struct as input

## ◆ RDC_getDiagnosticsHighAmplitudeData()

static void RDC_getDiagnosticsHighAmplitudeData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Sin_Cos_High_Amplitude * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor Sin or Cos saturation or very high amplitude (DOS) diagnostics data uint16_t highAmplitude_threshold - the configured threshold for highAmplitude error uint8_t highAmplitude_glitchcount - the configured glitch count for highAmplitude error int16_t highAmplitude_sin_value - value of sin channel at the error trigger instant int16_t highAmplitude_cos_value - value of cos channel at the error trigger instant bool highAmplitude_sin_error - status of the error flag in the interrupt register bool highAmplitude_cos_error - status of the error flag in the interrupt register.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Sin_Cos_High_Amplitude type struct as input

## ◆ RDC_setDiagnosticsHighAmplitudeData()

static void RDC_setDiagnosticsHighAmplitudeData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Sin_Cos_High_Amplitude * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor Sin or Cos saturation or very high amplitude (DOS) diagnostics Controls uint16_t highAmplitude_threshold - the threshold for highAmplitude error to be configured uint8_t highAmplitude_glitchcount - the glitch count for highAmplitude error to be configured int16_t highAmplitude_sin_value - no action int16_t highAmplitude_cos_value - no action bool highAmplitude_sin_error - enabled interrupt on this error if set bool highAmplitude_cos_error - enabled interrupt on this error if set.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Sin_Cos_High_Amplitude type struct as input

## ◆ RDC_getDiagnosticsWeakAmplitudeData()

static void RDC_getDiagnosticsWeakAmplitudeData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Sin_Cos_Weak_Amplitude * | monitorData
| ) |  |
| inlinestatic

Returns the Monitor weak Sin or Cos signal below a threshold (LOS) diagnostics data uint16_t lowAmplitude_threshold - the configured threshold for the lowAmplitude error uint8_t lowAmplitude_glitchcount - the configured glitch count for the lowAmplitude error bool lowAmplitude_error - status of the error flag in the interrupt register int16_t lowAmplitude_sin_value - value of sin channel at the trigger instant int16_t lowAmplitude_cos_value - value of cos channel at the trigger instant.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Sin_Cos_Weak_Amplitude type struct as input

## ◆ RDC_setDiagnosticsWeakAmplitudeData()

static void RDC_setDiagnosticsWeakAmplitudeData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | Diag_Mon_Sin_Cos_Weak_Amplitude * | monitorData
| ) |  |
| inlinestatic

Sets the Monitor weak Sin or Cos signal below a threshold (LOS) diagnostics Controls uint16_t lowAmplitude_threshold - the threshold for the lowAmplitude error to be configured uint8_t lowAmplitude_glitchcount - the glitch count for the lowAmplitude error to be configured bool lowAmplitude_error - enabled interrupt on the error if set int16_t lowAmplitude_sin_value - no action int16_t lowAmplitude_cos_value - no action.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  monitorData | Diag_Mon_Sin_Cos_Weak_Amplitude type struct as input

## ◆ RDC_getAdcObservationalData()

static void RDC_getAdcObservationalData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | ADC_observationalData * | AdcData
| ) |  |
| inlinestatic

Returns the Observational ADC data to struct type ADC_observationalData int16_t cos_adc - SW Observational ADC data post latch and Averaged if enabled int16_t sin_adc - SW Observational ADC data post latch and Averaged if enabled int16_t cos_rec - SW Observational ADC data post recovered int16_t sin_rec - SW Observational ADC data post recovered int16_t cos_dc - SW Observational ADC data post DC offset Correction int16_t sin_dc - SW Observational ADC data post DC offset Correction int16_t cos_pgc - SW Observational ADC data post Phase Gain Correction int16_t sin_pgc - SW Observational ADC data post Phase Gain Correction.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  AdcData | ADC_observationalData type struct as input

## ◆ RDC_getPeakHistogramObservationalData()

static void RDC_getPeakHistogramObservationalData | ( | uint32_t | base,
|  | uint8_t | resolverCore,
|  | PeakHistogram_observationalData * | histogram
| ) |  |
| inlinestatic

Returns the Peak Histogram Bucket data.

Parameters

  base | RDC Base Address
  resolverCore | Denotes the Resolver Core within the RDC
  histogram | PeakHistogram_observationalData type struct as input

## ◆ RDC_coreParamsInit()

void RDC_coreParamsInit | ( | Core_config_t * | coreParams | ) |

Inits the Core Parameters for the resolver core.

Parameters

  coreParams |

## ◆ RDC_paramsInit()

void RDC_paramsInit | ( | RDC_configParams * | params | ) |

Inits the resolver Configuration parameters.

Parameters

  params |

## ◆ RDC_init()

void RDC_init | ( | uint32_t | base,
|  | RDC_configParams * | params
| ) |  |

Configures the RDC based on the parameter values.

Note
  this does not include the diagnostics configurations

Parameters

  base |
  params |

## ◆ RDC_getStaticConfigurations()

void RDC_getStaticConfigurations | ( | uint32_t | base,
|  | RDC_configParams * | params
| ) |  |

Returns the Static Configurations.

Note
  this does not include the diagnostics configurations

Parameters

  base |
  params |

## ◆ RDC_verifyStaticConfigurations()

int32_t RDC_verifyStaticConfigurations | ( | uint32_t | base,
|  | RDC_configParams * | paramsInit,
|  | RDC_configParams * | params
| ) |  |

Returns if the configurations in paramsInit to params.

Note
  this verification does not include the diagnostics configurations

Parameters

  base | RDC Base Address
  paramsInit |
  params |

Returns
  int32_t SystemP_SUCCESS is verification of configurations is success
  int32_t SystemP_FAILURE is verification of configurations is failure

## ◆ RDC_BaselineParametersInit()

void RDC_BaselineParametersInit | ( | uint32_t | base | ) |

Inits Baseline Parameter configurations.

Parameters

  base |

RDC_INTERRUPT_SOURCE_LOWAMPLITUDE_ERR
#define RDC_INTERRUPT_SOURCE_LOWAMPLITUDE_ERR
Interrupt Sources Macros.
Definition: resolver/v0/resolver.h:254