These are the examples provided for [[/users/frank26080115/libraries/LPC1700CMSIS_Lib/]] Note, the entire "program" is not compilable!
USBDEV/USBAudio/usbdesc.c@0:bf7b9fba3924, 2011-03-20 (annotated)
- Committer:
- frank26080115
- Date:
- Sun Mar 20 05:38:56 2011 +0000
- Revision:
- 0:bf7b9fba3924
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
frank26080115 | 0:bf7b9fba3924 | 1 | /*---------------------------------------------------------------------------- |
frank26080115 | 0:bf7b9fba3924 | 2 | * U S B - K e r n e l |
frank26080115 | 0:bf7b9fba3924 | 3 | *---------------------------------------------------------------------------- |
frank26080115 | 0:bf7b9fba3924 | 4 | * Name: usbdesc.c |
frank26080115 | 0:bf7b9fba3924 | 5 | * Purpose: USB Descriptors |
frank26080115 | 0:bf7b9fba3924 | 6 | * Version: V1.20 |
frank26080115 | 0:bf7b9fba3924 | 7 | *---------------------------------------------------------------------------- |
frank26080115 | 0:bf7b9fba3924 | 8 | * This software is supplied "AS IS" without any warranties, express, |
frank26080115 | 0:bf7b9fba3924 | 9 | * implied or statutory, including but not limited to the implied |
frank26080115 | 0:bf7b9fba3924 | 10 | * warranties of fitness for purpose, satisfactory quality and |
frank26080115 | 0:bf7b9fba3924 | 11 | * noninfringement. Keil extends you a royalty-free right to reproduce |
frank26080115 | 0:bf7b9fba3924 | 12 | * and distribute executable files created using this software for use |
frank26080115 | 0:bf7b9fba3924 | 13 | * on NXP Semiconductors LPC family microcontroller devices only. Nothing |
frank26080115 | 0:bf7b9fba3924 | 14 | * else gives you the right to use this software. |
frank26080115 | 0:bf7b9fba3924 | 15 | * |
frank26080115 | 0:bf7b9fba3924 | 16 | * Copyright (c) 2009 Keil - An ARM Company. All rights reserved. |
frank26080115 | 0:bf7b9fba3924 | 17 | *---------------------------------------------------------------------------- |
frank26080115 | 0:bf7b9fba3924 | 18 | * History: |
frank26080115 | 0:bf7b9fba3924 | 19 | * V1.20 Changed string descriptor handling |
frank26080115 | 0:bf7b9fba3924 | 20 | * V1.00 Initial Version |
frank26080115 | 0:bf7b9fba3924 | 21 | *----------------------------------------------------------------------------*/ |
frank26080115 | 0:bf7b9fba3924 | 22 | #include "lpc_types.h" |
frank26080115 | 0:bf7b9fba3924 | 23 | |
frank26080115 | 0:bf7b9fba3924 | 24 | #include "usb.h" |
frank26080115 | 0:bf7b9fba3924 | 25 | #include "audio.h" |
frank26080115 | 0:bf7b9fba3924 | 26 | #include "usbcfg.h" |
frank26080115 | 0:bf7b9fba3924 | 27 | #include "usbdesc.h" |
frank26080115 | 0:bf7b9fba3924 | 28 | |
frank26080115 | 0:bf7b9fba3924 | 29 | |
frank26080115 | 0:bf7b9fba3924 | 30 | /* USB Standard Device Descriptor */ |
frank26080115 | 0:bf7b9fba3924 | 31 | const uint8_t USB_DeviceDescriptor[] = { |
frank26080115 | 0:bf7b9fba3924 | 32 | USB_DEVICE_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 33 | USB_DEVICE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 34 | WBVAL(0x0200), /* 2.00 */ /* bcdUSB */ |
frank26080115 | 0:bf7b9fba3924 | 35 | 0x00, /* bDeviceClass */ |
frank26080115 | 0:bf7b9fba3924 | 36 | 0x00, /* bDeviceSubClass */ |
frank26080115 | 0:bf7b9fba3924 | 37 | 0x00, /* bDeviceProtocol */ |
frank26080115 | 0:bf7b9fba3924 | 38 | USB_MAX_PACKET0, /* bMaxPacketSize0 */ |
frank26080115 | 0:bf7b9fba3924 | 39 | WBVAL(0x1FC9), /* idVendor */ |
frank26080115 | 0:bf7b9fba3924 | 40 | WBVAL(0x4002), /* idProduct */ |
frank26080115 | 0:bf7b9fba3924 | 41 | WBVAL(0x0100), /* 1.00 */ /* bcdDevice */ |
frank26080115 | 0:bf7b9fba3924 | 42 | 0x01, /* iManufacturer */ |
frank26080115 | 0:bf7b9fba3924 | 43 | 0x02, /* iProduct */ |
frank26080115 | 0:bf7b9fba3924 | 44 | 0x03, /* iSerialNumber */ |
frank26080115 | 0:bf7b9fba3924 | 45 | 0x01 /* bNumConfigurations: one possible configuration*/ |
frank26080115 | 0:bf7b9fba3924 | 46 | }; |
frank26080115 | 0:bf7b9fba3924 | 47 | |
frank26080115 | 0:bf7b9fba3924 | 48 | /* USB Configuration Descriptor */ |
frank26080115 | 0:bf7b9fba3924 | 49 | /* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */ |
frank26080115 | 0:bf7b9fba3924 | 50 | const uint8_t USB_ConfigDescriptor[] = { |
frank26080115 | 0:bf7b9fba3924 | 51 | /* Configuration 1 */ |
frank26080115 | 0:bf7b9fba3924 | 52 | USB_CONFIGUARTION_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 53 | USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 54 | WBVAL( /* wTotalLength */ |
frank26080115 | 0:bf7b9fba3924 | 55 | USB_CONFIGUARTION_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 56 | USB_INTERFACE_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 57 | AUDIO_CONTROL_INTERFACE_DESC_SZ(1) + |
frank26080115 | 0:bf7b9fba3924 | 58 | AUDIO_INPUT_TERMINAL_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 59 | AUDIO_FEATURE_UNIT_DESC_SZ(1,1) + |
frank26080115 | 0:bf7b9fba3924 | 60 | AUDIO_OUTPUT_TERMINAL_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 61 | USB_INTERFACE_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 62 | USB_INTERFACE_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 63 | AUDIO_STREAMING_INTERFACE_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 64 | AUDIO_FORMAT_TYPE_I_DESC_SZ(1) + |
frank26080115 | 0:bf7b9fba3924 | 65 | AUDIO_STANDARD_ENDPOINT_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 66 | AUDIO_STREAMING_ENDPOINT_DESC_SIZE |
frank26080115 | 0:bf7b9fba3924 | 67 | ), |
frank26080115 | 0:bf7b9fba3924 | 68 | 0x02, /* bNumInterfaces */ |
frank26080115 | 0:bf7b9fba3924 | 69 | 0x01, /* bConfigurationValue */ |
frank26080115 | 0:bf7b9fba3924 | 70 | 0x00, /* iConfiguration */ |
frank26080115 | 0:bf7b9fba3924 | 71 | USB_CONFIG_BUS_POWERED, /* bmAttributes */ |
frank26080115 | 0:bf7b9fba3924 | 72 | USB_CONFIG_POWER_MA(100), /* bMaxPower */ |
frank26080115 | 0:bf7b9fba3924 | 73 | /* Interface 0, Alternate Setting 0, Audio Control */ |
frank26080115 | 0:bf7b9fba3924 | 74 | USB_INTERFACE_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 75 | USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 76 | 0x00, /* bInterfaceNumber */ |
frank26080115 | 0:bf7b9fba3924 | 77 | 0x00, /* bAlternateSetting */ |
frank26080115 | 0:bf7b9fba3924 | 78 | 0x00, /* bNumEndpoints */ |
frank26080115 | 0:bf7b9fba3924 | 79 | USB_DEVICE_CLASS_AUDIO, /* bInterfaceClass */ |
frank26080115 | 0:bf7b9fba3924 | 80 | AUDIO_SUBCLASS_AUDIOCONTROL, /* bInterfaceSubClass */ |
frank26080115 | 0:bf7b9fba3924 | 81 | AUDIO_PROTOCOL_UNDEFINED, /* bInterfaceProtocol */ |
frank26080115 | 0:bf7b9fba3924 | 82 | 0x00, /* iInterface */ |
frank26080115 | 0:bf7b9fba3924 | 83 | /* Audio Control Interface */ |
frank26080115 | 0:bf7b9fba3924 | 84 | AUDIO_CONTROL_INTERFACE_DESC_SZ(1), /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 85 | AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 86 | AUDIO_CONTROL_HEADER, /* bDescriptorSubtype */ |
frank26080115 | 0:bf7b9fba3924 | 87 | WBVAL(0x0100), /* 1.00 */ /* bcdADC */ |
frank26080115 | 0:bf7b9fba3924 | 88 | WBVAL( /* wTotalLength */ |
frank26080115 | 0:bf7b9fba3924 | 89 | AUDIO_CONTROL_INTERFACE_DESC_SZ(1) + |
frank26080115 | 0:bf7b9fba3924 | 90 | AUDIO_INPUT_TERMINAL_DESC_SIZE + |
frank26080115 | 0:bf7b9fba3924 | 91 | AUDIO_FEATURE_UNIT_DESC_SZ(1,1) + |
frank26080115 | 0:bf7b9fba3924 | 92 | AUDIO_OUTPUT_TERMINAL_DESC_SIZE |
frank26080115 | 0:bf7b9fba3924 | 93 | ), |
frank26080115 | 0:bf7b9fba3924 | 94 | 0x01, /* bInCollection */ |
frank26080115 | 0:bf7b9fba3924 | 95 | 0x01, /* baInterfaceNr */ |
frank26080115 | 0:bf7b9fba3924 | 96 | /* Audio Input Terminal */ |
frank26080115 | 0:bf7b9fba3924 | 97 | AUDIO_INPUT_TERMINAL_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 98 | AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 99 | AUDIO_CONTROL_INPUT_TERMINAL, /* bDescriptorSubtype */ |
frank26080115 | 0:bf7b9fba3924 | 100 | 0x01, /* bTerminalID */ |
frank26080115 | 0:bf7b9fba3924 | 101 | WBVAL(AUDIO_TERMINAL_USB_STREAMING), /* wTerminalType */ |
frank26080115 | 0:bf7b9fba3924 | 102 | 0x00, /* bAssocTerminal */ |
frank26080115 | 0:bf7b9fba3924 | 103 | 0x01, /* bNrChannels */ |
frank26080115 | 0:bf7b9fba3924 | 104 | WBVAL(AUDIO_CHANNEL_M), /* wChannelConfig */ |
frank26080115 | 0:bf7b9fba3924 | 105 | 0x00, /* iChannelNames */ |
frank26080115 | 0:bf7b9fba3924 | 106 | 0x00, /* iTerminal */ |
frank26080115 | 0:bf7b9fba3924 | 107 | /* Audio Feature Unit */ |
frank26080115 | 0:bf7b9fba3924 | 108 | AUDIO_FEATURE_UNIT_DESC_SZ(1,1), /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 109 | AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 110 | AUDIO_CONTROL_FEATURE_UNIT, /* bDescriptorSubtype */ |
frank26080115 | 0:bf7b9fba3924 | 111 | 0x02, /* bUnitID */ |
frank26080115 | 0:bf7b9fba3924 | 112 | 0x01, /* bSourceID */ |
frank26080115 | 0:bf7b9fba3924 | 113 | 0x01, /* bControlSize */ |
frank26080115 | 0:bf7b9fba3924 | 114 | AUDIO_CONTROL_MUTE | |
frank26080115 | 0:bf7b9fba3924 | 115 | AUDIO_CONTROL_VOLUME, /* bmaControls(0) */ |
frank26080115 | 0:bf7b9fba3924 | 116 | 0x00, /* bmaControls(1) */ |
frank26080115 | 0:bf7b9fba3924 | 117 | 0x00, /* iTerminal */ |
frank26080115 | 0:bf7b9fba3924 | 118 | /* Audio Output Terminal */ |
frank26080115 | 0:bf7b9fba3924 | 119 | AUDIO_OUTPUT_TERMINAL_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 120 | AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 121 | AUDIO_CONTROL_OUTPUT_TERMINAL, /* bDescriptorSubtype */ |
frank26080115 | 0:bf7b9fba3924 | 122 | 0x03, /* bTerminalID */ |
frank26080115 | 0:bf7b9fba3924 | 123 | WBVAL(AUDIO_TERMINAL_SPEAKER), /* wTerminalType */ |
frank26080115 | 0:bf7b9fba3924 | 124 | 0x00, /* bAssocTerminal */ |
frank26080115 | 0:bf7b9fba3924 | 125 | 0x02, /* bSourceID */ |
frank26080115 | 0:bf7b9fba3924 | 126 | 0x00, /* iTerminal */ |
frank26080115 | 0:bf7b9fba3924 | 127 | /* Interface 1, Alternate Setting 0, Audio Streaming - Zero Bandwith */ |
frank26080115 | 0:bf7b9fba3924 | 128 | USB_INTERFACE_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 129 | USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 130 | 0x01, /* bInterfaceNumber */ |
frank26080115 | 0:bf7b9fba3924 | 131 | 0x00, /* bAlternateSetting */ |
frank26080115 | 0:bf7b9fba3924 | 132 | 0x00, /* bNumEndpoints */ |
frank26080115 | 0:bf7b9fba3924 | 133 | USB_DEVICE_CLASS_AUDIO, /* bInterfaceClass */ |
frank26080115 | 0:bf7b9fba3924 | 134 | AUDIO_SUBCLASS_AUDIOSTREAMING, /* bInterfaceSubClass */ |
frank26080115 | 0:bf7b9fba3924 | 135 | AUDIO_PROTOCOL_UNDEFINED, /* bInterfaceProtocol */ |
frank26080115 | 0:bf7b9fba3924 | 136 | 0x00, /* iInterface */ |
frank26080115 | 0:bf7b9fba3924 | 137 | /* Interface 1, Alternate Setting 1, Audio Streaming - Operational */ |
frank26080115 | 0:bf7b9fba3924 | 138 | USB_INTERFACE_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 139 | USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 140 | 0x01, /* bInterfaceNumber */ |
frank26080115 | 0:bf7b9fba3924 | 141 | 0x01, /* bAlternateSetting */ |
frank26080115 | 0:bf7b9fba3924 | 142 | 0x01, /* bNumEndpoints */ |
frank26080115 | 0:bf7b9fba3924 | 143 | USB_DEVICE_CLASS_AUDIO, /* bInterfaceClass */ |
frank26080115 | 0:bf7b9fba3924 | 144 | AUDIO_SUBCLASS_AUDIOSTREAMING, /* bInterfaceSubClass */ |
frank26080115 | 0:bf7b9fba3924 | 145 | AUDIO_PROTOCOL_UNDEFINED, /* bInterfaceProtocol */ |
frank26080115 | 0:bf7b9fba3924 | 146 | 0x00, /* iInterface */ |
frank26080115 | 0:bf7b9fba3924 | 147 | /* Audio Streaming Interface */ |
frank26080115 | 0:bf7b9fba3924 | 148 | AUDIO_STREAMING_INTERFACE_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 149 | AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 150 | AUDIO_STREAMING_GENERAL, /* bDescriptorSubtype */ |
frank26080115 | 0:bf7b9fba3924 | 151 | 0x01, /* bTerminalLink */ |
frank26080115 | 0:bf7b9fba3924 | 152 | 0x01, /* bDelay */ |
frank26080115 | 0:bf7b9fba3924 | 153 | WBVAL(AUDIO_FORMAT_PCM), /* wFormatTag */ |
frank26080115 | 0:bf7b9fba3924 | 154 | /* Audio Type I Format */ |
frank26080115 | 0:bf7b9fba3924 | 155 | AUDIO_FORMAT_TYPE_I_DESC_SZ(1), /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 156 | AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 157 | AUDIO_STREAMING_FORMAT_TYPE, /* bDescriptorSubtype */ |
frank26080115 | 0:bf7b9fba3924 | 158 | AUDIO_FORMAT_TYPE_I, /* bFormatType */ |
frank26080115 | 0:bf7b9fba3924 | 159 | 0x01, /* bNrChannels */ |
frank26080115 | 0:bf7b9fba3924 | 160 | 0x02, /* bSubFrameSize */ |
frank26080115 | 0:bf7b9fba3924 | 161 | 16, /* bBitResolution */ |
frank26080115 | 0:bf7b9fba3924 | 162 | 0x01, /* bSamFreqType */ |
frank26080115 | 0:bf7b9fba3924 | 163 | B3VAL(32000), /* tSamFreq */ |
frank26080115 | 0:bf7b9fba3924 | 164 | /* Endpoint - Standard Descriptor */ |
frank26080115 | 0:bf7b9fba3924 | 165 | AUDIO_STANDARD_ENDPOINT_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 166 | USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 167 | USB_ENDPOINT_OUT(3), /* bEndpointAddress */ |
frank26080115 | 0:bf7b9fba3924 | 168 | USB_ENDPOINT_TYPE_ISOCHRONOUS, /* bmAttributes */ |
frank26080115 | 0:bf7b9fba3924 | 169 | WBVAL(64), /* wMaxPacketSize */ |
frank26080115 | 0:bf7b9fba3924 | 170 | 0x01, /* bInterval */ |
frank26080115 | 0:bf7b9fba3924 | 171 | 0x00, /* bRefresh */ |
frank26080115 | 0:bf7b9fba3924 | 172 | 0x00, /* bSynchAddress */ |
frank26080115 | 0:bf7b9fba3924 | 173 | /* Endpoint - Audio Streaming */ |
frank26080115 | 0:bf7b9fba3924 | 174 | AUDIO_STREAMING_ENDPOINT_DESC_SIZE, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 175 | AUDIO_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 176 | AUDIO_ENDPOINT_GENERAL, /* bDescriptor */ |
frank26080115 | 0:bf7b9fba3924 | 177 | 0x00, /* bmAttributes */ |
frank26080115 | 0:bf7b9fba3924 | 178 | 0x00, /* bLockDelayUnits */ |
frank26080115 | 0:bf7b9fba3924 | 179 | WBVAL(0x0000), /* wLockDelay */ |
frank26080115 | 0:bf7b9fba3924 | 180 | /* Terminator */ |
frank26080115 | 0:bf7b9fba3924 | 181 | 0 /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 182 | }; |
frank26080115 | 0:bf7b9fba3924 | 183 | |
frank26080115 | 0:bf7b9fba3924 | 184 | /* USB String Descriptor (optional) */ |
frank26080115 | 0:bf7b9fba3924 | 185 | const uint8_t USB_StringDescriptor[] = { |
frank26080115 | 0:bf7b9fba3924 | 186 | /* Index 0x00: LANGID Codes */ |
frank26080115 | 0:bf7b9fba3924 | 187 | 0x04, /* bLength */ |
frank26080115 | 0:bf7b9fba3924 | 188 | USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 189 | WBVAL(0x0409), /* US English */ /* wLANGID */ |
frank26080115 | 0:bf7b9fba3924 | 190 | /* Index 0x01: Manufacturer */ |
frank26080115 | 0:bf7b9fba3924 | 191 | (13*2 + 2), /* bLength (13 Char + Type + lenght) */ |
frank26080115 | 0:bf7b9fba3924 | 192 | USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 193 | 'N',0, |
frank26080115 | 0:bf7b9fba3924 | 194 | 'X',0, |
frank26080115 | 0:bf7b9fba3924 | 195 | 'P',0, |
frank26080115 | 0:bf7b9fba3924 | 196 | ' ',0, |
frank26080115 | 0:bf7b9fba3924 | 197 | 'S',0, |
frank26080115 | 0:bf7b9fba3924 | 198 | 'e',0, |
frank26080115 | 0:bf7b9fba3924 | 199 | 'm',0, |
frank26080115 | 0:bf7b9fba3924 | 200 | 'i',0, |
frank26080115 | 0:bf7b9fba3924 | 201 | 'c',0, |
frank26080115 | 0:bf7b9fba3924 | 202 | 'o',0, |
frank26080115 | 0:bf7b9fba3924 | 203 | 'n',0, |
frank26080115 | 0:bf7b9fba3924 | 204 | 'd',0, |
frank26080115 | 0:bf7b9fba3924 | 205 | ' ',0, |
frank26080115 | 0:bf7b9fba3924 | 206 | /* Index 0x02: Product */ |
frank26080115 | 0:bf7b9fba3924 | 207 | (20*2 + 2), /* bLength ( 20 Char + Type + lenght) */ |
frank26080115 | 0:bf7b9fba3924 | 208 | USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 209 | 'N',0, |
frank26080115 | 0:bf7b9fba3924 | 210 | 'X',0, |
frank26080115 | 0:bf7b9fba3924 | 211 | 'P',0, |
frank26080115 | 0:bf7b9fba3924 | 212 | ' ',0, |
frank26080115 | 0:bf7b9fba3924 | 213 | 'L',0, |
frank26080115 | 0:bf7b9fba3924 | 214 | 'P',0, |
frank26080115 | 0:bf7b9fba3924 | 215 | 'C',0, |
frank26080115 | 0:bf7b9fba3924 | 216 | '1',0, |
frank26080115 | 0:bf7b9fba3924 | 217 | '7',0, |
frank26080115 | 0:bf7b9fba3924 | 218 | 'x',0, |
frank26080115 | 0:bf7b9fba3924 | 219 | 'x',0, |
frank26080115 | 0:bf7b9fba3924 | 220 | ' ',0, |
frank26080115 | 0:bf7b9fba3924 | 221 | 'S',0, |
frank26080115 | 0:bf7b9fba3924 | 222 | 'p',0, |
frank26080115 | 0:bf7b9fba3924 | 223 | 'e',0, |
frank26080115 | 0:bf7b9fba3924 | 224 | 'a',0, |
frank26080115 | 0:bf7b9fba3924 | 225 | 'k',0, |
frank26080115 | 0:bf7b9fba3924 | 226 | 'e',0, |
frank26080115 | 0:bf7b9fba3924 | 227 | 'r',0, |
frank26080115 | 0:bf7b9fba3924 | 228 | ' ',0, |
frank26080115 | 0:bf7b9fba3924 | 229 | /* Index 0x03: Serial Number */ |
frank26080115 | 0:bf7b9fba3924 | 230 | (12*2 + 2), /* bLength (12 Char + Type + lenght) */ |
frank26080115 | 0:bf7b9fba3924 | 231 | USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ |
frank26080115 | 0:bf7b9fba3924 | 232 | 'D',0, |
frank26080115 | 0:bf7b9fba3924 | 233 | 'E',0, |
frank26080115 | 0:bf7b9fba3924 | 234 | 'M',0, |
frank26080115 | 0:bf7b9fba3924 | 235 | 'O',0, |
frank26080115 | 0:bf7b9fba3924 | 236 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 237 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 238 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 239 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 240 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 241 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 242 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 243 | '0',0, |
frank26080115 | 0:bf7b9fba3924 | 244 | }; |