<?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="V3.0" IncludeFile="stm32f4xx_hal.h" Name="GPIO" Version="STM32F4xx_v1_0_1_gpio" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu file:///Y:/mcd_swtools_pm/appli_builder/V3/Development/Specification/Database/NewDatabaseProposal/IP_Configs_V3_0.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>
    </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>
	</RefConfig>	
	<RefConfig Name="AlternateFunctionNoPullOrPullUp">
		<CallLibMethod Name="HAL_GPIO_Init" ReturnHAL="false">
			<MethodArg Name="Pin" ParameterName="GPIO_Pin"/>
			<MethodArg Name="Mode" ParameterName="GPIO_Mode"/>
			<MethodArg Name="Pull" ParameterName="GPIO_Pu"/>
			<MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
			<MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
		</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>
	</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_PuPd"/>
			<MethodArg Name="Alternate" ParameterName="GPIO_AF"/>
			<MethodArg Name="Speed" ParameterName="GPIO_Speed"/>
		</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>
	</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>
        <!--Add EXTI Rising Falling-->
         <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>
               <!--Add EXTI Rising Falling-->
 
	<RefConfig Name="DeInit">
		<CallLibMethod Name="HAL_GPIO_DeInit" ReturnHAL="false"/>
	</RefConfig>
	<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>
    <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>
     <!--RefComponent Cclass="HAL" Cgroup="GPIO" Cversion="0.8.0">
		<File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h" />
		<File Category="source" Name="Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c" />
        <File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h" />
		<File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"/>
        <File Category="source" Name="Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c"/>
		<File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h"/>
		<File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h" />
  </RefComponent-->
</IP>
