diff options
Diffstat (limited to 'bootloaders')
-rw-r--r-- | bootloaders/diskloader/DiskLoader.hex | 209 | ||||
-rw-r--r-- | bootloaders/diskloader/src/USBCore.cpp | 4 | ||||
-rw-r--r-- | bootloaders/diskloader/src/USBDesc.cpp | 14 | ||||
-rw-r--r-- | bootloaders/diskloader/src/USBDesc.h | 8 |
4 files changed, 127 insertions, 108 deletions
diff --git a/bootloaders/diskloader/DiskLoader.hex b/bootloaders/diskloader/DiskLoader.hex index 0146019..cf8fe75 100644 --- a/bootloaders/diskloader/DiskLoader.hex +++ b/bootloaders/diskloader/DiskLoader.hex @@ -1,107 +1,112 @@ -:1078000011241FBECFEFDAE0DEBFCDBFCAC04101F9
+:1078000011241FBECFEFDAE0DEBFCDBFE7C04101DC
:1078100042144505560455026403740300001E9586
:1078200087020110030000C18081C106C0FF0A0069
:107830000CA10185037508150026FF00954009017C
-:107840008102954009029102C0040309041201005B
-:107850000202000040412334000001000001011237
-:10786000010002000000404123340000010000013B
-:1078700001090264000301008032080B00020202C9
-:1078800001000904000001020200000524001001AB
-:107890000524010101042402020524060001070554
-:1078A000810310004009040100020A0000000705DE
-:1078B00002024000000705830240000009040200A4
-:1078C0000103000000092101010001221E0007053B
-:1078D00084034000400020918A0130918B012C5F8D
-:1078E0003F4F30938B0120938A01C901892F99273B
-:1078F0008695982F803418F08FE7891B982F990F61
-:10790000921710F447980895479A0895769A289AFE
-:1079100081E08093E0001092E200EE27FF270994B7
-:1079200008950F931F93CF93DF93982FEB01042FAC
-:1079300010E088E76030780730F411E083E0FB0165
-:1079400080935700E895892F68E071E0402FF8D0C8
-:10795000112311F107B600FCFDCF402F4695FE0123
-:10796000A8E0B1E020E031E009C08D919D910C01CB
-:1079700030935700E895112432962F5F2417A8F30F
-:1079800085E0FE0180935700E89507B600FCFDCF27
-:1079900081E180935700E895DF91CF911F910F917E
-:1079A000089588E10FB6F89480936000109260000B
-:1079B0000FBE769A289A47983F9A209A6E9A90E836
-:1079C000909361001092610081E885BF95BF9FD0C0
-:1079D00084E18093880180E180938901E0E0F0E018
-:1079E000859194918F5F9F4F19F081E080938F0173
-:1079F000EE24FF24BB24B39454EFC52E51E0D52EC2
-:107A000003D2082F8EE098E7FC012491319602966C
-:107A10004491201711F02223B9F71092910110928E
-:107A2000900182E068E071E08BD0013479F46091DC
-:107A300008016058633028F0683111F064E001C03B
-:107A400063E0C62FD0E0CF5DD7480EC0063571F495
-:107A500080910801803311F011E022C080910A0169
-:107A6000C82FD0E0C25ED74811E022C0053721F40C
-:107A700013E0CEE1D8E71CC0053539F4E0900801E9
-:107A8000F0900901EE0CFF1C0AC0043631F482E0CC
-:107A9000B7014091090145DF02C0043721F010E031
-:107AA000C5E2D8E705C010910901E701E10EF11C1C
-:107AB000ABD18097B1F483E068E871E041E050E039
-:107AC00059D0112329F0412F50E083E8BE0152D054
-:107AD00083E469E871E041E050E04CD0013509F001
-:107AE0008FCFD0929101C0929001B0928F01EE247D
-:107AF000FF2486CFFC01289884E680938D0104C082
-:107B00008091F100819361506623D1F7089510921E
-:107B100091011092900110928E0110928F0181E0DC
-:107B20008093D70080EA8093D80082E189BD09B4B0
-:107B300000FEFDCF80E98093D8001092E000089508
-:107B4000FB018093E90024E69BE611C08091E800E8
-:107B500085FFFCCF289820938D018091F1008193BF
-:107B60008091E80085FD02C09093E80041504423D5
-:107B700069F70895982FFB01282F20728770809352
-:107B8000E90064E63AE317C08091E80085FFFCCF86
-:107B900097FF02C0849101C080813196211180E05D
-:107BA000769860938C018093F1008091E80085FDC8
-:107BB00002C03093E800415050408FEF4F3F5807CC
-:107BC00019F796FF03C08AE38093E8000895809137
-:107BD0009301813299F4769884E680938C0120E0B9
-:107BE00030E003C080818093F100F901E050FF4F45
-:107BF0002F5F3F4F28303105A9F714C0803261F460
-:107C00008091E80082FFFCCF80E091E067E072DFC6
-:107C10008BEF8093E80006C0823221F480919401BA
-:107C20008093070181E0089520919501223209F1A6
-:107C3000213081F48091980190919901089711F475
-:107C400020939A0180919A01882309F03FC0EFE5C3
-:107C5000F8E73EC0223021F484E6E1E7F8E70CC003
-:107C6000233091F580919401882371F5E9E4F8E7D8
-:107C70002FC081E0EBE2F8E790919801382F981738
-:107C800008F4392F90918C0120E04EEF8091E800AC
-:107C90008570E1F38091E80082FD12C02F5F84912E
-:107CA00076988093F100822F8F7311F44093E8004F
-:107CB000319694E6231750F390938C0181E0089558
-:107CC00090938C0180E0089580E00895EDE4F8E75A
-:107CD0008491D2CF1092E9008091E80083FF61C0C7
-:107CE00082E991E068E006DF82EF8093E80080910E
-:107CF000920187FF05C08091E80080FFFCCF03C0A0
-:107D00008EEF8093E80080919301853051F480914B
-:107D1000E80080FFFCCF8091940180688093E300AD
-:107D200039C08930E1F48091940180938E01E7E2BB
-:107D3000F8E791E031E026E39093E9003093EB001F
-:107D400084918093EC002093ED009F5F31969530F5
-:107D500099F78EE78093EA001092EA001BC0883002
-:107D600049F490918E01769884E680938C019093EB
-:107D7000F10010C0882339F4769884E680938C0152
-:107D80001092F10007C0863011F44EDF01C01FDFF2
-:107D9000882321F08EEF8093E800089581E280939C
-:107DA000EB0008958091E1001092E100282F83FFFD
-:107DB0000CC01092E90081E08093EB001092EC007F
-:107DC00082E38093ED0010928E0122FF1CC080910F
-:107DD0008C01882331F0815080938C01882309F431
-:107DE000769A80918D01882331F0815080938D01A6
-:107DF000882309F4289A80918F01882321F4109216
-:107E000091011092900108951F93CF93DF9312E098
-:107E1000C0E9D1E05FDFC6DF1093E9008091E800A0
-:107E200085FF13C0289884E680938D019091F1001E
-:107E30008091E80085FD03C08BE68093E800892FE0
-:107E400090E0DF91CF911F910895809190019091E2
-:107E500091010197909391018093900180919001FD
-:107E600090919101892B09F451DDCE010197F1F731
-:047E700032DDD0CF60
-:087E740000E100000000000025
+:107840008102954009029102C00403090422034108
+:107850000072006400750069006E006F0020004C2B
+:107860000065006F006E006100720064006F001818
+:1078700003410072006400750069006E006F002013
+:10788000004C004C00430012010002020000404185
+:107890002334000001010200011201000200000077
+:1078A0004041233400000101020001090264000389
+:1078B00001008032080B00020202010009040000EE
+:1078C0000102020000052400100105240101010449
+:1078D0002402020524060001070581031000400967
+:1078E000040100020A000000070502024000000730
+:1078F00005830240000009040200010300000009A2
+:107900002101010001221E00070584034000400000
+:1079100020918A0130918B012C5F3F4F30938B0176
+:1079200020938A01C901892F99278695982F803441
+:1079300018F08FE7891B982F990F921710F447982A
+:107940000895479A0895769A289A81E08093E000F6
+:107950001092E200EE27FF27099408950F931F93DA
+:10796000CF93DF93982FEB01042F10E088E760306E
+:10797000780730F411E083E0FB0180935700E8952D
+:10798000892F68E071E0402FF8D0112311F107B67C
+:1079900000FCFDCF402F4695FE01A8E0B1E020E0BD
+:1079A00031E009C08D919D910C0130935700E8950D
+:1079B000112432962F5F2417A8F385E0FE018093EF
+:1079C0005700E89507B600FCFDCF81E18093570092
+:1079D000E895DF91CF911F910F91089588E10FB63F
+:1079E000F89480936000109260000FBE769A289AF7
+:1079F00047983F9A209A6E9A90E89093610010926F
+:107A0000610081E885BF95BF9FD084E180938801A4
+:107A100080E180938901E0E0F0E0859194918F5FAF
+:107A20009F4F19F081E080938F01EE24FF24BB2447
+:107A3000B39454EFC52E51E0D52E0ED2082F8EE010
+:107A400098E7FC012491319602964491201711F099
+:107A50002223B9F7109291011092900182E068E020
+:107A600071E08BD0013479F4609108016058633083
+:107A700028F0683111F064E001C063E0C62FD0E067
+:107A8000CF5DD7480EC0063571F480910801803370
+:107A900011F011E022C080910A01C82FD0E0C25E2F
+:107AA000D74811E022C0053721F413E0CEE1D8E732
+:107AB0001CC0053539F4E0900801F0900901EE0C86
+:107AC000FF1C0AC0043631F482E0B701409109017D
+:107AD00045DF02C0043721F010E0C5E2D8E705C059
+:107AE00010910901E701E10EF11CB6D18097B1F4C4
+:107AF00083E068E871E041E050E059D0112329F0BB
+:107B0000412F50E083E8BE0152D083E469E871E080
+:107B100041E050E04CD0013509F08FCFD092910177
+:107B2000C0929001B0928F01EE24FF2486CFFC0119
+:107B3000289884E680938D0104C08091F1008193A0
+:107B400061506623D1F7089510929101109290012F
+:107B500010928E0110928F0181E08093D70080EA0D
+:107B60008093D80082E189BD09B400FEFDCF80E991
+:107B70008093D8001092E0000895FB018093E90003
+:107B800024E69BE611C08091E80085FFFCCF289891
+:107B900020938D018091F10081938091E80085FD13
+:107BA00002C09093E8004150442369F70895982F4C
+:107BB000FB01282F207287708093E90064E63AE386
+:107BC00017C08091E80085FFFCCF97FF02C0849129
+:107BD00001C080813196211180E0769860938C01FC
+:107BE0008093F1008091E80085FD02C03093E800A9
+:107BF000415050408FEF4F3F580719F796FF03C091
+:107C00008AE38093E800089580919301813299F48A
+:107C1000769884E680938C0120E030E003C0808178
+:107C20008093F100F901E050FF4F2F5F3F4F283064
+:107C30003105A9F714C0803261F48091E80082FF19
+:107C4000FCCF80E091E067E072DF8BEF8093E8008B
+:107C500006C0823221F4809194018093070181E073
+:107C6000089520919501223261F1213081F48091B3
+:107C7000980190919901089711F420939A018091AD
+:107C80009A01882309F04AC0E9E9F8E749C022309F
+:107C900021F484E6EBEAF8E717C0233009F03CC092
+:107CA00080919401882319F4E9E4F8E739C082301F
+:107CB00019F4EDE4F8E734C0813071F5EFE6F8E748
+:107CC0002FC081E0EBE2F8E790919801382F9817E8
+:107CD00008F4392F90918C0120E04EEF8091E8005C
+:107CE0008570E1F38091E80082FD12C02F5F8491DE
+:107CF00076988093F100822F8F7311F44093E800FF
+:107D0000319694E6231750F390938C0181E0089507
+:107D100090938C0180E0089580E00895E7E8F8E70B
+:107D20008491D2CF1092E9008091E80083FF61C076
+:107D300082E991E068E0FBDE82EF8093E8008091C9
+:107D4000920187FF05C08091E80080FFFCCF03C04F
+:107D50008EEF8093E80080919301853051F48091FB
+:107D6000E80080FFFCCF8091940180688093E3005D
+:107D700039C08930E1F48091940180938E01E7E26B
+:107D8000F8E791E031E026E39093E9003093EB00CF
+:107D900084918093EC002093ED009F5F31969530A5
+:107DA00099F78EE78093EA001092EA001BC08830B2
+:107DB00049F490918E01769884E680938C0190939B
+:107DC000F10010C0882339F4769884E680938C0102
+:107DD0001092F10007C0863011F443DF01C014DFB8
+:107DE000882321F08EEF8093E800089581E280934C
+:107DF000EB0008958091E1001092E100282F83FFAD
+:107E00000CC01092E90081E08093EB001092EC002E
+:107E100082E38093ED0010928E0122FF1CC08091BE
+:107E20008C01882331F0815080938C01882309F4E0
+:107E3000769A80918D01882331F0815080938D0155
+:107E4000882309F4289A80918F01882321F41092C5
+:107E500091011092900108951F93CF93DF9312E048
+:107E6000C0E9D1E05FDFC6DF1093E9008091E80050
+:107E700085FF13C0289884E680938D019091F100CE
+:107E80008091E80085FD03C08BE68093E800892F90
+:107E900090E0DF91CF911F91089580919001909192
+:107EA00091010197909391018093900180919001AD
+:107EB00090919101892B09F446DDCE010197F1F7EC
+:047EC00027DDD0CF1B
+:087EC40000E1000000000000D5
:040000030000780081
:00000001FF
diff --git a/bootloaders/diskloader/src/USBCore.cpp b/bootloaders/diskloader/src/USBCore.cpp index 1a8f2d0..ca74721 100644 --- a/bootloaders/diskloader/src/USBCore.cpp +++ b/bootloaders/diskloader/src/USBCore.cpp @@ -374,6 +374,10 @@ bool SendDescriptor() { if (setup.wValueL == 0) desc_addr = (const u8*)&STRING_LANGUAGE; + else if (setup.wValueL == IPRODUCT) + desc_addr = (const u8*)&STRING_IPRODUCT; + else if (setup.wValueL == IMANUFACTURER) + desc_addr = (const u8*)&STRING_IMANUFACTURER; else return false; } else diff --git a/bootloaders/diskloader/src/USBDesc.cpp b/bootloaders/diskloader/src/USBDesc.cpp index ec7cf7d..be322a0 100644 --- a/bootloaders/diskloader/src/USBDesc.cpp +++ b/bootloaders/diskloader/src/USBDesc.cpp @@ -27,11 +27,21 @@ const u16 STRING_LANGUAGE[2] = { 0x0409 // English }; +const u16 STRING_IPRODUCT[17] = { + (3<<8) | (2+2*16), + 'A','r','d','u','i','n','o',' ','L','e','o','n','a','r','d','o' +}; + +const u16 STRING_IMANUFACTURER[12] = { + (3<<8) | (2+2*11), + 'A','r','d','u','i','n','o',' ','L','L','C' +}; + //#ifdef CDC_ENABLED -DeviceDescriptor USB_DeviceDescriptorA = D_DEVICE(0X02,0X00,0X00,64,USB_VID,USB_PID,0x100,0,IPRODUCT,ISERIAL,1); +DeviceDescriptor USB_DeviceDescriptorA = D_DEVICE(0X02,0X00,0X00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); //#else -DeviceDescriptor USB_DeviceDescriptor = D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,0,IPRODUCT,ISERIAL,1); +DeviceDescriptor USB_DeviceDescriptor = D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); //#endif Config USB_ConfigDescriptor = diff --git a/bootloaders/diskloader/src/USBDesc.h b/bootloaders/diskloader/src/USBDesc.h index 589dfa9..a40bae1 100644 --- a/bootloaders/diskloader/src/USBDesc.h +++ b/bootloaders/diskloader/src/USBDesc.h @@ -53,11 +53,11 @@ extern DeviceDescriptor USB_DeviceDescriptor PROGMEM; extern DeviceDescriptor USB_DeviceDescriptorA PROGMEM; extern const u16 STRING_LANGUAGE[2] PROGMEM; -extern const u16 STRING_SERIAL[13] PROGMEM; +extern const u16 STRING_IPRODUCT[17] PROGMEM; +extern const u16 STRING_IMANUFACTURER[12] PROGMEM; -#define IMANUFACTURER 0 -#define IPRODUCT 0 -#define ISERIAL 1 // Only need this for MSC +#define IMANUFACTURER 1 +#define IPRODUCT 2 #define CDC_TX CDC_ENDPOINT_IN #define CDC_RX CDC_ENDPOINT_OUT
\ No newline at end of file |