64
64
#elif !defined(USB_MANUFACTURER )
65
65
// Fall through to unknown if no manufacturer name was provided in a macro
66
66
#define USBD_MANUFACTURER_STRING "Unknown"
67
- #endif
67
+ #endif /* USBD_VID */
68
68
#ifdef USBD_USE_HID_COMPOSITE
69
- #define USBD_HID_PRODUCT_HS_STRING "HID in HS Mode"
70
69
#define USBD_HID_PRODUCT_FS_STRING "HID in FS Mode"
71
- #define USBD_HID_CONFIGURATION_HS_STRING "HID Config"
72
- #define USBD_HID_INTERFACE_HS_STRING "HID Interface"
73
70
#define USBD_HID_CONFIGURATION_FS_STRING "HID Config"
74
71
#define USBD_HID_INTERFACE_FS_STRING "HID Interface"
75
72
76
73
/* Private macro -------------------------------------------------------------*/
77
- /* Private function prototypes -----------------------------------------------*/
78
- static uint8_t * USBD_HID_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
79
- static uint8_t * USBD_HID_LangIDStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
80
- static uint8_t * USBD_HID_ManufacturerStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
74
+ /* Private function prototypes -----------------------------------------------*/ ;
81
75
static uint8_t * USBD_HID_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
82
- static uint8_t * USBD_HID_SerialStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
83
76
static uint8_t * USBD_HID_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
84
77
static uint8_t * USBD_HID_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length );
85
78
#ifdef USB_SUPPORT_USER_STRING_DESC
@@ -88,15 +81,15 @@ static uint8_t *USBD_HID_USRStringDesc (USBD_SpeedTypeDef speed, uint8_t idx, ui
88
81
89
82
/* Private variables ---------------------------------------------------------*/
90
83
USBD_DescriptorsTypeDef HID_Desc = {
91
- USBD_HID_DeviceDescriptor ,
92
- USBD_HID_LangIDStrDescriptor ,
93
- USBD_HID_ManufacturerStrDescriptor ,
84
+ USBD_DeviceDescriptor ,
85
+ USBD_LangIDStrDescriptor ,
86
+ USBD_ManufacturerStrDescriptor ,
94
87
USBD_HID_ProductStrDescriptor ,
95
- USBD_HID_SerialStrDescriptor ,
88
+ USBD_SerialStrDescriptor ,
96
89
USBD_HID_ConfigStrDescriptor ,
97
90
USBD_HID_InterfaceStrDescriptor ,
98
91
};
99
- #endif // USBD_USE_HID_COMPOSITE
92
+ #endif /* USBD_USE_HID_COMPOSITE */
100
93
101
94
/* USB Standard Device Descriptor */
102
95
#if defined ( __ICCARM__ ) /*!< IAR Compiler */
@@ -105,8 +98,8 @@ USBD_DescriptorsTypeDef HID_Desc = {
105
98
__ALIGN_BEGIN static uint8_t USBD_DeviceDesc [USB_LEN_DEV_DESC ] __ALIGN_END = {
106
99
0x12 , /* bLength */
107
100
USB_DESC_TYPE_DEVICE , /* bDescriptorType */
108
- 0x00 , /* bcdUSB */
109
- 0x02 ,
101
+ 0x01 , /* bcdUSB */
102
+ 0x01 ,
110
103
0x00 , /* bDeviceClass */
111
104
0x00 , /* bDeviceSubClass */
112
105
0x00 , /* bDeviceProtocol */
@@ -115,8 +108,8 @@ __ALIGN_BEGIN static uint8_t USBD_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END = {
115
108
HIBYTE (USBD_VID ), /* idVendor */
116
109
LOBYTE (USBD_PID ), /* idVendor */
117
110
HIBYTE (USBD_PID ), /* idVendor */
118
- 0x00 , /* bcdDevice rel. 2.00 */
119
- 0x02 ,
111
+ 0x01 , /* bcdDevice rel. 1.1 */
112
+ 0x01 ,
120
113
USBD_IDX_MFC_STR , /* Index of manufacturer string */
121
114
USBD_IDX_PRODUCT_STR , /* Index of product string */
122
115
USBD_IDX_SERIAL_STR , /* Index of serial number string */
@@ -149,14 +142,13 @@ __ALIGN_BEGIN static uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ] __ALIGN_END;
149
142
static void IntToUnicode (uint32_t value , uint8_t * pbuf , uint8_t len );
150
143
static void Get_SerialNum (void );
151
144
152
- #ifdef USBD_USE_HID_COMPOSITE
153
145
/**
154
146
* @brief Returns the device descriptor.
155
147
* @param speed: Current device speed
156
148
* @param length: Pointer to data length variable
157
149
* @retval Pointer to descriptor buffer
158
150
*/
159
- uint8_t * USBD_HID_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
151
+ uint8_t * USBD_DeviceDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
160
152
{
161
153
UNUSED (speed );
162
154
* length = sizeof (USBD_DeviceDesc );
@@ -169,39 +161,20 @@ uint8_t *USBD_HID_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
169
161
* @param length: Pointer to data length variable
170
162
* @retval Pointer to descriptor buffer
171
163
*/
172
- uint8_t * USBD_HID_LangIDStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
164
+ uint8_t * USBD_LangIDStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
173
165
{
174
166
UNUSED (speed );
175
167
* length = sizeof (USBD_LangIDDesc );
176
168
return (uint8_t * )USBD_LangIDDesc ;
177
169
}
178
170
179
- /**
180
- * @brief Returns the product string descriptor.
181
- * @param speed: Current device speed
182
- * @param length: Pointer to data length variable
183
- * @retval Pointer to descriptor buffer
184
- */
185
- uint8_t * USBD_HID_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
186
- {
187
- if (speed == USBD_SPEED_HIGH )
188
- {
189
- USBD_GetString ((uint8_t * )USBD_HID_PRODUCT_HS_STRING , USBD_StrDesc , length );
190
- }
191
- else
192
- {
193
- USBD_GetString ((uint8_t * )USBD_HID_PRODUCT_FS_STRING , USBD_StrDesc , length );
194
- }
195
- return USBD_StrDesc ;
196
- }
197
-
198
171
/**
199
172
* @brief Returns the manufacturer string descriptor.
200
173
* @param speed: Current device speed
201
174
* @param length: Pointer to data length variable
202
175
* @retval Pointer to descriptor buffer
203
176
*/
204
- uint8_t * USBD_HID_ManufacturerStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
177
+ uint8_t * USBD_ManufacturerStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
205
178
{
206
179
UNUSED (speed );
207
180
USBD_GetString ((uint8_t * )USBD_MANUFACTURER_STRING , USBD_StrDesc , length );
@@ -214,7 +187,7 @@ uint8_t *USBD_HID_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *l
214
187
* @param length: Pointer to data length variable
215
188
* @retval Pointer to descriptor buffer
216
189
*/
217
- uint8_t * USBD_HID_SerialStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
190
+ uint8_t * USBD_SerialStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
218
191
{
219
192
UNUSED (speed );
220
193
* length = USB_SIZ_STRING_SERIAL ;
@@ -225,6 +198,21 @@ uint8_t *USBD_HID_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
225
198
return (uint8_t * )USBD_StringSerial ;
226
199
}
227
200
201
+ #ifdef USBD_USE_HID_COMPOSITE
202
+
203
+ /**
204
+ * @brief Returns the product string descriptor.
205
+ * @param speed: Current device speed
206
+ * @param length: Pointer to data length variable
207
+ * @retval Pointer to descriptor buffer
208
+ */
209
+ uint8_t * USBD_HID_ProductStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
210
+ {
211
+ UNUSED (speed );
212
+ USBD_GetString ((uint8_t * )USBD_HID_PRODUCT_FS_STRING , USBD_StrDesc , length );
213
+ return USBD_StrDesc ;
214
+ }
215
+
228
216
/**
229
217
* @brief Returns the configuration string descriptor.
230
218
* @param speed: Current device speed
@@ -233,14 +221,8 @@ uint8_t *USBD_HID_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
233
221
*/
234
222
uint8_t * USBD_HID_ConfigStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
235
223
{
236
- if (speed == USBD_SPEED_HIGH )
237
- {
238
- USBD_GetString ((uint8_t * )USBD_HID_CONFIGURATION_HS_STRING , USBD_StrDesc , length );
239
- }
240
- else
241
- {
242
- USBD_GetString ((uint8_t * )USBD_HID_CONFIGURATION_FS_STRING , USBD_StrDesc , length );
243
- }
224
+ UNUSED (speed );
225
+ USBD_GetString ((uint8_t * )USBD_HID_CONFIGURATION_FS_STRING , USBD_StrDesc , length );
244
226
return USBD_StrDesc ;
245
227
}
246
228
@@ -252,17 +234,12 @@ uint8_t *USBD_HID_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
252
234
*/
253
235
uint8_t * USBD_HID_InterfaceStrDescriptor (USBD_SpeedTypeDef speed , uint16_t * length )
254
236
{
255
- if (speed == USBD_SPEED_HIGH )
256
- {
257
- USBD_GetString ((uint8_t * )USBD_HID_INTERFACE_HS_STRING , USBD_StrDesc , length );
258
- }
259
- else
260
- {
261
- USBD_GetString ((uint8_t * )USBD_HID_INTERFACE_FS_STRING , USBD_StrDesc , length );
262
- }
237
+ UNUSED (speed );
238
+ USBD_GetString ((uint8_t * )USBD_HID_INTERFACE_FS_STRING , USBD_StrDesc , length );
263
239
return USBD_StrDesc ;
264
240
}
265
241
#endif //USBD_USE_HID_COMPOSITE
242
+
266
243
/**
267
244
* @brief Create the serial number string descriptor
268
245
* @param None
0 commit comments