<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
 
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" DBVersion="V4.0" Name="GPIO" Version="STM32Cube_FW_F1_V1.6.0" IncludeFile="stm32f1xx_ll_system.h;stm32f1xx_ll_gpio.h;stm32f1xx_ll_exti.h" 
    xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../../doc/V4/Development/Specifications/db/IP_Configs.xsd">    
    <RefConfig Name="GPIO">
        <IFCondition Expression="GPIO_Mode=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_Mode,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
        <Else>
            <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
        </CallLibMethod>   
        </Else>
        </IFCondition>
    </RefConfig>
     <RefConfig Name="PinRemapConfig">
        
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_CAN1_2">
            <CallLibMethod Name="LL_GPIO_AF_RemapPartial2_CAN1" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_CAN1_3">
            <CallLibMethod Name="LL_GPIO_AF_RemapPartial3_CAN1" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_CAN2_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_CAN2" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_ETH_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_ETH" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_I2C1_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_I2C1" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_SPI1_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_SPI1" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_SPI3_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_SPI3" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_Mode=GPIO_MODE_INPUT">
            <Else>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM1_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM1" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM1_PARTIAL">
            <CallLibMethod Name="LL_GPIO_AF_RemapPartial_TIM1" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM10_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM10" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM11_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM11" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM12_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM12" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM13_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM13" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM14_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM14" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM15_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM15" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM16_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM16" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM17_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM17" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM2_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM2" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM2_PARTIAL_1">
            <CallLibMethod Name="LL_GPIO_AF_RemapPartial1_TIM2" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM2_PARTIAL_2">
            <CallLibMethod Name="LL_GPIO_AF_RemapPartial2_TIM2" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM3_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM3" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM3_PARTIAL">
            <CallLibMethod Name="LL_GPIO_AF_RemapPartial_TIM3" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM4_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM4" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_TIM9_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_TIM9" ReturnHAL="false"/>                            
        </IFCondition>
        </Else>
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_USART1_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_USART1" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_USART2_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_USART2" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_USART3_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_USART3" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_USART3_PARTIAL">
            <CallLibMethod Name="LL_GPIO_AF_RemapPartial_USART3" ReturnHAL="false"/>                            
        </IFCondition>
        <IFCondition Expression="GPIO_AF=__HAL_AFIO_REMAP_PD01_ENABLE">
            <CallLibMethod Name="LL_GPIO_AF_EnableRemap_PD01" ReturnHAL="false"/>                            
        </IFCondition>        
    </RefConfig>
    <RefConfig Name="GPIODefaultOutputPP">
        <IFCondition Expression="GPIO_ModeDefaultOutputPP=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultOutputPP,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultOutputPP"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
        <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultOutputPP"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultOutputPP"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
        </CallLibMethod>
        </Else>
        </IFCondition>
        <IFCondition Expression="PinState=GPIO_PIN_RESET">
            <CallLibMethod Name="LL_GPIO_ResetOutputPin">
                <MethodArg Name="PinMask" ParameterName="GPIO_Pin"/>
            </CallLibMethod> 
        </IFCondition>
        <IFCondition Expression="PinState=GPIO_PIN_SET">
            <CallLibMethod Name="LL_GPIO_SetOutputPin">
                <MethodArg Name="PinMask" ParameterName="GPIO_Pin"/>
            </CallLibMethod>
        </IFCondition>                    
       
    </RefConfig>
    <RefConfig Name="AlternateFunction">
        <IFCondition Expression="GPIO_Mode=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_Mode,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
        </CallLibMethod>
            </Else>
        </IFCondition>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>
       
    </RefConfig>
    <RefConfig Name="AlternateFunctionHighSpeedDefault">
         <IFCondition Expression="GPIO_Mode=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_Mode,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed_High_Default"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed_High_Default"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
        </CallLibMethod>
            </Else>
         </IFCondition>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC1">
        <IFCondition Expression="GPIO_Mode=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
        </CallLibMethod>
            </Else>
        </IFCondition>
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC2">
        <IFCondition Expression="GPIO_ModeDefaultPP=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultPP"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
        </CallLibMethod>
            </Else>
        </IFCondition>
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC3">
        <IFCondition Expression="GPIO_ModeDefaultPP=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_Mode"/>
        </CallLibMethod>
            </Else>
        </IFCondition>
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC4">
        <IFCondition Expression="GPIO_ModeDefaultPP=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultPP"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultPP"/>
        </CallLibMethod>
            </Else>
        </IFCondition>
    </RefConfig>
    <RefConfig Name="AlternateFunctionDefaultPP">
        <IFCondition Expression="GPIO_ModeDefaultPP=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultPP"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultPP"/>

            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
        </CallLibMethod>
            </Else>
        </IFCondition>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>
       
    </RefConfig>
    <RefConfig Name="AlternateFunctionDefaultOD">
        <IFCondition Expression="GPIO_ModeDefaultOD=GPIO_MODE_INPUT &amp; GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_Init" >
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultOD,GPIO_PuPd"/>
                <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
                <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultOD"/>
                <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
                <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
            </CallLibMethod>        
            <Else>
        <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultOD"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultOD"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
        </CallLibMethod>
            </Else>
        </IFCondition>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>   
        
    </RefConfig>
    <RefConfig Name="EXTI">
        <CallLibMethod  Name="LL_GPIO_AF_SetEXTISource">
            <MethodArg  Name="Port" ParameterName="GPIOx" />
            <MethodArg Name="Line"  ParameterName="GPIO_Pin" />
        </CallLibMethod>  
        <CallLibMethod Name="LL_EXTI_Init" >
                <MethodArg Name="Line_0_31" ParameterName="GPIO_Pin"/>
                <!--                <MethodArg Name="Line_32_63" ParameterName="GPIO_Pin"/> -->
                <MethodArg Name="LineCommand" ParameterName="GPIO_PuPd"/>
                <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultEXTI" />
                <MethodArg Name="Trigger" ParameterName="GPIO_ModeDefaultEXTI"/>
         </CallLibMethod>                      
        
        <CallLibMethod Name="LL_GPIO_SetPinPull" >           
            <MethodArg Name="GPIOx" ParameterName="GPIOx"   />
            <MethodArg Name="Pin" ParameterName="GPIO_Pin" />
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
        </CallLibMethod> 
        <IFCondition Expression="GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_SetPinMode" >
                <MethodArg Name="GPIOx" ParameterName="GPIOx"   />
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_Mode_For_EXTI_LL,GPIO_PuPd"/>
            </CallLibMethod>        
        <Else>
        <CallLibMethod Name="LL_GPIO_SetPinMode" >           
            <MethodArg Name="GPIOx" ParameterName="GPIOx"   />
            <MethodArg Name="Pin" ParameterName="GPIO_Pin" />
            <MethodArg Name="Mode" ParameterName="GPIO_Mode_For_EXTI_LL"/>
        </CallLibMethod>     	
        </Else>
        </IFCondition>
    </RefConfig>
    <RefConfig Name="EXTIRisingFalling">
        <CallLibMethod  Name="LL_GPIO_AF_SetEXTISource">
            <MethodArg  Name="Port" ParameterName="GPIOx"/>
            <MethodArg Name="Line" ParameterName="GPIO_Pin"/>
        </CallLibMethod>  
        <CallLibMethod Name="LL_EXTI_Init" >
            <MethodArg Name="Line_0_31" ParameterName="GPIO_Pin"/>
            <!--                <MethodArg Name="Line_32_63" ParameterName="GPIO_Pin"/> -->
            <MethodArg Name="LineCommand" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultEXTI_IT_RF" />
            <MethodArg Name="Trigger" ParameterName="GPIO_ModeDefaultEXTI_IT_RF"/>
        </CallLibMethod>

      <CallLibMethod Name="LL_GPIO_SetPinPull" >           
            <MethodArg Name="GPIOx" ParameterName="GPIOx"   />
            <MethodArg Name="Pin" ParameterName="GPIO_Pin" />
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
        </CallLibMethod> 

        <IFCondition Expression="GPIO_PuPd=GPIO_NOPULL"> 
            <CallLibMethod Name="LL_GPIO_SetPinMode" >
                <MethodArg Name="GPIOx" ParameterName="GPIOx"   />
                <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
                <MethodArg Name="Mode" ParameterName="GPIO_Mode_For_EXTI_LL,GPIO_PuPd"/>
            </CallLibMethod>        
        <Else>
        <CallLibMethod Name="LL_GPIO_SetPinMode" >           
            <MethodArg Name="GPIOx" ParameterName="GPIOx"   />
            <MethodArg Name="Pin" ParameterName="GPIO_Pin" />
            <MethodArg Name="Mode" ParameterName="GPIO_Mode_For_EXTI_LL"/>
        </CallLibMethod>     	
        </Else>  
        </IFCondition>  	   
    </RefConfig>
 <RefConfig Name="EventConfig">
         <CallLibMethod Name="LL_GPIO_Init" >
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>      
            <MethodArg Name="OutputType" ParameterName="GPIO_ModeDefaultPP"/>      
            <!--MethodArg Name="Alternate" ParameterName="GPIO_AF"/-->
        </CallLibMethod>   
        <CallLibMethod Name="LL_GPIO_AF_ConfigEventout" ReturnHAL="false">
            <MethodArg Name="LL_GPIO_PinSource" ParameterName="GPIO_Pin"/>           
            <MethodArg Name="LL_GPIO_PortSource" ParameterName="GPIOx"/>
        </CallLibMethod>
        <CallLibMethod Name="LL_GPIO_AF_EnableEventout" ReturnHAL="false"/>
    </RefConfig>
    <RefConfig Name="DeInit">
        <CallLibMethod Name="LL_GPIO_DeInit" />
    </RefConfig>    
   <!--Add Lib Method For FastModePlus-->	
    <LibMethod Comment="" Name="LL_SYSCFG_EnableFastModePlus">
        <Argument Comment="" GenericType="simple" Name="Parametre" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_AF_SetEXTISource">
        <Argument AddressOf="false" GenericType="simple" Name="Port" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Line" OptimizationCondition="equal"/>
    </LibMethod>    
    <LibMethod Comment="" Name="LL_GPIO_ReadInputPort">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_IsInputPinSet">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_WriteOutputPort">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PortValue" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_ReadOutputPort">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_IsOutputPinSet">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_SetOutputPin" Optimizable="true" >
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="BitwiseOr"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_ResetOutputPin" Optimizable="true">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="BitwiseOr"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_TogglePin">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_DeInit">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
    </LibMethod>
   <LibMethod Comment="" Name="LL_GPIO_Init"  Optimizable="true">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef" OptimizationCondition="equal"/>
        <Argument AddressOf="true" GenericType="struct" Name="GPIO_InitStruct" TypeName="LL_GPIO_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="BitwiseOr"/>
            <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="Speed" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OutputType" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="Pull" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="Alternate" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_StructInit">
        <Argument AddressOf="true" GenericType="struct" Name="GPIO_InitStruct" TypeName="LL_GPIO_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Speed" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="OutputType" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Pull" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Alternate" OptimizationCondition="equal" />
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_SetPinMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
        <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_GetPinMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_SetPinOutputType">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OutputType" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_GetPinOutputType">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_SetPinSpeed">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
        <Argument AddressOf="false" GenericType="simple" Name="Speed" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_GetPinSpeed">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_SetPinPull">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
        <Argument AddressOf="false" GenericType="simple" Name="Pull" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_GetPinPull">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_SetAFPin_0_7">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
        <Argument AddressOf="false" GenericType="simple" Name="Alternate" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_GetAFPin_0_7">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_SetAFPin_8_15">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
        <Argument AddressOf="false" GenericType="simple" Name="Alternate" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_GetAFPin_8_15">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Pin" OptimizationCondition="equal" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_LockPin">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_IsPinLocked">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinMask" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_IsAnyPinLocked">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
    </LibMethod>
     <LibMethod Comment="" Name="LL_GPIO_AF_EnableEventout"  Optimizable="true">
    </LibMethod>
    <LibMethod Comment="" Name="LL_GPIO_AF_ConfigEventout">
          <Argument AddressOf="false" GenericType="simple" Name="LL_GPIO_PortSource"/>
        <Argument AddressOf="false" GenericType="simple" Name="LL_GPIO_PinSource" OptimizationCondition="equal"/>
    </LibMethod>
    <!-- -->
 <LibMethod Comment="" Name="LL_GPIO_AF_RemapPartial2_CAN1" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_RemapPartial3_CAN1" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_CAN2" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_ETH" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_I2C1" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_SPI1" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_SPI3" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM1" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_RemapPartial_TIM1" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM10" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM11" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM12" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM13" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM14" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM15" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM16" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM17" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM2" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_RemapPartial1_TIM2" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_RemapPartial2_TIM2" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM3" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_RemapPartial_TIM3" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM4" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_TIM9" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_USART1" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_USART2" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_USART3" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_RemapPartial_USART3" Optimizable="true"/>
 <LibMethod Comment="" Name="LL_GPIO_AF_EnableRemap_PD01" Optimizable="true"/>
    
     <!--EXTI-->
    <LibMethod Comment="" Name="LL_EXTI_Init">
        <Argument AddressOf="true" GenericType="struct" Name="EXTI_InitStruct" TypeName="LL_EXTI_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="Line_0_31" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Line_32_63" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="LineCommand" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Trigger" OptimizationCondition="equal" />
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_EXTI_StructInit">
        <Argument AddressOf="true" GenericType="struct" Name="EXTI_InitStruct" TypeName="LL_EXTI_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="Line_0_31" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Line_32_63" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="LineCommand" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal" />
            <Argument AddressOf="false" GenericType="simple" Name="Trigger" OptimizationCondition="equal" />
        </Argument>
    </LibMethod>


    <RefComponent Cclass="LL" Cgroup="GPIO" Cversion="1.6.0">
        <File Category="header" Name="Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_gpio.h"/>
        <File Category="source" Name="Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_gpio.c"/>
    </RefComponent>
</IP>
