
#ifndef __USB_DESC_H
#define __USB_DESC_H

#define USB_DEVICE_DESCRIPTOR_TYPE              0x01
#define USB_CONFIGURATION_DESCRIPTOR_TYPE       0x02
#define USB_STRING_DESCRIPTOR_TYPE              0x03
#define USB_INTERFACE_DESCRIPTOR_TYPE           0x04
#define USB_ENDPOINT_DESCRIPTOR_TYPE            0x05

#define MUSB_SIZE_DEVICE_DESC          18
#define MUSB_SIZE_CONFIG_DESC          (9+9+7)
#define MUSB_SIZE_STRING_LANGID        4
#define MUSB_SIZE_STRING_VENDOR        (2+2*11)
#define MUSB_SIZE_STRING_PRODUCT       (2+2*24)

#define STANDARD_ENDPOINT_DESC_SIZE   0x09

#define DEVICE_VER_H 0x01
#define DEVICE_VER_L 0x00

#define wMaxPacketSize  0x40 // max. 64 (STM32F103 = "Full Speed"-USB-Device)

#define EP3TxCount 0x40

/* Exported functions ------------------------------------------------------- */
extern const uint8_t MUSB_DeviceDescriptor[MUSB_SIZE_DEVICE_DESC];
extern const uint8_t MUSB_ConfigDescriptor[MUSB_SIZE_CONFIG_DESC];
extern const uint8_t MUSB_StringLangID[MUSB_SIZE_STRING_LANGID];
extern const uint8_t MUSB_StringVendor[MUSB_SIZE_STRING_VENDOR];
extern const uint8_t MUSB_StringProduct[MUSB_SIZE_STRING_PRODUCT];

#endif /* __USB_DESC_H */
