USB device stack

Dependents:   USBMSD_step1 USBMSD_step1_5 picossd_step1_2cs

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
Kojto 71:53949e6131f6 2 #ifndef TARGET_EFM32HG_STK3400
Kojto 71:53949e6131f6 3 # define NUMBER_OF_LOGICAL_ENDPOINTS (6)
Kojto 71:53949e6131f6 4 #else
Kojto 71:53949e6131f6 5 # define NUMBER_OF_LOGICAL_ENDPOINTS (3)
Kojto 71:53949e6131f6 6 #endif
Kojto 71:53949e6131f6 7
Kojto 71:53949e6131f6 8 #define NUMBER_OF_PHYSICAL_ENDPOINTS (NUMBER_OF_LOGICAL_ENDPOINTS * 2)
Kojto 71:53949e6131f6 9 #define NUMBER_OF_ENDPOINTS (NUMBER_OF_PHYSICAL_ENDPOINTS + 2) /* Includes EP0 */
Kojto 71:53949e6131f6 10
Kojto 71:53949e6131f6 11 #define EP0OUT (0)
Kojto 71:53949e6131f6 12 #define EP0IN (1)
Kojto 71:53949e6131f6 13 #define EP1OUT (2)
Kojto 71:53949e6131f6 14 #define EP1IN (3)
Kojto 71:53949e6131f6 15 #define EP2OUT (4)
Kojto 71:53949e6131f6 16 #define EP2IN (5)
Kojto 71:53949e6131f6 17 #define EP3OUT (6)
Kojto 71:53949e6131f6 18 #define EP3IN (7)
Kojto 71:53949e6131f6 19 #ifndef TARGET_EFM32HG_STK3400
Kojto 71:53949e6131f6 20 # define EP4OUT (8)
Kojto 71:53949e6131f6 21 # define EP4IN (9)
Kojto 71:53949e6131f6 22 # define EP5OUT (10)
Kojto 71:53949e6131f6 23 # define EP5IN (11)
Kojto 71:53949e6131f6 24 # define EP6OUT (12)
Kojto 71:53949e6131f6 25 # define EP6IN (13)
Kojto 71:53949e6131f6 26 #endif
Kojto 71:53949e6131f6 27
Kojto 71:53949e6131f6 28 #define USB_EP_TO_INDEX(ep) (ep)
Kojto 71:53949e6131f6 29 #define USB_EP_TO_ADDR(ep) (((ep)>>1) | (((ep) & 1 ) ? 0x80 : 0x00))
Kojto 71:53949e6131f6 30 #define USB_ADDR_TO_EP(ep) (((ep)<<1) | (((ep) & 0x80) ? 0x01 : 0x00))
Kojto 71:53949e6131f6 31
Kojto 71:53949e6131f6 32 /* Maximum Packet sizes */
Kojto 71:53949e6131f6 33
Kojto 71:53949e6131f6 34 #define MAX_PACKET_SIZE_EP0 64
Kojto 71:53949e6131f6 35 #define MAX_PACKET_SIZE_EP1 64
Kojto 71:53949e6131f6 36 #define MAX_PACKET_SIZE_EP2 64
Kojto 71:53949e6131f6 37 #define MAX_PACKET_SIZE_EP3 64
Kojto 71:53949e6131f6 38 #ifndef TARGET_EFM32HG_STK3400
Kojto 71:53949e6131f6 39 # define MAX_PACKET_SIZE_EP4 64
Kojto 71:53949e6131f6 40 # define MAX_PACKET_SIZE_EP5 64
Kojto 71:53949e6131f6 41 # define MAX_PACKET_SIZE_EP6 64
Kojto 71:53949e6131f6 42 #endif
Kojto 71:53949e6131f6 43
Kojto 71:53949e6131f6 44 /* Generic endpoints - intended to be portable accross devices */
Kojto 71:53949e6131f6 45 /* and be suitable for simple USB devices. */
Kojto 71:53949e6131f6 46
Kojto 71:53949e6131f6 47 /* Bulk endpoints */
Kojto 71:53949e6131f6 48 #define EPBULK_OUT EP2OUT
Kojto 71:53949e6131f6 49 #define EPBULK_IN EP2IN
Kojto 71:53949e6131f6 50 #define EPBULK_OUT_callback EP2_OUT_callback
Kojto 71:53949e6131f6 51 #define EPBULK_IN_callback EP2_IN_callback
Kojto 71:53949e6131f6 52 /* Interrupt endpoints */
Kojto 71:53949e6131f6 53 #define EPINT_OUT EP1OUT
Kojto 71:53949e6131f6 54 #define EPINT_IN EP1IN
Kojto 71:53949e6131f6 55 #define EPINT_OUT_callback EP1_OUT_callback
Kojto 71:53949e6131f6 56 #define EPINT_IN_callback EP1_IN_callback
Kojto 71:53949e6131f6 57 /* Isochronous endpoints */
Kojto 71:53949e6131f6 58 #define EPISO_OUT EP3OUT
Kojto 71:53949e6131f6 59 #define EPISO_IN EP3IN
Kojto 71:53949e6131f6 60 #define EPISO_OUT_callback EP3_OUT_callback
Kojto 71:53949e6131f6 61 #define EPISO_IN_callback EP3_IN_callback
Kojto 71:53949e6131f6 62
Kojto 71:53949e6131f6 63 #define MAX_PACKET_SIZE_EPBULK 64
Kojto 71:53949e6131f6 64 #define MAX_PACKET_SIZE_EPINT 64
Kojto 71:53949e6131f6 65 #define MAX_PACKET_SIZE_EPISO 1023