<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" CodeTemplate="usbdevice_c.ftl;usbdevice_h.ftl" DBVersion="V4.0" IncludeFile="stm32l1xx.h;stm32l1xx_hal.h;usbd_def.h" Name="USB_DEVICE" RootFolder="Middlewares/ST/STM32_USB_Device_Library/" Version="STM32Cube_FW_L1_V1.4.0" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Configs.xsd">
    
    <!-- Audio Class -->    
    <RefConfig Comment="AUDIO" Name="USB_DEVICE_AUDIO_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="AUDIO_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_AUDIO"/>
        </CallLibMethod>         
        <CallLibMethod Name="USBD_AUDIO_RegisterInterface" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_USER_CALLBACK" ParameterName="USBD_AUDIO_fops_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>   
        <Component Name="Middlewares:USB_DEVICE:AUDIO"/>
        <ConfigFile Name="USBD_CONF_AUDIO_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_AUDIO_FS_C"/>
        <ConfigFile Name="USBD_INF_AUDIO_H_FS"/> 
        <ConfigFile Name="USBD_INF_AUDIO_C_FS"/>        
    </RefConfig>
    
    <!-- Ccid Class -->
    <RefConfig Comment="CCID" Name="USB_DEVICE_CCID_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="CCID_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_CCID"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_CCID_RegisterInterface" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_USER_CALLBACK" ParameterName="USBD_CCID_fops_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>   
        <Component Name="Middlewares:USB_DEVICE:CCID"/>
        <ConfigFile Name="USBD_CONF_CCID_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_CCID_FS_C"/>
        <ConfigFile Name="USBD_INF_CCID_H_FS"/> 
        <ConfigFile Name="USBD_INF_CCID_C_FS"/>
    </RefConfig>
    
    <!-- Cdc Class -->
   
    <RefConfig Comment="CDC" Name="USB_DEVICE_CDC_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="VCP_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_CDC"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_CDC_RegisterInterface" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_USER_CALLBACK" ParameterName="USBD_Interface_fops_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>   
        <Component Name="Middlewares:USB_DEVICE:CDC"/>
        <ConfigFile Name="USBD_CONF_CDC_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_CDC_FS_C"/>
        <ConfigFile Name="USBD_INF_CDC_H_FS"/> 
        <ConfigFile Name="USBD_INF_CDC_C_FS"/>
    </RefConfig>
    
    <!-- Dfu Class -->
    <RefConfig Comment="DFU" Name="USB_DEVICE_DFU_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="DFU_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_DFU"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_DFU_RegisterMedia" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_USER_CALLBACK" ParameterName="USBD_DFU_fops_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>
        <Component Name="Middlewares:USB_DEVICE:DFU"/>
        <ConfigFile Name="USBD_CONF_DFU_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_DFU_FS_C"/>
        <ConfigFile Name="USBD_INF_DFU_H_FS"/> 
        <ConfigFile Name="USBD_INF_DFU_C_FS"/>
    </RefConfig>
    
    <!-- Hid Class -->
    <RefConfig Comment="HID" Name="USB_DEVICE_HID_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="HID_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_HID"/>
        </CallLibMethod>  
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>  
        <Component Name="Middlewares:USB_DEVICE:HID"/>
        <ConfigFile Name="USBD_CONF_HID_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_HID_FS_C"/>
    </RefConfig>
    
    <!-- Custom HID Class -->    
    <RefConfig Comment="CUSTOMHID" Name="USB_DEVICE_CUSTOM_HID_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="HID_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_CUSTOM_HID"/>
        </CallLibMethod>  
        <CallLibMethod Name="USBD_CUSTOM_HID_RegisterInterface" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_USER_CALLBACK" ParameterName="USBD_CustomHID_fops_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>  
        <Component Name="Middlewares:USB_DEVICE:CUSTOM_HID"/>
        <ConfigFile Name="USBD_CONF_CUSTOM_HID_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_CUSTOM_HID_FS_C"/>
        <ConfigFile Name="USBD_INF_CUSTOM_HID_H_FS"/> 
        <ConfigFile Name="USBD_INF_CUSTOM_HID_C_FS"/>
    </RefConfig>
    
    <!-- Msc Class -->    
    <RefConfig Comment="MSC" Name="USB_DEVICE_MSC_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="MSC_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod>  
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_MSC"/>
        </CallLibMethod>  
        <CallLibMethod Name="USBD_MSC_RegisterStorage" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_USER_CALLBACK" ParameterName="USBD_Storage_Interface_fops_FS"/>
        </CallLibMethod> 
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>          
        <Component Name="Middlewares:USB_DEVICE:MSC"/>
        <ConfigFile Name="USBD_CONF_MSC_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_MSC_FS_C"/>
        <ConfigFile Name="USBD_INF_MSC_H_FS"/> 
        <ConfigFile Name="USBD_INF_MSC_C_FS"/> 
    </RefConfig>
    
    <!-- Mtp Class -->    
    <RefConfig Comment="MTP" Name="USB_DEVICE_MTP_FS">
        <CallLibMethod Name="USBD_Init" ReturnHAL="false">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <!--<MethodArg Name="USBD_DESC" ParameterName="MTP_Desc"/>-->
            <MethodArg Name="USBD_DESC" ParameterName="FS_Desc"/>
            <MethodArg Name="id" ParameterName="DEVICE_FS"/>
        </CallLibMethod>  
        <CallLibMethod Name="USBD_RegisterClass" ReturnHAL="false" Phase="preOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
            <MethodArg Name="USBD_CLASS" ParameterName="USBD_MTP"/>
        </CallLibMethod>    
        <CallLibMethod Name="USBD_Start" ReturnHAL="false" Phase="postOS">
            <MethodArg Name="hUsbDevice" ParameterName="hUsbDeviceFS"/>
        </CallLibMethod>          
        <Component Name="Middlewares:USB_DEVICE:MTP"/>
        <ConfigFile Name="USBD_CONF_HID_H"/>        
        <ConfigFile Name="USBD_CONF_FS_C"/>
        <ConfigFile Name="USBD_DESC_H"/> 
        <ConfigFile Name="USBD_DESC_C"/>
        <ConfigFile Name="USBD_DESC_FS_H"/> 
        <ConfigFile Name="USBD_DESC_MTP_FS_C"/> 
    </RefConfig>
    
    
    <!-- MZA here we have the description of the structure where the CallBack (function pointer) must be initialized --> 
    <LibMethod Comment="" Name="USBD_Init">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_DESC" TypeName="int"/>  
        <Argument AddressOf="false" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="id" TypeName="int"/> 
    </LibMethod> 
    
    <LibMethod Comment="" Name="USBD_RegisterClass">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>           
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_CLASS" TypeName="int"/>                                 
    </LibMethod>
    
    <LibMethod Comment="" Name="USBD_CDC_RegisterInterface">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>           
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_USER_CALLBACK" TypeName="int"/>                                 
    </LibMethod>
    
    <LibMethod Comment="" Name="USBD_MSC_RegisterStorage">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>         
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_USER_CALLBACK" TypeName="int"/>                                 
    </LibMethod>
    
    <LibMethod Comment="" Name="USBD_AUDIO_RegisterInterface">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>           
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_USER_CALLBACK" TypeName="int"/>                                 
    </LibMethod>
    
    <LibMethod Comment="" Name="USBD_CCID_RegisterInterface">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>          
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_USER_CALLBACK" TypeName="int"/>                                 
    </LibMethod>
    
    <LibMethod Comment="" Name="USBD_CUSTOM_HID_RegisterInterface">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>          
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_USER_CALLBACK" TypeName="int"/>                                 
    </LibMethod>
    
    <LibMethod Comment="" Name="USBD_DFU_RegisterMedia">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>           
        </Argument> 
        <Argument AddressOf="true" Comment="" Context="local;NOT_INIT" GenericType="simple" Name="USBD_USER_CALLBACK" TypeName="int"/>                                 
    </LibMethod>
    
    
    <LibMethod Comment="" Name="USBD_Start" Optimizable="true">
        <Argument AddressOf="true" Context="global;NOT_INIT" GenericType="struct" Name="hUsbDevice" TypeName="USBD_HandleTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="dev_config" OptimizationCondition="equal"/>
        </Argument> 
    </LibMethod>
    
    <RefComponent Cclass="Middlewares" Cgroup="USB_DEVICE" Cversion="V2.5.1">
        <File Category="header" Name="Core/Inc/usbd_core.h"/>
        <File Category="header" Name="Core/Inc/usbd_ctlreq.h"/>
        <File Category="header" Name="Core/Inc/usbd_def.h"/>
        <File Category="header" Name="Core/Inc/usbd_ioreq.h"/>
        <File Category="source" Name="Core/Src/usbd_core.c"/>
        <File Category="source" Name="Core/Src/usbd_ctlreq.c"/>       
        <File Category="source" Name="Core/Src/usbd_ioreq.c"/>        
        <SubComponent Csub="AUDIO" Description="Audio">
            <File Category="header" Name="Class/AUDIO/Inc/usbd_audio.h"/>
            <File Category="source" Name="Class/AUDIO/Src/usbd_audio.c"/>
        </SubComponent>
        <SubComponent Csub="CCID" Description="Ccid">
            <File Category="header" Name="Class/CCID/Inc/usbd_ccid.h"/>
            <File Category="source" Name="Class/CCID/Src/usbd_ccid.c"/>
        </SubComponent>
        <SubComponent Csub="CDC" Description="CDC">
            <File Category="header" Name="Class/CDC/Inc/usbd_cdc.h"/>
            <File Category="source" Name="Class/CDC/Src/usbd_cdc.c"/>
        </SubComponent>
        <SubComponent Csub="DFU" Description="">
            <File Category="header" Name="Class/DFU/Inc/usbd_dfu.h"/>
            <File Category="source" Name="Class/DFU/Src/usbd_dfu.c"/>
        </SubComponent>
        <SubComponent Csub="HID" Description="Human Interface Device">
            <File Category="header" Name="Class/HID/Inc/usbd_hid.h"/>
            <File Category="source" Name="Class/HID/Src/usbd_hid.c"/>
        </SubComponent>
        <SubComponent Csub="CUSTOM_HID" Description="Custom Human Interface Device">
            <File Category="header" Name="Class/CustomHID/Inc/usbd_customhid.h"/>
            <File Category="source" Name="Class/CustomHID/Src/usbd_customhid.c"/>
        </SubComponent>
        <SubComponent Csub="MSC" Description="Mass Storage">
            <File Category="header" Name="Class/MSC/Inc/usbd_msc.h"/>
            <File Category="header" Name="Class/MSC/Inc/usbd_msc_bot.h"/>
            <File Category="header" Name="Class/MSC/Inc/usbd_msc_data.h"/>
            <File Category="header" Name="Class/MSC/Inc/usbd_msc_scsi.h"/>
            <File Category="source" Name="Class/MSC/Src/usbd_msc.c"/>
            <File Category="source" Name="Class/MSC/Src/usbd_msc_bot.c"/>
            <File Category="source" Name="Class/MSC/Src/usbd_msc_data.c"/>
            <File Category="source" Name="Class/MSC/Src/usbd_msc_scsi.c"/>
        </SubComponent>
        <SubComponent Csub="MTP" Description="Media Transport Protocol">
            <File Category="header" Name="Class/MTP/Inc/usbd_mtp.h"/>
            <File Category="source" Name="Class/MTP/Src/usbd_mtp.c"/>
        </SubComponent>
    </RefComponent>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_CONF_AUDIO_H" Template="usbdconf_l1_h.ftl">      
        <File Category="header" Condition="all" Name="Target/usbd_conf.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_CONFIGURATION"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_STR_DESC_SIZ"/>
        <!--<Argument Comment="" GenericType="simple" Name="USBD_SUPPORT_USER_STRING"/>-->        
        <Argument Comment="" GenericType="simple" Name="USBD_DEBUG_LEVEL"/>         
        <Argument Comment="" GenericType="simple" Name="USBD_SELF_POWERED"/>
        <Argument Comment="" GenericType="simple" Name="USBD_AUDIO_FREQ"/>
    </RefConfigFile> 
    
    <RefConfigFile Description="Header file for #define" Name="USBD_CONF_CCID_H" Template="usbdconf_l1_h.ftl">      
        <File Category="header" Condition="all" Name="Target/usbd_conf.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_CONFIGURATION"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_STR_DESC_SIZ"/>
        <!--<Argument Comment="" GenericType="simple" Name="USBD_SUPPORT_USER_STRING"/>-->       
        <Argument Comment="" GenericType="simple" Name="USBD_DEBUG_LEVEL"/>         
        <Argument Comment="" GenericType="simple" Name="USBD_SELF_POWERED"/>
        <Argument Comment="" GenericType="simple" Name="CCID_BULK_EP_MAX_PACKET"/>
        <Argument Comment="" GenericType="simple" Name="CCID_INTR_EP_MAX_PACKET"/>
     </RefConfigFile> 
    
    <RefConfigFile Description="Header file for #define" Name="USBD_CONF_CDC_H" Template="usbdconf_l1_h.ftl">      
        <File Category="header" Condition="all" Name="Target/usbd_conf.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_CONFIGURATION"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_STR_DESC_SIZ"/>
        <!--<Argument Comment="" GenericType="simple" Name="USBD_SUPPORT_USER_STRING"/>-->        
        <Argument Comment="" GenericType="simple" Name="USBD_DEBUG_LEVEL"/>         
        <Argument Comment="" GenericType="simple" Name="USBD_SELF_POWERED"/>
        <!-- Bug 33846 
        <Argument Comment="" GenericType="simple" Name="USBD_CDC_INTERVAL"/>
        -->
    </RefConfigFile>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_CONF_DFU_H" Template="usbdconf_l1_h.ftl">      
        <File Category="header" Condition="all" Name="Target/usbd_conf.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_CONFIGURATION"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_STR_DESC_SIZ"/>
        <Argument Comment="" GenericType="simple" Name="USBD_SUPPORT_USER_STRING"/>     
        <Argument Comment="" GenericType="simple" Name="USBD_DEBUG_LEVEL"/>         
        <Argument Comment="" GenericType="simple" Name="USBD_SELF_POWERED"/>  
        <Argument Comment="" GenericType="simple" Name="USBD_DFU_MAX_ITF_NUM"/>
        <Argument Comment="" GenericType="simple" Name="USBD_DFU_XFER_SIZE"/>
        <Argument Comment="" GenericType="simple" Name="USBD_DFU_APP_DEFAULT_ADD"/>
     </RefConfigFile>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_CONF_HID_H" Template="usbdconf_l1_h.ftl">      
        <File Category="header" Condition="all" Name="Target/usbd_conf.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_CONFIGURATION"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_STR_DESC_SIZ"/>
        <!--<Argument Comment="" GenericType="simple" Name="USBD_SUPPORT_USER_STRING"/>-->     
        <Argument Comment="" GenericType="simple" Name="USBD_DEBUG_LEVEL"/>         
        <Argument Comment="" GenericType="simple" Name="USBD_SELF_POWERED"/> 
        <Argument Comment="" GenericType="simple" Name="HID_FS_BINTERVAL"/> 
    </RefConfigFile>
    
     <RefConfigFile Description="Header file for #define" Name="USBD_CONF_CUSTOM_HID_H" Template="usbdconf_l1_h.ftl">      
        <File Category="header" Condition="all" Name="Target/usbd_conf.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_CONFIGURATION"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_STR_DESC_SIZ"/>
        <!--<Argument Comment="" GenericType="simple" Name="USBD_SUPPORT_USER_STRING"/>-->     
        <Argument Comment="" GenericType="simple" Name="USBD_DEBUG_LEVEL"/>         
        <Argument Comment="" GenericType="simple" Name="USBD_SELF_POWERED"/> 
          <Argument Comment="" GenericType="simple" Name="USBD_CUSTOMHID_OUTREPORT_BUF_SIZE"/> 
        <Argument Comment="" GenericType="simple" Name="USBD_CUSTOM_HID_REPORT_DESC_SIZE"/>  
         <Argument Comment="" GenericType="simple" Name="CUSTOM_HID_FS_BINTERVAL"/>
    </RefConfigFile>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_CONF_MSC_H" Template="usbdconf_l1_h.ftl">      
        <File Category="header" Condition="all" Name="Target/usbd_conf.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_CONFIGURATION"/>
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_STR_DESC_SIZ"/>
        <!--<Argument Comment="" GenericType="simple" Name="USBD_SUPPORT_USER_STRING"/>-->        
        <Argument Comment="" GenericType="simple" Name="USBD_DEBUG_LEVEL"/>         
        <Argument Comment="" GenericType="simple" Name="USBD_SELF_POWERED"/>
        <Argument Comment="" GenericType="simple" Name="MSC_MEDIA_PACKET"/>
     </RefConfigFile>
    
   
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_CONF_FS_C" Template="usbdconf_l1_c.ftl">      
        <File Category="source" Condition="all" Name="Target/usbd_conf.c" Version=""/>
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>   
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="CLASS_NAME_FS" TypeName=""/>        
    </RefConfigFile> 
    
    <RefConfigFile Description="Header file for #define" Name="USBD_DESC_H" Template="usbddesc_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_desc.h" Version=""/>       
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>                   
    </RefConfigFile>
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>
        <Argument AddressOf="false" GenericType="simple" Name="VID"/>                  
        <Argument AddressOf="false" GenericType="simple" Name="LANGID_STRING"/> 
        <Argument AddressOf="false" GenericType="simple" Name="MANUFACTURER_STRING"/>                       
        <Argument AddressOf="false" GenericType="simple" Name="CLASS_NAME_FS"/>     
    </RefConfigFile>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_DESC_FS_H" Template="usbddesc_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_desc.h" Version=""/>                       
        <Argument AddressOf="false" GenericType="simple" Name="PID_FS"/>  
    </RefConfigFile>
    
    
  <!-- Audio Class -->
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_AUDIO_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_AUDIO_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_AUDIO_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_AUDIO_FS" ParamName="SERIALNUMBER_STRING"/>--> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_AUDIO_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_AUDIO_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile>  
 <!-- CCID Class -->
     <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_CCID_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_CCID_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_CCID_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_CCID_FS" ParamName="SERIALNUMBER_STRING"/>--> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_CCID_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_CCID_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile> 
  <!--CDC  Class -->
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_CDC_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_CDC_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_CDC_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_CDC_FS" ParamName="SERIALNUMBER_STRING"/>--> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_CDC_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_CDC_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile> 
     <!--DFU  Class -->
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_DFU_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_DFU_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_DFU_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_DFU_FS" ParamName="SERIALNUMBER_STRING"/>--> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_DFU_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_DFU_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile> 
       <!--HID  Class -->
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_HID_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_HID_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_HID_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_HID_FS" ParamName="SERIALNUMBER_STRING"/>--> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_HID_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_HID_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile> 
      <!--CUSTOMHID  Class -->
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_CUSTOM_HID_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_CUSTOMHID_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_CUSTOMHID_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_CUSTOMHID_FS" ParamName="SERIALNUMBER_STRING"/> -->
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_CUSTOMHID_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_CUSTOMHID_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile> 
     <!--MSC Class -->
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_MSC_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_MSC_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_MSC_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_MSC_FS" ParamName="SERIALNUMBER_STRING"/>--> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_MSC_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_MSC_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile>
     <!--MTP Class -->
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_MTP_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_MTP_FS" ParamName="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_MTP_FS" ParamName="PRODUCT_STRING_FS"/> 
        <!--<Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_MTP_FS" ParamName="SERIALNUMBER_STRING"/>--> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_MTP_FS" ParamName="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_MTP_FS" ParamName="INTERFACE_STRING_FS"/> 
    </RefConfigFile> 
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_DESC_FS_C" Template="usbddesc_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_desc.c" Version=""/>               
        <Argument AddressOf="false" GenericType="simple" Name="PID_FS"/>                    
        <Argument AddressOf="false" GenericType="simple" Name="PRODUCT_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="SERIALNUMBER_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="CONFIGURATION_STRING_FS"/> 
        <Argument AddressOf="false" GenericType="simple" Name="INTERFACE_STRING_FS"/> 
    </RefConfigFile> 
    
    
    
    <RefConfigFile Description="Header file for #define" Name="USBD_INF_CDC_H_FS" Template="usbd_cdc_if_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_cdc_if.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>     
        <Argument Comment="" GenericType="simple" Name="APP_RX_DATA_SIZE"/> 
        <Argument Comment="" GenericType="simple" Name="APP_TX_DATA_SIZE"/> 
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>           
    </RefConfigFile>
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_INF_CDC_C_FS" Template="usbd_cdc_if_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_cdc_if.c" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>  
        <Argument Comment="" GenericType="simple" Name="APP_RX_DATA_SIZE"/> 
        <Argument Comment="" GenericType="simple" Name="APP_TX_DATA_SIZE"/> 
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>   
    </RefConfigFile>
 
    <RefConfigFile Description="Header file for #define" Name="USBD_INF_AUDIO_H_FS" Template="usbd_audio_if_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_audio_if.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>        
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>   
    </RefConfigFile>
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_INF_AUDIO_C_FS" Template="usbd_audio_if_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_audio_if.c" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->        
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>        
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/> 
    </RefConfigFile>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_INF_CCID_H_FS" Template="usbd_ccid_if_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_ccid_if.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>        
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>           
    </RefConfigFile>
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_INF_CCID_C_FS" Template="usbd_ccid_if_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_ccid_if.c" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->        
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>        
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>   
    </RefConfigFile>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_INF_DFU_H_FS" Template="usbd_dfu_if_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_dfu_if.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>        
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>           
    </RefConfigFile>
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_INF_DFU_C_FS" Template="usbd_dfu_if_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_dfu_if.c" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->        
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>   
        <Argument Comment="" GenericType="simple" Name="USBD_DFU_MEDIA"/>
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>           
    </RefConfigFile>
    
    <RefConfigFile Description="Header file for #define" Name="USBD_INF_MSC_H_FS" Template="usbd_storage_if_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_storage_if.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>        
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>           
    </RefConfigFile>
    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_INF_MSC_C_FS" Template="usbd_storage_if_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_storage_if.c" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>        
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>   
    </RefConfigFile>
 
   <RefConfigFile Description="Header file for #define" Name="USBD_INF_CUSTOM_HID_H_FS" Template="usbd_custom_hid_if_h.ftl">      
        <File Category="header" Condition="all" Name="App/usbd_custom_hid_if.h" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>  
       <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>     
    </RefConfigFile>    
    <RefConfigFile Description="C file for Low Level Driver" Name="USBD_INF_CUSTOM_HID_C_FS" Template="usbd_custom_hid_if_c.ftl">      
        <File Category="source" Condition="all" Name="App/usbd_custom_hid_if.c" Version=""/>
        <!-- Parameters for Function and Buffer Configurations -->
        <Argument Comment="" GenericType="simple" Name="USBD_MAX_NUM_INTERFACES"/>
        <Argument AddressOf="true" Context="global" GenericType="struct" Name="USBD_HandleTypeDef_FS" TypeName="USBD_HandleTypeDef"/>             
    </RefConfigFile>
   
</IP>
