<?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_F3_V1.6.0" IncludeFile="stm32f3xx_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>
       <!--
       <CallLibMethod Name="templates/ll_dma_configtransfer.ftl" Type="Template"/>
       -->
      <IFCondition Expression ="(DMA_Remap=HAL_REMAPDMA_ADC2_DMA1_CH4)|(DMA_Remap=HAL_REMAPDMA_ADC24_DMA2_CH34)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_ADC">
               <MethodArg Name="ADC_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
      <IFCondition Expression ="(DMARequest_DAC1_CH1&amp;(DMA_Remap=HAL_REMAPDMA_TIM6_DAC1_CH1_DMA1_CH3))|(DMARequest_DAC1_CH2&amp;(DMA_Remap=HAL_REMAPDMA_TIM7_DAC1_CH2_DMA1_CH4))|(DMARequest_DAC2_CH1&amp;(DMA_Remap=HAL_REMAPDMA_TIM18_DAC2_CH1_DMA1_CH5))|(DMA_Remap=HAL_REMAPDMA_DAC2_CH1_DMA1_CH5)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_DAC">
               <MethodArg Name="DAC_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
      <IFCondition Expression ="(DMA_Remap=HAL_REMAPDMA_I2C1_RX_DMA1_CH3)|(DMA_Remap=HAL_REMAPDMA_I2C1_RX_DMA1_CH5)|(DMA_Remap=HAL_REMAPDMA_I2C1_TX_DMA1_CH2)|(DMA_Remap=HAL_REMAPDMA_I2C1_TX_DMA1_CH4)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_I2C">
               <MethodArg Name="I2C_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
      <IFCondition Expression ="(DMA_Remap=HAL_REMAPDMA_SPI1_RX_DMA1_CH4)|(DMA_Remap=HAL_REMAPDMA_SPI1_RX_DMA1_CH6)|(DMA_Remap=HAL_REMAPDMA_SPI1_TX_DMA1_CH5)|(DMA_Remap=HAL_REMAPDMA_SPI1_TX_DMA1_CH7)">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_SPI">
               <MethodArg Name="SPI_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
      <IFCondition Expression ="(DMARequest_TIM6_UP&amp;(DMA_Remap=HAL_REMAPDMA_TIM6_DAC1_CH1_DMA1_CH3))|(DMARequest_TIM7_UP&amp;(DMA_Remap=HAL_REMAPDMA_TIM7_DAC1_CH2_DMA1_CH4))|(DMA_Remap=HAL_REMAPDMA_TIM16_DMA1_CH6)|(DMA_Remap=HAL_REMAPDMA_TIM17_DMA1_CH7)|(DMARequest_TIM18_UP&amp;(DMA_Remap=HAL_REMAPDMA_TIM18_DAC2_CH1_DMA1_CH5))">
           <CallLibMethod Name="LL_SYSCFG_SetRemapDMA_TIM">
               <MethodArg Name="TIM_Remap" ParameterName="DMA_Remap"/>
           </CallLibMethod>
       </IFCondition>
    </RefConfig>

    <RefComponent Cclass="HAL" Cgroup="DMA" Cversion="1.6.0">
        <File Category="header" Name="Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_ll_dma.h"/>
        <File Category="source" Name="Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_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 DAC" Name="LL_SYSCFG_SetRemapDMA_DAC">
        <Argument AddressOf="false" GenericType="simple" Name="DAC_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>

 </IP>
