<?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="OPAMP" IncludeFile="stm32g4xx_ll_opamp.h;stm32g4xx_ll_rcc.h" Version="STM32Cube_FW_G4_V1.0.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="OPAMP_Init">
        <IFCondition Expression="$IpInstance_PGA_Connected|$IpInstance_PGA_Not_Connected">
            <CallLibMethod Name="LL_OPAMP_Init">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="FunctionalMode" ParameterName="Mode"/>
                <MethodArg Name="InputNonInverting" ParameterName="NonInvertingInput"/>
                <MethodArg Name="InputInverting" ParameterName="PgaConnect"/>
                
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="!$IpInstance_PGA_Connected &amp; !$IpInstance_PGA_Not_Connected">
            <CallLibMethod Name="LL_OPAMP_Init">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="FunctionalMode" ParameterName="Mode"/>
                <MethodArg Name="InputNonInverting" ParameterName="NonInvertingInput"/>
                <MethodArg Name="InputInverting" ParameterName="InvertingInput"/>
            </CallLibMethod> 
        </IFCondition>
        <!--IFCondition Expression="$IpInstance_PGA_Connected_non_inverting_with_external_bias_or_inverting_mode|$IpInstance_PGA_Connectednon_inverting_with_external_bias_or_inverting_mode_with_filtering">
            <CallLibMethod Name="LL_OPAMP_Init">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="FunctionalMode" ParameterName="Mode"/>
                <MethodArg Name="InputNonInverting" ParameterName="NonInvertingInput"/>
                <MethodArg Name="InputInverting" ParameterName="PgaConnect"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="!$IpInstance_PGA_Connected_non_inverting_with_external_bias_or_inverting_mode &amp; !$IpInstance_PGA_Connectednon_inverting_with_external_bias_or_inverting_mode_with_filtering">
            <CallLibMethod Name="LL_OPAMP_Init">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="FunctionalMode" ParameterName="Mode"/>
                <MethodArg Name="InputNonInverting" ParameterName="NonInvertingInput"/>
                <MethodArg Name="InputInverting" ParameterName="InvertingInput"/>
            </CallLibMethod> 
        </IFCondition-->
        <IFCondition Expression="STM32G4">
            <CallLibMethod Name="LL_OPAMP_SetInputsMuxMode">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="InputsMuxMode" ParameterName="TimerControlledMuxmode"/>
            </CallLibMethod>
        </IFCondition>
            <IFCondition Expression="STM32G4">
            <CallLibMethod Name="LL_OPAMP_SetInternalOutput">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="InternalOutput" ParameterName="InternalOutput"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="STM32G4">
            <CallLibMethod Name="LL_OPAMP_SetInputInvertingSecondary">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="InputInverting" ParameterName="InvertingInputSecondary"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="STM32G4">
            <CallLibMethod Name="LL_OPAMP_SetInputNonInvertingSecondary">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="InputNonInverting" ParameterName="NonInvertingInputSecondary"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="STM32G4">
            <CallLibMethod Name="LL_OPAMP_SetPGAGain">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="PGAGain" ParameterName="PgaGain"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="STM32G4">
            <CallLibMethod Name="LL_OPAMP_SetTrimmingMode">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="TrimmingMode" ParameterName="UserTrimming"/>
            </CallLibMethod>
        </IFCondition>
		
        <IFCondition Expression="(SelfCalibration = Disable &amp; UserTrimming=OPAMP_TRIMMING_USER)">
            <CallLibMethod Name="LL_OPAMP_SetMode">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="Mode" FValue="LL_OPAMP_MODE_CALIBRATION"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="(SelfCalibration = Disable &amp; UserTrimming=OPAMP_TRIMMING_USER)">
            <CallLibMethod Name="LL_OPAMP_SetCalibrationSelection">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="TransistorsDiffPair" FValue="LL_OPAMP_TRIMMING_PMOS"/>
            </CallLibMethod>
        </IFCondition>
        <IFCondition Expression="(SelfCalibration = Disable  &amp; UserTrimming=OPAMP_TRIMMING_USER )">
            <CallLibMethod Name="LL_OPAMP_SetTrimmingValue">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="TransistorsDiffPair" FValue="LL_OPAMP_TRIMMING_PMOS"/>
                <MethodArg Name="TrimmingValue" ParameterName="TrimmingValueP"/>
            </CallLibMethod>
        </IFCondition>
		
		
        <IFCondition Expression="(SelfCalibration = Disable &amp; UserTrimming=OPAMP_TRIMMING_USER)">
            <CallLibMethod Name="LL_OPAMP_SetCalibrationSelection">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="TransistorsDiffPair" FValue="LL_OPAMP_TRIMMING_NMOS"/>
            </CallLibMethod>
        </IFCondition>

        <IFCondition Expression="(SelfCalibration = Disable &amp; UserTrimming=OPAMP_TRIMMING_USER)">
            <CallLibMethod Name="LL_OPAMP_SetTrimmingValue">
                <MethodArg Name="OPAMPx" ParameterName="Instance"/>
                <MethodArg Name="TransistorsDiffPair" FValue="LL_OPAMP_TRIMMING_NMOS"/>
                <MethodArg Name="TrimmingValue" ParameterName="TrimmingValueN"/>
            </CallLibMethod>
        </IFCondition>

    </RefConfig> 
    <RefConfig Name="Opamp_DeInit">
        <CallLibMethod Name="LL_OPAMP_DeInit"/>
    </RefConfig>
	
    <LibMethod Comment="" Name="LL_OPAMP_Init">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
        <Argument AddressOf="true" GenericType="struct" Name="OPAMP_InitStruct" TypeName="LL_OPAMP_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="PowerMode" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="FunctionalMode" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="InputNonInverting" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="InputInverting" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetTrimmingValue">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TransistorsDiffPair" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="TrimmingValue" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetInputsMuxMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef" />
        <Argument AddressOf="false" GenericType="simple" Name="InputsMuxMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetInputInvertingSecondary">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef" />
        <Argument AddressOf="false" GenericType="simple" Name="InputInverting" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetInputNonInvertingSecondary">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef" />
        <Argument AddressOf="false" GenericType="simple" Name="InputNonInverting" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetInternalOutput">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="InternalOutput" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetPGAGain">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="PGAGain" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetCalibrationSelection">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TransistorsDiffPair" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_SetTrimmingMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TrimmingMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="__LL_OPAMP_COMMON_INSTANCE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef" />
    </LibMethod>
    <LibMethod Comment="" Name="LL_OPAMP_DeInit">
        <Argument AddressOf="false" GenericType="baseaddress" Name="OPAMPx" TypeName="OPAMP_TypeDef"/>
    </LibMethod>
    <RefComponent Cclass="LL" Cgroup="OPAMP" Cversion="1.6.0">
        <File Category="header" Name="Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_opamp.h"/>
        <File Category="source" Name="Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_ll_opamp.c"/>
    </RefComponent>
</IP>