<?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="SAI" Version="STM32Cube_FW_L5_V0.5.0" 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="SaiA_Init">
        <CallLibMethod Name="HAL_SAI_Init">
            <MethodArg Name="hsai" ParameterName="hsai_BlockA"/>
            <MethodArg Name="Synchro" ParameterName="Synchro_A"/>
        </CallLibMethod>
        <ImplementCallBack Name="HAL_SAI_MspInit"/>
        <ImplementCallBack Name="HAL_SAI_MspDeInit"/>
    </RefConfig>
    <RefConfig Name="SaiA_InitProtocol">
        <CallLibMethod Name="HAL_SAI_InitProtocol">
            <MethodArg Name="hsai" ParameterName="hsai_BlockA"/>
            <MethodArg Name="Synchro" ParameterName="Synchro_A"/>
        </CallLibMethod>
        <ImplementCallBack Name="HAL_SAI_MspInit"/>
        <ImplementCallBack Name="HAL_SAI_MspDeInit"/>
    </RefConfig>
    <RefConfig Name="SaiA_DeInit">
        <CallLibMethod Name="HAL_SAI_DeInit">
            <MethodArg Name="hsai" ParameterName="hsai_BlockA"/>
        </CallLibMethod>
    </RefConfig>
    <RefConfig Name="SaiB_Init">
        <CallLibMethod Name="HAL_SAI_Init">
            <MethodArg Name="hsai" ParameterName="hsai_BlockB"/>
            <MethodArg Name="Synchro" ParameterName="Synchro_B"/>
        </CallLibMethod>
        <ImplementCallBack Name="HAL_SAI_MspInit"/>
        <ImplementCallBack Name="HAL_SAI_MspDeInit"/>
    </RefConfig>
    <RefConfig Name="SaiB_InitProtocol">
        <CallLibMethod Name="HAL_SAI_InitProtocol">
            <MethodArg Name="hsai" ParameterName="hsai_BlockB"/>
            <MethodArg Name="Synchro" ParameterName="Synchro_B"/>
        </CallLibMethod>
        <ImplementCallBack Name="HAL_SAI_MspInit"/>
        <ImplementCallBack Name="HAL_SAI_MspDeInit"/>
    </RefConfig>
    <RefConfig Name="SaiB_DeInit">
        <CallLibMethod Name="HAL_SAI_DeInit">
            <MethodArg Name="hsai" ParameterName="hsai_BlockB"/>
        </CallLibMethod>
    </RefConfig>
    <LibMethod Comment="" Name="HAL_SAI_Init">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MckOverSampling" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>               
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/> 
                <!-- New field for HAL v1.1 -->                
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
		        <!-- New fieldfor block PDM (Pulse Desnity modulation) for HAL STM32L5 -->  
                <Argument AddressOf="false" GenericType="struct" Name="PdmInit" TypeName="SAI_PdmInitTypeDef">
                    <Argument AddressOf="false" GenericType="simple" Name="Activation" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="MicPairsNbr" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="ClockEnable" OptimizationCondition="equal"/>
                </Argument>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>           
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_InitProtocol">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <!--<Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>-->
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <!--<Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>-->
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>              
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <!--<Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>-->
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <!--<Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>-->
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>        
        <Argument AddressOf="false" Context="local" GenericType="simple" Name="BasicProtocol" TypeName="SAI_ProtocolTypedef"/>   
        <Argument AddressOf="false" Context="local" GenericType="simple" Name="BasicDataSize" TypeName="SAI_ProtocolDataSizeTypedef"/>        
        <Argument AddressOf="false" Context="local" GenericType="simple" Name="BasicSlotNumber" TypeName="uint32_t"/>  
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_DeInit">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MckOverSampling" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>            
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="struct" Name="PdmInit" TypeName="SAI_PdmInitTypeDef">
                    <Argument AddressOf="false" GenericType="simple" Name="Activation" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="MicPairsNbr" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="ClockEnable" OptimizationCondition="equal"/>
                </Argument>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>           
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_MspInit">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MckOverSampling" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="struct" Name="PdmInit" TypeName="SAI_PdmInitTypeDef">
                    <Argument AddressOf="false" GenericType="simple" Name="Activation" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="MicPairsNbr" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="ClockEnable" OptimizationCondition="equal"/>
                </Argument>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>           
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_MspDeInit">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MckOverSampling" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="struct" Name="PdmInit" TypeName="SAI_PdmInitTypeDef">
                    <Argument AddressOf="false" GenericType="simple" Name="Activation" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="MicPairsNbr" OptimizationCondition="equal"/>
                    <Argument AddressOf="false" GenericType="simple" Name="ClockEnable" OptimizationCondition="equal"/>
                </Argument>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>            
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_Transmit">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                 <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>            
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
        <Argument AddressOf="true" GenericType="simple" Name="pData" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Size" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Timeout" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_Receive">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>           
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
        <Argument AddressOf="true" GenericType="simple" Name="pData" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Size" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Timeout" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_Transmit_IT">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>        
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
        <Argument AddressOf="true" GenericType="simple" Name="pData" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Size" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_Receive_IT">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>          
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
        <Argument AddressOf="true" GenericType="simple" Name="pData" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Size" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_Transmit_DMA">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>          
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
        <Argument AddressOf="true" GenericType="simple" Name="pData" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Size" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_Receive_DMA">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
             <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>    
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
        <Argument AddressOf="true" GenericType="simple" Name="pData" OptimizationCondition="equal"/>
        <Argument AddressOf="false" GenericType="simple" Name="Size" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_DMAPause">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>         
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_DMAResume">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>     
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_DMAStop">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/> 
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_IRQHandler">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>  
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_TxCpltCallback">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>      
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_RxCpltCallback">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>   
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_ErrorCallback">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
           <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>         
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_GetState">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>   
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="HAL_SAI_GetError">
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="hsai" TypeName="SAI_HandleTypeDef">
            <Argument AddressOf="false" GenericType="baseaddress" Name="Instance" TypeName="SAI_Block_TypeDef"/>
            <Argument AddressOf="false" GenericType="struct" Name="Init" TypeName="SAI_InitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="Protocol" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="DataSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FirstBit" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ClockStrobing" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="Synchro" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="OutputDrive" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="NoDivider" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FIFOThreshold" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="AudioFrequency" OptimizationCondition="equal"/>
                <!-- New field for HAL v1.1 --> 
                <Argument AddressOf="false" GenericType="simple" Name="Mckdiv" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SynchroExt" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="MonoStereoMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="CompandingMode" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="TriState" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="FrameInit" TypeName="SAI_FrameInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="ActiveFrameLength" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSDefinition" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSPolarity" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="FSOffset" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="false" GenericType="struct" Name="SlotInit" TypeName="SAI_SlotInitTypeDef">
                <Argument AddressOf="false" GenericType="simple" Name="FirstBitOffset" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotSize" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotNumber" OptimizationCondition="equal"/>
                <Argument AddressOf="false" GenericType="simple" Name="SlotActive" OptimizationCondition="equal"/>
            </Argument>
            <Argument AddressOf="true" GenericType="simple" Name="pBuffPtr" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferSize" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="XferCount" OptimizationCondition="equal"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmatx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="true" GenericType="simple" Name="hdmarx" OptimizationCondition="equal" TypeName="DMA_HandleTypeDef"/>
            <Argument AddressOf="false" GenericType="simple" Name="mutecallback" OptimizationCondition="equal" TypeName="SAIcallback"/>  
            <Argument AddressOf="false" GenericType="simple" Name="hsai" OptimizationCondition="equal" TypeName="__SAI_HandleTypeDef"/>            
            <Argument AddressOf="false" GenericType="simple" Name="Lock" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="State" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ErrorCode" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <RefComponent Cclass="HAL" Cgroup="SAI" Cversion="1.1.0">
        <File Category="header" Name="Drivers/STM32L5xx_HAL_Driver/Inc/stm32l5xx_hal_sai.h"/>
        <File Category="header" Name="Drivers/STM32L5xx_HAL_Driver/Inc/stm32l5xx_hal_sai_ex.h"/>
        <File Category="source" Name="Drivers/STM32L5xx_HAL_Driver/Src/stm32l5xx_hal_sai.c"/>
        <File Category="source" Name="Drivers/STM32L5xx_HAL_Driver/Src/stm32l5xx_hal_sai_ex.c"/>
    </RefComponent>
</IP>
