﻿<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu"
xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance"
CodeTemplate="pdm2pcm_c.ftl;pdm2pcm_h.ftl"
DBVersion="V4.0"
IncludeFile="pdm2pcm_glo.h"
Name="PDM2PCM"
RootFolder="Middlewares/ST/STM32_Audio/Addons/PDM/"
Version="STM32Cube_FW_F7_V1.16.0"
ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Configs.xsd">

  <RefConfig Comment="" Name="PDM2PCM_ENABLE_Init">
    <Component Name="Middleware:PDM2PCM"/>
    <CallLibMethod Name="PDM_Filter_Init" Phase="preOS">
      <MethodArg Name="PDM1_filter_handler" ParameterName="PDM1_filter_handler"/>
    </CallLibMethod>
    <CallLibMethod Name="PDM_Filter_setConfig" Phase="preOS">
      <MethodArg Name="PDM1_filter_handler" ParameterName="PDM1_filter_handler"/>
      <MethodArg Name="PDM1_filter_config" ParameterName="PDM1_filter_config"/>
    </CallLibMethod>
  </RefConfig>

  <RefComponent Cclass="Middleware" Cgroup="PDM2PCM" Cversion="3.2.0">
    <File Category="header" Name="Inc/pdm2pcm_glo.h"/>
    <File Category="library" Condition="GCC;SIiTcompilerIiGCC" Name="Lib/libPDMFilter_CM7_GCC_wc32.a" Version=""/>
    <File Category="library" Condition="IAR8;(SIiTideIiEWARMOoV8| SIiTideIiEWARMOoV8Gg32)" Name="Lib/libPDMFilter_CM7_IAR_wc32.a" Version=""/>
    <File Category="library" Condition="IAR7;(SIiTideIiEWARM | SIiTideIiEWARMOoV7)" Name="Lib/libPDMFilter_CM7_IAR_wc16.a" Version=""/>
    <File Category="library" Condition="KEIL;SIiTcompilerIiARMCC" Name="Lib/libPDMFilter_CM7_Keil_wc16.lib" Version=""/>
  </RefComponent>

  <LibMethod Comment="" Name="PDM_Filter_Init">
    <Argument AddressOf="true" Context="global" GenericType="struct" Name="PDM1_filter_handler" TypeName="PDM_Filter_Handler_t">
      <Argument AddressOf="false" GenericType="simple" Name="bit_order" OptimizationCondition="equal" ParamName="CHANNEL1_bit_order"/>
      <Argument AddressOf="false" GenericType="simple" Name="endianness" OptimizationCondition="equal" ParamName="CHANNEL1_endianness"/>
      <Argument AddressOf="false" GenericType="simple" Name="high_pass_tap" OptimizationCondition="equal" ParamName="CHANNEL1_high_pass_tap"/>
      <Argument AddressOf="false" GenericType="simple" Name="in_ptr_channels" OptimizationCondition="equal" ParamName="CHANNEL1_in_ptr_channels"/>
      <Argument AddressOf="false" GenericType="simple" Name="out_ptr_channels" OptimizationCondition="equal" ParamName="CHANNEL1_out_ptr_channels"/>
    </Argument>
  </LibMethod>

  <LibMethod Comment="" Name="PDM_Filter_setConfig">
    <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="PDM1_filter_handler" TypeName="PDM_Filter_Handler_t">
      <Argument AddressOf="false" GenericType="simple" Name="gState" OptimizationCondition="equal" ParamName="CHANNEL1_gState"/>
    </Argument>
    <Argument AddressOf="true" Context="global" GenericType="struct" Name="PDM1_filter_config" TypeName="PDM_Filter_Config_t">
      <Argument AddressOf="false" GenericType="simple" Name="decimation_factor" OptimizationCondition="equal" ParamName="CHANNEL1_decimation_factor"/>
      <Argument AddressOf="false" GenericType="simple" Name="output_samples_number" OptimizationCondition="equal" ParamName="CHANNEL1_output_samples_number"/>
      <Argument AddressOf="false" GenericType="simple" Name="mic_gain" OptimizationCondition="equal" ParamName="CHANNEL1_mic_gain"/>
    </Argument>
  </LibMethod>

</IP>
