iLLD_TC27xD  1.0
IfxVadc.h File Reference

VADC basic functionality. More...

#include "_Impl/IfxVadc_cfg.h"
#include "_PinMap/IfxVadc_PinMap.h"
#include "IfxVadc_bf.h"
#include "Cpu/Std/IfxCpu_Intrinsics.h"
#include "Scu/Std/IfxScuCcu.h"
#include "Scu/Std/IfxScuWdt.h"
#include "IfxCcu6_reg.h"
#include "IfxCcu6_bf.h"

Go to the source code of this file.

Enumerations

enum  IfxVadc_AnalogConverterMode {
  IfxVadc_AnalogConverterMode_off = 0,
  IfxVadc_AnalogConverterMode_slowStandby = 1,
  IfxVadc_AnalogConverterMode_fastStandby = 2,
  IfxVadc_AnalogConverterMode_normalOperation = 3
}
 Defined in MODULE_VADC.G[x].ARBCFG.B.ANONS and ANONC. More...
 
enum  IfxVadc_ArbitrationRounds {
  IfxVadc_ArbitrationRounds_4_slots = 0,
  IfxVadc_ArbitrationRounds_8_slots = 1,
  IfxVadc_ArbitrationRounds_16_slots = 2,
  IfxVadc_ArbitrationRounds_20_slots = 3
}
 Arbitration round length defined in MODULE_VADC.G[x].ARBCFG.ARBRND(x=0,1,..,11) More...
 
enum  IfxVadc_BoundaryExtension {
  IfxVadc_BoundaryExtension_standard = 0,
  IfxVadc_BoundaryExtension_fastCompareResult1 = 1,
  IfxVadc_BoundaryExtension_fastCompareResult2 = 2,
  IfxVadc_BoundaryExtension_fastCompareResult3 = 3,
  IfxVadc_BoundaryExtension_fastCompareResult4 = 4,
  IfxVadc_BoundaryExtension_fastCompareResult5 = 5,
  IfxVadc_BoundaryExtension_fastCompareResult6 = 6,
  IfxVadc_BoundaryExtension_fastCompareResult7 = 7,
  IfxVadc_BoundaryExtension_fastCompareResult8 = 8,
  IfxVadc_BoundaryExtension_fastCompareResult9 = 9,
  IfxVadc_BoundaryExtension_fastCompareResult10 = 10,
  IfxVadc_BoundaryExtension_fastCompareResult11 = 11,
  IfxVadc_BoundaryExtension_fastCompareResult12 = 12,
  IfxVadc_BoundaryExtension_fastCompareResult13 = 13,
  IfxVadc_BoundaryExtension_fastCompareResult14 = 14,
  IfxVadc_BoundaryExtension_fastCompareResult15 = 15
}
 Boundary Extension defined in MODULE_VADC.G[x].CHCTR[y].B.BNDSELX(x=0,1,...,11;y=0,1....,16) More...
 
enum  IfxVadc_BoundarySelection {
  IfxVadc_BoundarySelection_group0 = 0,
  IfxVadc_BoundarySelection_group1 = 1,
  IfxVadc_BoundarySelection_global0 = 2,
  IfxVadc_BoundarySelection_global1 = 3
}
 BoundarySel defined in MODULE_VADC.G[x].CHCTR[y].B.BNDSELL(x=0,1,...,11;y=0,1....,16) More...
 
enum  IfxVadc_ChannelId {
  IfxVadc_ChannelId_none = -1,
  IfxVadc_ChannelId_0 = 0,
  IfxVadc_ChannelId_1 = 1,
  IfxVadc_ChannelId_2 = 2,
  IfxVadc_ChannelId_3 = 3,
  IfxVadc_ChannelId_4 = 4,
  IfxVadc_ChannelId_5 = 5,
  IfxVadc_ChannelId_6 = 6,
  IfxVadc_ChannelId_7 = 7
}
 VADC Channels. More...
 
enum  IfxVadc_ChannelReference {
  IfxVadc_ChannelReference_standard = 0,
  IfxVadc_ChannelReference_channel0 = 1
}
 ADC channel reference defined in MODULE_VADC.G[x].CHCTR[y].B.REFSEL(x=0,1,...,11;y=0,1....,16) More...
 
enum  IfxVadc_ChannelResolution {
  IfxVadc_ChannelResolution_12bit = 0,
  IfxVadc_ChannelResolution_10bit = 1,
  IfxVadc_ChannelResolution_8bit = 2,
  IfxVadc_ChannelResolution_10bitFast = 5
}
 ADC channel resolution defined in MODULE_VADC.G[x].CHCTR[y].B.ICLASS[y].B.CMS(x=0,1,...,11;y=0,1) More...
 
enum  IfxVadc_ChannelResult {
  IfxVadc_ChannelResult_0 = 0,
  IfxVadc_ChannelResult_1,
  IfxVadc_ChannelResult_2,
  IfxVadc_ChannelResult_3,
  IfxVadc_ChannelResult_4,
  IfxVadc_ChannelResult_5,
  IfxVadc_ChannelResult_6,
  IfxVadc_ChannelResult_7,
  IfxVadc_ChannelResult_8,
  IfxVadc_ChannelResult_9,
  IfxVadc_ChannelResult_10,
  IfxVadc_ChannelResult_11,
  IfxVadc_ChannelResult_12,
  IfxVadc_ChannelResult_13,
  IfxVadc_ChannelResult_14,
  IfxVadc_ChannelResult_15
}
 Channel Result defined in MODULE_VADC.G[x].CHCTR[y].B.RESREG(x=0,1,...,11;y=0,1....,16) More...
 
enum  IfxVadc_ChannelSelectionStyle {
  IfxVadc_ChannelSelectionStyle_channelNumber = 0,
  IfxVadc_ChannelSelectionStyle_binary = 1
}
 External Multiplexer Channel Selection Style as defined in Ifx_VADC.G[x].EMUXCTR.B.EMXCSS. More...
 
enum  IfxVadc_ConversionType { IfxVadc_ConversionType_Compatible = 0 }
 type of conversion More...
 
enum  IfxVadc_EmuxCodingScheme {
  IfxVadc_EmuxCodingScheme_binary = 0,
  IfxVadc_EmuxCodingScheme_gray = 1
}
 Specifies the External Coding scheme(binary/gray) defined in Ifx_VADC.G[x].EMUXCTR.B.EMXCOD. More...
 
enum  IfxVadc_EmuxInterface {
  IfxVadc_EmuxInterface_0 = 0,
  IfxVadc_EmuxInterface_1 = 1
}
 Specifies the Emux interface. More...
 
enum  IfxVadc_EmuxSampleTimeControl {
  IfxVadc_EmuxSampleTimeControl_settingChanges = 0,
  IfxVadc_EmuxSampleTimeControl_always = 1
}
 External Multiplexer sample time control defined in Ifx_VADC.G[x].EMUXCTR.B.EMXST. More...
 
enum  IfxVadc_EmuxSelectValue {
  IfxVadc_EmuxSelectValue_0 = 0,
  IfxVadc_EmuxSelectValue_1,
  IfxVadc_EmuxSelectValue_2,
  IfxVadc_EmuxSelectValue_3,
  IfxVadc_EmuxSelectValue_4,
  IfxVadc_EmuxSelectValue_5,
  IfxVadc_EmuxSelectValue_6,
  IfxVadc_EmuxSelectValue_7
}
 specifies the External Channel Start select value defined in Ifx_VADC.G[x].EMUXCTR.B.EMUXSET More...
 
enum  IfxVadc_ExternalMultiplexerMode {
  IfxVadc_ExternalMultiplexerMode_softwareControl = 0,
  IfxVadc_ExternalMultiplexerMode_steady = 1,
  IfxVadc_ExternalMultiplexerMode_singleStep = 2,
  IfxVadc_ExternalMultiplexerMode_sequence = 3
}
 Specifies External Multiplexer Mode define in Ifx_VADC.G[x].EMUXCTR.B.EMUXMODE. More...
 
enum  IfxVadc_FifoMode {
  IfxVadc_FifoMode_seperateResultRegister = 0,
  IfxVadc_FifoMode_fifoStructure = 1,
  IfxVadc_FifoMode_maximumMode = 2,
  IfxVadc_FifoMode_minimumMode = 3
}
 FIFO mode enable. More...
 
enum  IfxVadc_GatingMode {
  IfxVadc_GatingMode_disabled = 0,
  IfxVadc_GatingMode_always = 1,
  IfxVadc_GatingMode_gatingHigh = 2,
  IfxVadc_GatingMode_gatingLow = 3
}
 gating mode defined in MODULE_VADC.BRSMR.ENGT More...
 
enum  IfxVadc_GatingSource {
  IfxVadc_GatingSource_0 = 0,
  IfxVadc_GatingSource_1,
  IfxVadc_GatingSource_2,
  IfxVadc_GatingSource_3,
  IfxVadc_GatingSource_4,
  IfxVadc_GatingSource_5,
  IfxVadc_GatingSource_6,
  IfxVadc_GatingSource_7,
  IfxVadc_GatingSource_8,
  IfxVadc_GatingSource_9,
  IfxVadc_GatingSource_10,
  IfxVadc_GatingSource_11,
  IfxVadc_GatingSource_12,
  IfxVadc_GatingSource_13,
  IfxVadc_GatingSource_14,
  IfxVadc_GatingSource_15
}
 External trigger gating defined in MODULE_VADC.G[x].QCTRLy.GTSEL(x=0,1,..,11;y=0,1,..,7) More...
 
enum  IfxVadc_InputClasses {
  IfxVadc_InputClasses_group0 = 0,
  IfxVadc_InputClasses_group1 = 1,
  IfxVadc_InputClasses_global0 = 2,
  IfxVadc_InputClasses_global1 = 3
}
 inputClass defined in MODULE_VADC.G[x].CHCTR[y].B.ICLSEL(x=0,1,...,11;y=0,1....,16) More...
 
enum  IfxVadc_LimitCheck {
  IfxVadc_LimitCheck_noCheck = 0,
  IfxVadc_LimitCheck_eventIfInArea = 1,
  IfxVadc_LimitCheck_eventIfOutsideArea = 2,
  IfxVadc_LimitCheck_always = 3
}
 ADC channel limit check defined in MODULE_VADC.G[x].CHCTR[y].B.CHEVMODE(x=0,1,...,11;y=0,1....,16) More...
 
enum  IfxVadc_LowSupplyVoltageSelect {
  IfxVadc_LowSupplyVoltageSelect_5V = 0,
  IfxVadc_LowSupplyVoltageSelect_3V = 1
}
 Low Power Supply Voltage Select. More...
 
enum  IfxVadc_Protection {
  IfxVadc_Protection_channelControl0 = 0,
  IfxVadc_Protection_channelControl1 = 1,
  IfxVadc_Protection_channelControl2 = 2,
  IfxVadc_Protection_channelControl3 = 3,
  IfxVadc_Protection_channelControl4 = 4,
  IfxVadc_Protection_channelControl5 = 5,
  IfxVadc_Protection_channelControl6 = 6,
  IfxVadc_Protection_channelControl7 = 7,
  IfxVadc_Protection_channelControl8 = 8,
  IfxVadc_Protection_channelControl9 = 9,
  IfxVadc_Protection_channelControl10 = 10,
  IfxVadc_Protection_channelControl11 = 11,
  IfxVadc_Protection_channelControl12 = 12,
  IfxVadc_Protection_channelControl13 = 13,
  IfxVadc_Protection_channelControl14 = 14,
  IfxVadc_Protection_externalMultiplexer = 15,
  IfxVadc_Protection_initGroup0 = 16,
  IfxVadc_Protection_initGroup1 = 17,
  IfxVadc_Protection_initGroup2 = 18,
  IfxVadc_Protection_initGroup3 = 19,
  IfxVadc_Protection_initGroup4 = 20,
  IfxVadc_Protection_initGroup5 = 21,
  IfxVadc_Protection_initGroup6 = 22,
  IfxVadc_Protection_initGroup7 = 23,
  IfxVadc_Protection_initGroup8 = 24,
  IfxVadc_Protection_initGroup9 = 25,
  IfxVadc_Protection_initGroup10 = 26,
  IfxVadc_Protection_initGroup11 = 27,
  IfxVadc_Protection_initGroup12 = 28,
  IfxVadc_Protection_initGroup13 = 29,
  IfxVadc_Protection_initGroup14 = 30,
  IfxVadc_Protection_globalConfig = 31,
  IfxVadc_Protection_serviceGroup0 = 32,
  IfxVadc_Protection_serviceGroup1 = 33,
  IfxVadc_Protection_serviceGroup2 = 34,
  IfxVadc_Protection_serviceGroup3 = 35,
  IfxVadc_Protection_serviceGroup4 = 36,
  IfxVadc_Protection_serviceGroup5 = 37,
  IfxVadc_Protection_serviceGroup6 = 38,
  IfxVadc_Protection_serviceGroup7 = 39,
  IfxVadc_Protection_serviceGroup8 = 40,
  IfxVadc_Protection_serviceGroup9 = 41,
  IfxVadc_Protection_serviceGroup10 = 42,
  IfxVadc_Protection_serviceGroup11 = 43,
  IfxVadc_Protection_serviceGroup12 = 44,
  IfxVadc_Protection_serviceGroup13 = 45,
  IfxVadc_Protection_serviceGroup14 = 46,
  IfxVadc_Protection_testFunction = 47,
  IfxVadc_Protection_resultRegisterGroup0 = 48,
  IfxVadc_Protection_resultRegisterGroup1 = 49,
  IfxVadc_Protection_resultRegisterGroup2 = 50,
  IfxVadc_Protection_resultRegisterGroup3 = 51,
  IfxVadc_Protection_resultRegisterGroup4 = 52,
  IfxVadc_Protection_resultRegisterGroup5 = 53,
  IfxVadc_Protection_resultRegisterGroup6 = 54,
  IfxVadc_Protection_resultRegisterGroup7 = 55,
  IfxVadc_Protection_resultRegisterGroup8 = 56,
  IfxVadc_Protection_resultRegisterGroup9 = 57,
  IfxVadc_Protection_resultRegisterGroup10 = 58,
  IfxVadc_Protection_resultRegisterGroup11 = 59,
  IfxVadc_Protection_resultRegisterGroup12 = 60,
  IfxVadc_Protection_resultRegisterGroup13 = 61,
  IfxVadc_Protection_resultRegisterGroup14 = 62
}
 Access protection for Group registers defined in MODULE_VADC.ACCPROT0.U. More...
 
enum  IfxVadc_RequestSlotPriority {
  IfxVadc_RequestSlotPriority_lowest = 0,
  IfxVadc_RequestSlotPriority_low = 1,
  IfxVadc_RequestSlotPriority_high = 2,
  IfxVadc_RequestSlotPriority_highest = 3
}
 Arbitration priority, Group x,defined in MODULE_VADC.G[x].ARBPR.PRIOy(x=0,1,...,11;y=0,1,2) More...
 
enum  IfxVadc_RequestSlotStartMode {
  IfxVadc_RequestSlotStartMode_waitForStart = 0,
  IfxVadc_RequestSlotStartMode_cancelInjectRepeat = 1
}
 Request source start mode defined in MODULE_VADC.G[x].ARBPR.CSMy(x=0,1,...,11;y=0,1,2) More...
 
enum  IfxVadc_RequestSource {
  IfxVadc_RequestSource_queue = 0,
  IfxVadc_RequestSource_scan = 1,
  IfxVadc_RequestSource_background = 2
}
 Request sources. More...
 
enum  IfxVadc_SleepMode {
  IfxVadc_SleepMode_enable = 0,
  IfxVadc_SleepMode_disable = 1
}
 Enable/disable the sensitivity of the module to sleep signal
Definition in Ifx_VADC.CLC.B.EDIS. More...
 
enum  IfxVadc_SrcNr {
  IfxVadc_SrcNr_group0 = 0,
  IfxVadc_SrcNr_group1 = 1,
  IfxVadc_SrcNr_group2 = 2,
  IfxVadc_SrcNr_group3 = 3,
  IfxVadc_SrcNr_shared0 = 4,
  IfxVadc_SrcNr_shared1 = 5,
  IfxVadc_SrcNr_shared2 = 6,
  IfxVadc_SrcNr_shared3 = 7
}
 Service Node defined in MODULE_VADC.G[x].SRACT.U(x= 0,1,..,11) More...
 
enum  IfxVadc_Status {
  IfxVadc_Status_noError = 0,
  IfxVadc_Status_notInitialised = 1,
  IfxVadc_Status_invalidGroup = 2,
  IfxVadc_Status_invalidChannel = 3,
  IfxVadc_Status_queueFull = 4,
  IfxVadc_Status_noAccess = 5,
  IfxVadc_Status_channelsStillPending = 6
}
 API return values defined in MODULE_VADC.G[x].QSR0.U,MODULE_VADC.G[x].ASPND.U MODULE_VADC.BRSPNDx More...
 
enum  IfxVadc_TriggerMode {
  IfxVadc_TriggerMode_noExternalTrigger = 0,
  IfxVadc_TriggerMode_uponFallingEdge = 1,
  IfxVadc_TriggerMode_uponRisingEdge = 2,
  IfxVadc_TriggerMode_uponAnyEdge = 3
}
 trigger definition defined in MODULE_VADC.G[x].QCTRL0.XTMODE(x=0,1,..,11) More...
 
enum  IfxVadc_TriggerSource {
  IfxVadc_TriggerSource_0 = 0,
  IfxVadc_TriggerSource_1,
  IfxVadc_TriggerSource_2,
  IfxVadc_TriggerSource_3,
  IfxVadc_TriggerSource_4,
  IfxVadc_TriggerSource_5,
  IfxVadc_TriggerSource_6,
  IfxVadc_TriggerSource_7,
  IfxVadc_TriggerSource_8,
  IfxVadc_TriggerSource_9,
  IfxVadc_TriggerSource_10,
  IfxVadc_TriggerSource_11,
  IfxVadc_TriggerSource_12,
  IfxVadc_TriggerSource_13,
  IfxVadc_TriggerSource_14,
  IfxVadc_TriggerSource_15
}
 Trigger request source defined in MODULE_VADC.G[x].QCTRLy.XTSEL(x=0,1,..,11;y=0,1,..,7) More...
 

Functions

IFX_INLINE void IfxVadc_configureWaitForReadMode (Ifx_VADC_G *group, uint32 resultIdx, boolean waitForRead)
 access function to enable/disable wait for read mode for result registers More...
 
IFX_INLINE void IfxVadc_configureWaitForReadModeForGlobalResultRegister (Ifx_VADC *vadc, boolean waitForRead)
 access function to enable/disable wait for read mode for global result register More...
 
IFX_INLINE void IfxVadc_enableBackgroundScanSlotExternalTrigger (Ifx_VADC *vadc)
 Enables the background sacn external trigger. More...
 
IFX_INLINE IfxVadc_GatingMode IfxVadc_getBackgroundScanGatingMode (Ifx_VADC *vadc)
 Gets the background scan gating mode. More...
 
IFX_INLINE IfxVadc_GatingSource IfxVadc_getBackgroundScanGatingSource (Ifx_VADC *vadc)
 Gets the gating input selection. More...
 
IFX_INLINE
IfxVadc_RequestSlotPriority 
IfxVadc_getBackgroundScanSlotPriority (Ifx_VADC_G *vadcG)
 Gets the requested background scan slot priority. More...
 
IFX_INLINE
IfxVadc_RequestSlotStartMode 
IfxVadc_getBackgroundScanSlotStartMode (Ifx_VADC_G *vadcG)
 Gets the requested background scan slot start mode. More...
 
IFX_INLINE IfxVadc_TriggerSource IfxVadc_getBackgroundScanTriggerInput (Ifx_VADC *vadc)
 Gets the background scan trigger input. More...
 
IFX_INLINE IfxVadc_TriggerMode IfxVadc_getBackgroundScanTriggerMode (Ifx_VADC *vadc)
 Gets the background scan external trigger mode. More...
 
IFX_INLINE
IfxVadc_ChannelResolution 
IfxVadc_getGlobalResolution (Ifx_VADC *vadc, uint8 inputClassNum)
 get global input class resolution More...
 
IFX_INLINE Ifx_VADC_GLOBRES IfxVadc_getGlobalResult (Ifx_VADC *vadc)
 return conversion result stored in the Global result Register More...
 
IFX_INLINE float32 IfxVadc_getGlobalSampleTime (Ifx_VADC *vadc, uint8 inputClassNum, float32 analogFrequency)
 get global input class sample time in sec More...
 
IFX_INLINE void IfxVadc_getGroupResult (Ifx_VADC_G *group, Ifx_VADC_RES *results, uint32 resultOffset, uint32 numResults)
 Get conversion result for the group. More...
 
IFX_INLINE Ifx_VADC_RES IfxVadc_getResult (Ifx_VADC_G *group, uint32 resultIdx)
 Get conversion result (Function does not care about the alignment) value = raw * gain + offset. More...
 
IFX_INLINE boolean IfxVadc_isAutoBackgroundScanEnabled (Ifx_VADC *vadc)
 Returns the auto background scan status. More...
 
IFX_INLINE boolean IfxVadc_isRequestBackgroundScanSlotEnabled (Ifx_VADC_G *vadcG)
 Returns the background scan slot requested status. More...
 
IFX_INLINE void IfxVadc_setAutoBackgroundScan (Ifx_VADC *vadc, boolean autoBackgroundScanEnable)
 Enables/Disables continuous background auto scan. More...
 
IFX_INLINE void IfxVadc_setBackgroundScan (Ifx_VADC *vadc, IfxVadc_GroupId groupId, uint32 channels, uint32 mask)
 configures a background scan; can also stop autoscan if all channels are 0 More...
 
IFX_INLINE void IfxVadc_setBackgroundScanSlotGatingConfig (Ifx_VADC *vadc, IfxVadc_GatingSource gatingSource, IfxVadc_GatingMode gatingMode)
 Sets the background scan slot gating configurations. More...
 
IFX_INLINE void IfxVadc_setBackgroundScanSlotTriggerConfig (Ifx_VADC *vadc, IfxVadc_TriggerMode triggerMode, IfxVadc_TriggerSource triggerSource)
 Sets the background scan exteranal trigger operating configurations. More...
 
IFX_INLINE void IfxVadc_startBackgroundScan (Ifx_VADC *vadc)
 Starts a background scan. More...
 
IFX_EXTERN IfxVadc_Status IfxVadc_getBackgroundScanStatus (Ifx_VADC *vadc)
 Gives the background scan status for a group. More...
 
IFX_EXTERN Ifx_VADC_RES IfxVadc_getResultBasedOnRequestSource (Ifx_VADC *vadc, Ifx_VADC_G *group, IfxVadc_ChannelId channel, IfxVadc_RequestSource sourceType)
 Get conversion result (Function does not care about the alignment) value = raw * gain + offset. More...
 
IFX_INLINE void IfxVadc_disableScanSlotExternalTrigger (Ifx_VADC_G *vadcG)
 Disables the scan slot external trigger. More...
 
IFX_INLINE void IfxVadc_enableScanSlotExternalTrigger (Ifx_VADC_G *vadcG)
 Enables the scan slot external trigger. More...
 
IFX_INLINE IfxVadc_GatingMode IfxVadc_getScanSlotGatingMode (Ifx_VADC_G *vadcG)
 Gets the request scan slot gating mode. More...
 
IFX_INLINE IfxVadc_GatingSource IfxVadc_getScanSlotGatingSource (Ifx_VADC_G *vadcG)
 Gets the request scan slot gating input. More...
 
IFX_INLINE
IfxVadc_RequestSlotPriority 
IfxVadc_getScanSlotPriority (Ifx_VADC_G *vadcG)
 Gets the request scan slot priority. More...
 
IFX_INLINE
IfxVadc_RequestSlotStartMode 
IfxVadc_getScanSlotStartMode (Ifx_VADC_G *vadcG)
 Gets the request scan slot start mode. More...
 
IFX_INLINE IfxVadc_TriggerSource IfxVadc_getScanSlotTriggerInput (Ifx_VADC_G *vadcG)
 Gets the requested scan slot trigger input. More...
 
IFX_INLINE IfxVadc_TriggerMode IfxVadc_getScanSlotTriggerMode (Ifx_VADC_G *vadcG)
 Gets the requested scan slot trigger mode. More...
 
IFX_INLINE boolean IfxVadc_isAutoScanEnabled (Ifx_VADC_G *vadcG)
 Gets the auto scan enable status. More...
 
IFX_INLINE boolean IfxVadc_isRequestScanSlotEnabled (Ifx_VADC_G *vadcG)
 Returns the scan slot requested status. More...
 
IFX_INLINE void IfxVadc_setAutoScan (Ifx_VADC_G *vadcG, boolean autoscanEnable)
 Enables/Disables continuous auto scan. More...
 
IFX_INLINE void IfxVadc_setScanSlotGatingConfig (Ifx_VADC_G *vadcG, IfxVadc_GatingSource gatingSource, IfxVadc_GatingMode gatingMode)
 Sets the scan slot gating configuration. More...
 
IFX_INLINE void IfxVadc_setScanSlotTriggerConfig (Ifx_VADC_G *vadcG, IfxVadc_TriggerMode triggerMode, IfxVadc_TriggerSource triggerSource)
 Sets the scan slot trigger operating configurations. More...
 
IFX_INLINE void IfxVadc_startScan (Ifx_VADC_G *group)
 Starts an autoscan on the specified group. More...
 
IFX_EXTERN IfxVadc_Status IfxVadc_getScanStatus (Ifx_VADC_G *group)
 Gives the scan status for a group. More...
 
IFX_EXTERN void IfxVadc_setScan (Ifx_VADC_G *group, uint32 channels, uint32 mask)
 Configures an (auto-)scan. More...
 
IFX_INLINE void IfxVadc_addToQueue (Ifx_VADC_G *group, IfxVadc_ChannelId channel, uint32 options)
 Add an entry to the queue of a group for the specified channel with the following options set: refill incase of aborted conversion source interrupt enable/disable external trigger control of the aborted conversion. More...
 
IFX_INLINE void IfxVadc_clearQueue (Ifx_VADC_G *vadcG, boolean flushQueue)
 Clears all the queue entries including backup stage. More...
 
IFX_INLINE void IfxVadc_disableQueueSlotExternalTrigger (Ifx_VADC_G *vadcG)
 Disables the external trigger. More...
 
IFX_INLINE void IfxVadc_enableQueueSlotExternalTrigger (Ifx_VADC_G *vadcG)
 Enables the external trigger. More...
 
IFX_INLINE IfxVadc_GatingMode IfxVadc_getQueueSlotGatingMode (Ifx_VADC_G *vadcG)
 Gets the requested queue slot gating mode. More...
 
IFX_INLINE IfxVadc_GatingSource IfxVadc_getQueueSlotGatingSource (Ifx_VADC_G *vadcG)
 Gets the requested queue slot gating input. More...
 
IFX_INLINE
IfxVadc_RequestSlotPriority 
IfxVadc_getQueueSlotPriority (Ifx_VADC_G *vadcG)
 Gets the request queue slot priority. More...
 
IFX_INLINE
IfxVadc_RequestSlotStartMode 
IfxVadc_getQueueSlotStartMode (Ifx_VADC_G *vadcG)
 Gets the requested queue slot start mode. More...
 
IFX_INLINE IfxVadc_TriggerSource IfxVadc_getQueueSlotTriggerInput (Ifx_VADC_G *vadcG)
 Gets the requested queue slot trigger input. More...
 
IFX_INLINE IfxVadc_TriggerMode IfxVadc_getQueueSlotTriggerMode (Ifx_VADC_G *vadcG)
 Gets the requested queue slot trigger mode. More...
 
IFX_INLINE boolean IfxVadc_isRequestQueueSlotEnabled (Ifx_VADC_G *vadcG)
 Returns the queue slot requested status. More...
 
IFX_INLINE void IfxVadc_setQueueSlotGatingConfig (Ifx_VADC_G *vadcG, IfxVadc_GatingSource gatingSource, IfxVadc_GatingMode gatingMode)
 Sets the gating configurations. More...
 
IFX_INLINE void IfxVadc_setQueueSlotTriggerOperatingConfig (Ifx_VADC_G *vadcG, IfxVadc_TriggerMode triggerMode, IfxVadc_TriggerSource triggerSource)
 Sets the trigger operating configurations. More...
 
IFX_INLINE void IfxVadc_startQueue (Ifx_VADC_G *group)
 Starts a queue of a group by generating a trigger event through software. More...
 
IFX_EXTERN IfxVadc_Status IfxVadc_getQueueStatus (Ifx_VADC_G *group)
 Gives the status of the Queue of a group by returning non zero value if the Queue is full. More...
 
IFX_INLINE void IfxVadc_initEmuxPin (const IfxVadc_Emux_Out *emux, IfxPort_OutputMode outputMode, IfxPort_PadDriver padDriver)
 Initializes a EMUX output. More...
 
IFX_INLINE void IfxVadc_initGxBflPin (const IfxVadc_GxBfl_Out *gxBfl, IfxPort_OutputMode outputMode, IfxPort_PadDriver padDriver)
 Initializes a GxBFL output. More...
 
IFX_INLINE uint32 IfxVadc_calculateSampleTime (float32 analogFrequency, float32 sampleTime)
 Calculate the time using analog frequency. More...
 
IFX_EXTERN float32 IfxVadc_getAdcAnalogFrequency (Ifx_VADC *vadc)
 Returns the configured Fadci VADC analog clock frequency in Hz. More...
 
IFX_EXTERN float32 IfxVadc_getAdcDigitalFrequency (Ifx_VADC *vadc)
 Returns the configured Fadcd VADC digital clock frequency in Hz. More...
 
IFX_INLINE void IfxVadc_clearAllResultRequests (Ifx_VADC_G *vadcG)
 Clears the all group requests. More...
 
IFX_INLINE
IfxVadc_ArbitrationRounds 
IfxVadc_getArbiterRoundLength (Ifx_VADC_G *vadcG)
 Gets the ADC group arbitration round length. More...
 
IFX_INLINE Ifx_VADC_G_REVNP0 IfxVadc_getChannelResultServiceRequestNodePointer0 (Ifx_VADC_G *vadcG)
 Gets the channel esult service request node pointer 0. More...
 
IFX_INLINE Ifx_VADC_G_REVNP1 IfxVadc_getChannelResultServiceRequestNodePointer1 (Ifx_VADC_G *vadcG)
 Gets the channel esult service request node pointer 1. More...
 
IFX_INLINE Ifx_VADC_G_CEVNP0 IfxVadc_getChannelServiceRequestNodePointer0 (Ifx_VADC_G *vadcG)
 Gets the channel service request node pointer. More...
 
IFX_INLINE uint8 IfxVadc_getMasterIndex (Ifx_VADC_G *vadcG)
 Gets the configured master index. More...
 
IFX_INLINE void IfxVadc_resetGroup (Ifx_VADC_G *vadcG)
 Resets the ADC group. More...
 
IFX_INLINE void IfxVadc_setAnalogConvertControl (Ifx_VADC_G *vadcG, IfxVadc_AnalogConverterMode analogConverterMode)
 Sets analog converter group number. More...
 
IFX_INLINE void IfxVadc_setArbitrationRoundLength (Ifx_VADC_G *vadcG, IfxVadc_ArbitrationRounds arbiterRoundLength)
 Sets the arbiter round length. More...
 
IFX_INLINE void IfxVadc_setGroupResolution (Ifx_VADC_G *vadcG, uint8 inputClassNum, IfxVadc_ChannelResolution resolution)
 Sets the ADC input class channel resolution. More...
 
IFX_INLINE void IfxVadc_setGroupSampleTime (Ifx_VADC_G *vadcG, uint8 inputClassNum, float32 analogFrequency, float32 sampleTime)
 Sets the ADC input class sample time. More...
 
IFX_INLINE void IfxVadc_setMasterIndex (Ifx_VADC_G *vadcG, uint8 masterIndex)
 Sets the master index. More...
 
IFX_EXTERN void IfxVadc_setArbiterPriority (Ifx_VADC_G *vadcG, boolean slotEnable, IfxVadc_RequestSlotPriority prio, IfxVadc_RequestSlotStartMode mode, IfxVadc_RequestSource slot)
 Sets the Arbiter slot configurations. More...
 
IFX_INLINE void IfxVadc_disableModule (Ifx_VADC *vadc)
 Disable VADC Module. More...
 
IFX_INLINE void IfxVadc_enableModule (Ifx_VADC *vadc)
 Enable VADC kernel. More...
 
IFX_INLINE uint8 IfxVadc_getAdcCalibrationActiveState (Ifx_VADC *vadc, uint8 adcCalGroupNum)
 gets ADC Calibration Flag CAL status. More...
 
IFX_INLINE Ifx_VADC_GLOBCFG IfxVadc_getGlobalConfigValue (Ifx_VADC *vadc)
 Gets the global control configuration value. More...
 
IFX_INLINE boolean IfxVadc_getStartupCalibration (Ifx_VADC *vadc)
 get SUCAL bit field status More...
 
IFX_INLINE void IfxVadc_initiateStartupCalibration (Ifx_VADC *vadc)
 initiates the calibration pulse phase. More...
 
IFX_INLINE void IfxVadc_setGlobalResolution (Ifx_VADC *vadc, uint8 inputClassNum, IfxVadc_ChannelResolution resolution)
 Sets the channel conversion mode. More...
 
IFX_INLINE void IfxVadc_setGlobalSampleTime (Ifx_VADC *vadc, uint8 inputClassNum, float32 analogFrequency, float32 sampleTime)
 Sets the sample time of ADC global class. More...
 
IFX_INLINE void IfxVadc_setSleepMode (Ifx_VADC *vadc, IfxVadc_SleepMode mode)
 Sets the sensitivity of the module to sleep signal. More...
 
IFX_EXTERN void IfxVadc_disableAccess (Ifx_VADC *vadc, IfxVadc_Protection protectionSet)
 Disable write access to the VADC config/control registers. More...
 
IFX_EXTERN void IfxVadc_disablePostCalibration (Ifx_VADC *vadc, IfxVadc_GroupId group, boolean disable)
 Disables the post calibration. More...
 
IFX_EXTERN void IfxVadc_enableAccess (Ifx_VADC *vadc, IfxVadc_Protection protectionSet)
 Enable write access to the VADC config/control registers. More...
 
IFX_EXTERN void IfxVadc_enableGroupSync (Ifx_VADC *vadc, uint32 ccu6Num)
 Enables the CCU6 based ADC group synchronisation as workaround for Erratum ADC_TC.068. More...
 
IFX_EXTERN float32 IfxVadc_getAdcModuleFrequency (void)
 Module Frequency in Hz. More...
 
IFX_EXTERN volatile Ifx_SRC_SRCR * IfxVadc_getSrcAddress (IfxVadc_GroupId group, IfxVadc_SrcNr index)
 Gives the SRC source address. More...
 
IFX_EXTERN void IfxVadc_initialiseAdcArbiterClock (Ifx_VADC *vadc, uint32 arbiterClockDivider)
 Initialises ADC arbiter clock. More...
 
IFX_EXTERN void IfxVadc_initialiseAdcConverterClock (Ifx_VADC *vadc, uint32 converterClockDivider)
 Initialises the ADC Converter clock. More...
 
IFX_EXTERN uint32 IfxVadc_initializeFAdcD (Ifx_VADC *vadc, uint32 fAdcD)
 Configure the FadcD vadc digital clock. More...
 
IFX_EXTERN uint32 IfxVadc_initializeFAdcI (Ifx_VADC *vadc, uint32 fAdcI)
 Configure the ADC analog clock. More...
 
IFX_EXTERN boolean IfxVadc_isPostCalibration (Ifx_VADC *vadc, IfxVadc_GroupId group)
 Return the post calibration status. More...
 
IFX_EXTERN void IfxVadc_resetKernel (Ifx_VADC *vadc)
 Resets the kernel. More...
 
IFX_EXTERN void IfxVadc_selectPowerSupplyVoltage (Ifx_VADC *vadc, IfxVadc_LowSupplyVoltageSelect supplyVoltage)
 Select Low Power Supply Voltage. More...
 
IFX_EXTERN void IfxVadc_startupCalibration (Ifx_VADC *vadc)
 Starts ADC calibration and wait for the end of the calibration process. More...
 
IFX_INLINE void IfxVadc_clearChannelRequest (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelId)
 Clears the channel request. More...
 
IFX_INLINE void IfxVadc_enableFifoMode (Ifx_VADC_G *vadcG, IfxVadc_ChannelResult resultRegister, IfxVadc_FifoMode fifoMode)
 Enables the FIFO mode. More...
 
IFX_INLINE void IfxVadc_enableServiceRequest (Ifx_VADC_G *vadcG, IfxVadc_ChannelResult resultRegister)
 
IFX_INLINE Ifx_VADC_G_CHASS IfxVadc_getAssignedChannels (Ifx_VADC_G *vadcG)
 Gets the group's assigned channels. More...
 
IFX_INLINE Ifx_VADC_CHCTR IfxVadc_getChannelControlConfig (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex)
 Gets the current ADC channel control configurations. More...
 
IFX_INLINE IfxVadc_InputClasses IfxVadc_getChannelInputClass (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex)
 Gets the channel input class. More...
 
IFX_INLINE
IfxVadc_ChannelResolution 
IfxVadc_getGroupResolution (Ifx_VADC_G *vadcG, uint8 inputClassNum)
 Gets the ADC input class channel resolution. More...
 
IFX_INLINE float32 IfxVadc_getGroupSampleTime (Ifx_VADC_G *vadcG, uint8 inputClassNum, float32 analogFrequency)
 Gets the ADC input class channel sample time. More...
 
IFX_INLINE void IfxVadc_setBackgroundPriorityChannel (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex)
 Sets the channels with low priority as background channel. More...
 
IFX_INLINE void IfxVadc_setBackgroundResultTarget (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, boolean globalResultUsage)
 Sets the target for result background source. More...
 
IFX_INLINE void IfxVadc_setBoundaryMode (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, IfxVadc_BoundaryExtension boundaryMode)
 Selects boundary extension. More...
 
IFX_INLINE void IfxVadc_setChannelEventNodePointer0 (Ifx_VADC_G *vadcG, IfxVadc_SrcNr channelSrcNr, IfxVadc_ChannelId channel)
 Sets the channel event service request line. More...
 
IFX_INLINE void IfxVadc_setChannelInputClass (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, IfxVadc_InputClasses inputClass)
 Sets the channel input class. More...
 
IFX_INLINE void IfxVadc_setChannelLimitCheckMode (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, IfxVadc_LimitCheck limitCheck)
 Sets the channel event mode. More...
 
IFX_INLINE void IfxVadc_setGroupPriorityChannel (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex)
 Sets channel as priority channel with in the group. More...
 
IFX_INLINE void IfxVadc_setLowerBoundary (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, IfxVadc_BoundarySelection lowerBoundary)
 Sets group's lower boundary. More...
 
IFX_INLINE void IfxVadc_setReferenceInput (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, IfxVadc_ChannelReference reference)
 Selects the refernce input. More...
 
IFX_INLINE void IfxVadc_setResultNodeEventPointer0 (Ifx_VADC_G *vadcG, IfxVadc_SrcNr resultSrcNr, IfxVadc_ChannelResult resultRegister)
 Sets result event node pointer 0. More...
 
IFX_INLINE void IfxVadc_setResultNodeEventPointer1 (Ifx_VADC_G *vadcG, IfxVadc_SrcNr resultSrcNr, IfxVadc_ChannelResult resultRegister)
 Sets result event node pointer 1. More...
 
IFX_INLINE void IfxVadc_setResultPosition (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, boolean rightAlignedStorage)
 Sets result store position. More...
 
IFX_INLINE void IfxVadc_setSyncRequest (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, boolean synchonize)
 Sets channel synchronization request. More...
 
IFX_INLINE void IfxVadc_setUpperBoundary (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, IfxVadc_BoundarySelection upperBoundary)
 Sets group's upper boundary. More...
 
IFX_INLINE void IfxVadc_storeGroupResult (Ifx_VADC_G *vadcG, IfxVadc_ChannelId channelIndex, IfxVadc_ChannelResult resultRegister)
 Sets the group result register. More...
 
IFX_EXTERN float32 IfxVadc_getChannelConversionTime (Ifx_VADC *vadc, IfxVadc_GroupId group, IfxVadc_InputClasses inputClass, float32 analogFrequency, float32 moduleFrequency, IfxVadc_ConversionType conversionMode)
 get channel conversion timing More...
 
IFX_INLINE
IfxVadc_ChannelResolution 
IfxVadc_getEmuxGlobalResolution (Ifx_VADC *vadc, uint8 inputClassNum)
 get global input class resolution More...
 
IFX_INLINE float32 IfxVadc_getEmuxGlobalSampleTime (Ifx_VADC *vadc, uint8 inputClassNum, float32 analogFrequency)
 Get the sample time of ADC global class for external channel. More...
 
IFX_INLINE
IfxVadc_ChannelResolution 
IfxVadc_getEmuxGroupResolution (Ifx_VADC_G *vadcG, uint8 inputClassNum)
 get the external channel resolution More...
 
IFX_INLINE float32 IfxVadc_getEmuxGroupSampleTime (Ifx_VADC_G *vadcG, uint8 inputClassNum, float32 analogFrequency)
 Gets the ADC input class sample time of external channel. More...
 
IFX_INLINE void IfxVadc_setEmuxGlobalResolution (Ifx_VADC *vadc, uint8 inputClassNum, IfxVadc_ChannelResolution resolution)
 set the external channel resolution of Global class More...
 
IFX_INLINE void IfxVadc_setEmuxGlobalSampleTime (Ifx_VADC *vadc, uint8 inputClassNum, float32 analogFrequency, float32 sampleTime)
 Sets the sample time of ADC global class for external channel. More...
 
IFX_INLINE void IfxVadc_setEmuxGroupResolution (Ifx_VADC_G *vadcG, uint8 inputClassNum, IfxVadc_ChannelResolution resolution)
 set the external channel resolution of ADC input class More...
 
IFX_INLINE void IfxVadc_setEmuxGroupSampletime (Ifx_VADC_G *vadcG, uint8 inputClassNum, float32 analogFrequency, float32 sampleTime)
 Sets the ADC input class sample time for external channel. More...
 
IFX_INLINE void IfxVadc_setEmuxInterfaceForGroup (Ifx_VADC *vadc, IfxVadc_EmuxInterface emuxInterface, IfxVadc_GroupId group)
 Sets the Emux Interface for a particular group. More...
 
IFX_EXTERN void IfxVadc_configExternalMultiplexerMode (Ifx_VADC *vadc, Ifx_VADC_G *vadcG, IfxVadc_ExternalMultiplexerMode mode, uint8 channels, IfxVadc_EmuxSelectValue startChannel, IfxVadc_EmuxCodingScheme code, IfxVadc_EmuxSampleTimeControl sampleTimeControl, IfxVadc_ChannelSelectionStyle channelSelectionStyle)
 

Detailed Description

VADC basic functionality.

Version
iLLD_1_0_0_11_0
                            IMPORTANT NOTICE

Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.

THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.

Definition in file IfxVadc.h.