<?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="DAC" Version="STM32Cube_FW_H7_V1.6.0" IncludeFile="stm32h7xx_ll_dac.h" 
    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 Comment="DAC channel OUT1 config" Name="DAC_ChannelConfig1">
       <IFCondition Expression="WaveGeneration=DISABLE">
        <CallLibMethod Name="LL_DAC_Init">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="TriggerSource" ParameterName="DAC_Trigger"/>
           <MethodArg Name="WaveAutoGeneration" ParameterName="WaveGeneration"/>
           <MethodArg Name="OutputBuffer" ParameterName="DAC_OutputBuffer"/>
           <MethodArg Name="OutputConnection" ParameterName="DAC_ConnectOnChipPeripheral1"/>
           <MethodArg Name="OutputMode" ParameterName="DAC_SampleAndHold"/>
         </CallLibMethod>
       </IFCondition>
        <IFCondition Expression="WaveGeneration=NoiseWaveGeneration">
        <CallLibMethod Name="LL_DAC_Init">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="TriggerSource" ParameterName="DAC_Trigger"/>
           <MethodArg Name="WaveAutoGeneration" ParameterName="WaveGeneration"/>
           <MethodArg Name="WaveAutoGenerationConfig" ParameterName="NoiseAmplitude"/>
           <MethodArg Name="OutputBuffer" ParameterName="DAC_OutputBuffer"/>
           <MethodArg Name="OutputConnection" ParameterName="DAC_ConnectOnChipPeripheral1"/>
           <MethodArg Name="OutputMode" ParameterName="DAC_SampleAndHold"/>
         </CallLibMethod>
       </IFCondition>
       
        <IFCondition Expression="WaveGeneration=TriangleWaveGeneration">
        <CallLibMethod Name="LL_DAC_Init">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="TriggerSource" ParameterName="DAC_Trigger"/>
           <MethodArg Name="WaveAutoGeneration" ParameterName="WaveGeneration"/>
           <MethodArg Name="WaveAutoGenerationConfig" ParameterName="TriangleAmplitude"/>
           <MethodArg Name="OutputBuffer" ParameterName="DAC_OutputBuffer"/>
           <MethodArg Name="OutputConnection" ParameterName="DAC_ConnectOnChipPeripheral1"/>
           <MethodArg Name="OutputMode" ParameterName="DAC_SampleAndHold"/>
         </CallLibMethod>
       </IFCondition>
       
       <IFCondition Expression="DAC_Trigger=DAC_TRIGGER_NONE">
        <CallLibMethod Name="LL_DAC_DisableTrigger">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
        </CallLibMethod>
       </IFCondition>
       
        <IFCondition Expression="!(DAC_Trigger=DAC_TRIGGER_NONE)">
        <CallLibMethod Name="LL_DAC_EnableTrigger">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
        </CallLibMethod>
       </IFCondition>
       
       <IFCondition Expression="DAC_SampleAndHold=DAC_SAMPLEANDHOLD_ENABLE">
         <CallLibMethod Name="LL_DAC_SetSampleAndHoldSampleTime"> 
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="SampleTime" ParameterName="DAC_SampleTime"/>
         </CallLibMethod>
         
         <CallLibMethod Name="LL_DAC_SetSampleAndHoldHoldTime">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="HoldTime" ParameterName="DAC_HoldTime"/>
         </CallLibMethod>
         
         <CallLibMethod Name="LL_DAC_SetSampleAndHoldRefreshTime">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/> 
           <MethodArg Name="RefreshTime" ParameterName="DAC_RefreshTime"/>
         </CallLibMethod>
        
       </IFCondition>
       
       <IFCondition Expression="DAC_UserTrimming=DAC_TRIMMING_USER">
        <CallLibMethod Name="LL_DAC_SetTrimmingValue">
         <MethodArg Name="DACx" ParameterName="Instance"/>
         <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
         <MethodArg Name="TrimmingValue" ParameterName="DAC_TrimmingValue"/>
        </CallLibMethod>
       </IFCondition>
    </RefConfig> 
    
    <RefConfig Comment="DAC channel OUT2 config" Name="DAC_ChannelConfig2">
    
    <IFCondition Expression="WaveGeneration=DISABLE">
        <CallLibMethod Name="LL_DAC_Init">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="TriggerSource" ParameterName="DAC_Trigger"/>
           <MethodArg Name="WaveAutoGeneration" ParameterName="WaveGeneration"/>
           <MethodArg Name="OutputBuffer" ParameterName="DAC_OutputBuffer"/>
           <MethodArg Name="OutputConnection" ParameterName="DAC_ConnectOnChipPeripheral2"/>
           <MethodArg Name="OutputMode" ParameterName="DAC_SampleAndHold"/>
         </CallLibMethod>
       </IFCondition>
       
        <IFCondition Expression="WaveGeneration=NoiseWaveGeneration">
        <CallLibMethod Name="LL_DAC_Init">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="TriggerSource" ParameterName="DAC_Trigger"/>
           <MethodArg Name="WaveAutoGeneration" ParameterName="WaveGeneration"/>
           <MethodArg Name="WaveAutoGenerationConfig" ParameterName="NoiseAmplitude"/>
           <MethodArg Name="OutputBuffer" ParameterName="DAC_OutputBuffer"/>
           <MethodArg Name="OutputConnection" ParameterName="DAC_ConnectOnChipPeripheral2"/>
           <MethodArg Name="OutputMode" ParameterName="DAC_SampleAndHold"/>
         </CallLibMethod>
       </IFCondition>
       
        <IFCondition Expression="WaveGeneration=TriangleWaveGeneration">
        <CallLibMethod Name="LL_DAC_Init">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="TriggerSource" ParameterName="DAC_Trigger"/>
           <MethodArg Name="WaveAutoGeneration" ParameterName="WaveGeneration"/>
           <MethodArg Name="WaveAutoGenerationConfig" ParameterName="TriangleAmplitude"/>
           <MethodArg Name="OutputBuffer" ParameterName="DAC_OutputBuffer"/>
           <MethodArg Name="OutputConnection" ParameterName="DAC_ConnectOnChipPeripheral2"/>
           <MethodArg Name="OutputMode" ParameterName="DAC_SampleAndHold"/>
         </CallLibMethod>
       </IFCondition>
       
       <IFCondition Expression="DAC_Trigger=DAC_TRIGGER_NONE">
        <CallLibMethod Name="LL_DAC_DisableTrigger">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
        </CallLibMethod>
       </IFCondition>
       
        <IFCondition Expression="!(DAC_Trigger=DAC_TRIGGER_NONE)">
        <CallLibMethod Name="LL_DAC_EnableTrigger">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
        </CallLibMethod>
       </IFCondition>
       
       <IFCondition Expression="DAC_SampleAndHold=DAC_SAMPLEANDHOLD_ENABLE">
         <CallLibMethod Name="LL_DAC_SetSampleAndHoldSampleTime"> 
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="SampleTime" ParameterName="DAC_SampleTime"/>
         </CallLibMethod>
         
         <CallLibMethod Name="LL_DAC_SetSampleAndHoldHoldTime">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
           <MethodArg Name="HoldTime" ParameterName="DAC_HoldTime"/>
         </CallLibMethod>
         
         <CallLibMethod Name="LL_DAC_SetSampleAndHoldRefreshTime">
           <MethodArg Name="DACx" ParameterName="Instance"/>
           <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/> 
           <MethodArg Name="RefreshTime" ParameterName="DAC_RefreshTime"/>
         </CallLibMethod>
        
       </IFCondition>
       
       <IFCondition Expression="DAC_UserTrimming=DAC_TRIMMING_USER">
        <CallLibMethod Name="LL_DAC_SetTrimmingValue">
         <MethodArg Name="DACx" ParameterName="Instance"/>
         <MethodArg Name="DAC_Channel" ParameterName="DAC_Channel"/>
         <MethodArg Name="TrimmingValue" ParameterName="DAC_TrimmingValue"/>
        </CallLibMethod>
       </IFCondition>
      
    </RefConfig>
    
    <RefConfig Comment="DAC Initialization" Name="DAC_Init"/> 
    <RefConfig Comment="Configure Triangle wave generation on DAC OUT1" Name="DAC_TriangleWaveGenerate1"/> 
    <RefConfig Comment="Configure Noise wave generation on DAC OUT1" Name="DAC_NoiseWaveGenerate1"/> 
    <RefConfig Comment="Configure Triangle wave generation on DAC OUT2" Name="DAC_TriangleWaveGenerate2"/>   
    <RefConfig Comment="Configure Noise wave generation on DAC OUT2" Name="DAC_NoiseWaveGenerate2"/>
   
   
   
    <LibMethod Comment="" Name="LL_DAC_SetMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="ChannelMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetTrimmingValue">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="TrimmingValue" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetTriggerSource">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="TriggerSource" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetWaveAutoGeneration">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="WaveAutoGeneration" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetWaveNoiseLFSR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="NoiseLFSRMask" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetWaveTriangleAmplitude">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="TriangleAmplitude" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_ConfigOutput">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OutputMode" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OutputBuffer" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OutputConnection" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetOutputMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OutputMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetOutputBuffer">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OutputBuffer" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetOutputConnection">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="OutputConnection" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetSampleAndHoldSampleTime">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="SampleTime" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetSampleAndHoldHoldTime">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="HoldTime" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetSampleAndHoldRefreshTime">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="RefreshTime" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_SetWaveMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="WaveMode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_Init">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
        <Argument AddressOf="true" GenericType="struct" Name="DAC_InitStruct" TypeName="LL_DAC_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="TriggerSource" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="WaveAutoGeneration" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="WaveAutoGenerationConfig" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OutputBuffer" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OutputConnection" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="OutputMode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_Enable">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_Disable">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_EnableTrigger">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_DisableTrigger">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_DAC_TrigSWConversion">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DACx" TypeName="DAC_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DAC_Channel" OptimizationCondition="equal"/>
    </LibMethod>
    
    <RefComponent Cclass="LL" Cgroup="DAC" Cversion="1.5.0">
        <File Category="header" Name="Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dac.h"/>
        <File Category="source" Name="Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_dac.c"/>
    </RefComponent>
</IP>
