/**
  @verbatim
  ******************** (C) COPYRIGHT 2015 STMicroelectronics *******************
  * @file    readme.txt 
  * @author  TOMAS 
  * @version V1.0.0
  * @date    6-June-2015
  * @brief   Description of the USB Composite example.
  ******************************************************************************
  *
  * Redistribution and use in source and binary forms, with or without modification,
  * are permitted provided that the following conditions are met:
  *   1. Redistributions of source code must retain the above copyright notice,
  *      this list of conditions and the following disclaimer.
  *   2. Redistributions in binary form must reproduce the above copyright notice,
  *      this list of conditions and the following disclaimer in the documentation
  *      and/or other materials provided with the distribution.
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
  *      may be used to endorse or promote products derived from this software
  *      without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  ******************************************************************************
  @endverbatim
  
USB composite device
This directory contain an example of USB full speed composite device on STM32F407VG (tested on STM32F4 discovery).
Example contains three USB classes - HID, MSC and CDC. Full speed devices provide only 3 pairs of in/out endpoints, so only exactly two classes can be used. Class choice can be done using defines in USB_COMP.h.

#define USE_CDC 1	//used class
#define USE_HID 0	//not used class
#define USE_MSC 1	//used class

#if (USE_CDC+USE_HID+USE_MSC)!=2
#error There is need to define exactly two USB classes.
#endif

Functions:
CDC - Echo incoming communication.
HID - moves mouse cursor for 10 seconds
MSC - register storage in OS, no physical storage is connected to firmware functions. See other examples to see how to connect memory to these functions. For example in STM32F4 Cube repository project for STM32F429 eval board.

Win driver:
Drivers for this application are not digitally signed, so they cannot be find automatically by Windows and use of not signed drivers must by allowed in system. There is more methods how to enable use of unsigned drivers, the simplest is continuously press F8 when Windows is booting up until you get the Advanced Boot Options menu, then select “Disable Driver Signature Enforcement”.
Combination of HID and MSC is enumerated automatically, problems are in case of use CDC. There is need to assign *.inf file for the device manually. Those files can be find in /Win_drivers directory.

