<?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" IncludeFile="stm32l4xx_hal.h" Name="GPIO" Version="STM32Cube_FW_L4_V0.0.1" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Configs.xsd">
    <RefConfig Name="GPIO">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="GPIODefaultOutputPP">
        <CallLibMethod Name="HAL_GPIO_WritePin" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="PinState"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultOutputPP"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunction">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunctionHighSpeedDefault">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed_High_Default"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC1">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="__HAL_RI_REMAP_INPUTCAPTURE1" ReturnHAL="false">
            <MethodArg Name="TIMSELECT" ParameterName="Remap_IC_Routing_Interface"/>
            <MethodArg Name="INPUT" ParameterName="Remap_IC_Routing_Number1"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC2">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="__HAL_RI_REMAP_INPUTCAPTURE2" ReturnHAL="false">
            <MethodArg Name="TIMSELECT" ParameterName="Remap_IC_Routing_Interface"/>
            <MethodArg Name="INPUT" ParameterName="Remap_IC_Routing_Number2"/>
        </CallLibMethod>		
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC3">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="__HAL_RI_REMAP_INPUTCAPTURE3" ReturnHAL="false">
            <MethodArg Name="TIMSELECT" ParameterName="Remap_IC_Routing_Interface"/>
            <MethodArg Name="INPUT" ParameterName="Remap_IC_Routing_Number3"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunctionPushPull_RI_Timer_IC4">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="__HAL_RI_REMAP_INPUTCAPTURE4" ReturnHAL="false">
            <MethodArg Name="TIMSELECT" ParameterName="Remap_IC_Routing_Interface"/>
            <MethodArg Name="INPUT" ParameterName="Remap_IC_Routing_Number4"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunctionDefaultPP">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultPP"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="AlternateFunctionDefaultOD">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultOD"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPdOD"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM9"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM8"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM7"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FM6"/>
        </CallLibMethod>
        <CallLibMethod Name="HAL_I2CEx_EnableFastModePlus" ReturnHAL="false">
            <MethodArg Name="Parametre" ParameterName="GPIO_FMA9"/>
        </CallLibMethod>    	
    </RefConfig>
    <RefConfig Name="EXTI">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultEXTI"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>    	
    </RefConfig>
    <RefConfig Name="EXTIRisingFalling">
        <CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
            <MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
            <MethodArg Name="Mode" ParameterName="GPIO_ModeDefaultEXTI_IT_RF"/>
            <MethodArg Name="Pull" ParameterName="GPIO_PuPd"/>
            <MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
            <MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
        </CallLibMethod>    	
    </RefConfig>
    <RefConfig Name="DeInit">
        <CallLibMethod Name="HAL_GPIO_DeInit" ReturnHAL="false"/>
    </RefConfig>
    <LibMethod Comment="" Name="HAL_I2CEx_EnableFastModePlus">
        <Argument Comment="Enbvkh" GenericType="simple" Name="Parametre" OptimizationCondition="equal"/>
    </LibMethod>
    <!-- Added LibMethod from stm32l4xx_hal.h __HAL_RI_REMAP_INPUTCAPTURE1(__TIMSELECT__, __INPUT__) -->
    <LibMethod Comment="" Name="__HAL_RI_REMAP_INPUTCAPTURE1">
        <Argument Comment="timselect" GenericType="simple" Name="TIMSELECT" OptimizationCondition="equal"/>
        <Argument Comment="input" GenericType="simple" Name="INPUT" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="__HAL_RI_REMAP_INPUTCAPTURE2">
        <Argument Comment="timselect" GenericType="simple" Name="TIMSELECT" OptimizationCondition="equal"/>
        <Argument Comment="input" GenericType="simple" Name="INPUT" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="__HAL_RI_REMAP_INPUTCAPTURE3">
        <Argument Comment="timselect" GenericType="simple" Name="TIMSELECT" OptimizationCondition="equal"/>
        <Argument Comment="input" GenericType="simple" Name="INPUT" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="__HAL_RI_REMAP_INPUTCAPTURE4">
        <Argument Comment="timselect" GenericType="simple" Name="TIMSELECT" OptimizationCondition="equal"/>
        <Argument Comment="input" GenericType="simple" Name="INPUT" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="Configure GPIO pin" Name="HAL_GPIO_Init" Optimizable="true">
        <Argument Comment="Port address" GenericType="simple" Name="GPIOx" OptimizationCondition="Equal"/>
        <Argument AddressOf="true" Comment="Configuration parameters" GenericType="struct" Name="GPIO_InitStruct" TypeName="GPIO_InitTypeDef">
            <Argument Comment="Pin mask" GenericType="simple" Name="Pin" OptimizationCondition="BitwiseOr"/>
            <Argument Comment="IO mode" GenericType="simple" Name="Mode" OptimizationCondition="Equal"/>
            <Argument Comment="Pull up/Pull down selection" GenericType="simple" Name="Pull" OptimizationCondition="Equal"/>
            <Argument Comment="Output speed" GenericType="simple" Name="Speed" OptimizationCondition="Equal"/>
            <Argument Comment="Alternate" GenericType="simple" Name="Alternate" OptimizationCondition="Equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="De-initializes the GPIOx peripheral registers to their default reset values." Name="HAL_GPIO_DeInit" Optimizable="true">
        <Argument AddressOf="false" GenericType="simple" Name="GPIOx" OptimizationCondition="Equal" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="GPIO_Pin" OptimizationCondition="BitwiseOr"/>
    </LibMethod>
    <!--test-->
    
   <LibMethod Comment="Configure GPIO pin Output Level" Name="HAL_GPIO_WritePin" Optimizable="true">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" OptimizationCondition="equal" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="GPIO_Pin" OptimizationCondition="BitwiseOr"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinState" OptimizationCondition="equal"/>
    </LibMethod>
    <!--Add Hal GPIO Write Pin-->
    <!-- <LibMethod Comment="" Name="HAL_GPIO_WritePin">
        <Argument AddressOf="false" GenericType="baseaddress" Name="GPIOx" TypeName="GPIO_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="GPIO_Pin" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="PinState" OptimizationCondition="equal"/>
    </LibMethod>-->
    <!--RefComponent Cclass="HAL" Cgroup="GPIO" Cversion="0.0.1">
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h" />
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c" />
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h" />
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c"/> 
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma_ex.h"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h" />	
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c"/>
        <File Category="header" Name="Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h"/>
        <File Category="source" Name="Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c"/>
    </RefComponent-->
</IP>
