<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" DBVersion="V4.0"  IncludeFile="stm32f0xx_ll_i2c.h" Name="I2C" Version="STM32Cube_FW_F0_V1.8.0RC1"
    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="I2C"  Comment="I2C Initialization">
    <IFCondition Expression="(NoStretchMode =I2C_NOSTRETCH_ENABLE)">
            <CallLibMethod  Name="LL_I2C_DisableClockStretching">
                <MethodArg  Name="I2Cx"  ParameterName="Instance"/>
            </CallLibMethod>
         
    </IFCondition>
                  <IFCondition Expression="(DualAddressMode =I2C_DUALADDRESS_DISABLE )">

            <CallLibMethod  Name="LL_I2C_DisableOwnAddress2">
                <MethodArg Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition >
        <IFCondition Expression="(DualAddressMode =I2C_DUALADDRESS_ENABLE )">

            <CallLibMethod Name="LL_I2C_EnableOwnAddress2">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="(GeneralCallMode=I2C_GENERALCALL_ENABLE)">

            <CallLibMethod  Name="LL_I2C_EnableGeneralCall">
                <MethodArg Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="(GeneralCallMode=I2C_GENERALCALL_DISABLE )">

            <CallLibMethod  Name="LL_I2C_DisableGeneralCall">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
        
        <IFCondition Expression="(NoStretchMode =I2C_NOSTRETCH_DISABLE )">
            <CallLibMethod  Name="LL_I2C_EnableClockStretching">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
            
        </IFCondition>
    <IFCondition Expression="1=1">  
        <CallLibMethod  Name="LL_I2C_Init" IPInitMethod="False">
        <MethodArg Name="PeripheralMode" FValue="LL_I2C_MODE_I2C" />
         <MethodArg Name="I2Cx" ParameterName="Instance" />
         <MethodArg  Name="Timing" ParameterName="Timing"/>
         <MethodArg  Name="AnalogFilter" ParameterName="Analog_Filter"/>
         <MethodArg  Name="DigitalFilter" ParameterName="I2C_Coeff_DF"/>
         <MethodArg  Name="OwnAddress1" ParameterName="OwnAddress1"/>
          <MethodArg  Name="TypeAcknowledge"  FValue="LL_I2C_ACK"/>
          <MethodArg  Name="OwnAddrSize" ParameterName="AddressingMode"/>
    </CallLibMethod>
    </IFCondition>
     <IFCondition Expression="1=1">
    <CallLibMethod Name="LL_I2C_EnableAutoEndMode">
            <MethodArg Name="I2Cx" ParameterName="Instance" />
    </CallLibMethod>
      </IFCondition> 
     
       
  
        <IFCondition Expression="1=1">
        <CallLibMethod  Name="LL_I2C_SetOwnAddress2">
            <MethodArg  Name="I2Cx" ParameterName="Instance" />
            <MethodArg  Name="OwnAddress2" ParameterName="OwnAddress22" />
            <MethodArg  Name="OwnAddrMask" ParameterName="OwnAddress2Masks" />
        </CallLibMethod>
        </IFCondition>

        
        <IFCondition Expression="(AddressingMode = I2C_ADDRESSINGMODE_10BIT )">
            <CallLibMethod  Name="LL_I2C_SetMasterAddressingMode">
                <MethodArg Name="I2Cx" ParameterName="Instance" />
                <MethodArg Name="AddressingMode" ParameterName="AddressingMode" />
            </CallLibMethod>
        </IFCondition>
      

    </RefConfig>
    
    <RefConfig Name="I2C_DeInit">
        <CallLibMethod Name="LL_I2C_DeInit"/>
    </RefConfig>
    
<!--    <RefConfig Comment="I2C Fast mode Plus enable" Name="FASTMODE_Config">
        <CallLibMethod Name="LL_SYSCFG_EnableFastModePlus" >
            <MethodArg Name="Parametre" ParameterName="FASTMODEPLUS"/>
        </CallLibMethod>
    </RefConfig>-->
    <!--SMBUS Config-->
    <RefConfig  Comment="SMBUS Configuration" Name="SMBus_init">
   <IFCondition Expression="(SMBusNoStretchMode =SMBUS_NOSTRETCH_ENABLE)">
            <CallLibMethod  Name="LL_I2C_DisableClockStretching">
                <MethodArg  Name="I2Cx"  ParameterName="Instance"/>
            </CallLibMethod>
         
        </IFCondition>
         <CallLibMethod  Name="LL_I2C_EnableAutoEndMode">
            <MethodArg Name="I2Cx" ParameterName="Instance" />
        </CallLibMethod>
               <IFCondition Expression="(SMBusGeneralCallMode=SMBUS_GENERALCALL_ENABLE)">

            <CallLibMethod  Name="LL_I2C_EnableGeneralCall">
                <MethodArg Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="(SMBusGeneralCallMode=SMBUS_GENERALCALL_DISABLE )">

            <CallLibMethod  Name="LL_I2C_DisableGeneralCall">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
             <IFCondition Expression="(SMBusDualAddressMode =SMBUS_DUALADDRESS_DISABLE )">

            <CallLibMethod  Name="LL_I2C_DisableOwnAddress2">
                <MethodArg Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition >
        <IFCondition Expression="(SMBusDualAddressMode=SMBUS_DUALADDRESS_ENABLE )">

            <CallLibMethod Name="LL_I2C_EnableOwnAddress2">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="(SMBusNoStretchMode =SMBUS_NOSTRETCH_DISABLE )">
            <CallLibMethod  Name="LL_I2C_EnableClockStretching">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
           
        </IFCondition>
        
         <IFCondition Expression="1=1">
        <CallLibMethod Name="LL_I2C_Init">
         <MethodArg Name="I2Cx" ParameterName="Instance" />
         <MethodArg  Name="PeripheralMode" ParameterName="SMBusPeripheralMode"/>
         <MethodArg  Name="Timing" ParameterName="Timing"/>
         <MethodArg  Name="AnalogFilter" ParameterName="SMBusAnalogFilter"/>
         <MethodArg  Name="DigitalFilter" ParameterName="I2C_Coeff_DF"/>
         <MethodArg  Name="OwnAddress1" ParameterName="SMBusOwnAddress1"/>
          <MethodArg  Name="TypeAcknowledge" ParameterName="TypeAcknowledge"/>
          <MethodArg  Name="OwnAddrSize" ParameterName="SMBusAddressingMode"/>  
    </CallLibMethod>
        </IFCondition>   
 
       
      
      

        
        <CallLibMethod  Name="LL_I2C_SetOwnAddress2">
            <MethodArg  Name="I2Cx" ParameterName="Instance" />
            <MethodArg  Name="OwnAddress2" ParameterName="SMBusOwnAddress22" />
            <MethodArg  Name="OwnAddrMask" ParameterName="SMBusOwnAddress2Masks" />
        </CallLibMethod>
 
        
        <IFCondition Expression="(SMBusPacketErrorCheckMode =SMBUS_PEC_ENABLE )">
            <CallLibMethod  Name="LL_I2C_EnableSMBusPEC">
                <MethodArg  Name="I2Cx"  ParameterName="Instance" />
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="(SMBusPacketErrorCheckMode =SMBUS_PEC_DISABLE)">   
            <CallLibMethod Name="LL_I2C_DisableSMBusPEC">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
     
        
        <CallLibMethod Name="LL_I2C_EnableSMBusTimeout">
            <MethodArg Name="I2Cx" ParameterName="Instance"/>
            <MethodArg Name="ClockTimeout" ParameterName= "Timeout" />
        </CallLibMethod>
        
        <IFCondition Expression="(SMBusAddressingMode = SMBUS_ADDRESSINGMODE_10BIT )">
            <CallLibMethod  Name="LL_I2C_SetMasterAddressingMode">
                <MethodArg Name="I2Cx" ParameterName="Instance" />
                <MethodArg Name="AddressingMode" ParameterName="SMBusAddressingMode" />
            </CallLibMethod>
        </IFCondition>
        
        <IFCondition Expression="(TIDLE=SMBUS_TIDLE_ENABLED)">
            <CallLibMethod  Name="LL_I2C_IsActiveSMBusFlag_TIMEOUT">
                <MethodArg Name="I2Cx" ParameterName="Instance" />
            </CallLibMethod>  
        </IFCondition>

      <!--  <IFCondition Expression="(SMBusOwnAddress1 > 0 )">
            <CallLibMethod  Name="LL_I2C_EnableOwnAddress1">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>-->
        
        <IFCondition Expression="(SMBusPacketErrorCheckMode =SMBUS_PEC_ENABLE) &amp; ((SMBusPeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE)|(SMBusPeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE_ARP))">
            <CallLibMethod Name="LL_I2C_EnableSlaveByteControl">
                <MethodArg Name="I2Cx" ParameterName="Instance" />
            </CallLibMethod>
        </IFCondition>
      <!--  <IFCondition Expression=" (SMBusAnalogFilter=SMBUS_ANALOGFILTER_ENABLE )">
            <CallLibMethod Name="LL_I2C_EnableAnalogFilter">
                <MethodArg Name="I2Cx" ParameterName="Instance"/>		
            </CallLibMethod>
        </IFCondition>

        <IFCondition Expression="(SMBusAnalogFilter=SMBUS_ANALOGFILTER_DISABLE)">
            <CallLibMethod Name="LL_I2C_DisableAnalogFilter">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>-->
        <!--  <IFCondition Expression="(1=1 )">
            <CallLibMethod Name="LL_I2C_Enable">
                <MethodArg  Name="I2Cx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>-->

    </RefConfig>
 
 
    <RefConfig Comment="configuration Alert Mode" Name="SMBus_alert">         
        <CallLibMethod Name="LL_I2C_EnableSMBusAlert">
            <MethodArg Name="I2Cx" ParameterName="Instance" />
        </CallLibMethod>                                      
        <CallLibMethod  Name="LL_I2C_EnableIT_ERR">
            <MethodArg Name="I2Cx" ParameterName="Instance"/>
        </CallLibMethod>				
    </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_I2C_Enable">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_Disable">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabled">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ConfigFilters">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="AnalogFilter" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="DigitalFilter" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetDigitalFilter">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DigitalFilter" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetDigitalFilter">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableAnalogFilter">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableAnalogFilter">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledAnalogFilter">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableDMAReq_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableDMAReq_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledDMAReq_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableDMAReq_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableDMAReq_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledDMAReq_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DMA_GetRegAddr">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Direction" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableClockStretching">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableClockStretching">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledClockStretching">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableSlaveByteControl">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableSlaveByteControl">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledSlaveByteControl">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableGeneralCall">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableGeneralCall">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledGeneralCall">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetMasterAddressingMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="AddressingMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetMasterAddressingMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetOwnAddress1">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="OwnAddress1" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OwnAddrSize" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableOwnAddress1">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableOwnAddress1">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledOwnAddress1">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetOwnAddress2">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="OwnAddress2" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OwnAddrMask" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableOwnAddress2">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableOwnAddress2">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledOwnAddress2">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetTiming">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Timing" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetTimingPrescaler">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetClockLowPeriod">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetClockHighPeriod">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetDataHoldTime">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetDataSetupTime">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PeripheralMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableSMBusAlert">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableSMBusAlert">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledSMBusAlert">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableSMBusPEC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableSMBusPEC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledSMBusPEC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ConfigSMBusTimeout">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TimeoutA" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="TimeoutAMode" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="TimeoutB" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetSMBusTimeoutA">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TimeoutA" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetSMBusTimeoutA">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetSMBusTimeoutAMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TimeoutAMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetSMBusTimeoutAMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetSMBusTimeoutB">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TimeoutB" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetSMBusTimeoutB">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableSMBusTimeout">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="ClockTimeout" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableSMBusTimeout">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="ClockTimeout" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledSMBusTimeout">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="ClockTimeout" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableAutoEndMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableAutoEndMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledAutoEndMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableReloadMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableReloadMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledReloadMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetTransferSize">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TransferSize" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetTransferSize">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_AcknowledgeNextData">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TypeAcknowledge" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GenerateStartCondition">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GenerateStopCondition">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableAuto10BitRead">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableAuto10BitRead">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledAuto10BitRead">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetTransferRequest">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TransferRequest" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetTransferRequest">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_SetSlaveAddr">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="SlaveAddr" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetSlaveAddr">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_HandleTransfer">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="SlaveAddr" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="SlaveAddrSize" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="TransferSize" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="EndMode" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Request" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetTransferDirection">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetAddressMatchCode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableSMBusPECCompare">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledSMBusPECCompare">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_GetSMBusPEC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ReceiveData8">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_TransmitData8">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Data" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_TXE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_TXIS">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_RXNE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_ADDR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_NACK">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_STOP">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_TC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_TCR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_BERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_ARLO">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_OVR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveSMBusFlag_PECERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveSMBusFlag_TIMEOUT">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveSMBusFlag_ALERT">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsActiveFlag_BUSY">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearFlag_ADDR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearFlag_NACK">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearFlag_STOP">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearFlag_TXE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearFlag_BERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearFlag_ARLO">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearFlag_OVR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearSMBusFlag_PECERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearSMBusFlag_TIMEOUT">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_ClearSMBusFlag_ALERT">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_Init">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
        <Argument AddressOf="true" GenericType="struct" Name="I2C_InitStruct" TypeName="LL_I2C_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="PeripheralMode" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="Timing" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="AnalogFilter" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="DigitalFilter" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OwnAddress1" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="TypeAcknowledge" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OwnAddrSize" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DeInit">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_StructInit">
        <Argument AddressOf="true" GenericType="struct" Name="I2C_InitStruct" TypeName="LL_I2C_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="PeripheralMode" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="Timing" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="AnalogFilter" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="DigitalFilter" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OwnAddress1" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="TypeAcknowledge" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OwnAddrSize" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableIT_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableIT_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledIT_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableIT_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableIT_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledIT_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableIT_ADDR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableIT_ADDR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledIT_ADDR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableIT_NACK">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableIT_NACK">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledIT_NACK">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableIT_STOP">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableIT_STOP">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledIT_STOP">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableIT_TC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableIT_TC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledIT_TC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_EnableIT_ERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_DisableIT_ERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_I2C_IsEnabledIT_ERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="I2Cx" TypeName="I2C_TypeDef"/>
    </LibMethod>
    <RefComponent Cclass="LL" Cgroup="I2C" Cversion="1.8.0RC1">
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_i2c.h"/>
        <File Category="source" Name="Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c"/>
    </RefComponent>
</IP>
