]> jspc29.x-matter.uni-frankfurt.de Git - coral.git/commitdiff
why does it not work anymore ...
authorMichael Wiebusch <stratomaster@gmx.net>
Tue, 8 Oct 2013 17:55:22 +0000 (19:55 +0200)
committerMichael Wiebusch <stratomaster@gmx.net>
Tue, 8 Oct 2013 17:55:22 +0000 (19:55 +0200)
firmware/USBtoSerial.elf
firmware/USBtoSerial.hex
firmware/USBtoSerial.lss
firmware/USBtoSerial.map
firmware/USBtoSerial.sym

index ed987edf4f1c5b3cf08a8570da458fe7539f75cf..c6a30e93a84f0efdb03638101c675df58066e78b 100755 (executable)
Binary files a/firmware/USBtoSerial.elf and b/firmware/USBtoSerial.elf differ
index 862c8b36efcb512489cd144942ab64607ad0086e..82084c9a4634fb19cce00457d07aa90ea92f62fb 100644 (file)
@@ -1,7 +1,7 @@
 :100000009AC00000B4C00000B2C00000B0C0000040\r
 :10001000AEC00000ACC00000AAC00000A8C0000034\r
-:10002000A6C00000A4C00000A2C0000073C600006B\r
-:1000300015C700009CC000009AC0000098C00000D6\r
+:10002000A6C00000A4C00000A2C0000079C6000065\r
+:100030009EC000009CC000009AC0000098C0000054\r
 :1000400096C0000094C0000092C0000090C0000064\r
 :100050008EC00000D6C000008AC00000D8C20000D8\r
 :1000600086C0000084C0000082C0000080C0000084\r
@@ -18,9 +18,9 @@
 :1001100020005500530042002D00520053003200D1\r
 :100120003300320020004100640061007000740060\r
 :1001300065007200000011241FBECFEFD4E0DEBFC7\r
-:10014000CDBF11E0A0E0B1E0E8E5F8E102C0059024\r
+:10014000CDBF11E0A0E0B1E0EAEFF7E102C0059019\r
 :100150000D92A236B107D9F712E0A2E6B1E001C0D4\r
-:100160001D92A639B107E1F75FD30C942A0C48CF52\r
+:100160001D92A739B107E1F75DD30C94FB0B48CF83\r
 :10017000FC01A081B1816C93808191810196918372\r
 :100180008083268137818217930721F484819581AA\r
 :10019000918380832FB7F894828593850196938706\r
 :100220001F90189586B53091880220E0280F311D67\r
 :10023000C901089516BC109288020895DF92EF92CA\r
 :10024000FF920F931F93CF93DF9383E085BDF2DF7F\r
-:10025000509A5898E7DFBC0180E090E00E94520B72\r
-:1002600020E030E84EE053E40E94BA0A87FDF2CF66\r
+:10025000509A5898E7DFBC0180E090E00E94230BA1\r
+:1002600020E030E84EE053E40E948B0A87FDF2CF95\r
 :1002700082E085BDDD24D39410E0DCDF509A5898ED\r
-:10028000D1DFBC0180E090E00E94520B20E030E022\r
-:100290004CE852E40E94BA0A87FDF2CF5098589A6F\r
-:1002A000C1DFBC0180E090E00E94520B20E030E012\r
-:1002B00048E453E40E94BA0A87FDF2CF41C0C8E087\r
+:10028000D1DFBC0180E090E00E94230B20E030E051\r
+:100290004CE852E40E948B0A87FDF2CF5098589A9E\r
+:1002A000C1DFBC0180E090E00E94230B20E030E041\r
+:1002B00048E453E40E948B0A87FDF2CF41C0C8E0B6\r
 :1002C000D0E000E8E12EFF248FE792E0E80EF91E6F\r
 :1002D000B1DF509A5898F7018081802379F0A2DF2E\r
-:1002E000BC0180E090E00E94520B20E030E04CE83E\r
-:1002F00052E40E94BA0A87FDF2CF0EC093DFBC0120\r
-:1003000080E090E00E94520B20E030E042E053E4B5\r
-:100310000E94BA0A87FDF2CF5098589A83DFBC0139\r
-:1003200080E090E00E94520B20E030E048E453E48B\r
-:100330000E94BA0A87FDF2CF0695219749F61F5F02\r
+:1002E000BC0180E090E00E94230B20E030E04CE86D\r
+:1002F00052E40E948B0A87FDF2CF0EC093DFBC014F\r
+:1003000080E090E00E94230B20E030E042E053E4E4\r
+:100310000E948B0A87FDF2CF5098589A83DFBC0168\r
+:1003200080E090E00E94230B20E030E048E453E4BA\r
+:100330000E948B0A87FDF2CF0695219749F61F5F31\r
 :100340001D1508F4BCCF76DF509A58986BDFBC01BE\r
-:1003500080E090E00E94520B20E030E042E053E465\r
-:100360000E94BA0A87FDF2CF5098589A5BDFBC0111\r
-:1003700080E090E00E94520B20E030E048E453E43B\r
-:100380000E94BA0A87FDF2CF80917F028B3329F059\r
+:1003500080E090E00E94230B20E030E042E053E494\r
+:100360000E948B0A87FDF2CF5098589A5BDFBC0140\r
+:1003700080E090E00E94230B20E030E048E453E46A\r
+:100380000E948B0A87FDF2CF80917F028B3329F088\r
 :10039000893341F429E0D22E02C093E0D92E1130E6\r
 :1003A00009F46BCF47DF3EDFBC0180E090E00E94A4\r
-:1003B000520B20E030E04AEF53E40E94040C181680\r
+:1003B000230B20E030E04AEF53E40E94D50B1816DF\r
 :1003C0000CF442C04899EFCF489BFECFC0E8D2E082\r
 :1003D00011E001C0182F188288E0E82EF12C00E807\r
-:1003E00029DF20DFBC0180E090E00E94520B20E07A\r
-:1003F00030E048E453E40E94040C181614F4115041\r
+:1003E00029DF20DFBC0180E090E00E94230B20E0A9\r
+:1003F00030E048E453E40E94D50B181614F4115071\r
 :1004000024C04899EECF16DF489BFECF0BDFBC011E\r
-:1004100080E090E00E94520B20E030E048EC52E493\r
-:100420000E94BA0A87FF03C08881800F88830695DF\r
+:1004100080E090E00E94230B20E030E048EC52E4C2\r
+:100420000E948B0A87FF03C08881800F888306950E\r
 :100430000894E108F108E114F10491F6812F8F5F2F\r
 :100440002196893039F601C010E0812FDF91CF91DC\r
 :100450001F910F91FF90EF90DF9008955098589A58\r
 :1005100004C081958F73819508958F73089580E04D\r
 :1005200008951F938FB7F89420916C0130916D015D\r
 :100530008FBF80916A0190916B012817390749F0AC\r
-:1005400085E491E084D7BC0197FD03C082E691E089\r
+:1005400085E491E054D7BC0197FD03C082E691E0B9\r
 :100550000FDE2FB7F8948091F8019091F9012FBF29\r
 :10056000009701F1209146012F702093E90020911E\r
 :10057000E80020FF17C08031910510F08FE090E077\r
 :10058000182F0EC0E091F001F091F10185E491E0A7\r
-:100590006081ECD61150882329F48EEE91E003DEC1\r
+:100590006081B9D61150882329F48EEE91E003DEF4\r
 :1005A000112381F72FB7F89480916C0190916D0120\r
 :1005B0002FBF009749F082E691E0F5DD9091C800E9\r
-:1005C00095FFFCCF8093CE0085E491E029D7E3D559\r
+:1005C00095FFFCCF8093CE0085E491E0F8D6AED5C0\r
 :1005D0001F91089584B7877F84BF88E10FB6F89490\r
 :1005E00080936000109260000FBE90E080E80FB62C\r
-:1005F000F89480936100909361000FBE7CC30895CE\r
-:10060000089585E491E08EC685E491E0DFC51F92F0\r
+:1005F000F89480936100909361000FBE82C30895C8\r
+:10060000089585E491E05BC685E491E0ABC51F9257\r
 :100610000F920FB60F9211242F933F934F935F9336\r
 :100620006F937F938F939F93AF93BF93EF93FF93BA\r
 :100630006091CE008EB3843019F48EEE91E098DD97\r
 :100690001860828D873031F0883031F0863029F44F\r
 :1006A000126003C0146001C016601092C90010925D\r
 :1006B000C8001092CA00C488D588E688F788C701A8\r
-:1006C000B6019695879577956795ECD720E034E24B\r
-:1006D00044EF59E4EBD64B015C01C701B601E2D708\r
-:1006E0009B01AC01C501B40149D720E030E040E8EE\r
-:1006F0005FE3DBD6ABD77093CD006093CC00109353\r
+:1006C000B6019695879577956795BDD720E034E27A\r
+:1006D00044EF59E4BCD64B015C01C701B601B3D766\r
+:1006E0009B01AC01C501B4011AD720E030E040E81D\r
+:1006F0005FE3ACD67CD77093CD006093CC001093B1\r
 :10070000CA0082E08093C80088E98093C9001F91E5\r
 :10071000FF90EF90DF90CF90BF90AF909F908F9021\r
 :100720000895682F8EB3843019F48EEE91E020CDB9\r
 :10078000822F90E0FA01E80FF91F1082D22EDA943E\r
 :100790004D2C552447FC5094EA01C40DD51DAA24C4\r
 :1007A000BB24BAE06B2E712C812C912C1C01089477\r
-:1007B00021083108A0E2CA2E22C0E114F10401058B\r
+:1007B00021083108A0E2CA2E20C0E114F10401058D\r
 :1007C000110541F4C501840D951D8215930514F49E\r
-:1007D000C88208C0C801B701A40193010E94080C97\r
-:1007E000605D6883C801B701A40193010E94080CF1\r
-:1007F00079018A01DA9421970894A108B108D7FEFB\r
-:10080000DCCFDF91CF911F910F91FF90EF90DF90A0\r
-:10081000CF90BF90AF909F908F907F906F905F90A0\r
-:100820004F903F902F900895CF92DF92EF92FF92DA\r
-:100830000F931F93DF93CF93CDB7DEB760970FB6BB\r
-:10084000F894DEBF0FBECDBFC5DE82E691E06EE656\r
-:1008500071E0C2DC8EEE91E06AEF71E0BDDC78946D\r
-:10086000FDDD8FEF99E6A8E181509040A040E1F7CF\r
-:1008700000C00000789403DE02DE80E091E059DFE2\r
-:100880001CDEDD248E010F5F1F4FEE24FF2449DEA6\r
-:100890000894E11CF11C90EDE91697E0F906B9F710\r
-:1008A000E5DD2FDEE82E1DDE2E2D332727FD3095CA\r
-:1008B0002C0D311D2F3F310509F024F437FD05C003\r
-:1008C000CE0C04C0CC24CA9401C0CC24282F3327DA\r
-:1008D00027FD30952D0D311D2F3F310509F024F4F2\r
-:1008E00037FD05C0D80E04C0DD24DA9401C0DD2434\r
-:1008F00081E391E01EDF6C2D70E080E090E0A801C4\r
-:1009000024E02ADFC80115DF89E391E012DF6D2DB5\r
-:1009100070E080E090E0A80124E01EDFC80109DF5C\r
-:1009200083E491E006DFB1CF923029F0933041F0BB\r
-:100930009130E9F417C02EE330E0EAEAF0E01BC0A2\r
-:10094000813041F0813018F0823089F406C0E8EE41\r
-:10095000F0E005C0ECEEF0E002C0E6E0F1E024914A\r
-:1009600030E009C022E130E0E8E9F0E004C020E036\r
-:1009700030E0E0E0F0E0DA011196FC93EE93C9017B\r
-:100980000895282F392FF9018091940290919502B2\r
-:100990008617970718F4BC0120E034C06115710573\r
-:1009A000D9F78091E8008E778093E800F5CF8EB379\r
-:1009B0008823E9F18530B9F18091E80083FD35C0E5\r
-:1009C0008091E80082FD29C08091E80080FF1AC074\r
-:1009D0008091F20090E006C021912093F1006150D7\r
-:1009E000704001966115710519F088309105A0F3EA\r
-:1009F00021E08830910509F020E08091E8008E77B1\r
-:100A00008093E8006115710591F6222381F605C0F7\r
-:100A10008EB3882361F0853061F08091E80082FF19\r
-:100A2000F7CF80E0089583E0089581E0089582E0A3\r
-:100A3000089583E00895E82FF92F80919402909112\r
-:100A400095028617970718F4BC0120E036C061159F\r
+:1007D000C88207C0C801B701A4019301EAD7605DD0\r
+:1007E0006883C801B701A4019301E3D779018A01A5\r
+:1007F000DA9421970894A108B108D7FEDECFDF91E3\r
+:10080000CF911F910F91FF90EF90DF90CF90BF900D\r
+:10081000AF909F908F907F906F905F904F903F90A0\r
+:100820002F900895CF92DF92EF92FF920F931F9334\r
+:10083000DF93CF93CDB7DEB760970FB6F894DEBFE6\r
+:100840000FBECDBFC7DE82E691E06EE671E0C4DC8C\r
+:100850008EEE91E06AEF71E0BFDC7894FFDD8FEF00\r
+:1008600099E6A8E181509040A040E1F700C0000067\r
+:10087000789405DE04DE80E091E05BDF1EDEDD249F\r
+:100880008E010F5F1F4FEE24FF244BDE0894E11C06\r
+:10089000F11C90EDE91697E0F906B9F7E7DD31DED6\r
+:1008A000E82E1FDE2E2D332727FD30952C0D311D10\r
+:1008B0002F3F310509F024F437FD05C0CE0C04C0EC\r
+:1008C000CC24CA9401C0CC24282F332727FD30958F\r
+:1008D0002D0D311D2F3F310509F024F437FD05C0E2\r
+:1008E000D80E04C0DD24DA9401C0DD2481E391E058\r
+:1008F00020DF6C2D70E080E090E0A80124E02CDF88\r
+:10090000C80117DF89E391E014DF6D2D70E080E00E\r
+:1009100090E0A80124E020DFC8010BDF83E491E030\r
+:1009200008DFB1CF923029F0933041F09130E9F4F3\r
+:1009300017C02EE330E0EAEAF0E01BC0813041F05E\r
+:10094000813018F0823089F406C0E8EEF0E005C08E\r
+:10095000ECEEF0E002C0E6E0F1E0249130E009C006\r
+:1009600022E130E0E8E9F0E004C020E030E0E0E03F\r
+:10097000F0E0DA011196FC93EE93C9010895282F57\r
+:10098000392FF90180919502909196028617970769\r
+:1009900018F4BC0120E035C061157105D9F78091CC\r
+:1009A000E8008E778093E800F5CF80918E0288234F\r
+:1009B000F1F18530C1F18091E80083FD36C080916E\r
+:1009C000E80082FD2AC08091E80080FF1AC0809173\r
+:1009D000F20090E006C021912093F1006150704038\r
+:1009E00001966115710519F088309105A0F321E099\r
+:1009F0008830910509F020E08091E8008E7780939F\r
+:100A0000E8006115710589F6222379F606C0809108\r
+:100A10008E02882361F0853061F08091E80082FFCA\r
+:100A2000F6CF80E0089583E0089581E0089582E0A4\r
+:100A3000089583E00895E82FF92F80919502909111\r
+:100A400096028617970718F4BC0120E037C061159D\r
 :100A50007105D9F78091E8008E778093E800F5CF93\r
-:100A60008EB3882309F43EC08530C1F18091E8003F\r
-:100A700083FD36C08091E80082FD2AC08091E800A5\r
-:100A800080FF1BC08091F20090E007C0249120936A\r
-:100A9000F10031966150704001966115710519F0B1\r
-:100AA0008830910598F321E08830910509F020E025\r
-:100AB0008091E8008E778093E8006115710581F6DA\r
-:100AC000222371F605C08EB3882361F0853061F072\r
-:100AD0008091E80082FFF7CF80E0089583E00895D9\r
-:100AE00081E0089582E0089583E00895982F2CC056\r
-:100AF000292F2F702093E900981739F07091EC009E\r
-:100B00002091ED005091F00003C0242F762F50E08B\r
-:100B100021FF19C03091EB003E7F3093EB00309104\r
-:100B2000ED003D7F3093ED003091EB00316030936C\r
-:100B3000EB007093EC002093ED005093F0002091B7\r
-:100B4000EE0027FF08C09F5F953090F28F70809372\r
-:100B5000E90081E0089580E00895EF92FF920F93FD\r
-:100B60001F93CF93DF93162FE82EE7017E01F92E16\r
-:100B7000E70100E02AC09881992329F16B81E9817E\r
-:100B8000FA812C81892F8F70853018F56295660F58\r
-:100B9000660F607C991F9927991F692B223010F0EE\r
-:100BA00096E001C092E028E030E040E003C04F5FF3\r
-:100BB000220F331F2E173F07D0F34295407F492B5A\r
-:100BC00095DF882331F00F5F25960117A0F281E0B1\r
-:100BD00001C080E0DF91CF911F910F91FF90EF90C6\r
-:100BE000089580918E0287FF11C003C08EB38823C1\r
-:100BF000B1F08091E80082FFF9CF8091E8008B7717\r
-:100C00008093E80008958EB3882349F08091E8002E\r
-:100C100080FFF9CF8091E8008E778093E8000895F7\r
-:100C20008091E4009091E50044E62091EC0020FFE3\r
-:100C300025C02091E80020FD15C02EB32223A1F08D\r
-:100C40002530A1F02091EB0025FD12C02091E40099\r
-:100C50003091E5002817390741F3442359F04150FA\r
-:100C6000C901E3CF80E0089582E0089583E008950C\r
-:100C700081E0089584E0089580E008952091E800DF\r
-:100C800022FFDBCFF9CF40D042D08091D8008F77C0\r
-:100C90008093D8008091D80080688093D80080919C\r
-:100CA000D8008F7D8093D80084E089BD86E089BD1F\r
-:100CB00009B400FEFDCF1EBA10928A0210928C0277\r
-:100CC00010928B0280E060E042E010DF8091E10052\r
-:100CD0008E7F8093E1008091E20081608093E2004A\r
-:100CE0008091E20088608093E2008091E0008E7F36\r
-:100CF0008093E0000895E3E6F0E080818E7F8083BA\r
-:100D000081E080938D02BFCF1092E200089510928F\r
-:100D1000E10008951F920F920FB60F9211242F93A6\r
-:100D20003F934F935F936F937F938F939F93AF9373\r
-:100D3000BF93EF93FF938091E10082FF0AC08091FF\r
-:100D4000E20082FF06C08091E1008B7F8093E1008A\r
-:100D500021D28091E10080FF16C08091E20080FFE7\r
-:100D600012C08091E2008E7F8093E2008091E200C9\r
-:100D700080618093E2008091D80080628093D800E7\r
-:100D800019BC1EBA3DDC8091E10084FF2CC080912B\r
-:100D9000E20084FF28C084E089BD86E089BD09B4F3\r
-:100DA00000FEFDCF8091D8008F7D8093D800809188\r
-:100DB000E1008F7E8093E1008091E2008F7E80933E\r
-:100DC000E2008091E20081608093E20080918A02DB\r
-:100DD000882321F48091E30087FF02C084E001C0F2\r
-:100DE00081E08EBB0CDC8091E10083FF26C0809106\r
-:100DF000E20083FF22C08091E100877F8093E100C1\r
-:100E000082E08EBB10928A028091E1008E7F8093F7\r
-:100E1000E1008091E2008E7F8093E2008091E20009\r
-:100E200080618093E20080E060E042E05FDE8091DC\r
-:100E3000F00088608093F000ADD1FF91EF91BF91F9\r
-:100E4000AF919F918F917F916F915F914F913F9162\r
-:100E50002F910F900FBE0F901F9018951F920F9219\r
-:100E60000FB60F9211241F932F933F934F935F93CD\r
-:100E70006F937F938F939F93AF93BF93EF93FF9362\r
-:100E80001091E9001F708091EC001092E9008091B0\r
-:100E9000F000877F8093F00078941BD01092E900D7\r
-:100EA0008091F00088608093F0001093E900FF913A\r
-:100EB000EF91BF91AF919F918F917F916F915F91D2\r
-:100EC0004F913F912F911F910F900FBE0F901F9048\r
-:100ED00018951F93DF93CF93CDB7DEB7AC970FB6BE\r
-:100EE000F894DEBF0FBECDBFEEE8F2E08091F100D6\r
-:100EF000819322E0E639F207C9F786DB8091E800AA\r
-:100F000083FF30C180918E0220918F02253009F439\r
-:100F100084C0263040F42130A1F1213070F023301C\r
-:100F200009F020C12EC0283009F4EFC0293009F49F\r
-:100F3000FEC0263009F016C192C0803821F08238F8\r
-:100F400009F010C108C080918B0290918C02992306\r
-:100F500071F082600CC0809192028F708093E900E2\r
-:100F60009091EB0081E095FF80E01092E900909174\r
-:100F7000E800977F9093E8008093F1001092F100D1\r
-:100F8000CFC0882319F0823009F0ECC090E08F7157\r
-:100F90009070009729F08230910509F0E3C00BC0F2\r
-:100FA00080919002813009F0DDC0233009F080E0AB\r
-:100FB00080938C022CC080919002882341F520916F\r
-:100FC00092022F7009F4CEC02093E9008091EB00CB\r
-:100FD00080FF1DC080918F02833021F48091EB004F\r
-:100FE000806213C08091EB0080618093EB0081E010\r
-:100FF00090E002C0880F991F2A95E2F78093EA00DB\r
-:101000001092EA008091EB0088608093EB001092D0\r
-:10101000E9008091E800877F86C0882309F0A2C09C\r
-:10102000109190021F778091E3008078812B80934C\r
-:10103000E3008091E800877F8093E800D2DD809113\r
-:10104000E80080FFFCCF8091E30080688093E3009C\r
-:10105000112311F083E001C082E08EBB83C0805871\r
-:10106000823008F07FC0809190029091910223E03D\r
-:101070008C3D920791F583E08C838AE28B835FB786\r
-:10108000F894DE01159680E090E04EE061E2E42FF6\r
-:10109000F0E060935700E49180FF03C0E295EF70A9\r
-:1010A0004F5FEF702E2F30E0EA3018F0295C3F4F91\r
-:1010B00002C0205D3F4F2D933D93019684319105F1\r
-:1010C00031F75FBF8091E800877F8093E800CE0111\r
-:1010D00003966AE270E055DC12C060919202AE01A4\r
-:1010E0004F5F5F4F21DCBC01009709F43BC080914A\r
-:1010F000E800877F8093E80089819A819CDC809159\r
-:10110000E8008B778093E8002DC0803859F58091F6\r
-:10111000E800877F8093E80080918A028093F10045\r
-:101120008091E8008E778093E8005BDD1BC0882308\r
-:10113000C9F4909190029230A8F48091E800877FE2\r
-:101140008093E80090938A024CDD80918A02882384\r
-:1011500021F48091E30087FF02C084E001C081E0B8\r
-:101160008EBB4FDA8091E80083FF0AC08091E800CF\r
-:10117000877F8093E8008091EB0080628093EB0092\r
-:10118000AC960FB6F894DEBF0FBECDBFCF91DF9106\r
-:101190001F91089508951F938EB38823A9F080911D\r
-:1011A000E9008F709091EC0090FF02C010E801C040\r
-:1011B00010E0182B1092E9008091E80083FF01C035\r
-:1011C00088DE1F701093E9001F910895CF93DF937D\r
-:1011D000EC018091E80083FFA2C0888190E020911B\r
-:1011E0009202309193022817390709F098C0809134\r
-:1011F0008F02813269F0823220F4803209F08FC090\r
-:101200003CC0823209F46AC0833209F088C079C0D8\r
-:1012100080918E02813A09F082C08091E800877F38\r
-:101220008093E8008091E80080FFFCCF8C899D8945\r
-:10123000AE89BF898093F100292F3A2F4B2F552774\r
-:101240002093F1009D01442755272093F1008B2F17\r
-:101250009927AA27BB278093F100888D8093F100FE\r
-:10126000898D8093F1008A8D8093F1008091E80050\r
-:101270008E778093E800B5DC52C080918E02813277\r
-:1012800009F04DC08091E800877F8093E80004C09A\r
-:101290008EB3882309F443C08091E80082FFF8CF21\r
-:1012A0003091F1002091F1009091F1008091F100D6\r
-:1012B0003C8B2D8B9E8B8F8B8091F100888F809142\r
-:1012C000F100898F8091F1008A8F8091E8008B77FF\r
-:1012D0008093E80086DCCE01C4D921C080918E02C3\r
-:1012E0008132E9F48091E800877F8093E80079DC1F\r
-:1012F0008091900290919102998B888BCE01D4D0ED\r
-:101300000EC080918E02813251F48091E800877F77\r
-:101310008093E80066DCCE0160919002C5D0DF9139\r
-:10132000CF910895CF93DF93EC014096FC018BE0C1\r
-:10133000DF011D928A95E9F782E08C83898783E03B\r
-:101340008E87CE01019661E008DC882359F0CE013A\r
-:10135000069661E002DC882329F0CE010B9661E05D\r
-:10136000FCDB01C080E0DF91CF910895DF93CF9344\r
-:101370000F92CDB7DEB7FC018EB38430F9F4248927\r
-:101380003589468957892115310541055105B1F047\r
-:1013900081818F708093E9008091E80085FD0AC00B\r
-:1013A0008091E8008E778093E800698339DC698159\r
-:1013B000882329F46093F10080E001C082E00F905F\r
-:1013C000CF91DF910895FC018EB3843019F5248903\r
-:1013D0003589468957892115310541055105D1F0D7\r
-:1013E00081818F708093E9008091F2008823A1F0C1\r
-:1013F0009091E8008091E8008E778093E80095FD59\r
-:101400000DC00EDC882359F49091E8009E779093EC\r
-:10141000E800089582E0089580E0089580E008954E\r
-:101420002EB3243099F4FC012489358946895789E3\r
-:10143000211531054105510549F021812F70209377\r
-:10144000E9002091E80020FF01C0BDCF0895FC0114\r
-:101450008EB3843029F52489358946895789211529\r
-:10146000310541055105E1F086818F708093E900D7\r
-:101470008091E80082FF14C08091F200882321F05F\r
-:101480002091F10030E002C02FEF3FEF8091F20099\r
-:10149000882341F48091E8008B778093E80002C0B4\r
-:1014A0002FEF3FEFC901089508955058BB27AA2791\r
-:1014B0000ED070C161D130F066D120F031F49F3F81\r
-:1014C00011F41EF456C10EF4E095E7FB4CC1E92F70\r
-:1014D00072D180F3BA17620773078407950718F073\r
-:1014E00071F49EF58AC10EF4E0950B2EBA2FA02D53\r
-:1014F0000B01B90190010C01CA01A0011124FF27C1\r
-:10150000591B99F0593F50F4503E68F11A16F040BB\r
-:10151000A22F232F342F4427585FF3CF46953795BA\r
-:101520002795A795F0405395C9F77EF41F16BA0B7F\r
-:10153000620B730B840BBAF09150A1F0FF0FBB1F2D\r
-:10154000661F771F881FC2F70EC0BA0F621F731F76\r
-:10155000841F48F4879577956795B795F7959E3FD3\r
-:1015600008F0B3CF9395880F08F09927EE0F979561\r
-:1015700087950895D4D008F481E008950CD00AC16D\r
-:1015800002D140F0F9D030F021F45F3F19F0EBC008\r
-:10159000511134C1EEC00FD198F39923C9F35523EB\r
-:1015A000B1F3951B550BBB27AA2762177307840756\r
-:1015B00038F09F5F5F4F220F331F441FAA1FA9F30C\r
-:1015C00033D00E2E3AF0E0E830D091505040E695FE\r
-:1015D000001CCAF729D0FE2F27D0660F771F881F5F\r
-:1015E000BB1F261737074807AB07B0E809F0BB0B4E\r
-:1015F000802DBF01FF2793585F4F2AF09E3F510572\r
-:1016000068F0B1C0FBC05F3FECF3983EDCF3869519\r
-:1016100077956795B795F7959F5FC9F7880F911DE7\r
-:101620009695879597F90895E1E0660F771F881FD3\r
-:10163000BB1F621773078407BA0720F0621B730B86\r
-:10164000840BBA0BEE1F88F7E0950895BCD088F0A4\r
-:101650009F5790F0B92F9927B751A0F0D1F0660F9E\r
-:10166000771F881F991F1AF0BA95C9F712C0B130B9\r
-:1016700081F0C3D0B1E00895C0C0672F782F8827CC\r
-:10168000B85F39F0B93FCCF3869577956795B395F8\r
-:10169000D9F73EF490958095709561957F4F8F4F67\r
-:1016A0009F4F0895E89409C097FB3EF4909580956C\r
-:1016B000709561957F4F8F4F9F4F9923A9F0F92F18\r
-:1016C00096E9BB279395F695879577956795B79596\r
-:1016D000F111F8CFFAF4BB0F11F460FF1BC06F5F7C\r
-:1016E0007F4F8F4F9F4F16C0882311F096E911C08E\r
-:1016F000772321F09EE8872F762F05C0662371F0AF\r
-:1017000096E8862F70E060E02AF09A95660F771FC2\r
-:10171000881FDAF7880F9695879597F90895990F9E\r
-:101720000008550FAA0BE0E8FEEF16161706E807AB\r
-:10173000F907C0F012161306E407F50798F0621BCC\r
-:10174000730B840B950B39F40A2661F0232B242BA1\r
-:10175000252B21F408950A2609F4A140A6958FEFC0\r
-:10176000811D811D089597F99F6780E870E060E012\r
-:1017700008959FEF80EC089500240A94161617062A\r
-:1017800018060906089500240A9412161306140672\r
-:1017900005060895092E0394000C11F4882352F0D5\r
-:1017A000BB0F40F4BF2B11F460FF04C06F5F7F4F8D\r
-:1017B0008F4F9F4F089557FD9058440F551F59F074\r
-:1017C0005F3F71F04795880F97FB991F61F09F3F2E\r
-:1017D00079F087950895121613061406551FF2CF57\r
-:1017E0004695F1DF08C0161617061806991FF1CFA7\r
-:1017F00086957105610508940895E894BB276627CE\r
-:101800007727CB0197F908958ADF08F48FEF0895C1\r
-:10181000A1E21A2EAA1BBB1BFD010DC0AA1FBB1FF4\r
-:10182000EE1FFF1FA217B307E407F50720F0A21B66\r
-:10183000B30BE40BF50B661F771F881F991F1A94D3\r
-:1018400069F760957095809590959B01AC01BD01FD\r
-:08185000CF010895F894FFCFC9\r
-:10185800796F752073656C65637465642074686559\r
-:101868002072656C617469766520706F736974693C\r
-:101878006F6E2064656D6F206D6F6475733A0A0D25\r
-:1018880000785F706F733A20002020795F706F7363\r
-:101898003A20000D00008310000001041000000130\r
-:1018A80082080000010000000000000000000000A5\r
-:0218B8003020DE\r
+:100A600080918E02882309F43FC08530C9F18091BE\r
+:100A7000E80083FD37C08091E80082FD2BC08091A3\r
+:100A8000E80080FF1BC08091F20090E007C0249135\r
+:100A90002093F10031966150704001966115710507\r
+:100AA00019F08830910598F321E08830910509F01C\r
+:100AB00020E08091E8008E778093E8006115710551\r
+:100AC00079F6222369F606C080918E02882361F0B0\r
+:100AD000853061F08091E80082FFF6CF80E00895D4\r
+:100AE00083E0089581E0089582E0089583E0089509\r
+:100AF000982F2CC0292F2F702093E900981739F0D8\r
+:100B00007091EC002091ED005091F00003C0242F73\r
+:100B1000762F50E021FF19C03091EB003E7F3093DB\r
+:100B2000EB003091ED003D7F3093ED003091EB0014\r
+:100B300031603093EB007093EC002093ED00509304\r
+:100B4000F0002091EE0027FF08C09F5F953090F2E3\r
+:100B50008F708093E90081E0089580E00895EF921E\r
+:100B6000FF920F931F93CF93DF93162FE82EE70189\r
+:100B70007E01F92EE70100E02AC09881992329F12E\r
+:100B80006B81E981FA812C81892F8F70853018F56E\r
+:100B90006295660F660F607C991F9927991F692BD4\r
+:100BA000223010F096E001C092E028E030E040E012\r
+:100BB00003C04F5F220F331F2E173F07D0F342951C\r
+:100BC000407F492B95DF882331F00F5F2596011771\r
+:100BD000A0F281E001C080E0DF91CF911F910F91E1\r
+:100BE000FF90EF90089580918F0287FF13C004C09B\r
+:100BF00080918E028823B9F08091E80082FFF8CFBF\r
+:100C00008091E8008B778093E800089580918E02B0\r
+:100C1000882349F08091E80080FFF8CF8091E800B8\r
+:100C20008E778093E80008958091E4009091E5002C\r
+:100C300044E62091EC0020FF26C02091E80020FD32\r
+:100C400016C020918E022223A1F02530A1F0209120\r
+:100C5000EB0025FD12C02091E4003091E50028173B\r
+:100C6000390739F3442359F04150C901E2CF80E0FC\r
+:100C7000089582E0089583E0089581E0089584E076\r
+:100C8000089580E008952091E80022FFDACFF9CF9F\r
+:100C900041D043D08091D8008F778093D800809145\r
+:100CA000D80080688093D8008091D8008F7D809391\r
+:100CB000D80084E089BD86E089BD09B400FEFDCF7F\r
+:100CC00010928E0210928A0210928C0210928B0265\r
+:100CD00080E060E042E00CDF8091E1008E7F809355\r
+:100CE000E1008091E20081608093E2008091E20067\r
+:100CF00088608093E2008091E0008E7F8093E00026\r
+:100D00000895E3E6F0E080818E7F808381E0809328\r
+:100D10008D02BECF1092E20008951092E100089576\r
+:100D20001F920F920FB60F9211242F933F934F9360\r
+:100D30005F936F937F938F939F93AF93BF93EF9343\r
+:100D4000FF938091E10082FF0AC08091E20082FF60\r
+:100D500006C08091E1008B7F8093E100E6D1809115\r
+:100D6000E10080FF17C08091E20080FF13C08091F6\r
+:100D7000E2008E7F8093E2008091E20080618093A8\r
+:100D8000E2008091D80080628093D80019BC109254\r
+:100D90008E0236DC8091E10084FF2DC08091E2005C\r
+:100DA00084FF29C084E089BD86E089BD09B400FEC6\r
+:100DB000FDCF8091D8008F7D8093D8008091E10095\r
+:100DC0008F7E8093E1008091E2008F7E8093E2002D\r
+:100DD0008091E20081608093E20080918A02882302\r
+:100DE00021F48091E30087FF02C084E001C081E02C\r
+:100DF00080938E0204DC8091E10083FF22C0809109\r
+:100E0000E20083FF1EC08091E100877F8093E100B4\r
+:100E100082E080938E0210928A028091E1008E7FA0\r
+:100E20008093E1008091E2008E7F8093E2008091C8\r
+:100E3000E20080618093E20080E060E042E058DE02\r
+:100E400074D1FF91EF91BF91AF919F918F917F915D\r
+:100E50006F915F914F913F912F910F900FBE0F9027\r
+:100E60001F9018951F93DF93CF93CDB7DEB7AC9744\r
+:100E70000FB6F894DEBF0FBECDBFEFE8F2E0809171\r
+:100E8000F100819322E0E739F207C9F7BDDB8091D9\r
+:100E9000E80083FF32C180918F02209190022530BB\r
+:100EA00009F484C0263040F42130A1F1213070F0E3\r
+:100EB000233009F022C12EC0283009F4F0C02930B7\r
+:100EC00009F4FFC0263009F018C193C0803821F022\r
+:100ED000823809F012C108C080918B0290918C0277\r
+:100EE000992371F082600CC0809193028F7080937F\r
+:100EF000E9009091EB0081E095FF80E01092E9001D\r
+:100F00009091E800977F9093E8008093F100109211\r
+:100F1000F100D0C0882319F0823009F0EEC090E0D3\r
+:100F20008F719070009729F08230910509F0E5C02B\r
+:100F30000BC080919102813009F0DFC0233009F0AD\r
+:100F400080E080938C022CC080919102882341F52F\r
+:100F5000209193022F7009F4D0C02093E900809172\r
+:100F6000EB0080FF1DC080919002833021F48091BE\r
+:100F7000EB00806213C08091EB0080618093EB00F6\r
+:100F800081E090E002C0880F991F2A95E2F78093D4\r
+:100F9000EA001092EA008091EB0088608093EB00F9\r
+:100FA0001092E9008091E800877F87C0882309F0CC\r
+:100FB000A4C0109191021F778091E3008078812B6B\r
+:100FC0008093E3008091E800877F8093E8000BDE48\r
+:100FD0008091E80080FFFCCF8091E30080688093DF\r
+:100FE000E300112311F083E001C082E080938E02C0\r
+:100FF00084C08058823008F080C080919102909126\r
+:10100000920223E08C3D920791F583E08C838AE283\r
+:101010008B835FB7F894DE01159680E090E04EE098\r
+:1010200061E2E42FF0E060935700E49180FF03C099\r
+:10103000E295EF704F5FEF702E2F30E0EA3018F03E\r
+:10104000295C3F4F02C0205D3F4F2D933D93019699\r
+:101050008431910531F75FBF8091E800877F8093ED\r
+:10106000E800CE0103966AE270E089DC12C060916C\r
+:101070009302AE014F5F5F4F55DCBC01009709F44E\r
+:101080003CC08091E800877F8093E80089819A8145\r
+:10109000D2DC8091E8008B778093E8002EC0803806\r
+:1010A00061F58091E800877F8093E80080918A0253\r
+:1010B0008093F1008091E8008E778093E80093DDC3\r
+:1010C0001CC08823D1F4909191029230B0F48091A9\r
+:1010D000E800877F8093E80090938A0284DD809106\r
+:1010E0008A02882321F48091E30087FF02C084E014\r
+:1010F00001C081E080938E0284DA8091E80083FF52\r
+:101100000AC08091E800877F8093E8008091EB001F\r
+:1011100080628093EB00AC960FB6F894DEBF0FBEF2\r
+:10112000CDBFCF91DF911F91089508951F938091B6\r
+:101130008E028823A9F08091E9008F709091EC00D5\r
+:1011400090FF02C010E801C010E0182B1092E900D7\r
+:101150008091E80083FF01C085DE1F701093E900D5\r
+:101160001F910895CF93DF93EC018091E80083FFF6\r
+:10117000A3C0888190E020919302309194022817B7\r
+:10118000390709F099C080919002813269F082326A\r
+:1011900020F4803209F090C03CC0823209F46BC068\r
+:1011A000833209F089C07AC080918F02813A09F0B8\r
+:1011B00083C08091E800877F8093E8008091E800F9\r
+:1011C00080FFFCCF8C899D89AE89BF898093F10017\r
+:1011D000292F3A2F4B2F55272093F1009D014427AB\r
+:1011E00055272093F1008B2F9927AA27BB2780939F\r
+:1011F000F100888D8093F100898D8093F1008A8DB4\r
+:101200008093F1008091E8008E778093E800EBDC1A\r
+:1012100053C080918F02813209F04EC08091E80066\r
+:10122000877F8093E80005C080918E02882309F4AF\r
+:1012300043C08091E80082FFF7CF3091F100209108\r
+:10124000F1009091F1008091F1003C8B2D8B9E8BF1\r
+:101250008F8B8091F100888F8091F100898F809130\r
+:10126000F1008A8F8091E8008B778093E800BBDCE7\r
+:10127000CE01F7D921C080918F028132E9F48091AB\r
+:10128000E800877F8093E800AEDC80919102909126\r
+:101290009202998B888BCE01D8D00EC080918F029C\r
+:1012A000813251F48091E800877F8093E8009BDCD5\r
+:1012B000CE0160919102C9D0DF91CF910895CF9373\r
+:1012C000DF93EC014096FC018BE0DF011D928A95D3\r
+:1012D000E9F782E08C83898783E08E87CE010196CF\r
+:1012E00061E03DDC882359F0CE01069661E037DCF1\r
+:1012F000882329F0CE010B9661E031DC01C080E04B\r
+:10130000DF91CF910895DF93CF930F92CDB7DEB7E2\r
+:10131000FC0180918E028430F9F424893589468954\r
+:1013200057892115310541055105B1F081818F7033\r
+:101330008093E9008091E80085FD0AC08091E80073\r
+:101340008E778093E80069836FDC6981882329F4B4\r
+:101350006093F10080E001C082E00F90CF91DF91B7\r
+:101360000895FC0180918E02843019F52489358915\r
+:10137000468957892115310541055105D1F08181F3\r
+:101380008F708093E9008091F2008823A1F0909102\r
+:10139000E8008091E8008E778093E80095FD0DC00D\r
+:1013A00043DC882359F49091E8009E779093E800FD\r
+:1013B000089582E0089580E0089580E008952091E6\r
+:1013C0008E02243099F4FC01248935894689578995\r
+:1013D000211531054105510549F021812F702093D8\r
+:1013E000E9002091E80020FF01C0BBCF0895FC0177\r
+:1013F00080918E02843029F5248935894689578960\r
+:101400002115310541055105E1F086818F708093EA\r
+:10141000E9008091E80082FF14C08091F2008823E7\r
+:1014200021F02091F10030E002C02FEF3FEF8091DA\r
+:10143000F200882341F48091E8008B778093E800E4\r
+:1014400002C02FEF3FEFC901089508955058BB2700\r
+:10145000AA270ED070C161D130F066D120F031F4EE\r
+:101460009F3F11F41EF456C10EF4E095E7FB4CC10A\r
+:10147000E92F72D180F3BA176207730784079507C3\r
+:1014800018F071F49EF58AC10EF4E0950B2EBA2F78\r
+:10149000A02D0B01B90190010C01CA01A00111247A\r
+:1014A000FF27591B99F0593F50F4503E68F11A1626\r
+:1014B000F040A22F232F342F4427585FF3CF4695B7\r
+:1014C00037952795A795F0405395C9F77EF41F16D9\r
+:1014D000BA0B620B730B840BBAF09150A1F0FF0FA3\r
+:1014E000BB1F661F771F881FC2F70EC0BA0F621F8F\r
+:1014F000731F841F48F4879577956795B795F7957F\r
+:101500009E3F08F0B3CF9395880F08F09927EE0F10\r
+:10151000979587950895D4D008F481E008950CD06C\r
+:101520000AC102D140F0F9D030F021F45F3F19F048\r
+:10153000EBC0511134C1EEC00FD198F39923C9F318\r
+:101540005523B1F3951B550BBB27AA2762177307C9\r
+:10155000840738F09F5F5F4F220F331F441FAA1F7D\r
+:10156000A9F333D00E2E3AF0E0E830D0915050403D\r
+:10157000E695001CCAF729D0FE2F27D0660F771FEB\r
+:10158000881FBB1F261737074807AB07B0E809F0CD\r
+:10159000BB0B802DBF01FF2793585F4F2AF09E3F62\r
+:1015A000510568F0B1C0FBC05F3FECF3983EDCF33F\r
+:1015B000869577956795B795F7959F5FC9F7880FDB\r
+:1015C000911D9695879597F90895E1E0660F771F2D\r
+:1015D000881FBB1F621773078407BA0720F0621BBE\r
+:1015E000730B840BBA0BEE1F88F7E0950895BCD0FF\r
+:1015F00088F09F5790F0B92F9927B751A0F0D1F0FC\r
+:10160000660F771F881F991F1AF0BA95C9F712C085\r
+:10161000B13081F0C3D0B1E00895C0C0672F782FFA\r
+:101620008827B85F39F0B93FCCF3869577956795F1\r
+:10163000B395D9F73EF490958095709561957F4F5D\r
+:101640008F4F9F4F0895E89409C097FB3EF4909503\r
+:101650008095709561957F4F8F4F9F4F9923A9F08B\r
+:10166000F92F96E9BB279395F6958795779567951A\r
+:10167000B795F111F8CFFAF4BB0F11F460FF1BC05E\r
+:101680006F5F7F4F8F4F9F4F16C0882311F096E9F1\r
+:1016900011C0772321F09EE8872F762F05C066239F\r
+:1016A00071F096E8862F70E060E02AF09A95660F58\r
+:1016B000771F881FDAF7880F9695879597F9089511\r
+:1016C000990F0008550FAA0BE0E8FEEF1616170653\r
+:1016D000E807F907C0F012161306E407F50798F0BB\r
+:1016E000621B730B840B950B39F40A2661F0232BD4\r
+:1016F000242B252B21F408950A2609F4A140A69550\r
+:101700008FEF811D811D089597F99F6780E870E034\r
+:1017100060E008959FEF80EC089500240A94161667\r
+:10172000170618060906089500240A9412161306CF\r
+:10173000140605060895092E0394000C11F488235D\r
+:1017400052F0BB0F40F4BF2B11F460FF04C06F5F79\r
+:101750007F4F8F4F9F4F089557FD9058440F551F4F\r
+:1017600059F05F3F71F04795880F97FB991F61F023\r
+:101770009F3F79F087950895121613061406551F9A\r
+:10178000F2CF4695F1DF08C0161617061806991F06\r
+:10179000F1CF86957105610508940895E894BB27FB\r
+:1017A00066277727CB0197F908958ADF08F48FEF32\r
+:1017B0000895A1E21A2EAA1BBB1BFD010DC0AA1F92\r
+:1017C000BB1FEE1FFF1FA217B307E407F50720F0AA\r
+:1017D000A21BB30BE40BF50B661F771F881F991F25\r
+:1017E0001A9469F760957095809590959B01AC016E\r
+:0A17F000BD01CF010895F894FFCF6A\r
+:1017FA00796F752073656C656374656420746865B8\r
+:10180A002072656C617469766520706F736974699A\r
+:10181A006F6E2064656D6F206D6F6475733A0A0D83\r
+:10182A0000785F706F733A20002020795F706F73C1\r
+:10183A003A20000D0000831000000104100000018E\r
+:10184A008208000001000000000000000000000003\r
+:02185A0030203C\r
 :00000001FF\r
index 1db7b0d73297ed57e9bc2376e0388db326ef7f64..3ddef31eb8eeb67081457c1f2de379b0f2d7a143 100644 (file)
@@ -3,35 +3,35 @@ USBtoSerial.elf:     file format elf32-avr
 
 Sections:
 Idx Name          Size      VMA       LMA       File off  Algn
-  0 .data         00000062  00800100  00001858  000018ec  2**0
+  0 .data         00000062  00800100  000017fa  0000188e  2**0
                   CONTENTS, ALLOC, LOAD, DATA
-  1 .text         00001858  00000000  00000000  00000094  2**1
+  1 .text         000017fa  00000000  00000000  00000094  2**1
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
-  2 .bss          00000134  00800162  00800162  0000194e  2**0
+  2 .bss          00000135  00800162  00800162  000018f0  2**0
                   ALLOC
-  3 .stab         0000228c  00000000  00000000  00001950  2**2
+  3 .stab         0000228c  00000000  00000000  000018f0  2**2
                   CONTENTS, READONLY, DEBUGGING
-  4 .stabstr      0000044f  00000000  00000000  00003bdc  2**0
+  4 .stabstr      0000044f  00000000  00000000  00003b7c  2**0
                   CONTENTS, READONLY, DEBUGGING
-  5 .debug_aranges 00000538  00000000  00000000  0000402b  2**0
+  5 .debug_aranges 00000530  00000000  00000000  00003fcb  2**0
                   CONTENTS, READONLY, DEBUGGING
-  6 .debug_pubnames 00000e11  00000000  00000000  00004563  2**0
+  6 .debug_pubnames 00000e15  00000000  00000000  000044fb  2**0
                   CONTENTS, READONLY, DEBUGGING
-  7 .debug_info   00008d6f  00000000  00000000  00005374  2**0
+  7 .debug_info   00008daf  00000000  00000000  00005310  2**0
                   CONTENTS, READONLY, DEBUGGING
-  8 .debug_abbrev 000021a4  00000000  00000000  0000e0e3  2**0
+  8 .debug_abbrev 0000219a  00000000  00000000  0000e0bf  2**0
                   CONTENTS, READONLY, DEBUGGING
-  9 .debug_line   00007605  00000000  00000000  00010287  2**0
+  9 .debug_line   000077dd  00000000  00000000  00010259  2**0
                   CONTENTS, READONLY, DEBUGGING
- 10 .debug_frame  00000830  00000000  00000000  0001788c  2**2
+ 10 .debug_frame  00000820  00000000  00000000  00017a38  2**2
                   CONTENTS, READONLY, DEBUGGING
- 11 .debug_str    00003bf7  00000000  00000000  000180bc  2**0
+ 11 .debug_str    00003ce7  00000000  00000000  00018258  2**0
                   CONTENTS, READONLY, DEBUGGING
- 12 .debug_loc    00004645  00000000  00000000  0001bcb3  2**0
+ 12 .debug_loc    00004631  00000000  00000000  0001bf3f  2**0
                   CONTENTS, READONLY, DEBUGGING
- 13 .debug_pubtypes 00001111  00000000  00000000  000202f8  2**0
+ 13 .debug_pubtypes 00001111  00000000  00000000  00020570  2**0
                   CONTENTS, READONLY, DEBUGGING
- 14 .debug_ranges 00000790  00000000  00000000  00021409  2**0
+ 14 .debug_ranges 00000788  00000000  00000000  00021681  2**0
                   CONTENTS, READONLY, DEBUGGING
 
 Disassembly of section .text:
@@ -71,9 +71,9 @@ Disassembly of section .text:
       26:      00 00           nop
       28:      a2 c0           rjmp    .+324           ; 0x16e <__bad_interrupt>
       2a:      00 00           nop
-      2c:      73 c6           rjmp    .+3302          ; 0xd14 <__vector_11>
+      2c:      79 c6           rjmp    .+3314          ; 0xd20 <__vector_11>
       2e:      00 00           nop
-      30:      15 c7           rjmp    .+3626          ; 0xe5c <__vector_12>
+      30:      9e c0           rjmp    .+316           ; 0x16e <__bad_interrupt>
       32:      00 00           nop
       34:      9c c0           rjmp    .+312           ; 0x16e <__bad_interrupt>
       36:      00 00           nop
@@ -160,8 +160,8 @@ Disassembly of section .text:
      142:      11 e0           ldi     r17, 0x01       ; 1
      144:      a0 e0           ldi     r26, 0x00       ; 0
      146:      b1 e0           ldi     r27, 0x01       ; 1
-     148:      e8 e5           ldi     r30, 0x58       ; 88
-     14a:      f8 e1           ldi     r31, 0x18       ; 24
+     148:      ea ef           ldi     r30, 0xFA       ; 250
+     14a:      f7 e1           ldi     r31, 0x17       ; 23
      14c:      02 c0           rjmp    .+4             ; 0x152 <__do_copy_data+0x10>
      14e:      05 90           lpm     r0, Z+
      150:      0d 92           st      X+, r0
@@ -179,11 +179,11 @@ Disassembly of section .text:
      160:      1d 92           st      X+, r1
 
 00000162 <.do_clear_bss_start>:
-     162:      a6 39           cpi     r26, 0x96       ; 150
+     162:      a7 39           cpi     r26, 0x97       ; 151
      164:      b1 07           cpc     r27, r17
      166:      e1 f7           brne    .-8             ; 0x160 <.do_clear_bss_loop>
-     168:      5f d3           rcall   .+1726          ; 0x828 <main>
-     16a:      0c 94 2a 0c     jmp     0x1854  ; 0x1854 <_exit>
+     168:      5d d3           rcall   .+1722          ; 0x824 <main>
+     16a:      0c 94 fb 0b     jmp     0x17f6  ; 0x17f6 <_exit>
 
 0000016e <__bad_interrupt>:
      16e:      48 cf           rjmp    .-368           ; 0x0 <__vectors>
@@ -463,12 +463,12 @@ u08 adb(void) {
      256:      bc 01           movw    r22, r24
      258:      80 e0           ldi     r24, 0x00       ; 0
      25a:      90 e0           ldi     r25, 0x00       ; 0
-     25c:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     25c:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      260:      20 e0           ldi     r18, 0x00       ; 0
      262:      30 e8           ldi     r19, 0x80       ; 128
      264:      4e e0           ldi     r20, 0x0E       ; 14
      266:      53 e4           ldi     r21, 0x43       ; 67
-     268:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     268:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      26c:      87 fd           sbrc    r24, 7
      26e:      f2 cf           rjmp    .-28            ; 0x254 <adb+0x18>
                ; // Warteschleife
@@ -495,12 +495,12 @@ u08 adb(void) {
      282:      bc 01           movw    r22, r24
      284:      80 e0           ldi     r24, 0x00       ; 0
      286:      90 e0           ldi     r25, 0x00       ; 0
-     288:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     288:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      28c:      20 e0           ldi     r18, 0x00       ; 0
      28e:      30 e0           ldi     r19, 0x00       ; 0
      290:      4c e8           ldi     r20, 0x8C       ; 140
      292:      52 e4           ldi     r21, 0x42       ; 66
-     294:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     294:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      298:      87 fd           sbrc    r24, 7
      29a:      f2 cf           rjmp    .-28            ; 0x280 <adb+0x44>
                        ;
@@ -513,12 +513,12 @@ u08 adb(void) {
      2a2:      bc 01           movw    r22, r24
      2a4:      80 e0           ldi     r24, 0x00       ; 0
      2a6:      90 e0           ldi     r25, 0x00       ; 0
-     2a8:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     2a8:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      2ac:      20 e0           ldi     r18, 0x00       ; 0
      2ae:      30 e0           ldi     r19, 0x00       ; 0
      2b0:      48 e4           ldi     r20, 0x48       ; 72
      2b2:      53 e4           ldi     r21, 0x43       ; 67
-     2b4:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     2b4:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      2b8:      87 fd           sbrc    r24, 7
      2ba:      f2 cf           rjmp    .-28            ; 0x2a0 <adb+0x64>
      2bc:      41 c0           rjmp    .+130           ; 0x340 <adb+0x104>
@@ -560,12 +560,12 @@ u08 adb(void) {
      2e0:      bc 01           movw    r22, r24
      2e2:      80 e0           ldi     r24, 0x00       ; 0
      2e4:      90 e0           ldi     r25, 0x00       ; 0
-     2e6:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     2e6:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      2ea:      20 e0           ldi     r18, 0x00       ; 0
      2ec:      30 e0           ldi     r19, 0x00       ; 0
      2ee:      4c e8           ldi     r20, 0x8C       ; 140
      2f0:      52 e4           ldi     r21, 0x42       ; 66
-     2f2:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     2f2:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      2f6:      87 fd           sbrc    r24, 7
      2f8:      f2 cf           rjmp    .-28            ; 0x2de <adb+0xa2>
      2fa:      0e c0           rjmp    .+28            ; 0x318 <adb+0xdc>
@@ -576,12 +576,12 @@ u08 adb(void) {
      2fe:      bc 01           movw    r22, r24
      300:      80 e0           ldi     r24, 0x00       ; 0
      302:      90 e0           ldi     r25, 0x00       ; 0
-     304:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     304:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      308:      20 e0           ldi     r18, 0x00       ; 0
      30a:      30 e0           ldi     r19, 0x00       ; 0
      30c:      42 e0           ldi     r20, 0x02       ; 2
      30e:      53 e4           ldi     r21, 0x43       ; 67
-     310:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     310:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      314:      87 fd           sbrc    r24, 7
      316:      f2 cf           rjmp    .-28            ; 0x2fc <adb+0xc0>
                                                ;
@@ -594,12 +594,12 @@ u08 adb(void) {
      31e:      bc 01           movw    r22, r24
      320:      80 e0           ldi     r24, 0x00       ; 0
      322:      90 e0           ldi     r25, 0x00       ; 0
-     324:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     324:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      328:      20 e0           ldi     r18, 0x00       ; 0
      32a:      30 e0           ldi     r19, 0x00       ; 0
      32c:      48 e4           ldi     r20, 0x48       ; 72
      32e:      53 e4           ldi     r21, 0x43       ; 67
-     330:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     330:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      334:      87 fd           sbrc    r24, 7
      336:      f2 cf           rjmp    .-28            ; 0x31c <adb+0xe0>
                ADB_POUT |= ADB_BIT;
@@ -637,12 +637,12 @@ u08 adb(void) {
      34e:      bc 01           movw    r22, r24
      350:      80 e0           ldi     r24, 0x00       ; 0
      352:      90 e0           ldi     r25, 0x00       ; 0
-     354:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     354:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      358:      20 e0           ldi     r18, 0x00       ; 0
      35a:      30 e0           ldi     r19, 0x00       ; 0
      35c:      42 e0           ldi     r20, 0x02       ; 2
      35e:      53 e4           ldi     r21, 0x43       ; 67
-     360:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     360:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      364:      87 fd           sbrc    r24, 7
      366:      f2 cf           rjmp    .-28            ; 0x34c <adb+0x110>
                        ;
@@ -655,12 +655,12 @@ u08 adb(void) {
      36e:      bc 01           movw    r22, r24
      370:      80 e0           ldi     r24, 0x00       ; 0
      372:      90 e0           ldi     r25, 0x00       ; 0
-     374:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     374:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      378:      20 e0           ldi     r18, 0x00       ; 0
      37a:      30 e0           ldi     r19, 0x00       ; 0
      37c:      48 e4           ldi     r20, 0x48       ; 72
      37e:      53 e4           ldi     r21, 0x43       ; 67
-     380:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     380:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      384:      87 fd           sbrc    r24, 7
      386:      f2 cf           rjmp    .-28            ; 0x36c <adb+0x130>
                        ;
@@ -706,12 +706,12 @@ u08 adb(void) {
      3a8:      bc 01           movw    r22, r24
      3aa:      80 e0           ldi     r24, 0x00       ; 0
      3ac:      90 e0           ldi     r25, 0x00       ; 0
-     3ae:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     3ae:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      3b2:      20 e0           ldi     r18, 0x00       ; 0
      3b4:      30 e0           ldi     r19, 0x00       ; 0
      3b6:      4a ef           ldi     r20, 0xFA       ; 250
      3b8:      53 e4           ldi     r21, 0x43       ; 67
-     3ba:      0e 94 04 0c     call    0x1808  ; 0x1808 <__gesf2>
+     3ba:      0e 94 d5 0b     call    0x17aa  ; 0x17aa <__gesf2>
      3be:      18 16           cp      r1, r24
      3c0:      0c f4           brge    .+2             ; 0x3c4 <adb+0x188>
      3c2:      42 c0           rjmp    .+132           ; 0x448 <adb+0x20c>
@@ -756,12 +756,12 @@ u08 adb(void) {
      3e4:      bc 01           movw    r22, r24
      3e6:      80 e0           ldi     r24, 0x00       ; 0
      3e8:      90 e0           ldi     r25, 0x00       ; 0
-     3ea:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     3ea:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      3ee:      20 e0           ldi     r18, 0x00       ; 0
      3f0:      30 e0           ldi     r19, 0x00       ; 0
      3f2:      48 e4           ldi     r20, 0x48       ; 72
      3f4:      53 e4           ldi     r21, 0x43       ; 67
-     3f6:      0e 94 04 0c     call    0x1808  ; 0x1808 <__gesf2>
+     3f6:      0e 94 d5 0b     call    0x17aa  ; 0x17aa <__gesf2>
      3fa:      18 16           cp      r1, r24
      3fc:      14 f4           brge    .+4             ; 0x402 <adb+0x1c6>
                                        return (z_byte - 1);
@@ -782,12 +782,12 @@ u08 adb(void) {
      40e:      bc 01           movw    r22, r24
      410:      80 e0           ldi     r24, 0x00       ; 0
      412:      90 e0           ldi     r25, 0x00       ; 0
-     414:      0e 94 52 0b     call    0x16a4  ; 0x16a4 <__floatunsisf>
+     414:      0e 94 23 0b     call    0x1646  ; 0x1646 <__floatunsisf>
      418:      20 e0           ldi     r18, 0x00       ; 0
      41a:      30 e0           ldi     r19, 0x00       ; 0
      41c:      48 ec           ldi     r20, 0xC8       ; 200
      41e:      52 e4           ldi     r21, 0x42       ; 66
-     420:      0e 94 ba 0a     call    0x1574  ; 0x1574 <__cmpsf2>
+     420:      0e 94 8b 0a     call    0x1516  ; 0x1516 <__cmpsf2>
      424:      87 ff           sbrs    r24, 7
      426:      03 c0           rjmp    .+6             ; 0x42e <adb+0x1f2>
                                adb_werte[z_byte] += bitpos;
@@ -1086,7 +1086,7 @@ void Usb2SerialTask(void) {
       int16_t ReceivedByte = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
      540:      85 e4           ldi     r24, 0x45       ; 69
      542:      91 e0           ldi     r25, 0x01       ; 1
-     544:      84 d7           rcall   .+3848          ; 0x144e <CDC_Device_ReceiveByte>
+     544:      54 d7           rcall   .+3752          ; 0x13ee <CDC_Device_ReceiveByte>
      546:      bc 01           movw    r22, r24
 
       /* Read bytes from the USB OUT endpoint into the USART transmit buffer */
@@ -1179,7 +1179,7 @@ void Usb2SerialTask(void) {
      58c:      85 e4           ldi     r24, 0x45       ; 69
      58e:      91 e0           ldi     r25, 0x01       ; 1
      590:      60 81           ld      r22, Z
-     592:      ec d6           rcall   .+3544          ; 0x136c <CDC_Device_SendByte>
+     592:      b9 d6           rcall   .+3442          ; 0x1306 <CDC_Device_SendByte>
      594:      11 50           subi    r17, 0x01       ; 1
      596:      88 23           and     r24, r24
      598:      29 f4           brne    .+10            ; 0x5a4 <Usb2SerialTask+0x82>
@@ -1258,9 +1258,9 @@ void Usb2SerialTask(void) {
     CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
      5c8:      85 e4           ldi     r24, 0x45       ; 69
      5ca:      91 e0           ldi     r25, 0x01       ; 1
-     5cc:      29 d7           rcall   .+3666          ; 0x1420 <CDC_Device_USBTask>
+     5cc:      f8 d6           rcall   .+3568          ; 0x13be <CDC_Device_USBTask>
     USB_USBTask();
-     5ce:      e3 d5           rcall   .+3014          ; 0x1196 <USB_USBTask>
+     5ce:      ae d5           rcall   .+2908          ; 0x112c <USB_USBTask>
   
 }
      5d0:      1f 91           pop     r17
@@ -1302,7 +1302,7 @@ void clock_prescale_set(clock_div_t __x)
 //     LEDs_Init();
        USB_Init();
 }
-     5fc:      7c c3           rjmp    .+1784          ; 0xcf6 <USB_Init>
+     5fc:      82 c3           rjmp    .+1796          ; 0xd02 <USB_Init>
 
 000005fe <EVENT_USB_Device_Connect>:
 
@@ -1334,7 +1334,7 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 
 //     LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 }
-     606:      8e c6           rjmp    .+3356          ; 0x1324 <CDC_Device_ConfigureEndpoints>
+     606:      5b c6           rjmp    .+3254          ; 0x12be <CDC_Device_ConfigureEndpoints>
 
 00000608 <EVENT_USB_Device_ControlRequest>:
 
@@ -1345,7 +1345,7 @@ void EVENT_USB_Device_ControlRequest(void)
      608:      85 e4           ldi     r24, 0x45       ; 69
      60a:      91 e0           ldi     r25, 0x01       ; 1
 }
-     60c:      df c5           rjmp    .+3006          ; 0x11cc <CDC_Device_ProcessControlRequest>
+     60c:      ab c5           rjmp    .+2902          ; 0x1164 <CDC_Device_ProcessControlRequest>
 
 0000060e <__vector_23>:
 
@@ -1488,28 +1488,28 @@ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCI
      6c4:      87 95           ror     r24
      6c6:      77 95           ror     r23
      6c8:      67 95           ror     r22
-     6ca:      ec d7           rcall   .+4056          ; 0x16a4 <__floatunsisf>
+     6ca:      bd d7           rcall   .+3962          ; 0x1646 <__floatunsisf>
      6cc:      20 e0           ldi     r18, 0x00       ; 0
      6ce:      34 e2           ldi     r19, 0x24       ; 36
      6d0:      44 ef           ldi     r20, 0xF4       ; 244
      6d2:      59 e4           ldi     r21, 0x49       ; 73
-     6d4:      eb d6           rcall   .+3542          ; 0x14ac <__addsf3>
+     6d4:      bc d6           rcall   .+3448          ; 0x144e <__addsf3>
      6d6:      4b 01           movw    r8, r22
      6d8:      5c 01           movw    r10, r24
      6da:      c7 01           movw    r24, r14
      6dc:      b6 01           movw    r22, r12
-     6de:      e2 d7           rcall   .+4036          ; 0x16a4 <__floatunsisf>
+     6de:      b3 d7           rcall   .+3942          ; 0x1646 <__floatunsisf>
      6e0:      9b 01           movw    r18, r22
      6e2:      ac 01           movw    r20, r24
      6e4:      c5 01           movw    r24, r10
      6e6:      b4 01           movw    r22, r8
-     6e8:      49 d7           rcall   .+3730          ; 0x157c <__divsf3>
+     6e8:      1a d7           rcall   .+3636          ; 0x151e <__divsf3>
      6ea:      20 e0           ldi     r18, 0x00       ; 0
      6ec:      30 e0           ldi     r19, 0x00       ; 0
      6ee:      40 e8           ldi     r20, 0x80       ; 128
      6f0:      5f e3           ldi     r21, 0x3F       ; 63
-     6f2:      db d6           rcall   .+3510          ; 0x14aa <__subsf3>
-     6f4:      ab d7           rcall   .+3926          ; 0x164c <__fixunssfsi>
+     6f2:      ac d6           rcall   .+3416          ; 0x144c <__subsf3>
+     6f4:      7c d7           rcall   .+3832          ; 0x15ee <__fixunssfsi>
      6f6:      70 93 cd 00     sts     0x00CD, r23
      6fa:      60 93 cc 00     sts     0x00CC, r22
 
@@ -1675,7 +1675,7 @@ void my_uitoa(uint32_t zahl, char* string, uint8_t no_digits) {
 
   string[no_digits] = '\0'; // String Terminator
   for (i = (no_digits - 1); i >= 0; i--) {
-     7b8:      22 c0           rjmp    .+68            ; 0x7fe <my_uitoa+0xa6>
+     7b8:      20 c0           rjmp    .+64            ; 0x7fa <my_uitoa+0xa2>
     if (zahl == 0 && i < (no_digits - 1)) {
      7ba:      e1 14           cp      r14, r1
      7bc:      f1 04           cpc     r15, r1
@@ -1701,600 +1701,600 @@ void my_uitoa(uint32_t zahl, char* string, uint8_t no_digits) {
      7ce:      14 f4           brge    .+4             ; 0x7d4 <my_uitoa+0x7c>
       string[i] = ' ';
      7d0:      c8 82           st      Y, r12
-     7d2:      08 c0           rjmp    .+16            ; 0x7e4 <my_uitoa+0x8c>
+     7d2:      07 c0           rjmp    .+14            ; 0x7e2 <my_uitoa+0x8a>
     } else {
       string[i] = (zahl % 10) + '0';
      7d4:      c8 01           movw    r24, r16
      7d6:      b7 01           movw    r22, r14
      7d8:      a4 01           movw    r20, r8
      7da:      93 01           movw    r18, r6
-     7dc:      0e 94 08 0c     call    0x1810  ; 0x1810 <__udivmodsi4>
-     7e0:      60 5d           subi    r22, 0xD0       ; 208
-     7e2:      68 83           st      Y, r22
+     7dc:      ea d7           rcall   .+4052          ; 0x17b2 <__udivmodsi4>
+     7de:      60 5d           subi    r22, 0xD0       ; 208
+     7e0:      68 83           st      Y, r22
     } // Modulo rechnen, dann den ASCII-Code von '0' addieren
     zahl /= 10;
-     7e4:      c8 01           movw    r24, r16
-     7e6:      b7 01           movw    r22, r14
-     7e8:      a4 01           movw    r20, r8
-     7ea:      93 01           movw    r18, r6
-     7ec:      0e 94 08 0c     call    0x1810  ; 0x1810 <__udivmodsi4>
-     7f0:      79 01           movw    r14, r18
-     7f2:      8a 01           movw    r16, r20
+     7e2:      c8 01           movw    r24, r16
+     7e4:      b7 01           movw    r22, r14
+     7e6:      a4 01           movw    r20, r8
+     7e8:      93 01           movw    r18, r6
+     7ea:      e3 d7           rcall   .+4038          ; 0x17b2 <__udivmodsi4>
+     7ec:      79 01           movw    r14, r18
+     7ee:      8a 01           movw    r16, r20
 // convert an unsigned integer to string
 void my_uitoa(uint32_t zahl, char* string, uint8_t no_digits) {
   int8_t i; // schleifenzähler
 
   string[no_digits] = '\0'; // String Terminator
   for (i = (no_digits - 1); i >= 0; i--) {
-     7f4:      da 94           dec     r13
-     7f6:      21 97           sbiw    r28, 0x01       ; 1
-     7f8:      08 94           sec
-     7fa:      a1 08           sbc     r10, r1
-     7fc:      b1 08           sbc     r11, r1
-     7fe:      d7 fe           sbrs    r13, 7
-     800:      dc cf           rjmp    .-72            ; 0x7ba <my_uitoa+0x62>
+     7f0:      da 94           dec     r13
+     7f2:      21 97           sbiw    r28, 0x01       ; 1
+     7f4:      08 94           sec
+     7f6:      a1 08           sbc     r10, r1
+     7f8:      b1 08           sbc     r11, r1
+     7fa:      d7 fe           sbrs    r13, 7
+     7fc:      de cf           rjmp    .-68            ; 0x7ba <my_uitoa+0x62>
       string[i] = (zahl % 10) + '0';
     } // Modulo rechnen, dann den ASCII-Code von '0' addieren
     zahl /= 10;
   }
 
 }
-     802:      df 91           pop     r29
-     804:      cf 91           pop     r28
-     806:      1f 91           pop     r17
-     808:      0f 91           pop     r16
-     80a:      ff 90           pop     r15
-     80c:      ef 90           pop     r14
-     80e:      df 90           pop     r13
-     810:      cf 90           pop     r12
-     812:      bf 90           pop     r11
-     814:      af 90           pop     r10
-     816:      9f 90           pop     r9
-     818:      8f 90           pop     r8
-     81a:      7f 90           pop     r7
-     81c:      6f 90           pop     r6
-     81e:      5f 90           pop     r5
-     820:      4f 90           pop     r4
-     822:      3f 90           pop     r3
-     824:      2f 90           pop     r2
-     826:      08 95           ret
-
-00000828 <main>:
+     7fe:      df 91           pop     r29
+     800:      cf 91           pop     r28
+     802:      1f 91           pop     r17
+     804:      0f 91           pop     r16
+     806:      ff 90           pop     r15
+     808:      ef 90           pop     r14
+     80a:      df 90           pop     r13
+     80c:      cf 90           pop     r12
+     80e:      bf 90           pop     r11
+     810:      af 90           pop     r10
+     812:      9f 90           pop     r9
+     814:      8f 90           pop     r8
+     816:      7f 90           pop     r7
+     818:      6f 90           pop     r6
+     81a:      5f 90           pop     r5
+     81c:      4f 90           pop     r4
+     81e:      3f 90           pop     r3
+     820:      2f 90           pop     r2
+     822:      08 95           ret
+
+00000824 <main>:
 
 /** Main program entry point. This routine contains the overall program flow, including initial
  *  setup of all components and the main program loop.
  */
 int main(void)
 {
-     828:      cf 92           push    r12
-     82a:      df 92           push    r13
-     82c:      ef 92           push    r14
-     82e:      ff 92           push    r15
-     830:      0f 93           push    r16
-     832:      1f 93           push    r17
-     834:      df 93           push    r29
-     836:      cf 93           push    r28
-     838:      cd b7           in      r28, 0x3d       ; 61
-     83a:      de b7           in      r29, 0x3e       ; 62
-     83c:      60 97           sbiw    r28, 0x10       ; 16
-     83e:      0f b6           in      r0, 0x3f        ; 63
-     840:      f8 94           cli
-     842:      de bf           out     0x3e, r29       ; 62
-     844:      0f be           out     0x3f, r0        ; 63
-     846:      cd bf           out     0x3d, r28       ; 61
+     824:      cf 92           push    r12
+     826:      df 92           push    r13
+     828:      ef 92           push    r14
+     82a:      ff 92           push    r15
+     82c:      0f 93           push    r16
+     82e:      1f 93           push    r17
+     830:      df 93           push    r29
+     832:      cf 93           push    r28
+     834:      cd b7           in      r28, 0x3d       ; 61
+     836:      de b7           in      r29, 0x3e       ; 62
+     838:      60 97           sbiw    r28, 0x10       ; 16
+     83a:      0f b6           in      r0, 0x3f        ; 63
+     83c:      f8 94           cli
+     83e:      de bf           out     0x3e, r29       ; 62
+     840:      0f be           out     0x3f, r0        ; 63
+     842:      cd bf           out     0x3d, r28       ; 61
   char dummy;
   uint8_t field_val = 0;
   SetupHardware();
-     848:      c5 de           rcall   .-630           ; 0x5d4 <SetupHardware>
+     844:      c7 de           rcall   .-626           ; 0x5d4 <SetupHardware>
 
 
 
   RingBuffer_InitBuffer(&USBtoUSART_Buffer, USBtoUSART_Buffer_Data, sizeof(USBtoUSART_Buffer_Data));
-     84a:      82 e6           ldi     r24, 0x62       ; 98
-     84c:      91 e0           ldi     r25, 0x01       ; 1
-     84e:      6e e6           ldi     r22, 0x6E       ; 110
-     850:      71 e0           ldi     r23, 0x01       ; 1
-     852:      c2 dc           rcall   .-1660          ; 0x1d8 <RingBuffer_InitBuffer.clone.0>
+     846:      82 e6           ldi     r24, 0x62       ; 98
+     848:      91 e0           ldi     r25, 0x01       ; 1
+     84a:      6e e6           ldi     r22, 0x6E       ; 110
+     84c:      71 e0           ldi     r23, 0x01       ; 1
+     84e:      c4 dc           rcall   .-1656          ; 0x1d8 <RingBuffer_InitBuffer.clone.0>
   RingBuffer_InitBuffer(&USARTtoUSB_Buffer, USARTtoUSB_Buffer_Data, sizeof(USARTtoUSB_Buffer_Data));
-     854:      8e ee           ldi     r24, 0xEE       ; 238
-     856:      91 e0           ldi     r25, 0x01       ; 1
-     858:      6a ef           ldi     r22, 0xFA       ; 250
-     85a:      71 e0           ldi     r23, 0x01       ; 1
-     85c:      bd dc           rcall   .-1670          ; 0x1d8 <RingBuffer_InitBuffer.clone.0>
+     850:      8e ee           ldi     r24, 0xEE       ; 238
+     852:      91 e0           ldi     r25, 0x01       ; 1
+     854:      6a ef           ldi     r22, 0xFA       ; 250
+     856:      71 e0           ldi     r23, 0x01       ; 1
+     858:      bf dc           rcall   .-1666          ; 0x1d8 <RingBuffer_InitBuffer.clone.0>
                        static inline void GlobalInterruptEnable(void)
                        {
                                GCC_MEMORY_BARRIER();
 
                                #if (ARCH == ARCH_AVR8)
                                sei();
-     85e:      78 94           sei
+     85a:      78 94           sei
 
 //   LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
   GlobalInterruptEnable();
 
   touchpad_init(); // you need to call this to setup the I/O pin!
-     860:      fd dd           rcall   .-1030          ; 0x45c <touchpad_init>
-     862:      8f ef           ldi     r24, 0xFF       ; 255
-     864:      99 e6           ldi     r25, 0x69       ; 105
-     866:      a8 e1           ldi     r26, 0x18       ; 24
-     868:      81 50           subi    r24, 0x01       ; 1
-     86a:      90 40           sbci    r25, 0x00       ; 0
-     86c:      a0 40           sbci    r26, 0x00       ; 0
-     86e:      e1 f7           brne    .-8             ; 0x868 <main+0x40>
-     870:      00 c0           rjmp    .+0             ; 0x872 <main+0x4a>
-     872:      00 00           nop
+     85c:      ff dd           rcall   .-1026          ; 0x45c <touchpad_init>
+     85e:      8f ef           ldi     r24, 0xFF       ; 255
+     860:      99 e6           ldi     r25, 0x69       ; 105
+     862:      a8 e1           ldi     r26, 0x18       ; 24
+     864:      81 50           subi    r24, 0x01       ; 1
+     866:      90 40           sbci    r25, 0x00       ; 0
+     868:      a0 40           sbci    r26, 0x00       ; 0
+     86a:      e1 f7           brne    .-8             ; 0x864 <main+0x40>
+     86c:      00 c0           rjmp    .+0             ; 0x86e <main+0x4a>
+     86e:      00 00           nop
   _delay_ms(500);
   sei();
-     874:      78 94           sei
+     870:      78 94           sei
   //   -------------------------
   //   | left  |  down | right |
   //   -------------------------
 
 //   uart_puts("you selected the keypad demo modus:\n\r");
   touchpad_set_abs_mode(); // keypad functionality uses the "absolute mode"
-     876:      03 de           rcall   .-1018          ; 0x47e <touchpad_set_abs_mode>
+     872:      05 de           rcall   .-1014          ; 0x47e <touchpad_set_abs_mode>
   // end of keypad mode demo block
 // 
 // #elif DEMO_MODE == ABSOLUTE_MODE
   // begin of keypad mode demo block
 //   uart_puts("you selected the absolute position demo modus:\n\r");
   touchpad_set_abs_mode();// tell the touchpad you want to use it in the "absolute mode"
-     878:      02 de           rcall   .-1020          ; 0x47e <touchpad_set_abs_mode>
+     874:      04 de           rcall   .-1016          ; 0x47e <touchpad_set_abs_mode>
   }
   // end of absolute mode demo block 
 // 
 // #elif DEMO_MODE == RELATIVE_MODE
 //   begin of relative mode demo block
   uart_puts("you selected the relative position demo modus:\n\r");
-     87a:      80 e0           ldi     r24, 0x00       ; 0
-     87c:      91 e0           ldi     r25, 0x01       ; 1
-     87e:      59 df           rcall   .-334           ; 0x732 <uart_puts>
+     876:      80 e0           ldi     r24, 0x00       ; 0
+     878:      91 e0           ldi     r25, 0x01       ; 1
+     87a:      5b df           rcall   .-330           ; 0x732 <uart_puts>
   touchpad_set_rel_mode_100dpi();// use touchpad in relative mode
-     880:      1c de           rcall   .-968           ; 0x4ba <touchpad_set_rel_mode_100dpi>
+     87c:      1e de           rcall   .-964           ; 0x4ba <touchpad_set_rel_mode_100dpi>
 //  touchpad_set_rel_mode_200dpi(); // uncomment this line if you want double resolution
   uint8_t x, y = 0;
-     882:      dd 24           eor     r13, r13
+     87e:      dd 24           eor     r13, r13
     } else {
       y = (y + dy);
     }
 
     uart_puts("x_pos: ");
     my_uitoa(x, stringbuffer, 4);
-     884:      8e 01           movw    r16, r28
-     886:      0f 5f           subi    r16, 0xFF       ; 255
-     888:      1f 4f           sbci    r17, 0xFF       ; 255
+     880:      8e 01           movw    r16, r28
+     882:      0f 5f           subi    r16, 0xFF       ; 255
+     884:      1f 4f           sbci    r17, 0xFF       ; 255
 // #elif DEMO_MODE == RELATIVE_MODE
 //   begin of relative mode demo block
   uart_puts("you selected the relative position demo modus:\n\r");
   touchpad_set_rel_mode_100dpi();// use touchpad in relative mode
 //  touchpad_set_rel_mode_200dpi(); // uncomment this line if you want double resolution
   uint8_t x, y = 0;
-     88a:      ee 24           eor     r14, r14
-     88c:      ff 24           eor     r15, r15
+     886:      ee 24           eor     r14, r14
+     888:      ff 24           eor     r15, r15
   int8_t dx, dy = 0;
 
   while (1) {
 
     Usb2SerialTask();
-     88e:      49 de           rcall   .-878           ; 0x522 <Usb2SerialTask>
+     88a:      4b de           rcall   .-874           ; 0x522 <Usb2SerialTask>
     loopcounter++;
-     890:      08 94           sec
-     892:      e1 1c           adc     r14, r1
-     894:      f1 1c           adc     r15, r1
+     88c:      08 94           sec
+     88e:      e1 1c           adc     r14, r1
+     890:      f1 1c           adc     r15, r1
     if(loopcounter<2000) {
-     896:      90 ed           ldi     r25, 0xD0       ; 208
-     898:      e9 16           cp      r14, r25
-     89a:      97 e0           ldi     r25, 0x07       ; 7
-     89c:      f9 06           cpc     r15, r25
-     89e:      b9 f7           brne    .-18            ; 0x88e <main+0x66>
+     892:      90 ed           ldi     r25, 0xD0       ; 208
+     894:      e9 16           cp      r14, r25
+     896:      97 e0           ldi     r25, 0x07       ; 7
+     898:      f9 06           cpc     r15, r25
+     89a:      b9 f7           brne    .-18            ; 0x88a <main+0x66>
       continue;
     }
     loopcounter=0;
 
     touchpad_read(); // read data from touchpad
-     8a0:      e5 dd           rcall   .-1078          ; 0x46c <touchpad_read>
+     89c:      e7 dd           rcall   .-1074          ; 0x46c <touchpad_read>
 
     dx = delta_x();// returns the amount your finger has moved in x direction since last readout
-     8a2:      2f de           rcall   .-930           ; 0x502 <delta_x>
-     8a4:      e8 2e           mov     r14, r24
+     89e:      31 de           rcall   .-926           ; 0x502 <delta_x>
+     8a0:      e8 2e           mov     r14, r24
     dy = delta_y();// returns the amount your finger has moved in y direction since last readout
-     8a6:      1d de           rcall   .-966           ; 0x4e2 <delta_y>
+     8a2:      1f de           rcall   .-962           ; 0x4e2 <delta_y>
 
     // increment/decrement some dummy variables with the
     if (x + dx > 255) {
-     8a8:      2e 2d           mov     r18, r14
-     8aa:      33 27           eor     r19, r19
-     8ac:      27 fd           sbrc    r18, 7
-     8ae:      30 95           com     r19
-     8b0:      2c 0d           add     r18, r12
-     8b2:      31 1d           adc     r19, r1
-     8b4:      2f 3f           cpi     r18, 0xFF       ; 255
-     8b6:      31 05           cpc     r19, r1
-     8b8:      09 f0           breq    .+2             ; 0x8bc <main+0x94>
-     8ba:      24 f4           brge    .+8             ; 0x8c4 <main+0x9c>
+     8a4:      2e 2d           mov     r18, r14
+     8a6:      33 27           eor     r19, r19
+     8a8:      27 fd           sbrc    r18, 7
+     8aa:      30 95           com     r19
+     8ac:      2c 0d           add     r18, r12
+     8ae:      31 1d           adc     r19, r1
+     8b0:      2f 3f           cpi     r18, 0xFF       ; 255
+     8b2:      31 05           cpc     r19, r1
+     8b4:      09 f0           breq    .+2             ; 0x8b8 <main+0x94>
+     8b6:      24 f4           brge    .+8             ; 0x8c0 <main+0x9c>
       x = 255;
     } else if (x + dx < 0) {
-     8bc:      37 fd           sbrc    r19, 7
-     8be:      05 c0           rjmp    .+10            ; 0x8ca <main+0xa2>
+     8b8:      37 fd           sbrc    r19, 7
+     8ba:      05 c0           rjmp    .+10            ; 0x8c6 <main+0xa2>
       x = 0;
     } else {
       x = (x + dx);
-     8c0:      ce 0c           add     r12, r14
-     8c2:      04 c0           rjmp    .+8             ; 0x8cc <main+0xa4>
+     8bc:      ce 0c           add     r12, r14
+     8be:      04 c0           rjmp    .+8             ; 0x8c8 <main+0xa4>
     dx = delta_x();// returns the amount your finger has moved in x direction since last readout
     dy = delta_y();// returns the amount your finger has moved in y direction since last readout
 
     // increment/decrement some dummy variables with the
     if (x + dx > 255) {
       x = 255;
-     8c4:      cc 24           eor     r12, r12
-     8c6:      ca 94           dec     r12
-     8c8:      01 c0           rjmp    .+2             ; 0x8cc <main+0xa4>
+     8c0:      cc 24           eor     r12, r12
+     8c2:      ca 94           dec     r12
+     8c4:      01 c0           rjmp    .+2             ; 0x8c8 <main+0xa4>
     } else if (x + dx < 0) {
       x = 0;
-     8ca:      cc 24           eor     r12, r12
+     8c6:      cc 24           eor     r12, r12
     } else {
       x = (x + dx);
     }
 
     if (y + dy > 255) {
-     8cc:      28 2f           mov     r18, r24
-     8ce:      33 27           eor     r19, r19
-     8d0:      27 fd           sbrc    r18, 7
-     8d2:      30 95           com     r19
-     8d4:      2d 0d           add     r18, r13
-     8d6:      31 1d           adc     r19, r1
-     8d8:      2f 3f           cpi     r18, 0xFF       ; 255
-     8da:      31 05           cpc     r19, r1
-     8dc:      09 f0           breq    .+2             ; 0x8e0 <main+0xb8>
-     8de:      24 f4           brge    .+8             ; 0x8e8 <main+0xc0>
+     8c8:      28 2f           mov     r18, r24
+     8ca:      33 27           eor     r19, r19
+     8cc:      27 fd           sbrc    r18, 7
+     8ce:      30 95           com     r19
+     8d0:      2d 0d           add     r18, r13
+     8d2:      31 1d           adc     r19, r1
+     8d4:      2f 3f           cpi     r18, 0xFF       ; 255
+     8d6:      31 05           cpc     r19, r1
+     8d8:      09 f0           breq    .+2             ; 0x8dc <main+0xb8>
+     8da:      24 f4           brge    .+8             ; 0x8e4 <main+0xc0>
       y = 255;
     } else if (y + dy < 0) {
-     8e0:      37 fd           sbrc    r19, 7
-     8e2:      05 c0           rjmp    .+10            ; 0x8ee <main+0xc6>
+     8dc:      37 fd           sbrc    r19, 7
+     8de:      05 c0           rjmp    .+10            ; 0x8ea <main+0xc6>
       y = 0;
     } else {
       y = (y + dy);
-     8e4:      d8 0e           add     r13, r24
-     8e6:      04 c0           rjmp    .+8             ; 0x8f0 <main+0xc8>
+     8e0:      d8 0e           add     r13, r24
+     8e2:      04 c0           rjmp    .+8             ; 0x8ec <main+0xc8>
     } else {
       x = (x + dx);
     }
 
     if (y + dy > 255) {
       y = 255;
-     8e8:      dd 24           eor     r13, r13
-     8ea:      da 94           dec     r13
-     8ec:      01 c0           rjmp    .+2             ; 0x8f0 <main+0xc8>
+     8e4:      dd 24           eor     r13, r13
+     8e6:      da 94           dec     r13
+     8e8:      01 c0           rjmp    .+2             ; 0x8ec <main+0xc8>
     } else if (y + dy < 0) {
       y = 0;
-     8ee:      dd 24           eor     r13, r13
+     8ea:      dd 24           eor     r13, r13
     } else {
       y = (y + dy);
     }
 
     uart_puts("x_pos: ");
-     8f0:      81 e3           ldi     r24, 0x31       ; 49
-     8f2:      91 e0           ldi     r25, 0x01       ; 1
-     8f4:      1e df           rcall   .-452           ; 0x732 <uart_puts>
+     8ec:      81 e3           ldi     r24, 0x31       ; 49
+     8ee:      91 e0           ldi     r25, 0x01       ; 1
+     8f0:      20 df           rcall   .-448           ; 0x732 <uart_puts>
     my_uitoa(x, stringbuffer, 4);
-     8f6:      6c 2d           mov     r22, r12
-     8f8:      70 e0           ldi     r23, 0x00       ; 0
-     8fa:      80 e0           ldi     r24, 0x00       ; 0
-     8fc:      90 e0           ldi     r25, 0x00       ; 0
-     8fe:      a8 01           movw    r20, r16
-     900:      24 e0           ldi     r18, 0x04       ; 4
-     902:      2a df           rcall   .-428           ; 0x758 <my_uitoa>
+     8f2:      6c 2d           mov     r22, r12
+     8f4:      70 e0           ldi     r23, 0x00       ; 0
+     8f6:      80 e0           ldi     r24, 0x00       ; 0
+     8f8:      90 e0           ldi     r25, 0x00       ; 0
+     8fa:      a8 01           movw    r20, r16
+     8fc:      24 e0           ldi     r18, 0x04       ; 4
+     8fe:      2c df           rcall   .-424           ; 0x758 <my_uitoa>
     uart_puts(stringbuffer);
-     904:      c8 01           movw    r24, r16
-     906:      15 df           rcall   .-470           ; 0x732 <uart_puts>
+     900:      c8 01           movw    r24, r16
+     902:      17 df           rcall   .-466           ; 0x732 <uart_puts>
     uart_puts("  y_pos: ");
-     908:      89 e3           ldi     r24, 0x39       ; 57
-     90a:      91 e0           ldi     r25, 0x01       ; 1
-     90c:      12 df           rcall   .-476           ; 0x732 <uart_puts>
+     904:      89 e3           ldi     r24, 0x39       ; 57
+     906:      91 e0           ldi     r25, 0x01       ; 1
+     908:      14 df           rcall   .-472           ; 0x732 <uart_puts>
     my_uitoa(y, stringbuffer, 4);
-     90e:      6d 2d           mov     r22, r13
-     910:      70 e0           ldi     r23, 0x00       ; 0
-     912:      80 e0           ldi     r24, 0x00       ; 0
-     914:      90 e0           ldi     r25, 0x00       ; 0
-     916:      a8 01           movw    r20, r16
-     918:      24 e0           ldi     r18, 0x04       ; 4
-     91a:      1e df           rcall   .-452           ; 0x758 <my_uitoa>
+     90a:      6d 2d           mov     r22, r13
+     90c:      70 e0           ldi     r23, 0x00       ; 0
+     90e:      80 e0           ldi     r24, 0x00       ; 0
+     910:      90 e0           ldi     r25, 0x00       ; 0
+     912:      a8 01           movw    r20, r16
+     914:      24 e0           ldi     r18, 0x04       ; 4
+     916:      20 df           rcall   .-448           ; 0x758 <my_uitoa>
     uart_puts(stringbuffer);
-     91c:      c8 01           movw    r24, r16
-     91e:      09 df           rcall   .-494           ; 0x732 <uart_puts>
+     918:      c8 01           movw    r24, r16
+     91a:      0b df           rcall   .-490           ; 0x732 <uart_puts>
     uart_puts("\r");
-     920:      83 e4           ldi     r24, 0x43       ; 67
-     922:      91 e0           ldi     r25, 0x01       ; 1
-     924:      06 df           rcall   .-500           ; 0x732 <uart_puts>
-     926:      b1 cf           rjmp    .-158           ; 0x88a <main+0x62>
+     91c:      83 e4           ldi     r24, 0x43       ; 67
+     91e:      91 e0           ldi     r25, 0x01       ; 1
+     920:      08 df           rcall   .-496           ; 0x732 <uart_puts>
+     922:      b1 cf           rjmp    .-158           ; 0x886 <main+0x62>
 
-00000928 <CALLBACK_USB_GetDescriptor>:
+00000924 <CALLBACK_USB_GetDescriptor>:
        const uint8_t  DescriptorNumber = (wValue & 0xFF);
 
        const void* Address = NULL;
        uint16_t    Size    = NO_DESCRIPTOR;
 
        switch (DescriptorType)
-     928:      92 30           cpi     r25, 0x02       ; 2
-     92a:      29 f0           breq    .+10            ; 0x936 <CALLBACK_USB_GetDescriptor+0xe>
-     92c:      93 30           cpi     r25, 0x03       ; 3
-     92e:      41 f0           breq    .+16            ; 0x940 <CALLBACK_USB_GetDescriptor+0x18>
-     930:      91 30           cpi     r25, 0x01       ; 1
-     932:      e9 f4           brne    .+58            ; 0x96e <CALLBACK_USB_GetDescriptor+0x46>
-     934:      17 c0           rjmp    .+46            ; 0x964 <CALLBACK_USB_GetDescriptor+0x3c>
+     924:      92 30           cpi     r25, 0x02       ; 2
+     926:      29 f0           breq    .+10            ; 0x932 <CALLBACK_USB_GetDescriptor+0xe>
+     928:      93 30           cpi     r25, 0x03       ; 3
+     92a:      41 f0           breq    .+16            ; 0x93c <CALLBACK_USB_GetDescriptor+0x18>
+     92c:      91 30           cpi     r25, 0x01       ; 1
+     92e:      e9 f4           brne    .+58            ; 0x96a <CALLBACK_USB_GetDescriptor+0x46>
+     930:      17 c0           rjmp    .+46            ; 0x960 <CALLBACK_USB_GetDescriptor+0x3c>
                        Address = &DeviceDescriptor;
                        Size    = sizeof(USB_Descriptor_Device_t);
                        break;
                case DTYPE_Configuration:
                        Address = &ConfigurationDescriptor;
                        Size    = sizeof(USB_Descriptor_Configuration_t);
-     936:      2e e3           ldi     r18, 0x3E       ; 62
-     938:      30 e0           ldi     r19, 0x00       ; 0
+     932:      2e e3           ldi     r18, 0x3E       ; 62
+     934:      30 e0           ldi     r19, 0x00       ; 0
                case DTYPE_Device:
                        Address = &DeviceDescriptor;
                        Size    = sizeof(USB_Descriptor_Device_t);
                        break;
                case DTYPE_Configuration:
                        Address = &ConfigurationDescriptor;
-     93a:      ea ea           ldi     r30, 0xAA       ; 170
-     93c:      f0 e0           ldi     r31, 0x00       ; 0
+     936:      ea ea           ldi     r30, 0xAA       ; 170
+     938:      f0 e0           ldi     r31, 0x00       ; 0
                        Size    = sizeof(USB_Descriptor_Configuration_t);
                        break;
-     93e:      1b c0           rjmp    .+54            ; 0x976 <CALLBACK_USB_GetDescriptor+0x4e>
+     93a:      1b c0           rjmp    .+54            ; 0x972 <CALLBACK_USB_GetDescriptor+0x4e>
                case DTYPE_String:
                        switch (DescriptorNumber)
+     93c:      81 30           cpi     r24, 0x01       ; 1
+     93e:      41 f0           breq    .+16            ; 0x950 <CALLBACK_USB_GetDescriptor+0x2c>
      940:      81 30           cpi     r24, 0x01       ; 1
-     942:      41 f0           breq    .+16            ; 0x954 <CALLBACK_USB_GetDescriptor+0x2c>
-     944:      81 30           cpi     r24, 0x01       ; 1
-     946:      18 f0           brcs    .+6             ; 0x94e <CALLBACK_USB_GetDescriptor+0x26>
-     948:      82 30           cpi     r24, 0x02       ; 2
-     94a:      89 f4           brne    .+34            ; 0x96e <CALLBACK_USB_GetDescriptor+0x46>
-     94c:      06 c0           rjmp    .+12            ; 0x95a <CALLBACK_USB_GetDescriptor+0x32>
+     942:      18 f0           brcs    .+6             ; 0x94a <CALLBACK_USB_GetDescriptor+0x26>
+     944:      82 30           cpi     r24, 0x02       ; 2
+     946:      89 f4           brne    .+34            ; 0x96a <CALLBACK_USB_GetDescriptor+0x46>
+     948:      06 c0           rjmp    .+12            ; 0x956 <CALLBACK_USB_GetDescriptor+0x32>
                        {
                                case 0x00:
                                        Address = &LanguageString;
                                        Size    = pgm_read_byte(&LanguageString.Header.Size);
-     94e:      e8 ee           ldi     r30, 0xE8       ; 232
-     950:      f0 e0           ldi     r31, 0x00       ; 0
-     952:      05 c0           rjmp    .+10            ; 0x95e <CALLBACK_USB_GetDescriptor+0x36>
+     94a:      e8 ee           ldi     r30, 0xE8       ; 232
+     94c:      f0 e0           ldi     r31, 0x00       ; 0
+     94e:      05 c0           rjmp    .+10            ; 0x95a <CALLBACK_USB_GetDescriptor+0x36>
                                        break;
                                case 0x01:
                                        Address = &ManufacturerString;
                                        Size    = pgm_read_byte(&ManufacturerString.Header.Size);
-     954:      ec ee           ldi     r30, 0xEC       ; 236
-     956:      f0 e0           ldi     r31, 0x00       ; 0
-     958:      02 c0           rjmp    .+4             ; 0x95e <CALLBACK_USB_GetDescriptor+0x36>
+     950:      ec ee           ldi     r30, 0xEC       ; 236
+     952:      f0 e0           ldi     r31, 0x00       ; 0
+     954:      02 c0           rjmp    .+4             ; 0x95a <CALLBACK_USB_GetDescriptor+0x36>
                                        break;
                                case 0x02:
                                        Address = &ProductString;
                                        Size    = pgm_read_byte(&ProductString.Header.Size);
-     95a:      e6 e0           ldi     r30, 0x06       ; 6
-     95c:      f1 e0           ldi     r31, 0x01       ; 1
-     95e:      24 91           lpm     r18, Z+
-     960:      30 e0           ldi     r19, 0x00       ; 0
+     956:      e6 e0           ldi     r30, 0x06       ; 6
+     958:      f1 e0           ldi     r31, 0x01       ; 1
+     95a:      24 91           lpm     r18, Z+
+     95c:      30 e0           ldi     r19, 0x00       ; 0
                                        break;
-     962:      09 c0           rjmp    .+18            ; 0x976 <CALLBACK_USB_GetDescriptor+0x4e>
+     95e:      09 c0           rjmp    .+18            ; 0x972 <CALLBACK_USB_GetDescriptor+0x4e>
 
        switch (DescriptorType)
        {
                case DTYPE_Device:
                        Address = &DeviceDescriptor;
                        Size    = sizeof(USB_Descriptor_Device_t);
-     964:      22 e1           ldi     r18, 0x12       ; 18
-     966:      30 e0           ldi     r19, 0x00       ; 0
+     960:      22 e1           ldi     r18, 0x12       ; 18
+     962:      30 e0           ldi     r19, 0x00       ; 0
        uint16_t    Size    = NO_DESCRIPTOR;
 
        switch (DescriptorType)
        {
                case DTYPE_Device:
                        Address = &DeviceDescriptor;
-     968:      e8 e9           ldi     r30, 0x98       ; 152
-     96a:      f0 e0           ldi     r31, 0x00       ; 0
-     96c:      04 c0           rjmp    .+8             ; 0x976 <CALLBACK_USB_GetDescriptor+0x4e>
+     964:      e8 e9           ldi     r30, 0x98       ; 152
+     966:      f0 e0           ldi     r31, 0x00       ; 0
+     968:      04 c0           rjmp    .+8             ; 0x972 <CALLBACK_USB_GetDescriptor+0x4e>
 {
        const uint8_t  DescriptorType   = (wValue >> 8);
        const uint8_t  DescriptorNumber = (wValue & 0xFF);
 
        const void* Address = NULL;
        uint16_t    Size    = NO_DESCRIPTOR;
-     96e:      20 e0           ldi     r18, 0x00       ; 0
-     970:      30 e0           ldi     r19, 0x00       ; 0
+     96a:      20 e0           ldi     r18, 0x00       ; 0
+     96c:      30 e0           ldi     r19, 0x00       ; 0
                                     const void** const DescriptorAddress)
 {
        const uint8_t  DescriptorType   = (wValue >> 8);
        const uint8_t  DescriptorNumber = (wValue & 0xFF);
 
        const void* Address = NULL;
-     972:      e0 e0           ldi     r30, 0x00       ; 0
-     974:      f0 e0           ldi     r31, 0x00       ; 0
+     96e:      e0 e0           ldi     r30, 0x00       ; 0
+     970:      f0 e0           ldi     r31, 0x00       ; 0
                        }
 
                        break;
        }
 
        *DescriptorAddress = Address;
-     976:      da 01           movw    r26, r20
-     978:      11 96           adiw    r26, 0x01       ; 1
-     97a:      fc 93           st      X, r31
-     97c:      ee 93           st      -X, r30
+     972:      da 01           movw    r26, r20
+     974:      11 96           adiw    r26, 0x01       ; 1
+     976:      fc 93           st      X, r31
+     978:      ee 93           st      -X, r30
        return Size;
 }
-     97e:      c9 01           movw    r24, r18
-     980:      08 95           ret
+     97a:      c9 01           movw    r24, r18
+     97c:      08 95           ret
 
-00000982 <Endpoint_Write_Control_Stream_LE>:
+0000097e <Endpoint_Write_Control_Stream_LE>:
 #if defined(TEMPLATE_FUNC_NAME)
 
 uint8_t TEMPLATE_FUNC_NAME (const void* const Buffer,
                             uint16_t Length)
 {
        uint8_t* DataStream     = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
-     982:      28 2f           mov     r18, r24
-     984:      39 2f           mov     r19, r25
-     986:      f9 01           movw    r30, r18
+     97e:      28 2f           mov     r18, r24
+     980:      39 2f           mov     r19, r25
+     982:      f9 01           movw    r30, r18
        bool     LastPacketFull = false;
 
        if (Length > USB_ControlRequest.wLength)
-     988:      80 91 94 02     lds     r24, 0x0294
-     98c:      90 91 95 02     lds     r25, 0x0295
-     990:      86 17           cp      r24, r22
-     992:      97 07           cpc     r25, r23
-     994:      18 f4           brcc    .+6             ; 0x99c <Endpoint_Write_Control_Stream_LE+0x1a>
-     996:      bc 01           movw    r22, r24
-     998:      20 e0           ldi     r18, 0x00       ; 0
-     99a:      34 c0           rjmp    .+104           ; 0xa04 <Endpoint_Write_Control_Stream_LE+0x82>
+     984:      80 91 95 02     lds     r24, 0x0295
+     988:      90 91 96 02     lds     r25, 0x0296
+     98c:      86 17           cp      r24, r22
+     98e:      97 07           cpc     r25, r23
+     990:      18 f4           brcc    .+6             ; 0x998 <Endpoint_Write_Control_Stream_LE+0x1a>
+     992:      bc 01           movw    r22, r24
+     994:      20 e0           ldi     r18, 0x00       ; 0
+     996:      35 c0           rjmp    .+106           ; 0xa02 <Endpoint_Write_Control_Stream_LE+0x84>
          Length = USB_ControlRequest.wLength;
        else if (!(Length))
-     99c:      61 15           cp      r22, r1
-     99e:      71 05           cpc     r23, r1
-     9a0:      d9 f7           brne    .-10            ; 0x998 <Endpoint_Write_Control_Stream_LE+0x16>
+     998:      61 15           cp      r22, r1
+     99a:      71 05           cpc     r23, r1
+     99c:      d9 f7           brne    .-10            ; 0x994 <Endpoint_Write_Control_Stream_LE+0x16>
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-     9a2:      80 91 e8 00     lds     r24, 0x00E8
-     9a6:      8e 77           andi    r24, 0x7E       ; 126
-     9a8:      80 93 e8 00     sts     0x00E8, r24
-     9ac:      f5 cf           rjmp    .-22            ; 0x998 <Endpoint_Write_Control_Stream_LE+0x16>
+     99e:      80 91 e8 00     lds     r24, 0x00E8
+     9a2:      8e 77           andi    r24, 0x7E       ; 126
+     9a4:      80 93 e8 00     sts     0x00E8, r24
+     9a8:      f5 cf           rjmp    .-22            ; 0x994 <Endpoint_Write_Control_Stream_LE+0x16>
          Endpoint_ClearIN();
 
        while (Length || LastPacketFull)
        {
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
-     9ae:      8e b3           in      r24, 0x1e       ; 30
+     9aa:      80 91 8e 02     lds     r24, 0x028E
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
-     9b0:      88 23           and     r24, r24
-     9b2:      e9 f1           breq    .+122           ; 0xa2e <Endpoint_Write_Control_Stream_LE+0xac>
+     9ae:      88 23           and     r24, r24
+     9b0:      f1 f1           breq    .+124           ; 0xa2e <Endpoint_Write_Control_Stream_LE+0xb0>
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
-     9b4:      85 30           cpi     r24, 0x05       ; 5
-     9b6:      b9 f1           breq    .+110           ; 0xa26 <Endpoint_Write_Control_Stream_LE+0xa4>
+     9b2:      85 30           cpi     r24, 0x05       ; 5
+     9b4:      c1 f1           breq    .+112           ; 0xa26 <Endpoint_Write_Control_Stream_LE+0xa8>
                         *  \return Boolean \c true if the selected endpoint has received a SETUP packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsSETUPReceived(void)
                        {
                                return ((UEINTX & (1 << RXSTPI)) ? true : false);
-     9b8:      80 91 e8 00     lds     r24, 0x00E8
+     9b6:      80 91 e8 00     lds     r24, 0x00E8
                  return ENDPOINT_RWCSTREAM_BusSuspended;
                else if (Endpoint_IsSETUPReceived())
-     9bc:      83 fd           sbrc    r24, 3
-     9be:      35 c0           rjmp    .+106           ; 0xa2a <Endpoint_Write_Control_Stream_LE+0xa8>
+     9ba:      83 fd           sbrc    r24, 3
+     9bc:      36 c0           rjmp    .+108           ; 0xa2a <Endpoint_Write_Control_Stream_LE+0xac>
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsOUTReceived(void)
                        {
                                return ((UEINTX & (1 << RXOUTI)) ? true : false);
-     9c0:      80 91 e8 00     lds     r24, 0x00E8
+     9be:      80 91 e8 00     lds     r24, 0x00E8
                  return ENDPOINT_RWCSTREAM_HostAborted;
                else if (Endpoint_IsOUTReceived())
-     9c4:      82 fd           sbrc    r24, 2
-     9c6:      29 c0           rjmp    .+82            ; 0xa1a <Endpoint_Write_Control_Stream_LE+0x98>
+     9c2:      82 fd           sbrc    r24, 2
+     9c4:      2a c0           rjmp    .+84            ; 0xa1a <Endpoint_Write_Control_Stream_LE+0x9c>
                         *  \return Boolean \c true if the current endpoint is ready for an IN packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsINReady(void)
                        {
                                return ((UEINTX & (1 << TXINI)) ? true : false);
-     9c8:      80 91 e8 00     lds     r24, 0x00E8
+     9c6:      80 91 e8 00     lds     r24, 0x00E8
                  break;
 
                if (Endpoint_IsINReady())
-     9cc:      80 ff           sbrs    r24, 0
-     9ce:      1a c0           rjmp    .+52            ; 0xa04 <Endpoint_Write_Control_Stream_LE+0x82>
+     9ca:      80 ff           sbrs    r24, 0
+     9cc:      1a c0           rjmp    .+52            ; 0xa02 <Endpoint_Write_Control_Stream_LE+0x84>
                                #if (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
                                        return UEBCX;
                                #elif defined(USB_SERIES_4_AVR)
                                        return (((uint16_t)UEBCHX << 8) | UEBCLX);
                                #elif defined(USB_SERIES_2_AVR)
                                        return UEBCLX;
-     9d0:      80 91 f2 00     lds     r24, 0x00F2
-     9d4:      90 e0           ldi     r25, 0x00       ; 0
+     9ce:      80 91 f2 00     lds     r24, 0x00F2
+     9d2:      90 e0           ldi     r25, 0x00       ; 0
                {
                        uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
 
                        while (Length && (BytesInEndpoint < USB_Device_ControlEndpointSize))
-     9d6:      06 c0           rjmp    .+12            ; 0x9e4 <Endpoint_Write_Control_Stream_LE+0x62>
+     9d4:      06 c0           rjmp    .+12            ; 0x9e2 <Endpoint_Write_Control_Stream_LE+0x64>
                        {
                                TEMPLATE_TRANSFER_BYTE(DataStream);
-     9d8:      21 91           ld      r18, Z+
+     9d6:      21 91           ld      r18, Z+
                         *  \param[in] Data  Data to write into the the currently selected endpoint's FIFO buffer.
                         */
                        static inline void Endpoint_Write_8(const uint8_t Data) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_Write_8(const uint8_t Data)
                        {
                                UEDATX = Data;
-     9da:      20 93 f1 00     sts     0x00F1, r18
+     9d8:      20 93 f1 00     sts     0x00F1, r18
                                TEMPLATE_BUFFER_MOVE(DataStream, 1);
                                Length--;
-     9de:      61 50           subi    r22, 0x01       ; 1
-     9e0:      70 40           sbci    r23, 0x00       ; 0
+     9dc:      61 50           subi    r22, 0x01       ; 1
+     9de:      70 40           sbci    r23, 0x00       ; 0
                                BytesInEndpoint++;
-     9e2:      01 96           adiw    r24, 0x01       ; 1
+     9e0:      01 96           adiw    r24, 0x01       ; 1
 
                if (Endpoint_IsINReady())
                {
                        uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
 
                        while (Length && (BytesInEndpoint < USB_Device_ControlEndpointSize))
-     9e4:      61 15           cp      r22, r1
-     9e6:      71 05           cpc     r23, r1
-     9e8:      19 f0           breq    .+6             ; 0x9f0 <Endpoint_Write_Control_Stream_LE+0x6e>
-     9ea:      88 30           cpi     r24, 0x08       ; 8
-     9ec:      91 05           cpc     r25, r1
-     9ee:      a0 f3           brcs    .-24            ; 0x9d8 <Endpoint_Write_Control_Stream_LE+0x56>
+     9e2:      61 15           cp      r22, r1
+     9e4:      71 05           cpc     r23, r1
+     9e6:      19 f0           breq    .+6             ; 0x9ee <Endpoint_Write_Control_Stream_LE+0x70>
+     9e8:      88 30           cpi     r24, 0x08       ; 8
+     9ea:      91 05           cpc     r25, r1
+     9ec:      a0 f3           brcs    .-24            ; 0x9d6 <Endpoint_Write_Control_Stream_LE+0x58>
                                TEMPLATE_BUFFER_MOVE(DataStream, 1);
                                Length--;
                                BytesInEndpoint++;
                        }
 
                        LastPacketFull = (BytesInEndpoint == USB_Device_ControlEndpointSize);
-     9f0:      21 e0           ldi     r18, 0x01       ; 1
-     9f2:      88 30           cpi     r24, 0x08       ; 8
-     9f4:      91 05           cpc     r25, r1
-     9f6:      09 f0           breq    .+2             ; 0x9fa <Endpoint_Write_Control_Stream_LE+0x78>
-     9f8:      20 e0           ldi     r18, 0x00       ; 0
+     9ee:      21 e0           ldi     r18, 0x01       ; 1
+     9f0:      88 30           cpi     r24, 0x08       ; 8
+     9f2:      91 05           cpc     r25, r1
+     9f4:      09 f0           breq    .+2             ; 0x9f8 <Endpoint_Write_Control_Stream_LE+0x7a>
+     9f6:      20 e0           ldi     r18, 0x00       ; 0
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-     9fa:      80 91 e8 00     lds     r24, 0x00E8
-     9fe:      8e 77           andi    r24, 0x7E       ; 126
-     a00:      80 93 e8 00     sts     0x00E8, r24
+     9f8:      80 91 e8 00     lds     r24, 0x00E8
+     9fc:      8e 77           andi    r24, 0x7E       ; 126
+     9fe:      80 93 e8 00     sts     0x00E8, r24
        if (Length > USB_ControlRequest.wLength)
          Length = USB_ControlRequest.wLength;
        else if (!(Length))
          Endpoint_ClearIN();
 
        while (Length || LastPacketFull)
-     a04:      61 15           cp      r22, r1
-     a06:      71 05           cpc     r23, r1
-     a08:      91 f6           brne    .-92            ; 0x9ae <Endpoint_Write_Control_Stream_LE+0x2c>
-     a0a:      22 23           and     r18, r18
-     a0c:      81 f6           brne    .-96            ; 0x9ae <Endpoint_Write_Control_Stream_LE+0x2c>
-     a0e:      05 c0           rjmp    .+10            ; 0xa1a <Endpoint_Write_Control_Stream_LE+0x98>
+     a02:      61 15           cp      r22, r1
+     a04:      71 05           cpc     r23, r1
+     a06:      89 f6           brne    .-94            ; 0x9aa <Endpoint_Write_Control_Stream_LE+0x2c>
+     a08:      22 23           and     r18, r18
+     a0a:      79 f6           brne    .-98            ; 0x9aa <Endpoint_Write_Control_Stream_LE+0x2c>
+     a0c:      06 c0           rjmp    .+12            ; 0xa1a <Endpoint_Write_Control_Stream_LE+0x9c>
                }
        }
 
        while (!(Endpoint_IsOUTReceived()))
        {
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
-     a10:      8e b3           in      r24, 0x1e       ; 30
+     a0e:      80 91 8e 02     lds     r24, 0x028E
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
      a12:      88 23           and     r24, r24
-     a14:      61 f0           breq    .+24            ; 0xa2e <Endpoint_Write_Control_Stream_LE+0xac>
+     a14:      61 f0           breq    .+24            ; 0xa2e <Endpoint_Write_Control_Stream_LE+0xb0>
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
      a16:      85 30           cpi     r24, 0x05       ; 5
-     a18:      61 f0           breq    .+24            ; 0xa32 <Endpoint_Write_Control_Stream_LE+0xb0>
+     a18:      61 f0           breq    .+24            ; 0xa32 <Endpoint_Write_Control_Stream_LE+0xb4>
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
@@ -2309,7 +2309,7 @@ uint8_t TEMPLATE_FUNC_NAME (const void* const Buffer,
 
        while (!(Endpoint_IsOUTReceived()))
      a1e:      82 ff           sbrs    r24, 2
-     a20:      f7 cf           rjmp    .-18            ; 0xa10 <Endpoint_Write_Control_Stream_LE+0x8e>
+     a20:      f6 cf           rjmp    .-20            ; 0xa0e <Endpoint_Write_Control_Stream_LE+0x90>
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
                  return ENDPOINT_RWCSTREAM_BusSuspended;
@@ -2359,14 +2359,14 @@ uint8_t TEMPLATE_FUNC_NAME (const void* const Buffer,
        bool     LastPacketFull = false;
 
        if (Length > USB_ControlRequest.wLength)
-     a3a:      80 91 94 02     lds     r24, 0x0294
-     a3e:      90 91 95 02     lds     r25, 0x0295
+     a3a:      80 91 95 02     lds     r24, 0x0295
+     a3e:      90 91 96 02     lds     r25, 0x0296
      a42:      86 17           cp      r24, r22
      a44:      97 07           cpc     r25, r23
      a46:      18 f4           brcc    .+6             ; 0xa4e <Endpoint_Write_Control_PStream_LE+0x18>
      a48:      bc 01           movw    r22, r24
      a4a:      20 e0           ldi     r18, 0x00       ; 0
-     a4c:      36 c0           rjmp    .+108           ; 0xaba <Endpoint_Write_Control_PStream_LE+0x84>
+     a4c:      37 c0           rjmp    .+110           ; 0xabc <Endpoint_Write_Control_PStream_LE+0x86>
          Length = USB_ControlRequest.wLength;
        else if (!(Length))
      a4e:      61 15           cp      r22, r1
@@ -2387,3419 +2387,3307 @@ uint8_t TEMPLATE_FUNC_NAME (const void* const Buffer,
        while (Length || LastPacketFull)
        {
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
-     a60:      8e b3           in      r24, 0x1e       ; 30
+     a60:      80 91 8e 02     lds     r24, 0x028E
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
-     a62:      88 23           and     r24, r24
-     a64:      09 f4           brne    .+2             ; 0xa68 <Endpoint_Write_Control_PStream_LE+0x32>
-     a66:      3e c0           rjmp    .+124           ; 0xae4 <Endpoint_Write_Control_PStream_LE+0xae>
+     a64:      88 23           and     r24, r24
+     a66:      09 f4           brne    .+2             ; 0xa6a <Endpoint_Write_Control_PStream_LE+0x34>
+     a68:      3f c0           rjmp    .+126           ; 0xae8 <Endpoint_Write_Control_PStream_LE+0xb2>
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
-     a68:      85 30           cpi     r24, 0x05       ; 5
-     a6a:      c1 f1           breq    .+112           ; 0xadc <Endpoint_Write_Control_PStream_LE+0xa6>
+     a6a:      85 30           cpi     r24, 0x05       ; 5
+     a6c:      c9 f1           breq    .+114           ; 0xae0 <Endpoint_Write_Control_PStream_LE+0xaa>
                         *  \return Boolean \c true if the selected endpoint has received a SETUP packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsSETUPReceived(void)
                        {
                                return ((UEINTX & (1 << RXSTPI)) ? true : false);
-     a6c:      80 91 e8 00     lds     r24, 0x00E8
+     a6e:      80 91 e8 00     lds     r24, 0x00E8
                  return ENDPOINT_RWCSTREAM_BusSuspended;
                else if (Endpoint_IsSETUPReceived())
-     a70:      83 fd           sbrc    r24, 3
-     a72:      36 c0           rjmp    .+108           ; 0xae0 <Endpoint_Write_Control_PStream_LE+0xaa>
+     a72:      83 fd           sbrc    r24, 3
+     a74:      37 c0           rjmp    .+110           ; 0xae4 <Endpoint_Write_Control_PStream_LE+0xae>
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsOUTReceived(void)
                        {
                                return ((UEINTX & (1 << RXOUTI)) ? true : false);
-     a74:      80 91 e8 00     lds     r24, 0x00E8
+     a76:      80 91 e8 00     lds     r24, 0x00E8
                  return ENDPOINT_RWCSTREAM_HostAborted;
                else if (Endpoint_IsOUTReceived())
-     a78:      82 fd           sbrc    r24, 2
-     a7a:      2a c0           rjmp    .+84            ; 0xad0 <Endpoint_Write_Control_PStream_LE+0x9a>
+     a7a:      82 fd           sbrc    r24, 2
+     a7c:      2b c0           rjmp    .+86            ; 0xad4 <Endpoint_Write_Control_PStream_LE+0x9e>
                         *  \return Boolean \c true if the current endpoint is ready for an IN packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsINReady(void)
                        {
                                return ((UEINTX & (1 << TXINI)) ? true : false);
-     a7c:      80 91 e8 00     lds     r24, 0x00E8
+     a7e:      80 91 e8 00     lds     r24, 0x00E8
                  break;
 
                if (Endpoint_IsINReady())
-     a80:      80 ff           sbrs    r24, 0
-     a82:      1b c0           rjmp    .+54            ; 0xaba <Endpoint_Write_Control_PStream_LE+0x84>
+     a82:      80 ff           sbrs    r24, 0
+     a84:      1b c0           rjmp    .+54            ; 0xabc <Endpoint_Write_Control_PStream_LE+0x86>
                                #if (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
                                        return UEBCX;
                                #elif defined(USB_SERIES_4_AVR)
                                        return (((uint16_t)UEBCHX << 8) | UEBCLX);
                                #elif defined(USB_SERIES_2_AVR)
                                        return UEBCLX;
-     a84:      80 91 f2 00     lds     r24, 0x00F2
-     a88:      90 e0           ldi     r25, 0x00       ; 0
+     a86:      80 91 f2 00     lds     r24, 0x00F2
+     a8a:      90 e0           ldi     r25, 0x00       ; 0
                {
                        uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
 
                        while (Length && (BytesInEndpoint < USB_Device_ControlEndpointSize))
-     a8a:      07 c0           rjmp    .+14            ; 0xa9a <Endpoint_Write_Control_PStream_LE+0x64>
+     a8c:      07 c0           rjmp    .+14            ; 0xa9c <Endpoint_Write_Control_PStream_LE+0x66>
                        {
                                TEMPLATE_TRANSFER_BYTE(DataStream);
-     a8c:      24 91           lpm     r18, Z+
+     a8e:      24 91           lpm     r18, Z+
                         *  \param[in] Data  Data to write into the the currently selected endpoint's FIFO buffer.
                         */
                        static inline void Endpoint_Write_8(const uint8_t Data) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_Write_8(const uint8_t Data)
                        {
                                UEDATX = Data;
-     a8e:      20 93 f1 00     sts     0x00F1, r18
+     a90:      20 93 f1 00     sts     0x00F1, r18
                                TEMPLATE_BUFFER_MOVE(DataStream, 1);
-     a92:      31 96           adiw    r30, 0x01       ; 1
+     a94:      31 96           adiw    r30, 0x01       ; 1
                                Length--;
-     a94:      61 50           subi    r22, 0x01       ; 1
-     a96:      70 40           sbci    r23, 0x00       ; 0
+     a96:      61 50           subi    r22, 0x01       ; 1
+     a98:      70 40           sbci    r23, 0x00       ; 0
                                BytesInEndpoint++;
-     a98:      01 96           adiw    r24, 0x01       ; 1
+     a9a:      01 96           adiw    r24, 0x01       ; 1
 
                if (Endpoint_IsINReady())
                {
                        uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
 
                        while (Length && (BytesInEndpoint < USB_Device_ControlEndpointSize))
-     a9a:      61 15           cp      r22, r1
-     a9c:      71 05           cpc     r23, r1
-     a9e:      19 f0           breq    .+6             ; 0xaa6 <Endpoint_Write_Control_PStream_LE+0x70>
-     aa0:      88 30           cpi     r24, 0x08       ; 8
-     aa2:      91 05           cpc     r25, r1
-     aa4:      98 f3           brcs    .-26            ; 0xa8c <Endpoint_Write_Control_PStream_LE+0x56>
+     a9c:      61 15           cp      r22, r1
+     a9e:      71 05           cpc     r23, r1
+     aa0:      19 f0           breq    .+6             ; 0xaa8 <Endpoint_Write_Control_PStream_LE+0x72>
+     aa2:      88 30           cpi     r24, 0x08       ; 8
+     aa4:      91 05           cpc     r25, r1
+     aa6:      98 f3           brcs    .-26            ; 0xa8e <Endpoint_Write_Control_PStream_LE+0x58>
                                TEMPLATE_BUFFER_MOVE(DataStream, 1);
                                Length--;
                                BytesInEndpoint++;
                        }
 
                        LastPacketFull = (BytesInEndpoint == USB_Device_ControlEndpointSize);
-     aa6:      21 e0           ldi     r18, 0x01       ; 1
-     aa8:      88 30           cpi     r24, 0x08       ; 8
-     aaa:      91 05           cpc     r25, r1
-     aac:      09 f0           breq    .+2             ; 0xab0 <Endpoint_Write_Control_PStream_LE+0x7a>
-     aae:      20 e0           ldi     r18, 0x00       ; 0
+     aa8:      21 e0           ldi     r18, 0x01       ; 1
+     aaa:      88 30           cpi     r24, 0x08       ; 8
+     aac:      91 05           cpc     r25, r1
+     aae:      09 f0           breq    .+2             ; 0xab2 <Endpoint_Write_Control_PStream_LE+0x7c>
+     ab0:      20 e0           ldi     r18, 0x00       ; 0
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-     ab0:      80 91 e8 00     lds     r24, 0x00E8
-     ab4:      8e 77           andi    r24, 0x7E       ; 126
-     ab6:      80 93 e8 00     sts     0x00E8, r24
+     ab2:      80 91 e8 00     lds     r24, 0x00E8
+     ab6:      8e 77           andi    r24, 0x7E       ; 126
+     ab8:      80 93 e8 00     sts     0x00E8, r24
        if (Length > USB_ControlRequest.wLength)
          Length = USB_ControlRequest.wLength;
        else if (!(Length))
          Endpoint_ClearIN();
 
        while (Length || LastPacketFull)
-     aba:      61 15           cp      r22, r1
-     abc:      71 05           cpc     r23, r1
-     abe:      81 f6           brne    .-96            ; 0xa60 <Endpoint_Write_Control_PStream_LE+0x2a>
-     ac0:      22 23           and     r18, r18
-     ac2:      71 f6           brne    .-100           ; 0xa60 <Endpoint_Write_Control_PStream_LE+0x2a>
-     ac4:      05 c0           rjmp    .+10            ; 0xad0 <Endpoint_Write_Control_PStream_LE+0x9a>
+     abc:      61 15           cp      r22, r1
+     abe:      71 05           cpc     r23, r1
+     ac0:      79 f6           brne    .-98            ; 0xa60 <Endpoint_Write_Control_PStream_LE+0x2a>
+     ac2:      22 23           and     r18, r18
+     ac4:      69 f6           brne    .-102           ; 0xa60 <Endpoint_Write_Control_PStream_LE+0x2a>
+     ac6:      06 c0           rjmp    .+12            ; 0xad4 <Endpoint_Write_Control_PStream_LE+0x9e>
                }
        }
 
        while (!(Endpoint_IsOUTReceived()))
        {
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
-     ac6:      8e b3           in      r24, 0x1e       ; 30
+     ac8:      80 91 8e 02     lds     r24, 0x028E
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
-     ac8:      88 23           and     r24, r24
-     aca:      61 f0           breq    .+24            ; 0xae4 <Endpoint_Write_Control_PStream_LE+0xae>
+     acc:      88 23           and     r24, r24
+     ace:      61 f0           breq    .+24            ; 0xae8 <Endpoint_Write_Control_PStream_LE+0xb2>
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
-     acc:      85 30           cpi     r24, 0x05       ; 5
-     ace:      61 f0           breq    .+24            ; 0xae8 <Endpoint_Write_Control_PStream_LE+0xb2>
+     ad0:      85 30           cpi     r24, 0x05       ; 5
+     ad2:      61 f0           breq    .+24            ; 0xaec <Endpoint_Write_Control_PStream_LE+0xb6>
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsOUTReceived(void)
                        {
                                return ((UEINTX & (1 << RXOUTI)) ? true : false);
-     ad0:      80 91 e8 00     lds     r24, 0x00E8
+     ad4:      80 91 e8 00     lds     r24, 0x00E8
                        LastPacketFull = (BytesInEndpoint == USB_Device_ControlEndpointSize);
                        Endpoint_ClearIN();
                }
        }
 
        while (!(Endpoint_IsOUTReceived()))
-     ad4:      82 ff           sbrs    r24, 2
-     ad6:      f7 cf           rjmp    .-18            ; 0xac6 <Endpoint_Write_Control_PStream_LE+0x90>
+     ad8:      82 ff           sbrs    r24, 2
+     ada:      f6 cf           rjmp    .-20            ; 0xac8 <Endpoint_Write_Control_PStream_LE+0x92>
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
                  return ENDPOINT_RWCSTREAM_BusSuspended;
        }
 
        return ENDPOINT_RWCSTREAM_NoError;
-     ad8:      80 e0           ldi     r24, 0x00       ; 0
-     ada:      08 95           ret
+     adc:      80 e0           ldi     r24, 0x00       ; 0
+     ade:      08 95           ret
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
                  return ENDPOINT_RWCSTREAM_BusSuspended;
-     adc:      83 e0           ldi     r24, 0x03       ; 3
-     ade:      08 95           ret
+     ae0:      83 e0           ldi     r24, 0x03       ; 3
+     ae2:      08 95           ret
                else if (Endpoint_IsSETUPReceived())
                  return ENDPOINT_RWCSTREAM_HostAborted;
-     ae0:      81 e0           ldi     r24, 0x01       ; 1
-     ae2:      08 95           ret
+     ae4:      81 e0           ldi     r24, 0x01       ; 1
+     ae6:      08 95           ret
        while (!(Endpoint_IsOUTReceived()))
        {
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
                  return ENDPOINT_RWCSTREAM_DeviceDisconnected;
-     ae4:      82 e0           ldi     r24, 0x02       ; 2
-     ae6:      08 95           ret
+     ae8:      82 e0           ldi     r24, 0x02       ; 2
+     aea:      08 95           ret
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
                  return ENDPOINT_RWCSTREAM_BusSuspended;
-     ae8:      83 e0           ldi     r24, 0x03       ; 3
+     aec:      83 e0           ldi     r24, 0x03       ; 3
        }
 
        return ENDPOINT_RWCSTREAM_NoError;
 }
-     aea:      08 95           ret
+     aee:      08 95           ret
 
-00000aec <Endpoint_ConfigureEndpoint_Prv>:
+00000af0 <Endpoint_ConfigureEndpoint_Prv>:
        UECFG0X = UECFG0XData;
        UECFG1X = UECFG1XData;
 
        return Endpoint_IsConfigured();
 #else
        for (uint8_t EPNum = Number; EPNum < ENDPOINT_TOTAL_ENDPOINTS; EPNum++)
-     aec:      98 2f           mov     r25, r24
-     aee:      2c c0           rjmp    .+88            ; 0xb48 <Endpoint_ConfigureEndpoint_Prv+0x5c>
+     af0:      98 2f           mov     r25, r24
+     af2:      2c c0           rjmp    .+88            ; 0xb4c <Endpoint_ConfigureEndpoint_Prv+0x5c>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-     af0:      29 2f           mov     r18, r25
-     af2:      2f 70           andi    r18, 0x0F       ; 15
-     af4:      20 93 e9 00     sts     0x00E9, r18
+     af4:      29 2f           mov     r18, r25
+     af6:      2f 70           andi    r18, 0x0F       ; 15
+     af8:      20 93 e9 00     sts     0x00E9, r18
                uint8_t UECFG1XTemp;
                uint8_t UEIENXTemp;
 
                Endpoint_SelectEndpoint(EPNum);
 
                if (EPNum == Number)
-     af8:      98 17           cp      r25, r24
-     afa:      39 f0           breq    .+14            ; 0xb0a <Endpoint_ConfigureEndpoint_Prv+0x1e>
+     afc:      98 17           cp      r25, r24
+     afe:      39 f0           breq    .+14            ; 0xb0e <Endpoint_ConfigureEndpoint_Prv+0x1e>
                        UECFG1XTemp = UECFG1XData;
                        UEIENXTemp  = 0;
                }
                else
                {
                        UECFG0XTemp = UECFG0X;
-     afc:      70 91 ec 00     lds     r23, 0x00EC
+     b00:      70 91 ec 00     lds     r23, 0x00EC
                        UECFG1XTemp = UECFG1X;
-     b00:      20 91 ed 00     lds     r18, 0x00ED
+     b04:      20 91 ed 00     lds     r18, 0x00ED
                        UEIENXTemp  = UEIENX;
-     b04:      50 91 f0 00     lds     r21, 0x00F0
-     b08:      03 c0           rjmp    .+6             ; 0xb10 <Endpoint_ConfigureEndpoint_Prv+0x24>
+     b08:      50 91 f0 00     lds     r21, 0x00F0
+     b0c:      03 c0           rjmp    .+6             ; 0xb14 <Endpoint_ConfigureEndpoint_Prv+0x24>
                Endpoint_SelectEndpoint(EPNum);
 
                if (EPNum == Number)
                {
                        UECFG0XTemp = UECFG0XData;
                        UECFG1XTemp = UECFG1XData;
-     b0a:      24 2f           mov     r18, r20
+     b0e:      24 2f           mov     r18, r20
 
                Endpoint_SelectEndpoint(EPNum);
 
                if (EPNum == Number)
                {
                        UECFG0XTemp = UECFG0XData;
-     b0c:      76 2f           mov     r23, r22
+     b10:      76 2f           mov     r23, r22
                        UECFG1XTemp = UECFG1XData;
                        UEIENXTemp  = 0;
-     b0e:      50 e0           ldi     r21, 0x00       ; 0
+     b12:      50 e0           ldi     r21, 0x00       ; 0
                        UECFG0XTemp = UECFG0X;
                        UECFG1XTemp = UECFG1X;
                        UEIENXTemp  = UEIENX;
                }
 
                if (!(UECFG1XTemp & (1 << ALLOC)))
-     b10:      21 ff           sbrs    r18, 1
-     b12:      19 c0           rjmp    .+50            ; 0xb46 <Endpoint_ConfigureEndpoint_Prv+0x5a>
+     b14:      21 ff           sbrs    r18, 1
+     b16:      19 c0           rjmp    .+50            ; 0xb4a <Endpoint_ConfigureEndpoint_Prv+0x5a>
                         *  to and from a host.
                         */
                        static inline void Endpoint_DisableEndpoint(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_DisableEndpoint(void)
                        {
                                UECONX &= ~(1 << EPEN);
-     b14:      30 91 eb 00     lds     r19, 0x00EB
-     b18:      3e 7f           andi    r19, 0xFE       ; 254
-     b1a:      30 93 eb 00     sts     0x00EB, r19
+     b18:      30 91 eb 00     lds     r19, 0x00EB
+     b1c:      3e 7f           andi    r19, 0xFE       ; 254
+     b1e:      30 93 eb 00     sts     0x00EB, r19
                  continue;
 
                Endpoint_DisableEndpoint();
                UECFG1X &= ~(1 << ALLOC);
-     b1e:      30 91 ed 00     lds     r19, 0x00ED
-     b22:      3d 7f           andi    r19, 0xFD       ; 253
-     b24:      30 93 ed 00     sts     0x00ED, r19
+     b22:      30 91 ed 00     lds     r19, 0x00ED
+     b26:      3d 7f           andi    r19, 0xFD       ; 253
+     b28:      30 93 ed 00     sts     0x00ED, r19
                         *  \note Endpoints must first be configured properly via \ref Endpoint_ConfigureEndpoint().
                         */
                        static inline void Endpoint_EnableEndpoint(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_EnableEndpoint(void)
                        {
                                UECONX |= (1 << EPEN);
-     b28:      30 91 eb 00     lds     r19, 0x00EB
-     b2c:      31 60           ori     r19, 0x01       ; 1
-     b2e:      30 93 eb 00     sts     0x00EB, r19
+     b2c:      30 91 eb 00     lds     r19, 0x00EB
+     b30:      31 60           ori     r19, 0x01       ; 1
+     b32:      30 93 eb 00     sts     0x00EB, r19
 
                Endpoint_EnableEndpoint();
                UECFG0X = UECFG0XTemp;
-     b32:      70 93 ec 00     sts     0x00EC, r23
+     b36:      70 93 ec 00     sts     0x00EC, r23
                UECFG1X = UECFG1XTemp;
-     b36:      20 93 ed 00     sts     0x00ED, r18
+     b3a:      20 93 ed 00     sts     0x00ED, r18
                UEIENX  = UEIENXTemp;
-     b3a:      50 93 f0 00     sts     0x00F0, r21
+     b3e:      50 93 f0 00     sts     0x00F0, r21
                         *  \return Boolean \c true if the currently selected endpoint has been configured, \c false otherwise.
                         */
                        static inline bool Endpoint_IsConfigured(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsConfigured(void)
                        {
                                return ((UESTA0X & (1 << CFGOK)) ? true : false);
-     b3e:      20 91 ee 00     lds     r18, 0x00EE
+     b42:      20 91 ee 00     lds     r18, 0x00EE
 
                if (!(Endpoint_IsConfigured()))
-     b42:      27 ff           sbrs    r18, 7
-     b44:      08 c0           rjmp    .+16            ; 0xb56 <Endpoint_ConfigureEndpoint_Prv+0x6a>
+     b46:      27 ff           sbrs    r18, 7
+     b48:      08 c0           rjmp    .+16            ; 0xb5a <Endpoint_ConfigureEndpoint_Prv+0x6a>
        UECFG0X = UECFG0XData;
        UECFG1X = UECFG1XData;
 
        return Endpoint_IsConfigured();
 #else
        for (uint8_t EPNum = Number; EPNum < ENDPOINT_TOTAL_ENDPOINTS; EPNum++)
-     b46:      9f 5f           subi    r25, 0xFF       ; 255
-     b48:      95 30           cpi     r25, 0x05       ; 5
-     b4a:      90 f2           brcs    .-92            ; 0xaf0 <Endpoint_ConfigureEndpoint_Prv+0x4>
+     b4a:      9f 5f           subi    r25, 0xFF       ; 255
+     b4c:      95 30           cpi     r25, 0x05       ; 5
+     b4e:      90 f2           brcs    .-92            ; 0xaf4 <Endpoint_ConfigureEndpoint_Prv+0x4>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-     b4c:      8f 70           andi    r24, 0x0F       ; 15
-     b4e:      80 93 e9 00     sts     0x00E9, r24
+     b50:      8f 70           andi    r24, 0x0F       ; 15
+     b52:      80 93 e9 00     sts     0x00E9, r24
                if (!(Endpoint_IsConfigured()))
                  return false;
        }
 
        Endpoint_SelectEndpoint(Number);
        return true;
-     b52:      81 e0           ldi     r24, 0x01       ; 1
-     b54:      08 95           ret
+     b56:      81 e0           ldi     r24, 0x01       ; 1
+     b58:      08 95           ret
                UECFG0X = UECFG0XTemp;
                UECFG1X = UECFG1XTemp;
                UEIENX  = UEIENXTemp;
 
                if (!(Endpoint_IsConfigured()))
                  return false;
-     b56:      80 e0           ldi     r24, 0x00       ; 0
+     b5a:      80 e0           ldi     r24, 0x00       ; 0
        }
 
        Endpoint_SelectEndpoint(Number);
        return true;
 #endif
 }
-     b58:      08 95           ret
+     b5c:      08 95           ret
 
-00000b5a <Endpoint_ConfigureEndpointTable>:
+00000b5e <Endpoint_ConfigureEndpointTable>:
 uint8_t USB_Device_ControlEndpointSize = ENDPOINT_CONTROLEP_DEFAULT_SIZE;
 #endif
 
 bool Endpoint_ConfigureEndpointTable(const USB_Endpoint_Table_t* const Table,
                                      const uint8_t Entries)
 {
-     b5a:      ef 92           push    r14
-     b5c:      ff 92           push    r15
-     b5e:      0f 93           push    r16
-     b60:      1f 93           push    r17
-     b62:      cf 93           push    r28
-     b64:      df 93           push    r29
-     b66:      16 2f           mov     r17, r22
+     b5e:      ef 92           push    r14
+     b60:      ff 92           push    r15
+     b62:      0f 93           push    r16
+     b64:      1f 93           push    r17
+     b66:      cf 93           push    r28
+     b68:      df 93           push    r29
+     b6a:      16 2f           mov     r17, r22
        {
                if (!(Table[i].Address))
                  continue;
        
                if (!(Endpoint_ConfigureEndpoint(Table[i].Address, Table[i].Type, Table[i].Size, Table[i].Banks)))
                  return false;
-     b68:      e8 2e           mov     r14, r24
-     b6a:      e7 01           movw    r28, r14
-     b6c:      7e 01           movw    r14, r28
-     b6e:      f9 2e           mov     r15, r25
-     b70:      e7 01           movw    r28, r14
+     b6c:      e8 2e           mov     r14, r24
+     b6e:      e7 01           movw    r28, r14
+     b70:      7e 01           movw    r14, r28
+     b72:      f9 2e           mov     r15, r25
+     b74:      e7 01           movw    r28, r14
 #endif
 
 bool Endpoint_ConfigureEndpointTable(const USB_Endpoint_Table_t* const Table,
                                      const uint8_t Entries)
 {
        for (uint8_t i = 0; i < Entries; i++)
-     b72:      00 e0           ldi     r16, 0x00       ; 0
-     b74:      2a c0           rjmp    .+84            ; 0xbca <Endpoint_ConfigureEndpointTable+0x70>
+     b76:      00 e0           ldi     r16, 0x00       ; 0
+     b78:      2a c0           rjmp    .+84            ; 0xbce <Endpoint_ConfigureEndpointTable+0x70>
        {
                if (!(Table[i].Address))
-     b76:      98 81           ld      r25, Y
-     b78:      99 23           and     r25, r25
-     b7a:      29 f1           breq    .+74            ; 0xbc6 <Endpoint_ConfigureEndpointTable+0x6c>
+     b7a:      98 81           ld      r25, Y
+     b7c:      99 23           and     r25, r25
+     b7e:      29 f1           breq    .+74            ; 0xbca <Endpoint_ConfigureEndpointTable+0x6c>
                  continue;
        
                if (!(Endpoint_ConfigureEndpoint(Table[i].Address, Table[i].Type, Table[i].Size, Table[i].Banks)))
-     b7c:      6b 81           ldd     r22, Y+3        ; 0x03
-     b7e:      e9 81           ldd     r30, Y+1        ; 0x01
-     b80:      fa 81           ldd     r31, Y+2        ; 0x02
-     b82:      2c 81           ldd     r18, Y+4        ; 0x04
+     b80:      6b 81           ldd     r22, Y+3        ; 0x03
+     b82:      e9 81           ldd     r30, Y+1        ; 0x01
+     b84:      fa 81           ldd     r31, Y+2        ; 0x02
+     b86:      2c 81           ldd     r18, Y+4        ; 0x04
                        static inline bool Endpoint_ConfigureEndpoint(const uint8_t Address,
                                                                      const uint8_t Type,
                                                                      const uint16_t Size,
                                                                      const uint8_t Banks)
                        {
                                uint8_t Number = (Address & ENDPOINT_EPNUM_MASK);
-     b84:      89 2f           mov     r24, r25
-     b86:      8f 70           andi    r24, 0x0F       ; 15
+     b88:      89 2f           mov     r24, r25
+     b8a:      8f 70           andi    r24, 0x0F       ; 15
 
                                if (Number >= ENDPOINT_TOTAL_ENDPOINTS)
-     b88:      85 30           cpi     r24, 0x05       ; 5
-     b8a:      18 f5           brcc    .+70            ; 0xbd2 <Endpoint_ConfigureEndpointTable+0x78>
+     b8c:      85 30           cpi     r24, 0x05       ; 5
+     b8e:      18 f5           brcc    .+70            ; 0xbd6 <Endpoint_ConfigureEndpointTable+0x78>
                                  return false;
 
                                return Endpoint_ConfigureEndpoint_Prv(Number,
                                                                      ((Type << EPTYPE0) | ((Address & ENDPOINT_DIR_IN) ? (1 << EPDIR) : 0)),
-     b8c:      62 95           swap    r22
-     b8e:      66 0f           add     r22, r22
-     b90:      66 0f           add     r22, r22
-     b92:      60 7c           andi    r22, 0xC0       ; 192
-     b94:      99 1f           adc     r25, r25
-     b96:      99 27           eor     r25, r25
+     b90:      62 95           swap    r22
+     b92:      66 0f           add     r22, r22
+     b94:      66 0f           add     r22, r22
+     b96:      60 7c           andi    r22, 0xC0       ; 192
      b98:      99 1f           adc     r25, r25
+     b9a:      99 27           eor     r25, r25
+     b9c:      99 1f           adc     r25, r25
                                uint8_t Number = (Address & ENDPOINT_EPNUM_MASK);
 
                                if (Number >= ENDPOINT_TOTAL_ENDPOINTS)
                                  return false;
 
                                return Endpoint_ConfigureEndpoint_Prv(Number,
-     b9a:      69 2b           or      r22, r25
-     b9c:      22 30           cpi     r18, 0x02       ; 2
-     b9e:      10 f0           brcs    .+4             ; 0xba4 <Endpoint_ConfigureEndpointTable+0x4a>
-     ba0:      96 e0           ldi     r25, 0x06       ; 6
-     ba2:      01 c0           rjmp    .+2             ; 0xba6 <Endpoint_ConfigureEndpointTable+0x4c>
-     ba4:      92 e0           ldi     r25, 0x02       ; 2
+     b9e:      69 2b           or      r22, r25
+     ba0:      22 30           cpi     r18, 0x02       ; 2
+     ba2:      10 f0           brcs    .+4             ; 0xba8 <Endpoint_ConfigureEndpointTable+0x4a>
+     ba4:      96 e0           ldi     r25, 0x06       ; 6
+     ba6:      01 c0           rjmp    .+2             ; 0xbaa <Endpoint_ConfigureEndpointTable+0x4c>
+     ba8:      92 e0           ldi     r25, 0x02       ; 2
                        static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes) ATTR_WARN_UNUSED_RESULT ATTR_CONST
                                                                                               ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes)
                        {
                                uint8_t  MaskVal    = 0;
                                uint16_t CheckBytes = 8;
-     ba6:      28 e0           ldi     r18, 0x08       ; 8
-     ba8:      30 e0           ldi     r19, 0x00       ; 0
+     baa:      28 e0           ldi     r18, 0x08       ; 8
+     bac:      30 e0           ldi     r19, 0x00       ; 0
                /* Inline Functions: */
                        static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes) ATTR_WARN_UNUSED_RESULT ATTR_CONST
                                                                                               ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes)
                        {
                                uint8_t  MaskVal    = 0;
-     baa:      40 e0           ldi     r20, 0x00       ; 0
-     bac:      03 c0           rjmp    .+6             ; 0xbb4 <Endpoint_ConfigureEndpointTable+0x5a>
+     bae:      40 e0           ldi     r20, 0x00       ; 0
+     bb0:      03 c0           rjmp    .+6             ; 0xbb8 <Endpoint_ConfigureEndpointTable+0x5a>
                                uint16_t CheckBytes = 8;
 
                                while (CheckBytes < Bytes)
                                {
                                        MaskVal++;
-     bae:      4f 5f           subi    r20, 0xFF       ; 255
+     bb2:      4f 5f           subi    r20, 0xFF       ; 255
                                        CheckBytes <<= 1;
-     bb0:      22 0f           add     r18, r18
-     bb2:      33 1f           adc     r19, r19
+     bb4:      22 0f           add     r18, r18
+     bb6:      33 1f           adc     r19, r19
                        static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes)
                        {
                                uint8_t  MaskVal    = 0;
                                uint16_t CheckBytes = 8;
 
                                while (CheckBytes < Bytes)
-     bb4:      2e 17           cp      r18, r30
-     bb6:      3f 07           cpc     r19, r31
-     bb8:      d0 f3           brcs    .-12            ; 0xbae <Endpoint_ConfigureEndpointTable+0x54>
+     bb8:      2e 17           cp      r18, r30
+     bba:      3f 07           cpc     r19, r31
+     bbc:      d0 f3           brcs    .-12            ; 0xbb2 <Endpoint_ConfigureEndpointTable+0x54>
                                {
                                        MaskVal++;
                                        CheckBytes <<= 1;
                                }
 
                                return (MaskVal << EPSIZE0);
-     bba:      42 95           swap    r20
-     bbc:      40 7f           andi    r20, 0xF0       ; 240
+     bbe:      42 95           swap    r20
+     bc0:      40 7f           andi    r20, 0xF0       ; 240
                                uint8_t Number = (Address & ENDPOINT_EPNUM_MASK);
 
                                if (Number >= ENDPOINT_TOTAL_ENDPOINTS)
                                  return false;
 
                                return Endpoint_ConfigureEndpoint_Prv(Number,
-     bbe:      49 2b           or      r20, r25
-     bc0:      95 df           rcall   .-214           ; 0xaec <Endpoint_ConfigureEndpoint_Prv>
-     bc2:      88 23           and     r24, r24
-     bc4:      31 f0           breq    .+12            ; 0xbd2 <Endpoint_ConfigureEndpointTable+0x78>
+     bc2:      49 2b           or      r20, r25
+     bc4:      95 df           rcall   .-214           ; 0xaf0 <Endpoint_ConfigureEndpoint_Prv>
+     bc6:      88 23           and     r24, r24
+     bc8:      31 f0           breq    .+12            ; 0xbd6 <Endpoint_ConfigureEndpointTable+0x78>
 #endif
 
 bool Endpoint_ConfigureEndpointTable(const USB_Endpoint_Table_t* const Table,
                                      const uint8_t Entries)
 {
        for (uint8_t i = 0; i < Entries; i++)
-     bc6:      0f 5f           subi    r16, 0xFF       ; 255
-     bc8:      25 96           adiw    r28, 0x05       ; 5
-     bca:      01 17           cp      r16, r17
-     bcc:      a0 f2           brcs    .-88            ; 0xb76 <Endpoint_ConfigureEndpointTable+0x1c>
+     bca:      0f 5f           subi    r16, 0xFF       ; 255
+     bcc:      25 96           adiw    r28, 0x05       ; 5
+     bce:      01 17           cp      r16, r17
+     bd0:      a0 f2           brcs    .-88            ; 0xb7a <Endpoint_ConfigureEndpointTable+0x1c>
        
                if (!(Endpoint_ConfigureEndpoint(Table[i].Address, Table[i].Type, Table[i].Size, Table[i].Banks)))
                  return false;
        }
        
        return true;
-     bce:      81 e0           ldi     r24, 0x01       ; 1
-     bd0:      01 c0           rjmp    .+2             ; 0xbd4 <Endpoint_ConfigureEndpointTable+0x7a>
+     bd2:      81 e0           ldi     r24, 0x01       ; 1
+     bd4:      01 c0           rjmp    .+2             ; 0xbd8 <Endpoint_ConfigureEndpointTable+0x7a>
        {
                if (!(Table[i].Address))
                  continue;
        
                if (!(Endpoint_ConfigureEndpoint(Table[i].Address, Table[i].Type, Table[i].Size, Table[i].Banks)))
                  return false;
-     bd2:      80 e0           ldi     r24, 0x00       ; 0
+     bd6:      80 e0           ldi     r24, 0x00       ; 0
        }
        
        return true;
 }
-     bd4:      df 91           pop     r29
-     bd6:      cf 91           pop     r28
-     bd8:      1f 91           pop     r17
-     bda:      0f 91           pop     r16
-     bdc:      ff 90           pop     r15
-     bde:      ef 90           pop     r14
-     be0:      08 95           ret
-
-00000be2 <Endpoint_ClearStatusStage>:
+     bd8:      df 91           pop     r29
+     bda:      cf 91           pop     r28
+     bdc:      1f 91           pop     r17
+     bde:      0f 91           pop     r16
+     be0:      ff 90           pop     r15
+     be2:      ef 90           pop     r14
+     be4:      08 95           ret
+
+00000be6 <Endpoint_ClearStatusStage>:
        }
 }
 
 void Endpoint_ClearStatusStage(void)
 {
        if (USB_ControlRequest.bmRequestType & REQDIR_DEVICETOHOST)
-     be2:      80 91 8e 02     lds     r24, 0x028E
-     be6:      87 ff           sbrs    r24, 7
-     be8:      11 c0           rjmp    .+34            ; 0xc0c <Endpoint_ClearStatusStage+0x2a>
-     bea:      03 c0           rjmp    .+6             ; 0xbf2 <Endpoint_ClearStatusStage+0x10>
+     be6:      80 91 8f 02     lds     r24, 0x028F
+     bea:      87 ff           sbrs    r24, 7
+     bec:      13 c0           rjmp    .+38            ; 0xc14 <Endpoint_ClearStatusStage+0x2e>
+     bee:      04 c0           rjmp    .+8             ; 0xbf8 <Endpoint_ClearStatusStage+0x12>
        {
                while (!(Endpoint_IsOUTReceived()))
                {
                        if (USB_DeviceState == DEVICE_STATE_Unattached)
-     bec:      8e b3           in      r24, 0x1e       ; 30
-     bee:      88 23           and     r24, r24
-     bf0:      b1 f0           breq    .+44            ; 0xc1e <Endpoint_ClearStatusStage+0x3c>
+     bf0:      80 91 8e 02     lds     r24, 0x028E
+     bf4:      88 23           and     r24, r24
+     bf6:      b9 f0           breq    .+46            ; 0xc26 <Endpoint_ClearStatusStage+0x40>
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsOUTReceived(void)
                        {
                                return ((UEINTX & (1 << RXOUTI)) ? true : false);
-     bf2:      80 91 e8 00     lds     r24, 0x00E8
+     bf8:      80 91 e8 00     lds     r24, 0x00E8
 
 void Endpoint_ClearStatusStage(void)
 {
        if (USB_ControlRequest.bmRequestType & REQDIR_DEVICETOHOST)
        {
                while (!(Endpoint_IsOUTReceived()))
-     bf6:      82 ff           sbrs    r24, 2
-     bf8:      f9 cf           rjmp    .-14            ; 0xbec <Endpoint_ClearStatusStage+0xa>
+     bfc:      82 ff           sbrs    r24, 2
+     bfe:      f8 cf           rjmp    .-16            ; 0xbf0 <Endpoint_ClearStatusStage+0xa>
                         */
                        static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearOUT(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
-     bfa:      80 91 e8 00     lds     r24, 0x00E8
-     bfe:      8b 77           andi    r24, 0x7B       ; 123
-     c00:      80 93 e8 00     sts     0x00E8, r24
-     c04:      08 95           ret
+     c00:      80 91 e8 00     lds     r24, 0x00E8
+     c04:      8b 77           andi    r24, 0x7B       ; 123
+     c06:      80 93 e8 00     sts     0x00E8, r24
+     c0a:      08 95           ret
        }
        else
        {
                while (!(Endpoint_IsINReady()))
                {
                        if (USB_DeviceState == DEVICE_STATE_Unattached)
-     c06:      8e b3           in      r24, 0x1e       ; 30
-     c08:      88 23           and     r24, r24
-     c0a:      49 f0           breq    .+18            ; 0xc1e <Endpoint_ClearStatusStage+0x3c>
+     c0c:      80 91 8e 02     lds     r24, 0x028E
+     c10:      88 23           and     r24, r24
+     c12:      49 f0           breq    .+18            ; 0xc26 <Endpoint_ClearStatusStage+0x40>
                         *  \return Boolean \c true if the current endpoint is ready for an IN packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsINReady(void)
                        {
                                return ((UEINTX & (1 << TXINI)) ? true : false);
-     c0c:      80 91 e8 00     lds     r24, 0x00E8
+     c14:      80 91 e8 00     lds     r24, 0x00E8
 
                Endpoint_ClearOUT();
        }
        else
        {
                while (!(Endpoint_IsINReady()))
-     c10:      80 ff           sbrs    r24, 0
-     c12:      f9 cf           rjmp    .-14            ; 0xc06 <Endpoint_ClearStatusStage+0x24>
+     c18:      80 ff           sbrs    r24, 0
+     c1a:      f8 cf           rjmp    .-16            ; 0xc0c <Endpoint_ClearStatusStage+0x26>
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-     c14:      80 91 e8 00     lds     r24, 0x00E8
-     c18:      8e 77           andi    r24, 0x7E       ; 126
-     c1a:      80 93 e8 00     sts     0x00E8, r24
-     c1e:      08 95           ret
+     c1c:      80 91 e8 00     lds     r24, 0x00E8
+     c20:      8e 77           andi    r24, 0x7E       ; 126
+     c22:      80 93 e8 00     sts     0x00E8, r24
+     c26:      08 95           ret
 
-00000c20 <Endpoint_WaitUntilReady>:
+00000c28 <Endpoint_WaitUntilReady>:
                         *  \return Current USB frame number from the USB controller.
                         */
                        static inline uint16_t USB_Device_GetFrameNumber(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
                        static inline uint16_t USB_Device_GetFrameNumber(void)
                        {
                                return UDFNUM;
-     c20:      80 91 e4 00     lds     r24, 0x00E4
-     c24:      90 91 e5 00     lds     r25, 0x00E5
+     c28:      80 91 e4 00     lds     r24, 0x00E4
+     c2c:      90 91 e5 00     lds     r25, 0x00E5
 
 #if !defined(CONTROL_ONLY_DEVICE)
 uint8_t Endpoint_WaitUntilReady(void)
 {
        #if (USB_STREAM_TIMEOUT_MS < 0xFF)
        uint8_t  TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
-     c28:      44 e6           ldi     r20, 0x64       ; 100
+     c30:      44 e6           ldi     r20, 0x64       ; 100
                         *  \return The currently selected endpoint's direction, as a \c ENDPOINT_DIR_* mask.
                         */
                        static inline uint8_t Endpoint_GetEndpointDirection(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_GetEndpointDirection(void)
                        {
                                return (UECFG0X & (1 << EPDIR)) ? ENDPOINT_DIR_IN : ENDPOINT_DIR_OUT;
-     c2a:      20 91 ec 00     lds     r18, 0x00EC
-     c2e:      20 ff           sbrs    r18, 0
-     c30:      25 c0           rjmp    .+74            ; 0xc7c <Endpoint_WaitUntilReady+0x5c>
+     c32:      20 91 ec 00     lds     r18, 0x00EC
+     c36:      20 ff           sbrs    r18, 0
+     c38:      26 c0           rjmp    .+76            ; 0xc86 <Endpoint_WaitUntilReady+0x5e>
                         *  \return Boolean \c true if the current endpoint is ready for an IN packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsINReady(void)
                        {
                                return ((UEINTX & (1 << TXINI)) ? true : false);
-     c32:      20 91 e8 00     lds     r18, 0x00E8
+     c3a:      20 91 e8 00     lds     r18, 0x00E8
 
        for (;;)
        {
                if (Endpoint_GetEndpointDirection() == ENDPOINT_DIR_IN)
                {
                        if (Endpoint_IsINReady())
-     c36:      20 fd           sbrc    r18, 0
-     c38:      15 c0           rjmp    .+42            ; 0xc64 <Endpoint_WaitUntilReady+0x44>
+     c3e:      20 fd           sbrc    r18, 0
+     c40:      16 c0           rjmp    .+44            ; 0xc6e <Endpoint_WaitUntilReady+0x46>
                {
                        if (Endpoint_IsOUTReceived())
                          return ENDPOINT_READYWAIT_NoError;
                }
 
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
-     c3a:      2e b3           in      r18, 0x1e       ; 30
+     c42:      20 91 8e 02     lds     r18, 0x028E
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
-     c3c:      22 23           and     r18, r18
-     c3e:      a1 f0           breq    .+40            ; 0xc68 <Endpoint_WaitUntilReady+0x48>
+     c46:      22 23           and     r18, r18
+     c48:      a1 f0           breq    .+40            ; 0xc72 <Endpoint_WaitUntilReady+0x4a>
                  return ENDPOINT_READYWAIT_DeviceDisconnected;
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
-     c40:      25 30           cpi     r18, 0x05       ; 5
-     c42:      a1 f0           breq    .+40            ; 0xc6c <Endpoint_WaitUntilReady+0x4c>
+     c4a:      25 30           cpi     r18, 0x05       ; 5
+     c4c:      a1 f0           breq    .+40            ; 0xc76 <Endpoint_WaitUntilReady+0x4e>
                         *  \return Boolean \c true if the currently selected endpoint is stalled, \c false otherwise.
                         */
                        static inline bool Endpoint_IsStalled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsStalled(void)
                        {
                                return ((UECONX & (1 << STALLRQ)) ? true : false);
-     c44:      20 91 eb 00     lds     r18, 0x00EB
+     c4e:      20 91 eb 00     lds     r18, 0x00EB
                  return ENDPOINT_READYWAIT_BusSuspended;
                else if (Endpoint_IsStalled())
-     c48:      25 fd           sbrc    r18, 5
-     c4a:      12 c0           rjmp    .+36            ; 0xc70 <Endpoint_WaitUntilReady+0x50>
-     c4c:      20 91 e4 00     lds     r18, 0x00E4
-     c50:      30 91 e5 00     lds     r19, 0x00E5
+     c52:      25 fd           sbrc    r18, 5
+     c54:      12 c0           rjmp    .+36            ; 0xc7a <Endpoint_WaitUntilReady+0x52>
+     c56:      20 91 e4 00     lds     r18, 0x00E4
+     c5a:      30 91 e5 00     lds     r19, 0x00E5
                  return ENDPOINT_READYWAIT_EndpointStalled;
 
                uint16_t CurrentFrameNumber = USB_Device_GetFrameNumber();
 
                if (CurrentFrameNumber != PreviousFrameNumber)
-     c54:      28 17           cp      r18, r24
-     c56:      39 07           cpc     r19, r25
-     c58:      41 f3           breq    .-48            ; 0xc2a <Endpoint_WaitUntilReady+0xa>
+     c5e:      28 17           cp      r18, r24
+     c60:      39 07           cpc     r19, r25
+     c62:      39 f3           breq    .-50            ; 0xc32 <Endpoint_WaitUntilReady+0xa>
                {
                        PreviousFrameNumber = CurrentFrameNumber;
 
                        if (!(TimeoutMSRem--))
-     c5a:      44 23           and     r20, r20
-     c5c:      59 f0           breq    .+22            ; 0xc74 <Endpoint_WaitUntilReady+0x54>
-     c5e:      41 50           subi    r20, 0x01       ; 1
-     c60:      c9 01           movw    r24, r18
-     c62:      e3 cf           rjmp    .-58            ; 0xc2a <Endpoint_WaitUntilReady+0xa>
+     c64:      44 23           and     r20, r20
+     c66:      59 f0           breq    .+22            ; 0xc7e <Endpoint_WaitUntilReady+0x56>
+     c68:      41 50           subi    r20, 0x01       ; 1
+     c6a:      c9 01           movw    r24, r18
+     c6c:      e2 cf           rjmp    .-60            ; 0xc32 <Endpoint_WaitUntilReady+0xa>
        for (;;)
        {
                if (Endpoint_GetEndpointDirection() == ENDPOINT_DIR_IN)
                {
                        if (Endpoint_IsINReady())
                          return ENDPOINT_READYWAIT_NoError;
-     c64:      80 e0           ldi     r24, 0x00       ; 0
-     c66:      08 95           ret
+     c6e:      80 e0           ldi     r24, 0x00       ; 0
+     c70:      08 95           ret
                }
 
                uint8_t USB_DeviceState_LCL = USB_DeviceState;
 
                if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
                  return ENDPOINT_READYWAIT_DeviceDisconnected;
-     c68:      82 e0           ldi     r24, 0x02       ; 2
-     c6a:      08 95           ret
+     c72:      82 e0           ldi     r24, 0x02       ; 2
+     c74:      08 95           ret
                else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
                  return ENDPOINT_READYWAIT_BusSuspended;
-     c6c:      83 e0           ldi     r24, 0x03       ; 3
-     c6e:      08 95           ret
+     c76:      83 e0           ldi     r24, 0x03       ; 3
+     c78:      08 95           ret
                else if (Endpoint_IsStalled())
                  return ENDPOINT_READYWAIT_EndpointStalled;
-     c70:      81 e0           ldi     r24, 0x01       ; 1
-     c72:      08 95           ret
+     c7a:      81 e0           ldi     r24, 0x01       ; 1
+     c7c:      08 95           ret
                if (CurrentFrameNumber != PreviousFrameNumber)
                {
                        PreviousFrameNumber = CurrentFrameNumber;
 
                        if (!(TimeoutMSRem--))
                          return ENDPOINT_READYWAIT_Timeout;
-     c74:      84 e0           ldi     r24, 0x04       ; 4
-     c76:      08 95           ret
+     c7e:      84 e0           ldi     r24, 0x04       ; 4
+     c80:      08 95           ret
                          return ENDPOINT_READYWAIT_NoError;
                }
                else
                {
                        if (Endpoint_IsOUTReceived())
                          return ENDPOINT_READYWAIT_NoError;
-     c78:      80 e0           ldi     r24, 0x00       ; 0
+     c82:      80 e0           ldi     r24, 0x00       ; 0
 
                        if (!(TimeoutMSRem--))
                          return ENDPOINT_READYWAIT_Timeout;
                }
        }
 }
-     c7a:      08 95           ret
+     c84:      08 95           ret
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsOUTReceived(void)
                        {
                                return ((UEINTX & (1 << RXOUTI)) ? true : false);
-     c7c:      20 91 e8 00     lds     r18, 0x00E8
+     c86:      20 91 e8 00     lds     r18, 0x00E8
                        if (Endpoint_IsINReady())
                          return ENDPOINT_READYWAIT_NoError;
                }
                else
                {
                        if (Endpoint_IsOUTReceived())
-     c80:      22 ff           sbrs    r18, 2
-     c82:      db cf           rjmp    .-74            ; 0xc3a <Endpoint_WaitUntilReady+0x1a>
-     c84:      f9 cf           rjmp    .-14            ; 0xc78 <Endpoint_WaitUntilReady+0x58>
+     c8a:      22 ff           sbrs    r18, 2
+     c8c:      da cf           rjmp    .-76            ; 0xc42 <Endpoint_WaitUntilReady+0x1a>
+     c8e:      f9 cf           rjmp    .-14            ; 0xc82 <Endpoint_WaitUntilReady+0x5a>
 
-00000c86 <USB_ResetInterface>:
+00000c90 <USB_ResetInterface>:
 {
        #if defined(USB_CAN_BE_BOTH)
        bool UIDModeSelectEnabled = ((UHWCON & (1 << UIDE)) != 0);
        #endif
 
        USB_INT_DisableAllInterrupts();
-     c86:      40 d0           rcall   .+128           ; 0xd08 <USB_INT_DisableAllInterrupts>
+     c90:      41 d0           rcall   .+130           ; 0xd14 <USB_INT_DisableAllInterrupts>
        USB_INT_ClearAllInterrupts();
-     c88:      42 d0           rcall   .+132           ; 0xd0e <USB_INT_ClearAllInterrupts>
+     c92:      43 d0           rcall   .+134           ; 0xd1a <USB_INT_ClearAllInterrupts>
                        }
 
                        static inline void USB_Controller_Reset(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_Controller_Reset(void)
                        {
                                USBCON &= ~(1 << USBE);
-     c8a:      80 91 d8 00     lds     r24, 0x00D8
-     c8e:      8f 77           andi    r24, 0x7F       ; 127
-     c90:      80 93 d8 00     sts     0x00D8, r24
-                               USBCON |=  (1 << USBE);
      c94:      80 91 d8 00     lds     r24, 0x00D8
-     c98:      80 68           ori     r24, 0x80       ; 128
+     c98:      8f 77           andi    r24, 0x7F       ; 127
      c9a:      80 93 d8 00     sts     0x00D8, r24
+                               USBCON |=  (1 << USBE);
+     c9e:      80 91 d8 00     lds     r24, 0x00D8
+     ca2:      80 68           ori     r24, 0x80       ; 128
+     ca4:      80 93 d8 00     sts     0x00D8, r24
                        }
 
                        static inline void USB_CLK_Unfreeze(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_CLK_Unfreeze(void)
                        {
                                USBCON &= ~(1 << FRZCLK);
-     c9e:      80 91 d8 00     lds     r24, 0x00D8
-     ca2:      8f 7d           andi    r24, 0xDF       ; 223
-     ca4:      80 93 d8 00     sts     0x00D8, r24
+     ca8:      80 91 d8 00     lds     r24, 0x00D8
+     cac:      8f 7d           andi    r24, 0xDF       ; 223
+     cae:      80 93 d8 00     sts     0x00D8, r24
 
                /* Inline Functions: */
                        static inline void USB_PLL_On(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_PLL_On(void)
                        {
                                PLLCSR = USB_PLL_PSC;
-     ca8:      84 e0           ldi     r24, 0x04       ; 4
-     caa:      89 bd           out     0x29, r24       ; 41
+     cb2:      84 e0           ldi     r24, 0x04       ; 4
+     cb4:      89 bd           out     0x29, r24       ; 41
                                PLLCSR = (USB_PLL_PSC | (1 << PLLE));
-     cac:      86 e0           ldi     r24, 0x06       ; 6
-     cae:      89 bd           out     0x29, r24       ; 41
+     cb6:      86 e0           ldi     r24, 0x06       ; 6
+     cb8:      89 bd           out     0x29, r24       ; 41
 
                if (!(USB_Options & USB_OPT_MANUAL_PLL))
                {
                        #if defined(USB_SERIES_2_AVR)
                        USB_PLL_On();
                        while (!(USB_PLL_IsReady()));
-     cb0:      09 b4           in      r0, 0x29        ; 41
-     cb2:      00 fe           sbrs    r0, 0
-     cb4:      fd cf           rjmp    .-6             ; 0xcb0 <USB_ResetInterface+0x2a>
+     cba:      09 b4           in      r0, 0x29        ; 41
+     cbc:      00 fe           sbrs    r0, 0
+     cbe:      fd cf           rjmp    .-6             ; 0xcba <USB_ResetInterface+0x2a>
 }
 
 #if defined(USB_CAN_BE_DEVICE)
 static void USB_Init_Device(void)
 {
        USB_DeviceState                 = DEVICE_STATE_Unattached;
-     cb6:      1e ba           out     0x1e, r1        ; 30
+     cc0:      10 92 8e 02     sts     0x028E, r1
        USB_Device_ConfigurationNumber  = 0;
-     cb8:      10 92 8a 02     sts     0x028A, r1
+     cc4:      10 92 8a 02     sts     0x028A, r1
 
        #if !defined(NO_DEVICE_REMOTE_WAKEUP)
        USB_Device_RemoteWakeupEnabled  = false;
-     cbc:      10 92 8c 02     sts     0x028C, r1
+     cc8:      10 92 8c 02     sts     0x028C, r1
        #endif
 
        #if !defined(NO_DEVICE_SELF_POWER)
        USB_Device_CurrentlySelfPowered = false;
-     cc0:      10 92 8b 02     sts     0x028B, r1
+     ccc:      10 92 8b 02     sts     0x028B, r1
                                uint8_t Number = (Address & ENDPOINT_EPNUM_MASK);
 
                                if (Number >= ENDPOINT_TOTAL_ENDPOINTS)
                                  return false;
 
                                return Endpoint_ConfigureEndpoint_Prv(Number,
-     cc4:      80 e0           ldi     r24, 0x00       ; 0
-     cc6:      60 e0           ldi     r22, 0x00       ; 0
-     cc8:      42 e0           ldi     r20, 0x02       ; 2
-     cca:      10 df           rcall   .-480           ; 0xaec <Endpoint_ConfigureEndpoint_Prv>
+     cd0:      80 e0           ldi     r24, 0x00       ; 0
+     cd2:      60 e0           ldi     r22, 0x00       ; 0
+     cd4:      42 e0           ldi     r20, 0x02       ; 2
+     cd6:      0c df           rcall   .-488           ; 0xaf0 <Endpoint_ConfigureEndpoint_Prv>
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDINT  &= ~(1 << WAKEUPI);
                                                break;
                                        case USB_INT_SUSPI:
                                                UDINT  &= ~(1 << SUSPI);
-     ccc:      80 91 e1 00     lds     r24, 0x00E1
-     cd0:      8e 7f           andi    r24, 0xFE       ; 254
-     cd2:      80 93 e1 00     sts     0x00E1, r24
+     cd8:      80 91 e1 00     lds     r24, 0x00E1
+     cdc:      8e 7f           andi    r24, 0xFE       ; 254
+     cde:      80 93 e1 00     sts     0x00E1, r24
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDIEN  |= (1 << WAKEUPE);
                                                break;
                                        case USB_INT_SUSPI:
                                                UDIEN  |= (1 << SUSPE);
-     cd6:      80 91 e2 00     lds     r24, 0x00E2
-     cda:      81 60           ori     r24, 0x01       ; 1
-     cdc:      80 93 e2 00     sts     0x00E2, r24
+     ce2:      80 91 e2 00     lds     r24, 0x00E2
+     ce6:      81 60           ori     r24, 0x01       ; 1
+     ce8:      80 93 e2 00     sts     0x00E2, r24
                                                break;
                                        case USB_INT_EORSTI:
                                                UDIEN  |= (1 << EORSTE);
-     ce0:      80 91 e2 00     lds     r24, 0x00E2
-     ce4:      88 60           ori     r24, 0x08       ; 8
-     ce6:      80 93 e2 00     sts     0x00E2, r24
+     cec:      80 91 e2 00     lds     r24, 0x00E2
+     cf0:      88 60           ori     r24, 0x08       ; 8
+     cf2:      80 93 e2 00     sts     0x00E2, r24
                         *  register and despite the datasheet making no mention of its requirement in host mode.
                         */
                        static inline void USB_Attach(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_Attach(void)
                        {
                                UDCON  &= ~(1 << DETACH);
-     cea:      80 91 e0 00     lds     r24, 0x00E0
-     cee:      8e 7f           andi    r24, 0xFE       ; 254
-     cf0:      80 93 e0 00     sts     0x00E0, r24
+     cf6:      80 91 e0 00     lds     r24, 0x00E0
+     cfa:      8e 7f           andi    r24, 0xFE       ; 254
+     cfc:      80 93 e0 00     sts     0x00E0, r24
        }
 
        #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
        USB_OTGPAD_On();
        #endif
 }
-     cf4:      08 95           ret
+     d00:      08 95           ret
 
-00000cf6 <USB_Init>:
+00000d02 <USB_Init>:
                        static inline void USB_REG_On(void)
                        {
                        #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
                                UHWCON |=  (1 << UVREGE);
                        #else
                                REGCR  &= ~(1 << REGDIS);
-     cf6:      e3 e6           ldi     r30, 0x63       ; 99
-     cf8:      f0 e0           ldi     r31, 0x00       ; 0
-     cfa:      80 81           ld      r24, Z
-     cfc:      8e 7f           andi    r24, 0xFE       ; 254
-     cfe:      80 83           st      Z, r24
+     d02:      e3 e6           ldi     r30, 0x63       ; 99
+     d04:      f0 e0           ldi     r31, 0x00       ; 0
+     d06:      80 81           ld      r24, Z
+     d08:      8e 7f           andi    r24, 0xFE       ; 254
+     d0a:      80 83           st      Z, r24
                UHWCON &= ~(1 << UIDE);
                USB_CurrentMode = Mode;
        }
        #endif
 
        USB_IsInitialized = true;
-     d00:      81 e0           ldi     r24, 0x01       ; 1
-     d02:      80 93 8d 02     sts     0x028D, r24
+     d0c:      81 e0           ldi     r24, 0x01       ; 1
+     d0e:      80 93 8d 02     sts     0x028D, r24
 
        USB_ResetInterface();
 }
-     d06:      bf cf           rjmp    .-130           ; 0xc86 <USB_ResetInterface>
+     d12:      be cf           rjmp    .-132           ; 0xc90 <USB_ResetInterface>
 
-00000d08 <USB_INT_DisableAllInterrupts>:
+00000d14 <USB_INT_DisableAllInterrupts>:
        #if defined(USB_CAN_BE_HOST)
        UHIEN   = 0;
        #endif
 
        #if defined(USB_CAN_BE_DEVICE)
        UDIEN   = 0;
-     d08:      10 92 e2 00     sts     0x00E2, r1
+     d14:      10 92 e2 00     sts     0x00E2, r1
        #endif
 }
-     d0c:      08 95           ret
+     d18:      08 95           ret
 
-00000d0e <USB_INT_ClearAllInterrupts>:
+00000d1a <USB_INT_ClearAllInterrupts>:
        #if defined(USB_CAN_BE_HOST)
        UHINT  = 0;
        #endif
 
        #if defined(USB_CAN_BE_DEVICE)
        UDINT  = 0;
-     d0e:      10 92 e1 00     sts     0x00E1, r1
+     d1a:      10 92 e1 00     sts     0x00E1, r1
        #endif
 }
-     d12:      08 95           ret
+     d1e:      08 95           ret
 
-00000d14 <__vector_11>:
+00000d20 <__vector_11>:
 
 ISR(USB_GEN_vect, ISR_BLOCK)
 {
-     d14:      1f 92           push    r1
-     d16:      0f 92           push    r0
-     d18:      0f b6           in      r0, 0x3f        ; 63
-     d1a:      0f 92           push    r0
-     d1c:      11 24           eor     r1, r1
-     d1e:      2f 93           push    r18
-     d20:      3f 93           push    r19
-     d22:      4f 93           push    r20
-     d24:      5f 93           push    r21
-     d26:      6f 93           push    r22
-     d28:      7f 93           push    r23
-     d2a:      8f 93           push    r24
-     d2c:      9f 93           push    r25
-     d2e:      af 93           push    r26
-     d30:      bf 93           push    r27
-     d32:      ef 93           push    r30
-     d34:      ff 93           push    r31
+     d20:      1f 92           push    r1
+     d22:      0f 92           push    r0
+     d24:      0f b6           in      r0, 0x3f        ; 63
+     d26:      0f 92           push    r0
+     d28:      11 24           eor     r1, r1
+     d2a:      2f 93           push    r18
+     d2c:      3f 93           push    r19
+     d2e:      4f 93           push    r20
+     d30:      5f 93           push    r21
+     d32:      6f 93           push    r22
+     d34:      7f 93           push    r23
+     d36:      8f 93           push    r24
+     d38:      9f 93           push    r25
+     d3a:      af 93           push    r26
+     d3c:      bf 93           push    r27
+     d3e:      ef 93           push    r30
+     d40:      ff 93           push    r31
                                        case USB_INT_SUSPI:
                                                return (UDINT  & (1 << SUSPI));
                                        case USB_INT_EORSTI:
                                                return (UDINT  & (1 << EORSTI));
                                        case USB_INT_SOFI:
                                                return (UDINT  & (1 << SOFI));
-     d36:      80 91 e1 00     lds     r24, 0x00E1
+     d42:      80 91 e1 00     lds     r24, 0x00E1
        #if defined(USB_CAN_BE_DEVICE)
        #if !defined(NO_SOF_EVENTS)
        if (USB_INT_HasOccurred(USB_INT_SOFI) && USB_INT_IsEnabled(USB_INT_SOFI))
-     d3a:      82 ff           sbrs    r24, 2
-     d3c:      0a c0           rjmp    .+20            ; 0xd52 <__vector_11+0x3e>
+     d46:      82 ff           sbrs    r24, 2
+     d48:      0a c0           rjmp    .+20            ; 0xd5e <__vector_11+0x3e>
                                        case USB_INT_SUSPI:
                                                return (UDIEN  & (1 << SUSPE));
                                        case USB_INT_EORSTI:
                                                return (UDIEN  & (1 << EORSTE));
                                        case USB_INT_SOFI:
                                                return (UDIEN  & (1 << SOFE));
-     d3e:      80 91 e2 00     lds     r24, 0x00E2
-     d42:      82 ff           sbrs    r24, 2
-     d44:      06 c0           rjmp    .+12            ; 0xd52 <__vector_11+0x3e>
+     d4a:      80 91 e2 00     lds     r24, 0x00E2
+     d4e:      82 ff           sbrs    r24, 2
+     d50:      06 c0           rjmp    .+12            ; 0xd5e <__vector_11+0x3e>
                                                break;
                                        case USB_INT_EORSTI:
                                                UDINT  &= ~(1 << EORSTI);
                                                break;
                                        case USB_INT_SOFI:
                                                UDINT  &= ~(1 << SOFI);
-     d46:      80 91 e1 00     lds     r24, 0x00E1
-     d4a:      8b 7f           andi    r24, 0xFB       ; 251
-     d4c:      80 93 e1 00     sts     0x00E1, r24
+     d52:      80 91 e1 00     lds     r24, 0x00E1
+     d56:      8b 7f           andi    r24, 0xFB       ; 251
+     d58:      80 93 e1 00     sts     0x00E1, r24
        {
                USB_INT_Clear(USB_INT_SOFI);
 
                EVENT_USB_Device_StartOfFrame();
-     d50:      21 d2           rcall   .+1090          ; 0x1194 <USB_Event_Stub>
+     d5c:      e6 d1           rcall   .+972           ; 0x112a <USB_Event_Stub>
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                return (UDINT  & (1 << WAKEUPI));
                                        case USB_INT_SUSPI:
                                                return (UDINT  & (1 << SUSPI));
-     d52:      80 91 e1 00     lds     r24, 0x00E1
+     d5e:      80 91 e1 00     lds     r24, 0x00E1
                        EVENT_USB_Device_Disconnect();
                }
        }
        #endif
 
        if (USB_INT_HasOccurred(USB_INT_SUSPI) && USB_INT_IsEnabled(USB_INT_SUSPI))
-     d56:      80 ff           sbrs    r24, 0
-     d58:      16 c0           rjmp    .+44            ; 0xd86 <__vector_11+0x72>
+     d62:      80 ff           sbrs    r24, 0
+     d64:      17 c0           rjmp    .+46            ; 0xd94 <__vector_11+0x74>
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                return (UDIEN  & (1 << WAKEUPE));
                                        case USB_INT_SUSPI:
                                                return (UDIEN  & (1 << SUSPE));
-     d5a:      80 91 e2 00     lds     r24, 0x00E2
-     d5e:      80 ff           sbrs    r24, 0
-     d60:      12 c0           rjmp    .+36            ; 0xd86 <__vector_11+0x72>
+     d66:      80 91 e2 00     lds     r24, 0x00E2
+     d6a:      80 ff           sbrs    r24, 0
+     d6c:      13 c0           rjmp    .+38            ; 0xd94 <__vector_11+0x74>
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDIEN  &= ~(1 << WAKEUPE);
                                                break;
                                        case USB_INT_SUSPI:
                                                UDIEN  &= ~(1 << SUSPE);
-     d62:      80 91 e2 00     lds     r24, 0x00E2
-     d66:      8e 7f           andi    r24, 0xFE       ; 254
-     d68:      80 93 e2 00     sts     0x00E2, r24
+     d6e:      80 91 e2 00     lds     r24, 0x00E2
+     d72:      8e 7f           andi    r24, 0xFE       ; 254
+     d74:      80 93 e2 00     sts     0x00E2, r24
                                                USBCON |= (1 << IDTE);
                                                break;
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDIEN  |= (1 << WAKEUPE);
-     d6c:      80 91 e2 00     lds     r24, 0x00E2
-     d70:      80 61           ori     r24, 0x10       ; 16
-     d72:      80 93 e2 00     sts     0x00E2, r24
+     d78:      80 91 e2 00     lds     r24, 0x00E2
+     d7c:      80 61           ori     r24, 0x10       ; 16
+     d7e:      80 93 e2 00     sts     0x00E2, r24
                        #endif
 
                        static inline void USB_CLK_Freeze(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_CLK_Freeze(void)
                        {
                                USBCON |=  (1 << FRZCLK);
-     d76:      80 91 d8 00     lds     r24, 0x00D8
-     d7a:      80 62           ori     r24, 0x20       ; 32
-     d7c:      80 93 d8 00     sts     0x00D8, r24
+     d82:      80 91 d8 00     lds     r24, 0x00D8
+     d86:      80 62           ori     r24, 0x20       ; 32
+     d88:      80 93 d8 00     sts     0x00D8, r24
                        }
 
                        static inline void USB_PLL_Off(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_PLL_Off(void)
                        {
                                PLLCSR = 0;
-     d80:      19 bc           out     0x29, r1        ; 41
+     d8c:      19 bc           out     0x29, r1        ; 41
 
                if (!(USB_Options & USB_OPT_MANUAL_PLL))
                  USB_PLL_Off();
 
                #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
                USB_DeviceState = DEVICE_STATE_Unattached;
-     d82:      1e ba           out     0x1e, r1        ; 30
+     d8e:      10 92 8e 02     sts     0x028E, r1
                EVENT_USB_Device_Disconnect();
-     d84:      3d dc           rcall   .-1926          ; 0x600 <EVENT_USB_Device_Disconnect>
+     d92:      36 dc           rcall   .-1940          ; 0x600 <EVENT_USB_Device_Disconnect>
                                        case USB_INT_IDTI:
                                                return (USBINT & (1 << IDTI));
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                return (UDINT  & (1 << WAKEUPI));
-     d86:      80 91 e1 00     lds     r24, 0x00E1
+     d94:      80 91 e1 00     lds     r24, 0x00E1
                USB_DeviceState = DEVICE_STATE_Suspended;
                EVENT_USB_Device_Suspend();
                #endif
        }
 
        if (USB_INT_HasOccurred(USB_INT_WAKEUPI) && USB_INT_IsEnabled(USB_INT_WAKEUPI))
-     d8a:      84 ff           sbrs    r24, 4
-     d8c:      2c c0           rjmp    .+88            ; 0xde6 <__vector_11+0xd2>
+     d98:      84 ff           sbrs    r24, 4
+     d9a:      2d c0           rjmp    .+90            ; 0xdf6 <__vector_11+0xd6>
                                        case USB_INT_IDTI:
                                                return (USBCON & (1 << IDTE));
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                return (UDIEN  & (1 << WAKEUPE));
-     d8e:      80 91 e2 00     lds     r24, 0x00E2
-     d92:      84 ff           sbrs    r24, 4
-     d94:      28 c0           rjmp    .+80            ; 0xde6 <__vector_11+0xd2>
+     d9c:      80 91 e2 00     lds     r24, 0x00E2
+     da0:      84 ff           sbrs    r24, 4
+     da2:      29 c0           rjmp    .+82            ; 0xdf6 <__vector_11+0xd6>
 
                /* Inline Functions: */
                        static inline void USB_PLL_On(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_PLL_On(void)
                        {
                                PLLCSR = USB_PLL_PSC;
-     d96:      84 e0           ldi     r24, 0x04       ; 4
-     d98:      89 bd           out     0x29, r24       ; 41
+     da4:      84 e0           ldi     r24, 0x04       ; 4
+     da6:      89 bd           out     0x29, r24       ; 41
                                PLLCSR = (USB_PLL_PSC | (1 << PLLE));
-     d9a:      86 e0           ldi     r24, 0x06       ; 6
-     d9c:      89 bd           out     0x29, r24       ; 41
+     da8:      86 e0           ldi     r24, 0x06       ; 6
+     daa:      89 bd           out     0x29, r24       ; 41
        {
                if (!(USB_Options & USB_OPT_MANUAL_PLL))
                {
                        USB_PLL_On();
                        while (!(USB_PLL_IsReady()));
-     d9e:      09 b4           in      r0, 0x29        ; 41
-     da0:      00 fe           sbrs    r0, 0
-     da2:      fd cf           rjmp    .-6             ; 0xd9e <__vector_11+0x8a>
+     dac:      09 b4           in      r0, 0x29        ; 41
+     dae:      00 fe           sbrs    r0, 0
+     db0:      fd cf           rjmp    .-6             ; 0xdac <__vector_11+0x8c>
                        }
 
                        static inline void USB_CLK_Unfreeze(void) ATTR_ALWAYS_INLINE;
                        static inline void USB_CLK_Unfreeze(void)
                        {
                                USBCON &= ~(1 << FRZCLK);
-     da4:      80 91 d8 00     lds     r24, 0x00D8
-     da8:      8f 7d           andi    r24, 0xDF       ; 223
-     daa:      80 93 d8 00     sts     0x00D8, r24
+     db2:      80 91 d8 00     lds     r24, 0x00D8
+     db6:      8f 7d           andi    r24, 0xDF       ; 223
+     db8:      80 93 d8 00     sts     0x00D8, r24
                                                USBINT &= ~(1 << IDTI);
                                                break;
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDINT  &= ~(1 << WAKEUPI);
-     dae:      80 91 e1 00     lds     r24, 0x00E1
-     db2:      8f 7e           andi    r24, 0xEF       ; 239
-     db4:      80 93 e1 00     sts     0x00E1, r24
+     dbc:      80 91 e1 00     lds     r24, 0x00E1
+     dc0:      8f 7e           andi    r24, 0xEF       ; 239
+     dc2:      80 93 e1 00     sts     0x00E1, r24
                                                USBCON &= ~(1 << IDTE);
                                                break;
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDIEN  &= ~(1 << WAKEUPE);
-     db8:      80 91 e2 00     lds     r24, 0x00E2
-     dbc:      8f 7e           andi    r24, 0xEF       ; 239
-     dbe:      80 93 e2 00     sts     0x00E2, r24
+     dc6:      80 91 e2 00     lds     r24, 0x00E2
+     dca:      8f 7e           andi    r24, 0xEF       ; 239
+     dcc:      80 93 e2 00     sts     0x00E2, r24
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDIEN  |= (1 << WAKEUPE);
                                                break;
                                        case USB_INT_SUSPI:
                                                UDIEN  |= (1 << SUSPE);
-     dc2:      80 91 e2 00     lds     r24, 0x00E2
-     dc6:      81 60           ori     r24, 0x01       ; 1
-     dc8:      80 93 e2 00     sts     0x00E2, r24
+     dd0:      80 91 e2 00     lds     r24, 0x00E2
+     dd4:      81 60           ori     r24, 0x01       ; 1
+     dd6:      80 93 e2 00     sts     0x00E2, r24
                USB_INT_Clear(USB_INT_WAKEUPI);
 
                USB_INT_Disable(USB_INT_WAKEUPI);
                USB_INT_Enable(USB_INT_SUSPI);
 
                if (USB_Device_ConfigurationNumber)
-     dcc:      80 91 8a 02     lds     r24, 0x028A
-     dd0:      88 23           and     r24, r24
-     dd2:      21 f4           brne    .+8             ; 0xddc <__vector_11+0xc8>
+     dda:      80 91 8a 02     lds     r24, 0x028A
+     dde:      88 23           and     r24, r24
+     de0:      21 f4           brne    .+8             ; 0xdea <__vector_11+0xca>
                        }
 
                        static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
                        static inline bool USB_Device_IsAddressSet(void)
                        {
                                return (UDADDR & (1 << ADDEN));
-     dd4:      80 91 e3 00     lds     r24, 0x00E3
+     de2:      80 91 e3 00     lds     r24, 0x00E3
                  USB_DeviceState = DEVICE_STATE_Configured;
                else
                  USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered;
-     dd8:      87 ff           sbrs    r24, 7
-     dda:      02 c0           rjmp    .+4             ; 0xde0 <__vector_11+0xcc>
-     ddc:      84 e0           ldi     r24, 0x04       ; 4
-     dde:      01 c0           rjmp    .+2             ; 0xde2 <__vector_11+0xce>
-     de0:      81 e0           ldi     r24, 0x01       ; 1
-     de2:      8e bb           out     0x1e, r24       ; 30
+     de6:      87 ff           sbrs    r24, 7
+     de8:      02 c0           rjmp    .+4             ; 0xdee <__vector_11+0xce>
+     dea:      84 e0           ldi     r24, 0x04       ; 4
+     dec:      01 c0           rjmp    .+2             ; 0xdf0 <__vector_11+0xd0>
+     dee:      81 e0           ldi     r24, 0x01       ; 1
+     df0:      80 93 8e 02     sts     0x028E, r24
 
                #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
                EVENT_USB_Device_Connect();
-     de4:      0c dc           rcall   .-2024          ; 0x5fe <EVENT_USB_Device_Connect>
+     df4:      04 dc           rcall   .-2040          ; 0x5fe <EVENT_USB_Device_Connect>
                                        case USB_INT_WAKEUPI:
                                                return (UDINT  & (1 << WAKEUPI));
                                        case USB_INT_SUSPI:
                                                return (UDINT  & (1 << SUSPI));
                                        case USB_INT_EORSTI:
                                                return (UDINT  & (1 << EORSTI));
-     de6:      80 91 e1 00     lds     r24, 0x00E1
+     df6:      80 91 e1 00     lds     r24, 0x00E1
                #else
                EVENT_USB_Device_WakeUp();
                #endif
        }
 
        if (USB_INT_HasOccurred(USB_INT_EORSTI) && USB_INT_IsEnabled(USB_INT_EORSTI))
-     dea:      83 ff           sbrs    r24, 3
-     dec:      26 c0           rjmp    .+76            ; 0xe3a <__vector_11+0x126>
+     dfa:      83 ff           sbrs    r24, 3
+     dfc:      22 c0           rjmp    .+68            ; 0xe42 <__vector_11+0x122>
                                        case USB_INT_WAKEUPI:
                                                return (UDIEN  & (1 << WAKEUPE));
                                        case USB_INT_SUSPI:
                                                return (UDIEN  & (1 << SUSPE));
                                        case USB_INT_EORSTI:
                                                return (UDIEN  & (1 << EORSTE));
-     dee:      80 91 e2 00     lds     r24, 0x00E2
-     df2:      83 ff           sbrs    r24, 3
-     df4:      22 c0           rjmp    .+68            ; 0xe3a <__vector_11+0x126>
+     dfe:      80 91 e2 00     lds     r24, 0x00E2
+     e02:      83 ff           sbrs    r24, 3
+     e04:      1e c0           rjmp    .+60            ; 0xe42 <__vector_11+0x122>
                                                break;
                                        case USB_INT_SUSPI:
                                                UDINT  &= ~(1 << SUSPI);
                                                break;
                                        case USB_INT_EORSTI:
                                                UDINT  &= ~(1 << EORSTI);
-     df6:      80 91 e1 00     lds     r24, 0x00E1
-     dfa:      87 7f           andi    r24, 0xF7       ; 247
-     dfc:      80 93 e1 00     sts     0x00E1, r24
+     e06:      80 91 e1 00     lds     r24, 0x00E1
+     e0a:      87 7f           andi    r24, 0xF7       ; 247
+     e0c:      80 93 e1 00     sts     0x00E1, r24
        {
                USB_INT_Clear(USB_INT_EORSTI);
 
                USB_DeviceState                = DEVICE_STATE_Default;
-     e00:      82 e0           ldi     r24, 0x02       ; 2
-     e02:      8e bb           out     0x1e, r24       ; 30
+     e10:      82 e0           ldi     r24, 0x02       ; 2
+     e12:      80 93 8e 02     sts     0x028E, r24
                USB_Device_ConfigurationNumber = 0;
-     e04:      10 92 8a 02     sts     0x028A, r1
+     e16:      10 92 8a 02     sts     0x028A, r1
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDINT  &= ~(1 << WAKEUPI);
                                                break;
                                        case USB_INT_SUSPI:
                                                UDINT  &= ~(1 << SUSPI);
-     e08:      80 91 e1 00     lds     r24, 0x00E1
-     e0c:      8e 7f           andi    r24, 0xFE       ; 254
-     e0e:      80 93 e1 00     sts     0x00E1, r24
+     e1a:      80 91 e1 00     lds     r24, 0x00E1
+     e1e:      8e 7f           andi    r24, 0xFE       ; 254
+     e20:      80 93 e1 00     sts     0x00E1, r24
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDIEN  &= ~(1 << WAKEUPE);
                                                break;
                                        case USB_INT_SUSPI:
                                                UDIEN  &= ~(1 << SUSPE);
-     e12:      80 91 e2 00     lds     r24, 0x00E2
-     e16:      8e 7f           andi    r24, 0xFE       ; 254
-     e18:      80 93 e2 00     sts     0x00E2, r24
+     e24:      80 91 e2 00     lds     r24, 0x00E2
+     e28:      8e 7f           andi    r24, 0xFE       ; 254
+     e2a:      80 93 e2 00     sts     0x00E2, r24
                                                USBCON |= (1 << IDTE);
                                                break;
                                        #endif
                                        #if defined(USB_CAN_BE_DEVICE)
                                        case USB_INT_WAKEUPI:
                                                UDIEN  |= (1 << WAKEUPE);
-     e1c:      80 91 e2 00     lds     r24, 0x00E2
-     e20:      80 61           ori     r24, 0x10       ; 16
-     e22:      80 93 e2 00     sts     0x00E2, r24
+     e2e:      80 91 e2 00     lds     r24, 0x00E2
+     e32:      80 61           ori     r24, 0x10       ; 16
+     e34:      80 93 e2 00     sts     0x00E2, r24
                                uint8_t Number = (Address & ENDPOINT_EPNUM_MASK);
 
                                if (Number >= ENDPOINT_TOTAL_ENDPOINTS)
                                  return false;
 
                                return Endpoint_ConfigureEndpoint_Prv(Number,
-     e26:      80 e0           ldi     r24, 0x00       ; 0
-     e28:      60 e0           ldi     r22, 0x00       ; 0
-     e2a:      42 e0           ldi     r20, 0x02       ; 2
-     e2c:      5f de           rcall   .-834           ; 0xaec <Endpoint_ConfigureEndpoint_Prv>
-                                               break;
-                                       case USB_INT_SOFI:
-                                               UDIEN  |= (1 << SOFE);
-                                               break;
-                                       case USB_INT_RXSTPI:
-                                               UEIENX |= (1 << RXSTPE);
-     e2e:      80 91 f0 00     lds     r24, 0x00F0
-     e32:      88 60           ori     r24, 0x08       ; 8
-     e34:      80 93 f0 00     sts     0x00F0, r24
+     e38:      80 e0           ldi     r24, 0x00       ; 0
+     e3a:      60 e0           ldi     r22, 0x00       ; 0
+     e3c:      42 e0           ldi     r20, 0x02       ; 2
+     e3e:      58 de           rcall   .-848           ; 0xaf0 <Endpoint_ConfigureEndpoint_Prv>
 
                #if defined(INTERRUPT_CONTROL_ENDPOINT)
                USB_INT_Enable(USB_INT_RXSTPI);
                #endif
 
                EVENT_USB_Device_Reset();
-     e38:      ad d1           rcall   .+858           ; 0x1194 <USB_Event_Stub>
+     e40:      74 d1           rcall   .+744           ; 0x112a <USB_Event_Stub>
                USB_ResetInterface();
 
                EVENT_USB_UIDChange();
        }
        #endif
 }
-     e3a:      ff 91           pop     r31
-     e3c:      ef 91           pop     r30
-     e3e:      bf 91           pop     r27
-     e40:      af 91           pop     r26
-     e42:      9f 91           pop     r25
-     e44:      8f 91           pop     r24
-     e46:      7f 91           pop     r23
-     e48:      6f 91           pop     r22
-     e4a:      5f 91           pop     r21
-     e4c:      4f 91           pop     r20
-     e4e:      3f 91           pop     r19
-     e50:      2f 91           pop     r18
-     e52:      0f 90           pop     r0
-     e54:      0f be           out     0x3f, r0        ; 63
-     e56:      0f 90           pop     r0
-     e58:      1f 90           pop     r1
-     e5a:      18 95           reti
-
-00000e5c <__vector_12>:
-
-#if defined(INTERRUPT_CONTROL_ENDPOINT) && defined(USB_CAN_BE_DEVICE)
-ISR(USB_COM_vect, ISR_BLOCK)
-{
-     e5c:      1f 92           push    r1
-     e5e:      0f 92           push    r0
-     e60:      0f b6           in      r0, 0x3f        ; 63
-     e62:      0f 92           push    r0
-     e64:      11 24           eor     r1, r1
-     e66:      1f 93           push    r17
-     e68:      2f 93           push    r18
-     e6a:      3f 93           push    r19
-     e6c:      4f 93           push    r20
-     e6e:      5f 93           push    r21
-     e70:      6f 93           push    r22
-     e72:      7f 93           push    r23
-     e74:      8f 93           push    r24
-     e76:      9f 93           push    r25
-     e78:      af 93           push    r26
-     e7a:      bf 93           push    r27
-     e7c:      ef 93           push    r30
-     e7e:      ff 93           push    r31
-                        */
-                       static inline uint8_t Endpoint_GetCurrentEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
-                       static inline uint8_t Endpoint_GetCurrentEndpoint(void)
-                       {
-                               #if !defined(CONTROL_ONLY_DEVICE)
-                                       return ((UENUM & ENDPOINT_EPNUM_MASK) | Endpoint_GetEndpointDirection());
-     e80:      10 91 e9 00     lds     r17, 0x00E9
-     e84:      1f 70           andi    r17, 0x0F       ; 15
-                        *  \return The currently selected endpoint's direction, as a \c ENDPOINT_DIR_* mask.
-                        */
-                       static inline uint8_t Endpoint_GetEndpointDirection(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
-                       static inline uint8_t Endpoint_GetEndpointDirection(void)
-                       {
-                               return (UECFG0X & (1 << EPDIR)) ? ENDPOINT_DIR_IN : ENDPOINT_DIR_OUT;
-     e86:      80 91 ec 00     lds     r24, 0x00EC
-                        */
-                       static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
-                       static inline void Endpoint_SelectEndpoint(const uint8_t Address)
-                       {
-                               #if !defined(CONTROL_ONLY_DEVICE)
-                                       UENUM = (Address & ENDPOINT_EPNUM_MASK);
-     e8a:      10 92 e9 00     sts     0x00E9, r1
-                                               break;
-                                       case USB_INT_SOFI:
-                                               UDIEN  &= ~(1 << SOFE);
-                                               break;
-                                       case USB_INT_RXSTPI:
-                                               UEIENX &= ~(1 << RXSTPE);
-     e8e:      80 91 f0 00     lds     r24, 0x00F0
-     e92:      87 7f           andi    r24, 0xF7       ; 247
-     e94:      80 93 f0 00     sts     0x00F0, r24
-                       static inline void GlobalInterruptEnable(void)
-                       {
-                               GCC_MEMORY_BARRIER();
-
-                               #if (ARCH == ARCH_AVR8)
-                               sei();
-     e98:      78 94           sei
-       Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
-       USB_INT_Disable(USB_INT_RXSTPI);
-
-       GlobalInterruptEnable();
-
-       USB_Device_ProcessControlRequest();
-     e9a:      1b d0           rcall   .+54            ; 0xed2 <USB_Device_ProcessControlRequest>
-     e9c:      10 92 e9 00     sts     0x00E9, r1
-                                               break;
-                                       case USB_INT_SOFI:
-                                               UDIEN  |= (1 << SOFE);
-                                               break;
-                                       case USB_INT_RXSTPI:
-                                               UEIENX |= (1 << RXSTPE);
-     ea0:      80 91 f0 00     lds     r24, 0x00F0
-     ea4:      88 60           ori     r24, 0x08       ; 8
-     ea6:      80 93 f0 00     sts     0x00F0, r24
-     eaa:      10 93 e9 00     sts     0x00E9, r17
-
-       Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
-       USB_INT_Enable(USB_INT_RXSTPI);
-       Endpoint_SelectEndpoint(PrevSelectedEndpoint);
-}
-     eae:      ff 91           pop     r31
-     eb0:      ef 91           pop     r30
-     eb2:      bf 91           pop     r27
-     eb4:      af 91           pop     r26
-     eb6:      9f 91           pop     r25
-     eb8:      8f 91           pop     r24
-     eba:      7f 91           pop     r23
-     ebc:      6f 91           pop     r22
-     ebe:      5f 91           pop     r21
-     ec0:      4f 91           pop     r20
-     ec2:      3f 91           pop     r19
-     ec4:      2f 91           pop     r18
-     ec6:      1f 91           pop     r17
-     ec8:      0f 90           pop     r0
-     eca:      0f be           out     0x3f, r0        ; 63
-     ecc:      0f 90           pop     r0
-     ece:      1f 90           pop     r1
-     ed0:      18 95           reti
-
-00000ed2 <USB_Device_ProcessControlRequest>:
+     e42:      ff 91           pop     r31
+     e44:      ef 91           pop     r30
+     e46:      bf 91           pop     r27
+     e48:      af 91           pop     r26
+     e4a:      9f 91           pop     r25
+     e4c:      8f 91           pop     r24
+     e4e:      7f 91           pop     r23
+     e50:      6f 91           pop     r22
+     e52:      5f 91           pop     r21
+     e54:      4f 91           pop     r20
+     e56:      3f 91           pop     r19
+     e58:      2f 91           pop     r18
+     e5a:      0f 90           pop     r0
+     e5c:      0f be           out     0x3f, r0        ; 63
+     e5e:      0f 90           pop     r0
+     e60:      1f 90           pop     r1
+     e62:      18 95           reti
+
+00000e64 <USB_Device_ProcessControlRequest>:
 #if !defined(NO_DEVICE_REMOTE_WAKEUP)
 bool    USB_Device_RemoteWakeupEnabled;
 #endif
 
 void USB_Device_ProcessControlRequest(void)
 {
-     ed2:      1f 93           push    r17
-     ed4:      df 93           push    r29
-     ed6:      cf 93           push    r28
-     ed8:      cd b7           in      r28, 0x3d       ; 61
-     eda:      de b7           in      r29, 0x3e       ; 62
-     edc:      ac 97           sbiw    r28, 0x2c       ; 44
-     ede:      0f b6           in      r0, 0x3f        ; 63
-     ee0:      f8 94           cli
-     ee2:      de bf           out     0x3e, r29       ; 62
-     ee4:      0f be           out     0x3f, r0        ; 63
-     ee6:      cd bf           out     0x3d, r28       ; 61
+     e64:      1f 93           push    r17
+     e66:      df 93           push    r29
+     e68:      cf 93           push    r28
+     e6a:      cd b7           in      r28, 0x3d       ; 61
+     e6c:      de b7           in      r29, 0x3e       ; 62
+     e6e:      ac 97           sbiw    r28, 0x2c       ; 44
+     e70:      0f b6           in      r0, 0x3f        ; 63
+     e72:      f8 94           cli
+     e74:      de bf           out     0x3e, r29       ; 62
+     e76:      0f be           out     0x3f, r0        ; 63
+     e78:      cd bf           out     0x3d, r28       ; 61
        USB_ControlRequest.bRequest      = Endpoint_Read_8();
        USB_ControlRequest.wValue        = Endpoint_Read_16_LE();
        USB_ControlRequest.wIndex        = Endpoint_Read_16_LE();
        USB_ControlRequest.wLength       = Endpoint_Read_16_LE();
        #else
        uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
-     ee8:      ee e8           ldi     r30, 0x8E       ; 142
-     eea:      f2 e0           ldi     r31, 0x02       ; 2
+     e7a:      ef e8           ldi     r30, 0x8F       ; 143
+     e7c:      f2 e0           ldi     r31, 0x02       ; 2
                         *  \return Next byte in the currently selected endpoint's FIFO buffer.
                         */
                        static inline uint8_t Endpoint_Read_8(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_Read_8(void)
                        {
                                return UEDATX;
-     eec:      80 91 f1 00     lds     r24, 0x00F1
+     e7e:      80 91 f1 00     lds     r24, 0x00F1
 
        for (uint8_t RequestHeaderByte = 0; RequestHeaderByte < sizeof(USB_Request_Header_t); RequestHeaderByte++)
          *(RequestHeader++) = Endpoint_Read_8();
-     ef0:      81 93           st      Z+, r24
+     e82:      81 93           st      Z+, r24
        USB_ControlRequest.wIndex        = Endpoint_Read_16_LE();
        USB_ControlRequest.wLength       = Endpoint_Read_16_LE();
        #else
        uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
 
        for (uint8_t RequestHeaderByte = 0; RequestHeaderByte < sizeof(USB_Request_Header_t); RequestHeaderByte++)
-     ef2:      22 e0           ldi     r18, 0x02       ; 2
-     ef4:      e6 39           cpi     r30, 0x96       ; 150
-     ef6:      f2 07           cpc     r31, r18
-     ef8:      c9 f7           brne    .-14            ; 0xeec <USB_Device_ProcessControlRequest+0x1a>
+     e84:      22 e0           ldi     r18, 0x02       ; 2
+     e86:      e7 39           cpi     r30, 0x97       ; 151
+     e88:      f2 07           cpc     r31, r18
+     e8a:      c9 f7           brne    .-14            ; 0xe7e <USB_Device_ProcessControlRequest+0x1a>
          *(RequestHeader++) = Endpoint_Read_8();
        #endif
 
        EVENT_USB_Device_ControlRequest();
-     efa:      86 db           rcall   .-2292          ; 0x608 <EVENT_USB_Device_ControlRequest>
+     e8c:      bd db           rcall   .-2182          ; 0x608 <EVENT_USB_Device_ControlRequest>
                         *  \return Boolean \c true if the selected endpoint has received a SETUP packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsSETUPReceived(void)
                        {
                                return ((UEINTX & (1 << RXSTPI)) ? true : false);
-     efc:      80 91 e8 00     lds     r24, 0x00E8
+     e8e:      80 91 e8 00     lds     r24, 0x00E8
 
        if (Endpoint_IsSETUPReceived())
-     f00:      83 ff           sbrs    r24, 3
-     f02:      30 c1           rjmp    .+608           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+     e92:      83 ff           sbrs    r24, 3
+     e94:      32 c1           rjmp    .+612           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
        {
                uint8_t bmRequestType = USB_ControlRequest.bmRequestType;
-     f04:      80 91 8e 02     lds     r24, 0x028E
+     e96:      80 91 8f 02     lds     r24, 0x028F
 
                switch (USB_ControlRequest.bRequest)
-     f08:      20 91 8f 02     lds     r18, 0x028F
-     f0c:      25 30           cpi     r18, 0x05       ; 5
-     f0e:      09 f4           brne    .+2             ; 0xf12 <USB_Device_ProcessControlRequest+0x40>
-     f10:      84 c0           rjmp    .+264           ; 0x101a <USB_Device_ProcessControlRequest+0x148>
-     f12:      26 30           cpi     r18, 0x06       ; 6
-     f14:      40 f4           brcc    .+16            ; 0xf26 <USB_Device_ProcessControlRequest+0x54>
-     f16:      21 30           cpi     r18, 0x01       ; 1
-     f18:      a1 f1           breq    .+104           ; 0xf82 <USB_Device_ProcessControlRequest+0xb0>
-     f1a:      21 30           cpi     r18, 0x01       ; 1
-     f1c:      70 f0           brcs    .+28            ; 0xf3a <USB_Device_ProcessControlRequest+0x68>
-     f1e:      23 30           cpi     r18, 0x03       ; 3
-     f20:      09 f0           breq    .+2             ; 0xf24 <USB_Device_ProcessControlRequest+0x52>
-     f22:      20 c1           rjmp    .+576           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
-     f24:      2e c0           rjmp    .+92            ; 0xf82 <USB_Device_ProcessControlRequest+0xb0>
-     f26:      28 30           cpi     r18, 0x08       ; 8
-     f28:      09 f4           brne    .+2             ; 0xf2c <USB_Device_ProcessControlRequest+0x5a>
-     f2a:      ef c0           rjmp    .+478           ; 0x110a <USB_Device_ProcessControlRequest+0x238>
-     f2c:      29 30           cpi     r18, 0x09       ; 9
-     f2e:      09 f4           brne    .+2             ; 0xf32 <USB_Device_ProcessControlRequest+0x60>
-     f30:      fe c0           rjmp    .+508           ; 0x112e <USB_Device_ProcessControlRequest+0x25c>
-     f32:      26 30           cpi     r18, 0x06       ; 6
-     f34:      09 f0           breq    .+2             ; 0xf38 <USB_Device_ProcessControlRequest+0x66>
-     f36:      16 c1           rjmp    .+556           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
-     f38:      92 c0           rjmp    .+292           ; 0x105e <USB_Device_ProcessControlRequest+0x18c>
+     e9a:      20 91 90 02     lds     r18, 0x0290
+     e9e:      25 30           cpi     r18, 0x05       ; 5
+     ea0:      09 f4           brne    .+2             ; 0xea4 <USB_Device_ProcessControlRequest+0x40>
+     ea2:      84 c0           rjmp    .+264           ; 0xfac <USB_Device_ProcessControlRequest+0x148>
+     ea4:      26 30           cpi     r18, 0x06       ; 6
+     ea6:      40 f4           brcc    .+16            ; 0xeb8 <USB_Device_ProcessControlRequest+0x54>
+     ea8:      21 30           cpi     r18, 0x01       ; 1
+     eaa:      a1 f1           breq    .+104           ; 0xf14 <USB_Device_ProcessControlRequest+0xb0>
+     eac:      21 30           cpi     r18, 0x01       ; 1
+     eae:      70 f0           brcs    .+28            ; 0xecc <USB_Device_ProcessControlRequest+0x68>
+     eb0:      23 30           cpi     r18, 0x03       ; 3
+     eb2:      09 f0           breq    .+2             ; 0xeb6 <USB_Device_ProcessControlRequest+0x52>
+     eb4:      22 c1           rjmp    .+580           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
+     eb6:      2e c0           rjmp    .+92            ; 0xf14 <USB_Device_ProcessControlRequest+0xb0>
+     eb8:      28 30           cpi     r18, 0x08       ; 8
+     eba:      09 f4           brne    .+2             ; 0xebe <USB_Device_ProcessControlRequest+0x5a>
+     ebc:      f0 c0           rjmp    .+480           ; 0x109e <USB_Device_ProcessControlRequest+0x23a>
+     ebe:      29 30           cpi     r18, 0x09       ; 9
+     ec0:      09 f4           brne    .+2             ; 0xec4 <USB_Device_ProcessControlRequest+0x60>
+     ec2:      ff c0           rjmp    .+510           ; 0x10c2 <USB_Device_ProcessControlRequest+0x25e>
+     ec4:      26 30           cpi     r18, 0x06       ; 6
+     ec6:      09 f0           breq    .+2             ; 0xeca <USB_Device_ProcessControlRequest+0x66>
+     ec8:      18 c1           rjmp    .+560           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
+     eca:      93 c0           rjmp    .+294           ; 0xff2 <USB_Device_ProcessControlRequest+0x18e>
                {
                        case REQ_GetStatus:
                                if ((bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE)) ||
-     f3a:      80 38           cpi     r24, 0x80       ; 128
-     f3c:      21 f0           breq    .+8             ; 0xf46 <USB_Device_ProcessControlRequest+0x74>
-     f3e:      82 38           cpi     r24, 0x82       ; 130
-     f40:      09 f0           breq    .+2             ; 0xf44 <USB_Device_ProcessControlRequest+0x72>
-     f42:      10 c1           rjmp    .+544           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
-     f44:      08 c0           rjmp    .+16            ; 0xf56 <USB_Device_ProcessControlRequest+0x84>
+     ecc:      80 38           cpi     r24, 0x80       ; 128
+     ece:      21 f0           breq    .+8             ; 0xed8 <USB_Device_ProcessControlRequest+0x74>
+     ed0:      82 38           cpi     r24, 0x82       ; 130
+     ed2:      09 f0           breq    .+2             ; 0xed6 <USB_Device_ProcessControlRequest+0x72>
+     ed4:      12 c1           rjmp    .+548           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
+     ed6:      08 c0           rjmp    .+16            ; 0xee8 <USB_Device_ProcessControlRequest+0x84>
        Endpoint_ClearOUT();
 }
 
 static void USB_Device_GetStatus(void)
 {
        uint8_t CurrentStatus = 0;
-     f46:      80 91 8b 02     lds     r24, 0x028B
+     ed8:      80 91 8b 02     lds     r24, 0x028B
                        if (USB_Device_CurrentlySelfPowered)
                          CurrentStatus |= FEATURE_SELFPOWERED_ENABLED;
                        #endif
 
                        #if !defined(NO_DEVICE_REMOTE_WAKEUP)
                        if (USB_Device_RemoteWakeupEnabled)
-     f4a:      90 91 8c 02     lds     r25, 0x028C
-     f4e:      99 23           and     r25, r25
-     f50:      71 f0           breq    .+28            ; 0xf6e <USB_Device_ProcessControlRequest+0x9c>
+     edc:      90 91 8c 02     lds     r25, 0x028C
+     ee0:      99 23           and     r25, r25
+     ee2:      71 f0           breq    .+28            ; 0xf00 <USB_Device_ProcessControlRequest+0x9c>
                          CurrentStatus |= FEATURE_REMOTE_WAKEUP_ENABLED;
-     f52:      82 60           ori     r24, 0x02       ; 2
-     f54:      0c c0           rjmp    .+24            ; 0xf6e <USB_Device_ProcessControlRequest+0x9c>
+     ee4:      82 60           ori     r24, 0x02       ; 2
+     ee6:      0c c0           rjmp    .+24            ; 0xf00 <USB_Device_ProcessControlRequest+0x9c>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-     f56:      80 91 92 02     lds     r24, 0x0292
-     f5a:      8f 70           andi    r24, 0x0F       ; 15
-     f5c:      80 93 e9 00     sts     0x00E9, r24
+     ee8:      80 91 93 02     lds     r24, 0x0293
+     eec:      8f 70           andi    r24, 0x0F       ; 15
+     eee:      80 93 e9 00     sts     0x00E9, r24
                         *  \return Boolean \c true if the currently selected endpoint is stalled, \c false otherwise.
                         */
                        static inline bool Endpoint_IsStalled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsStalled(void)
                        {
                                return ((UECONX & (1 << STALLRQ)) ? true : false);
-     f60:      90 91 eb 00     lds     r25, 0x00EB
+     ef2:      90 91 eb 00     lds     r25, 0x00EB
                        break;
                case (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_ENDPOINT):
                        #if !defined(CONTROL_ONLY_DEVICE)
                        Endpoint_SelectEndpoint((uint8_t)USB_ControlRequest.wIndex & ENDPOINT_EPNUM_MASK);
 
                        CurrentStatus = Endpoint_IsStalled();
-     f64:      81 e0           ldi     r24, 0x01       ; 1
-     f66:      95 ff           sbrs    r25, 5
-     f68:      80 e0           ldi     r24, 0x00       ; 0
+     ef6:      81 e0           ldi     r24, 0x01       ; 1
+     ef8:      95 ff           sbrs    r25, 5
+     efa:      80 e0           ldi     r24, 0x00       ; 0
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-     f6a:      10 92 e9 00     sts     0x00E9, r1
+     efc:      10 92 e9 00     sts     0x00E9, r1
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-     f6e:      90 91 e8 00     lds     r25, 0x00E8
-     f72:      97 7f           andi    r25, 0xF7       ; 247
-     f74:      90 93 e8 00     sts     0x00E8, r25
+     f00:      90 91 e8 00     lds     r25, 0x00E8
+     f04:      97 7f           andi    r25, 0xF7       ; 247
+     f06:      90 93 e8 00     sts     0x00E8, r25
                         *  \param[in] Data  Data to write to the currently selected endpoint's FIFO buffer.
                         */
                        static inline void Endpoint_Write_16_LE(const uint16_t Data) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_Write_16_LE(const uint16_t Data)
                        {
                                UEDATX = (Data & 0xFF);
-     f78:      80 93 f1 00     sts     0x00F1, r24
+     f0a:      80 93 f1 00     sts     0x00F1, r24
                                UEDATX = (Data >> 8);
-     f7c:      10 92 f1 00     sts     0x00F1, r1
-     f80:      cf c0           rjmp    .+414           ; 0x1120 <USB_Device_ProcessControlRequest+0x24e>
+     f0e:      10 92 f1 00     sts     0x00F1, r1
+     f12:      d0 c0           rjmp    .+416           ; 0x10b4 <USB_Device_ProcessControlRequest+0x250>
                                }
 
                                break;
                        case REQ_ClearFeature:
                        case REQ_SetFeature:
                                if ((bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE)) ||
-     f82:      88 23           and     r24, r24
-     f84:      19 f0           breq    .+6             ; 0xf8c <USB_Device_ProcessControlRequest+0xba>
-     f86:      82 30           cpi     r24, 0x02       ; 2
-     f88:      09 f0           breq    .+2             ; 0xf8c <USB_Device_ProcessControlRequest+0xba>
-     f8a:      ec c0           rjmp    .+472           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+     f14:      88 23           and     r24, r24
+     f16:      19 f0           breq    .+6             ; 0xf1e <USB_Device_ProcessControlRequest+0xba>
+     f18:      82 30           cpi     r24, 0x02       ; 2
+     f1a:      09 f0           breq    .+2             ; 0xf1e <USB_Device_ProcessControlRequest+0xba>
+     f1c:      ee c0           rjmp    .+476           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
        Endpoint_ClearStatusStage();
 }
 
 static void USB_Device_ClearSetFeature(void)
 {
        switch (USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT)
-     f8c:      90 e0           ldi     r25, 0x00       ; 0
-     f8e:      8f 71           andi    r24, 0x1F       ; 31
-     f90:      90 70           andi    r25, 0x00       ; 0
-     f92:      00 97           sbiw    r24, 0x00       ; 0
-     f94:      29 f0           breq    .+10            ; 0xfa0 <USB_Device_ProcessControlRequest+0xce>
-     f96:      82 30           cpi     r24, 0x02       ; 2
-     f98:      91 05           cpc     r25, r1
-     f9a:      09 f0           breq    .+2             ; 0xf9e <USB_Device_ProcessControlRequest+0xcc>
-     f9c:      e3 c0           rjmp    .+454           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
-     f9e:      0b c0           rjmp    .+22            ; 0xfb6 <USB_Device_ProcessControlRequest+0xe4>
+     f1e:      90 e0           ldi     r25, 0x00       ; 0
+     f20:      8f 71           andi    r24, 0x1F       ; 31
+     f22:      90 70           andi    r25, 0x00       ; 0
+     f24:      00 97           sbiw    r24, 0x00       ; 0
+     f26:      29 f0           breq    .+10            ; 0xf32 <USB_Device_ProcessControlRequest+0xce>
+     f28:      82 30           cpi     r24, 0x02       ; 2
+     f2a:      91 05           cpc     r25, r1
+     f2c:      09 f0           breq    .+2             ; 0xf30 <USB_Device_ProcessControlRequest+0xcc>
+     f2e:      e5 c0           rjmp    .+458           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
+     f30:      0b c0           rjmp    .+22            ; 0xf48 <USB_Device_ProcessControlRequest+0xe4>
        {
                #if !defined(NO_DEVICE_REMOTE_WAKEUP)
                case REQREC_DEVICE:
                        if ((uint8_t)USB_ControlRequest.wValue == FEATURE_SEL_DeviceRemoteWakeup)
-     fa0:      80 91 90 02     lds     r24, 0x0290
-     fa4:      81 30           cpi     r24, 0x01       ; 1
-     fa6:      09 f0           breq    .+2             ; 0xfaa <USB_Device_ProcessControlRequest+0xd8>
-     fa8:      dd c0           rjmp    .+442           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+     f32:      80 91 91 02     lds     r24, 0x0291
+     f36:      81 30           cpi     r24, 0x01       ; 1
+     f38:      09 f0           breq    .+2             ; 0xf3c <USB_Device_ProcessControlRequest+0xd8>
+     f3a:      df c0           rjmp    .+446           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
                          USB_Device_RemoteWakeupEnabled = (USB_ControlRequest.bRequest == REQ_SetFeature);
-     faa:      23 30           cpi     r18, 0x03       ; 3
-     fac:      09 f0           breq    .+2             ; 0xfb0 <USB_Device_ProcessControlRequest+0xde>
-     fae:      80 e0           ldi     r24, 0x00       ; 0
-     fb0:      80 93 8c 02     sts     0x028C, r24
-     fb4:      2c c0           rjmp    .+88            ; 0x100e <USB_Device_ProcessControlRequest+0x13c>
+     f3c:      23 30           cpi     r18, 0x03       ; 3
+     f3e:      09 f0           breq    .+2             ; 0xf42 <USB_Device_ProcessControlRequest+0xde>
+     f40:      80 e0           ldi     r24, 0x00       ; 0
+     f42:      80 93 8c 02     sts     0x028C, r24
+     f46:      2c c0           rjmp    .+88            ; 0xfa0 <USB_Device_ProcessControlRequest+0x13c>
 
                        break;
                #endif
                #if !defined(CONTROL_ONLY_DEVICE)
                case REQREC_ENDPOINT:
                        if ((uint8_t)USB_ControlRequest.wValue == FEATURE_SEL_EndpointHalt)
-     fb6:      80 91 90 02     lds     r24, 0x0290
-     fba:      88 23           and     r24, r24
-     fbc:      41 f5           brne    .+80            ; 0x100e <USB_Device_ProcessControlRequest+0x13c>
+     f48:      80 91 91 02     lds     r24, 0x0291
+     f4c:      88 23           and     r24, r24
+     f4e:      41 f5           brne    .+80            ; 0xfa0 <USB_Device_ProcessControlRequest+0x13c>
                        {
                                uint8_t EndpointIndex = ((uint8_t)USB_ControlRequest.wIndex & ENDPOINT_EPNUM_MASK);
-     fbe:      20 91 92 02     lds     r18, 0x0292
-     fc2:      2f 70           andi    r18, 0x0F       ; 15
+     f50:      20 91 93 02     lds     r18, 0x0293
+     f54:      2f 70           andi    r18, 0x0F       ; 15
 
                                if (EndpointIndex == ENDPOINT_CONTROLEP)
-     fc4:      09 f4           brne    .+2             ; 0xfc8 <USB_Device_ProcessControlRequest+0xf6>
-     fc6:      ce c0           rjmp    .+412           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+     f56:      09 f4           brne    .+2             ; 0xf5a <USB_Device_ProcessControlRequest+0xf6>
+     f58:      d0 c0           rjmp    .+416           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-     fc8:      20 93 e9 00     sts     0x00E9, r18
+     f5a:      20 93 e9 00     sts     0x00E9, r18
                         * \return Boolean \c true if the currently selected endpoint is enabled, \c false otherwise.
                         */
                        static inline bool Endpoint_IsEnabled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsEnabled(void)
                        {
                                return ((UECONX & (1 << EPEN)) ? true : false);
-     fcc:      80 91 eb 00     lds     r24, 0x00EB
+     f5e:      80 91 eb 00     lds     r24, 0x00EB
                                  return;
 
                                Endpoint_SelectEndpoint(EndpointIndex);
 
                                if (Endpoint_IsEnabled())
-     fd0:      80 ff           sbrs    r24, 0
-     fd2:      1d c0           rjmp    .+58            ; 0x100e <USB_Device_ProcessControlRequest+0x13c>
+     f62:      80 ff           sbrs    r24, 0
+     f64:      1d c0           rjmp    .+58            ; 0xfa0 <USB_Device_ProcessControlRequest+0x13c>
                                {
                                        if (USB_ControlRequest.bRequest == REQ_SetFeature)
-     fd4:      80 91 8f 02     lds     r24, 0x028F
-     fd8:      83 30           cpi     r24, 0x03       ; 3
-     fda:      21 f4           brne    .+8             ; 0xfe4 <USB_Device_ProcessControlRequest+0x112>
+     f66:      80 91 90 02     lds     r24, 0x0290
+     f6a:      83 30           cpi     r24, 0x03       ; 3
+     f6c:      21 f4           brne    .+8             ; 0xf76 <USB_Device_ProcessControlRequest+0x112>
                         *  \ingroup Group_EndpointPacketManagement_AVR8
                         */
                        static inline void Endpoint_StallTransaction(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_StallTransaction(void)
                        {
                                UECONX |= (1 << STALLRQ);
-     fdc:      80 91 eb 00     lds     r24, 0x00EB
-     fe0:      80 62           ori     r24, 0x20       ; 32
-     fe2:      13 c0           rjmp    .+38            ; 0x100a <USB_Device_ProcessControlRequest+0x138>
+     f6e:      80 91 eb 00     lds     r24, 0x00EB
+     f72:      80 62           ori     r24, 0x20       ; 32
+     f74:      13 c0           rjmp    .+38            ; 0xf9c <USB_Device_ProcessControlRequest+0x138>
                         *  \ingroup Group_EndpointPacketManagement_AVR8
                         */
                        static inline void Endpoint_ClearStall(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearStall(void)
                        {
                                UECONX |= (1 << STALLRQC);
-     fe4:      80 91 eb 00     lds     r24, 0x00EB
-     fe8:      80 61           ori     r24, 0x10       ; 16
-     fea:      80 93 eb 00     sts     0x00EB, r24
+     f76:      80 91 eb 00     lds     r24, 0x00EB
+     f7a:      80 61           ori     r24, 0x10       ; 16
+     f7c:      80 93 eb 00     sts     0x00EB, r24
                         *  \param[in] Address  Endpoint address whose FIFO buffers are to be reset.
                         */
                        static inline void Endpoint_ResetEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ResetEndpoint(const uint8_t Address)
                        {
                                UERST = (1 << (Address & ENDPOINT_EPNUM_MASK));
-     fee:      81 e0           ldi     r24, 0x01       ; 1
-     ff0:      90 e0           ldi     r25, 0x00       ; 0
-     ff2:      02 c0           rjmp    .+4             ; 0xff8 <USB_Device_ProcessControlRequest+0x126>
-     ff4:      88 0f           add     r24, r24
-     ff6:      99 1f           adc     r25, r25
-     ff8:      2a 95           dec     r18
-     ffa:      e2 f7           brpl    .-8             ; 0xff4 <USB_Device_ProcessControlRequest+0x122>
-     ffc:      80 93 ea 00     sts     0x00EA, r24
+     f80:      81 e0           ldi     r24, 0x01       ; 1
+     f82:      90 e0           ldi     r25, 0x00       ; 0
+     f84:      02 c0           rjmp    .+4             ; 0xf8a <USB_Device_ProcessControlRequest+0x126>
+     f86:      88 0f           add     r24, r24
+     f88:      99 1f           adc     r25, r25
+     f8a:      2a 95           dec     r18
+     f8c:      e2 f7           brpl    .-8             ; 0xf86 <USB_Device_ProcessControlRequest+0x122>
+     f8e:      80 93 ea 00     sts     0x00EA, r24
                                UERST = 0;
-    1000:      10 92 ea 00     sts     0x00EA, r1
+     f92:      10 92 ea 00     sts     0x00EA, r1
 
                        /** Resets the data toggle of the currently selected endpoint. */
                        static inline void Endpoint_ResetDataToggle(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ResetDataToggle(void)
                        {
                                UECONX |= (1 << RSTDT);
-    1004:      80 91 eb 00     lds     r24, 0x00EB
-    1008:      88 60           ori     r24, 0x08       ; 8
-    100a:      80 93 eb 00     sts     0x00EB, r24
+     f96:      80 91 eb 00     lds     r24, 0x00EB
+     f9a:      88 60           ori     r24, 0x08       ; 8
+     f9c:      80 93 eb 00     sts     0x00EB, r24
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-    100e:      10 92 e9 00     sts     0x00E9, r1
+     fa0:      10 92 e9 00     sts     0x00E9, r1
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    1012:      80 91 e8 00     lds     r24, 0x00E8
-    1016:      87 7f           andi    r24, 0xF7       ; 247
-    1018:      86 c0           rjmp    .+268           ; 0x1126 <USB_Device_ProcessControlRequest+0x254>
+     fa4:      80 91 e8 00     lds     r24, 0x00E8
+     fa8:      87 7f           andi    r24, 0xF7       ; 247
+     faa:      87 c0           rjmp    .+270           ; 0x10ba <USB_Device_ProcessControlRequest+0x256>
                                        USB_Device_ClearSetFeature();
                                }
 
                                break;
                        case REQ_SetAddress:
                                if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
-    101a:      88 23           and     r24, r24
-    101c:      09 f0           breq    .+2             ; 0x1020 <USB_Device_ProcessControlRequest+0x14e>
-    101e:      a2 c0           rjmp    .+324           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+     fac:      88 23           and     r24, r24
+     fae:      09 f0           breq    .+2             ; 0xfb2 <USB_Device_ProcessControlRequest+0x14e>
+     fb0:      a4 c0           rjmp    .+328           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
        }
 }
 
 static void USB_Device_SetAddress(void)
 {
        uint8_t DeviceAddress = (USB_ControlRequest.wValue & 0x7F);
-    1020:      10 91 90 02     lds     r17, 0x0290
-    1024:      1f 77           andi    r17, 0x7F       ; 127
+     fb2:      10 91 91 02     lds     r17, 0x0291
+     fb6:      1f 77           andi    r17, 0x7F       ; 127
                        #endif
 
                        static inline void USB_Device_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void USB_Device_SetDeviceAddress(const uint8_t Address)
                        {
                                UDADDR = (UDADDR & (1 << ADDEN)) | (Address & 0x7F);
-    1026:      80 91 e3 00     lds     r24, 0x00E3
-    102a:      80 78           andi    r24, 0x80       ; 128
-    102c:      81 2b           or      r24, r17
-    102e:      80 93 e3 00     sts     0x00E3, r24
-    1032:      80 91 e8 00     lds     r24, 0x00E8
-    1036:      87 7f           andi    r24, 0xF7       ; 247
-    1038:      80 93 e8 00     sts     0x00E8, r24
+     fb8:      80 91 e3 00     lds     r24, 0x00E3
+     fbc:      80 78           andi    r24, 0x80       ; 128
+     fbe:      81 2b           or      r24, r17
+     fc0:      80 93 e3 00     sts     0x00E3, r24
+     fc4:      80 91 e8 00     lds     r24, 0x00E8
+     fc8:      87 7f           andi    r24, 0xF7       ; 247
+     fca:      80 93 e8 00     sts     0x00E8, r24
 
        USB_Device_SetDeviceAddress(DeviceAddress);
 
        Endpoint_ClearSETUP();
 
        Endpoint_ClearStatusStage();
-    103c:      d2 dd           rcall   .-1116          ; 0xbe2 <Endpoint_ClearStatusStage>
+     fce:      0b de           rcall   .-1002          ; 0xbe6 <Endpoint_ClearStatusStage>
                         *  \return Boolean \c true if the current endpoint is ready for an IN packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsINReady(void)
                        {
                                return ((UEINTX & (1 << TXINI)) ? true : false);
-    103e:      80 91 e8 00     lds     r24, 0x00E8
+     fd0:      80 91 e8 00     lds     r24, 0x00E8
 
        while (!(Endpoint_IsINReady()));
-    1042:      80 ff           sbrs    r24, 0
-    1044:      fc cf           rjmp    .-8             ; 0x103e <USB_Device_ProcessControlRequest+0x16c>
+     fd4:      80 ff           sbrs    r24, 0
+     fd6:      fc cf           rjmp    .-8             ; 0xfd0 <USB_Device_ProcessControlRequest+0x16c>
                        static inline void USB_Device_EnableDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void USB_Device_EnableDeviceAddress(const uint8_t Address)
                        {
                                (void)Address;
                                
                                UDADDR |= (1 << ADDEN);
-    1046:      80 91 e3 00     lds     r24, 0x00E3
-    104a:      80 68           ori     r24, 0x80       ; 128
-    104c:      80 93 e3 00     sts     0x00E3, r24
+     fd8:      80 91 e3 00     lds     r24, 0x00E3
+     fdc:      80 68           ori     r24, 0x80       ; 128
+     fde:      80 93 e3 00     sts     0x00E3, r24
 
        USB_Device_EnableDeviceAddress(DeviceAddress);
 
        USB_DeviceState = (DeviceAddress) ? DEVICE_STATE_Addressed : DEVICE_STATE_Default;
-    1050:      11 23           and     r17, r17
-    1052:      11 f0           breq    .+4             ; 0x1058 <USB_Device_ProcessControlRequest+0x186>
-    1054:      83 e0           ldi     r24, 0x03       ; 3
-    1056:      01 c0           rjmp    .+2             ; 0x105a <USB_Device_ProcessControlRequest+0x188>
-    1058:      82 e0           ldi     r24, 0x02       ; 2
-    105a:      8e bb           out     0x1e, r24       ; 30
-    105c:      83 c0           rjmp    .+262           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+     fe2:      11 23           and     r17, r17
+     fe4:      11 f0           breq    .+4             ; 0xfea <USB_Device_ProcessControlRequest+0x186>
+     fe6:      83 e0           ldi     r24, 0x03       ; 3
+     fe8:      01 c0           rjmp    .+2             ; 0xfec <USB_Device_ProcessControlRequest+0x188>
+     fea:      82 e0           ldi     r24, 0x02       ; 2
+     fec:      80 93 8e 02     sts     0x028E, r24
+     ff0:      84 c0           rjmp    .+264           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
                                if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
                                  USB_Device_SetAddress();
 
                                break;
                        case REQ_GetDescriptor:
                                if ((bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE)) ||
-    105e:      80 58           subi    r24, 0x80       ; 128
-    1060:      82 30           cpi     r24, 0x02       ; 2
-    1062:      08 f0           brcs    .+2             ; 0x1066 <USB_Device_ProcessControlRequest+0x194>
-    1064:      7f c0           rjmp    .+254           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+     ff2:      80 58           subi    r24, 0x80       ; 128
+     ff4:      82 30           cpi     r24, 0x02       ; 2
+     ff6:      08 f0           brcs    .+2             ; 0xffa <USB_Device_ProcessControlRequest+0x196>
+     ff8:      80 c0           rjmp    .+256           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
            !(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS))
        uint8_t DescriptorAddressSpace;
        #endif
 
        #if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR)
        if (USB_ControlRequest.wValue == ((DTYPE_String << 8) | USE_INTERNAL_SERIAL))
-    1066:      80 91 90 02     lds     r24, 0x0290
-    106a:      90 91 91 02     lds     r25, 0x0291
-    106e:      23 e0           ldi     r18, 0x03       ; 3
-    1070:      8c 3d           cpi     r24, 0xDC       ; 220
-    1072:      92 07           cpc     r25, r18
-    1074:      91 f5           brne    .+100           ; 0x10da <USB_Device_ProcessControlRequest+0x208>
+     ffa:      80 91 91 02     lds     r24, 0x0291
+     ffe:      90 91 92 02     lds     r25, 0x0292
+    1002:      23 e0           ldi     r18, 0x03       ; 3
+    1004:      8c 3d           cpi     r24, 0xDC       ; 220
+    1006:      92 07           cpc     r25, r18
+    1008:      91 f5           brne    .+100           ; 0x106e <USB_Device_ProcessControlRequest+0x20a>
        {
                USB_Descriptor_Header_t Header;
                uint16_t                UnicodeString[INTERNAL_SERIAL_LENGTH_BITS / 4];
        } SignatureDescriptor;
 
        SignatureDescriptor.Header.Type = DTYPE_String;
-    1076:      83 e0           ldi     r24, 0x03       ; 3
-    1078:      8c 83           std     Y+4, r24        ; 0x04
+    100a:      83 e0           ldi     r24, 0x03       ; 3
+    100c:      8c 83           std     Y+4, r24        ; 0x04
        SignatureDescriptor.Header.Size = USB_STRING_LEN(INTERNAL_SERIAL_LENGTH_BITS / 4);
-    107a:      8a e2           ldi     r24, 0x2A       ; 42
-    107c:      8b 83           std     Y+3, r24        ; 0x03
+    100e:      8a e2           ldi     r24, 0x2A       ; 42
+    1010:      8b 83           std     Y+3, r24        ; 0x03
                        static inline uint_reg_t GetGlobalInterruptMask(void)
                        {
                                GCC_MEMORY_BARRIER();
 
                                #if (ARCH == ARCH_AVR8)
                                return SREG;
-    107e:      5f b7           in      r21, 0x3f       ; 63
+    1012:      5f b7           in      r21, 0x3f       ; 63
                        static inline void GlobalInterruptDisable(void)
                        {
                                GCC_MEMORY_BARRIER();
 
                                #if (ARCH == ARCH_AVR8)
                                cli();
-    1080:      f8 94           cli
+    1014:      f8 94           cli
                                __builtin_ssrf(AVR32_SR_GM_OFFSET);
                                #elif (ARCH == ARCH_XMEGA)
                                cli();
                                #endif
 
                                GCC_MEMORY_BARRIER();
-    1082:      de 01           movw    r26, r28
-    1084:      15 96           adiw    r26, 0x05       ; 5
-    1086:      80 e0           ldi     r24, 0x00       ; 0
-    1088:      90 e0           ldi     r25, 0x00       ; 0
+    1016:      de 01           movw    r26, r28
+    1018:      15 96           adiw    r26, 0x05       ; 5
+    101a:      80 e0           ldi     r24, 0x00       ; 0
+    101c:      90 e0           ldi     r25, 0x00       ; 0
                        static inline void USB_Device_GetSerialString(uint16_t* const UnicodeString)
                        {
                                uint_reg_t CurrentGlobalInt = GetGlobalInterruptMask();
                                GlobalInterruptDisable();
 
                                uint8_t SigReadAddress = INTERNAL_SERIAL_START_ADDRESS;
-    108a:      4e e0           ldi     r20, 0x0E       ; 14
+    101e:      4e e0           ldi     r20, 0x0E       ; 14
 
                                for (uint8_t SerialCharNum = 0; SerialCharNum < (INTERNAL_SERIAL_LENGTH_BITS / 4); SerialCharNum++)
                                {
                                        uint8_t SerialByte = boot_signature_byte_get(SigReadAddress);
-    108c:      61 e2           ldi     r22, 0x21       ; 33
-    108e:      e4 2f           mov     r30, r20
-    1090:      f0 e0           ldi     r31, 0x00       ; 0
-    1092:      60 93 57 00     sts     0x0057, r22
-    1096:      e4 91           lpm     r30, Z+
+    1020:      61 e2           ldi     r22, 0x21       ; 33
+    1022:      e4 2f           mov     r30, r20
+    1024:      f0 e0           ldi     r31, 0x00       ; 0
+    1026:      60 93 57 00     sts     0x0057, r22
+    102a:      e4 91           lpm     r30, Z+
 
                                        if (SerialCharNum & 0x01)
-    1098:      80 ff           sbrs    r24, 0
-    109a:      03 c0           rjmp    .+6             ; 0x10a2 <USB_Device_ProcessControlRequest+0x1d0>
+    102c:      80 ff           sbrs    r24, 0
+    102e:      03 c0           rjmp    .+6             ; 0x1036 <USB_Device_ProcessControlRequest+0x1d2>
                                        {
                                                SerialByte >>= 4;
-    109c:      e2 95           swap    r30
-    109e:      ef 70           andi    r30, 0x0F       ; 15
+    1030:      e2 95           swap    r30
+    1032:      ef 70           andi    r30, 0x0F       ; 15
                                                SigReadAddress++;
-    10a0:      4f 5f           subi    r20, 0xFF       ; 255
+    1034:      4f 5f           subi    r20, 0xFF       ; 255
                                        }
 
                                        SerialByte &= 0x0F;
-    10a2:      ef 70           andi    r30, 0x0F       ; 15
-    10a4:      2e 2f           mov     r18, r30
-    10a6:      30 e0           ldi     r19, 0x00       ; 0
+    1036:      ef 70           andi    r30, 0x0F       ; 15
+    1038:      2e 2f           mov     r18, r30
+    103a:      30 e0           ldi     r19, 0x00       ; 0
 
                                        UnicodeString[SerialCharNum] = cpu_to_le16((SerialByte >= 10) ?
-    10a8:      ea 30           cpi     r30, 0x0A       ; 10
-    10aa:      18 f0           brcs    .+6             ; 0x10b2 <USB_Device_ProcessControlRequest+0x1e0>
-    10ac:      29 5c           subi    r18, 0xC9       ; 201
-    10ae:      3f 4f           sbci    r19, 0xFF       ; 255
-    10b0:      02 c0           rjmp    .+4             ; 0x10b6 <USB_Device_ProcessControlRequest+0x1e4>
-    10b2:      20 5d           subi    r18, 0xD0       ; 208
-    10b4:      3f 4f           sbci    r19, 0xFF       ; 255
-    10b6:      2d 93           st      X+, r18
-    10b8:      3d 93           st      X+, r19
-    10ba:      01 96           adiw    r24, 0x01       ; 1
+    103c:      ea 30           cpi     r30, 0x0A       ; 10
+    103e:      18 f0           brcs    .+6             ; 0x1046 <USB_Device_ProcessControlRequest+0x1e2>
+    1040:      29 5c           subi    r18, 0xC9       ; 201
+    1042:      3f 4f           sbci    r19, 0xFF       ; 255
+    1044:      02 c0           rjmp    .+4             ; 0x104a <USB_Device_ProcessControlRequest+0x1e6>
+    1046:      20 5d           subi    r18, 0xD0       ; 208
+    1048:      3f 4f           sbci    r19, 0xFF       ; 255
+    104a:      2d 93           st      X+, r18
+    104c:      3d 93           st      X+, r19
+    104e:      01 96           adiw    r24, 0x01       ; 1
                                uint_reg_t CurrentGlobalInt = GetGlobalInterruptMask();
                                GlobalInterruptDisable();
 
                                uint8_t SigReadAddress = INTERNAL_SERIAL_START_ADDRESS;
 
                                for (uint8_t SerialCharNum = 0; SerialCharNum < (INTERNAL_SERIAL_LENGTH_BITS / 4); SerialCharNum++)
-    10bc:      84 31           cpi     r24, 0x14       ; 20
-    10be:      91 05           cpc     r25, r1
-    10c0:      31 f7           brne    .-52            ; 0x108e <USB_Device_ProcessControlRequest+0x1bc>
+    1050:      84 31           cpi     r24, 0x14       ; 20
+    1052:      91 05           cpc     r25, r1
+    1054:      31 f7           brne    .-52            ; 0x1022 <USB_Device_ProcessControlRequest+0x1be>
                        static inline void SetGlobalInterruptMask(const uint_reg_t GlobalIntState)
                        {
                                GCC_MEMORY_BARRIER();
 
                                #if (ARCH == ARCH_AVR8)
                                SREG = GlobalIntState;
-    10c2:      5f bf           out     0x3f, r21       ; 63
+    1056:      5f bf           out     0x3f, r21       ; 63
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    10c4:      80 91 e8 00     lds     r24, 0x00E8
-    10c8:      87 7f           andi    r24, 0xF7       ; 247
-    10ca:      80 93 e8 00     sts     0x00E8, r24
+    1058:      80 91 e8 00     lds     r24, 0x00E8
+    105c:      87 7f           andi    r24, 0xF7       ; 247
+    105e:      80 93 e8 00     sts     0x00E8, r24
 
        USB_Device_GetSerialString(SignatureDescriptor.UnicodeString);
 
        Endpoint_ClearSETUP();
 
        Endpoint_Write_Control_Stream_LE(&SignatureDescriptor, sizeof(SignatureDescriptor));
-    10ce:      ce 01           movw    r24, r28
-    10d0:      03 96           adiw    r24, 0x03       ; 3
-    10d2:      6a e2           ldi     r22, 0x2A       ; 42
-    10d4:      70 e0           ldi     r23, 0x00       ; 0
-    10d6:      55 dc           rcall   .-1878          ; 0x982 <Endpoint_Write_Control_Stream_LE>
-    10d8:      12 c0           rjmp    .+36            ; 0x10fe <USB_Device_ProcessControlRequest+0x22c>
+    1062:      ce 01           movw    r24, r28
+    1064:      03 96           adiw    r24, 0x03       ; 3
+    1066:      6a e2           ldi     r22, 0x2A       ; 42
+    1068:      70 e0           ldi     r23, 0x00       ; 0
+    106a:      89 dc           rcall   .-1774          ; 0x97e <Endpoint_Write_Control_Stream_LE>
+    106c:      12 c0           rjmp    .+36            ; 0x1092 <USB_Device_ProcessControlRequest+0x22e>
                USB_Device_GetInternalSerialDescriptor();
                return;
        }
        #endif
 
        if ((DescriptorSize = CALLBACK_USB_GetDescriptor(USB_ControlRequest.wValue, USB_ControlRequest.wIndex,
-    10da:      60 91 92 02     lds     r22, 0x0292
-    10de:      ae 01           movw    r20, r28
-    10e0:      4f 5f           subi    r20, 0xFF       ; 255
-    10e2:      5f 4f           sbci    r21, 0xFF       ; 255
-    10e4:      21 dc           rcall   .-1982          ; 0x928 <CALLBACK_USB_GetDescriptor>
-    10e6:      bc 01           movw    r22, r24
-    10e8:      00 97           sbiw    r24, 0x00       ; 0
-    10ea:      09 f4           brne    .+2             ; 0x10ee <USB_Device_ProcessControlRequest+0x21c>
-    10ec:      3b c0           rjmp    .+118           ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
-    10ee:      80 91 e8 00     lds     r24, 0x00E8
-    10f2:      87 7f           andi    r24, 0xF7       ; 247
-    10f4:      80 93 e8 00     sts     0x00E8, r24
+    106e:      60 91 93 02     lds     r22, 0x0293
+    1072:      ae 01           movw    r20, r28
+    1074:      4f 5f           subi    r20, 0xFF       ; 255
+    1076:      5f 4f           sbci    r21, 0xFF       ; 255
+    1078:      55 dc           rcall   .-1878          ; 0x924 <CALLBACK_USB_GetDescriptor>
+    107a:      bc 01           movw    r22, r24
+    107c:      00 97           sbiw    r24, 0x00       ; 0
+    107e:      09 f4           brne    .+2             ; 0x1082 <USB_Device_ProcessControlRequest+0x21e>
+    1080:      3c c0           rjmp    .+120           ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
+    1082:      80 91 e8 00     lds     r24, 0x00E8
+    1086:      87 7f           andi    r24, 0xF7       ; 247
+    1088:      80 93 e8 00     sts     0x00E8, r24
        #if defined(USE_RAM_DESCRIPTORS) || !defined(ARCH_HAS_MULTI_ADDRESS_SPACE)
        Endpoint_Write_Control_Stream_LE(DescriptorPointer, DescriptorSize);
        #elif defined(USE_EEPROM_DESCRIPTORS)
        Endpoint_Write_Control_EStream_LE(DescriptorPointer, DescriptorSize);
        #elif defined(USE_FLASH_DESCRIPTORS)
        Endpoint_Write_Control_PStream_LE(DescriptorPointer, DescriptorSize);
-    10f8:      89 81           ldd     r24, Y+1        ; 0x01
-    10fa:      9a 81           ldd     r25, Y+2        ; 0x02
-    10fc:      9c dc           rcall   .-1736          ; 0xa36 <Endpoint_Write_Control_PStream_LE>
+    108c:      89 81           ldd     r24, Y+1        ; 0x01
+    108e:      9a 81           ldd     r25, Y+2        ; 0x02
+    1090:      d2 dc           rcall   .-1628          ; 0xa36 <Endpoint_Write_Control_PStream_LE>
                         */
                        static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearOUT(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
-    10fe:      80 91 e8 00     lds     r24, 0x00E8
-    1102:      8b 77           andi    r24, 0x7B       ; 123
-    1104:      80 93 e8 00     sts     0x00E8, r24
-    1108:      2d c0           rjmp    .+90            ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+    1092:      80 91 e8 00     lds     r24, 0x00E8
+    1096:      8b 77           andi    r24, 0x7B       ; 123
+    1098:      80 93 e8 00     sts     0x00E8, r24
+    109c:      2e c0           rjmp    .+92            ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
                                        USB_Device_GetDescriptor();
                                }
 
                                break;
                        case REQ_GetConfiguration:
                                if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE))
-    110a:      80 38           cpi     r24, 0x80       ; 128
-    110c:      59 f5           brne    .+86            ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+    109e:      80 38           cpi     r24, 0x80       ; 128
+    10a0:      61 f5           brne    .+88            ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    110e:      80 91 e8 00     lds     r24, 0x00E8
-    1112:      87 7f           andi    r24, 0xF7       ; 247
-    1114:      80 93 e8 00     sts     0x00E8, r24
+    10a2:      80 91 e8 00     lds     r24, 0x00E8
+    10a6:      87 7f           andi    r24, 0xF7       ; 247
+    10a8:      80 93 e8 00     sts     0x00E8, r24
 
 static void USB_Device_GetConfiguration(void)
 {
        Endpoint_ClearSETUP();
 
        Endpoint_Write_8(USB_Device_ConfigurationNumber);
-    1118:      80 91 8a 02     lds     r24, 0x028A
+    10ac:      80 91 8a 02     lds     r24, 0x028A
                         *  \param[in] Data  Data to write into the the currently selected endpoint's FIFO buffer.
                         */
                        static inline void Endpoint_Write_8(const uint8_t Data) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_Write_8(const uint8_t Data)
                        {
                                UEDATX = Data;
-    111c:      80 93 f1 00     sts     0x00F1, r24
+    10b0:      80 93 f1 00     sts     0x00F1, r24
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-    1120:      80 91 e8 00     lds     r24, 0x00E8
-    1124:      8e 77           andi    r24, 0x7E       ; 126
-    1126:      80 93 e8 00     sts     0x00E8, r24
+    10b4:      80 91 e8 00     lds     r24, 0x00E8
+    10b8:      8e 77           andi    r24, 0x7E       ; 126
+    10ba:      80 93 e8 00     sts     0x00E8, r24
        Endpoint_ClearIN();
 
        Endpoint_ClearStatusStage();
-    112a:      5b dd           rcall   .-1354          ; 0xbe2 <Endpoint_ClearStatusStage>
-    112c:      1b c0           rjmp    .+54            ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+    10be:      93 dd           rcall   .-1242          ; 0xbe6 <Endpoint_ClearStatusStage>
+    10c0:      1c c0           rjmp    .+56            ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
                                if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE))
                                  USB_Device_GetConfiguration();
 
                                break;
                        case REQ_SetConfiguration:
                                if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
-    112e:      88 23           and     r24, r24
-    1130:      c9 f4           brne    .+50            ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+    10c2:      88 23           and     r24, r24
+    10c4:      d1 f4           brne    .+52            ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
 }
 
 static void USB_Device_SetConfiguration(void)
 {
        #if defined(FIXED_NUM_CONFIGURATIONS)
        if ((uint8_t)USB_ControlRequest.wValue > FIXED_NUM_CONFIGURATIONS)
-    1132:      90 91 90 02     lds     r25, 0x0290
-    1136:      92 30           cpi     r25, 0x02       ; 2
-    1138:      a8 f4           brcc    .+42            ; 0x1164 <USB_Device_ProcessControlRequest+0x292>
+    10c6:      90 91 91 02     lds     r25, 0x0291
+    10ca:      92 30           cpi     r25, 0x02       ; 2
+    10cc:      b0 f4           brcc    .+44            ; 0x10fa <USB_Device_ProcessControlRequest+0x296>
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    113a:      80 91 e8 00     lds     r24, 0x00E8
-    113e:      87 7f           andi    r24, 0xF7       ; 247
-    1140:      80 93 e8 00     sts     0x00E8, r24
+    10ce:      80 91 e8 00     lds     r24, 0x00E8
+    10d2:      87 7f           andi    r24, 0xF7       ; 247
+    10d4:      80 93 e8 00     sts     0x00E8, r24
        #endif
        #endif
 
        Endpoint_ClearSETUP();
 
        USB_Device_ConfigurationNumber = (uint8_t)USB_ControlRequest.wValue;
-    1144:      90 93 8a 02     sts     0x028A, r25
+    10d8:      90 93 8a 02     sts     0x028A, r25
 
        Endpoint_ClearStatusStage();
-    1148:      4c dd           rcall   .-1384          ; 0xbe2 <Endpoint_ClearStatusStage>
+    10dc:      84 dd           rcall   .-1272          ; 0xbe6 <Endpoint_ClearStatusStage>
 
        if (USB_Device_ConfigurationNumber)
-    114a:      80 91 8a 02     lds     r24, 0x028A
-    114e:      88 23           and     r24, r24
-    1150:      21 f4           brne    .+8             ; 0x115a <USB_Device_ProcessControlRequest+0x288>
+    10de:      80 91 8a 02     lds     r24, 0x028A
+    10e2:      88 23           and     r24, r24
+    10e4:      21 f4           brne    .+8             ; 0x10ee <USB_Device_ProcessControlRequest+0x28a>
                        }
 
                        static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
                        static inline bool USB_Device_IsAddressSet(void)
                        {
                                return (UDADDR & (1 << ADDEN));
-    1152:      80 91 e3 00     lds     r24, 0x00E3
+    10e6:      80 91 e3 00     lds     r24, 0x00E3
          USB_DeviceState = DEVICE_STATE_Configured;
        else
          USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered;
-    1156:      87 ff           sbrs    r24, 7
-    1158:      02 c0           rjmp    .+4             ; 0x115e <USB_Device_ProcessControlRequest+0x28c>
-    115a:      84 e0           ldi     r24, 0x04       ; 4
-    115c:      01 c0           rjmp    .+2             ; 0x1160 <USB_Device_ProcessControlRequest+0x28e>
-    115e:      81 e0           ldi     r24, 0x01       ; 1
-    1160:      8e bb           out     0x1e, r24       ; 30
+    10ea:      87 ff           sbrs    r24, 7
+    10ec:      02 c0           rjmp    .+4             ; 0x10f2 <USB_Device_ProcessControlRequest+0x28e>
+    10ee:      84 e0           ldi     r24, 0x04       ; 4
+    10f0:      01 c0           rjmp    .+2             ; 0x10f4 <USB_Device_ProcessControlRequest+0x290>
+    10f2:      81 e0           ldi     r24, 0x01       ; 1
+    10f4:      80 93 8e 02     sts     0x028E, r24
 
        EVENT_USB_Device_ConfigurationChanged();
-    1162:      4f da           rcall   .-2914          ; 0x602 <EVENT_USB_Device_ConfigurationChanged>
+    10f8:      84 da           rcall   .-2808          ; 0x602 <EVENT_USB_Device_ConfigurationChanged>
                         *  \return Boolean \c true if the selected endpoint has received a SETUP packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsSETUPReceived(void)
                        {
                                return ((UEINTX & (1 << RXSTPI)) ? true : false);
-    1164:      80 91 e8 00     lds     r24, 0x00E8
+    10fa:      80 91 e8 00     lds     r24, 0x00E8
                        default:
                                break;
                }
        }
 
        if (Endpoint_IsSETUPReceived())
-    1168:      83 ff           sbrs    r24, 3
-    116a:      0a c0           rjmp    .+20            ; 0x1180 <USB_Device_ProcessControlRequest+0x2ae>
+    10fe:      83 ff           sbrs    r24, 3
+    1100:      0a c0           rjmp    .+20            ; 0x1116 <USB_Device_ProcessControlRequest+0x2b2>
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    116c:      80 91 e8 00     lds     r24, 0x00E8
-    1170:      87 7f           andi    r24, 0xF7       ; 247
-    1172:      80 93 e8 00     sts     0x00E8, r24
+    1102:      80 91 e8 00     lds     r24, 0x00E8
+    1106:      87 7f           andi    r24, 0xF7       ; 247
+    1108:      80 93 e8 00     sts     0x00E8, r24
                         *  \ingroup Group_EndpointPacketManagement_AVR8
                         */
                        static inline void Endpoint_StallTransaction(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_StallTransaction(void)
                        {
                                UECONX |= (1 << STALLRQ);
-    1176:      80 91 eb 00     lds     r24, 0x00EB
-    117a:      80 62           ori     r24, 0x20       ; 32
-    117c:      80 93 eb 00     sts     0x00EB, r24
+    110c:      80 91 eb 00     lds     r24, 0x00EB
+    1110:      80 62           ori     r24, 0x20       ; 32
+    1112:      80 93 eb 00     sts     0x00EB, r24
        {
                Endpoint_ClearSETUP();
                Endpoint_StallTransaction();
        }
 }
-    1180:      ac 96           adiw    r28, 0x2c       ; 44
-    1182:      0f b6           in      r0, 0x3f        ; 63
-    1184:      f8 94           cli
-    1186:      de bf           out     0x3e, r29       ; 62
-    1188:      0f be           out     0x3f, r0        ; 63
-    118a:      cd bf           out     0x3d, r28       ; 61
-    118c:      cf 91           pop     r28
-    118e:      df 91           pop     r29
-    1190:      1f 91           pop     r17
-    1192:      08 95           ret
-
-00001194 <USB_Event_Stub>:
+    1116:      ac 96           adiw    r28, 0x2c       ; 44
+    1118:      0f b6           in      r0, 0x3f        ; 63
+    111a:      f8 94           cli
+    111c:      de bf           out     0x3e, r29       ; 62
+    111e:      0f be           out     0x3f, r0        ; 63
+    1120:      cd bf           out     0x3d, r28       ; 61
+    1122:      cf 91           pop     r28
+    1124:      df 91           pop     r29
+    1126:      1f 91           pop     r17
+    1128:      08 95           ret
+
+0000112a <USB_Event_Stub>:
 #include "Events.h"
 
 void USB_Event_Stub(void)
 {
 
 }
-    1194:      08 95           ret
+    112a:      08 95           ret
 
-00001196 <USB_USBTask>:
+0000112c <USB_USBTask>:
 #if defined(USB_CAN_BE_DEVICE) && !defined(DEVICE_STATE_AS_GPIOR)
 volatile uint8_t     USB_DeviceState;
 #endif
 
 void USB_USBTask(void)
 {
-    1196:      1f 93           push    r17
+    112c:      1f 93           push    r17
 }
 
 #if defined(USB_CAN_BE_DEVICE)
 static void USB_DeviceTask(void)
 {
        if (USB_DeviceState == DEVICE_STATE_Unattached)
-    1198:      8e b3           in      r24, 0x1e       ; 30
-    119a:      88 23           and     r24, r24
-    119c:      a9 f0           breq    .+42            ; 0x11c8 <USB_USBTask+0x32>
+    112e:      80 91 8e 02     lds     r24, 0x028E
+    1132:      88 23           and     r24, r24
+    1134:      a9 f0           breq    .+42            ; 0x1160 <USB_USBTask+0x34>
                         */
                        static inline uint8_t Endpoint_GetCurrentEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_GetCurrentEndpoint(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        return ((UENUM & ENDPOINT_EPNUM_MASK) | Endpoint_GetEndpointDirection());
-    119e:      80 91 e9 00     lds     r24, 0x00E9
-    11a2:      8f 70           andi    r24, 0x0F       ; 15
+    1136:      80 91 e9 00     lds     r24, 0x00E9
+    113a:      8f 70           andi    r24, 0x0F       ; 15
                         *  \return The currently selected endpoint's direction, as a \c ENDPOINT_DIR_* mask.
                         */
                        static inline uint8_t Endpoint_GetEndpointDirection(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_GetEndpointDirection(void)
                        {
                                return (UECFG0X & (1 << EPDIR)) ? ENDPOINT_DIR_IN : ENDPOINT_DIR_OUT;
-    11a4:      90 91 ec 00     lds     r25, 0x00EC
-    11a8:      90 ff           sbrs    r25, 0
-    11aa:      02 c0           rjmp    .+4             ; 0x11b0 <USB_USBTask+0x1a>
-    11ac:      10 e8           ldi     r17, 0x80       ; 128
-    11ae:      01 c0           rjmp    .+2             ; 0x11b2 <USB_USBTask+0x1c>
-    11b0:      10 e0           ldi     r17, 0x00       ; 0
+    113c:      90 91 ec 00     lds     r25, 0x00EC
+    1140:      90 ff           sbrs    r25, 0
+    1142:      02 c0           rjmp    .+4             ; 0x1148 <USB_USBTask+0x1c>
+    1144:      10 e8           ldi     r17, 0x80       ; 128
+    1146:      01 c0           rjmp    .+2             ; 0x114a <USB_USBTask+0x1e>
+    1148:      10 e0           ldi     r17, 0x00       ; 0
                         */
                        static inline uint8_t Endpoint_GetCurrentEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_GetCurrentEndpoint(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        return ((UENUM & ENDPOINT_EPNUM_MASK) | Endpoint_GetEndpointDirection());
-    11b2:      18 2b           or      r17, r24
+    114a:      18 2b           or      r17, r24
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-    11b4:      10 92 e9 00     sts     0x00E9, r1
+    114c:      10 92 e9 00     sts     0x00E9, r1
                         *  \return Boolean \c true if the selected endpoint has received a SETUP packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsSETUPReceived(void)
                        {
                                return ((UEINTX & (1 << RXSTPI)) ? true : false);
-    11b8:      80 91 e8 00     lds     r24, 0x00E8
+    1150:      80 91 e8 00     lds     r24, 0x00E8
 
        uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint();
 
        Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
 
        if (Endpoint_IsSETUPReceived())
-    11bc:      83 ff           sbrs    r24, 3
-    11be:      01 c0           rjmp    .+2             ; 0x11c2 <USB_USBTask+0x2c>
+    1154:      83 ff           sbrs    r24, 3
+    1156:      01 c0           rjmp    .+2             ; 0x115a <USB_USBTask+0x2e>
          USB_Device_ProcessControlRequest();
-    11c0:      88 de           rcall   .-752           ; 0xed2 <USB_Device_ProcessControlRequest>
+    1158:      85 de           rcall   .-758           ; 0xe64 <USB_Device_ProcessControlRequest>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-    11c2:      1f 70           andi    r17, 0x0F       ; 15
-    11c4:      10 93 e9 00     sts     0x00E9, r17
+    115a:      1f 70           andi    r17, 0x0F       ; 15
+    115c:      10 93 e9 00     sts     0x00E9, r17
        #elif defined(USB_CAN_BE_HOST)
                USB_HostTask();
        #elif defined(USB_CAN_BE_DEVICE)
                USB_DeviceTask();
        #endif
 }
-    11c8:      1f 91           pop     r17
-    11ca:      08 95           ret
+    1160:      1f 91           pop     r17
+    1162:      08 95           ret
 
-000011cc <CDC_Device_ProcessControlRequest>:
+00001164 <CDC_Device_ProcessControlRequest>:
 #define  __INCLUDE_FROM_CDC_DRIVER
 #define  __INCLUDE_FROM_CDC_DEVICE_C
 #include "CDCClassDevice.h"
 
 void CDC_Device_ProcessControlRequest(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
-    11cc:      cf 93           push    r28
-    11ce:      df 93           push    r29
-    11d0:      ec 01           movw    r28, r24
+    1164:      cf 93           push    r28
+    1166:      df 93           push    r29
+    1168:      ec 01           movw    r28, r24
                         *  \return Boolean \c true if the selected endpoint has received a SETUP packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsSETUPReceived(void)
                        {
                                return ((UEINTX & (1 << RXSTPI)) ? true : false);
-    11d2:      80 91 e8 00     lds     r24, 0x00E8
+    116a:      80 91 e8 00     lds     r24, 0x00E8
        if (!(Endpoint_IsSETUPReceived()))
-    11d6:      83 ff           sbrs    r24, 3
-    11d8:      a2 c0           rjmp    .+324           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    116e:      83 ff           sbrs    r24, 3
+    1170:      a3 c0           rjmp    .+326           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
          return;
 
        if (USB_ControlRequest.wIndex != CDCInterfaceInfo->Config.ControlInterfaceNumber)
-    11da:      88 81           ld      r24, Y
-    11dc:      90 e0           ldi     r25, 0x00       ; 0
-    11de:      20 91 92 02     lds     r18, 0x0292
-    11e2:      30 91 93 02     lds     r19, 0x0293
-    11e6:      28 17           cp      r18, r24
-    11e8:      39 07           cpc     r19, r25
-    11ea:      09 f0           breq    .+2             ; 0x11ee <CDC_Device_ProcessControlRequest+0x22>
-    11ec:      98 c0           rjmp    .+304           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    1172:      88 81           ld      r24, Y
+    1174:      90 e0           ldi     r25, 0x00       ; 0
+    1176:      20 91 93 02     lds     r18, 0x0293
+    117a:      30 91 94 02     lds     r19, 0x0294
+    117e:      28 17           cp      r18, r24
+    1180:      39 07           cpc     r19, r25
+    1182:      09 f0           breq    .+2             ; 0x1186 <CDC_Device_ProcessControlRequest+0x22>
+    1184:      99 c0           rjmp    .+306           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
          return;
 
        switch (USB_ControlRequest.bRequest)
-    11ee:      80 91 8f 02     lds     r24, 0x028F
-    11f2:      81 32           cpi     r24, 0x21       ; 33
-    11f4:      69 f0           breq    .+26            ; 0x1210 <CDC_Device_ProcessControlRequest+0x44>
-    11f6:      82 32           cpi     r24, 0x22       ; 34
-    11f8:      20 f4           brcc    .+8             ; 0x1202 <CDC_Device_ProcessControlRequest+0x36>
-    11fa:      80 32           cpi     r24, 0x20       ; 32
-    11fc:      09 f0           breq    .+2             ; 0x1200 <CDC_Device_ProcessControlRequest+0x34>
-    11fe:      8f c0           rjmp    .+286           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
-    1200:      3c c0           rjmp    .+120           ; 0x127a <CDC_Device_ProcessControlRequest+0xae>
-    1202:      82 32           cpi     r24, 0x22       ; 34
-    1204:      09 f4           brne    .+2             ; 0x1208 <CDC_Device_ProcessControlRequest+0x3c>
-    1206:      6a c0           rjmp    .+212           ; 0x12dc <CDC_Device_ProcessControlRequest+0x110>
-    1208:      83 32           cpi     r24, 0x23       ; 35
-    120a:      09 f0           breq    .+2             ; 0x120e <CDC_Device_ProcessControlRequest+0x42>
-    120c:      88 c0           rjmp    .+272           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
-    120e:      79 c0           rjmp    .+242           ; 0x1302 <CDC_Device_ProcessControlRequest+0x136>
+    1186:      80 91 90 02     lds     r24, 0x0290
+    118a:      81 32           cpi     r24, 0x21       ; 33
+    118c:      69 f0           breq    .+26            ; 0x11a8 <CDC_Device_ProcessControlRequest+0x44>
+    118e:      82 32           cpi     r24, 0x22       ; 34
+    1190:      20 f4           brcc    .+8             ; 0x119a <CDC_Device_ProcessControlRequest+0x36>
+    1192:      80 32           cpi     r24, 0x20       ; 32
+    1194:      09 f0           breq    .+2             ; 0x1198 <CDC_Device_ProcessControlRequest+0x34>
+    1196:      90 c0           rjmp    .+288           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
+    1198:      3c c0           rjmp    .+120           ; 0x1212 <CDC_Device_ProcessControlRequest+0xae>
+    119a:      82 32           cpi     r24, 0x22       ; 34
+    119c:      09 f4           brne    .+2             ; 0x11a0 <CDC_Device_ProcessControlRequest+0x3c>
+    119e:      6b c0           rjmp    .+214           ; 0x1276 <CDC_Device_ProcessControlRequest+0x112>
+    11a0:      83 32           cpi     r24, 0x23       ; 35
+    11a2:      09 f0           breq    .+2             ; 0x11a6 <CDC_Device_ProcessControlRequest+0x42>
+    11a4:      89 c0           rjmp    .+274           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
+    11a6:      7a c0           rjmp    .+244           ; 0x129c <CDC_Device_ProcessControlRequest+0x138>
        {
                case CDC_REQ_GetLineEncoding:
                        if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
-    1210:      80 91 8e 02     lds     r24, 0x028E
-    1214:      81 3a           cpi     r24, 0xA1       ; 161
-    1216:      09 f0           breq    .+2             ; 0x121a <CDC_Device_ProcessControlRequest+0x4e>
-    1218:      82 c0           rjmp    .+260           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    11a8:      80 91 8f 02     lds     r24, 0x028F
+    11ac:      81 3a           cpi     r24, 0xA1       ; 161
+    11ae:      09 f0           breq    .+2             ; 0x11b2 <CDC_Device_ProcessControlRequest+0x4e>
+    11b0:      83 c0           rjmp    .+262           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    121a:      80 91 e8 00     lds     r24, 0x00E8
-    121e:      87 7f           andi    r24, 0xF7       ; 247
-    1220:      80 93 e8 00     sts     0x00E8, r24
+    11b2:      80 91 e8 00     lds     r24, 0x00E8
+    11b6:      87 7f           andi    r24, 0xF7       ; 247
+    11b8:      80 93 e8 00     sts     0x00E8, r24
                         *  \return Boolean \c true if the current endpoint is ready for an IN packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsINReady(void)
                        {
                                return ((UEINTX & (1 << TXINI)) ? true : false);
-    1224:      80 91 e8 00     lds     r24, 0x00E8
+    11bc:      80 91 e8 00     lds     r24, 0x00E8
                        {
                                Endpoint_ClearSETUP();
 
                                while (!(Endpoint_IsINReady()));
-    1228:      80 ff           sbrs    r24, 0
-    122a:      fc cf           rjmp    .-8             ; 0x1224 <CDC_Device_ProcessControlRequest+0x58>
+    11c0:      80 ff           sbrs    r24, 0
+    11c2:      fc cf           rjmp    .-8             ; 0x11bc <CDC_Device_ProcessControlRequest+0x58>
 
                                Endpoint_Write_32_LE(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS);
-    122c:      8c 89           ldd     r24, Y+20       ; 0x14
-    122e:      9d 89           ldd     r25, Y+21       ; 0x15
-    1230:      ae 89           ldd     r26, Y+22       ; 0x16
-    1232:      bf 89           ldd     r27, Y+23       ; 0x17
+    11c4:      8c 89           ldd     r24, Y+20       ; 0x14
+    11c6:      9d 89           ldd     r25, Y+21       ; 0x15
+    11c8:      ae 89           ldd     r26, Y+22       ; 0x16
+    11ca:      bf 89           ldd     r27, Y+23       ; 0x17
                         *  \param[in] Data  Data to write to the currently selected endpoint's FIFO buffer.
                         */
                        static inline void Endpoint_Write_32_LE(const uint32_t Data) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_Write_32_LE(const uint32_t Data)
                        {
                                UEDATX = (Data &  0xFF);
-    1234:      80 93 f1 00     sts     0x00F1, r24
+    11cc:      80 93 f1 00     sts     0x00F1, r24
                                UEDATX = (Data >> 8);
-    1238:      29 2f           mov     r18, r25
-    123a:      3a 2f           mov     r19, r26
-    123c:      4b 2f           mov     r20, r27
-    123e:      55 27           eor     r21, r21
-    1240:      20 93 f1 00     sts     0x00F1, r18
+    11d0:      29 2f           mov     r18, r25
+    11d2:      3a 2f           mov     r19, r26
+    11d4:      4b 2f           mov     r20, r27
+    11d6:      55 27           eor     r21, r21
+    11d8:      20 93 f1 00     sts     0x00F1, r18
                                UEDATX = (Data >> 16);
-    1244:      9d 01           movw    r18, r26
-    1246:      44 27           eor     r20, r20
-    1248:      55 27           eor     r21, r21
-    124a:      20 93 f1 00     sts     0x00F1, r18
+    11dc:      9d 01           movw    r18, r26
+    11de:      44 27           eor     r20, r20
+    11e0:      55 27           eor     r21, r21
+    11e2:      20 93 f1 00     sts     0x00F1, r18
                                UEDATX = (Data >> 24);
-    124e:      8b 2f           mov     r24, r27
-    1250:      99 27           eor     r25, r25
-    1252:      aa 27           eor     r26, r26
-    1254:      bb 27           eor     r27, r27
-    1256:      80 93 f1 00     sts     0x00F1, r24
+    11e6:      8b 2f           mov     r24, r27
+    11e8:      99 27           eor     r25, r25
+    11ea:      aa 27           eor     r26, r26
+    11ec:      bb 27           eor     r27, r27
+    11ee:      80 93 f1 00     sts     0x00F1, r24
                                Endpoint_Write_8(CDCInterfaceInfo->State.LineEncoding.CharFormat);
-    125a:      88 8d           ldd     r24, Y+24       ; 0x18
+    11f2:      88 8d           ldd     r24, Y+24       ; 0x18
                         *  \param[in] Data  Data to write into the the currently selected endpoint's FIFO buffer.
                         */
                        static inline void Endpoint_Write_8(const uint8_t Data) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_Write_8(const uint8_t Data)
                        {
                                UEDATX = Data;
-    125c:      80 93 f1 00     sts     0x00F1, r24
+    11f4:      80 93 f1 00     sts     0x00F1, r24
                                Endpoint_Write_8(CDCInterfaceInfo->State.LineEncoding.ParityType);
-    1260:      89 8d           ldd     r24, Y+25       ; 0x19
-    1262:      80 93 f1 00     sts     0x00F1, r24
+    11f8:      89 8d           ldd     r24, Y+25       ; 0x19
+    11fa:      80 93 f1 00     sts     0x00F1, r24
                                Endpoint_Write_8(CDCInterfaceInfo->State.LineEncoding.DataBits);
-    1266:      8a 8d           ldd     r24, Y+26       ; 0x1a
-    1268:      80 93 f1 00     sts     0x00F1, r24
+    11fe:      8a 8d           ldd     r24, Y+26       ; 0x1a
+    1200:      80 93 f1 00     sts     0x00F1, r24
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-    126c:      80 91 e8 00     lds     r24, 0x00E8
-    1270:      8e 77           andi    r24, 0x7E       ; 126
-    1272:      80 93 e8 00     sts     0x00E8, r24
+    1204:      80 91 e8 00     lds     r24, 0x00E8
+    1208:      8e 77           andi    r24, 0x7E       ; 126
+    120a:      80 93 e8 00     sts     0x00E8, r24
 
                                Endpoint_ClearIN();
                                Endpoint_ClearStatusStage();
-    1276:      b5 dc           rcall   .-1686          ; 0xbe2 <Endpoint_ClearStatusStage>
-    1278:      52 c0           rjmp    .+164           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    120e:      eb dc           rcall   .-1578          ; 0xbe6 <Endpoint_ClearStatusStage>
+    1210:      53 c0           rjmp    .+166           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
                        }
 
                        break;
                case CDC_REQ_SetLineEncoding:
                        if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
-    127a:      80 91 8e 02     lds     r24, 0x028E
-    127e:      81 32           cpi     r24, 0x21       ; 33
-    1280:      09 f0           breq    .+2             ; 0x1284 <CDC_Device_ProcessControlRequest+0xb8>
-    1282:      4d c0           rjmp    .+154           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    1212:      80 91 8f 02     lds     r24, 0x028F
+    1216:      81 32           cpi     r24, 0x21       ; 33
+    1218:      09 f0           breq    .+2             ; 0x121c <CDC_Device_ProcessControlRequest+0xb8>
+    121a:      4e c0           rjmp    .+156           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    1284:      80 91 e8 00     lds     r24, 0x00E8
-    1288:      87 7f           andi    r24, 0xF7       ; 247
-    128a:      80 93 e8 00     sts     0x00E8, r24
+    121c:      80 91 e8 00     lds     r24, 0x00E8
+    1220:      87 7f           andi    r24, 0xF7       ; 247
+    1222:      80 93 e8 00     sts     0x00E8, r24
                        {
                                Endpoint_ClearSETUP();
 
                                while (!(Endpoint_IsOUTReceived()))
-    128e:      04 c0           rjmp    .+8             ; 0x1298 <CDC_Device_ProcessControlRequest+0xcc>
+    1226:      05 c0           rjmp    .+10            ; 0x1232 <CDC_Device_ProcessControlRequest+0xce>
                                {
                                        if (USB_DeviceState == DEVICE_STATE_Unattached)
-    1290:      8e b3           in      r24, 0x1e       ; 30
-    1292:      88 23           and     r24, r24
-    1294:      09 f4           brne    .+2             ; 0x1298 <CDC_Device_ProcessControlRequest+0xcc>
-    1296:      43 c0           rjmp    .+134           ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    1228:      80 91 8e 02     lds     r24, 0x028E
+    122c:      88 23           and     r24, r24
+    122e:      09 f4           brne    .+2             ; 0x1232 <CDC_Device_ProcessControlRequest+0xce>
+    1230:      43 c0           rjmp    .+134           ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsOUTReceived(void)
                        {
                                return ((UEINTX & (1 << RXOUTI)) ? true : false);
-    1298:      80 91 e8 00     lds     r24, 0x00E8
+    1232:      80 91 e8 00     lds     r24, 0x00E8
                case CDC_REQ_SetLineEncoding:
                        if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
                        {
                                Endpoint_ClearSETUP();
 
                                while (!(Endpoint_IsOUTReceived()))
-    129c:      82 ff           sbrs    r24, 2
-    129e:      f8 cf           rjmp    .-16            ; 0x1290 <CDC_Device_ProcessControlRequest+0xc4>
+    1236:      82 ff           sbrs    r24, 2
+    1238:      f7 cf           rjmp    .-18            ; 0x1228 <CDC_Device_ProcessControlRequest+0xc4>
                                {
                                        uint32_t Value;
                                        uint8_t  Bytes[4];
                                } Data;
 
                                Data.Bytes[0] = UEDATX;
-    12a0:      30 91 f1 00     lds     r19, 0x00F1
+    123a:      30 91 f1 00     lds     r19, 0x00F1
                                Data.Bytes[1] = UEDATX;
-    12a4:      20 91 f1 00     lds     r18, 0x00F1
+    123e:      20 91 f1 00     lds     r18, 0x00F1
                                Data.Bytes[2] = UEDATX;
-    12a8:      90 91 f1 00     lds     r25, 0x00F1
+    1242:      90 91 f1 00     lds     r25, 0x00F1
                                Data.Bytes[3] = UEDATX;
-    12ac:      80 91 f1 00     lds     r24, 0x00F1
+    1246:      80 91 f1 00     lds     r24, 0x00F1
                                {
                                        if (USB_DeviceState == DEVICE_STATE_Unattached)
                                          return;
                                }
 
                                CDCInterfaceInfo->State.LineEncoding.BaudRateBPS = Endpoint_Read_32_LE();
-    12b0:      3c 8b           std     Y+20, r19       ; 0x14
-    12b2:      2d 8b           std     Y+21, r18       ; 0x15
-    12b4:      9e 8b           std     Y+22, r25       ; 0x16
-    12b6:      8f 8b           std     Y+23, r24       ; 0x17
+    124a:      3c 8b           std     Y+20, r19       ; 0x14
+    124c:      2d 8b           std     Y+21, r18       ; 0x15
+    124e:      9e 8b           std     Y+22, r25       ; 0x16
+    1250:      8f 8b           std     Y+23, r24       ; 0x17
                         *  \return Next byte in the currently selected endpoint's FIFO buffer.
                         */
                        static inline uint8_t Endpoint_Read_8(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_Read_8(void)
                        {
                                return UEDATX;
-    12b8:      80 91 f1 00     lds     r24, 0x00F1
+    1252:      80 91 f1 00     lds     r24, 0x00F1
                                CDCInterfaceInfo->State.LineEncoding.CharFormat  = Endpoint_Read_8();
-    12bc:      88 8f           std     Y+24, r24       ; 0x18
-    12be:      80 91 f1 00     lds     r24, 0x00F1
+    1256:      88 8f           std     Y+24, r24       ; 0x18
+    1258:      80 91 f1 00     lds     r24, 0x00F1
                                CDCInterfaceInfo->State.LineEncoding.ParityType  = Endpoint_Read_8();
-    12c2:      89 8f           std     Y+25, r24       ; 0x19
-    12c4:      80 91 f1 00     lds     r24, 0x00F1
+    125c:      89 8f           std     Y+25, r24       ; 0x19
+    125e:      80 91 f1 00     lds     r24, 0x00F1
                                CDCInterfaceInfo->State.LineEncoding.DataBits    = Endpoint_Read_8();
-    12c8:      8a 8f           std     Y+26, r24       ; 0x1a
+    1262:      8a 8f           std     Y+26, r24       ; 0x1a
                         */
                        static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearOUT(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
-    12ca:      80 91 e8 00     lds     r24, 0x00E8
-    12ce:      8b 77           andi    r24, 0x7B       ; 123
-    12d0:      80 93 e8 00     sts     0x00E8, r24
+    1264:      80 91 e8 00     lds     r24, 0x00E8
+    1268:      8b 77           andi    r24, 0x7B       ; 123
+    126a:      80 93 e8 00     sts     0x00E8, r24
 
                                Endpoint_ClearOUT();
                                Endpoint_ClearStatusStage();
-    12d4:      86 dc           rcall   .-1780          ; 0xbe2 <Endpoint_ClearStatusStage>
+    126e:      bb dc           rcall   .-1674          ; 0xbe6 <Endpoint_ClearStatusStage>
 
                                EVENT_CDC_Device_LineEncodingChanged(CDCInterfaceInfo);
-    12d6:      ce 01           movw    r24, r28
-    12d8:      c4 d9           rcall   .-3192          ; 0x662 <EVENT_CDC_Device_LineEncodingChanged>
-    12da:      21 c0           rjmp    .+66            ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    1270:      ce 01           movw    r24, r28
+    1272:      f7 d9           rcall   .-3090          ; 0x662 <EVENT_CDC_Device_LineEncodingChanged>
+    1274:      21 c0           rjmp    .+66            ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
                        }
 
                        break;
                case CDC_REQ_SetControlLineState:
                        if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
-    12dc:      80 91 8e 02     lds     r24, 0x028E
-    12e0:      81 32           cpi     r24, 0x21       ; 33
-    12e2:      e9 f4           brne    .+58            ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    1276:      80 91 8f 02     lds     r24, 0x028F
+    127a:      81 32           cpi     r24, 0x21       ; 33
+    127c:      e9 f4           brne    .+58            ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
                         *  \note This is not applicable for non CONTROL type endpoints.
                         */
                        static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearSETUP(void)
                        {
                                UEINTX &= ~(1 << RXSTPI);
-    12e4:      80 91 e8 00     lds     r24, 0x00E8
-    12e8:      87 7f           andi    r24, 0xF7       ; 247
-    12ea:      80 93 e8 00     sts     0x00E8, r24
+    127e:      80 91 e8 00     lds     r24, 0x00E8
+    1282:      87 7f           andi    r24, 0xF7       ; 247
+    1284:      80 93 e8 00     sts     0x00E8, r24
                        {
                                Endpoint_ClearSETUP();
                                Endpoint_ClearStatusStage();
-    12ee:      79 dc           rcall   .-1806          ; 0xbe2 <Endpoint_ClearStatusStage>
+    1288:      ae dc           rcall   .-1700          ; 0xbe6 <Endpoint_ClearStatusStage>
 
                                CDCInterfaceInfo->State.ControlLineStates.HostToDevice = USB_ControlRequest.wValue;
-    12f0:      80 91 90 02     lds     r24, 0x0290
-    12f4:      90 91 91 02     lds     r25, 0x0291
-    12f8:      99 8b           std     Y+17, r25       ; 0x11
-    12fa:      88 8b           std     Y+16, r24       ; 0x10
+    128a:      80 91 91 02     lds     r24, 0x0291
+    128e:      90 91 92 02     lds     r25, 0x0292
+    1292:      99 8b           std     Y+17, r25       ; 0x11
+    1294:      88 8b           std     Y+16, r24       ; 0x10
 
                                EVENT_CDC_Device_ControLineStateChanged(CDCInterfaceInfo);
-    12fc:      ce 01           movw    r24, r28
-    12fe:      d4 d0           rcall   .+424           ; 0x14a8 <CDC_Device_Event_Stub>
-    1300:      0e c0           rjmp    .+28            ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
+    1296:      ce 01           movw    r24, r28
+    1298:      d8 d0           rcall   .+432           ; 0x144a <CDC_Device_Event_Stub>
+    129a:      0e c0           rjmp    .+28            ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
                        }
 
                        break;
                case CDC_REQ_SendBreak:
                        if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
-    1302:      80 91 8e 02     lds     r24, 0x028E
-    1306:      81 32           cpi     r24, 0x21       ; 33
-    1308:      51 f4           brne    .+20            ; 0x131e <CDC_Device_ProcessControlRequest+0x152>
-    130a:      80 91 e8 00     lds     r24, 0x00E8
-    130e:      87 7f           andi    r24, 0xF7       ; 247
-    1310:      80 93 e8 00     sts     0x00E8, r24
+    129c:      80 91 8f 02     lds     r24, 0x028F
+    12a0:      81 32           cpi     r24, 0x21       ; 33
+    12a2:      51 f4           brne    .+20            ; 0x12b8 <CDC_Device_ProcessControlRequest+0x154>
+    12a4:      80 91 e8 00     lds     r24, 0x00E8
+    12a8:      87 7f           andi    r24, 0xF7       ; 247
+    12aa:      80 93 e8 00     sts     0x00E8, r24
                        {
                                Endpoint_ClearSETUP();
                                Endpoint_ClearStatusStage();
-    1314:      66 dc           rcall   .-1844          ; 0xbe2 <Endpoint_ClearStatusStage>
+    12ae:      9b dc           rcall   .-1738          ; 0xbe6 <Endpoint_ClearStatusStage>
 
                                EVENT_CDC_Device_BreakSent(CDCInterfaceInfo, (uint8_t)USB_ControlRequest.wValue);
-    1316:      ce 01           movw    r24, r28
-    1318:      60 91 90 02     lds     r22, 0x0290
-    131c:      c5 d0           rcall   .+394           ; 0x14a8 <CDC_Device_Event_Stub>
+    12b0:      ce 01           movw    r24, r28
+    12b2:      60 91 91 02     lds     r22, 0x0291
+    12b6:      c9 d0           rcall   .+402           ; 0x144a <CDC_Device_Event_Stub>
                        }
 
                        break;
        }
 }
-    131e:      df 91           pop     r29
-    1320:      cf 91           pop     r28
-    1322:      08 95           ret
+    12b8:      df 91           pop     r29
+    12ba:      cf 91           pop     r28
+    12bc:      08 95           ret
 
-00001324 <CDC_Device_ConfigureEndpoints>:
+000012be <CDC_Device_ConfigureEndpoints>:
 
 bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
-    1324:      cf 93           push    r28
-    1326:      df 93           push    r29
-    1328:      ec 01           movw    r28, r24
+    12be:      cf 93           push    r28
+    12c0:      df 93           push    r29
+    12c2:      ec 01           movw    r28, r24
        memset(&CDCInterfaceInfo->State, 0x00, sizeof(CDCInterfaceInfo->State));
-    132a:      40 96           adiw    r24, 0x10       ; 16
-    132c:      fc 01           movw    r30, r24
-    132e:      8b e0           ldi     r24, 0x0B       ; 11
-    1330:      df 01           movw    r26, r30
-    1332:      1d 92           st      X+, r1
-    1334:      8a 95           dec     r24
-    1336:      e9 f7           brne    .-6             ; 0x1332 <CDC_Device_ConfigureEndpoints+0xe>
+    12c4:      40 96           adiw    r24, 0x10       ; 16
+    12c6:      fc 01           movw    r30, r24
+    12c8:      8b e0           ldi     r24, 0x0B       ; 11
+    12ca:      df 01           movw    r26, r30
+    12cc:      1d 92           st      X+, r1
+    12ce:      8a 95           dec     r24
+    12d0:      e9 f7           brne    .-6             ; 0x12cc <CDC_Device_ConfigureEndpoints+0xe>
 
        CDCInterfaceInfo->Config.DataINEndpoint.Type       = EP_TYPE_BULK;
-    1338:      82 e0           ldi     r24, 0x02       ; 2
-    133a:      8c 83           std     Y+4, r24        ; 0x04
+    12d2:      82 e0           ldi     r24, 0x02       ; 2
+    12d4:      8c 83           std     Y+4, r24        ; 0x04
        CDCInterfaceInfo->Config.DataOUTEndpoint.Type      = EP_TYPE_BULK;
-    133c:      89 87           std     Y+9, r24        ; 0x09
+    12d6:      89 87           std     Y+9, r24        ; 0x09
        CDCInterfaceInfo->Config.NotificationEndpoint.Type = EP_TYPE_INTERRUPT;
-    133e:      83 e0           ldi     r24, 0x03       ; 3
-    1340:      8e 87           std     Y+14, r24       ; 0x0e
+    12d8:      83 e0           ldi     r24, 0x03       ; 3
+    12da:      8e 87           std     Y+14, r24       ; 0x0e
 
        if (!(Endpoint_ConfigureEndpointTable(&CDCInterfaceInfo->Config.DataINEndpoint, 1)))
-    1342:      ce 01           movw    r24, r28
-    1344:      01 96           adiw    r24, 0x01       ; 1
-    1346:      61 e0           ldi     r22, 0x01       ; 1
-    1348:      08 dc           rcall   .-2032          ; 0xb5a <Endpoint_ConfigureEndpointTable>
-    134a:      88 23           and     r24, r24
-    134c:      59 f0           breq    .+22            ; 0x1364 <CDC_Device_ConfigureEndpoints+0x40>
+    12dc:      ce 01           movw    r24, r28
+    12de:      01 96           adiw    r24, 0x01       ; 1
+    12e0:      61 e0           ldi     r22, 0x01       ; 1
+    12e2:      3d dc           rcall   .-1926          ; 0xb5e <Endpoint_ConfigureEndpointTable>
+    12e4:      88 23           and     r24, r24
+    12e6:      59 f0           breq    .+22            ; 0x12fe <CDC_Device_ConfigureEndpoints+0x40>
          return false;
 
        if (!(Endpoint_ConfigureEndpointTable(&CDCInterfaceInfo->Config.DataOUTEndpoint, 1)))
-    134e:      ce 01           movw    r24, r28
-    1350:      06 96           adiw    r24, 0x06       ; 6
-    1352:      61 e0           ldi     r22, 0x01       ; 1
-    1354:      02 dc           rcall   .-2044          ; 0xb5a <Endpoint_ConfigureEndpointTable>
-    1356:      88 23           and     r24, r24
-    1358:      29 f0           breq    .+10            ; 0x1364 <CDC_Device_ConfigureEndpoints+0x40>
+    12e8:      ce 01           movw    r24, r28
+    12ea:      06 96           adiw    r24, 0x06       ; 6
+    12ec:      61 e0           ldi     r22, 0x01       ; 1
+    12ee:      37 dc           rcall   .-1938          ; 0xb5e <Endpoint_ConfigureEndpointTable>
+    12f0:      88 23           and     r24, r24
+    12f2:      29 f0           breq    .+10            ; 0x12fe <CDC_Device_ConfigureEndpoints+0x40>
          return false;
 
        if (!(Endpoint_ConfigureEndpointTable(&CDCInterfaceInfo->Config.NotificationEndpoint, 1)))
-    135a:      ce 01           movw    r24, r28
-    135c:      0b 96           adiw    r24, 0x0b       ; 11
-    135e:      61 e0           ldi     r22, 0x01       ; 1
-    1360:      fc db           rcall   .-2056          ; 0xb5a <Endpoint_ConfigureEndpointTable>
-    1362:      01 c0           rjmp    .+2             ; 0x1366 <CDC_Device_ConfigureEndpoints+0x42>
+    12f4:      ce 01           movw    r24, r28
+    12f6:      0b 96           adiw    r24, 0x0b       ; 11
+    12f8:      61 e0           ldi     r22, 0x01       ; 1
+    12fa:      31 dc           rcall   .-1950          ; 0xb5e <Endpoint_ConfigureEndpointTable>
+    12fc:      01 c0           rjmp    .+2             ; 0x1300 <CDC_Device_ConfigureEndpoints+0x42>
 
        if (!(Endpoint_ConfigureEndpointTable(&CDCInterfaceInfo->Config.DataINEndpoint, 1)))
          return false;
 
        if (!(Endpoint_ConfigureEndpointTable(&CDCInterfaceInfo->Config.DataOUTEndpoint, 1)))
          return false;
-    1364:      80 e0           ldi     r24, 0x00       ; 0
+    12fe:      80 e0           ldi     r24, 0x00       ; 0
 
        if (!(Endpoint_ConfigureEndpointTable(&CDCInterfaceInfo->Config.NotificationEndpoint, 1)))
          return false;
 
        return true;
 }
-    1366:      df 91           pop     r29
-    1368:      cf 91           pop     r28
-    136a:      08 95           ret
+    1300:      df 91           pop     r29
+    1302:      cf 91           pop     r28
+    1304:      08 95           ret
 
-0000136c <CDC_Device_SendByte>:
+00001306 <CDC_Device_SendByte>:
        return Endpoint_Write_Stream_LE(Buffer, Length, NULL);
 }
 
 uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
                             const uint8_t Data)
 {
-    136c:      df 93           push    r29
-    136e:      cf 93           push    r28
-    1370:      0f 92           push    r0
-    1372:      cd b7           in      r28, 0x3d       ; 61
-    1374:      de b7           in      r29, 0x3e       ; 62
-    1376:      fc 01           movw    r30, r24
+    1306:      df 93           push    r29
+    1308:      cf 93           push    r28
+    130a:      0f 92           push    r0
+    130c:      cd b7           in      r28, 0x3d       ; 61
+    130e:      de b7           in      r29, 0x3e       ; 62
+    1310:      fc 01           movw    r30, r24
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
-    1378:      8e b3           in      r24, 0x1e       ; 30
-    137a:      84 30           cpi     r24, 0x04       ; 4
-    137c:      f9 f4           brne    .+62            ; 0x13bc <CDC_Device_SendByte+0x50>
-    137e:      24 89           ldd     r18, Z+20       ; 0x14
-    1380:      35 89           ldd     r19, Z+21       ; 0x15
-    1382:      46 89           ldd     r20, Z+22       ; 0x16
-    1384:      57 89           ldd     r21, Z+23       ; 0x17
-    1386:      21 15           cp      r18, r1
-    1388:      31 05           cpc     r19, r1
-    138a:      41 05           cpc     r20, r1
-    138c:      51 05           cpc     r21, r1
-    138e:      b1 f0           breq    .+44            ; 0x13bc <CDC_Device_SendByte+0x50>
+    1312:      80 91 8e 02     lds     r24, 0x028E
+    1316:      84 30           cpi     r24, 0x04       ; 4
+    1318:      f9 f4           brne    .+62            ; 0x1358 <CDC_Device_SendByte+0x52>
+    131a:      24 89           ldd     r18, Z+20       ; 0x14
+    131c:      35 89           ldd     r19, Z+21       ; 0x15
+    131e:      46 89           ldd     r20, Z+22       ; 0x16
+    1320:      57 89           ldd     r21, Z+23       ; 0x17
+    1322:      21 15           cp      r18, r1
+    1324:      31 05           cpc     r19, r1
+    1326:      41 05           cpc     r20, r1
+    1328:      51 05           cpc     r21, r1
+    132a:      b1 f0           breq    .+44            ; 0x1358 <CDC_Device_SendByte+0x52>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-    1390:      81 81           ldd     r24, Z+1        ; 0x01
-    1392:      8f 70           andi    r24, 0x0F       ; 15
-    1394:      80 93 e9 00     sts     0x00E9, r24
+    132c:      81 81           ldd     r24, Z+1        ; 0x01
+    132e:      8f 70           andi    r24, 0x0F       ; 15
+    1330:      80 93 e9 00     sts     0x00E9, r24
                         *          on its direction.
                         */
                        static inline bool Endpoint_IsReadWriteAllowed(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsReadWriteAllowed(void)
                        {
                                return ((UEINTX & (1 << RWAL)) ? true : false);
-    1398:      80 91 e8 00     lds     r24, 0x00E8
+    1334:      80 91 e8 00     lds     r24, 0x00E8
          return ENDPOINT_RWSTREAM_DeviceDisconnected;
 
        Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpoint.Address);
 
        if (!(Endpoint_IsReadWriteAllowed()))
-    139c:      85 fd           sbrc    r24, 5
-    139e:      0a c0           rjmp    .+20            ; 0x13b4 <CDC_Device_SendByte+0x48>
+    1338:      85 fd           sbrc    r24, 5
+    133a:      0a c0           rjmp    .+20            ; 0x1350 <CDC_Device_SendByte+0x4a>
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-    13a0:      80 91 e8 00     lds     r24, 0x00E8
-    13a4:      8e 77           andi    r24, 0x7E       ; 126
-    13a6:      80 93 e8 00     sts     0x00E8, r24
+    133c:      80 91 e8 00     lds     r24, 0x00E8
+    1340:      8e 77           andi    r24, 0x7E       ; 126
+    1342:      80 93 e8 00     sts     0x00E8, r24
        {
                Endpoint_ClearIN();
 
                uint8_t ErrorCode;
 
                if ((ErrorCode = Endpoint_WaitUntilReady()) != ENDPOINT_READYWAIT_NoError)
-    13aa:      69 83           std     Y+1, r22        ; 0x01
-    13ac:      39 dc           rcall   .-1934          ; 0xc20 <Endpoint_WaitUntilReady>
-    13ae:      69 81           ldd     r22, Y+1        ; 0x01
-    13b0:      88 23           and     r24, r24
-    13b2:      29 f4           brne    .+10            ; 0x13be <CDC_Device_SendByte+0x52>
+    1346:      69 83           std     Y+1, r22        ; 0x01
+    1348:      6f dc           rcall   .-1826          ; 0xc28 <Endpoint_WaitUntilReady>
+    134a:      69 81           ldd     r22, Y+1        ; 0x01
+    134c:      88 23           and     r24, r24
+    134e:      29 f4           brne    .+10            ; 0x135a <CDC_Device_SendByte+0x54>
                         *  \param[in] Data  Data to write into the the currently selected endpoint's FIFO buffer.
                         */
                        static inline void Endpoint_Write_8(const uint8_t Data) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_Write_8(const uint8_t Data)
                        {
                                UEDATX = Data;
-    13b4:      60 93 f1 00     sts     0x00F1, r22
+    1350:      60 93 f1 00     sts     0x00F1, r22
                  return ErrorCode;
        }
 
        Endpoint_Write_8(Data);
        return ENDPOINT_READYWAIT_NoError;
-    13b8:      80 e0           ldi     r24, 0x00       ; 0
-    13ba:      01 c0           rjmp    .+2             ; 0x13be <CDC_Device_SendByte+0x52>
+    1354:      80 e0           ldi     r24, 0x00       ; 0
+    1356:      01 c0           rjmp    .+2             ; 0x135a <CDC_Device_SendByte+0x54>
 
 uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
                             const uint8_t Data)
 {
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return ENDPOINT_RWSTREAM_DeviceDisconnected;
-    13bc:      82 e0           ldi     r24, 0x02       ; 2
+    1358:      82 e0           ldi     r24, 0x02       ; 2
                  return ErrorCode;
        }
 
        Endpoint_Write_8(Data);
        return ENDPOINT_READYWAIT_NoError;
 }
-    13be:      0f 90           pop     r0
-    13c0:      cf 91           pop     r28
-    13c2:      df 91           pop     r29
-    13c4:      08 95           ret
+    135a:      0f 90           pop     r0
+    135c:      cf 91           pop     r28
+    135e:      df 91           pop     r29
+    1360:      08 95           ret
 
-000013c6 <CDC_Device_Flush>:
+00001362 <CDC_Device_Flush>:
 
 uint8_t CDC_Device_Flush(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
-    13c6:      fc 01           movw    r30, r24
+    1362:      fc 01           movw    r30, r24
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
-    13c8:      8e b3           in      r24, 0x1e       ; 30
-    13ca:      84 30           cpi     r24, 0x04       ; 4
-    13cc:      19 f5           brne    .+70            ; 0x1414 <CDC_Device_Flush+0x4e>
-    13ce:      24 89           ldd     r18, Z+20       ; 0x14
-    13d0:      35 89           ldd     r19, Z+21       ; 0x15
-    13d2:      46 89           ldd     r20, Z+22       ; 0x16
-    13d4:      57 89           ldd     r21, Z+23       ; 0x17
-    13d6:      21 15           cp      r18, r1
-    13d8:      31 05           cpc     r19, r1
-    13da:      41 05           cpc     r20, r1
-    13dc:      51 05           cpc     r21, r1
-    13de:      d1 f0           breq    .+52            ; 0x1414 <CDC_Device_Flush+0x4e>
+    1364:      80 91 8e 02     lds     r24, 0x028E
+    1368:      84 30           cpi     r24, 0x04       ; 4
+    136a:      19 f5           brne    .+70            ; 0x13b2 <CDC_Device_Flush+0x50>
+    136c:      24 89           ldd     r18, Z+20       ; 0x14
+    136e:      35 89           ldd     r19, Z+21       ; 0x15
+    1370:      46 89           ldd     r20, Z+22       ; 0x16
+    1372:      57 89           ldd     r21, Z+23       ; 0x17
+    1374:      21 15           cp      r18, r1
+    1376:      31 05           cpc     r19, r1
+    1378:      41 05           cpc     r20, r1
+    137a:      51 05           cpc     r21, r1
+    137c:      d1 f0           breq    .+52            ; 0x13b2 <CDC_Device_Flush+0x50>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-    13e0:      81 81           ldd     r24, Z+1        ; 0x01
-    13e2:      8f 70           andi    r24, 0x0F       ; 15
-    13e4:      80 93 e9 00     sts     0x00E9, r24
+    137e:      81 81           ldd     r24, Z+1        ; 0x01
+    1380:      8f 70           andi    r24, 0x0F       ; 15
+    1382:      80 93 e9 00     sts     0x00E9, r24
                                #if (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
                                        return UEBCX;
                                #elif defined(USB_SERIES_4_AVR)
                                        return (((uint16_t)UEBCHX << 8) | UEBCLX);
                                #elif defined(USB_SERIES_2_AVR)
                                        return UEBCLX;
-    13e8:      80 91 f2 00     lds     r24, 0x00F2
+    1386:      80 91 f2 00     lds     r24, 0x00F2
 
        uint8_t ErrorCode;
 
        Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpoint.Address);
 
        if (!(Endpoint_BytesInEndpoint()))
-    13ec:      88 23           and     r24, r24
-    13ee:      a1 f0           breq    .+40            ; 0x1418 <CDC_Device_Flush+0x52>
+    138a:      88 23           and     r24, r24
+    138c:      a1 f0           breq    .+40            ; 0x13b6 <CDC_Device_Flush+0x54>
                         *          on its direction.
                         */
                        static inline bool Endpoint_IsReadWriteAllowed(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsReadWriteAllowed(void)
                        {
                                return ((UEINTX & (1 << RWAL)) ? true : false);
-    13f0:      90 91 e8 00     lds     r25, 0x00E8
+    138e:      90 91 e8 00     lds     r25, 0x00E8
                         */
                        static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearIN(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
-    13f4:      80 91 e8 00     lds     r24, 0x00E8
-    13f8:      8e 77           andi    r24, 0x7E       ; 126
-    13fa:      80 93 e8 00     sts     0x00E8, r24
+    1392:      80 91 e8 00     lds     r24, 0x00E8
+    1396:      8e 77           andi    r24, 0x7E       ; 126
+    1398:      80 93 e8 00     sts     0x00E8, r24
 
        bool BankFull = !(Endpoint_IsReadWriteAllowed());
 
        Endpoint_ClearIN();
 
        if (BankFull)
-    13fe:      95 fd           sbrc    r25, 5
-    1400:      0d c0           rjmp    .+26            ; 0x141c <CDC_Device_Flush+0x56>
+    139c:      95 fd           sbrc    r25, 5
+    139e:      0d c0           rjmp    .+26            ; 0x13ba <CDC_Device_Flush+0x58>
        {
                if ((ErrorCode = Endpoint_WaitUntilReady()) != ENDPOINT_READYWAIT_NoError)
-    1402:      0e dc           rcall   .-2020          ; 0xc20 <Endpoint_WaitUntilReady>
-    1404:      88 23           and     r24, r24
-    1406:      59 f4           brne    .+22            ; 0x141e <CDC_Device_Flush+0x58>
-    1408:      90 91 e8 00     lds     r25, 0x00E8
-    140c:      9e 77           andi    r25, 0x7E       ; 126
-    140e:      90 93 e8 00     sts     0x00E8, r25
-    1412:      08 95           ret
+    13a0:      43 dc           rcall   .-1914          ; 0xc28 <Endpoint_WaitUntilReady>
+    13a2:      88 23           and     r24, r24
+    13a4:      59 f4           brne    .+22            ; 0x13bc <CDC_Device_Flush+0x5a>
+    13a6:      90 91 e8 00     lds     r25, 0x00E8
+    13aa:      9e 77           andi    r25, 0x7E       ; 126
+    13ac:      90 93 e8 00     sts     0x00E8, r25
+    13b0:      08 95           ret
 }
 
 uint8_t CDC_Device_Flush(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return ENDPOINT_RWSTREAM_DeviceDisconnected;
-    1414:      82 e0           ldi     r24, 0x02       ; 2
-    1416:      08 95           ret
+    13b2:      82 e0           ldi     r24, 0x02       ; 2
+    13b4:      08 95           ret
        uint8_t ErrorCode;
 
        Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpoint.Address);
 
        if (!(Endpoint_BytesInEndpoint()))
          return ENDPOINT_READYWAIT_NoError;
-    1418:      80 e0           ldi     r24, 0x00       ; 0
-    141a:      08 95           ret
+    13b6:      80 e0           ldi     r24, 0x00       ; 0
+    13b8:      08 95           ret
                  return ErrorCode;
 
                Endpoint_ClearIN();
        }
 
        return ENDPOINT_READYWAIT_NoError;
-    141c:      80 e0           ldi     r24, 0x00       ; 0
+    13ba:      80 e0           ldi     r24, 0x00       ; 0
 }
-    141e:      08 95           ret
+    13bc:      08 95           ret
 
-00001420 <CDC_Device_USBTask>:
+000013be <CDC_Device_USBTask>:
        return true;
 }
 
 void CDC_Device_USBTask(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
-    1420:      2e b3           in      r18, 0x1e       ; 30
-    1422:      24 30           cpi     r18, 0x04       ; 4
-    1424:      99 f4           brne    .+38            ; 0x144c <CDC_Device_USBTask+0x2c>
-    1426:      fc 01           movw    r30, r24
-    1428:      24 89           ldd     r18, Z+20       ; 0x14
-    142a:      35 89           ldd     r19, Z+21       ; 0x15
-    142c:      46 89           ldd     r20, Z+22       ; 0x16
-    142e:      57 89           ldd     r21, Z+23       ; 0x17
-    1430:      21 15           cp      r18, r1
-    1432:      31 05           cpc     r19, r1
-    1434:      41 05           cpc     r20, r1
-    1436:      51 05           cpc     r21, r1
-    1438:      49 f0           breq    .+18            ; 0x144c <CDC_Device_USBTask+0x2c>
+    13be:      20 91 8e 02     lds     r18, 0x028E
+    13c2:      24 30           cpi     r18, 0x04       ; 4
+    13c4:      99 f4           brne    .+38            ; 0x13ec <CDC_Device_USBTask+0x2e>
+    13c6:      fc 01           movw    r30, r24
+    13c8:      24 89           ldd     r18, Z+20       ; 0x14
+    13ca:      35 89           ldd     r19, Z+21       ; 0x15
+    13cc:      46 89           ldd     r20, Z+22       ; 0x16
+    13ce:      57 89           ldd     r21, Z+23       ; 0x17
+    13d0:      21 15           cp      r18, r1
+    13d2:      31 05           cpc     r19, r1
+    13d4:      41 05           cpc     r20, r1
+    13d6:      51 05           cpc     r21, r1
+    13d8:      49 f0           breq    .+18            ; 0x13ec <CDC_Device_USBTask+0x2e>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-    143a:      21 81           ldd     r18, Z+1        ; 0x01
-    143c:      2f 70           andi    r18, 0x0F       ; 15
-    143e:      20 93 e9 00     sts     0x00E9, r18
+    13da:      21 81           ldd     r18, Z+1        ; 0x01
+    13dc:      2f 70           andi    r18, 0x0F       ; 15
+    13de:      20 93 e9 00     sts     0x00E9, r18
                         *  \return Boolean \c true if the current endpoint is ready for an IN packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsINReady(void)
                        {
                                return ((UEINTX & (1 << TXINI)) ? true : false);
-    1442:      20 91 e8 00     lds     r18, 0x00E8
+    13e2:      20 91 e8 00     lds     r18, 0x00E8
          return;
 
        #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
        Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpoint.Address);
 
        if (Endpoint_IsINReady())
-    1446:      20 ff           sbrs    r18, 0
-    1448:      01 c0           rjmp    .+2             ; 0x144c <CDC_Device_USBTask+0x2c>
+    13e6:      20 ff           sbrs    r18, 0
+    13e8:      01 c0           rjmp    .+2             ; 0x13ec <CDC_Device_USBTask+0x2e>
          CDC_Device_Flush(CDCInterfaceInfo);
-    144a:      bd cf           rjmp    .-134           ; 0x13c6 <CDC_Device_Flush>
-    144c:      08 95           ret
+    13ea:      bb cf           rjmp    .-138           ; 0x1362 <CDC_Device_Flush>
+    13ec:      08 95           ret
 
-0000144e <CDC_Device_ReceiveByte>:
+000013ee <CDC_Device_ReceiveByte>:
                return 0;
        }
 }
 
 int16_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
-    144e:      fc 01           movw    r30, r24
+    13ee:      fc 01           movw    r30, r24
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
-    1450:      8e b3           in      r24, 0x1e       ; 30
-    1452:      84 30           cpi     r24, 0x04       ; 4
-    1454:      29 f5           brne    .+74            ; 0x14a0 <CDC_Device_ReceiveByte+0x52>
-    1456:      24 89           ldd     r18, Z+20       ; 0x14
-    1458:      35 89           ldd     r19, Z+21       ; 0x15
-    145a:      46 89           ldd     r20, Z+22       ; 0x16
-    145c:      57 89           ldd     r21, Z+23       ; 0x17
-    145e:      21 15           cp      r18, r1
-    1460:      31 05           cpc     r19, r1
-    1462:      41 05           cpc     r20, r1
-    1464:      51 05           cpc     r21, r1
-    1466:      e1 f0           breq    .+56            ; 0x14a0 <CDC_Device_ReceiveByte+0x52>
+    13f0:      80 91 8e 02     lds     r24, 0x028E
+    13f4:      84 30           cpi     r24, 0x04       ; 4
+    13f6:      29 f5           brne    .+74            ; 0x1442 <CDC_Device_ReceiveByte+0x54>
+    13f8:      24 89           ldd     r18, Z+20       ; 0x14
+    13fa:      35 89           ldd     r19, Z+21       ; 0x15
+    13fc:      46 89           ldd     r20, Z+22       ; 0x16
+    13fe:      57 89           ldd     r21, Z+23       ; 0x17
+    1400:      21 15           cp      r18, r1
+    1402:      31 05           cpc     r19, r1
+    1404:      41 05           cpc     r20, r1
+    1406:      51 05           cpc     r21, r1
+    1408:      e1 f0           breq    .+56            ; 0x1442 <CDC_Device_ReceiveByte+0x54>
                         */
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_SelectEndpoint(const uint8_t Address)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UENUM = (Address & ENDPOINT_EPNUM_MASK);
-    1468:      86 81           ldd     r24, Z+6        ; 0x06
-    146a:      8f 70           andi    r24, 0x0F       ; 15
-    146c:      80 93 e9 00     sts     0x00E9, r24
+    140a:      86 81           ldd     r24, Z+6        ; 0x06
+    140c:      8f 70           andi    r24, 0x0F       ; 15
+    140e:      80 93 e9 00     sts     0x00E9, r24
                         *  \return Boolean \c true if current endpoint is has received an OUT packet, \c false otherwise.
                         */
                        static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline bool Endpoint_IsOUTReceived(void)
                        {
                                return ((UEINTX & (1 << RXOUTI)) ? true : false);
-    1470:      80 91 e8 00     lds     r24, 0x00E8
+    1412:      80 91 e8 00     lds     r24, 0x00E8
 
        int16_t ReceivedByte = -1;
 
        Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataOUTEndpoint.Address);
 
        if (Endpoint_IsOUTReceived())
-    1474:      82 ff           sbrs    r24, 2
-    1476:      14 c0           rjmp    .+40            ; 0x14a0 <CDC_Device_ReceiveByte+0x52>
+    1416:      82 ff           sbrs    r24, 2
+    1418:      14 c0           rjmp    .+40            ; 0x1442 <CDC_Device_ReceiveByte+0x54>
                                #if (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
                                        return UEBCX;
                                #elif defined(USB_SERIES_4_AVR)
                                        return (((uint16_t)UEBCHX << 8) | UEBCLX);
                                #elif defined(USB_SERIES_2_AVR)
                                        return UEBCLX;
-    1478:      80 91 f2 00     lds     r24, 0x00F2
+    141a:      80 91 f2 00     lds     r24, 0x00F2
        {
                if (Endpoint_BytesInEndpoint())
-    147c:      88 23           and     r24, r24
-    147e:      21 f0           breq    .+8             ; 0x1488 <CDC_Device_ReceiveByte+0x3a>
+    141e:      88 23           and     r24, r24
+    1420:      21 f0           breq    .+8             ; 0x142a <CDC_Device_ReceiveByte+0x3c>
                         *  \return Next byte in the currently selected endpoint's FIFO buffer.
                         */
                        static inline uint8_t Endpoint_Read_8(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
                        static inline uint8_t Endpoint_Read_8(void)
                        {
                                return UEDATX;
-    1480:      20 91 f1 00     lds     r18, 0x00F1
+    1422:      20 91 f1 00     lds     r18, 0x00F1
                  ReceivedByte = Endpoint_Read_8();
-    1484:      30 e0           ldi     r19, 0x00       ; 0
-    1486:      02 c0           rjmp    .+4             ; 0x148c <CDC_Device_ReceiveByte+0x3e>
+    1426:      30 e0           ldi     r19, 0x00       ; 0
+    1428:      02 c0           rjmp    .+4             ; 0x142e <CDC_Device_ReceiveByte+0x40>
 int16_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return -1;
 
        int16_t ReceivedByte = -1;
-    1488:      2f ef           ldi     r18, 0xFF       ; 255
-    148a:      3f ef           ldi     r19, 0xFF       ; 255
+    142a:      2f ef           ldi     r18, 0xFF       ; 255
+    142c:      3f ef           ldi     r19, 0xFF       ; 255
                                #if (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
                                        return UEBCX;
                                #elif defined(USB_SERIES_4_AVR)
                                        return (((uint16_t)UEBCHX << 8) | UEBCLX);
                                #elif defined(USB_SERIES_2_AVR)
                                        return UEBCLX;
-    148c:      80 91 f2 00     lds     r24, 0x00F2
+    142e:      80 91 f2 00     lds     r24, 0x00F2
        if (Endpoint_IsOUTReceived())
        {
                if (Endpoint_BytesInEndpoint())
                  ReceivedByte = Endpoint_Read_8();
 
                if (!(Endpoint_BytesInEndpoint()))
-    1490:      88 23           and     r24, r24
-    1492:      41 f4           brne    .+16            ; 0x14a4 <CDC_Device_ReceiveByte+0x56>
+    1432:      88 23           and     r24, r24
+    1434:      41 f4           brne    .+16            ; 0x1446 <CDC_Device_ReceiveByte+0x58>
                         */
                        static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
                        static inline void Endpoint_ClearOUT(void)
                        {
                                #if !defined(CONTROL_ONLY_DEVICE)
                                        UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
-    1494:      80 91 e8 00     lds     r24, 0x00E8
-    1498:      8b 77           andi    r24, 0x7B       ; 123
-    149a:      80 93 e8 00     sts     0x00E8, r24
-    149e:      02 c0           rjmp    .+4             ; 0x14a4 <CDC_Device_ReceiveByte+0x56>
+    1436:      80 91 e8 00     lds     r24, 0x00E8
+    143a:      8b 77           andi    r24, 0x7B       ; 123
+    143c:      80 93 e8 00     sts     0x00E8, r24
+    1440:      02 c0           rjmp    .+4             ; 0x1446 <CDC_Device_ReceiveByte+0x58>
 int16_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
        if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
          return -1;
 
        int16_t ReceivedByte = -1;
-    14a0:      2f ef           ldi     r18, 0xFF       ; 255
-    14a2:      3f ef           ldi     r19, 0xFF       ; 255
+    1442:      2f ef           ldi     r18, 0xFF       ; 255
+    1444:      3f ef           ldi     r19, 0xFF       ; 255
                if (!(Endpoint_BytesInEndpoint()))
                  Endpoint_ClearOUT();
        }
 
        return ReceivedByte;
 }
-    14a4:      c9 01           movw    r24, r18
-    14a6:      08 95           ret
+    1446:      c9 01           movw    r24, r18
+    1448:      08 95           ret
 
-000014a8 <CDC_Device_Event_Stub>:
+0000144a <CDC_Device_Event_Stub>:
 #endif
 
 void CDC_Device_Event_Stub(void)
 {
 
 }
-    14a8:      08 95           ret
-
-000014aa <__subsf3>:
-    14aa:      50 58           subi    r21, 0x80       ; 128
-
-000014ac <__addsf3>:
-    14ac:      bb 27           eor     r27, r27
-    14ae:      aa 27           eor     r26, r26
-    14b0:      0e d0           rcall   .+28            ; 0x14ce <__addsf3x>
-    14b2:      70 c1           rjmp    .+736           ; 0x1794 <__fp_round>
-    14b4:      61 d1           rcall   .+706           ; 0x1778 <__fp_pscA>
-    14b6:      30 f0           brcs    .+12            ; 0x14c4 <__addsf3+0x18>
-    14b8:      66 d1           rcall   .+716           ; 0x1786 <__fp_pscB>
-    14ba:      20 f0           brcs    .+8             ; 0x14c4 <__addsf3+0x18>
-    14bc:      31 f4           brne    .+12            ; 0x14ca <__addsf3+0x1e>
-    14be:      9f 3f           cpi     r25, 0xFF       ; 255
-    14c0:      11 f4           brne    .+4             ; 0x14c6 <__addsf3+0x1a>
-    14c2:      1e f4           brtc    .+6             ; 0x14ca <__addsf3+0x1e>
-    14c4:      56 c1           rjmp    .+684           ; 0x1772 <__fp_nan>
-    14c6:      0e f4           brtc    .+2             ; 0x14ca <__addsf3+0x1e>
-    14c8:      e0 95           com     r30
-    14ca:      e7 fb           bst     r30, 7
-    14cc:      4c c1           rjmp    .+664           ; 0x1766 <__fp_inf>
-
-000014ce <__addsf3x>:
-    14ce:      e9 2f           mov     r30, r25
-    14d0:      72 d1           rcall   .+740           ; 0x17b6 <__fp_split3>
-    14d2:      80 f3           brcs    .-32            ; 0x14b4 <__addsf3+0x8>
-    14d4:      ba 17           cp      r27, r26
-    14d6:      62 07           cpc     r22, r18
-    14d8:      73 07           cpc     r23, r19
-    14da:      84 07           cpc     r24, r20
-    14dc:      95 07           cpc     r25, r21
-    14de:      18 f0           brcs    .+6             ; 0x14e6 <__addsf3x+0x18>
-    14e0:      71 f4           brne    .+28            ; 0x14fe <__addsf3x+0x30>
-    14e2:      9e f5           brtc    .+102           ; 0x154a <__addsf3x+0x7c>
-    14e4:      8a c1           rjmp    .+788           ; 0x17fa <__fp_zero>
-    14e6:      0e f4           brtc    .+2             ; 0x14ea <__addsf3x+0x1c>
-    14e8:      e0 95           com     r30
-    14ea:      0b 2e           mov     r0, r27
-    14ec:      ba 2f           mov     r27, r26
-    14ee:      a0 2d           mov     r26, r0
-    14f0:      0b 01           movw    r0, r22
-    14f2:      b9 01           movw    r22, r18
-    14f4:      90 01           movw    r18, r0
-    14f6:      0c 01           movw    r0, r24
-    14f8:      ca 01           movw    r24, r20
-    14fa:      a0 01           movw    r20, r0
-    14fc:      11 24           eor     r1, r1
-    14fe:      ff 27           eor     r31, r31
-    1500:      59 1b           sub     r21, r25
-    1502:      99 f0           breq    .+38            ; 0x152a <__addsf3x+0x5c>
-    1504:      59 3f           cpi     r21, 0xF9       ; 249
-    1506:      50 f4           brcc    .+20            ; 0x151c <__addsf3x+0x4e>
-    1508:      50 3e           cpi     r21, 0xE0       ; 224
-    150a:      68 f1           brcs    .+90            ; 0x1566 <__addsf3x+0x98>
-    150c:      1a 16           cp      r1, r26
-    150e:      f0 40           sbci    r31, 0x00       ; 0
-    1510:      a2 2f           mov     r26, r18
-    1512:      23 2f           mov     r18, r19
-    1514:      34 2f           mov     r19, r20
-    1516:      44 27           eor     r20, r20
-    1518:      58 5f           subi    r21, 0xF8       ; 248
-    151a:      f3 cf           rjmp    .-26            ; 0x1502 <__addsf3x+0x34>
-    151c:      46 95           lsr     r20
-    151e:      37 95           ror     r19
-    1520:      27 95           ror     r18
-    1522:      a7 95           ror     r26
-    1524:      f0 40           sbci    r31, 0x00       ; 0
-    1526:      53 95           inc     r21
-    1528:      c9 f7           brne    .-14            ; 0x151c <__addsf3x+0x4e>
-    152a:      7e f4           brtc    .+30            ; 0x154a <__addsf3x+0x7c>
-    152c:      1f 16           cp      r1, r31
-    152e:      ba 0b           sbc     r27, r26
-    1530:      62 0b           sbc     r22, r18
-    1532:      73 0b           sbc     r23, r19
-    1534:      84 0b           sbc     r24, r20
-    1536:      ba f0           brmi    .+46            ; 0x1566 <__addsf3x+0x98>
-    1538:      91 50           subi    r25, 0x01       ; 1
-    153a:      a1 f0           breq    .+40            ; 0x1564 <__addsf3x+0x96>
-    153c:      ff 0f           add     r31, r31
-    153e:      bb 1f           adc     r27, r27
-    1540:      66 1f           adc     r22, r22
-    1542:      77 1f           adc     r23, r23
-    1544:      88 1f           adc     r24, r24
-    1546:      c2 f7           brpl    .-16            ; 0x1538 <__addsf3x+0x6a>
-    1548:      0e c0           rjmp    .+28            ; 0x1566 <__addsf3x+0x98>
-    154a:      ba 0f           add     r27, r26
-    154c:      62 1f           adc     r22, r18
-    154e:      73 1f           adc     r23, r19
-    1550:      84 1f           adc     r24, r20
-    1552:      48 f4           brcc    .+18            ; 0x1566 <__addsf3x+0x98>
-    1554:      87 95           ror     r24
-    1556:      77 95           ror     r23
-    1558:      67 95           ror     r22
-    155a:      b7 95           ror     r27
-    155c:      f7 95           ror     r31
-    155e:      9e 3f           cpi     r25, 0xFE       ; 254
-    1560:      08 f0           brcs    .+2             ; 0x1564 <__addsf3x+0x96>
-    1562:      b3 cf           rjmp    .-154           ; 0x14ca <__addsf3+0x1e>
-    1564:      93 95           inc     r25
-    1566:      88 0f           add     r24, r24
-    1568:      08 f0           brcs    .+2             ; 0x156c <__addsf3x+0x9e>
-    156a:      99 27           eor     r25, r25
-    156c:      ee 0f           add     r30, r30
-    156e:      97 95           ror     r25
-    1570:      87 95           ror     r24
-    1572:      08 95           ret
-
-00001574 <__cmpsf2>:
-    1574:      d4 d0           rcall   .+424           ; 0x171e <__fp_cmp>
-    1576:      08 f4           brcc    .+2             ; 0x157a <__cmpsf2+0x6>
-    1578:      81 e0           ldi     r24, 0x01       ; 1
-    157a:      08 95           ret
-
-0000157c <__divsf3>:
-    157c:      0c d0           rcall   .+24            ; 0x1596 <__divsf3x>
-    157e:      0a c1           rjmp    .+532           ; 0x1794 <__fp_round>
-    1580:      02 d1           rcall   .+516           ; 0x1786 <__fp_pscB>
-    1582:      40 f0           brcs    .+16            ; 0x1594 <__divsf3+0x18>
-    1584:      f9 d0           rcall   .+498           ; 0x1778 <__fp_pscA>
-    1586:      30 f0           brcs    .+12            ; 0x1594 <__divsf3+0x18>
-    1588:      21 f4           brne    .+8             ; 0x1592 <__divsf3+0x16>
-    158a:      5f 3f           cpi     r21, 0xFF       ; 255
-    158c:      19 f0           breq    .+6             ; 0x1594 <__divsf3+0x18>
-    158e:      eb c0           rjmp    .+470           ; 0x1766 <__fp_inf>
-    1590:      51 11           cpse    r21, r1
-    1592:      34 c1           rjmp    .+616           ; 0x17fc <__fp_szero>
-    1594:      ee c0           rjmp    .+476           ; 0x1772 <__fp_nan>
-
-00001596 <__divsf3x>:
-    1596:      0f d1           rcall   .+542           ; 0x17b6 <__fp_split3>
-    1598:      98 f3           brcs    .-26            ; 0x1580 <__divsf3+0x4>
-
-0000159a <__divsf3_pse>:
-    159a:      99 23           and     r25, r25
-    159c:      c9 f3           breq    .-14            ; 0x1590 <__divsf3+0x14>
-    159e:      55 23           and     r21, r21
-    15a0:      b1 f3           breq    .-20            ; 0x158e <__divsf3+0x12>
-    15a2:      95 1b           sub     r25, r21
-    15a4:      55 0b           sbc     r21, r21
-    15a6:      bb 27           eor     r27, r27
-    15a8:      aa 27           eor     r26, r26
-    15aa:      62 17           cp      r22, r18
-    15ac:      73 07           cpc     r23, r19
-    15ae:      84 07           cpc     r24, r20
-    15b0:      38 f0           brcs    .+14            ; 0x15c0 <__divsf3_pse+0x26>
-    15b2:      9f 5f           subi    r25, 0xFF       ; 255
-    15b4:      5f 4f           sbci    r21, 0xFF       ; 255
-    15b6:      22 0f           add     r18, r18
-    15b8:      33 1f           adc     r19, r19
-    15ba:      44 1f           adc     r20, r20
-    15bc:      aa 1f           adc     r26, r26
-    15be:      a9 f3           breq    .-22            ; 0x15aa <__divsf3_pse+0x10>
-    15c0:      33 d0           rcall   .+102           ; 0x1628 <__divsf3_pse+0x8e>
-    15c2:      0e 2e           mov     r0, r30
-    15c4:      3a f0           brmi    .+14            ; 0x15d4 <__divsf3_pse+0x3a>
-    15c6:      e0 e8           ldi     r30, 0x80       ; 128
-    15c8:      30 d0           rcall   .+96            ; 0x162a <__divsf3_pse+0x90>
-    15ca:      91 50           subi    r25, 0x01       ; 1
-    15cc:      50 40           sbci    r21, 0x00       ; 0
-    15ce:      e6 95           lsr     r30
-    15d0:      00 1c           adc     r0, r0
-    15d2:      ca f7           brpl    .-14            ; 0x15c6 <__divsf3_pse+0x2c>
-    15d4:      29 d0           rcall   .+82            ; 0x1628 <__divsf3_pse+0x8e>
-    15d6:      fe 2f           mov     r31, r30
-    15d8:      27 d0           rcall   .+78            ; 0x1628 <__divsf3_pse+0x8e>
-    15da:      66 0f           add     r22, r22
-    15dc:      77 1f           adc     r23, r23
-    15de:      88 1f           adc     r24, r24
-    15e0:      bb 1f           adc     r27, r27
-    15e2:      26 17           cp      r18, r22
-    15e4:      37 07           cpc     r19, r23
-    15e6:      48 07           cpc     r20, r24
-    15e8:      ab 07           cpc     r26, r27
-    15ea:      b0 e8           ldi     r27, 0x80       ; 128
-    15ec:      09 f0           breq    .+2             ; 0x15f0 <__divsf3_pse+0x56>
-    15ee:      bb 0b           sbc     r27, r27
-    15f0:      80 2d           mov     r24, r0
-    15f2:      bf 01           movw    r22, r30
-    15f4:      ff 27           eor     r31, r31
-    15f6:      93 58           subi    r25, 0x83       ; 131
-    15f8:      5f 4f           sbci    r21, 0xFF       ; 255
-    15fa:      2a f0           brmi    .+10            ; 0x1606 <__divsf3_pse+0x6c>
-    15fc:      9e 3f           cpi     r25, 0xFE       ; 254
-    15fe:      51 05           cpc     r21, r1
-    1600:      68 f0           brcs    .+26            ; 0x161c <__divsf3_pse+0x82>
-    1602:      b1 c0           rjmp    .+354           ; 0x1766 <__fp_inf>
-    1604:      fb c0           rjmp    .+502           ; 0x17fc <__fp_szero>
-    1606:      5f 3f           cpi     r21, 0xFF       ; 255
-    1608:      ec f3           brlt    .-6             ; 0x1604 <__divsf3_pse+0x6a>
-    160a:      98 3e           cpi     r25, 0xE8       ; 232
-    160c:      dc f3           brlt    .-10            ; 0x1604 <__divsf3_pse+0x6a>
-    160e:      86 95           lsr     r24
-    1610:      77 95           ror     r23
-    1612:      67 95           ror     r22
-    1614:      b7 95           ror     r27
-    1616:      f7 95           ror     r31
-    1618:      9f 5f           subi    r25, 0xFF       ; 255
-    161a:      c9 f7           brne    .-14            ; 0x160e <__divsf3_pse+0x74>
-    161c:      88 0f           add     r24, r24
-    161e:      91 1d           adc     r25, r1
-    1620:      96 95           lsr     r25
-    1622:      87 95           ror     r24
-    1624:      97 f9           bld     r25, 7
-    1626:      08 95           ret
-    1628:      e1 e0           ldi     r30, 0x01       ; 1
-    162a:      66 0f           add     r22, r22
-    162c:      77 1f           adc     r23, r23
-    162e:      88 1f           adc     r24, r24
-    1630:      bb 1f           adc     r27, r27
-    1632:      62 17           cp      r22, r18
-    1634:      73 07           cpc     r23, r19
-    1636:      84 07           cpc     r24, r20
-    1638:      ba 07           cpc     r27, r26
-    163a:      20 f0           brcs    .+8             ; 0x1644 <__divsf3_pse+0xaa>
-    163c:      62 1b           sub     r22, r18
-    163e:      73 0b           sbc     r23, r19
-    1640:      84 0b           sbc     r24, r20
-    1642:      ba 0b           sbc     r27, r26
-    1644:      ee 1f           adc     r30, r30
-    1646:      88 f7           brcc    .-30            ; 0x162a <__divsf3_pse+0x90>
-    1648:      e0 95           com     r30
-    164a:      08 95           ret
-
-0000164c <__fixunssfsi>:
-    164c:      bc d0           rcall   .+376           ; 0x17c6 <__fp_splitA>
-    164e:      88 f0           brcs    .+34            ; 0x1672 <__fixunssfsi+0x26>
-    1650:      9f 57           subi    r25, 0x7F       ; 127
-    1652:      90 f0           brcs    .+36            ; 0x1678 <__fixunssfsi+0x2c>
-    1654:      b9 2f           mov     r27, r25
-    1656:      99 27           eor     r25, r25
-    1658:      b7 51           subi    r27, 0x17       ; 23
-    165a:      a0 f0           brcs    .+40            ; 0x1684 <__fixunssfsi+0x38>
-    165c:      d1 f0           breq    .+52            ; 0x1692 <__fixunssfsi+0x46>
-    165e:      66 0f           add     r22, r22
-    1660:      77 1f           adc     r23, r23
-    1662:      88 1f           adc     r24, r24
-    1664:      99 1f           adc     r25, r25
-    1666:      1a f0           brmi    .+6             ; 0x166e <__fixunssfsi+0x22>
-    1668:      ba 95           dec     r27
-    166a:      c9 f7           brne    .-14            ; 0x165e <__fixunssfsi+0x12>
-    166c:      12 c0           rjmp    .+36            ; 0x1692 <__fixunssfsi+0x46>
-    166e:      b1 30           cpi     r27, 0x01       ; 1
-    1670:      81 f0           breq    .+32            ; 0x1692 <__fixunssfsi+0x46>
-    1672:      c3 d0           rcall   .+390           ; 0x17fa <__fp_zero>
-    1674:      b1 e0           ldi     r27, 0x01       ; 1
-    1676:      08 95           ret
-    1678:      c0 c0           rjmp    .+384           ; 0x17fa <__fp_zero>
-    167a:      67 2f           mov     r22, r23
-    167c:      78 2f           mov     r23, r24
-    167e:      88 27           eor     r24, r24
-    1680:      b8 5f           subi    r27, 0xF8       ; 248
-    1682:      39 f0           breq    .+14            ; 0x1692 <__fixunssfsi+0x46>
-    1684:      b9 3f           cpi     r27, 0xF9       ; 249
-    1686:      cc f3           brlt    .-14            ; 0x167a <__fixunssfsi+0x2e>
-    1688:      86 95           lsr     r24
-    168a:      77 95           ror     r23
-    168c:      67 95           ror     r22
-    168e:      b3 95           inc     r27
-    1690:      d9 f7           brne    .-10            ; 0x1688 <__fixunssfsi+0x3c>
-    1692:      3e f4           brtc    .+14            ; 0x16a2 <__fixunssfsi+0x56>
-    1694:      90 95           com     r25
-    1696:      80 95           com     r24
-    1698:      70 95           com     r23
-    169a:      61 95           neg     r22
-    169c:      7f 4f           sbci    r23, 0xFF       ; 255
-    169e:      8f 4f           sbci    r24, 0xFF       ; 255
-    16a0:      9f 4f           sbci    r25, 0xFF       ; 255
-    16a2:      08 95           ret
-
-000016a4 <__floatunsisf>:
-    16a4:      e8 94           clt
-    16a6:      09 c0           rjmp    .+18            ; 0x16ba <__floatsisf+0x12>
-
-000016a8 <__floatsisf>:
-    16a8:      97 fb           bst     r25, 7
-    16aa:      3e f4           brtc    .+14            ; 0x16ba <__floatsisf+0x12>
-    16ac:      90 95           com     r25
-    16ae:      80 95           com     r24
-    16b0:      70 95           com     r23
-    16b2:      61 95           neg     r22
-    16b4:      7f 4f           sbci    r23, 0xFF       ; 255
-    16b6:      8f 4f           sbci    r24, 0xFF       ; 255
-    16b8:      9f 4f           sbci    r25, 0xFF       ; 255
-    16ba:      99 23           and     r25, r25
-    16bc:      a9 f0           breq    .+42            ; 0x16e8 <__floatsisf+0x40>
-    16be:      f9 2f           mov     r31, r25
-    16c0:      96 e9           ldi     r25, 0x96       ; 150
-    16c2:      bb 27           eor     r27, r27
-    16c4:      93 95           inc     r25
-    16c6:      f6 95           lsr     r31
-    16c8:      87 95           ror     r24
-    16ca:      77 95           ror     r23
-    16cc:      67 95           ror     r22
-    16ce:      b7 95           ror     r27
-    16d0:      f1 11           cpse    r31, r1
-    16d2:      f8 cf           rjmp    .-16            ; 0x16c4 <__floatsisf+0x1c>
-    16d4:      fa f4           brpl    .+62            ; 0x1714 <__floatsisf+0x6c>
-    16d6:      bb 0f           add     r27, r27
-    16d8:      11 f4           brne    .+4             ; 0x16de <__floatsisf+0x36>
-    16da:      60 ff           sbrs    r22, 0
-    16dc:      1b c0           rjmp    .+54            ; 0x1714 <__floatsisf+0x6c>
-    16de:      6f 5f           subi    r22, 0xFF       ; 255
-    16e0:      7f 4f           sbci    r23, 0xFF       ; 255
-    16e2:      8f 4f           sbci    r24, 0xFF       ; 255
-    16e4:      9f 4f           sbci    r25, 0xFF       ; 255
-    16e6:      16 c0           rjmp    .+44            ; 0x1714 <__floatsisf+0x6c>
-    16e8:      88 23           and     r24, r24
-    16ea:      11 f0           breq    .+4             ; 0x16f0 <__floatsisf+0x48>
-    16ec:      96 e9           ldi     r25, 0x96       ; 150
-    16ee:      11 c0           rjmp    .+34            ; 0x1712 <__floatsisf+0x6a>
-    16f0:      77 23           and     r23, r23
-    16f2:      21 f0           breq    .+8             ; 0x16fc <__floatsisf+0x54>
-    16f4:      9e e8           ldi     r25, 0x8E       ; 142
-    16f6:      87 2f           mov     r24, r23
-    16f8:      76 2f           mov     r23, r22
-    16fa:      05 c0           rjmp    .+10            ; 0x1706 <__floatsisf+0x5e>
-    16fc:      66 23           and     r22, r22
-    16fe:      71 f0           breq    .+28            ; 0x171c <__floatsisf+0x74>
-    1700:      96 e8           ldi     r25, 0x86       ; 134
-    1702:      86 2f           mov     r24, r22
-    1704:      70 e0           ldi     r23, 0x00       ; 0
-    1706:      60 e0           ldi     r22, 0x00       ; 0
-    1708:      2a f0           brmi    .+10            ; 0x1714 <__floatsisf+0x6c>
-    170a:      9a 95           dec     r25
-    170c:      66 0f           add     r22, r22
-    170e:      77 1f           adc     r23, r23
-    1710:      88 1f           adc     r24, r24
-    1712:      da f7           brpl    .-10            ; 0x170a <__floatsisf+0x62>
-    1714:      88 0f           add     r24, r24
-    1716:      96 95           lsr     r25
-    1718:      87 95           ror     r24
-    171a:      97 f9           bld     r25, 7
-    171c:      08 95           ret
-
-0000171e <__fp_cmp>:
-    171e:      99 0f           add     r25, r25
-    1720:      00 08           sbc     r0, r0
-    1722:      55 0f           add     r21, r21
-    1724:      aa 0b           sbc     r26, r26
-    1726:      e0 e8           ldi     r30, 0x80       ; 128
-    1728:      fe ef           ldi     r31, 0xFE       ; 254
-    172a:      16 16           cp      r1, r22
-    172c:      17 06           cpc     r1, r23
-    172e:      e8 07           cpc     r30, r24
-    1730:      f9 07           cpc     r31, r25
-    1732:      c0 f0           brcs    .+48            ; 0x1764 <__fp_cmp+0x46>
-    1734:      12 16           cp      r1, r18
-    1736:      13 06           cpc     r1, r19
-    1738:      e4 07           cpc     r30, r20
-    173a:      f5 07           cpc     r31, r21
-    173c:      98 f0           brcs    .+38            ; 0x1764 <__fp_cmp+0x46>
-    173e:      62 1b           sub     r22, r18
-    1740:      73 0b           sbc     r23, r19
-    1742:      84 0b           sbc     r24, r20
-    1744:      95 0b           sbc     r25, r21
-    1746:      39 f4           brne    .+14            ; 0x1756 <__fp_cmp+0x38>
-    1748:      0a 26           eor     r0, r26
-    174a:      61 f0           breq    .+24            ; 0x1764 <__fp_cmp+0x46>
-    174c:      23 2b           or      r18, r19
-    174e:      24 2b           or      r18, r20
-    1750:      25 2b           or      r18, r21
-    1752:      21 f4           brne    .+8             ; 0x175c <__fp_cmp+0x3e>
-    1754:      08 95           ret
-    1756:      0a 26           eor     r0, r26
-    1758:      09 f4           brne    .+2             ; 0x175c <__fp_cmp+0x3e>
-    175a:      a1 40           sbci    r26, 0x01       ; 1
-    175c:      a6 95           lsr     r26
-    175e:      8f ef           ldi     r24, 0xFF       ; 255
-    1760:      81 1d           adc     r24, r1
-    1762:      81 1d           adc     r24, r1
-    1764:      08 95           ret
-
-00001766 <__fp_inf>:
-    1766:      97 f9           bld     r25, 7
-    1768:      9f 67           ori     r25, 0x7F       ; 127
-    176a:      80 e8           ldi     r24, 0x80       ; 128
-    176c:      70 e0           ldi     r23, 0x00       ; 0
-    176e:      60 e0           ldi     r22, 0x00       ; 0
-    1770:      08 95           ret
-
-00001772 <__fp_nan>:
-    1772:      9f ef           ldi     r25, 0xFF       ; 255
-    1774:      80 ec           ldi     r24, 0xC0       ; 192
+    144a:      08 95           ret
+
+0000144c <__subsf3>:
+    144c:      50 58           subi    r21, 0x80       ; 128
+
+0000144e <__addsf3>:
+    144e:      bb 27           eor     r27, r27
+    1450:      aa 27           eor     r26, r26
+    1452:      0e d0           rcall   .+28            ; 0x1470 <__addsf3x>
+    1454:      70 c1           rjmp    .+736           ; 0x1736 <__fp_round>
+    1456:      61 d1           rcall   .+706           ; 0x171a <__fp_pscA>
+    1458:      30 f0           brcs    .+12            ; 0x1466 <__addsf3+0x18>
+    145a:      66 d1           rcall   .+716           ; 0x1728 <__fp_pscB>
+    145c:      20 f0           brcs    .+8             ; 0x1466 <__addsf3+0x18>
+    145e:      31 f4           brne    .+12            ; 0x146c <__addsf3+0x1e>
+    1460:      9f 3f           cpi     r25, 0xFF       ; 255
+    1462:      11 f4           brne    .+4             ; 0x1468 <__addsf3+0x1a>
+    1464:      1e f4           brtc    .+6             ; 0x146c <__addsf3+0x1e>
+    1466:      56 c1           rjmp    .+684           ; 0x1714 <__fp_nan>
+    1468:      0e f4           brtc    .+2             ; 0x146c <__addsf3+0x1e>
+    146a:      e0 95           com     r30
+    146c:      e7 fb           bst     r30, 7
+    146e:      4c c1           rjmp    .+664           ; 0x1708 <__fp_inf>
+
+00001470 <__addsf3x>:
+    1470:      e9 2f           mov     r30, r25
+    1472:      72 d1           rcall   .+740           ; 0x1758 <__fp_split3>
+    1474:      80 f3           brcs    .-32            ; 0x1456 <__addsf3+0x8>
+    1476:      ba 17           cp      r27, r26
+    1478:      62 07           cpc     r22, r18
+    147a:      73 07           cpc     r23, r19
+    147c:      84 07           cpc     r24, r20
+    147e:      95 07           cpc     r25, r21
+    1480:      18 f0           brcs    .+6             ; 0x1488 <__addsf3x+0x18>
+    1482:      71 f4           brne    .+28            ; 0x14a0 <__addsf3x+0x30>
+    1484:      9e f5           brtc    .+102           ; 0x14ec <__addsf3x+0x7c>
+    1486:      8a c1           rjmp    .+788           ; 0x179c <__fp_zero>
+    1488:      0e f4           brtc    .+2             ; 0x148c <__addsf3x+0x1c>
+    148a:      e0 95           com     r30
+    148c:      0b 2e           mov     r0, r27
+    148e:      ba 2f           mov     r27, r26
+    1490:      a0 2d           mov     r26, r0
+    1492:      0b 01           movw    r0, r22
+    1494:      b9 01           movw    r22, r18
+    1496:      90 01           movw    r18, r0
+    1498:      0c 01           movw    r0, r24
+    149a:      ca 01           movw    r24, r20
+    149c:      a0 01           movw    r20, r0
+    149e:      11 24           eor     r1, r1
+    14a0:      ff 27           eor     r31, r31
+    14a2:      59 1b           sub     r21, r25
+    14a4:      99 f0           breq    .+38            ; 0x14cc <__addsf3x+0x5c>
+    14a6:      59 3f           cpi     r21, 0xF9       ; 249
+    14a8:      50 f4           brcc    .+20            ; 0x14be <__addsf3x+0x4e>
+    14aa:      50 3e           cpi     r21, 0xE0       ; 224
+    14ac:      68 f1           brcs    .+90            ; 0x1508 <__addsf3x+0x98>
+    14ae:      1a 16           cp      r1, r26
+    14b0:      f0 40           sbci    r31, 0x00       ; 0
+    14b2:      a2 2f           mov     r26, r18
+    14b4:      23 2f           mov     r18, r19
+    14b6:      34 2f           mov     r19, r20
+    14b8:      44 27           eor     r20, r20
+    14ba:      58 5f           subi    r21, 0xF8       ; 248
+    14bc:      f3 cf           rjmp    .-26            ; 0x14a4 <__addsf3x+0x34>
+    14be:      46 95           lsr     r20
+    14c0:      37 95           ror     r19
+    14c2:      27 95           ror     r18
+    14c4:      a7 95           ror     r26
+    14c6:      f0 40           sbci    r31, 0x00       ; 0
+    14c8:      53 95           inc     r21
+    14ca:      c9 f7           brne    .-14            ; 0x14be <__addsf3x+0x4e>
+    14cc:      7e f4           brtc    .+30            ; 0x14ec <__addsf3x+0x7c>
+    14ce:      1f 16           cp      r1, r31
+    14d0:      ba 0b           sbc     r27, r26
+    14d2:      62 0b           sbc     r22, r18
+    14d4:      73 0b           sbc     r23, r19
+    14d6:      84 0b           sbc     r24, r20
+    14d8:      ba f0           brmi    .+46            ; 0x1508 <__addsf3x+0x98>
+    14da:      91 50           subi    r25, 0x01       ; 1
+    14dc:      a1 f0           breq    .+40            ; 0x1506 <__addsf3x+0x96>
+    14de:      ff 0f           add     r31, r31
+    14e0:      bb 1f           adc     r27, r27
+    14e2:      66 1f           adc     r22, r22
+    14e4:      77 1f           adc     r23, r23
+    14e6:      88 1f           adc     r24, r24
+    14e8:      c2 f7           brpl    .-16            ; 0x14da <__addsf3x+0x6a>
+    14ea:      0e c0           rjmp    .+28            ; 0x1508 <__addsf3x+0x98>
+    14ec:      ba 0f           add     r27, r26
+    14ee:      62 1f           adc     r22, r18
+    14f0:      73 1f           adc     r23, r19
+    14f2:      84 1f           adc     r24, r20
+    14f4:      48 f4           brcc    .+18            ; 0x1508 <__addsf3x+0x98>
+    14f6:      87 95           ror     r24
+    14f8:      77 95           ror     r23
+    14fa:      67 95           ror     r22
+    14fc:      b7 95           ror     r27
+    14fe:      f7 95           ror     r31
+    1500:      9e 3f           cpi     r25, 0xFE       ; 254
+    1502:      08 f0           brcs    .+2             ; 0x1506 <__addsf3x+0x96>
+    1504:      b3 cf           rjmp    .-154           ; 0x146c <__addsf3+0x1e>
+    1506:      93 95           inc     r25
+    1508:      88 0f           add     r24, r24
+    150a:      08 f0           brcs    .+2             ; 0x150e <__addsf3x+0x9e>
+    150c:      99 27           eor     r25, r25
+    150e:      ee 0f           add     r30, r30
+    1510:      97 95           ror     r25
+    1512:      87 95           ror     r24
+    1514:      08 95           ret
+
+00001516 <__cmpsf2>:
+    1516:      d4 d0           rcall   .+424           ; 0x16c0 <__fp_cmp>
+    1518:      08 f4           brcc    .+2             ; 0x151c <__cmpsf2+0x6>
+    151a:      81 e0           ldi     r24, 0x01       ; 1
+    151c:      08 95           ret
+
+0000151e <__divsf3>:
+    151e:      0c d0           rcall   .+24            ; 0x1538 <__divsf3x>
+    1520:      0a c1           rjmp    .+532           ; 0x1736 <__fp_round>
+    1522:      02 d1           rcall   .+516           ; 0x1728 <__fp_pscB>
+    1524:      40 f0           brcs    .+16            ; 0x1536 <__divsf3+0x18>
+    1526:      f9 d0           rcall   .+498           ; 0x171a <__fp_pscA>
+    1528:      30 f0           brcs    .+12            ; 0x1536 <__divsf3+0x18>
+    152a:      21 f4           brne    .+8             ; 0x1534 <__divsf3+0x16>
+    152c:      5f 3f           cpi     r21, 0xFF       ; 255
+    152e:      19 f0           breq    .+6             ; 0x1536 <__divsf3+0x18>
+    1530:      eb c0           rjmp    .+470           ; 0x1708 <__fp_inf>
+    1532:      51 11           cpse    r21, r1
+    1534:      34 c1           rjmp    .+616           ; 0x179e <__fp_szero>
+    1536:      ee c0           rjmp    .+476           ; 0x1714 <__fp_nan>
+
+00001538 <__divsf3x>:
+    1538:      0f d1           rcall   .+542           ; 0x1758 <__fp_split3>
+    153a:      98 f3           brcs    .-26            ; 0x1522 <__divsf3+0x4>
+
+0000153c <__divsf3_pse>:
+    153c:      99 23           and     r25, r25
+    153e:      c9 f3           breq    .-14            ; 0x1532 <__divsf3+0x14>
+    1540:      55 23           and     r21, r21
+    1542:      b1 f3           breq    .-20            ; 0x1530 <__divsf3+0x12>
+    1544:      95 1b           sub     r25, r21
+    1546:      55 0b           sbc     r21, r21
+    1548:      bb 27           eor     r27, r27
+    154a:      aa 27           eor     r26, r26
+    154c:      62 17           cp      r22, r18
+    154e:      73 07           cpc     r23, r19
+    1550:      84 07           cpc     r24, r20
+    1552:      38 f0           brcs    .+14            ; 0x1562 <__divsf3_pse+0x26>
+    1554:      9f 5f           subi    r25, 0xFF       ; 255
+    1556:      5f 4f           sbci    r21, 0xFF       ; 255
+    1558:      22 0f           add     r18, r18
+    155a:      33 1f           adc     r19, r19
+    155c:      44 1f           adc     r20, r20
+    155e:      aa 1f           adc     r26, r26
+    1560:      a9 f3           breq    .-22            ; 0x154c <__divsf3_pse+0x10>
+    1562:      33 d0           rcall   .+102           ; 0x15ca <__divsf3_pse+0x8e>
+    1564:      0e 2e           mov     r0, r30
+    1566:      3a f0           brmi    .+14            ; 0x1576 <__divsf3_pse+0x3a>
+    1568:      e0 e8           ldi     r30, 0x80       ; 128
+    156a:      30 d0           rcall   .+96            ; 0x15cc <__divsf3_pse+0x90>
+    156c:      91 50           subi    r25, 0x01       ; 1
+    156e:      50 40           sbci    r21, 0x00       ; 0
+    1570:      e6 95           lsr     r30
+    1572:      00 1c           adc     r0, r0
+    1574:      ca f7           brpl    .-14            ; 0x1568 <__divsf3_pse+0x2c>
+    1576:      29 d0           rcall   .+82            ; 0x15ca <__divsf3_pse+0x8e>
+    1578:      fe 2f           mov     r31, r30
+    157a:      27 d0           rcall   .+78            ; 0x15ca <__divsf3_pse+0x8e>
+    157c:      66 0f           add     r22, r22
+    157e:      77 1f           adc     r23, r23
+    1580:      88 1f           adc     r24, r24
+    1582:      bb 1f           adc     r27, r27
+    1584:      26 17           cp      r18, r22
+    1586:      37 07           cpc     r19, r23
+    1588:      48 07           cpc     r20, r24
+    158a:      ab 07           cpc     r26, r27
+    158c:      b0 e8           ldi     r27, 0x80       ; 128
+    158e:      09 f0           breq    .+2             ; 0x1592 <__divsf3_pse+0x56>
+    1590:      bb 0b           sbc     r27, r27
+    1592:      80 2d           mov     r24, r0
+    1594:      bf 01           movw    r22, r30
+    1596:      ff 27           eor     r31, r31
+    1598:      93 58           subi    r25, 0x83       ; 131
+    159a:      5f 4f           sbci    r21, 0xFF       ; 255
+    159c:      2a f0           brmi    .+10            ; 0x15a8 <__divsf3_pse+0x6c>
+    159e:      9e 3f           cpi     r25, 0xFE       ; 254
+    15a0:      51 05           cpc     r21, r1
+    15a2:      68 f0           brcs    .+26            ; 0x15be <__divsf3_pse+0x82>
+    15a4:      b1 c0           rjmp    .+354           ; 0x1708 <__fp_inf>
+    15a6:      fb c0           rjmp    .+502           ; 0x179e <__fp_szero>
+    15a8:      5f 3f           cpi     r21, 0xFF       ; 255
+    15aa:      ec f3           brlt    .-6             ; 0x15a6 <__divsf3_pse+0x6a>
+    15ac:      98 3e           cpi     r25, 0xE8       ; 232
+    15ae:      dc f3           brlt    .-10            ; 0x15a6 <__divsf3_pse+0x6a>
+    15b0:      86 95           lsr     r24
+    15b2:      77 95           ror     r23
+    15b4:      67 95           ror     r22
+    15b6:      b7 95           ror     r27
+    15b8:      f7 95           ror     r31
+    15ba:      9f 5f           subi    r25, 0xFF       ; 255
+    15bc:      c9 f7           brne    .-14            ; 0x15b0 <__divsf3_pse+0x74>
+    15be:      88 0f           add     r24, r24
+    15c0:      91 1d           adc     r25, r1
+    15c2:      96 95           lsr     r25
+    15c4:      87 95           ror     r24
+    15c6:      97 f9           bld     r25, 7
+    15c8:      08 95           ret
+    15ca:      e1 e0           ldi     r30, 0x01       ; 1
+    15cc:      66 0f           add     r22, r22
+    15ce:      77 1f           adc     r23, r23
+    15d0:      88 1f           adc     r24, r24
+    15d2:      bb 1f           adc     r27, r27
+    15d4:      62 17           cp      r22, r18
+    15d6:      73 07           cpc     r23, r19
+    15d8:      84 07           cpc     r24, r20
+    15da:      ba 07           cpc     r27, r26
+    15dc:      20 f0           brcs    .+8             ; 0x15e6 <__divsf3_pse+0xaa>
+    15de:      62 1b           sub     r22, r18
+    15e0:      73 0b           sbc     r23, r19
+    15e2:      84 0b           sbc     r24, r20
+    15e4:      ba 0b           sbc     r27, r26
+    15e6:      ee 1f           adc     r30, r30
+    15e8:      88 f7           brcc    .-30            ; 0x15cc <__divsf3_pse+0x90>
+    15ea:      e0 95           com     r30
+    15ec:      08 95           ret
+
+000015ee <__fixunssfsi>:
+    15ee:      bc d0           rcall   .+376           ; 0x1768 <__fp_splitA>
+    15f0:      88 f0           brcs    .+34            ; 0x1614 <__fixunssfsi+0x26>
+    15f2:      9f 57           subi    r25, 0x7F       ; 127
+    15f4:      90 f0           brcs    .+36            ; 0x161a <__fixunssfsi+0x2c>
+    15f6:      b9 2f           mov     r27, r25
+    15f8:      99 27           eor     r25, r25
+    15fa:      b7 51           subi    r27, 0x17       ; 23
+    15fc:      a0 f0           brcs    .+40            ; 0x1626 <__fixunssfsi+0x38>
+    15fe:      d1 f0           breq    .+52            ; 0x1634 <__fixunssfsi+0x46>
+    1600:      66 0f           add     r22, r22
+    1602:      77 1f           adc     r23, r23
+    1604:      88 1f           adc     r24, r24
+    1606:      99 1f           adc     r25, r25
+    1608:      1a f0           brmi    .+6             ; 0x1610 <__fixunssfsi+0x22>
+    160a:      ba 95           dec     r27
+    160c:      c9 f7           brne    .-14            ; 0x1600 <__fixunssfsi+0x12>
+    160e:      12 c0           rjmp    .+36            ; 0x1634 <__fixunssfsi+0x46>
+    1610:      b1 30           cpi     r27, 0x01       ; 1
+    1612:      81 f0           breq    .+32            ; 0x1634 <__fixunssfsi+0x46>
+    1614:      c3 d0           rcall   .+390           ; 0x179c <__fp_zero>
+    1616:      b1 e0           ldi     r27, 0x01       ; 1
+    1618:      08 95           ret
+    161a:      c0 c0           rjmp    .+384           ; 0x179c <__fp_zero>
+    161c:      67 2f           mov     r22, r23
+    161e:      78 2f           mov     r23, r24
+    1620:      88 27           eor     r24, r24
+    1622:      b8 5f           subi    r27, 0xF8       ; 248
+    1624:      39 f0           breq    .+14            ; 0x1634 <__fixunssfsi+0x46>
+    1626:      b9 3f           cpi     r27, 0xF9       ; 249
+    1628:      cc f3           brlt    .-14            ; 0x161c <__fixunssfsi+0x2e>
+    162a:      86 95           lsr     r24
+    162c:      77 95           ror     r23
+    162e:      67 95           ror     r22
+    1630:      b3 95           inc     r27
+    1632:      d9 f7           brne    .-10            ; 0x162a <__fixunssfsi+0x3c>
+    1634:      3e f4           brtc    .+14            ; 0x1644 <__fixunssfsi+0x56>
+    1636:      90 95           com     r25
+    1638:      80 95           com     r24
+    163a:      70 95           com     r23
+    163c:      61 95           neg     r22
+    163e:      7f 4f           sbci    r23, 0xFF       ; 255
+    1640:      8f 4f           sbci    r24, 0xFF       ; 255
+    1642:      9f 4f           sbci    r25, 0xFF       ; 255
+    1644:      08 95           ret
+
+00001646 <__floatunsisf>:
+    1646:      e8 94           clt
+    1648:      09 c0           rjmp    .+18            ; 0x165c <__floatsisf+0x12>
+
+0000164a <__floatsisf>:
+    164a:      97 fb           bst     r25, 7
+    164c:      3e f4           brtc    .+14            ; 0x165c <__floatsisf+0x12>
+    164e:      90 95           com     r25
+    1650:      80 95           com     r24
+    1652:      70 95           com     r23
+    1654:      61 95           neg     r22
+    1656:      7f 4f           sbci    r23, 0xFF       ; 255
+    1658:      8f 4f           sbci    r24, 0xFF       ; 255
+    165a:      9f 4f           sbci    r25, 0xFF       ; 255
+    165c:      99 23           and     r25, r25
+    165e:      a9 f0           breq    .+42            ; 0x168a <__floatsisf+0x40>
+    1660:      f9 2f           mov     r31, r25
+    1662:      96 e9           ldi     r25, 0x96       ; 150
+    1664:      bb 27           eor     r27, r27
+    1666:      93 95           inc     r25
+    1668:      f6 95           lsr     r31
+    166a:      87 95           ror     r24
+    166c:      77 95           ror     r23
+    166e:      67 95           ror     r22
+    1670:      b7 95           ror     r27
+    1672:      f1 11           cpse    r31, r1
+    1674:      f8 cf           rjmp    .-16            ; 0x1666 <__floatsisf+0x1c>
+    1676:      fa f4           brpl    .+62            ; 0x16b6 <__floatsisf+0x6c>
+    1678:      bb 0f           add     r27, r27
+    167a:      11 f4           brne    .+4             ; 0x1680 <__floatsisf+0x36>
+    167c:      60 ff           sbrs    r22, 0
+    167e:      1b c0           rjmp    .+54            ; 0x16b6 <__floatsisf+0x6c>
+    1680:      6f 5f           subi    r22, 0xFF       ; 255
+    1682:      7f 4f           sbci    r23, 0xFF       ; 255
+    1684:      8f 4f           sbci    r24, 0xFF       ; 255
+    1686:      9f 4f           sbci    r25, 0xFF       ; 255
+    1688:      16 c0           rjmp    .+44            ; 0x16b6 <__floatsisf+0x6c>
+    168a:      88 23           and     r24, r24
+    168c:      11 f0           breq    .+4             ; 0x1692 <__floatsisf+0x48>
+    168e:      96 e9           ldi     r25, 0x96       ; 150
+    1690:      11 c0           rjmp    .+34            ; 0x16b4 <__floatsisf+0x6a>
+    1692:      77 23           and     r23, r23
+    1694:      21 f0           breq    .+8             ; 0x169e <__floatsisf+0x54>
+    1696:      9e e8           ldi     r25, 0x8E       ; 142
+    1698:      87 2f           mov     r24, r23
+    169a:      76 2f           mov     r23, r22
+    169c:      05 c0           rjmp    .+10            ; 0x16a8 <__floatsisf+0x5e>
+    169e:      66 23           and     r22, r22
+    16a0:      71 f0           breq    .+28            ; 0x16be <__floatsisf+0x74>
+    16a2:      96 e8           ldi     r25, 0x86       ; 134
+    16a4:      86 2f           mov     r24, r22
+    16a6:      70 e0           ldi     r23, 0x00       ; 0
+    16a8:      60 e0           ldi     r22, 0x00       ; 0
+    16aa:      2a f0           brmi    .+10            ; 0x16b6 <__floatsisf+0x6c>
+    16ac:      9a 95           dec     r25
+    16ae:      66 0f           add     r22, r22
+    16b0:      77 1f           adc     r23, r23
+    16b2:      88 1f           adc     r24, r24
+    16b4:      da f7           brpl    .-10            ; 0x16ac <__floatsisf+0x62>
+    16b6:      88 0f           add     r24, r24
+    16b8:      96 95           lsr     r25
+    16ba:      87 95           ror     r24
+    16bc:      97 f9           bld     r25, 7
+    16be:      08 95           ret
+
+000016c0 <__fp_cmp>:
+    16c0:      99 0f           add     r25, r25
+    16c2:      00 08           sbc     r0, r0
+    16c4:      55 0f           add     r21, r21
+    16c6:      aa 0b           sbc     r26, r26
+    16c8:      e0 e8           ldi     r30, 0x80       ; 128
+    16ca:      fe ef           ldi     r31, 0xFE       ; 254
+    16cc:      16 16           cp      r1, r22
+    16ce:      17 06           cpc     r1, r23
+    16d0:      e8 07           cpc     r30, r24
+    16d2:      f9 07           cpc     r31, r25
+    16d4:      c0 f0           brcs    .+48            ; 0x1706 <__fp_cmp+0x46>
+    16d6:      12 16           cp      r1, r18
+    16d8:      13 06           cpc     r1, r19
+    16da:      e4 07           cpc     r30, r20
+    16dc:      f5 07           cpc     r31, r21
+    16de:      98 f0           brcs    .+38            ; 0x1706 <__fp_cmp+0x46>
+    16e0:      62 1b           sub     r22, r18
+    16e2:      73 0b           sbc     r23, r19
+    16e4:      84 0b           sbc     r24, r20
+    16e6:      95 0b           sbc     r25, r21
+    16e8:      39 f4           brne    .+14            ; 0x16f8 <__fp_cmp+0x38>
+    16ea:      0a 26           eor     r0, r26
+    16ec:      61 f0           breq    .+24            ; 0x1706 <__fp_cmp+0x46>
+    16ee:      23 2b           or      r18, r19
+    16f0:      24 2b           or      r18, r20
+    16f2:      25 2b           or      r18, r21
+    16f4:      21 f4           brne    .+8             ; 0x16fe <__fp_cmp+0x3e>
+    16f6:      08 95           ret
+    16f8:      0a 26           eor     r0, r26
+    16fa:      09 f4           brne    .+2             ; 0x16fe <__fp_cmp+0x3e>
+    16fc:      a1 40           sbci    r26, 0x01       ; 1
+    16fe:      a6 95           lsr     r26
+    1700:      8f ef           ldi     r24, 0xFF       ; 255
+    1702:      81 1d           adc     r24, r1
+    1704:      81 1d           adc     r24, r1
+    1706:      08 95           ret
+
+00001708 <__fp_inf>:
+    1708:      97 f9           bld     r25, 7
+    170a:      9f 67           ori     r25, 0x7F       ; 127
+    170c:      80 e8           ldi     r24, 0x80       ; 128
+    170e:      70 e0           ldi     r23, 0x00       ; 0
+    1710:      60 e0           ldi     r22, 0x00       ; 0
+    1712:      08 95           ret
+
+00001714 <__fp_nan>:
+    1714:      9f ef           ldi     r25, 0xFF       ; 255
+    1716:      80 ec           ldi     r24, 0xC0       ; 192
+    1718:      08 95           ret
+
+0000171a <__fp_pscA>:
+    171a:      00 24           eor     r0, r0
+    171c:      0a 94           dec     r0
+    171e:      16 16           cp      r1, r22
+    1720:      17 06           cpc     r1, r23
+    1722:      18 06           cpc     r1, r24
+    1724:      09 06           cpc     r0, r25
+    1726:      08 95           ret
+
+00001728 <__fp_pscB>:
+    1728:      00 24           eor     r0, r0
+    172a:      0a 94           dec     r0
+    172c:      12 16           cp      r1, r18
+    172e:      13 06           cpc     r1, r19
+    1730:      14 06           cpc     r1, r20
+    1732:      05 06           cpc     r0, r21
+    1734:      08 95           ret
+
+00001736 <__fp_round>:
+    1736:      09 2e           mov     r0, r25
+    1738:      03 94           inc     r0
+    173a:      00 0c           add     r0, r0
+    173c:      11 f4           brne    .+4             ; 0x1742 <__fp_round+0xc>
+    173e:      88 23           and     r24, r24
+    1740:      52 f0           brmi    .+20            ; 0x1756 <__fp_round+0x20>
+    1742:      bb 0f           add     r27, r27
+    1744:      40 f4           brcc    .+16            ; 0x1756 <__fp_round+0x20>
+    1746:      bf 2b           or      r27, r31
+    1748:      11 f4           brne    .+4             ; 0x174e <__fp_round+0x18>
+    174a:      60 ff           sbrs    r22, 0
+    174c:      04 c0           rjmp    .+8             ; 0x1756 <__fp_round+0x20>
+    174e:      6f 5f           subi    r22, 0xFF       ; 255
+    1750:      7f 4f           sbci    r23, 0xFF       ; 255
+    1752:      8f 4f           sbci    r24, 0xFF       ; 255
+    1754:      9f 4f           sbci    r25, 0xFF       ; 255
+    1756:      08 95           ret
+
+00001758 <__fp_split3>:
+    1758:      57 fd           sbrc    r21, 7
+    175a:      90 58           subi    r25, 0x80       ; 128
+    175c:      44 0f           add     r20, r20
+    175e:      55 1f           adc     r21, r21
+    1760:      59 f0           breq    .+22            ; 0x1778 <__fp_splitA+0x10>
+    1762:      5f 3f           cpi     r21, 0xFF       ; 255
+    1764:      71 f0           breq    .+28            ; 0x1782 <__fp_splitA+0x1a>
+    1766:      47 95           ror     r20
+
+00001768 <__fp_splitA>:
+    1768:      88 0f           add     r24, r24
+    176a:      97 fb           bst     r25, 7
+    176c:      99 1f           adc     r25, r25
+    176e:      61 f0           breq    .+24            ; 0x1788 <__fp_splitA+0x20>
+    1770:      9f 3f           cpi     r25, 0xFF       ; 255
+    1772:      79 f0           breq    .+30            ; 0x1792 <__fp_splitA+0x2a>
+    1774:      87 95           ror     r24
     1776:      08 95           ret
-
-00001778 <__fp_pscA>:
-    1778:      00 24           eor     r0, r0
-    177a:      0a 94           dec     r0
-    177c:      16 16           cp      r1, r22
-    177e:      17 06           cpc     r1, r23
-    1780:      18 06           cpc     r1, r24
-    1782:      09 06           cpc     r0, r25
-    1784:      08 95           ret
-
-00001786 <__fp_pscB>:
-    1786:      00 24           eor     r0, r0
-    1788:      0a 94           dec     r0
-    178a:      12 16           cp      r1, r18
-    178c:      13 06           cpc     r1, r19
-    178e:      14 06           cpc     r1, r20
-    1790:      05 06           cpc     r0, r21
-    1792:      08 95           ret
-
-00001794 <__fp_round>:
-    1794:      09 2e           mov     r0, r25
-    1796:      03 94           inc     r0
-    1798:      00 0c           add     r0, r0
-    179a:      11 f4           brne    .+4             ; 0x17a0 <__fp_round+0xc>
-    179c:      88 23           and     r24, r24
-    179e:      52 f0           brmi    .+20            ; 0x17b4 <__fp_round+0x20>
-    17a0:      bb 0f           add     r27, r27
-    17a2:      40 f4           brcc    .+16            ; 0x17b4 <__fp_round+0x20>
-    17a4:      bf 2b           or      r27, r31
-    17a6:      11 f4           brne    .+4             ; 0x17ac <__fp_round+0x18>
-    17a8:      60 ff           sbrs    r22, 0
-    17aa:      04 c0           rjmp    .+8             ; 0x17b4 <__fp_round+0x20>
-    17ac:      6f 5f           subi    r22, 0xFF       ; 255
-    17ae:      7f 4f           sbci    r23, 0xFF       ; 255
-    17b0:      8f 4f           sbci    r24, 0xFF       ; 255
-    17b2:      9f 4f           sbci    r25, 0xFF       ; 255
-    17b4:      08 95           ret
-
-000017b6 <__fp_split3>:
-    17b6:      57 fd           sbrc    r21, 7
-    17b8:      90 58           subi    r25, 0x80       ; 128
-    17ba:      44 0f           add     r20, r20
-    17bc:      55 1f           adc     r21, r21
-    17be:      59 f0           breq    .+22            ; 0x17d6 <__fp_splitA+0x10>
-    17c0:      5f 3f           cpi     r21, 0xFF       ; 255
-    17c2:      71 f0           breq    .+28            ; 0x17e0 <__fp_splitA+0x1a>
-    17c4:      47 95           ror     r20
-
-000017c6 <__fp_splitA>:
-    17c6:      88 0f           add     r24, r24
-    17c8:      97 fb           bst     r25, 7
-    17ca:      99 1f           adc     r25, r25
-    17cc:      61 f0           breq    .+24            ; 0x17e6 <__fp_splitA+0x20>
-    17ce:      9f 3f           cpi     r25, 0xFF       ; 255
-    17d0:      79 f0           breq    .+30            ; 0x17f0 <__fp_splitA+0x2a>
-    17d2:      87 95           ror     r24
-    17d4:      08 95           ret
-    17d6:      12 16           cp      r1, r18
-    17d8:      13 06           cpc     r1, r19
-    17da:      14 06           cpc     r1, r20
-    17dc:      55 1f           adc     r21, r21
-    17de:      f2 cf           rjmp    .-28            ; 0x17c4 <__fp_split3+0xe>
-    17e0:      46 95           lsr     r20
-    17e2:      f1 df           rcall   .-30            ; 0x17c6 <__fp_splitA>
-    17e4:      08 c0           rjmp    .+16            ; 0x17f6 <__fp_splitA+0x30>
-    17e6:      16 16           cp      r1, r22
-    17e8:      17 06           cpc     r1, r23
-    17ea:      18 06           cpc     r1, r24
-    17ec:      99 1f           adc     r25, r25
-    17ee:      f1 cf           rjmp    .-30            ; 0x17d2 <__fp_splitA+0xc>
-    17f0:      86 95           lsr     r24
-    17f2:      71 05           cpc     r23, r1
-    17f4:      61 05           cpc     r22, r1
-    17f6:      08 94           sec
-    17f8:      08 95           ret
-
-000017fa <__fp_zero>:
-    17fa:      e8 94           clt
-
-000017fc <__fp_szero>:
-    17fc:      bb 27           eor     r27, r27
-    17fe:      66 27           eor     r22, r22
-    1800:      77 27           eor     r23, r23
-    1802:      cb 01           movw    r24, r22
-    1804:      97 f9           bld     r25, 7
-    1806:      08 95           ret
-
-00001808 <__gesf2>:
-    1808:      8a df           rcall   .-236           ; 0x171e <__fp_cmp>
-    180a:      08 f4           brcc    .+2             ; 0x180e <__gesf2+0x6>
-    180c:      8f ef           ldi     r24, 0xFF       ; 255
-    180e:      08 95           ret
-
-00001810 <__udivmodsi4>:
-    1810:      a1 e2           ldi     r26, 0x21       ; 33
-    1812:      1a 2e           mov     r1, r26
-    1814:      aa 1b           sub     r26, r26
-    1816:      bb 1b           sub     r27, r27
-    1818:      fd 01           movw    r30, r26
-    181a:      0d c0           rjmp    .+26            ; 0x1836 <__udivmodsi4_ep>
-
-0000181c <__udivmodsi4_loop>:
-    181c:      aa 1f           adc     r26, r26
-    181e:      bb 1f           adc     r27, r27
-    1820:      ee 1f           adc     r30, r30
-    1822:      ff 1f           adc     r31, r31
-    1824:      a2 17           cp      r26, r18
-    1826:      b3 07           cpc     r27, r19
-    1828:      e4 07           cpc     r30, r20
-    182a:      f5 07           cpc     r31, r21
-    182c:      20 f0           brcs    .+8             ; 0x1836 <__udivmodsi4_ep>
-    182e:      a2 1b           sub     r26, r18
-    1830:      b3 0b           sbc     r27, r19
-    1832:      e4 0b           sbc     r30, r20
-    1834:      f5 0b           sbc     r31, r21
-
-00001836 <__udivmodsi4_ep>:
-    1836:      66 1f           adc     r22, r22
-    1838:      77 1f           adc     r23, r23
-    183a:      88 1f           adc     r24, r24
-    183c:      99 1f           adc     r25, r25
-    183e:      1a 94           dec     r1
-    1840:      69 f7           brne    .-38            ; 0x181c <__udivmodsi4_loop>
-    1842:      60 95           com     r22
-    1844:      70 95           com     r23
-    1846:      80 95           com     r24
-    1848:      90 95           com     r25
-    184a:      9b 01           movw    r18, r22
-    184c:      ac 01           movw    r20, r24
-    184e:      bd 01           movw    r22, r26
-    1850:      cf 01           movw    r24, r30
-    1852:      08 95           ret
-
-00001854 <_exit>:
-    1854:      f8 94           cli
-
-00001856 <__stop_program>:
-    1856:      ff cf           rjmp    .-2             ; 0x1856 <__stop_program>
+    1778:      12 16           cp      r1, r18
+    177a:      13 06           cpc     r1, r19
+    177c:      14 06           cpc     r1, r20
+    177e:      55 1f           adc     r21, r21
+    1780:      f2 cf           rjmp    .-28            ; 0x1766 <__fp_split3+0xe>
+    1782:      46 95           lsr     r20
+    1784:      f1 df           rcall   .-30            ; 0x1768 <__fp_splitA>
+    1786:      08 c0           rjmp    .+16            ; 0x1798 <__fp_splitA+0x30>
+    1788:      16 16           cp      r1, r22
+    178a:      17 06           cpc     r1, r23
+    178c:      18 06           cpc     r1, r24
+    178e:      99 1f           adc     r25, r25
+    1790:      f1 cf           rjmp    .-30            ; 0x1774 <__fp_splitA+0xc>
+    1792:      86 95           lsr     r24
+    1794:      71 05           cpc     r23, r1
+    1796:      61 05           cpc     r22, r1
+    1798:      08 94           sec
+    179a:      08 95           ret
+
+0000179c <__fp_zero>:
+    179c:      e8 94           clt
+
+0000179e <__fp_szero>:
+    179e:      bb 27           eor     r27, r27
+    17a0:      66 27           eor     r22, r22
+    17a2:      77 27           eor     r23, r23
+    17a4:      cb 01           movw    r24, r22
+    17a6:      97 f9           bld     r25, 7
+    17a8:      08 95           ret
+
+000017aa <__gesf2>:
+    17aa:      8a df           rcall   .-236           ; 0x16c0 <__fp_cmp>
+    17ac:      08 f4           brcc    .+2             ; 0x17b0 <__gesf2+0x6>
+    17ae:      8f ef           ldi     r24, 0xFF       ; 255
+    17b0:      08 95           ret
+
+000017b2 <__udivmodsi4>:
+    17b2:      a1 e2           ldi     r26, 0x21       ; 33
+    17b4:      1a 2e           mov     r1, r26
+    17b6:      aa 1b           sub     r26, r26
+    17b8:      bb 1b           sub     r27, r27
+    17ba:      fd 01           movw    r30, r26
+    17bc:      0d c0           rjmp    .+26            ; 0x17d8 <__udivmodsi4_ep>
+
+000017be <__udivmodsi4_loop>:
+    17be:      aa 1f           adc     r26, r26
+    17c0:      bb 1f           adc     r27, r27
+    17c2:      ee 1f           adc     r30, r30
+    17c4:      ff 1f           adc     r31, r31
+    17c6:      a2 17           cp      r26, r18
+    17c8:      b3 07           cpc     r27, r19
+    17ca:      e4 07           cpc     r30, r20
+    17cc:      f5 07           cpc     r31, r21
+    17ce:      20 f0           brcs    .+8             ; 0x17d8 <__udivmodsi4_ep>
+    17d0:      a2 1b           sub     r26, r18
+    17d2:      b3 0b           sbc     r27, r19
+    17d4:      e4 0b           sbc     r30, r20
+    17d6:      f5 0b           sbc     r31, r21
+
+000017d8 <__udivmodsi4_ep>:
+    17d8:      66 1f           adc     r22, r22
+    17da:      77 1f           adc     r23, r23
+    17dc:      88 1f           adc     r24, r24
+    17de:      99 1f           adc     r25, r25
+    17e0:      1a 94           dec     r1
+    17e2:      69 f7           brne    .-38            ; 0x17be <__udivmodsi4_loop>
+    17e4:      60 95           com     r22
+    17e6:      70 95           com     r23
+    17e8:      80 95           com     r24
+    17ea:      90 95           com     r25
+    17ec:      9b 01           movw    r18, r22
+    17ee:      ac 01           movw    r20, r24
+    17f0:      bd 01           movw    r22, r26
+    17f2:      cf 01           movw    r24, r30
+    17f4:      08 95           ret
+
+000017f6 <_exit>:
+    17f6:      f8 94           cli
+
+000017f8 <__stop_program>:
+    17f8:      ff cf           rjmp    .-2             ; 0x17f8 <__stop_program>
index 90781a6766c77cdb34e40466c5c5ab3a0da48229..19b7efef4c31554f599ea4bb5c9909d694a6b8fc 100644 (file)
@@ -62,6 +62,7 @@ Common symbol       size              file
 
 adb_werte           0x9               USBtoSerial.o
 USB_IsInitialized   0x1               ../../LUFA/Drivers/USB/Core/USBTask.o
+USB_DeviceState     0x1               ../../LUFA/Drivers/USB/Core/USBTask.o
 USB_Device_ConfigurationNumber
                     0x1               ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
 USB_Device_CurrentlySelfPowered
@@ -112,41 +113,41 @@ Discarded input sections
  .text.Endpoint_Null_Stream
                 0x0000000000000000       0x8e ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_Stream_LE
-                0x0000000000000000       0xbe ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xc2 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_Stream_BE
-                0x0000000000000000       0xae ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xb2 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_Stream_LE
-                0x0000000000000000       0xbe ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xc2 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_Stream_BE
-                0x0000000000000000       0xae ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xb2 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_PStream_LE
-                0x0000000000000000       0xc2 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xc8 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_PStream_BE
-                0x0000000000000000       0xae ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xb4 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_EStream_LE
-                0x0000000000000000       0xc4 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xc8 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_EStream_BE
-                0x0000000000000000       0xb0 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xb4 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_EStream_LE
-                0x0000000000000000       0xc2 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xc6 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_EStream_BE
-                0x0000000000000000       0xb2 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
- .text.Endpoint_Write_Control_Stream_BE
                 0x0000000000000000       0xb8 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+ .text.Endpoint_Write_Control_Stream_BE
+                0x0000000000000000       0xbe ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_Control_Stream_LE
-                0x0000000000000000       0x78 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0x7c ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_Control_Stream_BE
-                0x0000000000000000       0x7a ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0x7e ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_Control_PStream_BE
-                0x0000000000000000       0xba ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xbe ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_Control_EStream_LE
-                0x0000000000000000       0xcc ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xd4 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Write_Control_EStream_BE
-                0x0000000000000000       0xda ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0xde ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_Control_EStream_LE
-                0x0000000000000000       0x84 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0x88 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text.Endpoint_Read_Control_EStream_BE
-                0x0000000000000000       0x8a ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000000       0x8e ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .text          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
  .data          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
  .bss           0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
@@ -205,19 +206,19 @@ Discarded input sections
  .data          0x0000000000000000        0x8 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .bss           0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_SendString
-                0x0000000000000000       0x46 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000000000       0x48 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_SendData
-                0x0000000000000000       0x38 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000000000       0x3a ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_putchar
                 0x0000000000000000       0x20 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_BytesReceived
-                0x0000000000000000       0x4e ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000000000       0x50 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_getchar_Blocking
-                0x0000000000000000       0x36 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000000000       0x38 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_getchar
                 0x0000000000000000       0x18 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_SendControlLineStateChange
-                0x0000000000000000       0x8c ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000000000       0x8e ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_CreateStream
                 0x0000000000000000       0x26 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .text.CDC_Device_CreateBlockingStream
@@ -230,7 +231,7 @@ Discarded input sections
  .text.HID_Device_ConfigureEndpoints
                 0x0000000000000000       0x34 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
  .text.HID_Device_USBTask
-                0x0000000000000000      0x1a0 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+                0x0000000000000000      0x1a2 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
  .text          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
  .data          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
  .bss           0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
@@ -239,20 +240,20 @@ Discarded input sections
  .text.MS_Device_ConfigureEndpoints
                 0x0000000000000000       0x3c ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
  .text.MS_Device_USBTask
-                0x0000000000000000      0x266 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+                0x0000000000000000      0x270 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
  .text          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .data          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .bss           0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .text.MIDI_Device_ConfigureEndpoints
                 0x0000000000000000       0x30 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .text.MIDI_Device_SendEventPacket
-                0x0000000000000000       0x3a ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                0x0000000000000000       0x3c ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .text.MIDI_Device_Flush
-                0x0000000000000000       0x30 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                0x0000000000000000       0x32 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .text.MIDI_Device_USBTask
-                0x0000000000000000       0x1e ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                0x0000000000000000       0x20 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .text.MIDI_Device_ReceiveEventPacket
-                0x0000000000000000       0x44 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                0x0000000000000000       0x46 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .text          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .data          0x0000000000000000        0x8 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .bss           0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
@@ -261,13 +262,13 @@ Discarded input sections
  .text.RNDIS_Device_ConfigureEndpoints
                 0x0000000000000000       0x4e ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .text.RNDIS_Device_USBTask
-                0x0000000000000000       0x86 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                0x0000000000000000       0x88 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .text.RNDIS_Device_IsPacketReceived
-                0x0000000000000000       0x2e ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                0x0000000000000000       0x30 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .text.RNDIS_Device_ReadPacket
-                0x0000000000000000       0xbe ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                0x0000000000000000       0xc0 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .text.RNDIS_Device_SendPacket
-                0x0000000000000000       0xde ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                0x0000000000000000       0xe0 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .progmem.data  0x0000000000000000       0x6c ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
  .text          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
  .data          0x0000000000000000        0x0 ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
@@ -539,7 +540,7 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
 .rela.plt
  *(.rela.plt)
 
-.text           0x0000000000000000     0x1858
+.text           0x0000000000000000     0x17fa
  *(.vectors)
  .vectors       0x0000000000000000       0x98 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
                 0x0000000000000000                __vectors
@@ -607,6 +608,7 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
                 0x000000000000016e                __vector_32
                 0x000000000000016e                __vector_34
                 0x000000000000016e                __vector_24
+                0x000000000000016e                __vector_12
                 0x000000000000016e                __bad_interrupt
                 0x000000000000016e                __vector_6
                 0x000000000000016e                __vector_31
@@ -699,150 +701,147 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
                 0x0000000000000732       0x26 USBtoSerial.o
                 0x0000000000000732                uart_puts
  .text.my_uitoa
-                0x0000000000000758       0xd0 USBtoSerial.o
+                0x0000000000000758       0xcc USBtoSerial.o
                 0x0000000000000758                my_uitoa
- .text.main     0x0000000000000828      0x100 USBtoSerial.o
-                0x0000000000000828                main
+ .text.main     0x0000000000000824      0x100 USBtoSerial.o
+                0x0000000000000824                main
  .text.CALLBACK_USB_GetDescriptor
-                0x0000000000000928       0x5a Descriptors.o
-                0x0000000000000928                CALLBACK_USB_GetDescriptor
+                0x0000000000000924       0x5a Descriptors.o
+                0x0000000000000924                CALLBACK_USB_GetDescriptor
  .text.Endpoint_Write_Control_Stream_LE
-                0x0000000000000982       0xb4 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
-                0x0000000000000982                Endpoint_Write_Control_Stream_LE
+                0x000000000000097e       0xb8 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x000000000000097e                Endpoint_Write_Control_Stream_LE
  .text.Endpoint_Write_Control_PStream_LE
-                0x0000000000000a36       0xb6 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                0x0000000000000a36       0xba ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
                 0x0000000000000a36                Endpoint_Write_Control_PStream_LE
  .text.Endpoint_ConfigureEndpoint_Prv
-                0x0000000000000aec       0x6e ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
-                0x0000000000000aec                Endpoint_ConfigureEndpoint_Prv
+                0x0000000000000af0       0x6e ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+                0x0000000000000af0                Endpoint_ConfigureEndpoint_Prv
  .text.Endpoint_ConfigureEndpointTable
-                0x0000000000000b5a       0x88 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
-                0x0000000000000b5a                Endpoint_ConfigureEndpointTable
+                0x0000000000000b5e       0x88 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+                0x0000000000000b5e                Endpoint_ConfigureEndpointTable
  .text.Endpoint_ClearStatusStage
-                0x0000000000000be2       0x3e ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
-                0x0000000000000be2                Endpoint_ClearStatusStage
+                0x0000000000000be6       0x42 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+                0x0000000000000be6                Endpoint_ClearStatusStage
  .text.Endpoint_WaitUntilReady
-                0x0000000000000c20       0x66 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
-                0x0000000000000c20                Endpoint_WaitUntilReady
+                0x0000000000000c28       0x68 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+                0x0000000000000c28                Endpoint_WaitUntilReady
  .text.USB_ResetInterface
-                0x0000000000000c86       0x70 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
-                0x0000000000000c86                USB_ResetInterface
+                0x0000000000000c90       0x72 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
+                0x0000000000000c90                USB_ResetInterface
  .text.USB_Init
-                0x0000000000000cf6       0x12 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
-                0x0000000000000cf6                USB_Init
+                0x0000000000000d02       0x12 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
+                0x0000000000000d02                USB_Init
  .text.USB_INT_DisableAllInterrupts
-                0x0000000000000d08        0x6 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
-                0x0000000000000d08                USB_INT_DisableAllInterrupts
+                0x0000000000000d14        0x6 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+                0x0000000000000d14                USB_INT_DisableAllInterrupts
  .text.USB_INT_ClearAllInterrupts
-                0x0000000000000d0e        0x6 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
-                0x0000000000000d0e                USB_INT_ClearAllInterrupts
+                0x0000000000000d1a        0x6 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+                0x0000000000000d1a                USB_INT_ClearAllInterrupts
  .text.__vector_11
-                0x0000000000000d14      0x148 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
-                0x0000000000000d14                __vector_11
- .text.__vector_12
-                0x0000000000000e5c       0x76 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
-                0x0000000000000e5c                __vector_12
+                0x0000000000000d20      0x144 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+                0x0000000000000d20                __vector_11
  .text.USB_Device_ProcessControlRequest
-                0x0000000000000ed2      0x2c2 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
-                0x0000000000000ed2                USB_Device_ProcessControlRequest
+                0x0000000000000e64      0x2c6 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+                0x0000000000000e64                USB_Device_ProcessControlRequest
  .text.USB_Event_Stub
-                0x0000000000001194        0x2 ../../LUFA/Drivers/USB/Core/Events.o
-                0x0000000000001194                EVENT_USB_Device_WakeUp
-                0x0000000000001194                USB_Event_Stub
-                0x0000000000001194                EVENT_USB_Device_Suspend
-                0x0000000000001194                EVENT_USB_Device_StartOfFrame
-                0x0000000000001194                EVENT_USB_Device_Reset
+                0x000000000000112a        0x2 ../../LUFA/Drivers/USB/Core/Events.o
+                0x000000000000112a                EVENT_USB_Device_WakeUp
+                0x000000000000112a                USB_Event_Stub
+                0x000000000000112a                EVENT_USB_Device_Suspend
+                0x000000000000112a                EVENT_USB_Device_StartOfFrame
+                0x000000000000112a                EVENT_USB_Device_Reset
  .text.USB_USBTask
-                0x0000000000001196       0x36 ../../LUFA/Drivers/USB/Core/USBTask.o
-                0x0000000000001196                USB_USBTask
+                0x000000000000112c       0x38 ../../LUFA/Drivers/USB/Core/USBTask.o
+                0x000000000000112c                USB_USBTask
  .text.CDC_Device_ProcessControlRequest
-                0x00000000000011cc      0x158 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                0x00000000000011cc                CDC_Device_ProcessControlRequest
+                0x0000000000001164      0x15a ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000001164                CDC_Device_ProcessControlRequest
  .text.CDC_Device_ConfigureEndpoints
-                0x0000000000001324       0x48 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                0x0000000000001324                CDC_Device_ConfigureEndpoints
+                0x00000000000012be       0x48 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x00000000000012be                CDC_Device_ConfigureEndpoints
  .text.CDC_Device_SendByte
-                0x000000000000136c       0x5a ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                0x000000000000136c                CDC_Device_SendByte
+                0x0000000000001306       0x5c ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000001306                CDC_Device_SendByte
  .text.CDC_Device_Flush
-                0x00000000000013c6       0x5a ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                0x00000000000013c6                CDC_Device_Flush
+                0x0000000000001362       0x5c ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000001362                CDC_Device_Flush
  .text.CDC_Device_USBTask
-                0x0000000000001420       0x2e ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                0x0000000000001420                CDC_Device_USBTask
+                0x00000000000013be       0x30 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x00000000000013be                CDC_Device_USBTask
  .text.CDC_Device_ReceiveByte
-                0x000000000000144e       0x5a ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                0x000000000000144e                CDC_Device_ReceiveByte
+                0x00000000000013ee       0x5c ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x00000000000013ee                CDC_Device_ReceiveByte
  .text.CDC_Device_Event_Stub
-                0x00000000000014a8        0x2 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                0x00000000000014a8                EVENT_CDC_Device_ControLineStateChanged
-                0x00000000000014a8                EVENT_CDC_Device_BreakSent
-                0x00000000000014a8                CDC_Device_Event_Stub
+                0x000000000000144a        0x2 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x000000000000144a                EVENT_CDC_Device_ControLineStateChanged
+                0x000000000000144a                EVENT_CDC_Device_BreakSent
+                0x000000000000144a                CDC_Device_Event_Stub
  .text.avr-libc.fplib
-                0x00000000000014aa        0xa /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(addsf3.o)
-                0x00000000000014aa                __subsf3
-                0x00000000000014ac                __addsf3
+                0x000000000000144c        0xa /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(addsf3.o)
+                0x000000000000144c                __subsf3
+                0x000000000000144e                __addsf3
  .text.avr-libc.fplib
-                0x00000000000014b4       0xc0 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(addsf3x.o)
-                0x00000000000014ce                __addsf3x
+                0x0000000000001456       0xc0 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(addsf3x.o)
+                0x0000000000001470                __addsf3x
  .text.avr-libc.fplib
-                0x0000000000001574        0x8 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(cmpsf2.o)
-                0x0000000000001574                __lesf2
-                0x0000000000001574                __nesf2
-                0x0000000000001574                __eqsf2
-                0x0000000000001574                __cmpsf2
-                0x0000000000001574                __ltsf2
+                0x0000000000001516        0x8 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(cmpsf2.o)
+                0x0000000000001516                __lesf2
+                0x0000000000001516                __nesf2
+                0x0000000000001516                __eqsf2
+                0x0000000000001516                __cmpsf2
+                0x0000000000001516                __ltsf2
  .text.avr-libc.fplib
-                0x000000000000157c        0x4 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(divsf3.o)
-                0x000000000000157c                __divsf3
+                0x000000000000151e        0x4 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(divsf3.o)
+                0x000000000000151e                __divsf3
  .text.avr-libc.fplib
-                0x0000000000001580       0xcc /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(divsf3x.o)
-                0x0000000000001596                __divsf3x
-                0x000000000000159a                __divsf3_pse
+                0x0000000000001522       0xcc /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(divsf3x.o)
+                0x0000000000001538                __divsf3x
+                0x000000000000153c                __divsf3_pse
  .text.avr-libc.fplib
-                0x000000000000164c       0x58 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fixunssfsi.o)
-                0x000000000000164c                __fixunssfsi
+                0x00000000000015ee       0x58 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fixunssfsi.o)
+                0x00000000000015ee                __fixunssfsi
  .text.avr-libc.fplib
-                0x00000000000016a4       0x7a /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(floatsisf.o)
-                0x00000000000016a4                __floatunsisf
-                0x00000000000016a8                __floatsisf
+                0x0000000000001646       0x7a /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(floatsisf.o)
+                0x0000000000001646                __floatunsisf
+                0x000000000000164a                __floatsisf
  .text.avr-libc.fplib
-                0x000000000000171e       0x48 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_cmp.o)
-                0x000000000000171e                __fp_cmp
+                0x00000000000016c0       0x48 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_cmp.o)
+                0x00000000000016c0                __fp_cmp
  .text.avr-libc.fplib
-                0x0000000000001766        0xc /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_inf.o)
-                0x0000000000001766                __fp_inf
+                0x0000000000001708        0xc /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_inf.o)
+                0x0000000000001708                __fp_inf
  .text.avr-libc.fplib
-                0x0000000000001772        0x6 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_nan.o)
-                0x0000000000001772                __fp_nan
+                0x0000000000001714        0x6 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_nan.o)
+                0x0000000000001714                __fp_nan
  .text.avr-libc.fplib
-                0x0000000000001778        0xe /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_pscA.o)
-                0x0000000000001778                __fp_pscA
+                0x000000000000171a        0xe /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_pscA.o)
+                0x000000000000171a                __fp_pscA
  .text.avr-libc.fplib
-                0x0000000000001786        0xe /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_pscB.o)
-                0x0000000000001786                __fp_pscB
+                0x0000000000001728        0xe /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_pscB.o)
+                0x0000000000001728                __fp_pscB
  .text.avr-libc.fplib
-                0x0000000000001794       0x22 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_round.o)
-                0x0000000000001794                __fp_round
+                0x0000000000001736       0x22 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_round.o)
+                0x0000000000001736                __fp_round
  .text.avr-libc.fplib
-                0x00000000000017b6       0x44 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_split3.o)
-                0x00000000000017b6                __fp_split3
-                0x00000000000017c6                __fp_splitA
+                0x0000000000001758       0x44 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_split3.o)
+                0x0000000000001758                __fp_split3
+                0x0000000000001768                __fp_splitA
  .text.avr-libc.fplib
-                0x00000000000017fa        0xe /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_zero.o)
-                0x00000000000017fa                __fp_zero
-                0x00000000000017fc                __fp_szero
+                0x000000000000179c        0xe /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(fp_zero.o)
+                0x000000000000179c                __fp_zero
+                0x000000000000179e                __fp_szero
  .text.avr-libc.fplib
-                0x0000000000001808        0x8 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(gesf2.o)
-                0x0000000000001808                __gtsf2
-                0x0000000000001808                __gesf2
- .text.libgcc   0x0000000000001810       0x44 /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a(_udivmodsi4.o)
-                0x0000000000001810                __udivmodsi4
-                0x0000000000001854                . = ALIGN (0x2)
+                0x00000000000017aa        0x8 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/libm.a(gesf2.o)
+                0x00000000000017aa                __gtsf2
+                0x00000000000017aa                __gesf2
+ .text.libgcc   0x00000000000017b2       0x44 /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a(_udivmodsi4.o)
+                0x00000000000017b2                __udivmodsi4
+                0x00000000000017f6                . = ALIGN (0x2)
  *(.fini9)
- .fini9         0x0000000000001854        0x0 /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a(_exit.o)
-                0x0000000000001854                exit
-                0x0000000000001854                _exit
+ .fini9         0x00000000000017f6        0x0 /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a(_exit.o)
+                0x00000000000017f6                exit
+                0x00000000000017f6                _exit
  *(.fini9)
  *(.fini8)
  *(.fini8)
@@ -861,11 +860,11 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
  *(.fini1)
  *(.fini1)
  *(.fini0)
- .fini0         0x0000000000001854        0x4 /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a(_exit.o)
+ .fini0         0x00000000000017f6        0x4 /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a(_exit.o)
  *(.fini0)
-                0x0000000000001858                _etext = .
+                0x00000000000017fa                _etext = .
 
-.data           0x0000000000800100       0x62 load address 0x0000000000001858
+.data           0x0000000000800100       0x62 load address 0x00000000000017fa
                 0x0000000000800100                PROVIDE (__data_start, .)
  *(.data)
  .data          0x0000000000800100       0x62 USBtoSerial.o
@@ -878,7 +877,7 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
                 0x0000000000800162                _edata = .
                 0x0000000000800162                PROVIDE (__data_end, .)
 
-.bss            0x0000000000800162      0x134
+.bss            0x0000000000800162      0x135
                 0x0000000000800162                PROVIDE (__bss_start, .)
  *(.bss)
  .bss           0x0000000000800162      0x11d USBtoSerial.o
@@ -892,19 +891,20 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
                 0x000000000080028a                USB_Device_ConfigurationNumber
                 0x000000000080028b                USB_Device_CurrentlySelfPowered
                 0x000000000080028c                USB_Device_RemoteWakeupEnabled
- COMMON         0x000000000080028d        0x9 ../../LUFA/Drivers/USB/Core/USBTask.o
+ COMMON         0x000000000080028d        0xa ../../LUFA/Drivers/USB/Core/USBTask.o
                 0x000000000080028d                USB_IsInitialized
-                0x000000000080028e                USB_ControlRequest
-                0x0000000000800296                PROVIDE (__bss_end, .)
-                0x0000000000001858                __data_load_start = LOADADDR (.data)
-                0x00000000000018ba                __data_load_end = (__data_load_start + SIZEOF (.data))
-
-.noinit         0x0000000000800296        0x0
-                0x0000000000800296                PROVIDE (__noinit_start, .)
+                0x000000000080028e                USB_DeviceState
+                0x000000000080028f                USB_ControlRequest
+                0x0000000000800297                PROVIDE (__bss_end, .)
+                0x00000000000017fa                __data_load_start = LOADADDR (.data)
+                0x000000000000185c                __data_load_end = (__data_load_start + SIZEOF (.data))
+
+.noinit         0x0000000000800297        0x0
+                0x0000000000800297                PROVIDE (__noinit_start, .)
  *(.noinit*)
-                0x0000000000800296                PROVIDE (__noinit_end, .)
-                0x0000000000800296                _end = .
-                0x0000000000800296                PROVIDE (__heap_start, .)
+                0x0000000000800297                PROVIDE (__noinit_end, .)
+                0x0000000000800297                _end = .
+                0x0000000000800297                PROVIDE (__heap_start, .)
 
 .eeprom         0x0000000000810000        0x0
  *(.eeprom*)
@@ -1001,7 +1001,7 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
 .debug_sfnames
  *(.debug_sfnames)
 
-.debug_aranges  0x0000000000000000      0x538
+.debug_aranges  0x0000000000000000      0x530
  *(.debug_aranges)
  .debug_aranges
                 0x0000000000000000      0x108 USBtoSerial.o
@@ -1018,30 +1018,30 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
  .debug_aranges
                 0x0000000000000288       0x30 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
  .debug_aranges
-                0x00000000000002b8       0x38 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+                0x00000000000002b8       0x30 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
  .debug_aranges
-                0x00000000000002f0       0x38 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+                0x00000000000002e8       0x38 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
  .debug_aranges
-                0x0000000000000328       0x20 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+                0x0000000000000320       0x20 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
  .debug_aranges
-                0x0000000000000348       0x20 ../../LUFA/Drivers/USB/Core/Events.o
+                0x0000000000000340       0x20 ../../LUFA/Drivers/USB/Core/Events.o
  .debug_aranges
-                0x0000000000000368       0x20 ../../LUFA/Drivers/USB/Core/USBTask.o
+                0x0000000000000360       0x20 ../../LUFA/Drivers/USB/Core/USBTask.o
  .debug_aranges
-                0x0000000000000388       0x30 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+                0x0000000000000380       0x30 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
  .debug_aranges
-                0x00000000000003b8       0x98 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x00000000000003b0       0x98 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .debug_aranges
-                0x0000000000000450       0x30 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+                0x0000000000000448       0x30 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
  .debug_aranges
-                0x0000000000000480       0x30 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+                0x0000000000000478       0x30 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
  .debug_aranges
-                0x00000000000004b0       0x40 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                0x00000000000004a8       0x40 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .debug_aranges
-                0x00000000000004f0       0x48 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                0x00000000000004e8       0x48 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
 
 .debug_pubnames
-                0x0000000000000000      0xe11
+                0x0000000000000000      0xe15
  *(.debug_pubnames)
  .debug_pubnames
                 0x0000000000000000      0x276 USBtoSerial.o
@@ -1058,132 +1058,132 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
  .debug_pubnames
                 0x0000000000000752       0x46 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
  .debug_pubnames
-                0x0000000000000798       0x72 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+                0x0000000000000798       0x62 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
  .debug_pubnames
-                0x000000000000080a       0x9b ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+                0x00000000000007fa       0x9b ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
  .debug_pubnames
-                0x00000000000008a5       0xa1 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+                0x0000000000000895       0xa1 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
  .debug_pubnames
-                0x0000000000000946       0x25 ../../LUFA/Drivers/USB/Core/Events.o
+                0x0000000000000936       0x25 ../../LUFA/Drivers/USB/Core/Events.o
  .debug_pubnames
-                0x000000000000096b       0x4f ../../LUFA/Drivers/USB/Core/USBTask.o
+                0x000000000000095b       0x63 ../../LUFA/Drivers/USB/Core/USBTask.o
  .debug_pubnames
-                0x00000000000009ba       0x79 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+                0x00000000000009be       0x79 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
  .debug_pubnames
-                0x0000000000000a33      0x18b ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                0x0000000000000a37      0x18b ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
  .debug_pubnames
-                0x0000000000000bbe       0x70 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+                0x0000000000000bc2       0x70 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
  .debug_pubnames
-                0x0000000000000c2e       0x6d ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+                0x0000000000000c32       0x6d ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
  .debug_pubnames
-                0x0000000000000c9b       0xa6 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                0x0000000000000c9f       0xa6 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
  .debug_pubnames
-                0x0000000000000d41       0xd0 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                0x0000000000000d45       0xd0 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
 
-.debug_info     0x0000000000000000     0x8d6f
+.debug_info     0x0000000000000000     0x8daf
  *(.debug_info)
  .debug_info    0x0000000000000000      0xfb1 USBtoSerial.o
  .debug_info    0x0000000000000fb1      0x77d Descriptors.o
  .debug_info    0x000000000000172e      0x6f9 ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
  .debug_info    0x0000000000001e27       0xd8 ../../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.o
- .debug_info    0x0000000000001eff     0x154c ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
- .debug_info    0x000000000000344b      0x603 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
- .debug_info    0x0000000000003a4e       0x6c ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
- .debug_info    0x0000000000003aba       0x6c ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
- .debug_info    0x0000000000003b26       0x6c ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
- .debug_info    0x0000000000003b92      0x412 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
- .debug_info    0x0000000000003fa4      0x662 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
- .debug_info    0x0000000000004606      0x38c ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
- .debug_info    0x0000000000004992      0x973 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
- .debug_info    0x0000000000005305       0x85 ../../LUFA/Drivers/USB/Core/Events.o
- .debug_info    0x000000000000538a       0x6c ../../LUFA/Drivers/USB/Core/HostStandardReq.o
- .debug_info    0x00000000000053f6      0x245 ../../LUFA/Drivers/USB/Core/USBTask.o
- .debug_info    0x000000000000563b      0x56c ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
- .debug_info    0x0000000000005ba7      0xc3b ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
- .debug_info    0x00000000000067e2      0x67a ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
- .debug_info    0x0000000000006e5c      0x7ca ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
- .debug_info    0x0000000000007626      0x4c1 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
- .debug_info    0x0000000000007ae7      0xebc ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
- .debug_info    0x00000000000089a3       0x6c ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
- .debug_info    0x0000000000008a0f       0x6c ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
- .debug_info    0x0000000000008a7b       0x6c ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
- .debug_info    0x0000000000008ae7       0x6c ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
- .debug_info    0x0000000000008b53       0x6c ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
- .debug_info    0x0000000000008bbf       0x6c ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
- .debug_info    0x0000000000008c2b       0x6c ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
- .debug_info    0x0000000000008c97       0x6c ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
- .debug_info    0x0000000000008d03       0x6c ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
+ .debug_info    0x0000000000001eff     0x156b ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+ .debug_info    0x000000000000346a      0x622 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+ .debug_info    0x0000000000003a8c       0x6c ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
+ .debug_info    0x0000000000003af8       0x6c ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
+ .debug_info    0x0000000000003b64       0x6c ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
+ .debug_info    0x0000000000003bd0      0x431 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
+ .debug_info    0x0000000000004001      0x548 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+ .debug_info    0x0000000000004549      0x38c ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+ .debug_info    0x00000000000048d5      0x992 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+ .debug_info    0x0000000000005267       0x85 ../../LUFA/Drivers/USB/Core/Events.o
+ .debug_info    0x00000000000052ec       0x6c ../../LUFA/Drivers/USB/Core/HostStandardReq.o
+ .debug_info    0x0000000000005358      0x269 ../../LUFA/Drivers/USB/Core/USBTask.o
+ .debug_info    0x00000000000055c1      0x58b ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+ .debug_info    0x0000000000005b4c      0xc5a ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+ .debug_info    0x00000000000067a6      0x699 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+ .debug_info    0x0000000000006e3f      0x7e9 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+ .debug_info    0x0000000000007628      0x4e0 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+ .debug_info    0x0000000000007b08      0xedb ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+ .debug_info    0x00000000000089e3       0x6c ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
+ .debug_info    0x0000000000008a4f       0x6c ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
+ .debug_info    0x0000000000008abb       0x6c ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
+ .debug_info    0x0000000000008b27       0x6c ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
+ .debug_info    0x0000000000008b93       0x6c ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
+ .debug_info    0x0000000000008bff       0x6c ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
+ .debug_info    0x0000000000008c6b       0x6c ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
+ .debug_info    0x0000000000008cd7       0x6c ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
+ .debug_info    0x0000000000008d43       0x6c ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
  *(.gnu.linkonce.wi.*)
 
-.debug_abbrev   0x0000000000000000     0x21a4
+.debug_abbrev   0x0000000000000000     0x219a
  *(.debug_abbrev)
  .debug_abbrev  0x0000000000000000      0x41b USBtoSerial.o
  .debug_abbrev  0x000000000000041b      0x153 Descriptors.o
  .debug_abbrev  0x000000000000056e      0x1ec ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
  .debug_abbrev  0x000000000000075a       0x7d ../../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.o
- .debug_abbrev  0x00000000000007d7      0x18b ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
- .debug_abbrev  0x0000000000000962      0x1ee ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
- .debug_abbrev  0x0000000000000b50       0x2a ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
- .debug_abbrev  0x0000000000000b7a       0x2a ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
- .debug_abbrev  0x0000000000000ba4       0x2a ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
- .debug_abbrev  0x0000000000000bce      0x14d ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
- .debug_abbrev  0x0000000000000d1b      0x1e2 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
- .debug_abbrev  0x0000000000000efd      0x148 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
- .debug_abbrev  0x0000000000001045      0x20b ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
- .debug_abbrev  0x0000000000001250       0x41 ../../LUFA/Drivers/USB/Core/Events.o
- .debug_abbrev  0x0000000000001291       0x2a ../../LUFA/Drivers/USB/Core/HostStandardReq.o
- .debug_abbrev  0x00000000000012bb      0x14b ../../LUFA/Drivers/USB/Core/USBTask.o
- .debug_abbrev  0x0000000000001406      0x160 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
- .debug_abbrev  0x0000000000001566      0x2ec ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
- .debug_abbrev  0x0000000000001852      0x1b5 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
- .debug_abbrev  0x0000000000001a07      0x205 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
- .debug_abbrev  0x0000000000001c0c      0x16c ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
- .debug_abbrev  0x0000000000001d78      0x2b2 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
- .debug_abbrev  0x000000000000202a       0x2a ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
- .debug_abbrev  0x0000000000002054       0x2a ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
- .debug_abbrev  0x000000000000207e       0x2a ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
- .debug_abbrev  0x00000000000020a8       0x2a ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
- .debug_abbrev  0x00000000000020d2       0x2a ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
- .debug_abbrev  0x00000000000020fc       0x2a ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
- .debug_abbrev  0x0000000000002126       0x2a ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
- .debug_abbrev  0x0000000000002150       0x2a ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
- .debug_abbrev  0x000000000000217a       0x2a ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
-
-.debug_line     0x0000000000000000     0x7605
+ .debug_abbrev  0x00000000000007d7      0x192 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+ .debug_abbrev  0x0000000000000969      0x1f5 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+ .debug_abbrev  0x0000000000000b5e       0x2a ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
+ .debug_abbrev  0x0000000000000b88       0x2a ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
+ .debug_abbrev  0x0000000000000bb2       0x2a ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
+ .debug_abbrev  0x0000000000000bdc      0x14d ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
+ .debug_abbrev  0x0000000000000d29      0x17e ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+ .debug_abbrev  0x0000000000000ea7      0x148 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+ .debug_abbrev  0x0000000000000fef      0x212 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+ .debug_abbrev  0x0000000000001201       0x41 ../../LUFA/Drivers/USB/Core/Events.o
+ .debug_abbrev  0x0000000000001242       0x2a ../../LUFA/Drivers/USB/Core/HostStandardReq.o
+ .debug_abbrev  0x000000000000126c      0x15c ../../LUFA/Drivers/USB/Core/USBTask.o
+ .debug_abbrev  0x00000000000013c8      0x167 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+ .debug_abbrev  0x000000000000152f      0x2f3 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+ .debug_abbrev  0x0000000000001822      0x1bc ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+ .debug_abbrev  0x00000000000019de      0x205 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+ .debug_abbrev  0x0000000000001be3      0x184 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+ .debug_abbrev  0x0000000000001d67      0x2b9 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+ .debug_abbrev  0x0000000000002020       0x2a ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
+ .debug_abbrev  0x000000000000204a       0x2a ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
+ .debug_abbrev  0x0000000000002074       0x2a ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
+ .debug_abbrev  0x000000000000209e       0x2a ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
+ .debug_abbrev  0x00000000000020c8       0x2a ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
+ .debug_abbrev  0x00000000000020f2       0x2a ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
+ .debug_abbrev  0x000000000000211c       0x2a ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
+ .debug_abbrev  0x0000000000002146       0x2a ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
+ .debug_abbrev  0x0000000000002170       0x2a ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
+
+.debug_line     0x0000000000000000     0x77dd
  *(.debug_line)
  .debug_line    0x0000000000000000     0x1022 USBtoSerial.o
  .debug_line    0x0000000000001022      0x1d9 Descriptors.o
- .debug_line    0x00000000000011fb      0x762 ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
- .debug_line    0x000000000000195d      0x15f ../../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.o
- .debug_line    0x0000000000001abc     0x1a80 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
- .debug_line    0x000000000000353c      0x5a1 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
- .debug_line    0x0000000000003add       0x3e ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
- .debug_line    0x0000000000003b1b       0x3e ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
- .debug_line    0x0000000000003b59       0x3e ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
- .debug_line    0x0000000000003b97      0x312 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
- .debug_line    0x0000000000003ea9      0x55a ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
- .debug_line    0x0000000000004403      0x269 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
- .debug_line    0x000000000000466c      0x5a2 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
- .debug_line    0x0000000000004c0e       0x80 ../../LUFA/Drivers/USB/Core/Events.o
- .debug_line    0x0000000000004c8e       0x3e ../../LUFA/Drivers/USB/Core/HostStandardReq.o
- .debug_line    0x0000000000004ccc      0x1ae ../../LUFA/Drivers/USB/Core/USBTask.o
- .debug_line    0x0000000000004e7a      0x4be ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
- .debug_line    0x0000000000005338      0x9c2 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
- .debug_line    0x0000000000005cfa      0x5c3 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
- .debug_line    0x00000000000062bd      0x5c6 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
- .debug_line    0x0000000000006883      0x3bc ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
- .debug_line    0x0000000000006c3f      0x798 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
- .debug_line    0x00000000000073d7       0x3e ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
- .debug_line    0x0000000000007415       0x3e ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
- .debug_line    0x0000000000007453       0x3e ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
- .debug_line    0x0000000000007491       0x3e ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
- .debug_line    0x00000000000074cf       0x3e ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
- .debug_line    0x000000000000750d       0x3e ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
- .debug_line    0x000000000000754b       0x3e ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
- .debug_line    0x0000000000007589       0x3e ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
- .debug_line    0x00000000000075c7       0x3e ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
-
-.debug_frame    0x0000000000000000      0x830
+ .debug_line    0x00000000000011fb      0x768 ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
+ .debug_line    0x0000000000001963      0x16b ../../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.o
+ .debug_line    0x0000000000001ace     0x1aee ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+ .debug_line    0x00000000000035bc      0x5fe ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+ .debug_line    0x0000000000003bba       0x3e ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
+ .debug_line    0x0000000000003bf8       0x3e ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
+ .debug_line    0x0000000000003c36       0x3e ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
+ .debug_line    0x0000000000003c74      0x323 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
+ .debug_line    0x0000000000003f97      0x4a2 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+ .debug_line    0x0000000000004439      0x275 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+ .debug_line    0x00000000000046ae      0x5ba ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+ .debug_line    0x0000000000004c68       0x86 ../../LUFA/Drivers/USB/Core/Events.o
+ .debug_line    0x0000000000004cee       0x3e ../../LUFA/Drivers/USB/Core/HostStandardReq.o
+ .debug_line    0x0000000000004d2c      0x1cd ../../LUFA/Drivers/USB/Core/USBTask.o
+ .debug_line    0x0000000000004ef9      0x515 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+ .debug_line    0x000000000000540e      0x9e0 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+ .debug_line    0x0000000000005dee      0x5e1 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+ .debug_line    0x00000000000063cf      0x5f4 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+ .debug_line    0x00000000000069c3      0x436 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+ .debug_line    0x0000000000006df9      0x7b6 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+ .debug_line    0x00000000000075af       0x3e ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
+ .debug_line    0x00000000000075ed       0x3e ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
+ .debug_line    0x000000000000762b       0x3e ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
+ .debug_line    0x0000000000007669       0x3e ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
+ .debug_line    0x00000000000076a7       0x3e ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
+ .debug_line    0x00000000000076e5       0x3e ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
+ .debug_line    0x0000000000007723       0x3e ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
+ .debug_line    0x0000000000007761       0x3e ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
+ .debug_line    0x000000000000779f       0x3e ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
+
+.debug_frame    0x0000000000000000      0x820
  *(.debug_frame)
  .debug_frame   0x0000000000000000      0x1f0 USBtoSerial.o
  .debug_frame   0x00000000000001f0       0x20 Descriptors.o
@@ -1192,100 +1192,100 @@ LOAD /usr/lib/gcc/avr/4.5.3/avr35/libgcc.a
  .debug_frame   0x0000000000000280      0x170 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .debug_frame   0x00000000000003f0       0x60 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
  .debug_frame   0x0000000000000450       0x40 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
- .debug_frame   0x0000000000000490       0x50 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
- .debug_frame   0x00000000000004e0       0x50 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
- .debug_frame   0x0000000000000530       0x20 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
- .debug_frame   0x0000000000000550       0x20 ../../LUFA/Drivers/USB/Core/Events.o
- .debug_frame   0x0000000000000570       0x20 ../../LUFA/Drivers/USB/Core/USBTask.o
- .debug_frame   0x0000000000000590       0x40 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
- .debug_frame   0x00000000000005d0      0x110 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
- .debug_frame   0x00000000000006e0       0x40 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
- .debug_frame   0x0000000000000720       0x40 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
- .debug_frame   0x0000000000000760       0x60 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
- .debug_frame   0x00000000000007c0       0x70 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
-
-.debug_str      0x0000000000000000     0x3bf7
+ .debug_frame   0x0000000000000490       0x40 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+ .debug_frame   0x00000000000004d0       0x50 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+ .debug_frame   0x0000000000000520       0x20 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+ .debug_frame   0x0000000000000540       0x20 ../../LUFA/Drivers/USB/Core/Events.o
+ .debug_frame   0x0000000000000560       0x20 ../../LUFA/Drivers/USB/Core/USBTask.o
+ .debug_frame   0x0000000000000580       0x40 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+ .debug_frame   0x00000000000005c0      0x110 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+ .debug_frame   0x00000000000006d0       0x40 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+ .debug_frame   0x0000000000000710       0x40 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+ .debug_frame   0x0000000000000750       0x60 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+ .debug_frame   0x00000000000007b0       0x70 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+
+.debug_str      0x0000000000000000     0x3ce7
  *(.debug_str)
  .debug_str     0x0000000000000000      0x939 USBtoSerial.o
                                         0x9db (size before relaxing)
  .debug_str     0x0000000000000939      0x8ba Descriptors.o
                                         0xa0a (size before relaxing)
- .debug_str     0x00000000000011f3      0x47c ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
-                                        0x5ea (size before relaxing)
- .debug_str     0x000000000000166f       0x77 ../../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.o
-                                        0x14d (size before relaxing)
- .debug_str     0x00000000000016e6      0x592 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
-                                        0x763 (size before relaxing)
- .debug_str     0x0000000000001c78      0x212 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
-                                        0x55f (size before relaxing)
- .debug_str     0x0000000000001e8a       0x2d ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
-                                         0xf5 (size before relaxing)
- .debug_str     0x0000000000001eb7       0x33 ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
-                                         0xfb (size before relaxing)
- .debug_str     0x0000000000001eea       0x2d ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
-                                         0xf5 (size before relaxing)
- .debug_str     0x0000000000001f17      0x209 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
-                                        0x41e (size before relaxing)
- .debug_str     0x0000000000002120      0x113 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
-                                        0x420 (size before relaxing)
- .debug_str     0x0000000000002233      0x227 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
-                                        0x335 (size before relaxing)
- .debug_str     0x000000000000245a      0x3b2 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
-                                        0x853 (size before relaxing)
- .debug_str     0x000000000000280c       0x34 ../../LUFA/Drivers/USB/Core/Events.o
-                                         0xfc (size before relaxing)
- .debug_str     0x0000000000002840       0x2e ../../LUFA/Drivers/USB/Core/HostStandardReq.o
-                                         0xf6 (size before relaxing)
- .debug_str     0x000000000000286e       0x4e ../../LUFA/Drivers/USB/Core/USBTask.o
-                                        0x2a3 (size before relaxing)
- .debug_str     0x00000000000028bc      0x239 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
-                                        0x523 (size before relaxing)
- .debug_str     0x0000000000002af5      0x2fa ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
-                                        0x8d7 (size before relaxing)
- .debug_str     0x0000000000002def      0x1ed ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
-                                        0x552 (size before relaxing)
- .debug_str     0x0000000000002fdc      0x23d ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
-                                        0x6b3 (size before relaxing)
- .debug_str     0x0000000000003219      0x118 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
-                                        0x53a (size before relaxing)
- .debug_str     0x0000000000003331      0x6e8 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
-                                        0xbeb (size before relaxing)
- .debug_str     0x0000000000003a19       0x3e ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
+ .debug_str     0x00000000000011f3      0x4d5 ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
+                                        0x5fa (size before relaxing)
+ .debug_str     0x00000000000016c8       0x7d ../../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.o
+                                        0x15d (size before relaxing)
+ .debug_str     0x0000000000001745      0x5a8 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+                                        0x783 (size before relaxing)
+ .debug_str     0x0000000000001ced      0x218 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+                                        0x57f (size before relaxing)
+ .debug_str     0x0000000000001f05       0x33 ../../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.o
+                                        0x105 (size before relaxing)
+ .debug_str     0x0000000000001f38       0x39 ../../LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.o
+                                        0x10b (size before relaxing)
+ .debug_str     0x0000000000001f71       0x33 ../../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.o
+                                        0x105 (size before relaxing)
+ .debug_str     0x0000000000001fa4      0x20f ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
+                                        0x43e (size before relaxing)
+ .debug_str     0x00000000000021b3       0xdc ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+                                        0x3b7 (size before relaxing)
+ .debug_str     0x000000000000228f      0x22d ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+                                        0x345 (size before relaxing)
+ .debug_str     0x00000000000024bc      0x3b8 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+                                        0x873 (size before relaxing)
+ .debug_str     0x0000000000002874       0x3a ../../LUFA/Drivers/USB/Core/Events.o
+                                        0x10c (size before relaxing)
+ .debug_str     0x00000000000028ae       0x34 ../../LUFA/Drivers/USB/Core/HostStandardReq.o
                                         0x106 (size before relaxing)
- .debug_str     0x0000000000003a57       0x33 ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
-                                         0xfb (size before relaxing)
- .debug_str     0x0000000000003a8a       0x31 ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
-                                         0xf9 (size before relaxing)
- .debug_str     0x0000000000003abb       0x31 ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
-                                         0xf9 (size before relaxing)
- .debug_str     0x0000000000003aec       0x39 ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
-                                        0x101 (size before relaxing)
- .debug_str     0x0000000000003b25       0x32 ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
-                                         0xfa (size before relaxing)
- .debug_str     0x0000000000003b57       0x35 ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
-                                         0xfd (size before relaxing)
- .debug_str     0x0000000000003b8c       0x33 ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
-                                         0xfb (size before relaxing)
- .debug_str     0x0000000000003bbf       0x38 ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
-                                        0x100 (size before relaxing)
-
-.debug_loc      0x0000000000000000     0x4645
+ .debug_str     0x00000000000028e2       0x70 ../../LUFA/Drivers/USB/Core/USBTask.o
+                                        0x2c3 (size before relaxing)
+ .debug_str     0x0000000000002952      0x23f ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+                                        0x543 (size before relaxing)
+ .debug_str     0x0000000000002b91      0x300 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                                        0x8f7 (size before relaxing)
+ .debug_str     0x0000000000002e91      0x1f3 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+                                        0x572 (size before relaxing)
+ .debug_str     0x0000000000003084      0x243 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+                                        0x6d3 (size before relaxing)
+ .debug_str     0x00000000000032c7      0x11e ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                                        0x55a (size before relaxing)
+ .debug_str     0x00000000000033e5      0x6ee ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                                        0xc0b (size before relaxing)
+ .debug_str     0x0000000000003ad3       0x44 ../../LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.o
+                                        0x116 (size before relaxing)
+ .debug_str     0x0000000000003b17       0x39 ../../LUFA/Drivers/USB/Class/Host/AudioClassHost.o
+                                        0x10b (size before relaxing)
+ .debug_str     0x0000000000003b50       0x37 ../../LUFA/Drivers/USB/Class/Host/CDCClassHost.o
+                                        0x109 (size before relaxing)
+ .debug_str     0x0000000000003b87       0x37 ../../LUFA/Drivers/USB/Class/Host/HIDClassHost.o
+                                        0x109 (size before relaxing)
+ .debug_str     0x0000000000003bbe       0x3f ../../LUFA/Drivers/USB/Class/Host/MassStorageClassHost.o
+                                        0x111 (size before relaxing)
+ .debug_str     0x0000000000003bfd       0x38 ../../LUFA/Drivers/USB/Class/Host/MIDIClassHost.o
+                                        0x10a (size before relaxing)
+ .debug_str     0x0000000000003c35       0x3b ../../LUFA/Drivers/USB/Class/Host/PrinterClassHost.o
+                                        0x10d (size before relaxing)
+ .debug_str     0x0000000000003c70       0x39 ../../LUFA/Drivers/USB/Class/Host/RNDISClassHost.o
+                                        0x10b (size before relaxing)
+ .debug_str     0x0000000000003ca9       0x3e ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
+                                        0x110 (size before relaxing)
+
+.debug_loc      0x0000000000000000     0x4631
  *(.debug_loc)
  .debug_loc     0x0000000000000000      0x5a9 USBtoSerial.o
  .debug_loc     0x00000000000005a9       0xd3 Descriptors.o
  .debug_loc     0x000000000000067c      0x88f ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
  .debug_loc     0x0000000000000f0b     0x1982 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .debug_loc     0x000000000000288d      0x390 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
- .debug_loc     0x0000000000002c1d      0x190 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
- .debug_loc     0x0000000000002dad      0x2bc ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
- .debug_loc     0x0000000000003069      0x22a ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
- .debug_loc     0x0000000000003293       0x27 ../../LUFA/Drivers/USB/Core/USBTask.o
- .debug_loc     0x00000000000032ba      0x16d ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
- .debug_loc     0x0000000000003427      0x52b ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
- .debug_loc     0x0000000000003952      0x249 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
- .debug_loc     0x0000000000003b9b      0x152 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
- .debug_loc     0x0000000000003ced      0x1f6 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
- .debug_loc     0x0000000000003ee3      0x762 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+ .debug_loc     0x0000000000002c1d      0x17c ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+ .debug_loc     0x0000000000002d99      0x2bc ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+ .debug_loc     0x0000000000003055      0x22a ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+ .debug_loc     0x000000000000327f       0x27 ../../LUFA/Drivers/USB/Core/USBTask.o
+ .debug_loc     0x00000000000032a6      0x16d ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+ .debug_loc     0x0000000000003413      0x52b ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+ .debug_loc     0x000000000000393e      0x249 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+ .debug_loc     0x0000000000003b87      0x152 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+ .debug_loc     0x0000000000003cd9      0x1f6 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+ .debug_loc     0x0000000000003ecf      0x762 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
 
 .debug_macinfo
  *(.debug_macinfo)
@@ -1357,7 +1357,7 @@ LOAD linker stubs
  .debug_pubtypes
                 0x00000000000010ff       0x12 ../../LUFA/Drivers/USB/Class/Host/StillImageClassHost.o
 
-.debug_ranges   0x0000000000000000      0x790
+.debug_ranges   0x0000000000000000      0x788
  .debug_ranges  0x0000000000000000       0xf8 USBtoSerial.o
  .debug_ranges  0x00000000000000f8       0x10 Descriptors.o
  .debug_ranges  0x0000000000000108      0x100 ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
@@ -1365,17 +1365,17 @@ LOAD linker stubs
  .debug_ranges  0x0000000000000218      0x298 ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
  .debug_ranges  0x00000000000004b0       0xa8 ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
  .debug_ranges  0x0000000000000558       0x20 ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
- .debug_ranges  0x0000000000000578       0x28 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
- .debug_ranges  0x00000000000005a0       0x28 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
- .debug_ranges  0x00000000000005c8       0x10 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
- .debug_ranges  0x00000000000005d8       0x10 ../../LUFA/Drivers/USB/Core/Events.o
- .debug_ranges  0x00000000000005e8       0x10 ../../LUFA/Drivers/USB/Core/USBTask.o
- .debug_ranges  0x00000000000005f8       0x20 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
- .debug_ranges  0x0000000000000618       0x88 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
- .debug_ranges  0x00000000000006a0       0x20 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
- .debug_ranges  0x00000000000006c0       0x20 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
- .debug_ranges  0x00000000000006e0       0x30 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
- .debug_ranges  0x0000000000000710       0x80 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+ .debug_ranges  0x0000000000000578       0x20 ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+ .debug_ranges  0x0000000000000598       0x28 ../../LUFA/Drivers/USB/Core/ConfigDescriptors.o
+ .debug_ranges  0x00000000000005c0       0x10 ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+ .debug_ranges  0x00000000000005d0       0x10 ../../LUFA/Drivers/USB/Core/Events.o
+ .debug_ranges  0x00000000000005e0       0x10 ../../LUFA/Drivers/USB/Core/USBTask.o
+ .debug_ranges  0x00000000000005f0       0x20 ../../LUFA/Drivers/USB/Class/Device/AudioClassDevice.o
+ .debug_ranges  0x0000000000000610       0x88 ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+ .debug_ranges  0x0000000000000698       0x20 ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+ .debug_ranges  0x00000000000006b8       0x20 ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+ .debug_ranges  0x00000000000006d8       0x30 ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+ .debug_ranges  0x0000000000000708       0x80 ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
 
 Cross Reference Table
 
@@ -1519,6 +1519,17 @@ USB_ControlRequest                                ../../LUFA/Drivers/USB/Class/D
                                                   ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
                                                   ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
                                                   ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
+USB_DeviceState                                   ../../LUFA/Drivers/USB/Class/Device/RNDISClassDevice.o
+                                                  ../../LUFA/Drivers/USB/Class/Device/MIDIClassDevice.o
+                                                  ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
+                                                  ../../LUFA/Drivers/USB/Class/Device/HIDClassDevice.o
+                                                  ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                                                  ../../LUFA/Drivers/USB/Core/USBTask.o
+                                                  ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
+                                                  ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
+                                                  ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
+                                                  ../../LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.o
+                                                  ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
 USB_Device_ConfigurationNumber                    ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
                                                   ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
                                                   ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
@@ -1526,7 +1537,6 @@ USB_Device_CurrentlySelfPowered                   ../../LUFA/Drivers/USB/Core/De
                                                   ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
 USB_Device_ProcessControlRequest                  ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
                                                   ../../LUFA/Drivers/USB/Core/USBTask.o
-                                                  ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
 USB_Device_RemoteWakeupEnabled                    ../../LUFA/Drivers/USB/Core/DeviceStandardReq.o
                                                   ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
 USB_Device_SendRemoteWakeup                       ../../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.o
@@ -1550,7 +1560,9 @@ USB_ProcessHIDReport                              ../../LUFA/Drivers/USB/Class/C
 USB_ResetInterface                                ../../LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.o
 USB_SetHIDReportItemInfo                          ../../LUFA/Drivers/USB/Class/Common/HIDParser.o
 USB_USBTask                                       ../../LUFA/Drivers/USB/Core/USBTask.o
+                                                  ../../LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.o
                                                   ../../LUFA/Drivers/USB/Class/Device/CDCClassDevice.o
+                                                  ../../LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.o
                                                   USBtoSerial.o
 Usb2SerialTask                                    USBtoSerial.o
 VirtualSerial_CDC_Interface                       USBtoSerial.o
@@ -1639,8 +1651,7 @@ __vector_1                                        /usr/lib/gcc/avr/4.5.3/../../.
 __vector_10                                       /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
 __vector_11                                       ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
                                                   /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
-__vector_12                                       ../../LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.o
-                                                  /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
+__vector_12                                       /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
 __vector_13                                       /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
 __vector_14                                       /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
 __vector_15                                       /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr35/crtm32u2.o
index ce0cc01ea2dd433314a248617d6008b034379e0d..b70739d69fe4660e4b36b15c09b0871eddae688b 100644 (file)
 0000016e T __bad_interrupt
 0000016e W __vector_1
 0000016e W __vector_10
+0000016e W __vector_12
 0000016e W __vector_13
 0000016e W __vector_14
 0000016e W __vector_15
 00000722 T uart_putc
 00000732 T uart_puts
 00000758 T my_uitoa
-00000828 T main
-00000928 T CALLBACK_USB_GetDescriptor
-00000982 T Endpoint_Write_Control_Stream_LE
+00000824 T main
+00000924 T CALLBACK_USB_GetDescriptor
+0000097e T Endpoint_Write_Control_Stream_LE
 00000a36 T Endpoint_Write_Control_PStream_LE
-00000aec T Endpoint_ConfigureEndpoint_Prv
-00000b5a T Endpoint_ConfigureEndpointTable
-00000be2 T Endpoint_ClearStatusStage
-00000c20 T Endpoint_WaitUntilReady
-00000c86 T USB_ResetInterface
-00000cf6 T USB_Init
-00000d08 T USB_INT_DisableAllInterrupts
-00000d0e T USB_INT_ClearAllInterrupts
-00000d14 T __vector_11
-00000e5c T __vector_12
-00000ed2 T USB_Device_ProcessControlRequest
-00001194 W EVENT_USB_Device_Reset
-00001194 W EVENT_USB_Device_StartOfFrame
-00001194 W EVENT_USB_Device_Suspend
-00001194 W EVENT_USB_Device_WakeUp
-00001194 T USB_Event_Stub
-00001196 T USB_USBTask
-000011cc T CDC_Device_ProcessControlRequest
-00001324 T CDC_Device_ConfigureEndpoints
-0000136c T CDC_Device_SendByte
-000013c6 T CDC_Device_Flush
-00001420 T CDC_Device_USBTask
-0000144e T CDC_Device_ReceiveByte
-000014a8 T CDC_Device_Event_Stub
-000014a8 W EVENT_CDC_Device_BreakSent
-000014a8 W EVENT_CDC_Device_ControLineStateChanged
-000014aa T __subsf3
-000014ac T __addsf3
-000014ce T __addsf3x
-00001574 T __cmpsf2
-00001574 T __eqsf2
-00001574 T __lesf2
-00001574 T __ltsf2
-00001574 T __nesf2
-0000157c T __divsf3
-00001596 T __divsf3x
-0000159a T __divsf3_pse
-0000164c T __fixunssfsi
-000016a4 T __floatunsisf
-000016a8 T __floatsisf
-0000171e T __fp_cmp
-00001766 T __fp_inf
-00001772 T __fp_nan
-00001778 T __fp_pscA
-00001786 T __fp_pscB
-00001794 T __fp_round
-000017b6 T __fp_split3
-000017c6 T __fp_splitA
-000017fa T __fp_zero
-000017fc T __fp_szero
-00001808 T __gesf2
-00001808 T __gtsf2
-00001810 T __udivmodsi4
-0000181c t __udivmodsi4_loop
-00001836 t __udivmodsi4_ep
-00001854 T _exit
-00001854 W exit
-00001856 t __stop_program
-00001858 A __data_load_start
-00001858 T _etext
-000018ba A __data_load_end
+00000af0 T Endpoint_ConfigureEndpoint_Prv
+00000b5e T Endpoint_ConfigureEndpointTable
+00000be6 T Endpoint_ClearStatusStage
+00000c28 T Endpoint_WaitUntilReady
+00000c90 T USB_ResetInterface
+00000d02 T USB_Init
+00000d14 T USB_INT_DisableAllInterrupts
+00000d1a T USB_INT_ClearAllInterrupts
+00000d20 T __vector_11
+00000e64 T USB_Device_ProcessControlRequest
+0000112a W EVENT_USB_Device_Reset
+0000112a W EVENT_USB_Device_StartOfFrame
+0000112a W EVENT_USB_Device_Suspend
+0000112a W EVENT_USB_Device_WakeUp
+0000112a T USB_Event_Stub
+0000112c T USB_USBTask
+00001164 T CDC_Device_ProcessControlRequest
+000012be T CDC_Device_ConfigureEndpoints
+00001306 T CDC_Device_SendByte
+00001362 T CDC_Device_Flush
+000013be T CDC_Device_USBTask
+000013ee T CDC_Device_ReceiveByte
+0000144a T CDC_Device_Event_Stub
+0000144a W EVENT_CDC_Device_BreakSent
+0000144a W EVENT_CDC_Device_ControLineStateChanged
+0000144c T __subsf3
+0000144e T __addsf3
+00001470 T __addsf3x
+00001516 T __cmpsf2
+00001516 T __eqsf2
+00001516 T __lesf2
+00001516 T __ltsf2
+00001516 T __nesf2
+0000151e T __divsf3
+00001538 T __divsf3x
+0000153c T __divsf3_pse
+000015ee T __fixunssfsi
+00001646 T __floatunsisf
+0000164a T __floatsisf
+000016c0 T __fp_cmp
+00001708 T __fp_inf
+00001714 T __fp_nan
+0000171a T __fp_pscA
+00001728 T __fp_pscB
+00001736 T __fp_round
+00001758 T __fp_split3
+00001768 T __fp_splitA
+0000179c T __fp_zero
+0000179e T __fp_szero
+000017aa T __gesf2
+000017aa T __gtsf2
+000017b2 T __udivmodsi4
+000017be t __udivmodsi4_loop
+000017d8 t __udivmodsi4_ep
+000017f6 T _exit
+000017f6 W exit
+000017f8 t __stop_program
+000017fa A __data_load_start
+000017fa T _etext
+0000185c A __data_load_end
 00800100 D __data_start
 00800145 D VirtualSerial_CDC_Interface
 00800160 d CSWTCH.10
 0080028b B USB_Device_CurrentlySelfPowered
 0080028c B USB_Device_RemoteWakeupEnabled
 0080028d B USB_IsInitialized
-0080028e B USB_ControlRequest
-00800296 B __bss_end
-00800296 N _end
+0080028e B USB_DeviceState
+0080028f B USB_ControlRequest
+00800297 B __bss_end
+00800297 N _end
 00810000 N __eeprom_end