34
34
// ==================================================================
35
35
36
36
extern const u16 STRING_LANGUAGE[] PROGMEM;
37
- extern const u16 STRING_SERIAL[] PROGMEM;
37
+ extern const u16 STRING_IPRODUCT[] PROGMEM;
38
+ extern const u16 STRING_IMANUFACTURER[] PROGMEM;
38
39
extern const DeviceDescriptor USB_DeviceDescriptor PROGMEM;
39
40
extern const DeviceDescriptor USB_DeviceDescriptorA PROGMEM;
40
41
@@ -43,16 +44,18 @@ const u16 STRING_LANGUAGE[2] = {
43
44
0x0409 // English
44
45
};
45
46
46
- #if 0
47
- const u16 STRING_PRODUCT[] = {
48
- (3<<8) | (2+2*10),
49
- PRODUCT_NAME
50
- };
47
+ const u16 STRING_IPRODUCT[17 ] = {
48
+ (3 <<8 ) | (2 +2 *16 ),
49
+ #if USB_PID == USB_PID_LEONARDO
50
+ ' A' ,' r' ,' d' ,' u' ,' i' ,' n' ,' o' ,' ' ,' L' ,' e' ,' o' ,' n' ,' a' ,' r' ,' d' ,' o'
51
+ #elif USB_PID == USB_PID_MICRO
52
+ ' A' ,' r' ,' d' ,' u' ,' i' ,' n' ,' o' ,' ' ,' M' ,' i' ,' c' ,' r' ,' o' ,' ' ,' ' ,' '
51
53
#endif
54
+ };
52
55
53
- const u16 STRING_SERIAL[ 13 ] = {
54
- (3 <<8 ) | (2 +2 *12 ),
55
- MSC_DISK_SERIAL
56
+ const u16 STRING_IMANUFACTURER[ 12 ] = {
57
+ (3 <<8 ) | (2 +2 *11 ),
58
+ ' A ' , ' r ' , ' d ' , ' u ' , ' i ' , ' n ' , ' o ' , ' ' , ' L ' , ' L ' , ' C '
56
59
};
57
60
58
61
#ifdef CDC_ENABLED
@@ -63,10 +66,10 @@ const u16 STRING_SERIAL[13] = {
63
66
64
67
// DEVICE DESCRIPTOR
65
68
const DeviceDescriptor USB_DeviceDescriptor =
66
- D_DEVICE (0x00 ,0x00 ,0x00 ,64 ,USB_VID,USB_PID,0x100 ,0 ,IPRODUCT,ISERIAL ,1 );
69
+ D_DEVICE (0x00 ,0x00 ,0x00 ,64 ,USB_VID,USB_PID,0x100 ,IMANUFACTURER ,IPRODUCT,0 ,1 );
67
70
68
71
const DeviceDescriptor USB_DeviceDescriptorA =
69
- D_DEVICE (DEVICE_CLASS,0x00 ,0x00 ,64 ,USB_VID,USB_PID,0x100 ,0 ,IPRODUCT,ISERIAL ,1 );
72
+ D_DEVICE (DEVICE_CLASS,0x00 ,0x00 ,64 ,USB_VID,USB_PID,0x100 ,IMANUFACTURER ,IPRODUCT,0 ,1 );
70
73
71
74
// ==================================================================
72
75
// ==================================================================
@@ -473,8 +476,12 @@ bool SendDescriptor(Setup& setup)
473
476
{
474
477
if (setup.wValueL == 0 )
475
478
desc_addr = (const u8*)&STRING_LANGUAGE;
476
- if (setup.wValueL == ISERIAL)
477
- desc_addr = (const u8*)&STRING_SERIAL;
479
+ else if (setup.wValueL == IPRODUCT)
480
+ desc_addr = (const u8*)&STRING_IPRODUCT;
481
+ else if (setup.wValueL == IMANUFACTURER)
482
+ desc_addr = (const u8*)&STRING_IMANUFACTURER;
483
+ else
484
+ return false ;
478
485
}
479
486
480
487
if (desc_addr == 0 )
0 commit comments