3939#define USBD_LANGID_STRING 0x409 /* 1033 US.S English */
4040
4141#ifdef USBD_USE_HID_COMPOSITE
42- #define USBD_HID_PID 0x5711
43- #define USBD_HID_PRODUCT_HS_STRING CONCATS(USB_PRODUCT, "HID in HS Mode")
44- #define USBD_HID_PRODUCT_FS_STRING CONCATS(USB_PRODUCT, "HID in FS Mode")
45- #define USBD_HID_CONFIGURATION_HS_STRING CONCATS(USB_PRODUCT, "HID Config")
46- #define USBD_HID_INTERFACE_HS_STRING CONCATS(USB_PRODUCT, "HID Interface")
47- #define USBD_HID_CONFIGURATION_FS_STRING CONCATS(USB_PRODUCT, "HID Config")
48- #define USBD_HID_INTERFACE_FS_STRING CONCATS(USB_PRODUCT, "HID Interface")
42+ #define USBD_CLASS_PID 0x5711
43+ #define USBD_CLASS_PRODUCT_HS_STRING CONCATS(USB_PRODUCT, "HID in HS Mode")
44+ #define USBD_CLASS_PRODUCT_FS_STRING CONCATS(USB_PRODUCT, "HID in FS Mode")
45+ #define USBD_CLASS_CONFIGURATION_HS_STRING CONCATS(USB_PRODUCT, "HID Config")
46+ #define USBD_CLASS_INTERFACE_HS_STRING CONCATS(USB_PRODUCT, "HID Interface")
47+ #define USBD_CLASS_CONFIGURATION_FS_STRING CONCATS(USB_PRODUCT, "HID Config")
48+ #define USBD_CLASS_INTERFACE_FS_STRING CONCATS(USB_PRODUCT, "HID Interface")
4949#endif /* USBD_USE_HID_COMPOSITE */
5050
5151#ifdef USBD_USE_CDC
52- #define USBD_CDC_PID 0x5740
53- #define USBD_CDC_PRODUCT_HS_STRING CONCATS(USB_PRODUCT, "CDC in HS Mode")
54- #define USBD_CDC_PRODUCT_FS_STRING CONCATS(USB_PRODUCT, "CDC in FS Mode")
55- #define USBD_CDC_CONFIGURATION_HS_STRING CONCATS(USB_PRODUCT, "CDC Config")
56- #define USBD_CDC_INTERFACE_HS_STRING CONCATS(USB_PRODUCT, "CDC Interface")
57- #define USBD_CDC_CONFIGURATION_FS_STRING CONCATS(USB_PRODUCT, "CDC Config")
58- #define USBD_CDC_INTERFACE_FS_STRING CONCATS(USB_PRODUCT, "CDC Interface")
52+ #define USBD_CLASS_PID 0x5740
53+ #define USBD_CLASS_PRODUCT_HS_STRING CONCATS(USB_PRODUCT, "CDC in HS Mode")
54+ #define USBD_CLASS_PRODUCT_FS_STRING CONCATS(USB_PRODUCT, "CDC in FS Mode")
55+ #define USBD_CLASS_CONFIGURATION_HS_STRING CONCATS(USB_PRODUCT, "CDC Config")
56+ #define USBD_CLASS_INTERFACE_HS_STRING CONCATS(USB_PRODUCT, "CDC Interface")
57+ #define USBD_CLASS_CONFIGURATION_FS_STRING CONCATS(USB_PRODUCT, "CDC Config")
58+ #define USBD_CLASS_INTERFACE_FS_STRING CONCATS(USB_PRODUCT, "CDC Interface")
5959#endif /* USBD_USE_CDC */
6060
6161/* Private macro -------------------------------------------------------------*/
@@ -66,37 +66,29 @@ uint8_t *USBD_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *lengt
6666uint8_t * USBD_SerialStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
6767
6868/* Class specific */
69- #ifdef USBD_USE_HID_COMPOSITE
70- uint8_t * USBD_HID_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
71- uint8_t * USBD_HID_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
72- uint8_t * USBD_HID_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
73- uint8_t * USBD_HID_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
74- #endif /* USBD_USE_HID_COMPOSITE */
75- #ifdef USBD_USE_CDC
76- uint8_t * USBD_CDC_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
77- uint8_t * USBD_CDC_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
78- uint8_t * USBD_CDC_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
79- uint8_t * USBD_CDC_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
80- #endif /* USBD_USE_CDC */
69+ uint8_t * USBD_Class_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
70+ uint8_t * USBD_Class_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
71+ uint8_t * USBD_Class_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
72+ uint8_t * USBD_Class_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
8173
8274#ifdef USB_SUPPORT_USER_STRING_DESC
8375uint8_t * USBD_Class_USRStringDesc (USBD_SpeedTypeDef speed , uint8_t idx , uint16_t * length );
8476#endif /* USB_SUPPORT_USER_STRING_DESC */
8577
8678/* Private variables ---------------------------------------------------------*/
87- #ifdef USBD_USE_HID_COMPOSITE
88- USBD_DescriptorsTypeDef HID_Desc = {
89- USBD_HID_DeviceDescriptor ,
79+ USBD_DescriptorsTypeDef USBD_Desc = {
80+ USBD_Class_DeviceDescriptor ,
9081 USBD_LangIDStrDescriptor ,
9182 USBD_ManufacturerStrDescriptor ,
92- USBD_HID_ProductStrDescriptor ,
83+ USBD_Class_ProductStrDescriptor ,
9384 USBD_SerialStrDescriptor ,
94- USBD_HID_ConfigStrDescriptor ,
95- USBD_HID_InterfaceStrDescriptor ,
85+ USBD_Class_ConfigStrDescriptor ,
86+ USBD_Class_InterfaceStrDescriptor ,
9687};
9788
89+ #ifdef USBD_USE_HID_COMPOSITE
9890/* USB Standard Device Descriptor */
99- __ALIGN_BEGIN uint8_t USBD_HID_DeviceDesc [USB_LEN_DEV_DESC ] __ALIGN_END = {
91+ __ALIGN_BEGIN uint8_t USBD_Class_DeviceDesc [USB_LEN_DEV_DESC ] __ALIGN_END = {
10092 0x12 , /* bLength */
10193 USB_DESC_TYPE_DEVICE , /* bDescriptorType */
10294 0x00 , /* bcdUSB */
@@ -107,8 +99,8 @@ __ALIGN_BEGIN uint8_t USBD_HID_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END = {
10799 USB_MAX_EP0_SIZE , /* bMaxPacketSize */
108100 LOBYTE (USBD_VID ), /* idVendor */
109101 HIBYTE (USBD_VID ), /* idVendor */
110- LOBYTE (USBD_HID_PID ), /* idVendor */
111- HIBYTE (USBD_HID_PID ), /* idVendor */
102+ LOBYTE (USBD_CLASS_PID ), /* idVendor */
103+ HIBYTE (USBD_CLASS_PID ), /* idVendor */
112104 0x00 , /* bcdDevice rel. 2.00 */
113105 0x02 ,
114106 USBD_IDX_MFC_STR , /* Index of manufacturer string */
@@ -119,18 +111,8 @@ __ALIGN_BEGIN uint8_t USBD_HID_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END = {
119111#endif /* USBD_USE_HID_COMPOSITE */
120112
121113#ifdef USBD_USE_CDC
122- USBD_DescriptorsTypeDef CDC_Desc = {
123- USBD_CDC_DeviceDescriptor ,
124- USBD_LangIDStrDescriptor ,
125- USBD_ManufacturerStrDescriptor ,
126- USBD_CDC_ProductStrDescriptor ,
127- USBD_SerialStrDescriptor ,
128- USBD_CDC_ConfigStrDescriptor ,
129- USBD_CDC_InterfaceStrDescriptor ,
130- };
131-
132114/* USB Standard Device Descriptor */
133- __ALIGN_BEGIN uint8_t USBD_CDC_DeviceDesc [USB_LEN_DEV_DESC ] __ALIGN_END = {
115+ __ALIGN_BEGIN uint8_t USBD_Class_DeviceDesc [USB_LEN_DEV_DESC ] __ALIGN_END = {
134116 0x12 , /* bLength */
135117 USB_DESC_TYPE_DEVICE , /* bDescriptorType */
136118 0x00 , /* bcdUSB */
@@ -141,8 +123,8 @@ __ALIGN_BEGIN uint8_t USBD_CDC_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END = {
141123 USB_MAX_EP0_SIZE , /* bMaxPacketSize */
142124 LOBYTE (USBD_VID ), /* idVendor */
143125 HIBYTE (USBD_VID ), /* idVendor */
144- LOBYTE (USBD_CDC_PID ), /* idVendor */
145- HIBYTE (USBD_CDC_PID ), /* idVendor */
126+ LOBYTE (USBD_CLASS_PID ), /* idVendor */
127+ HIBYTE (USBD_CLASS_PID ), /* idVendor */
146128 0x00 , /* bcdDevice rel. 2.00 */
147129 0x02 ,
148130 USBD_IDX_MFC_STR , /* Index of manufacturer string */
@@ -177,22 +159,13 @@ static void Get_SerialNum(void);
177159 * @param length: Pointer to data length variable
178160 * @retval Pointer to descriptor buffer
179161 */
180- #ifdef USBD_USE_HID_COMPOSITE
181- uint8_t * USBD_HID_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
162+ uint8_t * USBD_Class_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
182163{
183164 UNUSED (speed );
184- * length = sizeof (USBD_HID_DeviceDesc );
185- return (uint8_t * )USBD_HID_DeviceDesc ;
165+ * length = sizeof (USBD_Class_DeviceDesc );
166+ return (uint8_t * )USBD_Class_DeviceDesc ;
186167}
187- #endif
188- #ifdef USBD_USE_CDC
189- uint8_t * USBD_CDC_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
190- {
191- UNUSED (speed );
192- * length = sizeof (USBD_CDC_DeviceDesc );
193- return (uint8_t * )USBD_CDC_DeviceDesc ;
194- }
195- #endif
168+
196169/**
197170 * @brief Returns the LangID string descriptor.
198171 * @param speed: Current device speed
@@ -212,28 +185,15 @@ uint8_t *USBD_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
212185 * @param length: Pointer to data length variable
213186 * @retval Pointer to descriptor buffer
214187 */
215- #ifdef USBD_USE_HID_COMPOSITE
216- uint8_t * USBD_HID_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
188+ uint8_t * USBD_Class_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
217189{
218190 if (speed == USBD_SPEED_HIGH ) {
219- USBD_GetString ((uint8_t * )USBD_HID_PRODUCT_HS_STRING , USBD_StrDesc , length );
191+ USBD_GetString ((uint8_t * )USBD_CLASS_PRODUCT_HS_STRING , USBD_StrDesc , length );
220192 } else {
221- USBD_GetString ((uint8_t * )USBD_HID_PRODUCT_FS_STRING , USBD_StrDesc , length );
193+ USBD_GetString ((uint8_t * )USBD_CLASS_PRODUCT_FS_STRING , USBD_StrDesc , length );
222194 }
223195 return USBD_StrDesc ;
224196}
225- #endif /* USBD_USE_HID_COMPOSITE */
226- #ifdef USBD_USE_CDC
227- uint8_t * USBD_CDC_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
228- {
229- if (speed == USBD_SPEED_HIGH ) {
230- USBD_GetString ((uint8_t * )USBD_CDC_PRODUCT_HS_STRING , USBD_StrDesc , length );
231- } else {
232- USBD_GetString ((uint8_t * )USBD_CDC_PRODUCT_FS_STRING , USBD_StrDesc , length );
233- }
234- return USBD_StrDesc ;
235- }
236- #endif /* USBD_USE_CDC */
237197
238198/**
239199 * @brief Returns the manufacturer string descriptor.
@@ -271,57 +231,31 @@ uint8_t *USBD_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
271231 * @param length: Pointer to data length variable
272232 * @retval Pointer to descriptor buffer
273233 */
274- #ifdef USBD_USE_HID_COMPOSITE
275- uint8_t * USBD_HID_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
276- {
277- if (speed == USBD_SPEED_HIGH ) {
278- USBD_GetString ((uint8_t * )USBD_HID_CONFIGURATION_HS_STRING , USBD_StrDesc , length );
279- } else {
280- USBD_GetString ((uint8_t * )USBD_HID_CONFIGURATION_FS_STRING , USBD_StrDesc , length );
281- }
282- return USBD_StrDesc ;
283- }
284- #endif /* USBD_USE_HID_COMPOSITE */
285- #ifdef USBD_USE_CDC
286- uint8_t * USBD_CDC_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
234+ uint8_t * USBD_Class_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
287235{
288236 if (speed == USBD_SPEED_HIGH ) {
289- USBD_GetString ((uint8_t * )USBD_CDC_CONFIGURATION_HS_STRING , USBD_StrDesc , length );
237+ USBD_GetString ((uint8_t * )USBD_CLASS_CONFIGURATION_HS_STRING , USBD_StrDesc , length );
290238 } else {
291- USBD_GetString ((uint8_t * )USBD_CDC_CONFIGURATION_FS_STRING , USBD_StrDesc , length );
239+ USBD_GetString ((uint8_t * )USBD_CLASS_CONFIGURATION_FS_STRING , USBD_StrDesc , length );
292240 }
293241 return USBD_StrDesc ;
294242}
295- #endif /* USBD_USE_CDC */
296243
297244/**
298245 * @brief Returns the interface string descriptor.
299246 * @param speed: Current device speed
300247 * @param length: Pointer to data length variable
301248 * @retval Pointer to descriptor buffer
302249 */
303- #ifdef USBD_USE_HID_COMPOSITE
304- uint8_t * USBD_HID_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
305- {
306- if (speed == USBD_SPEED_HIGH ) {
307- USBD_GetString ((uint8_t * )USBD_HID_INTERFACE_HS_STRING , USBD_StrDesc , length );
308- } else {
309- USBD_GetString ((uint8_t * )USBD_HID_INTERFACE_FS_STRING , USBD_StrDesc , length );
310- }
311- return USBD_StrDesc ;
312- }
313- #endif /* USBD_USE_HID_COMPOSITE */
314- #ifdef USBD_USE_CDC
315- uint8_t * USBD_CDC_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
250+ uint8_t * USBD_Class_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
316251{
317252 if (speed == USBD_SPEED_HIGH ) {
318- USBD_GetString ((uint8_t * )USBD_CDC_INTERFACE_HS_STRING , USBD_StrDesc , length );
253+ USBD_GetString ((uint8_t * )USBD_CLASS_INTERFACE_HS_STRING , USBD_StrDesc , length );
319254 } else {
320- USBD_GetString ((uint8_t * )USBD_CDC_INTERFACE_FS_STRING , USBD_StrDesc , length );
255+ USBD_GetString ((uint8_t * )USBD_CLASS_INTERFACE_FS_STRING , USBD_StrDesc , length );
321256 }
322257 return USBD_StrDesc ;
323258}
324- #endif /* USBD_USE_CDC */
325259
326260/**
327261 * @brief Create the serial number string descriptor
0 commit comments