aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Eveland <zeveland@blacklabel-development.com>2011-09-16 12:09:51 -0400
committerZach Eveland <zeveland@blacklabel-development.com>2011-09-16 12:09:51 -0400
commit24cb818be877f352e244c155533839c10d3acdf3 (patch)
tree1d6af2f88ee137d6de1f22244c8baa0c692e118c
parent81bfed93e5ce246050d7e4b4744b0561b847061d (diff)
bootloader iProduct definition changed to "Arduino Leonardo Bootloader" or "Arduino Micro Bootloader". selection depends on PID passed in at compile time
-rw-r--r--bootloaders/diskloader/DiskLoader.hex213
-rw-r--r--bootloaders/diskloader/src/Platform.h2
-rw-r--r--bootloaders/diskloader/src/USBDesc.cpp11
-rw-r--r--bootloaders/diskloader/src/USBDesc.h2
4 files changed, 118 insertions, 110 deletions
diff --git a/bootloaders/diskloader/DiskLoader.hex b/bootloaders/diskloader/DiskLoader.hex
index cf8fe75..ce0ec5e 100644
--- a/bootloaders/diskloader/DiskLoader.hex
+++ b/bootloaders/diskloader/DiskLoader.hex
@@ -1,112 +1,113 @@
-:1078000011241FBECFEFDAE0DEBFCDBFE7C04101DC
+:1078000011241FBECFEFDAE0DEBFCDBFF2C04101D1
:1078100042144505560455026403740300001E9586
:1078200087020110030000C18081C106C0FF0A0069
:107830000CA10185037508150026FF00954009017C
-:107840008102954009029102C00403090422034108
+:107840008102954009029102C004030904380341F2
: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
+:107860000065006F006E006100720064006F002010
+:107870000062006F006F0074006C006F00610064B4
+:107880000065007200180341007200640075006911
+:10789000006E006F0020004C004C004300120100FD
+:1078A00002020000404123340000010102000112E5
+:1078B00001000200000040412334000001010200E9
+:1078C00001090264000301008032080B0002020279
+:1078D000010009040000010202000005240010015B
+:1078E0000524010101042402020524060001070504
+:1078F000810310004009040100020A00000007058E
+:107900000202400000070583024000000904020053
+:107910000103000000092101010001221E000705EA
+:1079200084034000400020918A0130918B012C5F3C
+:107930003F4F30938B0120938A01C901892F9927EA
+:107940008695982F803418F08FE7891B982F990F10
+:10795000921710F447980895479A0895769A289AAE
+:1079600081E08093E0001092E200EE27FF27099467
+:1079700008950F931F93CF93DF93982FEB01042F5C
+:1079800010E088E76030780730F411E083E0FB0115
+:1079900080935700E895892F68E071E0402FF8D078
+:1079A000112311F107B600FCFDCF402F4695FE01D3
+:1079B000A8E0B1E020E031E009C08D919D910C017B
+:1079C00030935700E895112432962F5F2417A8F3BF
+:1079D00085E0FE0180935700E89507B600FCFDCFD7
+:1079E00081E180935700E895DF91CF911F910F912E
+:1079F000089588E10FB6F8948093600010926000BB
+:107A00000FBE769A289A47983F9A209A6E9A90E8E5
+:107A1000909361001092610081E885BF95BF9FD06F
+:107A200084E18093880180E180938901E0E0F0E0C7
+:107A3000859194918F5F9F4F19F081E080938F0122
+:107A4000EE24FF24BB24B39454EFC52E51E0D52E71
+:107A50000ED2082F8EE098E7FC0124913196029611
+:107A60004491201711F02223B9F71092910110923E
+:107A7000900182E068E071E08BD0013479F460918C
+:107A800008016058633028F0683111F064E001C0EB
+:107A900063E0C62FD0E0CF5DD7480EC0063571F445
+:107AA00080910801803311F011E022C080910A0119
+:107AB000C82FD0E0C25ED74811E022C0053721F4BC
+:107AC00013E0CEE1D8E71CC0053539F4E090080199
+:107AD000F0900901EE0CFF1C0AC0043631F482E07C
+:107AE000B7014091090145DF02C0043721F010E0E1
+:107AF000C5E2D8E705C010910901E701E10EF11CCC
+:107B0000B6D18097B1F483E068E871E041E050E0DD
+:107B100059D0112329F0412F50E083E8BE0152D003
+:107B200083E469E871E041E050E04CD0013509F0B0
+:107B30008FCFD0929101C0929001B0928F01EE242C
+:107B4000FF2486CFFC01289884E680938D0104C031
+:107B50008091F100819361506623D1F708951092CE
+:107B600091011092900110928E0110928F0181E08C
+:107B70008093D70080EA8093D80082E189BD09B460
+:107B800000FEFDCF80E98093D8001092E0000895B8
+:107B9000FB018093E90024E69BE611C08091E80098
+:107BA00085FFFCCF289820938D018091F10081936F
+:107BB0008091E80085FD02C09093E8004150442385
+:107BC00069F70895982FFB01282F20728770809302
+:107BD000E90064E63AE317C08091E80085FFFCCF36
+:107BE00097FF02C0849101C080813196211180E00D
+:107BF000769860938C018093F1008091E80085FD78
+:107C000002C03093E800415050408FEF4F3F58077B
+:107C100019F796FF03C08AE38093E80008958091E6
+:107C20009301813299F4769884E680938C0120E068
+:107C300030E003C080818093F100F901E050FF4FF4
+:107C40002F5F3F4F28303105A9F714C0803261F40F
+:107C50008091E80082FFFCCF80E091E067E072DF76
+:107C60008BEF8093E80006C0823221F4809194016A
+:107C70008093070181E0089520919501223261F1FE
+:107C8000213081F48091980190919901089711F425
+:107C900020939A0180919A01882309F04AC0EFEA63
+:107CA000F8E749C0223021F484E6E1ECF8E717C098
+:107CB000233009F03CC080919401882319F4E9E451
+:107CC000F8E739C0823019F4EDE4F8E734C08130C8
+:107CD00071F5E5E8F8E72FC081E0EBE2F8E7909175
+:107CE0009801382F981708F4392F90918C0120E0D3
+:107CF0004EEF8091E8008570E1F38091E80082FD0D
+:107D000012C02F5F849176988093F100822F8F7339
+:107D100011F44093E800319694E6231750F39093C2
+:107D20008C0181E0089590938C0180E0089580E0BB
+:107D30000895EDE9F8E78491D2CF1092E90080919F
+:107D4000E80083FF61C082E991E068E0FBDE82EF3A
+:107D50008093E8008091920187FF05C08091E80040
+:107D600080FFFCCF03C08EEF8093E80080919301E9
+:107D7000853051F48091E80080FFFCCF8091940120
+:107D800080688093E30039C08930E1F480919401E8
+:107D900080938E01E7E2F8E791E031E026E39093EB
+:107DA000E9003093EB0084918093EC002093ED0088
+:107DB0009F5F3196953099F78EE78093EA00109295
+:107DC000EA001BC0883049F490918E01769884E6D1
+:107DD00080938C019093F10010C0882339F4769839
+:107DE00084E680938C011092F10007C0863011F474
+:107DF00043DF01C014DF882321F08EEF8093E80079
+:107E0000089581E28093EB0008958091E100109243
+:107E1000E100282F83FF0CC01092E90081E08093DD
+:107E2000EB001092EC0082E38093ED0010928E0143
+:107E300022FF1CC080918C01882331F081508093F7
+:107E40008C01882309F4769A80918D01882331F082
+:107E5000815080938D01882309F4289A80918F01A5
+:107E6000882321F4109291011092900108951F939C
+:107E7000CF93DF9312E0C0E9D1E05FDFC6DF10935C
+:107E8000E9008091E80085FF13C0289884E680937C
+:107E90008D019091F1008091E80085FD03C08BE693
+:107EA0008093E800892F90E0DF91CF911F91089592
+:107EB000809190019091910101979093910180930D
+:107EC00090018091900190919101892B09F446DDF8
+:0A7ED000CE010197F1F727DDD0CFB6
+:087EDA0000E1000000000000BF
:040000030000780081
:00000001FF
diff --git a/bootloaders/diskloader/src/Platform.h b/bootloaders/diskloader/src/Platform.h
index 2b00b71..471bc90 100644
--- a/bootloaders/diskloader/src/Platform.h
+++ b/bootloaders/diskloader/src/Platform.h
@@ -19,6 +19,8 @@ typedef unsigned long u32;
#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))
#define DISABLE_JTAG() MCUCR = (1 << JTD) | (1 << IVCE) | (0 << PUD); MCUCR = (1 << JTD) | (0 << IVSEL) | (0 << IVCE) | (0 << PUD);
+#define USB_PID_LEONARDO 0x0034
+#define USB_PID_MICRO 0x0035
#define USB_VID 0x2341 // arduino LLC vid
#define USB_PID ARDUINO_MODEL_PID // passed in by Makefile - 0x0034 for Leonardo, 0x0035 for MIcro
diff --git a/bootloaders/diskloader/src/USBDesc.cpp b/bootloaders/diskloader/src/USBDesc.cpp
index be322a0..c8ea9c6 100644
--- a/bootloaders/diskloader/src/USBDesc.cpp
+++ b/bootloaders/diskloader/src/USBDesc.cpp
@@ -27,9 +27,14 @@ 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_IPRODUCT[28] = {
+ (3<<8) | (2+2*27),
+#if USB_PID == USB_PID_LEONARDO
+ 'A','r','d','u','i','n','o',' ','L','e','o','n','a','r','d','o',' ','b','o','o','t','l','o','a','d','e','r'
+#elif USB_PID == USB_PID_MICRO
+ 'A','r','d','u','i','n','o',' ','M','i','c','r','o',' ','b','o','o','t','l','o','a','d','e','r',' ',' ',' '
+#endif
};
const u16 STRING_IMANUFACTURER[12] = {
diff --git a/bootloaders/diskloader/src/USBDesc.h b/bootloaders/diskloader/src/USBDesc.h
index a40bae1..094dba5 100644
--- a/bootloaders/diskloader/src/USBDesc.h
+++ b/bootloaders/diskloader/src/USBDesc.h
@@ -53,7 +53,7 @@ extern DeviceDescriptor USB_DeviceDescriptor PROGMEM;
extern DeviceDescriptor USB_DeviceDescriptorA PROGMEM;
extern const u16 STRING_LANGUAGE[2] PROGMEM;
-extern const u16 STRING_IPRODUCT[17] PROGMEM;
+extern const u16 STRING_IPRODUCT[28] PROGMEM;
extern const u16 STRING_IMANUFACTURER[12] PROGMEM;
#define IMANUFACTURER 1