<?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" IpGroup="Connectivity" Name="UART" Version="sci2_v3_1_Cube" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd">
	
    <About>UART : Universal Asynchronous Receiver Transmitter</About>
	
	
	
    <!-- Baud Rate Parameters Asynchronous. -->
    <RefParameter Comment="Baud Rate" DefaultValue="115200" Group="Basic Parameters" Max="115200" Min="115200" Name="BaudRate" Type="integer" Unit="Bits/s" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
    </RefParameter>
	
    <RefParameter Comment="Baud Rate" DefaultValue="115200" Group="Basic Parameters" Max="9000000" Min="110" Name="BaudRate" Type="integer" Unit="Bits/s" Visible="true"/>
		
	
    <!-- Word Length Parameters for Synchronous, IrDa, and  Asyncronous. -->
	
    <RefParameter Comment="Word Length" DefaultValue="WORDLENGTH_8B" Group="Basic Parameters" Name="WordLength" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="WORDLENGTH_8B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="WORDLENGTH_9B"/>
    </RefParameter>
	
    <RefParameter Comment="Word Length" DefaultValue="WORDLENGTH_8B" Group="Basic Parameters" Name="WordLength" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_LIN"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="WORDLENGTH_8B"/>
    </RefParameter>
	
    <RefParameter Comment="Word Length" DefaultValue="WORDLENGTH_8B" Group="Basic Parameters" Name="WordLength" Type="list">
        <PossibleValue Comment="7 Bits (including Parity)" Semaphore="$IpInstance_Uart_7B" Value="WORDLENGTH_7B"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="WORDLENGTH_8B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="WORDLENGTH_9B"/>
    </RefParameter>
	
    <RefParameter Comment="Word Length" DefaultValue="IRDA_WORDLENGTH_8B" Group="Basic Parameters" Name="IrdaWordLength" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; WordLength=WORDLENGTH_8B"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="IRDA_WORDLENGTH_8B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="IRDA_WORDLENGTH_9B" Group="Basic Parameters" Name="IrdaWordLength" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; WordLength=WORDLENGTH_9B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="IRDA_WORDLENGTH_9B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="UART_WORDLENGTH_7B" Group="Basic Parameters" Name="IrdaWordLength" Type="list">
        <Condition Diagnostic="" Expression="WordLength=WORDLENGTH_7B"/>
        <PossibleValue Comment="7 Bits (including Parity)" Value="UART_WORDLENGTH_7B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="UART_WORDLENGTH_7B" Group="Basic Parameters" Name="UartWordLength" Type="list">
        <Condition Diagnostic="" Expression="WordLength=WORDLENGTH_7B"/>
        <PossibleValue Comment="7 Bits (including Parity)" Value="UART_WORDLENGTH_7B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="UART_WORDLENGTH_8B" Group="Basic Parameters" Name="UartWordLength" Type="list">
        <Condition Diagnostic="" Expression="WordLength=WORDLENGTH_8B"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="UART_WORDLENGTH_8B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="UART_WORDLENGTH_9B" Group="Basic Parameters" Name="UartWordLength" Type="list">
        <Condition Diagnostic="" Expression="WordLength=WORDLENGTH_9B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="UART_WORDLENGTH_9B"/>
    </RefParameter>
        
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_1" Group="Basic Parameters" Name="StopBits" Type="list">
        <PossibleValue Comment="1" Value="UART_STOPBITS_1"/>
        <PossibleValue Comment="2" Value="UART_STOPBITS_2"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_1" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="StopBits=UART_STOPBITS_1" />
        <PossibleValue Comment="1" Value="UART_STOPBITS_1"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_2" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="StopBits=UART_STOPBITS_2" />
        <PossibleValue Comment="2" Value="UART_STOPBITS_2"/>
    </RefParameter>	
    <RefParameter Comment="Parity" DefaultValue="PARITY_NONE" Group="Basic Parameters" Name="Parity" Type="list">
        <PossibleValue Comment="None" Semaphore="$IpInstance_PARITY_NONE" Value="PARITY_NONE"/>
        <PossibleValue Comment="Even" Semaphore="$IpInstance_PARITY_EVEN" Value="PARITY_EVEN"/>
        <PossibleValue Comment="Odd" Semaphore="$IpInstance_PARITY_ODD" Value="PARITY_ODD"/>
    </RefParameter>

    <RefParameter Comment="Parity" DefaultValue="IRDA_PARITY_NONE" Group="Basic Parameters" Name="IrdaParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; $IpInstance_PARITY_NONE"/>
        <PossibleValue Comment="None" Value="IRDA_PARITY_NONE"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="IRDA_PARITY_EVEN" Group="Basic Parameters" Name="IrdaParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; $IpInstance_PARITY_EVEN"/>
        <PossibleValue Comment="Even" Value="IRDA_PARITY_EVEN"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="IRDA_PARITY_ODD" Group="Basic Parameters" Name="IrdaParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; $IpInstance_PARITY_ODD"/>
        <PossibleValue Comment="Odd" Value="IRDA_PARITY_ODD"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="UART_PARITY_NONE" Group="Basic Parameters" Name="UartParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_PARITY_NONE"/>
        <PossibleValue Comment="None" Value="UART_PARITY_NONE"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="UART_PARITY_EVEN" Group="Basic Parameters" Name="UartParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_PARITY_EVEN"/>
        <PossibleValue Comment="Even" Value="UART_PARITY_EVEN"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="UART_PARITY_ODD" Group="Basic Parameters" Name="UartParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_PARITY_ODD"/>
        <PossibleValue Comment="Odd" Value="UART_PARITY_ODD"/>
    </RefParameter>

    <RefParameter Comment="Data Direction" DefaultValue="MODE_TX_RX" Group="Advanced Parameters" Name="Mode" Type="list">
        <PossibleValue Comment="Receive and Transmit" Semaphore="S_$IpInstance_TX_RX" Value="MODE_TX_RX"/>
        <PossibleValue Comment="Receive Only" Semaphore="S_$IpInstance_RX" Value="MODE_RX"/>
        <PossibleValue Comment="Transmit Only" Semaphore="S_$IpInstance_TX" Value="MODE_TX"/>
    </RefParameter>

    <RefParameter Comment="Data Direction" DefaultValue="IRDA_MODE_TX_RX" Group="Advanced Parameters" Name="IrdaMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; S_$IpInstance_TX_RX"/>
        <PossibleValue Comment="Receive and Transmit" Value="IRDA_MODE_TX_RX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="IRDA_MODE_TX" Group="Advanced Parameters" Name="IrdaMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; S_$IpInstance_TX"/>
        <PossibleValue Comment="Transmit Only" Value="IRDA_MODE_TX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="IRDA_MODE_RX" Group="Advanced Parameters" Name="IrdaMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; S_$IpInstance_RX"/>
        <PossibleValue Comment="Receive Only" Value="IRDA_MODE_RX"/>
    </RefParameter>

    <RefParameter Comment="Data Direction" DefaultValue="UART_MODE_TX_RX" Group="Advanced Parameters" Name="UartMode" Type="list">
        <Condition Diagnostic="" Expression="S_$IpInstance_TX_RX"/>
        <PossibleValue Comment="Receive and Transmit" Value="UART_MODE_TX_RX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="UART_MODE_TX" Group="Advanced Parameters" Name="UartMode" Type="list">
        <Condition Diagnostic="" Expression="S_$IpInstance_TX"/>
        <PossibleValue Comment="Transmit Only" Value="UART_MODE_TX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="UART_MODE_RX" Group="Advanced Parameters" Name="UartMode" Type="list">
        <Condition Diagnostic="" Expression="S_$IpInstance_RX"/>
        <PossibleValue Comment="Receive Only" Value="UART_MODE_RX"/>
    </RefParameter>
	
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_RTS" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">	
        <Condition Diagnostic="" Expression="$IpInstance_Request"/>
        <PossibleValue Comment="RTS Only" Value="UART_HWCONTROL_RTS"/>
    </RefParameter>
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_CTS" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_Clear"/>
        <PossibleValue Comment="CTS Only" Value="UART_HWCONTROL_CTS"/>
    </RefParameter>
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_RTS_CTS" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_CTS_RTS"/>
        <PossibleValue Comment="RTS/CTS" Value="UART_HWCONTROL_RTS_CTS"/>
    </RefParameter>
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_NONE" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">
        <PossibleValue Comment="None" Value="UART_HWCONTROL_NONE"/>
    </RefParameter>
	
    <RefParameter Comment="Over Sampling" DefaultValue="UART_OVERSAMPLING_16" Group="Advanced Parameters" Name="OverSampling" Type="uniqueElementList">
        <Condition Diagnostic="" Expression="$IpInstance_LIN"/>
        <PossibleValue Comment="16 Samples" Value="UART_OVERSAMPLING_16"/>
    </RefParameter>
    <RefParameter Comment="Over Sampling" DefaultValue="UART_OVERSAMPLING_16" Group="Advanced Parameters" Name="OverSampling" Type="list">
        <PossibleValue Comment="16 Samples" Value="UART_OVERSAMPLING_16"/>
        <PossibleValue Comment="8 Samples" Value="UART_OVERSAMPLING_8"/>
    </RefParameter>
	
    <RefParameter Comment="Single Sample" DefaultValue="UART_ONE_BIT_SAMPLE_DISABLE" Group="Advanced Parameters" Name="OneBitSampling" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ONE_BIT_SAMPLE_DISABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ONE_BIT_SAMPLE_ENABLE"/>
    </RefParameter>
	
    <!-- Specifics RefParameters for MultiProcessor Only. WakeUp Method -->
    <RefParameter Comment="Wake-Up Method" DefaultValue="UART_WAKEUPMETHOD_IDLELINE" Group="Advanced Parameters" Name="WakeUpMethod" Type="list">
        <PossibleValue Comment="Idle Line" Value="UART_WAKEUPMETHOD_IDLELINE"/>
        <PossibleValue Comment="Address Mark" Value="UART_WAKEUPMETHOD_ADDRESSMARK"/>
    </RefParameter>
	
    <!-- Address for MultiProcessor --> 
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="63" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK &amp; AddressLength = UART_ADDRESS_DETECT_7B &amp; WordLength=WORDLENGTH_7B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="127" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK &amp; AddressLength = UART_ADDRESS_DETECT_7B &amp; WordLength=WORDLENGTH_8B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="255" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK &amp; AddressLength = UART_ADDRESS_DETECT_7B &amp; WordLength=WORDLENGTH_9B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="15" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod = UART_WAKEUPMETHOD_ADDRESSMARK"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="0" Min="0" Name="Address" Type="integer" Visible="false"/>
    
     <!-- Specifics RefParameters for MultiProcessor Only. Adress length -->
    <RefParameter Comment="Wake-Up Method" DefaultValue="UART_ADDRESS_DETECT_4B" Group="Advanced Parameters" Name="AddressLength" Type="list">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK"/>
        <PossibleValue Comment="4 Bits" Value="UART_ADDRESS_DETECT_4B"/>
        <PossibleValue Comment="7 Bits" Value="UART_ADDRESS_DETECT_7B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Method" DefaultValue="null" Group="Advanced Parameters" Name="AddressLength" Type="list" Visible="false"/>
	

    <!--Specifics RefParameters for LIN. Line BreakLength -->
    <RefParameter Comment="Break Detect Length" DefaultValue="UART_LINBREAKDETECTLENGTH_10B" Group="Advanced Parameters" Name="BreakDetectLength" Type="list">
        <PossibleValue Comment="10 Bits" Value="UART_LINBREAKDETECTLENGTH_10B"/>
        <PossibleValue Comment="11 Bits" Value="UART_LINBREAKDETECTLENGTH_11B"/>
    </RefParameter>

	
    <!-- Specifics RefParameters for IrDa Mode -->
    <RefParameter Comment="Power Mode" DefaultValue="IRDA_POWERMODE_NORMAL" Group="Advanced Parameters" Name="PowerMode" Type="list">
        <PossibleValue Comment="Low Power" Value="IRDA_POWERMODE_LOWPOWER"/>
        <PossibleValue Comment="Normal Power" Value="IRDA_POWERMODE_NORMAL"/>
    </RefParameter>
    
    <RefParameter Comment="Prescaler" DefaultValue="1" Group="Advanced Parameters" Max="1" Min="1" Name="Prescaler" Type="integer">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; PowerMode = IRDA_POWERMODE_NORMAL"/>
    </RefParameter>
	
    <RefParameter Comment="Prescaler" DefaultValue="10" Group="Advanced Parameters" Max="255" Min="1" Name="Prescaler" Type="integer">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA"/>
    </RefParameter>

    <RefParameter Comment="ClockPrescaler" DefaultValue="PRESCALER_DIV1" Group="Advanced Parameters" Name="ClockPrescaler" Type="list">
        <PossibleValue Comment="1" Value="PRESCALER_DIV1"/>
        <PossibleValue Comment="2" Value="PRESCALER_DIV2"/>
        <PossibleValue Comment="4" Value="PRESCALER_DIV4"/>
        <PossibleValue Comment="6" Value="PRESCALER_DIV6"/>
        <PossibleValue Comment="8" Value="PRESCALER_DIV8"/>
        <PossibleValue Comment="10" Value="PRESCALER_DIV10"/>
        <PossibleValue Comment="12" Value="PRESCALER_DIV12"/>
        <PossibleValue Comment="16" Value="PRESCALER_DIV16"/>
        <PossibleValue Comment="32" Value="PRESCALER_DIV32"/>
        <PossibleValue Comment="64" Value="PRESCALER_DIV64"/>
        <PossibleValue Comment="128" Value="PRESCALER_DIV128"/>
        <PossibleValue Comment="256" Value="PRESCALER_DIV256"/>
    </RefParameter>
    
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV1" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV1"/>
        <PossibleValue Comment="1" Value="IRDA_PRESCALER_DIV1"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV2" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV2"/>
        <PossibleValue Comment="2" Value="IRDA_PRESCALER_DIV2"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV4" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV4"/>            
        <PossibleValue Comment="4" Value="IRDA_PRESCALER_DIV4"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV6" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV6"/>
        <PossibleValue Comment="6" Value="IRDA_PRESCALER_DIV6"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV8" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV8"/>
        <PossibleValue Comment="8" Value="IRDA_PRESCALER_DIV8"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV10" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV10"/>
        <PossibleValue Comment="10" Value="IRDA_PRESCALER_DIV10"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV12" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV12"/>
        <PossibleValue Comment="12" Value="IRDA_PRESCALER_DIV12"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV16" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV16"/>
        <PossibleValue Comment="16" Value="IRDA_PRESCALER_DIV16"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV32" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV32"/>
        <PossibleValue Comment="32" Value="IRDA_PRESCALER_DIV32"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV64" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV64"/>
        <PossibleValue Comment="64" Value="IRDA_PRESCALER_DIV64"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV128" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV128"/>
        <PossibleValue Comment="128" Value="IRDA_PRESCALER_DIV128"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="IRDA_PRESCALER_DIV256" Group="Advanced Parameters" Name="IrdaPrescaler" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_IRDA &amp; ClockPrescaler=PRESCALER_DIV256"/>
        <PossibleValue Comment="256" Value="IRDA_PRESCALER_DIV256"/>
    </RefParameter>

    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV1" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV1"/>
        <PossibleValue Comment="1 " Value="UART_PRESCALER_DIV1"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV2" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV2"/>
        <PossibleValue Comment="2 " Value="UART_PRESCALER_DIV2"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV4" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV4"/>            
        <PossibleValue Comment="4 " Value="UART_PRESCALER_DIV4"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV6" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV6"/>
        <PossibleValue Comment="6 " Value="UART_PRESCALER_DIV6"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV8" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV8"/>
        <PossibleValue Comment="8 " Value="UART_PRESCALER_DIV8"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV10" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV10"/>
        <PossibleValue Comment="10 " Value="UART_PRESCALER_DIV10"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV12" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV12"/>
        <PossibleValue Comment="12 " Value="UART_PRESCALER_DIV12"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV16" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV16"/>
        <PossibleValue Comment="16 " Value="UART_PRESCALER_DIV16"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV32" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV32"/>
        <PossibleValue Comment="32 " Value="UART_PRESCALER_DIV32"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV64" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV64"/>
        <PossibleValue Comment="64 " Value="UART_PRESCALER_DIV64"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV128" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV128"/>
        <PossibleValue Comment="128 " Value="UART_PRESCALER_DIV128"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV256" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="ClockPrescaler=PRESCALER_DIV256"/>
        <PossibleValue Comment="256 " Value="UART_PRESCALER_DIV256"/>
    </RefParameter>
	
    <!-- Advanceds features -->
	
    <RefParameter Comment="UART Advanced Features" DefaultValue="UART_ADVFEATURE_NO_INIT" Group="Advanced Features" Name="AdvFeatureInit" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="!($IpInstance_TxPinLevelInvertENABLE|$IpInstance_RxPinLevelInvertENABLE|$IpInstance_DataInvertENABLE|$IpInstance_SwapENABLE|$IpInstance_OverrunDisableENABLE|$IpInstance_DMADisableonRxErrorENABLE|$IpInstance_MSBFirstENABLE|$IpInstance_UART_AutoBaudRate_Enable)"/>
        <PossibleValue Comment="" Semaphore="$IpInstance_ADVFEATURE_NO_INIT" Value="UART_ADVFEATURE_NO_INIT"/>
    </RefParameter>
		
    <RefParameter Comment="UART Advanced Features" DefaultValue="+IsTxPinLevelInvert+|IsRxPinLevelInvert+|IsDataInvert+|IsSwap+|IsOverrunDisable+|IsDMADisableonRxError+|IsMSBFirst+|IsAutoBaudRateMode" Name="AdvFeatureInit" Type="list" Visible="false"/>
	
    <!-- TxPinLevelInvert -->
	     
	    
    <RefParameter Comment="TX Pin Active Level Is Inverted arg" DefaultValue="UART_ADVFEATURE_TXINV_ENABLE" Group="Advanced Features" Name="TxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_TxPinLevelInvertENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX Pin Active Level Is Inverted arg" DefaultValue="null" Group="Advanced Features" Name="TxPinLevelInvert" Type="list" Visible="false"/>
   
  
   
    <RefParameter Comment="TX Pin Active Level Inversion" DefaultValue="UART_ADVFEATURE_TXINV_DISABLE" Group="Advanced Features" Name="TxPinLevelInvertParam" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_TXINV_DISABLE"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_TxPinLevelInvertENABLE" Value="UART_ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>
	
	
	
    <RefParameter Comment="IsTxPinLevelInvert" DefaultValue="UART_ADVFEATURE_TXINVERT_INIT" Group="Advanced Features" Name="IsTxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_TxPinLevelInvertENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_TXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsTxPinLevelInvert" Type="list" Visible="false"/>
    <!--RxPinLevelInvert -->
	
   
   
    <RefParameter Comment="RX Pin Active Level Is Inverted arg" DefaultValue="UART_ADVFEATURE_RXINV_ENABLE" Group="Advanced Features" Name="RxPinLevelInvert" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_RxPinLevelInvertENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="RX Pin Active Level Is Inverted arg" DefaultValue="null" Group="Advanced Features" Name="RxPinLevelInvert" Type="list" Visible="false"/>
	
	
    <RefParameter Comment="RX Pin Active Level Inversion" DefaultValue="UART_ADVFEATURE_RXINV_DISABLE" Group="Advanced Features" Name="RxPinLevelInvertParam" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_RXINV_DISABLE"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_RxPinLevelInvertENABLE" Value="UART_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>
	
	
	
	
    <RefParameter Comment="IsRxPinLevelInvert" DefaultValue="UART_ADVFEATURE_RXINVERT_INIT" Group="Advanced Features" Name="IsRxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_RxPinLevelInvertENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_RXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsRxPinLevelInvert" Type="list" Visible="false"/>
       
    <!-- -->
	 

    <RefParameter Comment="Data Are Inverted arg" DefaultValue="UART_ADVFEATURE_DATAINV_ENABLE" Group="Advanced Features" Name="DataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DataInvertENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Data Are Inverted arg" DefaultValue="null" Group="Advanced Features" Name="DataInvert" Type="list" Visible="false"/>
	
	
	
    <RefParameter Comment="Data Inversion" DefaultValue="UART_ADVFEATURE_DATAINV_DISABLE" Group="Advanced Features" Name="DataInvertParam" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_DATAINV_DISABLE"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_DataInvertENABLE" Value="UART_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>
	
	

    <RefParameter Comment="IsDataInvert" DefaultValue="UART_ADVFEATURE_DATAINVERT_INIT" Group="Advanced Features" Name="IsDataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DataInvertENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_DATAINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsDataInvert" Type="list" Visible="false"/>
     
    <!-- -->
	
	
    <RefParameter Comment="TX and RX pins are swapped arg" DefaultValue="UART_ADVFEATURE_SWAP_ENABLE" Group="Advanced Features" Name="Swap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_SwapENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX pins are swapped arg" DefaultValue="null" Group="Advanced Features" Name="Swap" Type="list" Visible="false"/>
	
	
	
    <RefParameter Comment="TX and RX Pins Swapping" DefaultValue="UART_ADVFEATURE_SWAP_DISABLE" Group="Advanced Features" Name="SwapParam" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_SWAP_DISABLE"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_SwapENABLE" Value="UART_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
	
	
	
	
	
    <RefParameter Comment="IsSwap" DefaultValue="UART_ADVFEATURE_SWAP_INIT" Group="Advanced Features" Name="IsSwap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_SwapENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_SWAP_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSwap" Type="list" Visible="false"/>
      
    <!-- -->
	
    <RefParameter Comment="Overrun State arg" DefaultValue="UART_ADVFEATURE_OVERRUN_DISABLE" Group="Advanced Features" Name="OverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_OverrunDisableENABLE"/>
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_OVERRUN_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Overrun State arg" DefaultValue="null" Group="Advanced Features" Name="OverrunDisable" Type="list" Visible="false"/>
	
	
	
	
    <RefParameter Comment="Overrun" DefaultValue="UART_ADVFEATURE_OVERRUN_ENABLE" Group="Advanced Features" Name="OverrunDisableParam" Type="list">
        <PossibleValue Comment="Disable" Semaphore="$IpInstance_OverrunDisableENABLE" Value="UART_ADVFEATURE_OVERRUN_DISABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_OVERRUN_ENABLE"/>
    </RefParameter>
	
	
   
	
    <RefParameter Comment="" DefaultValue="UART_ADVFEATURE_RXOVERRUNDISABLE_INIT" Group="Advanced Features" Name="IsOverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_OverrunDisableENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_RXOVERRUNDISABLE_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsOverrunDisable" Type="list" Visible="false"/>
      
    <!-- -->
	  
    <RefParameter Comment="DMA State arg" DefaultValue="UART_ADVFEATURE_DMA_DISABLEONRXERROR" Group="Advanced Features" Name="DMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DMADisableonRxErrorENABLE"/>
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_DMA_DISABLEONRXERROR"/>
    </RefParameter>
    <RefParameter Comment="DMA State arg" DefaultValue="null" Group="Advanced Features" Name="DMADisableonRxError" Type="list" Visible="false"/>
	
	
    <RefParameter Comment="DMA on RX Error" DefaultValue="UART_ADVFEATURE_DMA_ENABLEONRXERROR" Group="Advanced Features" Name="DMADisableonRxErrorParam" Type="list">
        <PossibleValue Comment="Disable" Semaphore="$IpInstance_DMADisableonRxErrorENABLE" Value="UART_ADVFEATURE_DMA_DISABLEONRXERROR"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_DMA_ENABLEONRXERROR"/>
    </RefParameter>
	
	
    <RefParameter Comment="" DefaultValue="UART_ADVFEATURE_DMADISABLEONERROR_INIT" Group="Advanced Features" Name="IsDMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DMADisableonRxErrorENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_DMADISABLEONERROR_INIT"/>
    </RefParameter>
    <RefParameter Comment="IsDMADisableonRxError" DefaultValue="" Group="Advanced Features" Name="IsDMADisableonRxError" Type="list" Visible="false"/>
    <!-- -->
	
    <RefParameter Comment="MSB Is Sent First arg" DefaultValue="UART_ADVFEATURE_MSBFIRST_ENABLE" Group="Advanced Features" Name="MSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_MSBFirstENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB Is Sent First arg" DefaultValue="null" Group="Advanced Features" Name="MSBFirst" Type="list" Visible="false"/>
	
	
    <RefParameter Comment="MSB First" DefaultValue="UART_ADVFEATURE_MSBFIRST_DISABLE" Group="Advanced Features" Name="MSBFirstParam" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_MSBFIRST_DISABLE"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_MSBFirstENABLE" Value="UART_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
	
    <RefParameter Comment="IsMSBFirst" DefaultValue="UART_ADVFEATURE_MSBFIRST_INIT" Group="Advanced Features" Name="IsMSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_MSBFirstENABLE"/>
        <PossibleValue Comment="SMARTCARD" Value="UART_ADVFEATURE_MSBFIRST_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsMSBFirst" Type="list" Visible="false"/>
    
    
    <!-- Auto Baudrate -->
    <RefParameter Comment="Auto Baudrate Mode arg" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_ENABLE" Group="Advanced Features" Name="AutoBaudRateEnable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_AUTOBAUDRATE_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Auto Baudrate Mode arg" DefaultValue="null" Group="Advanced Features" Name="AutoBaudRateEnable" Type="list" Visible="false"/>
    
    <RefParameter Comment="Auto Baudrate" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_DISABLE" Group="Advanced Features" Name="AutoBaudRateEnableParam" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_AUTOBAUDRATE_DISABLE"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_UART_AutoBaudRate_Enable" Value="UART_ADVFEATURE_AUTOBAUDRATE_ENABLE"/>
    </RefParameter>
    
    <RefParameter Comment="" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_INIT" Group="Advanced Features" Name="IsAutoBaudRateMode" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_AUTOBAUDRATE_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsAutoBaudRateMode" Type="list" Visible="false"/>
	
    <RefParameter Comment="Auto Baudrate Mode" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT" Group="Advanced Features" Name="AutoBaudRateMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable &amp; ($IpInstance_Irda_7B|$IpInstance_Uart_7B)"/>
        <PossibleValue Comment="ON START BIT" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT"/>
        <PossibleValue Comment="ON FALLING EDGE" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE"/>
    </RefParameter>
    <RefParameter Comment="Auto Baudrate Mode" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT" Group="Advanced Features" Name="AutoBaudRateMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
        <PossibleValue Comment="ON START BIT" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT"/>
        <PossibleValue Comment="ON FALLING EDGE" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE"/>
        <PossibleValue Comment="ON 0X7F FRAME" Value="UART_ADVFEATURE_AUTOBAUDRATE_ON0X7FFRAME"/>
        <PossibleValue Comment="ON 0X55 FRAME" Value="UART_ADVFEATURE_AUTOBAUDRATE_ON0X55FRAME"/>
    </RefParameter>
    <RefParameter Comment="Auto Baudrate Mode" DefaultValue="null" Group="Advanced Features" Name="AutoBaudRateMode" Type="list" Visible="false"/>
   
    <!--Specifics RefParameters for RS485 -->
    <RefParameter Comment="Polarity" DefaultValue="UART_DE_POLARITY_HIGH" Group="Advanced Parameters" Name="UART_DEPolarity" Type="list">
        <PossibleValue Comment="High" Value="UART_DE_POLARITY_HIGH"/>
        <PossibleValue Comment="Low" Value="UART_DE_POLARITY_LOW"/>
    </RefParameter>
    <RefParameter Comment="Assertion Time" DefaultValue="0" Group="Advanced Parameters" Max="31" Min="0" Name="UART_DEAssertionTime" Type="integer" Unit="Sample Time Unit"/>
    <RefParameter Comment="Deassertion Time" DefaultValue="0" Group="Advanced Parameters" Max="31" Min="0" Name="UART_DEDeassertionTime" Type="integer" Unit="Sample Time Unit"/>


    <RefParameter Comment="Fifo Mode" DefaultValue="FIFOMODE_DISABLE" Group="Advanced Parameters" Name="FIFOMode" Type="list">
        <PossibleValue Comment="FIFO mode disable " Value="FIFOMODE_DISABLE"/>
        <PossibleValue Comment="FIFO mode enable " Value="FIFOMODE_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="Fifo Mode" DefaultValue="UART_FIFOMODE_DISABLE" Group="Advanced Parameters" Name="UartFIFOMode" Type="list">
        <Condition Diagnostic="" Expression="FIFOMode=FIFOMODE_DISABLE"/>
        <PossibleValue Comment="Disable " Value="UART_FIFOMODE_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Fifo Mode" DefaultValue="UART_FIFOMODE_DISABLE" Group="Advanced Parameters" Name="UartFIFOMode" Type="list">
        <Condition Diagnostic="" Expression="FIFOMode=FIFOMODE_ENABLE"/>
        <PossibleValue Comment="Enable " Value="UART_FIFOMODE_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="Txfifo Threshold" DefaultValue="TXFIFO_THRESHOLD_1EIGHTHFULL" Group="Advanced Parameters" Name="TXFIFOThreshold" Type="list">
        <PossibleValue Comment="1 eighth full configuration " Value="TXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 quart full configuration "  Value="TXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="half full configuration "     Value="TXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="3 quarts full configuration " Value="TXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="7 eighth full configuration " Value="TXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="empty " Value="TXFIFO_THRESHOLD_EMPTY"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_1_8" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="TXFIFOThreshold=TXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 eighth full configuration " Value="UART_TXFIFO_THRESHOLD_1_8"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_1_4" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="TXFIFOThreshold=TXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="1 quart full configuration "  Value="UART_TXFIFO_THRESHOLD_1_4"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_1_2" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="TXFIFOThreshold=TXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="half full configuration "     Value="UART_TXFIFO_THRESHOLD_1_2"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_3_4" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="TXFIFOThreshold=TXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="3 quarts full configuration " Value="UART_TXFIFO_THRESHOLD_3_4"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_7_8" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="TXFIFOThreshold=TXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="7 eighth full configuration " Value="UART_TXFIFO_THRESHOLD_7_8"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_8_8" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="TXFIFOThreshold=TXFIFO_THRESHOLD_EMPTY"/>
        <PossibleValue Comment="empty " Value="UART_TXFIFO_THRESHOLD_8_8"/>
    </RefParameter>

    <RefParameter Comment="Rxfifo Threshold" DefaultValue="RXFIFO_THRESHOLD_1EIGHTHFULL" Group="Advanced Parameters" Name="RXFIFOThreshold" Type="list">
        <PossibleValue Comment="1 eighth full configuration " Value="RXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 quart full configuration " Value="RXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="half full configuration " Value="RXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="3 quarts full configuration " Value="RXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="7 eighth full configuration " Value="RXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="Full " Value="RXFIFO_THRESHOLD_FULL"/>
    </RefParameter>

    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_1_8" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="RXFIFOThreshold=RXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="RXFIFO threshold 1 eighth full configuration " Value="UART_RXFIFO_THRESHOLD_1_8"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_1_4" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="RXFIFOThreshold=RXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="RXFIFO threshold 1 quart full configuration " Value="UART_RXFIFO_THRESHOLD_1_4"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_1_2" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="RXFIFOThreshold=RXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="RXFIFO threshold half full configuration " Value="UART_RXFIFO_THRESHOLD_1_2"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_3_4" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="RXFIFOThreshold=RXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="RXFIFO threshold 3 quarts full configuration " Value="UART_RXFIFO_THRESHOLD_3_4"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_7_8" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="RXFIFOThreshold=RXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="RXFIFO threshold 7 eighth full configuration " Value="UART_RXFIFO_THRESHOLD_7_8"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_8_8" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="RXFIFOThreshold=RXFIFO_THRESHOLD_FULL"/>
        <PossibleValue Comment="RXFIFO becomes Full " Value="UART_RXFIFO_THRESHOLD_8_8"/>
    </RefParameter>


    <RefMode Abstract="true" Name="usartBasic">
        <Parameter Name="BaudRate"/>
    </RefMode>
      


    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Asynchronous">
        <Condition Diagnostic="" Expression="$IpInstance_HardwareControl"/>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
	  
    <!-- RefMode for Asynchronous UART -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Asynchronous">
        <ConfigForMode>Uart_Init</ConfigForMode>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>	
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
	
    <!-- RefMode for 'Single Wire' UART -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Half_duplex(single_wire_mode)">
        <ConfigForMode>Uart_HalfDuplex_Init</ConfigForMode>
        <!-- Basic Parameters -->
	  
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>	
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
		
    <!-- RefMode for 'MultiProcessor Communication' UART -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Multiprocessor_communication">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_IDLELINE"/>
        <ConfigForMode>Uart_MultiProcessor_Init</ConfigForMode>
        <!-- Basic Parameters -->
	  
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="WakeUpMethod"/>
        <Parameter Name="Address"/>
        <Parameter Name="AddressLength"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Multiprocessor_communication">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK"/>
        <ConfigForMode>Uart_MultiProcessor_Ex_Init</ConfigForMode>
        <!-- Basic Parameters -->
	  
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="WakeUpMethod"/>
        <Parameter Name="Address"/>
        <Parameter Name="AddressLength"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>

    <!-- RefModes for LIN -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="LIN">
        <ConfigForMode>Uart_Lin_Init</ConfigForMode>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="BreakDetectLength"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>	
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
	
    <!-- RefModes for IRDA -->
    <RefMode BaseMode="usartBasic" HalMode="IRDA" Name="IrDA">
        <ConfigForMode>IrDa_Init</ConfigForMode>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="Prescaler"/>
        <Parameter Name="PowerMode"/>
        <Parameter Name="ClockPrescaler"/>
    </RefMode>
	
    <!-- RefModes for Harwdware Flow Control -->
    <RefMode Name="CTS_Only"/>
	
    <RefMode Name="RTS_Only"/>
	
    <RefMode Name="CTS_RTS"/>
	
    <!-- RefModes for RS485 -->
    <RefMode HalMode="UART" Name="Hardware Flow Control (RS485)">
        <ConfigForMode>Uart_RS485_Init</ConfigForMode>
        <Parameter Name="UART_DEPolarity"/>
        <Parameter Name="UART_DEAssertionTime"/>
        <Parameter Name="UART_DEDeassertionTime"/>
    </RefMode>
	
    <!-- ModeLogicOperator for UART/IRDA/Modbus -->
    <ModeLogicOperator Name="OR">
        <Mode Name="Mode">
            <ModeLogicOperator Name="XOR">
                <Mode Name="Asynchronous">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Asynchronous</Semaphore>
                    <Semaphore>Asynchronous</Semaphore>
                </Mode>
                <Mode Name="Half_duplex(single_wire_mode)" UserName="Single Wire (Half-Duplex)">
                    <SignalLogicalOp Name="AND">
                        <Signal IOMode="AlternateFunctionOpenDrainAndPushPullDefaultOD" Name="TX"/>
                    </SignalLogicalOp>
                </Mode>
                <Mode Name="Multiprocessor_communication" UserName="Multiprocessor Communication">
                    <SignalLogicalOp Name="AND">
                        <Signal IOMode="AlternateFunctionOpenDrainAndPushPullDefaultOD" Name="RX"/>
                        <Signal IOMode="AlternateFunctionOpenDrainAndPushPullDefaultOD" Name="TX"/>
                    </SignalLogicalOp>
                </Mode>
                <Mode Name="IrDA">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_IRDA</Semaphore>
                </Mode>
                <Mode Name="ModbusCommunication" UserName="Modbus Communication">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                </Mode>
                <Mode Name="LIN">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_LIN</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
	
	
        <Mode Name="Hardware Flow Control (RS232)">
            <ModeLogicOperator Name="XOR">
                <Mode Name="CTS_Only" UserName="CTS Only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="CTS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Clear</Semaphore>
                </Mode>
                <Mode Name="RTS_Only" UserName="RTS Only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RTS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Request</Semaphore>
                </Mode>
                <Mode Name="CTS_RTS" UserName="CTS/RTS">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="CTS"/>
                        <Signal Name="RTS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_CTS_RTS</Semaphore>
                </Mode>
            </ModeLogicOperator>
            <Condition Diagnostic="Active only with Asynchronous Mode" Expression="$IpInstance_Asynchronous &amp; !$IpInstance_HardwareControl"/>
            <Semaphore>$IpInstance_FlowControl</Semaphore>
        </Mode>
        <Mode Name="Hardware Flow Control (RS485)">
            <ModeLogicOperator Name="XOR">
                <Mode Name="Hardware Flow Control (RS485)">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="DE"/>
                    </SignalLogicalOp>
                </Mode>
            </ModeLogicOperator>
            <Condition Diagnostic="Active only with Asynchronous Mode" Expression="!$IpInstance_FlowControl &amp; $IpInstance_Asynchronous"/>
            <Semaphore>$IpInstance_HardwareControl</Semaphore>
        </Mode>
    </ModeLogicOperator>
	
    <!-- RefSignal for UART/IRDA/Modbus -->
    <RefSignal IOMode="AlternateFunctionPushPull" Name="CTS"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="RTS"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="DE"/>
    <RefSignal IOMode="AlternateFunctionOpenDrainAndPushPullDefaultPP" Name="RX"/>
    <RefSignal IOMode="AlternateFunctionOpenDrainAndPushPullDefaultPP" Name="TX"/>
    <Semaphore>$IpInstanceUsed_ForRCC</Semaphore>
</IP>
