Adds class implementation for use STM32F4xx OTG_HS in FS mode

Dependents:   IGLOO_board

Fork of USBDevice by mbed official

Committer:
Kojto
Date:
Thu Jul 27 12:14:04 2017 +0100
Revision:
71:53949e6131f6
Update libraries

Fixes the previous commmit, as some devices were not copied. USBDevice contains
now targets directory with all targets implementations

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 71:53949e6131f6 1 /* Copyright (c) 2010-2011 mbed.org, MIT License
Kojto 71:53949e6131f6 2 *
Kojto 71:53949e6131f6 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
Kojto 71:53949e6131f6 4 * and associated documentation files (the "Software"), to deal in the Software without
Kojto 71:53949e6131f6 5 * restriction, including without limitation the rights to use, copy, modify, merge, publish,
Kojto 71:53949e6131f6 6 * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
Kojto 71:53949e6131f6 7 * Software is furnished to do so, subject to the following conditions:
Kojto 71:53949e6131f6 8 *
Kojto 71:53949e6131f6 9 * The above copyright notice and this permission notice shall be included in all copies or
Kojto 71:53949e6131f6 10 * substantial portions of the Software.
Kojto 71:53949e6131f6 11 *
Kojto 71:53949e6131f6 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
Kojto 71:53949e6131f6 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
Kojto 71:53949e6131f6 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
Kojto 71:53949e6131f6 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Kojto 71:53949e6131f6 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Kojto 71:53949e6131f6 17 */
Kojto 71:53949e6131f6 18
Kojto 71:53949e6131f6 19 #define NUMBER_OF_LOGICAL_ENDPOINTS (4)
Kojto 71:53949e6131f6 20 #define NUMBER_OF_PHYSICAL_ENDPOINTS (NUMBER_OF_LOGICAL_ENDPOINTS * 2)
Kojto 71:53949e6131f6 21
Kojto 71:53949e6131f6 22 /* Define physical endpoint numbers */
Kojto 71:53949e6131f6 23
Kojto 71:53949e6131f6 24 /* Endpoint No. Type(s) MaxPacket DoubleBuffer */
Kojto 71:53949e6131f6 25 /* ---------------- ------------ ---------- --- */
Kojto 71:53949e6131f6 26 #define EP0OUT (0) /* Control 64 No */
Kojto 71:53949e6131f6 27 #define EP0IN (1) /* Control 64 No */
Kojto 71:53949e6131f6 28 #define EP1OUT (2) /* Int/Bulk/Iso 64/64/1023 Yes */
Kojto 71:53949e6131f6 29 #define EP1IN (3) /* Int/Bulk/Iso 64/64/1023 Yes */
Kojto 71:53949e6131f6 30 #define EP2OUT (4) /* Int/Bulk/Iso 64/64/1023 Yes */
Kojto 71:53949e6131f6 31 #define EP2IN (5) /* Int/Bulk/Iso 64/64/1023 Yes */
Kojto 71:53949e6131f6 32 #define EP3OUT (6) /* Int/Bulk/Iso 64/64/1023 Yes */
Kojto 71:53949e6131f6 33 #define EP3IN (7) /* Int/Bulk/Iso 64/64/1023 Yes */
Kojto 71:53949e6131f6 34
Kojto 71:53949e6131f6 35 /* Maximum Packet sizes */
Kojto 71:53949e6131f6 36 #define MAX_PACKET_SIZE_SETUP (48)
Kojto 71:53949e6131f6 37 #define MAX_PACKET_SIZE_EP0 (64)
Kojto 71:53949e6131f6 38 #define MAX_PACKET_SIZE_EP1 (64) /* Int/Bulk */
Kojto 71:53949e6131f6 39 #define MAX_PACKET_SIZE_EP2 (64) /* Int/Bulk */
Kojto 71:53949e6131f6 40 #define MAX_PACKET_SIZE_EP3 (200) /* Int/Bulk/iso (44100 stereo 16 bits) */
Kojto 71:53949e6131f6 41
Kojto 71:53949e6131f6 42 #define MAX_PACKET_SIZE_EP1_ISO (1023) /* Isochronous */
Kojto 71:53949e6131f6 43 #define MAX_PACKET_SIZE_EP2_ISO (1023) /* Isochronous */
Kojto 71:53949e6131f6 44 #define MAX_PACKET_SIZE_EP3_ISO (1023) /* Isochronous */
Kojto 71:53949e6131f6 45
Kojto 71:53949e6131f6 46 /* Generic endpoints - intended to be portable accross devices */
Kojto 71:53949e6131f6 47 /* and be suitable for simple USB devices. */
Kojto 71:53949e6131f6 48
Kojto 71:53949e6131f6 49 /* Bulk endpoint */
Kojto 71:53949e6131f6 50 #define EPBULK_OUT (EP2OUT)
Kojto 71:53949e6131f6 51 #define EPBULK_IN (EP2IN)
Kojto 71:53949e6131f6 52 #define EPBULK_OUT_callback EP2_OUT_callback
Kojto 71:53949e6131f6 53 #define EPBULK_IN_callback EP2_IN_callback
Kojto 71:53949e6131f6 54 /* Interrupt endpoint */
Kojto 71:53949e6131f6 55 #define EPINT_OUT (EP1OUT)
Kojto 71:53949e6131f6 56 #define EPINT_IN (EP1IN)
Kojto 71:53949e6131f6 57 #define EPINT_OUT_callback EP1_OUT_callback
Kojto 71:53949e6131f6 58 #define EPINT_IN_callback EP1_IN_callback
Kojto 71:53949e6131f6 59 /* Isochronous endpoint */
Kojto 71:53949e6131f6 60 #define EPISO_OUT (EP3OUT)
Kojto 71:53949e6131f6 61 #define EPISO_IN (EP3IN)
Kojto 71:53949e6131f6 62 #define EPISO_OUT_callback EP3_OUT_callback
Kojto 71:53949e6131f6 63 #define EPISO_IN_callback EP3_IN_callback
Kojto 71:53949e6131f6 64
Kojto 71:53949e6131f6 65 #define MAX_PACKET_SIZE_EPBULK (MAX_PACKET_SIZE_EP2)
Kojto 71:53949e6131f6 66 #define MAX_PACKET_SIZE_EPINT (MAX_PACKET_SIZE_EP1)
Kojto 71:53949e6131f6 67 #define MAX_PACKET_SIZE_EPISO (MAX_PACKET_SIZE_EP3_ISO)