<?xml version="1.0" encoding="UTF-8" standalone="no"?><IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" DBVersion="V4.0" IPType="peripheral" Name="ADC" Version="aditf2_v1_1_Cube" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu file:///C:/Dev_Build8/MicroXplorer/doc/V4/Development/Specifications/db/IP_Modes.xsd">
	<About>ADC: Analog to Digital Converter</About>
	
	<RefParameter Comment="Fadc Constraint" DefaultValue="30000000" Max="30000000" Min="600000" Name="FadcConstraint" Type="double" Visible="false">
	<Condition Diagnostic="" Expression="STM32F2"/>
	</RefParameter>
	<RefParameter Comment="Fadc Constraint" DefaultValue="36000000" Max="36000000" Min="600000" Name="FadcConstraint" Type="double" Visible="false"/>
	<RefParameter Comment="Master List" DefaultValue="ADC1" Name="MasterList" Type="list" Visible="false"/>
	
	
	<RefParameter Comment="Clock Prescaler" DefaultValue="ADC_CLOCK_SYNC_PCLK_DIV2" Group="ADCsgroup" Name="ClockPrescaler" Type="list">
		<PossibleValue Action="DISABLE" Comment="PCLK2 divided by 2" Condition="ADC_CLOCK_SYNC_PCLK_DIV2_$IpInstance" Diagnostic="Prescaler divider not respecting Fadc Min Max Constraint" Value="ADC_CLOCK_SYNC_PCLK_DIV2"/>
		<PossibleValue Action="DISABLE" Comment="PCLK2 divided by 4" Condition="ADC_CLOCK_SYNC_PCLK_DIV4_$IpInstance" Diagnostic="Prescaler divider not respecting Fadc Min Max Constraint" Value="ADC_CLOCK_SYNC_PCLK_DIV4"/>
		<PossibleValue Action="DISABLE" Comment="PCLK2 divided by 6" Condition="ADC_CLOCK_SYNC_PCLK_DIV6_$IpInstance" Diagnostic="Prescaler divider not respecting Fadc Min Max Constraint" Value="ADC_CLOCK_SYNC_PCLK_DIV6"/>
		<PossibleValue Action="DISABLE" Comment="PCLK2 divided by 8" Condition="ADC_CLOCK_SYNC_PCLK_DIV8_$IpInstance" Diagnostic="Prescaler divider not respecting Fadc Min Max Constraint" Value="ADC_CLOCK_SYNC_PCLK_DIV8"/>
		<Description>frequency of the clock to the ADC. The clock is common for all the ADCs.</Description>
	</RefParameter>
	<RefParameter Comment="ADC instance" DefaultValue="ADC$Index" Group="ADCgroup" Name="Instance" Type="list" Visible="false"/>
	<RefParameter Comment="Resolution" DefaultValue="ADC_RESOLUTION_12B" Group="ADCgroup" Name="Resolution" Type="list">
		<PossibleValue Comment="12 bits (15 ADC Clock cycles)" Value="ADC_RESOLUTION_12B"/>
		<PossibleValue Comment="10 bits (13 ADC Clock cycles)" Value="ADC_RESOLUTION_10B"/>
		<PossibleValue Comment="8 bits (11 ADC Clock cycles)" Value="ADC_RESOLUTION_8B"/> <!-- Semaphore="RESOLUTION8b$IpInstance"-->
		<PossibleValue Comment="6 bits (9 ADC Clock cycles)" Value="ADC_RESOLUTION_6B"/> <!-- Semaphore="RESOLUTION6b$IpInstance"-->
		<Description>Resolution of the ADC conversion</Description>
	</RefParameter>
    <RefParameter Comment="Scan Conversion Mode" DefaultValue="ENABLE" Group="ADCgroup" Name="ScanConvMode" Type="list">
        <Condition Diagnostic="" Expression="((NbrOfConversion&gt;1)|(InjNumberOfConversion&gt;1)) &amp; (STM32F4 | STM32F2)"/>
        <PossibleValue Comment="Enabled" Value="ENABLE"/>
        <Description>Enable or Disable the Scan Conversion Mode</Description>
    </RefParameter>
    <RefParameter Comment="Scan Conversion Mode" DefaultValue="DISABLE" Group="ADCgroup" Name="ScanConvMode" Type="list">
         <Condition Diagnostic="" Expression="STM32F4 | STM32F2"/>
            <PossibleValue Comment="Disabled" Value="DISABLE"/>
            <PossibleValue Comment="Enabled" Value="ENABLE"/>
            <Description>Enable or Disable the Scan Conversion Mode</Description>
    </RefParameter>
    <RefParameter Comment="Scan Conversion Mode" DefaultValue="ADC_SCAN_ENABLE" Group="ADCgroup" Name="ScanConvMode" Type="list">
        <Condition Diagnostic="" Expression="((NbrOfConversion&gt;1)|(InjNumberOfConversion&gt;1)) &amp; (STM32F7)"/>
        <PossibleValue Comment="Enabled" Value="ADC_SCAN_ENABLE"/>
        <Description>Enable or Disable the Scan Conversion Mode</Description>
    </RefParameter>
    <RefParameter Comment="Scan Conversion Mode" DefaultValue="ADC_SCAN_DISABLE" Group="ADCgroup" Name="ScanConvMode" Type="list">
         <Condition Diagnostic="" Expression="STM32F7"/>
            <PossibleValue Comment="Disabled" Value="ADC_SCAN_DISABLE"/>
            <PossibleValue Comment="Enabled" Value="ADC_SCAN_ENABLE"/>
            <Description>Enable or Disable the Scan Conversion Mode</Description>
    </RefParameter>
     <RefParameter Comment="Continuous Conversion Mode" DefaultValue="DISABLE" Group="ADCgroup" Name="ContinuousConvMode" Type="list">
		<Condition Diagnostic="Continuous and Discontinuous modes could not be used at the same time" Expression="DiscontinuousConvMode=ENABLE"/>
		<PossibleValue Comment="Disabled" Value="DISABLE"/>
    </RefParameter>
	<RefParameter Comment="Continuous Conversion Mode" DefaultValue="DISABLE" Group="ADCgroup" Name="ContinuousConvMode" Type="list">
		<PossibleValue Comment="Disabled" Value="DISABLE"/>
		<PossibleValue Comment="Enabled" Semaphore="ContinuousMode_$IpInstance" Value="ENABLE"/>
		<Description>Enable or Disable the Continuous Conversion Mode</Description>
	</RefParameter>
	<RefParameter Comment="Discontinuous Conversion Mode" DefaultValue="DISABLE" Name="DiscontinuousConvMode" Type="list">
		<Condition Diagnostic="Continuous and Discontinuous modes could not be used at the same time" Expression="ContinuousMode_$IpInstance | ScanConvMode=ADC_SCAN_DISABLE | ScanConvMode=DISABLE "/>
		<PossibleValue Comment="Disabled" Value="DISABLE"/>
	</RefParameter>	
	<!--RefParameter Comment="Discontinuous Conversion Mode" DefaultValue="DISABLE" Name="DiscontinuousConvMode" Type="uniqueElementList">
		<Condition Expression="InjectedDiscontinuous_$IpInstance" Diagnostic="Discontinuous mode could not be used for regular and injected conversion at the same time"/>
		<PossibleValue Comment="Disabled" Value="DISABLE"/>
	</RefParameter-->
	<RefParameter Comment="Discontinuous Conversion Mode" DefaultValue="DISABLE" Name="DiscontinuousConvMode" Type="list">
		<PossibleValue Comment="Disabled" Value="DISABLE"/>
		<PossibleValue Action="DISABLE" Comment="Enabled" Condition="InjectedDiscontinuous_$IpInstance" Diagnostic="Discontinuous mode must not be set for regular and injected groups at the same time" Value="ENABLE"/>
		<Description>Enable or Disable the Discontinuous Conversion Mode</Description>
	</RefParameter>
            <RefParameter Comment="Number Of Discontinuous Conversions" DefaultValue="null" Max="1" Min="1" Name="NbrOfDiscConversion" Type="integer" Visible="false">
    	<Condition Diagnostic="" Expression="DiscontinuousConvMode=DISABLE"/>
    </RefParameter>
	<RefParameter Comment="Number Of Discontinuous Conversions" DefaultValue="1" Max="8" Min="1" Name="NbrOfDiscConversion" Type="integer"/>
	
	
	<RefParameter Comment="External Trigger Conversion Source" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigConv" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="(($IpNumber=2)&amp;!(Mode=__NULL)&amp;!(TripleMode3)&amp;!(DualMode3))"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Conversion Source" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigConv" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="(($IpNumber=3)&amp;(TripleMode0|TripleMode1|TripleMode_Interl|TripleMode_REGSIMULT | TripleMode_REGSIMULT1))"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Conversion Source" DefaultValue="ADC_EXTERNALTRIGCONV_EXT_IT11" Group="ADCgroup" Name="ExternalTrigConv" Type="list">
		<Condition Diagnostic="EXTI Line11 is used for External-Trigger-for-Regular-conversion mode." Expression="STM32F7 &amp;(RegularExternalTrigger$IpInstance)"/>
		<PossibleValue Comment="EXTI Line11" Value="ADC_EXTERNALTRIGCONV_EXT_IT11"/>
	</RefParameter>
        <RefParameter Comment="External Trigger Conversion Source" DefaultValue="ADC_EXTERNALTRIGCONV_Ext_IT11" Group="ADCgroup" Name="ExternalTrigConv" Type="list">
		<Condition Diagnostic="EXTI Line11 is used for External-Trigger-for-Regular-conversion mode." Expression="(STM32F2|STM32F4) &amp;(RegularExternalTrigger$IpInstance)"/>
		<PossibleValue Comment="EXTI Line11" Value="ADC_EXTERNALTRIGCONV_Ext_IT11"/>
        </RefParameter>
        <RefParameter Comment="External Trigger Conversion Source" DefaultValue="ADC_EXTERNALTRIGCONV_EXT_IT11" Group="ADCgroup" Name="ExternalTrigConv" Type="list">
		<Condition Diagnostic="EXTI Line11 is used for External-Trigger-for-Regular-conversion mode." Expression="(RegularExternalTrigger$IpInstance)"/>
		<PossibleValue Comment="EXTI Line11" Value="ADC_EXTERNALTRIGCONV_EXT_IT11"/>
	</RefParameter>
	
	<RefParameter Comment="External Trigger Conversion Source" DefaultValue="ADC_SOFTWARE_START" Group="ADCgroup" Name="ExternalTrigConv" Type="list">
	<Condition Diagnostic="" Expression="STM32F7"/>
	    <PossibleValue  Comment ="Regular Conversion launched by software" Value="ADC_SOFTWARE_START"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 1 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 2 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 3 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_CC3"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Capture Compare 2 event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T2_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 5 Trigger Out event" Condition="!TIM5_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T5_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Capture Compare 4 event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T4_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Capture Compare 4 event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T3_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Trigger Out event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T8_TRGO"/> <!--not available for DIE463-->
		<PossibleValue Action="Remove" Comment="Timer 8 Trigger 2 Out event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T8_TRGO2"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Trigger Out event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Trigger 2 Out event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_TRGO2"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Trigger Out event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T2_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Trigger Out event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T4_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 6 Trigger Out event" Condition="!TIM6_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T6_TRGO"/>
		<Description>Select the external event used to trigger the start of conversion of a regular group</Description>
	</RefParameter>
	<RefParameter Comment="External Trigger Conversion Source" DefaultValue="ADC_SOFTWARE_START" Group="ADCgroup" Name="ExternalTrigConv" Type="list">
    	<PossibleValue  Comment ="Regular Conversion launched by software" Value="ADC_SOFTWARE_START"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 1 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 2 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 3 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T1_CC3"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Capture Compare 2 event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T2_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Capture Compare 3 event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T2_CC3"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Capture Compare 4 event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T2_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Trigger Out event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T2_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Capture Compare 1 event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T3_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Trigger Out event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T3_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Capture Compare 4 event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T4_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 5 Capture Compare 1 event" Condition="!TIM5_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T5_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 5 Capture Compare 2 event" Condition="!TIM5_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T5_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 5 Capture Compare 3 event" Condition="!TIM5_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T5_CC3"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Capture Compare 1 event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T8_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Trigger Out event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGCONV_T8_TRGO"/>
		<Description>Select the external event used to trigger the start of conversion of a regular group</Description>
	</RefParameter>
	
	<RefParameter Comment="External Trigger Conversion Edge" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigConvEdge" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="($IpNumber=2)&amp;!(Mode=__NULL)&amp;!(TripleMode3)&amp;!(DualMode3)"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Conversion Edge" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigConvEdge" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="($IpNumber=3)&amp;(TripleMode0|TripleMode1|TripleMode_Interl|TripleMode_REGSIMULT | TripleMode_REGSIMULT1)"/>
	</RefParameter>
	
	<RefParameter Comment="External Trigger Conversion Edge" DefaultValue="ADC_EXTERNALTRIGCONVEDGE_NONE" Group="ADCgroup" Name="ExternalTrigConvEdge" Type="list">
	<Condition Diagnostic="" Expression="ExternalTrigConv = ADC_SOFTWARE_START"/>
		<PossibleValue Comment="None" Value="ADC_EXTERNALTRIGCONVEDGE_NONE"/>
		<Description>Select the external trigger polarity and enable the trigger of a regular group</Description>
	</RefParameter>
	
	<RefParameter Comment="External Trigger Conversion Edge" DefaultValue="ADC_EXTERNALTRIGCONVEDGE_RISING" Group="ADCgroup" Name="ExternalTrigConvEdge" Type="list">
		<PossibleValue Comment="Trigger detection on the rising edge" Value="ADC_EXTERNALTRIGCONVEDGE_RISING"/>
		<PossibleValue Comment="Trigger detection on the falling edge" Value="ADC_EXTERNALTRIGCONVEDGE_FALLING"/>
		<PossibleValue Comment="Trigger detection on both the rising and falling edges" Value="ADC_EXTERNALTRIGCONVEDGE_RISINGFALLING"/>
		<Description>Select the external trigger polarity and enable the trigger of a regular group</Description>
	</RefParameter>
	
	<!-- DataAlign -->
	<RefParameter Comment="Data Alignment" DefaultValue="ADC_DATAALIGN_RIGHT" Group="ADCgroup" Name="DataAlign" Type="list">
		<PossibleValue Comment="Right alignment" Value="ADC_DATAALIGN_RIGHT"/>
		<PossibleValue Comment="Left alignment" Value="ADC_DATAALIGN_LEFT"/>
		<Description>Select the alignment of the data stored after conversion.</Description>
	</RefParameter>
	<RefParameter Comment="Number Of Conversion Flag" DefaultValue="0" Group="ADCgroup" Max="1" Min="0" Name="NbrOfConversionFlag" Type="integer" Visible="false"/>
	<RefParameter Comment="Number Of Conversion" DefaultValue="1" Group="ADCgroup" Max="16" Min="1" Name="NbrOfConversion" Type="integer">
		<Description>Number of regular channels to be converted</Description>
	</RefParameter>

    <!-- Possible values of DMAContinuousRequests parameter -->
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="DISABLE" Group="ADCgroup" Name="DMAContinuousRequests" Type="list">
        <PossibleValue Comment="Disabled" Value="DISABLE"/>
        <PossibleValue Comment="Enabled" Value="ENABLE" Action="Disable" Condition="!DMARequest_$IpInstance" Diagnostic="A DMA Request in Circular Mode must be configured in DMA Settings Tab for this ADC instance" />
        <Description>This parameter is used only when a DMA Request is configured. Else it is not relevant.&lt;br&gt;
            When the DMA Request for this ADC instance this parameter specifies whether 
            the DMA requests are performed in one shot mode (DMA transfer stops when number of conversions is reached)
            or are performed in continuous mode (DMA transfer unlimited, whatever number of conversions).&lt;br&gt;
            Note: In continuous mode, DMA must be configured in circular mode. Otherwise an overrun will be triggered when DMA buffer maximum pointer is reached.
        </Description>
    </RefParameter>

        <RefParameter Comment="DMA Continuous Requests" DefaultValue="LIMITED" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=1 &amp; DMARequest_ADC1 &amp; DMAContinuousRequests=DISABLE"/>
        <PossibleValue Comment="LIMITED" Value="LIMITED"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
        </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="UNLIMITED" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=1 &amp; DMARequest_ADC1 &amp; DMAContinuousRequests=ENABLE"/>
        <PossibleValue Comment="LIMITED" Value="UNLIMITED"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="NONE" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=1 &amp; !DMARequest_ADC1 &amp; DMAContinuousRequests=DISABLE"/>
        <PossibleValue Comment="none" Value="NONE"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="LIMITED" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=2 &amp; DMARequest_ADC2 &amp; DMAContinuousRequests=DISABLE"/>
        <PossibleValue Comment="LIMITED" Value="LIMITED"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="UNLIMITED" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=2 &amp; DMARequest_ADC2 &amp; DMAContinuousRequests=ENABLE"/>
        <PossibleValue Comment="LIMITED" Value="UNLIMITED"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="NONE" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=2 &amp; !DMARequest_ADC2 &amp; DMAContinuousRequests=DISABLE"/>
        <PossibleValue Comment="none" Value="NONE"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    
     <RefParameter Comment="DMA Continuous Requests" DefaultValue="LIMITED" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=3 &amp; DMARequest_ADC3 &amp; DMAContinuousRequests=DISABLE"/>
        <PossibleValue Comment="LIMITED" Value="LIMITED"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="UNLIMITED" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=3 &amp; DMARequest_ADC3 &amp; DMAContinuousRequests=ENABLE"/>
        <PossibleValue Comment="LIMITED" Value="UNLIMITED"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="NONE" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
         <Condition Diagnostic="" Expression="$IpNumber=3 &amp; !DMARequest_ADC3 &amp; DMAContinuousRequests=DISABLE"/>
        <PossibleValue Comment="none" Value="NONE"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
    <RefParameter Comment="DMA Continuous Requests" DefaultValue="NONE" Group="ADCgroup" Name="DMAContinuousRequestsForConfigFile" Type="list" Visible="false">
        <PossibleValue Comment="none" Value="NONE"/>
        <Description>Enable/Disable DMA Continuous Requests</Description>
    </RefParameter>
	<RefParameter Comment="End Of Conversion Selection" DefaultValue="ADC_EOC_SINGLE_CONV" Group="ADCgroup" Name="EOCSelection" Type="list">
		<PossibleValue Comment="EOC flag at the end of single channel conversion" Value="ADC_EOC_SINGLE_CONV"/>
		<PossibleValue Comment="EOC flag at the end of all conversions" Value="ADC_EOC_SEQ_CONV"/>
		<Description>Regular channel end of conversion selection</Description>
	</RefParameter>
	<RefParameter Comment="Channel" DefaultValue="" Group="ADCChannel" Name="Channel" Type="list" Visible="true">
		<Condition Diagnostic="" Expression="master=1"/>
		<PossibleValue Comment="Channel 0" Value="ADC_CHANNEL_0"/>
		<PossibleValue Comment="Channel 1" Value="ADC_CHANNEL_1"/>
		<PossibleValue Comment="Channel 2" Value="ADC_CHANNEL_2"/>
		<PossibleValue Comment="Channel 3" Value="ADC_CHANNEL_3"/>
		<PossibleValue Comment="Channel 4" Value="ADC_CHANNEL_4"/>
		<PossibleValue Comment="Channel 5" Value="ADC_CHANNEL_5"/>
		<PossibleValue Comment="Channel 6" Value="ADC_CHANNEL_6"/>
		<PossibleValue Comment="Channel 7" Value="ADC_CHANNEL_7"/>
		<PossibleValue Comment="Channel 8" Value="ADC_CHANNEL_8"/>
		<PossibleValue Comment="Channel 9" Value="ADC_CHANNEL_9"/>
		<PossibleValue Comment="Channel 10" Value="ADC_CHANNEL_10"/>
		<PossibleValue Comment="Channel 11" Value="ADC_CHANNEL_11"/>
		<PossibleValue Comment="Channel 12" Value="ADC_CHANNEL_12"/>
		<PossibleValue Comment="Channel 13" Value="ADC_CHANNEL_13"/>
		<PossibleValue Comment="Channel 14" Value="ADC_CHANNEL_14"/>
		<PossibleValue Comment="Channel 15" Value="ADC_CHANNEL_15"/>
		<PossibleValue Comment="Channel 16" Value="ADC_CHANNEL_16"/>
		<PossibleValue Comment="Channel 17" Value="ADC_CHANNEL_17"/>
		<PossibleValue Comment="Channel 18" Value="ADC_CHANNEL_18"/>
		<PossibleValue Comment="Channel Temperature Sensor" Value="ADC_CHANNEL_TEMPSENSOR"/>
		<PossibleValue Comment="Channel Vrefint" Value="ADC_CHANNEL_VREFINT"/>
		<PossibleValue Comment="Channel Vbat" Value="ADC_CHANNEL_VBAT"/>
	</RefParameter>
	<RefParameter Comment="Channel" DefaultValue="" Group="ADCChannel" Name="Channel" Type="list" Visible="true">
		<PossibleValue Comment="Channel 0" Value="ADC_CHANNEL_0"/>
		<PossibleValue Comment="Channel 1" Value="ADC_CHANNEL_1"/>
		<PossibleValue Comment="Channel 2" Value="ADC_CHANNEL_2"/>
		<PossibleValue Comment="Channel 3" Value="ADC_CHANNEL_3"/>
		<PossibleValue Comment="Channel 4" Value="ADC_CHANNEL_4"/>
		<PossibleValue Comment="Channel 5" Value="ADC_CHANNEL_5"/>
		<PossibleValue Comment="Channel 6" Value="ADC_CHANNEL_6"/>
		<PossibleValue Comment="Channel 7" Value="ADC_CHANNEL_7"/>
		<PossibleValue Comment="Channel 8" Value="ADC_CHANNEL_8"/>
		<PossibleValue Comment="Channel 9" Value="ADC_CHANNEL_9"/>
		<PossibleValue Comment="Channel 10" Value="ADC_CHANNEL_10"/>
		<PossibleValue Comment="Channel 11" Value="ADC_CHANNEL_11"/>
		<PossibleValue Comment="Channel 12" Value="ADC_CHANNEL_12"/>
		<PossibleValue Comment="Channel 13" Value="ADC_CHANNEL_13"/>
		<PossibleValue Comment="Channel 14" Value="ADC_CHANNEL_14"/>
		<PossibleValue Comment="Channel 15" Value="ADC_CHANNEL_15"/>
		<PossibleValue Comment="Channel 16" Value="ADC_CHANNEL_16"/>
		<PossibleValue Comment="Channel 17" Value="ADC_CHANNEL_17"/>
		<PossibleValue Comment="Channel 18" Value="ADC_CHANNEL_18"/>
	</RefParameter>
	<!-- List of all available channel used to -->
	<RefParameter Comment="Channel" DefaultValue="" Group="ADCChannel" Name="AllChannels" Type="list" Visible="true">
		<PossibleValue Comment="Channel 0" Value="ADC_CHANNEL_0"/>
		<PossibleValue Comment="Channel 1" Value="ADC_CHANNEL_1"/>
		<PossibleValue Comment="Channel 2" Value="ADC_CHANNEL_2"/>
		<PossibleValue Comment="Channel 3" Value="ADC_CHANNEL_3"/>
		<PossibleValue Comment="Channel 4" Value="ADC_CHANNEL_4"/>
		<PossibleValue Comment="Channel 5" Value="ADC_CHANNEL_5"/>
		<PossibleValue Comment="Channel 6" Value="ADC_CHANNEL_6"/>
		<PossibleValue Comment="Channel 7" Value="ADC_CHANNEL_7"/>
		<PossibleValue Comment="Channel 8" Value="ADC_CHANNEL_8"/>
		<PossibleValue Comment="Channel 9" Value="ADC_CHANNEL_9"/>
		<PossibleValue Comment="Channel 10" Value="ADC_CHANNEL_10"/>
		<PossibleValue Comment="Channel 11" Value="ADC_CHANNEL_11"/>
		<PossibleValue Comment="Channel 12" Value="ADC_CHANNEL_12"/>
		<PossibleValue Comment="Channel 13" Value="ADC_CHANNEL_13"/>
		<PossibleValue Comment="Channel 14" Value="ADC_CHANNEL_14"/>
		<PossibleValue Comment="Channel 15" Value="ADC_CHANNEL_15"/>
		<PossibleValue Comment="Channel 16" Value="ADC_CHANNEL_16"/>
		<PossibleValue Comment="Channel 17" Value="ADC_CHANNEL_17"/>
		<PossibleValue Comment="Channel 18" Value="ADC_CHANNEL_18"/>
		<PossibleValue Comment="Channel Temperature Sensor" Value="ADC_CHANNEL_TEMPSENSOR"/>
		<PossibleValue Comment="Channel Vrefint" Value="ADC_CHANNEL_VREFINT"/>
		<PossibleValue Comment="Channel Vbat" Value="ADC_CHANNEL_VBAT"/>
	</RefParameter>
	<RefParameter Comment="Available Channel" DefaultValue="ADC_CHANNEL_0" Group="ADCChannel" Name="Available_Channel" Type="list" Visible="false">
		<!-- <Condition Expression="master=1" Diagnostic="TEMPSENSOR, VREFINT and VBATshould be available only for ADC1 (master)"/>
		<PossibleValue Comment="Channel Temperature Sensor" Value="ADC_CHANNEL_TEMPSENSOR"/>
		<PossibleValue Comment="Channel Vrefint" Value="ADC_CHANNEL_VREFINT"/>
		<PossibleValue Comment="Channel Vbat" Value="ADC_CHANNEL_VBAT"/> -->
	</RefParameter>
	<RefParameter Comment="Available Channel" DefaultValue="ADC_CHANNEL_0" Group="ADCChannel" Name="Available_Channel" Type="list" Visible="false">
		<PossibleValue Comment="Channel 0" Value="ADC_CHANNEL_0"/>
	</RefParameter>
	<!-- InjNumberOfConversion -->
	<!--injected conversion not autorized for regular simultanious mode AND for ADC2 if Mode!=Independent mode AND for ADC3 if Triple mode-->
	<RefParameter Comment="Number Of Conversions" DefaultValue="0" Group="ADCgroup" Max="0" Min="0" Name="InjNumberOfConversion" Type="integer" Visible="false">
		<Condition Diagnostic="The injected conversion should be disabled in regular simultaneous mode" Expression="($IpNumber=3)&amp;(TripleMode_REGSIMULT)"/>
	</RefParameter>
	<RefParameter Comment="Number Of Conversions" DefaultValue="0" Group="ADCgroup" Max="0" Min="0" Name="InjNumberOfConversion" Type="integer" Visible="false">
		<Condition Diagnostic="The injected conversion should be disabled in regular simultaneous mode" Expression="($IpNumber=1)&amp;(DualMode_REGSIMULT)"/>
	</RefParameter>
	<RefParameter Comment="Number Of Conversions" DefaultValue="0" Group="ADCgroup" Max="0" Min="0" Name="InjNumberOfConversion" Type="integer" Visible="false">
		<Condition Diagnostic="The injected conversion should be disabled in regular simultaneous mode" Expression="($IpNumber=1)&amp;(TripleMode_REGSIMULT)"/>
	</RefParameter>
	<RefParameter Comment="Number Of Conversions" DefaultValue="0" Group="ADCgroup" Max="0" Min="0" Name="InjNumberOfConversion" Type="integer" Visible="false">
		<Condition Diagnostic="The injected conversion should be disabled in regular simultaneous mode" Expression="(($IpNumber=2)&amp;(DualMode_REGSIMULT | TripleMode_REGSIMULT))"/>
	</RefParameter>
	<RefParameter Comment="Number Of Conversions" DefaultValue="0" Group="ADCgroup" Max="4" Min="0" Name="InjNumberOfConversion" Type="integer">
		<Description>Number of injected channels to be converted</Description>
	</RefParameter>
	<!-- -->
	<RefParameter Comment="Master Flag" DefaultValue="0" Max="1" Min="0" Name="master" Type="integer" Visible="false"/>
	<!-- added to be able to detect if the current instance is the master (ADC1) will be set by the code -->
	<RefParameter Comment="Rank" DefaultValue="1" Group="ADCChannel" Max="16" Min="1" Name="Rank" Type="integer">
		<Description>The rank in the regular group sequencer</Description>
	</RefParameter>
	<RefParameter Comment="Injected Rank" DefaultValue="1" Max="4" Min="1" Name="InjectedRank" Type="integer">
		<Description>The rank in the regular group sequencer</Description>
	</RefParameter>
	<RefParameter Comment="Sampling Time" DefaultValue="ADC_SAMPLETIME_3CYCLES" Group="ADCChannel" Name="SamplingTime" Type="list">
		<PossibleValue Comment="3 Cycles" Value="ADC_SAMPLETIME_3CYCLES"/>
		<PossibleValue Comment="15 Cycles" Value="ADC_SAMPLETIME_15CYCLES"/>
		<PossibleValue Comment="28 Cycles" Value="ADC_SAMPLETIME_28CYCLES"/>
		<PossibleValue Comment="56 Cycles" Value="ADC_SAMPLETIME_56CYCLES"/>
		<PossibleValue Comment="84 Cycles" Value="ADC_SAMPLETIME_84CYCLES"/>
		<PossibleValue Comment="112 Cycles" Value="ADC_SAMPLETIME_112CYCLES"/>
		<PossibleValue Comment="144 Cycles" Value="ADC_SAMPLETIME_144CYCLES"/>
		<PossibleValue Comment="480 Cycles" Value="ADC_SAMPLETIME_480CYCLES"/>
		<Description>Regular Channel x sampling time selection</Description>
	</RefParameter>
	<RefParameter Comment="Injected Sampling Time" DefaultValue="ADC_SAMPLETIME_3CYCLES" Name="InjectedSamplingTime" Type="list">
		<PossibleValue Comment="3 Cycles" Value="ADC_SAMPLETIME_3CYCLES"/>
		<PossibleValue Comment="15 Cycles" Value="ADC_SAMPLETIME_15CYCLES"/>
		<PossibleValue Comment="28 Cycles" Value="ADC_SAMPLETIME_28CYCLES"/>
		<PossibleValue Comment="56 Cycles" Value="ADC_SAMPLETIME_56CYCLES"/>
		<PossibleValue Comment="84 Cycles" Value="ADC_SAMPLETIME_84CYCLES"/>
		<PossibleValue Comment="112 Cycles" Value="ADC_SAMPLETIME_112CYCLES"/>
		<PossibleValue Comment="144 Cycles" Value="ADC_SAMPLETIME_144CYCLES"/>
		<PossibleValue Comment="480 Cycles" Value="ADC_SAMPLETIME_480CYCLES"/>
		<Description>Injected Channel x sampling time selection</Description>
	</RefParameter>
	
	
	
	<RefParameter Comment="Offset" DefaultValue="null" Group="ADCChannel" Max="2047" Min="0" Name="Offset" Type="integer">
		<Description>Data offset for regular channel </Description>	
	</RefParameter>
	
	
	<RefParameter Comment="External Trigger Source" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigInjecConv" Type="list" Visible="false">
		<Condition Diagnostic="External Trigger mode is selected" Expression="($IpNumber=2)&amp;!(Mode=__NULL)"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Source" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigInjecConv" Type="list" Visible="false">
		<Condition Diagnostic="External Trigger mode is selected" Expression="($IpNumber=3)&amp;(TripleMode|TripleMode_REGSIMULT|TripleMode0|TripleMode_REGSIMULT1| TripleMode1| TripleMode_REGSIMULT |TripleMode_Interl |TripleMode3)"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Source" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigInjecConv" Type="list" Visible="false">
		<Condition Diagnostic="not available only for master instance" Expression="(InjNumberOfConversion=0)"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Source" DefaultValue="ADC_EXTERNALTRIGINJECCONV_EXT_IT15" Group="ADCgroup" Name="ExternalTrigInjecConv" Type="list">
		<Condition Diagnostic="" Expression="!(AutoInjected_$IpInstance) &amp;(InjectedExternalTrigger$IpInstance)&amp;!(STM32F7)"/>
		<PossibleValue Comment="EXTI line15" Value="ADC_EXTERNALTRIGINJECCONV_EXT_IT15"/>
		<Description>EXTI Line15 is used for External-Trigger-for-Injected-conversion mode</Description>
	</RefParameter>
	<RefParameter Comment="External Trigger Source" DefaultValue="__NULL" Group="ADCgroup" Name="ExternalTrigInjecConv" Type="list" >
		<Condition Diagnostic="" Expression="(AutoInjected_$IpInstance)"/>
		<PossibleValue Comment="External Trigger on injected channels are disabled (Auto-injection mode selected)" Value="ADC_INJECTED_SOFTWARE_START"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Source" DefaultValue="ADC_INJECTED_SOFTWARE_START" Group="ADCgroup" Name="ExternalTrigInjecConv" Type="list">
		<Condition Diagnostic="" Expression="STM32F7"/>
		<PossibleValue Comment="Injected Conversion launched by software" Value="ADC_INJECTED_SOFTWARE_START"/>
    	<PossibleValue Action="Remove" Comment="Timer 1 Trigger Out event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T1_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 4 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T1_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Trigger Out event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T2_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Capture Compare 1 event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T2_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Capture Compare 4 event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T3_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Trigger Out event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T4_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Capture Compare 4 event" Condition="!TIM8_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T8_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Trigger 2 Out event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T1_TRGO2"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Trigger Out event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T8_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Trigger 2 Out event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T8_TRGO2"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Capture Compare 3 event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T3_CC3"/>	
		<PossibleValue Action="Remove" Comment="Timer 5 Trigger Out event" Condition="!TIM5_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T5_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Capture Compare 1 event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T3_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 6 Trigger Out event" Condition="!TIM6_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T6_TRGO"/>
		<Description>Select the external event used to trigger the start of conversion of an injected group</Description>
	</RefParameter>
	<RefParameter Comment="External Trigger Source" DefaultValue="ADC_INJECTED_SOFTWARE_START" Group="ADCgroup" Name="ExternalTrigInjecConv" Type="list">
		<PossibleValue Comment="Injected Conversion launched by software" Value="ADC_INJECTED_SOFTWARE_START"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Capture Compare 4 event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T1_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 1 Trigger Out event" Condition="!TIM1_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T1_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Capture Compare 1 event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T2_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 2 Trigger Out event" Condition="!TIM2_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T2_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Capture Compare 2 event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T3_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 3 Capture Compare 4 event" Condition="!TIM3_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T3_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Capture Compare 1 event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T4_CC1"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Capture Compare 2 event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T4_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Capture Compare 3 event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T4_CC3"/>
		<PossibleValue Action="Remove" Comment="Timer 4 Trigger Out event" Condition="!TIM4_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T4_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 5 Capture Compare 4 event" Condition="!TIM5_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T5_CC4"/>
		<PossibleValue Action="Remove" Comment="Timer 5 Trigger Out event" Condition="!TIM5_Exist" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T5_TRGO"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Capture Compare 2 event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T8_CC2"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Capture Compare 3 event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T8_CC3"/>
		<PossibleValue Action="Remove" Comment="Timer 8 Capture Compare 4 event" Condition="!TIM8_Exist|DIE463" Diagnostic="" Value="ADC_EXTERNALTRIGINJECCONV_T8_CC4"/>
		<Description>Select the external event used to trigger the start of conversion of an injected group</Description>
	</RefParameter>
	
	
	<RefParameter Comment="External Trigger Edge" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigInjecConvEdge" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="(InjNumberOfConversion = 0) | (($IpNumber=2)&amp;!(Mode=__NULL))"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Edge" DefaultValue="null" Group="ADCgroup" Name="ExternalTrigInjecConvEdge" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="($IpNumber=3)&amp;(TripleMode|TripleMode_REGSIMULT|TripleMode0|TripleMode_REGSIMULT1| TripleMode1| TripleMode_REGSIMULT |TripleMode_Interl |TripleMode3)"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Edge" DefaultValue="ADC_EXTERNALTRIGINJECCONVEDGE_NONE" Group="ADCgroup" Name="ExternalTrigInjecConvEdge" Type="list" Visible="true">
		<Condition Diagnostic="" Expression="AutoInjected_$IpInstance &amp;!(InjNumberOfConversion=0)"/>
		<PossibleValue Comment="None" Value="ADC_EXTERNALTRIGINJECCONVEDGE_NONE"/>
	</RefParameter>
	<RefParameter Comment="External Trigger Edge" DefaultValue="ADC_EXTERNALTRIGINJECCONVEDGE_NONE" Group="ADCgroup" Name="ExternalTrigInjecConvEdge" Type="list">
	    <Condition Diagnostic="" Expression="ExternalTrigInjecConv = ADC_INJECTED_SOFTWARE_START"/>
		<PossibleValue Comment="None" Value="ADC_EXTERNALTRIGINJECCONVEDGE_NONE"/>
		<Description>Select the external trigger polarity and enable the trigger of a injected group</Description>
	</RefParameter>
	<RefParameter Comment="External Trigger Edge" DefaultValue="ADC_EXTERNALTRIGINJECCONVEDGE_RISING" Group="ADCgroup" Name="ExternalTrigInjecConvEdge" Type="list">
		<PossibleValue Comment="Trigger detection on the rising edge" Value="ADC_EXTERNALTRIGINJECCONVEDGE_RISING"/>
		<PossibleValue Comment="Trigger detection on the falling edge" Value="ADC_EXTERNALTRIGINJECCONVEDGE_FALLING"/>
		<PossibleValue Comment="Trigger detection on both the rising and falling edges" Value="ADC_EXTERNALTRIGINJECCONVEDGE_RISINGFALLING"/>
		<Description>Select the external trigger polarity and enable the trigger of a injected group</Description>
	</RefParameter>
	
	
	<RefParameter Comment="Mode" DefaultValue="__NULL" Group="ADCsgroup" Name="Mode" Type="list">
		<Condition Diagnostic="All mode are available if ADC1, ADC2 and ADC3 are used" Expression="USE_ADC1&amp;USE_ADC2&amp;USE_ADC3&amp;(ADC1:InjNumberOfConversion=0)&amp;(ADC2:InjNumberOfConversion=0)&amp;(ADC3:InjNumberOfConversion=0)"/>
		<PossibleValue Comment="Independent mode" Value="__NULL"/>
		<PossibleValue Comment="Dual combined regular simultaneous + injected simultaneous mode" Semaphore="DualMode0" Value="ADC_DUALMODE_REGSIMULT_INJECSIMULT"/>
		<PossibleValue Comment="Dual combined regular simultaneous + alternate trigger mode" Semaphore="DualMode_REGSIMULT1" Value="ADC_DUALMODE_REGSIMULT_ALTERTRIG"/>
		<PossibleValue Comment="Dual injected simultaneous mode only" Semaphore="DualMode1" Value="ADC_DUALMODE_INJECSIMULT"/>
		<PossibleValue Comment="Dual regular simultaneous mode only" Semaphore="DualMode_REGSIMULT" Value="ADC_DUALMODE_REGSIMULT"/>
		<PossibleValue Comment="Dual interleaved mode only" Semaphore="DualMode_Interl" Value="ADC_DUALMODE_INTERL"/>
		<PossibleValue Comment="Dual alternate trigger mode only" Semaphore="DualMode3" Value="ADC_DUALMODE_ALTERTRIG"/>
		<PossibleValue Comment="Triple combined regular simultaneous + injected simultaneous mode" Semaphore="TripleMode0" Value="ADC_TRIPLEMODE_REGSIMULT_INJECSIMULT"/>
		<PossibleValue Comment="Triple combined regular simultaneous + alternate trigger mode" Semaphore="TripleMode_REGSIMULT1" Value="ADC_TRIPLEMODE_REGSIMULT_AlterTrig"/>
		<PossibleValue Comment="Triple injected simultaneous mode only" Semaphore="TripleMode1" Value="ADC_TRIPLEMODE_INJECSIMULT"/>
		<PossibleValue Comment="Triple regular simultaneous mode only" Semaphore="TripleMode_REGSIMULT" Value="ADC_TRIPLEMODE_REGSIMULT"/>
		<PossibleValue Comment="Triple interleaved mode only" Semaphore="TripleMode_Interl" Value="ADC_TRIPLEMODE_INTERL"/>
		<PossibleValue Comment="Triple alternate trigger mode only" Semaphore="TripleMode3" Value="ADC_TRIPLEMODE_ALTERTRIG"/>
		<Description>Multi ADC mode selection</Description>
	</RefParameter>
	<RefParameter Comment="Mode" DefaultValue="__NULL" Group="ADCsgroup" Name="Mode" Type="list">
		<Condition Diagnostic="Triple mode should not be available if ADC3 is not used" Expression="USE_ADC1&amp;USE_ADC2&amp;(ADC1:InjNumberOfConversion=0)&amp;(ADC2:InjNumberOfConversion=0)"/>
		<PossibleValue Comment="Independent mode" Value="__NULL"/>
		<PossibleValue Comment="Dual combined regular simultaneous + injected simultaneous mode" Semaphore="DualMode0" Value="ADC_DUALMODE_REGSIMULT_INJECSIMULT"/>
		<PossibleValue Comment="Dual combined regular simultaneous + alternate trigger mode" Semaphore="DualMode_REGSIMULT1" Value="ADC_DUALMODE_REGSIMULT_ALTERTRIG"/>
		<PossibleValue Comment="Dual injected simultaneous mode only" Semaphore="DualMode1" Value="ADC_DUALMODE_INJECSIMULT"/>
		<PossibleValue Comment="Dual regular simultaneous mode only" Semaphore="DualMode_REGSIMULT" Value="ADC_DUALMODE_REGSIMULT"/>
		<PossibleValue Comment="Dual interleaved mode only" Semaphore="DualMode_Interl" Value="ADC_DUALMODE_INTERL"/>
		<PossibleValue Comment="Dual alternate trigger mode only" Semaphore="DualMode3" Value="ADC_DUALMODE_ALTERTRIG"/>
		<Description>Multi ADC mode selection</Description>
	</RefParameter>
	<RefParameter Comment="Mode" DefaultValue="__NULL" Group="ADCsgroup" Name="Mode" Type="list">
		<Condition Diagnostic="Regular simultanious mode should not be available for injected conversion" Expression="USE_ADC1&amp;USE_ADC2&amp;USE_ADC3"/>
		<PossibleValue Comment="Independent mode" Value="__NULL"/>
		<PossibleValue Comment="Dual combined regular simultaneous + injected simultaneous mode" Semaphore="DualMode0" Value="ADC_DUALMODE_REGSIMULT_INJECSIMULT"/>
                <PossibleValue Comment="Dual combined regular simultaneous + alternate trigger mode" Semaphore="DualMode_REGSIMULT1" Value="ADC_DUALMODE_REGSIMULT_ALTERTRIG"/>
		<PossibleValue Comment="Dual injected simultaneous mode only" Semaphore="DualMode1" Value="ADC_DUALMODE_INJECSIMULT"/>
		<PossibleValue Comment="Dual interleaved mode only" Semaphore="DualMode_Interl" Value="ADC_DUALMODE_INTERL"/>
		<PossibleValue Comment="Dual alternate trigger mode only" Semaphore="DualMode3" Value="ADC_DUALMODE_ALTERTRIG"/>
		<PossibleValue Comment="Triple combined regular simultaneous + injected simultaneous mode" Semaphore="TripleMode0" Value="ADC_TRIPLEMODE_REGSIMULT_INJECSIMULT"/>
                <PossibleValue Comment="Triple combined regular simultaneous + alternate trigger mode" Semaphore="TripleMode_REGSIMULT1" Value="ADC_TRIPLEMODE_REGSIMULT_AlterTrig"/>
		<PossibleValue Comment="Triple injected simultaneous mode only" Semaphore="TripleMode1" Value="ADC_TRIPLEMODE_INJECSIMULT"/>
		<PossibleValue Comment="Triple interleaved mode only" Semaphore="TripleMode_Interl" Value="ADC_TRIPLEMODE_INTERL"/>
		<PossibleValue Comment="Triple alternate trigger mode only" Semaphore="TripleMode3" Value="ADC_TRIPLEMODE_ALTERTRIG"/>
		<Description>Multi ADC mode selection</Description>
	</RefParameter>
	<RefParameter Comment="Mode" DefaultValue="__NULL" Group="ADCsgroup" Name="Mode" Type="list">
		<Condition Diagnostic="Regular simultanious mode should not be available for injected conversion" Expression="USE_ADC1&amp;USE_ADC2"/>
		<PossibleValue Comment="Independent mode" Value="__NULL"/>
		<PossibleValue Comment="Dual combined regular simultaneous + injected simultaneous mode" Semaphore="DualMode0" Value="ADC_DUALMODE_REGSIMULT_INJECSIMULT"/>
                <PossibleValue Comment="Dual combined regular simultaneous + alternate trigger mode" Semaphore="DualMode_REGSIMULT1" Value="ADC_DUALMODE_REGSIMULT_ALTERTRIG"/>
		<PossibleValue Comment="Dual injected simultaneous mode only" Semaphore="DualMode1" Value="ADC_DUALMODE_INJECSIMULT"/>
		<PossibleValue Comment="Dual interleaved mode only" Semaphore="DualMode_Interl" Value="ADC_DUALMODE_INTERL"/>
		<PossibleValue Comment="Dual alternate trigger mode only" Semaphore="DualMode3" Value="ADC_DUALMODE_ALTERTRIG"/>
	</RefParameter>
	
	<!--RefParameter Comment="Mode" DefaultValue="__NULL" Name="Mode" Type="list" Group="ADCsgroup">
		<Condition Expression="USE_ADC1&amp;!USE_ADC2&amp;USE_ADC3" Diagnostic="Only independent mode is available if ADC2 and ADC3 are not used"/>
		<PossibleValue Comment="Independent mode" Value="__NULL"/>
		<Description>Multi ADC mode selection</Description>
	</RefParameter-->
	<RefParameter Comment="Mode" DefaultValue="__NULL" Group="ADCsgroup" Name="Mode" Type="list">
		<PossibleValue Comment="Independent mode" Value="__NULL"/>
		<Description>Multi ADC mode selection</Description>
	</RefParameter>
	
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_2" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA access mode should be available only if multi mode is used in regular simultanious" Expression="(DMARequest_$IpInstance)&amp;(DualMode_REGSIMULT|DualMode0|DualMode_REGSIMULT1)"/>
		<!-- <PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/> -->
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
	</RefParameter>
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_DISABLED" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA access mode should be available only if multi mode is used in regular simultanious" Expression="DualMode_REGSIMULT|DualMode0|DualMode_REGSIMULT1"/>
		<PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/>
		<!--PossibleValue Comment="DMA access mode 1" Value="ADC_DMAACCESSMODE_1"/-->
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
	</RefParameter>
	
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_1" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA access mode should be available only if multi mode is used in regular simultanious" Expression="(DMARequest_$IpInstance)&amp;(TripleMode_REGSIMULT|TripleMode_REGSIMULT1|TripleMode0)"/>
		<!-- <PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/> -->
		<PossibleValue Comment="DMA access mode 1" Semaphore="Semaphore_DMAAccessMode1_Enable$IpInstance" Value="ADC_DMAACCESSMODE_1"/>
	</RefParameter>
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_DISABLED" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA access mode should be available only if multi mode is used in regular simultanious" Expression="TripleMode_REGSIMULT|TripleMode_REGSIMULT1|TripleMode0"/>
		<PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/>
		<PossibleValue Comment="DMA access mode 1" Semaphore="Semaphore_DMAAccessMode1_Enable$IpInstance" Value="ADC_DMAACCESSMODE_1"/>
	</RefParameter>
	
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_3" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA Access mode 3 is used in interleaved mode in 6-bit and 8-bit resolutions." Expression="(DMARequest_$IpInstance)&amp;(TripleMode_Interl)&amp;(((ADC1:Resolution=ADC_RESOLUTION_8B)&amp;(ADC2:Resolution=ADC_RESOLUTION_8B)&amp;(ADC3:Resolution=ADC_RESOLUTION_8B))|((ADC1:Resolution=ADC_RESOLUTION_6B)&amp;(ADC2:Resolution=ADC_RESOLUTION_6B)&amp;(ADC3:Resolution=ADC_RESOLUTION_6B)))"/>
		<!-- <PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/> -->
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
		<PossibleValue Comment="DMA access mode 3" Semaphore="Semaphore_DMAAccessMode3_Enable$IpInstance" Value="ADC_DMAACCESSMODE_3"/>
	</RefParameter>
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_DISABLED" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA Access mode 3 is used in interleaved mode in 6-bit and 8-bit resolutions." Expression="(TripleMode_Interl)&amp;(((ADC1:Resolution=ADC_RESOLUTION_8B)&amp;(ADC2:Resolution=ADC_RESOLUTION_8B)&amp;(ADC3:Resolution=ADC_RESOLUTION_8B))|((ADC1:Resolution=ADC_RESOLUTION_6B)&amp;(ADC2:Resolution=ADC_RESOLUTION_6B)&amp;(ADC3:Resolution=ADC_RESOLUTION_6B)))"/>
		<PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/>
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
		<PossibleValue Comment="DMA access mode 3" Semaphore="Semaphore_DMAAccessMode3_Enable$IpInstance" Value="ADC_DMAACCESSMODE_3"/>
	</RefParameter>
	
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_3" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA Access mode 3 is used in interleaved mode in 6-bit and 8-bit resolutions." Expression="(DMARequest_$IpInstance)&amp;(DualMode_Interl)&amp;(((ADC1:Resolution=ADC_RESOLUTION_8B)&amp;(ADC2:Resolution=ADC_RESOLUTION_8B))|((ADC1:Resolution=ADC_RESOLUTION_6B)&amp;(ADC2:Resolution=ADC_RESOLUTION_6B)))"/>
		<!-- <PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/> -->
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
		<PossibleValue Comment="DMA access mode 3" Semaphore="Semaphore_DMAAccessMode3_Enable$IpInstance" Value="ADC_DMAACCESSMODE_3"/>
	</RefParameter>
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_DISABLED" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DMA Access mode 3 is used in interleaved mode in 6-bit and 8-bit resolutions." Expression="(DualMode_Interl)&amp;(((ADC1:Resolution=ADC_RESOLUTION_8B)&amp;(ADC2:Resolution=ADC_RESOLUTION_8B))|((ADC1:Resolution=ADC_RESOLUTION_6B)&amp;(ADC2:Resolution=ADC_RESOLUTION_6B)))"/>
		<PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/>
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
		<PossibleValue Comment="DMA access mode 3" Semaphore="Semaphore_DMAAccessMode3_Enable$IpInstance" Value="ADC_DMAACCESSMODE_3"/>
	</RefParameter>
	
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_2" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DAM Access mode 2 is used in interleaved mode and in regular simultaneous mode (for Dual ADC mode only)." Expression="(DMARequest_$IpInstance)&amp;(TripleMode_Interl|DualMode_Interl)"/>
		<!-- <PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/> -->
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
	</RefParameter>
	<RefParameter Comment="DMA Access Mode" DefaultValue="ADC_DMAACCESSMODE_DISABLED" Group="ADCsgroup" Name="DMAAccessMode" Type="list">
		<Condition Diagnostic="DAM Access mode 2 is used in interleaved mode and in regular simultaneous mode (for Dual ADC mode only)." Expression="TripleMode_Interl|DualMode_Interl"/>
		<PossibleValue Comment="DMA access mode disabled" Value="ADC_DMAACCESSMODE_DISABLED"/>
		<PossibleValue Comment="DMA access mode 2" Semaphore="Semaphore_DMAAccessMode2_Enable$IpInstance" Value="ADC_DMAACCESSMODE_2"/>
	</RefParameter>
	
	<RefParameter Comment="DMA Access Mode" DefaultValue="null" Group="ADCsgroup" Name="DMAAccessMode" Type="list" Visible="false">
	</RefParameter>
		<RefParameter Comment="Delay between 2 sampling phases" DefaultValue="null" Group="ADCsgroup" Name="TwoSamplingDelay" Type="list" Visible="false">
                    <Condition Diagnostic="" Expression="Mode=__NULL"/>
                </RefParameter>
	<RefParameter Comment="Delay between 2 sampling phases" DefaultValue="ADC_TWOSAMPLINGDELAY_5CYCLES" Group="ADCsgroup" Name="TwoSamplingDelay" Type="list">
		<PossibleValue Comment="5 Cycles" Value="ADC_TWOSAMPLINGDELAY_5CYCLES"/>
		<PossibleValue Comment="6 Cycles" Value="ADC_TWOSAMPLINGDELAY_6CYCLES"/>
		<PossibleValue Comment="7 Cycles" Value="ADC_TWOSAMPLINGDELAY_7CYCLES"/>
		<PossibleValue Comment="8 Cycles" Value="ADC_TWOSAMPLINGDELAY_8CYCLES"/>
		<PossibleValue Comment="9 Cycles" Value="ADC_TWOSAMPLINGDELAY_9CYCLES"/>
		<PossibleValue Comment="10 Cycles" Value="ADC_TWOSAMPLINGDELAY_10CYCLES"/>
		<PossibleValue Comment="11 Cycles" Value="ADC_TWOSAMPLINGDELAY_11CYCLES"/>
		<PossibleValue Comment="12 Cycles" Value="ADC_TWOSAMPLINGDELAY_12CYCLES"/>
		<PossibleValue Comment="13 Cycles" Value="ADC_TWOSAMPLINGDELAY_13CYCLES"/>
		<PossibleValue Comment="14 Cycles" Value="ADC_TWOSAMPLINGDELAY_14CYCLES"/>
		<PossibleValue Comment="15 Cycles" Value="ADC_TWOSAMPLINGDELAY_15CYCLES"/>
		<PossibleValue Comment="16 Cycles" Value="ADC_TWOSAMPLINGDELAY_16CYCLES"/>
		<PossibleValue Comment="17 Cycles" Value="ADC_TWOSAMPLINGDELAY_17CYCLES"/>
		<PossibleValue Comment="18 Cycles" Value="ADC_TWOSAMPLINGDELAY_18CYCLES"/>
		<PossibleValue Comment="19 Cycles" Value="ADC_TWOSAMPLINGDELAY_19CYCLES"/>
		<PossibleValue Comment="20 Cycles" Value="ADC_TWOSAMPLINGDELAY_20CYCLES"/>
		<Description>Delay between 2 sampling phases</Description>
	</RefParameter>
	<RefParameter Comment="Watchdog Mode" DefaultValue="null" Group="ADCgroup" Name="WatchdogMode" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="EnableAnalogWatchDog=false"/>
	</RefParameter>
        <RefParameter Comment="Watchdog Mode" DefaultValue="ADC_ANALOGWATCHDOG_SINGLE_REG" Group="ADCgroup" Name="WatchdogMode" Type="list">
                <Condition Diagnostic="" Expression="InjNumberOfConversion=0"/>
		<PossibleValue Comment="Single regular channel" Semaphore="SingleRegular$IpInstance" Value="ADC_ANALOGWATCHDOG_SINGLE_REG"/>
		<PossibleValue Comment="Single regular or injected channel" Semaphore="SingleInjectedOrRegular$IpInstance" Value="ADC_ANALOGWATCHDOG_SINGLE_REGINJEC"/>
		<PossibleValue Comment="All regular channels" Value="ADC_ANALOGWATCHDOG_ALL_REG"/>
		<PossibleValue Comment="All regular and injected channels" Value="ADC_ANALOGWATCHDOG_ALL_REGINJEC"/>
		<Description>Configures the ADC analog watchdog mode.</Description>
	</RefParameter>
	<RefParameter Comment="Watchdog Mode" DefaultValue="ADC_ANALOGWATCHDOG_SINGLE_REG" Group="ADCgroup" Name="WatchdogMode" Type="list">
		<PossibleValue Comment="Single regular channel" Semaphore="SingleRegular$IpInstance" Value="ADC_ANALOGWATCHDOG_SINGLE_REG"/>
		<PossibleValue Comment="Single injected channel" Semaphore="SingleInjected$IpInstance" Value="ADC_ANALOGWATCHDOG_SINGLE_INJEC"/>
		<PossibleValue Comment="Single regular or injected channel" Semaphore="SingleInjectedOrRegular$IpInstance" Value="ADC_ANALOGWATCHDOG_SINGLE_REGINJEC"/>
		<PossibleValue Comment="All regular channels" Semaphore="AllRegular$IpInstance" Value="ADC_ANALOGWATCHDOG_ALL_REG"/>
		<PossibleValue Comment="All injected channels" Semaphore="AllInjected$IpInstance" Value="ADC_ANALOGWATCHDOG_ALL_INJEC"/>
		<PossibleValue Comment="All regular and injected channels" Semaphore="AllRegInjected$IpInstance" Value="ADC_ANALOGWATCHDOG_ALL_REGINJEC"/>
		<Description>Configures the ADC analog watchdog mode.</Description>
	</RefParameter>
	<!-- -->
	<RefParameter Comment="Analog WatchDog Channel" DefaultValue="null" Group="ADCChannel" Name="WatchdogChannel" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="(EnableAnalogWatchDog=false)"/>
	</RefParameter>
       <RefParameter Comment="Analog WatchDog Channel" DefaultValue="null" Group="ADCChannel" Name="WatchdogChannel" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="AllRegular$IpInstance"/>
	</RefParameter>
        <RefParameter Comment="Analog WatchDog Channel" DefaultValue="null" Group="ADCChannel" Name="WatchdogChannel" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="AllInjected$IpInstance"/>
	</RefParameter>
        <RefParameter Comment="Analog WatchDog Channel" DefaultValue="null" Group="ADCChannel" Name="WatchdogChannel" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="AllRegInjected$IpInstance|NoneWDG$IpInstance"/>
	</RefParameter>
        
	<RefParameter Comment="Analog WatchDog Channel" DefaultValue="" Group="ADCChannel" Name="WatchdogChannel" Type="list" Visible="true">
		<PossibleValue Comment="Channel 0" Value="ADC_CHANNEL_0"/>
		<PossibleValue Comment="Channel 1" Value="ADC_CHANNEL_1"/>
		<PossibleValue Comment="Channel 2" Value="ADC_CHANNEL_2"/>
		<PossibleValue Comment="Channel 3" Value="ADC_CHANNEL_3"/>
		<PossibleValue Comment="Channel 4" Value="ADC_CHANNEL_4"/>
		<PossibleValue Comment="Channel 5" Value="ADC_CHANNEL_5"/>
		<PossibleValue Comment="Channel 6" Value="ADC_CHANNEL_6"/>
		<PossibleValue Comment="Channel 7" Value="ADC_CHANNEL_7"/>
		<PossibleValue Comment="Channel 8" Value="ADC_CHANNEL_8"/>
		<PossibleValue Comment="Channel 9" Value="ADC_CHANNEL_9"/>
		<PossibleValue Comment="Channel 10" Value="ADC_CHANNEL_10"/>
		<PossibleValue Comment="Channel 11" Value="ADC_CHANNEL_11"/>
		<PossibleValue Comment="Channel 12" Value="ADC_CHANNEL_12"/>
		<PossibleValue Comment="Channel 13" Value="ADC_CHANNEL_13"/>
		<PossibleValue Comment="Channel 14" Value="ADC_CHANNEL_14"/>
		<PossibleValue Comment="Channel 15" Value="ADC_CHANNEL_15"/>
		<PossibleValue Comment="Channel 16" Value="ADC_CHANNEL_16"/>
		<PossibleValue Comment="Channel 17" Value="ADC_CHANNEL_17"/>
		<PossibleValue Comment="Channel 18" Value="ADC_CHANNEL_18"/>
		<PossibleValue Comment="Channel Temperature sensor" Value="ADC_CHANNEL_TEMPSENSOR"/>
		<PossibleValue Comment="Channel Vrefint" Value="ADC_CHANNEL_VREFINT"/>
		<PossibleValue Comment="Channel Vbat" Value="ADC_CHANNEL_VBAT"/>
		<Description>ADC channel for the analog watchdog</Description>
	</RefParameter>
	<!-- ChannelForWatchDog used to specify witch channel list to be available for analog watch dog mode-->
	<RefParameter Comment="Channel type for WatchDog" DefaultValue="Regular" Name="ChannelForWatchDog" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="SingleRegular$IpInstance"/>
		<PossibleValue Comment="Regular" Value="Regular"/>
	</RefParameter>
	<RefParameter Comment="Channel type for WatchDog" DefaultValue="Injected" Name="ChannelForWatchDog" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="SingleInjected$IpInstance"/>
		<PossibleValue Comment="Injected" Value="Injected"/>
	</RefParameter>
	<RefParameter Comment="Channel type for WatchDog" DefaultValue="InjectedOrRegular" Name="ChannelForWatchDog" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="SingleInjectedOrRegular$IpInstance"/>
		<PossibleValue Comment="InjectedOrRegular" Value="InjectedOrRegular"/>
	</RefParameter>
	<RefParameter Comment="Channel type for WatchDog" DefaultValue="none" Name="ChannelForWatchDog" Type="list" Visible="false">
		<PossibleValue Comment="none" Value="none"/>
	</RefParameter>
	<!--	<Condition Expression="!(WatchdogMode=ADC_ANALOGWATCHDOG_SINGLE_REG)&amp;!(WatchdogMode=ADC_ANALOGWATCHDOG_SINGLE_INJEC)&amp;!(WatchdogMode=ADC_ANALOGWATCHDOG_SINGLE_REGINJEC)" Diagnostic=""/>-->
	<RefParameter Comment="Analog WatchDog Channel" DefaultValue="" Group="ADCChannel" Name="AnalogWDChannel" Type="list">
		<Condition Diagnostic="" Expression="master=1"/>
		<PossibleValue Comment="Channel 0" Value="ADC_CHANNEL_0"/>
		<PossibleValue Comment="Channel 1" Value="ADC_CHANNEL_1"/>
		<PossibleValue Comment="Channel 2" Value="ADC_CHANNEL_2"/>
		<PossibleValue Comment="Channel 3" Value="ADC_CHANNEL_3"/>
		<PossibleValue Comment="Channel 4" Value="ADC_CHANNEL_4"/>
		<PossibleValue Comment="Channel 5" Value="ADC_CHANNEL_5"/>
		<PossibleValue Comment="Channel 6" Value="ADC_CHANNEL_6"/>
		<PossibleValue Comment="Channel 7" Value="ADC_CHANNEL_7"/>
		<PossibleValue Comment="Channel 8" Value="ADC_CHANNEL_8"/>
		<PossibleValue Comment="Channel 9" Value="ADC_CHANNEL_9"/>
		<PossibleValue Comment="Channel 10" Value="ADC_CHANNEL_10"/>
		<PossibleValue Comment="Channel 11" Value="ADC_CHANNEL_11"/>
		<PossibleValue Comment="Channel 12" Value="ADC_CHANNEL_12"/>
		<PossibleValue Comment="Channel 13" Value="ADC_CHANNEL_13"/>
		<PossibleValue Comment="Channel 14" Value="ADC_CHANNEL_14"/>
		<PossibleValue Comment="Channel 15" Value="ADC_CHANNEL_15"/>
		<PossibleValue Comment="Channel 16" Value="ADC_CHANNEL_16"/>
		<PossibleValue Comment="Channel 17" Value="ADC_CHANNEL_17"/>
		<PossibleValue Comment="Channel 18" Value="ADC_CHANNEL_18"/>
		<PossibleValue Comment="Channel Temperature sensor" Value="ADC_CHANNEL_TEMPSENSOR"/>
		<PossibleValue Comment="Channel Vrefint" Value="ADC_CHANNEL_VREFINT"/>
		<PossibleValue Comment="Channel Vbat" Value="ADC_CHANNEL_VBAT"/>
		<Description>ADC channel for the analog watchdog</Description> 
	</RefParameter>
	<RefParameter Comment="Analog WatchDog Channel" DefaultValue="" Group="ADCChannel" Name="AnalogWDChannel" Type="list">
		<PossibleValue Comment="Channel 0" Value="ADC_CHANNEL_0"/>
		<PossibleValue Comment="Channel 1" Value="ADC_CHANNEL_1"/>
		<PossibleValue Comment="Channel 2" Value="ADC_CHANNEL_2"/>
		<PossibleValue Comment="Channel 3" Value="ADC_CHANNEL_3"/>
		<PossibleValue Comment="Channel 4" Value="ADC_CHANNEL_4"/>
		<PossibleValue Comment="Channel 5" Value="ADC_CHANNEL_5"/>
		<PossibleValue Comment="Channel 6" Value="ADC_CHANNEL_6"/>
		<PossibleValue Comment="Channel 7" Value="ADC_CHANNEL_7"/>
		<PossibleValue Comment="Channel 8" Value="ADC_CHANNEL_8"/>
		<PossibleValue Comment="Channel 9" Value="ADC_CHANNEL_9"/>
		<PossibleValue Comment="Channel 10" Value="ADC_CHANNEL_10"/>
		<PossibleValue Comment="Channel 11" Value="ADC_CHANNEL_11"/>
		<PossibleValue Comment="Channel 12" Value="ADC_CHANNEL_12"/>
		<PossibleValue Comment="Channel 13" Value="ADC_CHANNEL_13"/>
		<PossibleValue Comment="Channel 14" Value="ADC_CHANNEL_14"/>
		<PossibleValue Comment="Channel 15" Value="ADC_CHANNEL_15"/>
		<PossibleValue Comment="Channel 16" Value="ADC_CHANNEL_16"/>
		<PossibleValue Comment="Channel 17" Value="ADC_CHANNEL_17"/>
		<PossibleValue Comment="Channel 18" Value="ADC_CHANNEL_18"/>
		<Description>ADC channel for the analog watchdog</Description> 
	</RefParameter>
	<RefParameter Comment="High Threshold" DefaultValue="null" Group="ADCgroup" Name="HighThreshold" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="EnableAnalogWatchDog=false"/>
	</RefParameter>
	<RefParameter Comment="High Threshold" DefaultValue="0" Group="ADCgroup" Max="4095" Min="=LowThreshold" Name="HighThreshold" Type="integer">
		<Description>Configures the ADC analog watchdog High threshold value.</Description>	
	</RefParameter>
	<RefParameter Comment="Low Threshold" DefaultValue="null" Group="ADCgroup" Name="LowThreshold" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="EnableAnalogWatchDog=false"/>
	</RefParameter>

	<RefParameter Comment="Low Threshold" DefaultValue="0" Group="ADCgroup" Max="=HighThreshold" Min="0" Name="LowThreshold" Type="integer">
	<Description>Configures the ADC analog watchdog Low threshold value.</Description>
	</RefParameter>
	<RefParameter Comment="Interrupt Mode" DefaultValue="null" Group="ADCgroup" Name="ITMode" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="EnableAnalogWatchDog=false"/>
	</RefParameter>
	<RefParameter Comment="Interrupt Mode" DefaultValue="DISABLE" Group="ADCgroup" Name="ITMode" Type="list">
		<PossibleValue Comment="Disabled" Value="DISABLE"/>
		<PossibleValue Comment="Enabled" Value="ENABLE"/>
		<Description>Specifies whether the analog watchdog is configured in interrupt mode or in polling mode.</Description>
	</RefParameter>
	<RefParameter Comment="Enable Analog WatchDog Mode" DefaultValue="false" Group="ADCgroup" Name="EnableAnalogWatchDog" Type="boolean">
		<PossibleValue Comment="true" Value="true"/>
		<PossibleValue Comment="false" Value="false"/>
		<Description>Enable/Disable Analog WatchDog Mode</Description> 
	</RefParameter>
	<RefParameter Comment="Injected Conversion Mode" DefaultValue="null" Name="InjectedConvMode" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="InjNumberOfConversion=0"/>
	</RefParameter>
	<RefParameter Comment="Injected Conversion Mode" DefaultValue="AutoInjected" Name="InjectedConvMode" Type="list">
                <Condition Expression="ExternalTrigInjecConvEdge=!ADC_EXTERNALTRIGINJECCONVEDGE_NONE" Diagnostic=""/>
		<PossibleValue Comment="Auto Injetcted Mode" Value="AutoInjected"/>
	</RefParameter>	
	<RefParameter Comment="Injected Conversion Mode" DefaultValue="None" Group="ADCgroup" Name="InjectedConvMode" Type="list">
        <PossibleValue Comment="None" Value="None" Semaphore="InjectedConvMode_$IpInstance" />
        <PossibleValue Comment="Discontinuous Mode" Semaphore="InjectedDiscontinuous_$IpInstance" Value="Discontinuous"/>
        <PossibleValue Action="Disable" Comment="Auto Injected Mode" Condition="DiscontinuousConvMode = ENABLE" Diagnostic="It is not possible to use both auto-injected mode and discontinuous mode simultaneously" Semaphore="AutoInjected_$IpInstance" Value="AutoInjected"/>
        <Description>Injected Conversion Mode selection</Description>
    </RefParameter>
	<RefParameter Comment="Injected Discontinuous Conversion Mode" DefaultValue="ENABLE" Name="InjectedDiscontinuousConvMode" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="InjectedDiscontinuous_$IpInstance"/>
		<PossibleValue Comment="Enabled" Value="ENABLE"/>
	</RefParameter>
	<RefParameter Comment="Injected Discontinuous Conversion Mode" DefaultValue="DISABLE" Name="InjectedDiscontinuousConvMode" Type="list" Visible="false">
		<PossibleValue Comment="Disable" Value="DISABLE"/>
	</RefParameter>
	<RefParameter Comment="Automatic Injected Conversion" DefaultValue="ENABLE" Name="AutoInjectedConv" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="AutoInjected_$IpInstance"/>
		<PossibleValue Comment="Enabled" Value="ENABLE"/>
	</RefParameter>
	<RefParameter Comment="Automatic Injected Conversion" DefaultValue="DISABLE" Name="AutoInjectedConv" Type="list" Visible="false">
		<PossibleValue Comment="Disable" Value="DISABLE"/>
	</RefParameter>
	
	<RefParameter Comment="Injected Offset" DefaultValue="0" Max="4095" Min="0" Name="InjectedOffset" Type="integer">
		<Description>Data offset for injected channel </Description>
	</RefParameter>
	<RefMode Comment="ADCs Common Settings" Group="ADCs_Common_Settings" Name="ADCs_Common_Settings">
                <Condition Diagnostic="" Expression="$Index=1 | $Index=2"/>
		<ConfigForMode>multiMode</ConfigForMode>
		<Parameter Name="Mode"/>
		<Parameter Name="DMAAccessMode"/>
		<Parameter Name="TwoSamplingDelay"/>
	</RefMode>
	<RefMode Comment="ADCx Settings" Group="ADC_Settings" Name="ADC_Settings">
		<ConfigForMode>ADC_RegularConfig</ConfigForMode>
		<Parameter Name="ClockPrescaler"/>
		<Parameter Name="Resolution"/>
		<Parameter Name="master"/>
		<Parameter Name="DataAlign"/>
		<Parameter Name="ScanConvMode"/>
		<Parameter Name="ContinuousConvMode"/>
		<Parameter Name="DiscontinuousConvMode"/>
		<Parameter Name="NbrOfDiscConversion"/>
		<Parameter Name="DMAContinuousRequests"/>
		<Parameter Name="DMAContinuousRequestsForConfigFile"/>
		<Parameter Name="EOCSelection"/>
	</RefMode>
	<RefMode Abstract="true" Comment="Regular Conversion Settings" Group="ADC_Regular_ConversionMode" Name="ADC_Regular_ConversionMode">
		<Parameter Name="NbrOfConversionFlag"/>
		<Parameter Name="NbrOfConversion"/>	
		<Parameter Name="ExternalTrigConv"/>
		<Parameter Name="ExternalTrigConvEdge"/>
	</RefMode>
	<RefMode Abstract="true" Comment="Injected Conversion Settings" Group="ADC_Injected_ConversionMode" Name="ADC_Injected_ConversionMode">
		<Parameter Name="InjNumberOfConversion"/>
		<Parameter Name="ExternalTrigInjecConv"/>
		<Parameter Name="ExternalTrigInjecConvEdge"/>
		<Parameter Name="InjectedConvMode"/>
		<Parameter Name="AutoInjectedConv"/>
		<Parameter Name="InjectedDiscontinuousConvMode"/>
	</RefMode>
	<RefMode BaseMode="ADC_Regular_ConversionMode" Comment="Regular Channel Settings" Group="ADC_Regular_ConversionMode" Name="ChannelRegularConversion">
		<ConfigForMode>ADC_RegularChannelConfig</ConfigForMode>
		<Parameter Name="Rank"/>
		<Parameter Name="Channel"/>
		<Parameter Name="SamplingTime"/>
	</RefMode>
	<RefMode BaseMode="ADC_Injected_ConversionMode" Comment="Injected Channel Settings" Group="ADC_Injected_ConversionMode" Name="ChannelInjectedConversion">
		<ConfigForMode>ADC_InjectedChannelConfig</ConfigForMode>
		 <Parameter Name="InjectedRank"/>
		<Parameter Name="Channel"/>
		<Parameter Name="SamplingTime"/>
		<Parameter Name="InjectedOffset"/>
	</RefMode>
	<RefMode Comment="Regular Channel Settings" Name="ChannelRegularConversionCopy">
		<Parameter Name="Rank"/>
		<Parameter Name="Channel"/>
		<Parameter Name="SamplingTime"/>
	</RefMode>
	<RefMode Comment="Injected Channel Settings" Name="ChannelInjectedConversionCopy">
		 <Parameter Name="InjectedRank"/>
		<Parameter Name="Channel"/>
		<Parameter Name="SamplingTime"/>
		<Parameter Name="InjectedOffset"/>
	</RefMode>
	<RefMode Comment="" Group="WatchDog" Name="WatchDog">
		<ConfigForMode>ADC_AnalogWDGConfig</ConfigForMode>
		<Parameter Name="EnableAnalogWatchDog"/>
		<Parameter Name="WatchdogMode"/>
		<Parameter Name="WatchdogChannel"/>
		<Parameter Name="HighThreshold"/>
		<Parameter Name="LowThreshold"/>
		<Parameter Name="ITMode"/>
	</RefMode>
	<!--<RefMode Name="WatchDogCopy" Comment="">
		<ConfigForMode>ADC_AnalogWDGConfig</ConfigForMode>
		<Parameter Name="EnableAnalogWatchDog"/>
		<Parameter Name="WatchdogMode"/>
                <Parameter Name="WatchdogChannel"/>
		<Parameter Name="HighThreshold"/>
		<Parameter Name="LowThreshold"/>
		<Parameter Name="ITMode"/>
	</RefMode>-->
	<RefMode Comment="" Name="IN0">
		<Parameter Name="Channel" RefParameter="Channel">
			<PossibleValue>ADC_CHANNEL_0</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN1">
		<Parameter Name="Channel" RefParameter="Channel">
			<PossibleValue>ADC_CHANNEL_1</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN2">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_2</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN3">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_3</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN4">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_4</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN5">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_5</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN6">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_6</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN7">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_7</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN8">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_8</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN9">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_9</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN10">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_10</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN11">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_11</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN12">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_12</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN13">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_13</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN14">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_14</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN15">
		<Parameter Name="Channel">
			<PossibleValue>ADC_CHANNEL_15</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Comment="" Name="IN-TempSens">
        <Parameter Name="Channel">
            <PossibleValue>ADC_CHANNEL_TEMPSENSOR</PossibleValue>
        </Parameter>
    </RefMode>
     <RefMode Comment="" Name="IN-Vrefint">
        <Parameter Name="Channel">
            <PossibleValue>ADC_CHANNEL_VREFINT</PossibleValue>
        </Parameter>
    </RefMode>
     <RefMode Comment="" Name="IN-Vbat">
        <Parameter Name="Channel">
            <PossibleValue>ADC_CHANNEL_VBAT</PossibleValue>
        </Parameter>
    </RefMode>
<!--	
    <RefMode Name="External-Trigger-for-Injected-conversion" Comment="">
		<Parameter Name="ExternalTrigInjecConv">
			<PossibleValue>ADC_EXTERNALTRIGINJECCONV_EXT_IT15</PossibleValue>
		</Parameter>
	</RefMode>
	<RefMode Name="External-Trigger-for-Regular-conversion" Comment="">
		<Parameter Name="ExternalTrigConv">
			<PossibleValue>ADC_EXTERNALTRIGCONV_Ext_IT11</PossibleValue>
		</Parameter>
	</RefMode>
	-->
	<ModeLogicOperator Name="OR">
		<Mode Name="IN0">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN0">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN0"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN1">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN1">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN1"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN2">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN2">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN2"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN3">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN3">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN3"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN4">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN4">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN4"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN5">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN5">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN5"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN6">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN6">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN6"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN7">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN7">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN7"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN8">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN8">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN8"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN9">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN9">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN9"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN10">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN10">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN10"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN11">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN11">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN11"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN12">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN12">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN12"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN13">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN13">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN13"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN14">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN14">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN14"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN15">
			<ModeLogicOperator Name="OR">
				<Mode Name="IN15">
					<SignalLogicalOp Name="AND">
						<Signal Name="IN15"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		
		<!-- Internal channels -->
        <Mode Name="IN-TempSens" RemoveCondition="($IpNumber=2)|($IpNumber=3)" UserName="Temperature Sensor Channel">
            <ModeLogicOperator Name="XOR">
		        <Mode Name="IN-TempSens" UserName="Single-ended">
					<SignalLogicalOp Name="AND">
						<Signal Name="TempSens_Input"/>
					</SignalLogicalOp>
					<Semaphore>Temperature_Sensor_$IpInstance</Semaphore>
					<Condition Diagnostic="Available only if Vbat Channel channel is not selected" Expression="!(Vbat_$IpInstance) | DIE413"/>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN-Vrefint" RemoveCondition="($IpNumber=2)|($IpNumber=3)" UserName="Vrefint Channel">
            <ModeLogicOperator Name="XOR">
		        <Mode Name="IN-Vrefint" UserName="Vrefint Channel">
					<SignalLogicalOp Name="AND">
						<Signal Name="Vref_Input"/>
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="IN-Vbat" RemoveCondition="($IpNumber=2 )|($IpNumber=3)" UserName="Vbat Channel">
            <ModeLogicOperator Name="XOR">
		        <Mode Name="IN-Vbat" UserName="Vbat Channel">
					<SignalLogicalOp Name="AND">
						<Signal Name="Vbat_Input"/>
					</SignalLogicalOp>
					<Semaphore>Vbat_$IpInstance</Semaphore>
			       <Condition Diagnostic="Available only if Temperature Sensor channel is not selected" Expression="!(Temperature_Sensor_$IpInstance) | DIE413"/>
				</Mode>
			</ModeLogicOperator>
			<Semaphore>channelSelected$IpInstance</Semaphore>
		</Mode>
		<Mode Name="External-Trigger-for-Injected-conversion" RemoveCondition="STM32F7">
			<ModeLogicOperator Name="XOR">
				<Mode Name="External-Trigger-for-Injected-conversion">
					<SignalLogicalOp Name="AND">
						<Signal Name="EXTI15"/>
					</SignalLogicalOp>
					<Semaphore>InjectedExternalTrigger$IpInstance</Semaphore>
					<Condition Diagnostic="Available only if at least one channel is selected" Expression="channelSelected$IpInstance"/>
				</Mode>
			</ModeLogicOperator>
		</Mode>
		<Mode Name="External-Trigger-for-Regular-conversion">
			<ModeLogicOperator Name="OR">
				<Mode Name="External-Trigger-for-Regular-conversion">
					<SignalLogicalOp Name="AND">
						<Signal Name="EXTI11"/>
					</SignalLogicalOp>
					<Semaphore>RegularExternalTrigger$IpInstance</Semaphore>
					<Condition Diagnostic="Available only if at least one channel is selected" Expression="channelSelected$IpInstance"/>
				</Mode>
			</ModeLogicOperator>
		</Mode>
	</ModeLogicOperator>
	
	<RefSignal IOMode="EXTI" Name="EXTI11" ShareableGroupName="GPXTI11"/>
	<!-- GPXTI is a keyword -->
	<RefSignal IOMode="EXTI" Name="EXTI15" ShareableGroupName="GPXTI15"/>
	<!-- GPXTI is a keyword -->
	<!--	<RefSignal IOMode="EXTI" Name="EXTI11"/>-->
	<!--	<RefSignal IOMode="EXTI" Name="EXTI15"/>-->
	<RefSignal IOMode="Analog" Name="IN0" ShareableGroupName="ADCx_IN0"/>
	<RefSignal IOMode="Analog" Name="IN1" ShareableGroupName="ADCx_IN1"/>
	<RefSignal IOMode="Analog" Name="IN2" ShareableGroupName="ADCx_IN2"/>
	<RefSignal IOMode="Analog" Name="IN3" ShareableGroupName="ADCx_IN3"/>
	<RefSignal IOMode="Analog" Name="IN4" ShareableGroupName="ADCx_IN4:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="IN5" ShareableGroupName="ADCx_IN5:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="IN6" ShareableGroupName="ADCx_IN6:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="IN7" ShareableGroupName="ADCx_IN7:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="IN8" ShareableGroupName="ADCx_IN8:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="IN9" ShareableGroupName="ADCx_IN9:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="IN10" ShareableGroupName="ADCx_IN10"/>
	<RefSignal IOMode="Analog" Name="IN11" ShareableGroupName="ADCx_IN11"/>
	<RefSignal IOMode="Analog" Name="IN12" ShareableGroupName="ADCx_IN12"/>
	<RefSignal IOMode="Analog" Name="IN13" ShareableGroupName="ADCx_IN13"/>
	<RefSignal IOMode="Analog" Name="IN14" ShareableGroupName="ADCx_IN14:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="IN15" ShareableGroupName="ADCx_IN15:ADC1,ADC2"/>
	<RefSignal IOMode="Analog" Name="TempSens_Input" Virtual="true"/>
	<RefSignal IOMode="Analog" Name="Vref_Input" Virtual="true"/>
	<RefSignal IOMode="Analog" Name="Vbat_Input" Virtual="true"/>
	<RefSignal Name="VS_ADCs_Common_Settings" Virtual="true"/>
	<Semaphore>USE_$IpInstance</Semaphore>
</IP>