<?xml version="1.0" encoding="utf-8" standalone="no"?>
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" DBVersion="V4.0" Name="DMA" Version="STM32Cube_FW_F0_V1.8.0" IncludeFile="stm32f0xx_ll_dma.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 Name="HAL_DMA_Init">
       <CallLibMethod Name="LL_DMA_SetDataTransferDirection">
           <MethodArg Name="DMAx" ParameterName="Instance"/>
           <MethodArg Name="Channel" ParameterName="Instance"/>
       </CallLibMethod>
       <CallLibMethod Name="LL_DMA_SetChannelPriorityLevel">
           <MethodArg Name="DMAx" ParameterName="Instance"/>
           <MethodArg Name="Channel" ParameterName="Instance"/>
       </CallLibMethod>
       <CallLibMethod Name="LL_DMA_SetMode">
           <MethodArg Name="DMAx" ParameterName="Instance"/>
           <MethodArg Name="Channel" ParameterName="Instance"/>
       </CallLibMethod>
       <CallLibMethod Name="LL_DMA_SetPeriphIncMode">
           <MethodArg Name="DMAx" ParameterName="Instance"/>
           <MethodArg Name="Channel" ParameterName="Instance"/>
           <MethodArg Name="PeriphOrM2MSrcIncMode" ParameterName="PeriphInc"/>
       </CallLibMethod>
       <CallLibMethod Name="LL_DMA_SetMemoryIncMode">
           <MethodArg Name="DMAx" ParameterName="Instance"/>
           <MethodArg Name="Channel" ParameterName="Instance"/>
           <MethodArg Name="MemoryOrM2MDstIncMode" ParameterName="MemInc"/>
       </CallLibMethod>
       <CallLibMethod Name="LL_DMA_SetPeriphSize">
           <MethodArg Name="DMAx" ParameterName="Instance"/>
           <MethodArg Name="Channel" ParameterName="Instance"/>
           <MethodArg Name="PeriphOrM2MSrcDataSize" ParameterName="PeriphDataAlignment"/>
       </CallLibMethod>
       <CallLibMethod Name="LL_DMA_SetMemorySize">
           <MethodArg Name="DMAx" ParameterName="Instance"/>
           <MethodArg Name="Channel" ParameterName="Instance"/>
           <MethodArg Name="MemoryOrM2MDstDataSize" ParameterName="MemDataAlignment"/>
       </CallLibMethod>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_ADC_DMA_CH2)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_ADC">
               <MethodArg Name="ADC_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_I2C1_DMA_CH76)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_I2C">
               <MethodArg Name="I2C_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_SPI2_DMA_CH67)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_SPI">
               <MethodArg Name="SPI_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_TIM1_DMA_CH6)|(DMA_Remap=DMA_REMAP_TIM2_DMA_CH7)|(DMA_Remap=DMA_REMAP_TIM3_DMA_CH6)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_TIM">
               <MethodArg Name="TIM_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_TIM16_DMA_CH4)|(DMA_Remap=DMA_REMAP_TIM16_DMA_CH6)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_TIM">
               <MethodArg Name="TIM_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_TIM17_DMA_CH2)|(DMA_Remap=DMA_REMAP_TIM17_DMA_CH7)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_TIM">
               <MethodArg Name="TIM_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_USART1_RX_DMA_CH5)|(DMA_Remap=DMA_REMAP_USART1_TX_DMA_CH4)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_USART">
               <MethodArg Name="USART_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <IFCondition Expression ="(DMA_Remap=DMA_REMAP_USART2_DMA_CH67)|(DMA_Remap=DMA_REMAP_USART3_DMA_CH32)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_USART">
               <MethodArg Name="USART_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
       <!--
       <CallLibMethod Name="templates/ll_dma_configtransfer.ftl" Type="Template"/>
       -->
    </RefConfig>

    <RefComponent Cclass="HAL" Cgroup="DMA" Cversion="1.8.0">
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h"/>
        <File Category="header" Name="Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h"/>
        <File Category="source" Name="Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c"/>
    </RefComponent>

    <LibMethod Comment="Set transfer direction" Name="LL_DMA_SetDataTransferDirection">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DMAx" TypeName="DMA_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Channel"/>
        <Argument AddressOf="false" GenericType="simple" Name="Direction"/>
    </LibMethod>

    <LibMethod Comment="Set priority level" Name="LL_DMA_SetChannelPriorityLevel">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DMAx" TypeName="DMA_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Channel"/>
        <Argument AddressOf="false" GenericType="simple" Name="Priority"/>
    </LibMethod>

    <LibMethod Comment="Set DMA mode" Name="LL_DMA_SetMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DMAx" TypeName="DMA_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Channel"/>
        <Argument AddressOf="false" GenericType="simple" Name="Mode"/>
    </LibMethod>

    <LibMethod Comment="Set peripheral increment mode" Name="LL_DMA_SetPeriphIncMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DMAx" TypeName="DMA_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Channel"/>
        <Argument AddressOf="false" GenericType="simple" Name="PeriphOrM2MSrcIncMode"/>
    </LibMethod>

    <LibMethod Comment="Set memory increment mode" Name="LL_DMA_SetMemoryIncMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DMAx" TypeName="DMA_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Channel"/>
        <Argument AddressOf="false" GenericType="simple" Name="MemoryOrM2MDstIncMode"/>
    </LibMethod>

    <LibMethod Comment="Set peripheral data width" Name="LL_DMA_SetPeriphSize">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DMAx" TypeName="DMA_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Channel"/>
        <Argument AddressOf="false" GenericType="simple" Name="PeriphOrM2MSrcDataSize"/>
    </LibMethod>

    <LibMethod Comment="Set memory data width" Name="LL_DMA_SetMemorySize">
        <Argument AddressOf="false" GenericType="baseaddress" Name="DMAx" TypeName="DMA_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Channel"/>
        <Argument AddressOf="false" GenericType="simple" Name="MemoryOrM2MDstDataSize"/>
    </LibMethod>

    <LibMethod Comment="Set DMA request remapping bits for ADC" Name="LL_SYSCFG_SetRemapDMA_ADC">
        <Argument AddressOf="false" GenericType="simple" Name="ADC_Remap"/>
    </LibMethod>

    <LibMethod Comment="Set DMA request remapping bits for I2C" Name="LL_SYSCFG_SetRemapDMA_I2C">
        <Argument AddressOf="false" GenericType="simple" Name="I2C_Remap"/>
    </LibMethod>

    <LibMethod Comment="Set DMA request remapping bits for SPI" Name="LL_SYSCFG_SetRemapDMA_SPI">
        <Argument AddressOf="false" GenericType="simple" Name="SPI_Remap"/>
    </LibMethod>

    <LibMethod Comment="Set DMA request remapping bits for TIM" Name="LL_SYSCFG_SetRemapDMA_TIM">
        <Argument AddressOf="false" GenericType="simple" Name="TIM_Remap"/>
    </LibMethod>

    <LibMethod Comment="Set DMA request remapping bits for USART" Name="LL_SYSCFG_SetRemapDMA_USART">
        <Argument AddressOf="false" GenericType="simple" Name="USART_Remap"/>
    </LibMethod>

 </IP>
