<?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="stm32f10x.h,stm32f10x_gpio.h,stm32f10x_rcc.h" Name="GPIO" Version="STM32F10x_v3_5_0_gpio" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../db/IP_Configs_V3_0.xsd">
	<RefConfig Name="GPIO">
		<CallLibMethod Name="RCC_APB2PeriphClockCmd" ReturnHAL="false">
	  	<MethodArg Name="RCC_APB2Periph" ParameterName="GPIO_Clock_Enable"/>
	  	<MethodArg Name="NewState" ParameterName="Clock_State"/>
	  </CallLibMethod>
	  <CallLibMethod Name="GPIO_Init" ReturnHAL="false"/>
	</RefConfig>
	<RefConfig Name="AlternateFunction">
		<CallLibMethod Name="RCC_APB2PeriphClockCmd" ReturnHAL="false">
	  	<MethodArg Name="RCC_APB2Periph" ParameterName="GPIO_Clock_Enable"/>
	  	<MethodArg Name="NewState" ParameterName="Clock_State"/>
	  </CallLibMethod>
	  <CallLibMethod Name="GPIO_Init" ReturnHAL="false"/>
	  <CallLibMethod Name="RCC_APB2PeriphClockCmd" ReturnHAL="false">
	  	<MethodArg Name="RCC_APB2Periph" ParameterName="AFIO_Clock_Enable"/>
	  	<MethodArg Name="NewState" ParameterName="Clock_State"/>
	  </CallLibMethod>
	  <CallLibMethod Name="GPIO_PinRemapConfig" ReturnHAL="false">
	  	<MethodArg Name="NewState" ParameterName="Remap_State"/>
	  </CallLibMethod>
	</RefConfig>
	<RefConfig Name="EventOut">
		<CallLibMethod Name="RCC_APB2PeriphClockCmd" ReturnHAL="false">
	  	<MethodArg Name="RCC_APB2Periph" ParameterName="GPIO_Clock_Enable"/>
	  	<MethodArg Name="NewState" ParameterName="Clock_State"/>
	  </CallLibMethod>
	  <CallLibMethod Name="GPIO_Init" ReturnHAL="false"/>
		<CallLibMethod Name="RCC_APB2PeriphClockCmd" ReturnHAL="false">
	  	<MethodArg Name="RCC_APB2Periph" ParameterName="AFIO_Clock_Enable"/>
	  	<MethodArg Name="NewState" ParameterName="Clock_State"/>
	  </CallLibMethod>
	  <CallLibMethod Name="GPIO_EventOutputConfig" ReturnHAL="false"/>
	  <CallLibMethod Name="GPIO_EventOutputCmd" ReturnHAL="false">
			<MethodArg Name="NewState" ParameterName="EventOut_State"/>
	  </CallLibMethod>
	</RefConfig>
	<RefConfig Name="EXTI">
		<CallLibMethod Name="RCC_APB2PeriphClockCmd" ReturnHAL="false">
	  	<MethodArg Name="RCC_APB2Periph" ParameterName="GPIO_Clock_Enable"/>
	  	<MethodArg Name="NewState" ParameterName="Clock_State"/>
	  </CallLibMethod>
	  <CallLibMethod Name="GPIO_Init" ReturnHAL="false"/>
		<CallLibMethod Name="RCC_APB2PeriphClockCmd" ReturnHAL="false">
	  	<MethodArg Name="RCC_APB2Periph" ParameterName="AFIO_Clock_Enable"/>
	  	<MethodArg Name="NewState" ParameterName="Clock_State"/>
	  </CallLibMethod>
	  <CallLibMethod Name="GPIO_EXTILineConfig" ReturnHAL="false"/>
	</RefConfig>
	<LibMethod Comment="Configure GPIO pin" Name="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="GPIO_Pin" OptimizationCondition="BitwiseOr"/>
			<Argument Comment="IO mode" GenericType="simple" Name="GPIO_Mode" OptimizationCondition="Equal"/>
			<Argument Comment="Output speed" GenericType="simple" Name="GPIO_Speed" OptimizationCondition="Equal"/>
		</Argument>
	</LibMethod>
	<LibMethod Comment="Configure peripheral I/O remapping" Name="GPIO_PinRemapConfig" Optimizable="true">
		<Argument Comment="Peripheral I/O remapping selection code" GenericType="simple" Name="GPIO_Remap" OptimizationCondition="Equal"/>
		<Argument Comment="Default mapping or specified remapping selection" GenericType="simple" Name="NewState" OptimizationCondition="Equal"/>
	</LibMethod>
	<LibMethod Comment="Select GPIO pin to be used to output EventOut signal" Name="GPIO_EventOutputConfig">
		<Argument Comment="GPIO port to be used to output EventOut signal" GenericType="simple" Name="GPIO_PortSource"/>
		<Argument Comment="GPIO pin to be used to output EventOut signal" GenericType="simple" Name="GPIO_PinSource"/>
	</LibMethod>
	<LibMethod Comment="Enable or disable EventOut output" Name="GPIO_EventOutputCmd">
		<Argument Comment="EventOut output state" GenericType="simple" Name="NewState"/>
	</LibMethod>
	<LibMethod Comment="Configure EXTI line" Name="GPIO_EXTILineConfig">
		<Argument Comment="Port number" GenericType="simple" Name="GPIO_PortSource"/>
		<Argument Comment="Pin number" GenericType="simple" Name="GPIO_PinSource"/>
	</LibMethod>
	<LibMethod Comment="Enable or disable APB2 peripheral clock" Name="RCC_APB2PeriphClockCmd" Optimizable="true">
    <Argument Comment="APB2 peripheral clock enable mask" GenericType="simple" Name="RCC_APB2Periph" OptimizationCondition="BitwiseOr"/>
    <Argument Comment="Clock state" GenericType="simple" Name="NewState" OptimizationCondition="Equal"/>
  </LibMethod>
</IP>
