📄 usbprinterdriverdescriptors.lst
字号:
\ 00000000 0902 DC8 9, 2
\ 00000002 2000 DC16 32
\ 00000004 010100C03209 DC8 1, 1, 0, 192, 50, 9, 4, 0, 0, 2, 7, 1, 2, 0, 7, 5, 1, 2
\ 040000020701
\ 020007050102
\ 00000016 4000 DC16 64
\ 00000018 0007058202 DC8 0, 7, 5, 130, 2
\ 0000001D 4000 DC16 64
\ 0000001F 00 DC8 0
114
115 // Standard configuration descriptor
116 {
117 sizeof(USBConfigurationDescriptor),
118 USBGenericDescriptor_CONFIGURATION,
119 sizeof(USBPrinterDriverConfigurationDescriptors),
120 1, // There are one interfaces in this configuration
121 1, // This is configuration #1
122 0, // No string descriptor for this configuration
123 BOARD_USB_BMATTRIBUTES,
124 USBConfigurationDescriptor_POWER(100)
125 },
126 // Data class interface standard descriptor
127 {
128 sizeof(USBInterfaceDescriptor),
129 USBGenericDescriptor_INTERFACE,
130 0, // This is interface #0
131 0, // This is alternate setting #0 for this interface
132 2, // This interface uses 2 endpoints
133 USBPrintDataInterfaceDescriptor_CLASS,
134 USBPrintDataInterfaceDescriptor_SUBCLASS,
135 USBPrintDataInterfaceDescriptor_PROTOCOL,
136 0 // No string descriptor for this interface
137 },
138 // Bulk-OUT endpoint standard descriptor
139 {
140 sizeof(USBEndpointDescriptor),
141 USBGenericDescriptor_ENDPOINT,
142 USBEndpointADDR_OUT,
143 USBEndpointDescriptor_BULK,
144 MIN(BOARD_USB_ENDPOINTS_MAXPACKETSIZE(USBPrinterDriverDescriptors_DATAOUT),
145 USBEndpointDescriptor_MAXBULKSIZE_FS),
146 0 // Must be 0 for full-speed bulk endpoints
147 },
148 // Bulk-IN endpoint descriptor
149 {
150 sizeof(USBEndpointDescriptor),
151 USBGenericDescriptor_ENDPOINT,
152 USBEndpointADDR_IN,
153 USBEndpointDescriptor_BULK,
154 MIN(BOARD_USB_ENDPOINTS_MAXPACKETSIZE(USBPrinterDriverDescriptors_DATAIN),
155 USBEndpointDescriptor_MAXBULKSIZE_FS),
156 0 // Must be 0 for full-speed bulk endpoints
157 },
158 };
159
160 /// Language ID string descriptor
\ In section .rodata, align 4
161 const unsigned char languageIdStringDescriptor[] = {
\ languageIdStringDescriptor:
\ 00000000 04030904 DC8 4, 3, 9, 4
162
163 USBStringDescriptor_LENGTH(1),
164 USBGenericDescriptor_STRING,
165 USBStringDescriptor_ENGLISH_US
166 };
167 /// Product string descriptor
\ In section .rodata, align 4
168 const unsigned char productStringDescriptor[] = {
\ productStringDescriptor:
\ 00000000 1A0353005400 DC8 26, 3, 83, 0, 84, 0, 65, 0, 82, 0, 95, 0, 80, 0, 82, 0, 73, 0, 78
\ 410052005F00
\ 500052004900
\ 4E
\ 00000013 005400450052 DC8 0, 84, 0, 69, 0, 82, 0, 0, 0
\ 000000
169
170 USBStringDescriptor_LENGTH(12),
171 USBGenericDescriptor_STRING,
172 USBStringDescriptor_UNICODE('S'),
173 USBStringDescriptor_UNICODE('T'),
174 USBStringDescriptor_UNICODE('A'),
175 USBStringDescriptor_UNICODE('R'),
176 USBStringDescriptor_UNICODE('_'),
177 USBStringDescriptor_UNICODE('P'),
178 USBStringDescriptor_UNICODE('R'),
179 USBStringDescriptor_UNICODE('I'),
180 USBStringDescriptor_UNICODE('N'),
181 USBStringDescriptor_UNICODE('T'),
182 USBStringDescriptor_UNICODE('E'),
183 USBStringDescriptor_UNICODE('R'),
184 };
185
186 /// List of string descriptors used by the device
\ In section .data, align 4
187 const unsigned char *stringDescriptors[] = {
\ stringDescriptors:
\ 00000000 ............ DC32 languageIdStringDescriptor, productStringDescriptor
\ ....
188
189 languageIdStringDescriptor,
190 productStringDescriptor,
191 };
192
193 /// List of standard descriptors for the serial driver.
\ In section .data, align 4
194 USBDDriverDescriptors usbPrinterDriverDescriptors = {
\ usbPrinterDriverDescriptors:
\ 00000000 ............ DC32 deviceDescriptor, configurationDescriptors, 0H, 0H, 0H, 0H, 0H, 0H
\ ....00000000
\ 000000000000
\ 000000000000
\ 000000000000
\ 0000
\ 00000020 ........ DC32 stringDescriptors
\ 00000024 02000000 DC8 2, 0, 0, 0
195
196 &deviceDescriptor,
197 (USBConfigurationDescriptor *) &(configurationDescriptors),
198 #ifdef BOARD_USB_UDPHS
199 &qualifierDescriptor,
200 (USBConfigurationDescriptor *) &(otherSpeedDescriptorsFS),
201 &deviceDescriptor,
202 (USBConfigurationDescriptor *) &(configurationDescriptorsHS),
203 &qualifierDescriptor,
204 (USBConfigurationDescriptor *) &(otherSpeedDescriptorsHS),
205 #else
206 0, // No full-speed device qualifier descriptor
207 0, // No full-speed other speed configuration
208 0, // No high-speed device descriptor
209 0, // No high-speed configuration descriptor
210 0, // No high-speed device qualifier descriptor
211 0, // No high-speed other speed configuration descriptor
212
213 #endif
214 stringDescriptors,
215 2 // 2 string descriptors in list
216 };
217
Section sizes:
Function/Label Bytes
-------------- -----
deviceDescriptor 20
configurationDescriptors 32
languageIdStringDescriptor 4
productStringDescriptor 28
stringDescriptors 8
usbPrinterDriverDescriptors 40
48 bytes in section .data
84 bytes in section .rodata
84 bytes of CONST memory
48 bytes of DATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -