123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
-
- extern "C" {
- #include "lpc_types.h"
- }
-
- #include "usb.h"
- #include "cdc.h"
- #include "msc.h"
- #include "usbcfg.h"
- #include "usbdesc.h"
-
-
-
- const uint8_t USB_DeviceDescriptor[] = {
- USB_DEVICE_DESC_SIZE,
- USB_DEVICE_DESCRIPTOR_TYPE,
- WBVAL(0x0200),
- USB_DEVICE_CLASS_MISCELLANEOUS,
- 0x02,
- 0x01,
- USB_MAX_PACKET0,
- WBVAL(0x1d50),
- WBVAL(0x6029),
- WBVAL(0x0100),
- 0x01,
- 0x02,
- 0x03,
- 0x01
- };
-
-
-
- const uint8_t USB_ConfigDescriptor[] = {
-
- USB_CONFIGUARTION_DESC_SIZE,
- USB_CONFIGURATION_DESCRIPTOR_TYPE,
- WBVAL(
- 1*USB_CONFIGUARTION_DESC_SIZE +
-
- 8 +
-
- 1*USB_INTERFACE_DESC_SIZE +
- 0x0013 +
- 1*USB_ENDPOINT_DESC_SIZE +
-
- 1*USB_INTERFACE_DESC_SIZE +
- 2*USB_ENDPOINT_DESC_SIZE +
-
- 1*USB_INTERFACE_DESC_SIZE +
- 2*USB_ENDPOINT_DESC_SIZE
- ),
- 0x03,
- 0x01,
- 0x00,
- USB_CONFIG_BUS_POWERED,
- USB_CONFIG_POWER_MA(500),
-
-
-
- 0x08,
- 0x0B,
- 0x00,
- 0x02,
- 0x02,
- 0x02,
- 0x01,
- 0x00,
-
-
- USB_INTERFACE_DESC_SIZE,
- USB_INTERFACE_DESCRIPTOR_TYPE,
- USB_CDC_CIF_NUM,
- 0x00,
- 0x01,
- CDC_COMMUNICATION_INTERFACE_CLASS,
- CDC_ABSTRACT_CONTROL_MODEL,
- 0x00,
- 0x00,
-
-
- 0x05,
- CDC_CS_INTERFACE,
- CDC_HEADER,
- WBVAL(CDC_V1_10),
-
-
- 0x05,
- CDC_CS_INTERFACE,
- CDC_CALL_MANAGEMENT,
- CDC_CALLMGMT_CAP_CALLMGMT | CDC_CALLMGMT_CAP_DATAINTF,
- 0x01,
-
-
- 0x04,
- CDC_CS_INTERFACE,
- CDC_ABSTRACT_CONTROL_MANAGEMENT,
- CDC_ACM_CAP_LINE | CDC_ACM_CAP_BRK,
-
-
- 0x05,
- CDC_CS_INTERFACE,
- CDC_UNION,
- USB_CDC_CIF_NUM,
- USB_CDC_DIF_NUM,
-
-
- USB_ENDPOINT_DESC_SIZE,
- USB_ENDPOINT_DESCRIPTOR_TYPE,
- USB_ENDPOINT_IN(1),
- USB_ENDPOINT_TYPE_INTERRUPT,
- WBVAL(0x0010),
- 0x10,
-
-
-
- USB_INTERFACE_DESC_SIZE,
- USB_INTERFACE_DESCRIPTOR_TYPE,
- USB_CDC_DIF_NUM,
- 0x00,
- 0x02,
- CDC_DATA_INTERFACE_CLASS,
- 0x00,
- 0x00,
- 0x00,
-
- USB_ENDPOINT_DESC_SIZE,
- USB_ENDPOINT_DESCRIPTOR_TYPE,
- USB_ENDPOINT_OUT(2),
- USB_ENDPOINT_TYPE_BULK,
- WBVAL(USB_CDC_BUFSIZE),
- 0x00,
-
- USB_ENDPOINT_DESC_SIZE,
- USB_ENDPOINT_DESCRIPTOR_TYPE,
- USB_ENDPOINT_IN(2),
- USB_ENDPOINT_TYPE_BULK,
- WBVAL(USB_CDC_BUFSIZE),
- 0x00,
-
-
-
-
- USB_INTERFACE_DESC_SIZE,
- USB_INTERFACE_DESCRIPTOR_TYPE,
- 0x02,
- 0x00,
- 0x02,
- USB_DEVICE_CLASS_STORAGE,
- MSC_SUBCLASS_SCSI,
- MSC_PROTOCOL_BULK_ONLY,
- 0x00,
-
- USB_ENDPOINT_DESC_SIZE,
- USB_ENDPOINT_DESCRIPTOR_TYPE,
- USB_ENDPOINT_IN(5),
- USB_ENDPOINT_TYPE_BULK,
- WBVAL(0x0040),
- 0x00,
-
- USB_ENDPOINT_DESC_SIZE,
- USB_ENDPOINT_DESCRIPTOR_TYPE,
- USB_ENDPOINT_OUT(5),
- USB_ENDPOINT_TYPE_BULK,
- WBVAL(0x0040),
- 0,
-
- 0
- };
-
-
-
-
-
- const uint8_t USB_StringDescriptor[] = {
-
- 0x04,
- USB_STRING_DESCRIPTOR_TYPE,
- WBVAL(0x0409),
-
- (13*2 + 2),
- USB_STRING_DESCRIPTOR_TYPE,
- 'm',0,
- 'a',0,
- 'r',0,
- 'l',0,
- 'i',0,
- 'n',0,
- 'f',0,
- 'w',0,
- '.',0,
- 'o',0,
- 'r',0,
- 'g',0,
- ' ',0,
-
- (17*2 + 2),
- USB_STRING_DESCRIPTOR_TYPE,
- 'M',0,
- 'a',0,
- 'r',0,
- 'l',0,
- 'i',0,
- 'n',0,
- ' ',0,
- 'U',0,
- 'S',0,
- 'B',0,
- ' ',0,
- 'D',0,
- 'e',0,
- 'v',0,
- 'i',0,
- 'c',0,
- 'e',0,
-
- (12*2 + 2),
- USB_STRING_DESCRIPTOR_TYPE,
- '1',0,
- '.',0,
- '0',0,
- '0',0,
- '0',0,
- '0',0,
- '0',0,
- '0',0,
- '0',0,
- '0',0,
- '0',0,
- '0',0,
-
- ( 4*2 + 2),
- USB_STRING_DESCRIPTOR_TYPE,
- 'V',0,
- 'C',0,
- 'O',0,
- 'M',0,
- };
|