Update 1.7

This commit is contained in:
NicoHood 2014-08-10 02:15:10 +02:00
parent e812d8a33d
commit 445c7e884d
19 changed files with 1392 additions and 120 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

474
Firmwares/Hoodloader1_6.hex Normal file
View file

@ -0,0 +1,474 @@
:1000000073C100008DC100008BC1000089C10000D8
:1000100087C1000085C1000083C1000081C10000CC
:100020007FC100007DC100007BC100000C94670807
:100030000C94100975C1000073C1000071C100006B
:100040006FC100006DC100006BC1000069C10000FC
:1000500067C1000065C1000063C1000009C2000063
:100060005FC100005DC100005BC1000059C100001C
:1000700057C1000030034100720064007500690040
:100080006E006F00200048006F006F0064006C007D
:100090006F0061006400650072002000420065008E
:1000A00074006100000012034E00690063006F00DD
:1000B00048006F006F006400000004030904090297
:1000C0005F00030100C032080B00020202010009B8
:1000D00004000001020201000524001001042402B2
:1000E000060524060001070582030800FF09040134
:1000F00000020A0000000705040240000107058312
:10010000024000010904020001030000000921115E
:1001100001000122B801070581032000011201102E
:1001200001EF020108EB03686E16000102DC010515
:10013000010902A1010901A100850105091901298F
:10014000051500250195057501810295017503814D
:100150000305010930093109381581257F75089596
:10016000038106C0C005010906A101850205071922
:10017000E029E715002501750195088102950175B3
:1001800008810395067508150025650507190029DE
:1001900065810005081901290595057501910295EC
:1001A0000175039103C006C0FF0A000CA10185037D
:1001B0007508150026FF00953F09018102953F094A
:1001C000029102C0050C0901A1018504150026FF5A
:1001D000FF19002AFFFF950475108100C005010971
:1001E00080A1018505150026FF00190029FF950152
:1001F00075088100C005010905A1018506050919D9
:10020000012920150025017501952081020501A114
:10021000000930093109320933093409351500273D
:10022000FFFF0000751095068102C005010939091C
:100230003915012508950275048102C005010905DB
:10024000A10185070509190129201500250175015E
:10025000952081020501A1000930093109320933D5
:1002600009340935150027FFFF0000751095068138
:1002700002C0093909391501250895027504810262
:10028000C005010904A1018508A10005091901297A
:100290000215002501750195028102050109300949
:1002A00031150026FF03750A95028102750295013A
:1002B0008103C0C005010904A1018509A100050948
:1002C0001901290215002501750195028102050118
:1002D00009300931150026FF03750A950281027560
:1002E0000295018103C0C00011241FBECFEFD2E0F0
:1002F000DEBFCDBF11E0A0E0B1E0EEE5FDE102C060
:1003000005900D92AE32B107D9F712E0AEE2B1E03E
:1003100001C01D92A434B107E1F720D30C94AD0EB7
:100320006FCECF93DF9384B7877F84BF28E10FB66A
:10033000F89420936000109260000FBE80E190E07E
:100340009093CD008093CC00CAECD0E096E09883E7
:10035000A8ECB0E082E08C93E9ECF0E02083539AC3
:100360005A9A5B9A10821C92188298838C9388E91F
:1003700080835B988AB180638AB98BB180638BB9C3
:1003800097D684E085BD5F9A579A84B184B9229844
:100390002A9ADF91CF9108950895089580E091E021
:1003A0000E94950D80E191E00E94D20AE2EEF0E019
:1003B00080818460808308951F93CF93DF93EC0145
:1003C000E98DE150E23028F4F0E0E55DFE4F108168
:1003D00001C010E0888D823009F418608A8D873062
:1003E00031F0883031F0863029F4126003C0146097
:1003F00001C016605B9A1092C9001092C80010925A
:10040000CA002C893D894E895F89211581EE380704
:100410004105510579F0CA01B901969587957795FF
:10042000679560587B47814E9F4F0E946E0E21500A
:10043000310902C020E130E03093CD002093CC00A0
:100440001093CA008C899D89AE89BF898115914E10
:10045000A105B10511F480E001C082E08093C800DD
:1004600088E98093C9005B98DF91CF911F9108952F
:100470001F920F920FB60F9211242F933F938F93D9
:100480009F93AF93BF93EF93FF938091CE00909192
:100490002E019430F9F090913B029430D9F4EFE2C0
:1004A000F1E0A081B1818C9380819181019691834B
:1004B0008083268137818217930721F48481958177
:1004C000918380832FB7F8948285938501969387D3
:1004D00082872FBFFF91EF91BF91AF919F918F9135
:1004E0003F912F910F900FBE0F901F901895FC0118
:1004F000208920FF02C05F9808955F9A8BB18063C6
:100500008BB9089580E191E00E94AB0B80E091E00F
:100510000C945E0C80910E0190910F01009729F0D0
:10052000019790930F0180930E010895EF92FF922F
:100530000F931F93CF93DF937B01C901E8012091B3
:10054000BD012223E1F04091BE012091BF01421381
:1005500016C0E0ECF1E050E0BF010E949D0E8091DA
:10056000BD01F70180838091BE01888319821092BA
:10057000BD011092BF011092BE0181E001C080E078
:10058000DF91CF911F910F91FF90EF9008950F93FE
:100590001F93C901633039F45C986093BC01B801C2
:1005A0001F910F9126C31F910F91089510920B0276
:1005B0001092FF010895462F209111012F70209372
:1005C000E9002091E80020FFFCCF2091200120FFCE
:1005D00006C050E0BC0180E191E00C94F70A089558
:1005E000CF92DF92EF92FF920F931F93FA018B014C
:1005F0000095109520E030E0980111270027AB010D
:1006000060E070E0042B152B262B372B4CE150E0DB
:1006100097E068017901042E04C0F694E794D7941A
:10062000C7940A94D2F76C2D683028F0973059F4AB
:10063000C08296E008C0C0829150C11004C04750EB
:100640005109923031F7492F425013C0DF01A40FF6
:10065000B11D68017901E894C7F8DD24EE24FF2478
:10066000CC92B7E03695279517950795BA95D1F7AF
:1006700041504111EBCF492F50E09A01A3E0220FE6
:10068000331FAA95E1F7206C3F6F3081322B308306
:10069000E40FF51F319781508F7380688083892F15
:1006A0001F910F91FF90EF90DF90CF900895CF931F
:1006B000DF9300D000D000D0CDB7DEB76091BD0190
:1006C000662379F08091BF0181110BC070E07160E9
:1006D000AE014F5F5F4F81E083DF682FCE0101964F
:1006E0006ADF1092BD0126960FB6F894DEBF0FBEEA
:1006F000CDBFDF91CF9108950F931F93982F409115
:100700000B02E42FF0E0EB5FFD4F808380910B0242
:100710008F5F80930B02892F807C803809F444C05E
:10072000803C09F05FC0292F2873269526952695D1
:10073000223008F477C0273079F4492F4F7050E009
:1007400060E070E040930002509301026093020267
:100750007093030215E00FC0892F877090E0A0E02E
:10076000B0E08093000290930102A0930202B09344
:100770000302122F11508091FF01882391F097DF1F
:1007800060910B02615085E092E015DFE0910B0271
:10079000F0E0EC5FFD4F80818093050281E0809363
:1007A0000B021093FF0145C08091FF018130D1F50C
:1007B0000091000210910102209102023091030287
:1007C000A901662777272227332740275127622749
:1007D00073274F3F5F4F6105710521F5892F8F7397
:1007E0008F5F28C08091FF018230E0F081508093BC
:1007F000FF0140910002509101026091020270914C
:10080000030227E0440F551F661F771F2A95D1F773
:10081000492B4093000250930102609302027093AF
:10082000030207C044DF60910B0285E092E0C3DE63
:10083000BDDE80E01F910F910895CF935DDFC82F3B
:10084000882309F489C08091BD01811104C0C130A1
:1008500009F046C010C09091BE018091BF0198136D
:10086000F6CF04C080E091E00E94AA0D8091BD0106
:100870008111F8CFECCF80910102813089F517DF2B
:10088000909100029093BD011092BF018FE3E0ECC4
:10089000F1E0DF01282F1D922A95E9F79530A9F0A4
:1008A00058F4923081F018F49130C1F40AC09330BA
:1008B00091F0943099F407C0983050F09A3070F469
:1008C00009C084E008C088E006C0C093BE0142C0F1
:1008D00081E101C083E08093BE013CC0E8DE3AC004
:1008E0008091BD01882381F16091BF01462F50E0C6
:1008F0008C2F90E09A012E5F3F4F359527952F5F03
:100900003F4F8217930701F5FA01E054FE4F8091A3
:1009100000028083E62FEF5FE093BF018091BE016C
:100920008E1749F0F0E0E054FE4F90910102908361
:100930006E5F6093BF019091BF0189130BC080E08F
:1009400091E00E94AA0D06C0B2DE60910B0285E024
:1009500092E031DECF912ACECF910895E2DC109261
:100960002E01EFE2F1E02FB7F8948BE391E0918351
:10097000808393838283958384838BEB91E0978339
:10098000868380E890E091878087138612862FBF48
:100990007894E2E08E2E0FE211E0CBE3D1E0FBEBA6
:1009A000EF2EF1E0FF2EA0E8CA2ED12CB3E09B2E53
:1009B0008091240190912501A0912601B0912701F9
:1009C00020912E010097A105B10529F08115924CC7
:1009D000A140B10529F52430B9F4F8018FB7F89496
:1009E000D183C083D383C283D583C483F782E68255
:1009F000D186C086138612868FBF1092BB011092DB
:100A0000BC018BB180638BB91A9B11C080912E0100
:100A1000823019F0CBDD1092BD0180922E0109C009
:100A2000243029F410922F011092300102C010924C
:100A30002E0180E191E061D697FD09C05C9890920B
:100A4000BC019091C80095FFFCCF8093CE002FB7DA
:100A5000F8948091390190913A012FBF009719F4D1
:100A6000A89949C068C05D989092BB01209111017E
:100A70002F702093E9002091E80020FFF1CF80340F
:100A8000910510F08FE390E0782EA12CB12C30C0AE
:100A900080912E01882361F0F801A281B3818D91AC
:100AA000B383A28326813781A217B30781F40BC0D9
:100AB000E0913101F0913201608180E191E0B5D5A2
:100AC000882351F3CDCF24813581338322839FB78F
:100AD000F8942285338521503109338722879FBFBF
:100AE00090912E01923009F4A8DE8FEFA81AB80A6F
:100AF0007A10CECFB5CFA89A8091BB01882389F018
:100B000081508093BB0181110CC080912E018230F5
:100B100039F4CDDD60910B0285E092E04CDD46DDDD
:100B20005D9A8091BC01882331F081508093BC0193
:100B3000811101C05C9A80912E01823021F480E005
:100B400091E00E94AA0D80E191E0C1D50FD530CF90
:100B5000292F332723303105B1F04CF421303105F2
:100B600009F439C02230310509F03AC007C02132FA
:100B7000310539F12232310549F132C0EFE5F0E0BB
:100B80008EEB90E031C099278130910561F0823081
:100B9000910581F0892B21F5EAEBF0E0E491F0E09A
:100BA0008AEB90E021C0E6EAF0E0E491F0E086EA2A
:100BB00090E01AC0E4E7F0E0E491F0E084E790E030
:100BC00013C0E9E0F0E08DE091E00EC0E8EBF1E069
:100BD0008FE291E009C0E2E1F0E08DE191E004C034
:100BE000E0E0F0E080E090E0DA018D939C93CF01AB
:100BF0000895680F791F09C0FC012191CF01309140
:100C0000C80035FFFCCF2093CE0086179707A1F7C9
:100C10000895BF92CF92DF92EF92FF920F931F93AE
:100C2000CF93DF937C018B01EA01D7D1B82E8111DC
:100C300032C0209731F028813981021B130BE20E5C
:100C4000F31EC12CD12C22C08091E80085FD14C078
:100C50008091E8008E778093E800209749F08881A2
:100C600099818C0D9D1D9983888325E0B22E13C038
:100C7000B4D1882359F00EC0F70181917F01809390
:100C8000F10001501109FFEFCF1ADF0A011511051C
:100C9000D9F601C0B82E8B2DDF91CF911F910F9106
:100CA000FF90EF90DF90CF90BF9008952091420287
:100CB000309143022617370748F06115710539F462
:100CC0002091E8002E772093E80001C0B9019C0133
:100CD00080E034C090913B02992309F443C09530E1
:100CE00009F442C09091E80093FD3AC09091E80069
:100CF00092FD30C09091E80090FF20C08091F200FA
:100D000090E0F901821B930B05C021912093F10023
:100D1000615071099F01280F391F6115710519F084
:100D20002830310590F381E02830310509F080E06A
:100D30009091E8009E779093E8009F0161157105FE
:100D400049F68111C7CF06C080913B02882351F03C
:100D5000853051F08091E80082FFF6CF80E0089561
:100D600081E0089582E0089583E00895611571059A
:100D700029F42091E8002B772093E8009C0121C002
:100D800080913B02882381F1853041F18091E80018
:100D900083FD26C08091E80082FFF2CFF90107C0F1
:100DA0008091F10081939F016150710929F09F01A9
:100DB0008091F2008111F4CF8091E8008B778093CD
:100DC000E80061157105E1F68091E80080FD0AC038
:100DD00080913B02882341F08530B1F783E008958C
:100DE00081E0089580E0089582E008952091420214
:100DF000309143022617370748F06115710539F421
:100E00002091E8002E772093E80001C0B9019C01F1
:100E100080E035C090913B02992309F444C095309D
:100E200009F443C09091E80093FD3BC09091E80025
:100E300092FD31C09091E80090FF21C08091F200B6
:100E400090E0F901821B930B06C024912093F100DE
:100E50003196615071099C012E0F3F1F611571057C
:100E600019F02830310588F381E02830310509F088
:100E700080E09091E8009E779093E8009F016115D3
:100E8000710541F68111C6CF06C080913B028823CF
:100E900051F0853051F08091E80082FFF6CF80E07C
:100EA000089581E0089582E0089583E00895982FE1
:100EB0002CC09093E900981739F07091EC002091C4
:100EC000ED005091F00003C0242F762F50E021FD5B
:100ED00002C09F5F1AC03091EB003E7F3093EB0061
:100EE0003091ED003D7F3093ED003091EB003160AB
:100EF0003093EB007093EC002093ED005093F000E2
:100F00002091EE0027FDE5CF07C0953090F28F705D
:100F10008093E90081E0089580E008950F931F9386
:100F2000CF93DF93062FEC0110E02EC09881911132
:100F300003C01F5F259628C02C81E981FA816B814F
:100F4000892F8F70853010F080E021C0223010F0A2
:100F500056E001C052E028E030E040E003C04F5FBF
:100F6000220F331F2E173F07D0F34295407F452BAA
:100F7000991F9927991F6295660F660F607C692BF0
:100F800096DF8111D6CFE0CF1013D0CF81E0DF9173
:100F9000CF911F910F91089580913C0287FD05C06C
:100FA0008091E80080FF0EC012C08091E80082FDB1
:100FB00005C080913B028111F8CF08958091E8002F
:100FC0008B7708C080913B028111EACF0895809110
:100FD000E8008E778093E80008958091E400909176
:100FE000E50045E62091EC0020FD1FC023C02091C4
:100FF0003B02222391F0253091F02091EB0025FD5A
:1010000010C02091E4003091E5002817390751F312
:101010004150C90139F784E0089582E0089583E0E2
:10102000089581E0089580E008952091E80020FF70
:10103000DECFF9CF2091E80022FFD9CFF4CF41D005
:1010400043D08091D8008F778093D8008091D800CA
:1010500080688093D8008091D8008F7D8093D800DD
:1010600084E089BD86E089BD09B400FEFDCF109201
:101070003B0210923702109239021092380242E07D
:1010800060E080E014DF8091E1008E7F8093E100DA
:101090008091E20081608093E2008091E2008860AC
:1010A0008093E2008091E0008E7F8093E0000895BD
:1010B000E3E6F0E080818E7F808381E080933A02D6
:1010C000BECF1092E20008951092E10008951F92A1
:1010D0000F920FB60F9211242F933F934F935F936C
:1010E0006F937F938F939F93AF93BF93EF93FF93F0
:1010F0008091E10082FF0AC08091E20082FF06C079
:101100008091E1008B7F8093E10004DA8091E1001F
:1011100080FF17C08091E20080FF13C08091E20041
:101120008E7F8093E2008091E20080618093E200F4
:101130008091D80080628093D80019BC10923B0245
:101140002CD98091E10084FF2FC08091E20084FFC0
:101150002BC084E089BD86E089BD09B400FEFDCFC7
:101160008091D8008F7D8093D8008091E1008F7EA0
:101170008093E1008091E2008F7E8093E200809175
:10118000E20081608093E20080913702882311F0B1
:1011900084E007C08091E30087FF02C083E001C0C4
:1011A00081E080933B02F8D88091E10083FF27C063
:1011B0008091E20083FF23C08091E100877F8093CC
:1011C000E10082E080933B02109237028091E100BF
:1011D0008E7F8093E1008091E2008E7F8093E20019
:1011E0008091E20080618093E20042E060E080E074
:1011F0005EDE8091F00088608093F000B6D1FF91B0
:10120000EF91BF91AF919F918F917F916F915F917E
:101210004F913F912F910F900FBE0F901F901895F7
:101220001F920F920FB60F9211242F933F934F935B
:101230005F936F937F938F939F93AF93BF93CF935E
:10124000EF93FF938091E9008F709091EC0090FFF5
:1012500002C090E801C090E0C92FC82B1092E900AD
:101260008091F000877F8093F00078941CD01092DA
:10127000E9008091F00088608093F000CF70C09307
:10128000E900FF91EF91CF91BF91AF919F918F9125
:101290007F916F915F914F913F912F910F900FBE72
:1012A0000F901F9018951F93CF93DF93CDB7DEB7A4
:1012B000AC970FB6F894DEBF0FBECDBFECE3F2E003
:1012C0008091F100819322E0E434F207C9F71AD942
:1012D0008091E80083FF31C180913C0290913D02F2
:1012E000953009F487C038F49130B1F170F0933043
:1012F00009F023C131C0983009F4F3C0993009F4E2
:10130000FFC0963009F019C19BC0803821F08238A7
:1013100009F013C108C080913802909139029923D5
:1013200089F082600FC080914002909141028F70DD
:1013300099278093E9008091EB0085FB882780F94D
:101340001092E9009091E800977F9093E8008093D5
:10135000F1001092F100D0C0882319F0823009F01A
:10136000ECC08F7121F0823009F0E7C00BC0809192
:101370003E02813009F0E1C0933009F080E08093B3
:1013800039022FC080913E0281112BC08091400212
:10139000909141028F709927009709F4CEC08093F5
:1013A000E9002091EB0020FF1CC020913D0223307A
:1013B00021F48091EB00806212C09091EB0090616B
:1013C0009093EB0021E030E001C0220F8A95EAF70C
:1013D0002093EA001092EA008091EB0088608093ED
:1013E000EB001092E9008091E800877F8093E8008D
:1013F000D3DDA3C08111A1C080913E0290913F0234
:101400008F779927182F9091E3009078982B9093DD
:10141000E3008091E800877F8093E800BDDD809144
:10142000E80080FFFCCF8091E30080688093E300B8
:10143000112311F083E001C082E080933B027DC064
:101440008058823008F079C080913E0290913F022E
:101450008C3D23E0920771F583E08A838AE28983D9
:101460004FB7F894DE01139620E03EE051E2E32FFF
:10147000F0E050935700E49120FF03C0E295EF7035
:101480003F5FEF708E2F90E0EA3010F0C79601C0FA
:10149000C0968D939D932F5F243149F74FBF809164
:1014A000E800877F8093E8006AE270E0CE01019651
:1014B000FDDB11C0AE01455D5F4F6091400248DB2E
:1014C0000097D9F12091E800277F2093E800BC0124
:1014D0008BA59CA58BDC8091E8008B778093E8003E
:1014E0002CC0803851F58091E800877F8093E80018
:1014F000809137028093F1008091E8008E7776CF5B
:1015000081111BC090913E029230B8F48091E800A6
:10151000877F8093E800909337023EDD8091370209
:10152000811104C08091E30087FF02C084E001C004
:1015300081E080933B020E94CE018091E80083FF0E
:101540000AC08091E800877F8093E8008091EB00DB
:1015500080628093EB00AC960FB6F894DEBF0FBEAE
:10156000CDBFDF91CF911F9108950895CF938091C2
:101570003B028823A9F08091E9008F709091EC00E4
:1015800090FF02C090E801C090E0C92FC82B1092D4
:10159000E9008091E80083FD86DECF70C093E9000A
:1015A000CF910895CF93DF93EC014096FC018BE03F
:1015B000DF011D928A95E9F782E08C83898783E0B9
:1015C0008E8761E0CE010196A9DC882361F061E09D
:1015D000CE010696A3DC882331F061E0CE010B96A4
:1015E000DF91CF919BCC80E0DF91CF9108950F9355
:1015F0001F93FC01CB01BA0120913B02243089F4F6
:101600000489158926893789012B022B032B49F080
:1016100021812F702093E90040E050E01F910F914D
:10162000F8CA82E01F910F910895CF93C62F2091A1
:101630003B022430F1F4FC0144895589668977899D
:10164000452B462B472BA9F081818F708093E900B1
:101650008091E80085FF04C0C093F10080E00AC0DB
:101660008091E8008E778093E800B7DC8823A1F3AF
:1016700001C082E0CF91089520913B02243029F5EA
:10168000FC014489558966897789452B462B472B70
:10169000E1F081818F708093E9008091F2008111E7
:1016A00002C080E008959091E8008091E8008E7774
:1016B0008093E80095FDF5CF90DC811107C09091F3
:1016C000E8009E779093E800089582E008952091C5
:1016D0003B02243089F4FC01448955896689778965
:1016E000452B462B472B41F021812F702093E90099
:1016F0002091E80020FDC0CF089520913B022430C6
:1017000019F02FEF3FEF24C0FC0144895589668909
:101710007789452B462B472BA1F386818F708093C9
:10172000E9008091E80082FFECCF8091F2008823ED
:1017300021F02091F10030E002C02FEF3FEF8091C7
:10174000F200811105C08091E8008B778093E8005A
:10175000C90108950895CF93DF93EC018091E800CB
:1017600083FFA9C0888190E020914002309141021E
:101770002817390709F09FC080913D02813261F03E
:1017800020F4803209F097C03DC0823209F46EC067
:10179000833209F090C07FC080913C02813A09F009
:1017A0008AC08091E800877F8093E8008091E800FC
:1017B00080FFFCCF4C895D896E897F894093F10061
:1017C000BB27A72F962F852F8093F100CB01AA2747
:1017D000BB278093F100472F552766277727409333
:1017E000F100888D8093F100898D8093F1008A8DBE
:1017F0008093F1008091E8008E778093E800DF917C
:10180000CF91CACB80913C02813209F054C08091C3
:10181000E800877F8093E80005C080913B02882321
:1018200009F449C08091E80082FFF7CF3091F100C0
:101830002091F1009091F1008091F1003C8B2D8B73
:101840009E8B8F8B8091F100888F8091F100898F22
:101850008091F1008A8F8091E8008B778093E80077
:101860009BDBCE01DF91CF910C94DC0180913C0297
:10187000813209F58091E800877F8093E8008CDB56
:1018800080913E0290913F02998B888BCE01DF912F
:10189000CF910C94770280913C02813261F4809167
:1018A000E800877F8093E80077DB60913E02CE01FD
:1018B000DF91CF914FCFDF91CF9108956F927F92BB
:1018C0008F929F92AF92BF92CF92DF92EF92FF9250
:1018D0000F931F93CF93DF9300D01F92CDB7DEB746
:1018E0007C01ADB6BEB68091E80083FF07C1F70169
:1018F000808190E020914002309141022817390701
:1019000009F0FCC080913D02833009F49EC030F4A0
:10191000813071F0823009F0F1C0D4C08A3009F40E
:10192000B9C08B3009F4A2C0893009F0E7C04CC0BF
:1019300080913C02813A09F0E1C08DB69EB61A82D0
:10194000198280913E0210913F028B83F7014085FE
:101950008DB79EB7841B91090FB6F8949EBF0FBE3A
:101960008DBFCDB6DEB6EFEFCE1ADE0A360150E0FF
:1019700060E070E0C601EAD1412F41508E010F5F57
:101980001F4F9601BE016D5F7F4FC7010E949602F7
:10199000F701268137812115310529F0408550E076
:1019A000B601C901CAD11092E9008091E800877F91
:1019B0008093E80069817A81C30178D98091E80039
:1019C0008B778093E80039C080913C02813209F026
:1019D00095C08DB69EB60091420210914302709060
:1019E0003E0260903F028DB79EB7801B910B0FB6F1
:1019F000F8949EBF0FBE8DBFCDB6DEB6EFEFCE1A08
:101A0000DE0A8091E800877F8093E800B801C60174
:101A1000ADD98091E8008E778093E80021E07110C5
:101A200001C020E030E0021B130B2C0D3D1D462DA4
:101A30004150672DC7010E94C702882D992D0FB60E
:101A4000F8949EBF0FBE8DBF59C080913C02813A71
:101A500009F054C08091E800877F8093E80080916E
:101A6000E80080FFFCCFF701818540C080913C02F7
:101A7000813209F043C08091E800877F8093E800BD
:101A80008BDA90913E0281E0911101C080E0F70174
:101A9000818734C080913C02813281F58091E800D9
:101AA000877F8093E80078DA80913E0290913F0230
:101AB000882736E0969587953A95E1F7F70195875F
:101AC00084871CC080913C02813AC1F48091E80077
:101AD000877F8093E8008091E80080FFFCCFF701CA
:101AE0008485958596958795969587958093F10041
:101AF0008091E8008E778093E8004EDA0FB6F89474
:101B0000BEBE0FBEADBE0F900F900F90DF91CF9174
:101B10001F910F91FF90EF90DF90CF90BF90AF900B
:101B20009F908F907F906F9008959C01275F3F4F0B
:101B3000F90127E0DF011D922A95E9F721E0FC0178
:101B4000218724EF31E03587248723E0248361E077
:101B50000196E4C94F925F926F927F928F929F920B
:101B6000AF92BF92CF92DF92EF92FF920F931F93AB
:101B7000CF93DF9300D01F92CDB7DEB77C01ADB617
:101B8000BEB680913B02843009F08FC08091E400A2
:101B90009091E500F701228533852817390709F46C
:101BA00084C081818F708093E9008091E80085FF77
:101BB0007CC06DB67EB640858DB79EB7841B9109FB
:101BC0000FB6F8949EBF0FBE8DBFCDB6DEB6EFEF59
:101BD000CE1ADE0A1B821A821982460150E060E0AA
:101BE00070E0C601B3D08E010F5F1F4F960140E039
:101BF000BE016D5F7F4FC7010E949602582EF7010C
:101C000084859585892B31F001E010E086859785E4
:101C1000892B11F000E010E0F701C680D780C114D5
:101C2000D10489F049815A81B601C40179D0442494
:101C30004394009709F4412CF701408550E0B4012A
:101C4000C6017BD001C0412C89819A81892BF9F092
:101C5000511004C0411002C000FF19C0F701848573
:101C600095859787868781818F708093E9008B8126
:101C700081118093F10069817A8140E050E0C401D4
:101C80000E9409068091E8008E778093E800809199
:101C9000E4009091E500F70193878287862D972DC8
:101CA0000FB6F8949EBF0FBE8DBF0FB6F894BEBEA0
:101CB0000FBEADBE0F900F900F90DF91CF911F918F
:101CC0000F91FF90EF90DF90CF90BF90AF909F90DB
:101CD0008F907F906F905F904F900895A1E21A2EA1
:101CE000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1FC0
:101CF000A217B307E407F50720F0A21BB30BE40B10
:101D0000F50B661F771F881F991F1A9469F7609556
:101D10007095809590959B01AC01BD01CF01089510
:101D2000FB01DC0104C08D910190801921F4415028
:101D30005040C8F7881B990B0895FB01DC0102C0D5
:101D400001900D9241505040D8F70895DC0101C038
:0E1D50006D9341505040E0F70895F894FFCF96
:101D5E0002812000000100003F0000000000000092
:101D6E0000834000000104400000018208000001D1
:0E1D7E00000000000000000000000030200007
:00000001FF

605
Firmwares/Hoodloader1_7.hex Normal file
View file

@ -0,0 +1,605 @@
:1000000073C100008DC100008BC1000089C10000D8
:1000100087C1000085C1000083C1000081C10000CC
:100020007FC100007DC100007BC100000C94770CF3
:100030000C94230D75C1000073C1000071C1000054
:100040006FC100006DC100006BC1000069C10000FC
:1000500067C1000065C1000063C1000012C200005A
:100060005FC100005DC100005BC1000059C100001C
:1000700057C1000030034100720064007500690040
:100080006E006F00200048006F006F0064006C007D
:100090006F0061006400650072002000420065008E
:1000A00074006100000012034E00690063006F00DD
:1000B00048006F006F006400000004030904090297
:1000C0005F00030100C032080B00020202010009B8
:1000D00004000001020201000524001001042402B2
:1000E000060524060001070582030800FF09040134
:1000F00000020A0000000705040240000107058312
:10010000024000010904020001030000000921115E
:1001100001000122B801070581032000011201102E
:1001200001EF020108EB03686E17000102DC010514
:10013000010902A1010901A100850105091901298F
:10014000051500250195057501810295017503814D
:100150000305010930093109381581257F75089596
:10016000038106C0C005010906A101850205071922
:10017000E029E715002501750195088102950175B3
:1001800008810395067508150025650507190029DE
:1001900065810005081901290595057501910295EC
:1001A0000175039103C006C0FF0A000CA10185037D
:1001B0007508150026FF00953F09018102953F094A
:1001C000029102C0050C0901A1018504150026FF5A
:1001D000FF19002AFFFF950475108100C005010971
:1001E00080A1018505150026FF00190029FF950152
:1001F00075088100C005010905A1018506050919D9
:10020000012920150025017501952081020501A114
:10021000000930093109320933093409351500273D
:10022000FFFF0000751095068102C005010939091C
:100230003915012508950275048102C005010905DB
:10024000A10185070509190129201500250175015E
:10025000952081020501A1000930093109320933D5
:1002600009340935150027FFFF0000751095068138
:1002700002C0093909391501250895027504810262
:10028000C005010904A1018508A10005091901297A
:100290000215002501750195028102050109300949
:1002A00031150026FF03750A95028102750295013A
:1002B0008103C0C005010904A1018509A100050948
:1002C0001901290215002501750195028102050118
:1002D00009300931150026FF03750A950281027560
:1002E0000295018103C0C00011241FBECFEFD2E0F0
:1002F000DEBFCDBF11E0A0E0B1E0E6E8F5E202C06C
:1003000005900D92AE32B107D9F712E0AEE2B1E03E
:1003100001C01D92A634B107E1F786D70C94C11233
:100320006FCE9BB1809589238BB908959BB1982B93
:100330009BB90895CF93DF9384B7877F84BF28E16B
:100340000FB6F89420936000109260000FBE80E119
:1003500090E09093CD008093CC00CAECD0E096E082
:100360009883A8ECB0E082E08C93E9ECF0E0208385
:10037000539A5A9A5B9A10821C92188298838C9393
:1003800088E980835B988AB180638AB98BB1806386
:100390008BB90E94680C84E085BD5F9A579A209AB9
:1003A00022982A9ADF91CF9108950895089580E0C8
:1003B00091E00E94A91180E191E00E94E60EE2EE38
:1003C000F0E080818460808308951F93CF93DF9352
:1003D000EC01E98DE150E23028F4F0E0E55DFE4FFC
:1003E000108101C010E0888D823009F418608A8D78
:1003F000873031F0883031F0863029F4126003C044
:10040000146001C016605B9A1092C9001092C80077
:100410001092CA002C893D894E895F89211581EE91
:1004200038074105510579F0CA01B90196958795BC
:100430007795679560587B47814E9F4F0E94821247
:100440002150310902C020E130E03093CD002093EB
:10045000CC001093CA008C899D89AE89BF89811513
:10046000914EA105B10511F480E001C082E08093B6
:10047000C80088E98093C9005B98DF91CF911F91F4
:1004800008951F920F920FB60F9211242F933F934E
:100490008F939F93AF93BF93EF93FF938091CE0081
:1004A00090912E019330F9F090913D029430D9F45F
:1004B000EFE2F1E0A081B1818C938081918101967E
:1004C00091838083268137818217930721F4848169
:1004D0009581918380832FB7F894828593850196C7
:1004E000938782872FBFFF91EF91BF91AF919F912B
:1004F0008F913F912F910F900FBE0F901F901895E5
:10050000FC01208920FF02C05F9808955F9A8BB19B
:1005100080638BB9089580E191E00E94BF0F80E075
:1005200091E00C94721080910E0190910F01009750
:1005300029F0019790930F0180930E010895EF9297
:10054000FF920F931F93CF93DF937B01C901E801C3
:100550002091BD012223E1F04091BE012091BF0115
:10056000421316C0E0ECF1E050E0BF010E94B1126E
:100570008091BD01F70180838091BE01888319823B
:100580001092BD011092BF011092BE0181E001C026
:1005900080E0DF91CF911F910F91FF90EF90089530
:1005A000EF92FF920F931F93CF93DF931F92CDB7DC
:1005B000DEB77901633081F480E16983B2DE69815D
:1005C0006093BC01B801C7010F90DF91CF911F91DB
:1005D0000F91FF90EF901DC70F90DF91CF911F916A
:1005E0000F91FF90EF90089510920B021092FF016F
:1005F000089520912E018091240190912501A091D0
:100600002601B09127010097A105B10539F08115A8
:1006100032EC930731E0A307B10511F482E007C083
:100620000197A105B10511F483E001C081E0809339
:100630002E0180912E01281709F43BC0233011F0C0
:1006400021111DC0EFE2F1E02FB7F8948BE391E0A8
:100650009183808393838283958384838BEB91E062
:100660009783868380E890E091878087138612863F
:100670002FBF1092BB011092BC0180E357DE809126
:100680002E01823021F4B0DF1092BD010895833035
:1006900081F41092300110922F01109232011092C9
:1006A0003101109234011092330180E33FDE229831
:1006B0002A9A0895462F209111012F702093E90066
:1006C0002091E80020FFFCCF2091200120FF06C0F0
:1006D00050E0BC0180E191E00C940B0F0895CF92A3
:1006E000DF92EF92FF920F931F93FA018B01009517
:1006F000109520E030E0980111270027AB0160E061
:1007000070E0042B152B262B372B4CE150E097E0A3
:1007100068017901042E04C0F694E794D794C79435
:100720000A94D2F76C2D683028F0973059F4C082C3
:1007300096E008C0C0829150C11004C047505109D2
:10074000923031F7492F425013C0DF01A40FB11D81
:1007500068017901E894C7F8DD24EE24FF24CC92E7
:10076000B7E03695279517950795BA95D1F741507B
:100770004111EBCF492F50E09A01A3E0220F331F24
:10078000AA95E1F7206C3F6F3081322B3083E40F64
:10079000F51F319781508F7380688083892F1F9157
:1007A0000F91FF90EF90DF90CF900895CF93DF935C
:1007B00000D000D000D0CDB7DEB76091BD01662378
:1007C00079F08091BF0181110BC070E07160AE01C2
:1007D0004F5F5F4F81E083DF682FCE0101966ADFB4
:1007E0001092BD0126960FB6F894DEBF0FBECDBFA6
:1007F000DF91CF9108950F931F93982F40910B0293
:10080000E42FF0E0EB5FFD4F808380910B028F5F60
:1008100080930B02892F807C803809F444C0803C8F
:1008200009F05FC0292F287326952695269522303A
:1008300008F477C0273079F4492F4F7050E060E01A
:1008400070E04093000250930102609302027093A3
:10085000030215E00FC0892F877090E0A0E0B0E0A0
:100860008093000290930102A0930202B0930302CE
:10087000122F11508091FF01882391F097DF609132
:100880000B02615085E092E015DFE0910B02F0E091
:10089000EC5FFD4F80818093050281E080930B0225
:1008A0001093FF0145C08091FF018130D1F5009187
:1008B0000002109101022091020230910302A9016D
:1008C0006627772722273327402751276227732758
:1008D0004F3F5F4F6105710521F5892F8F738F5F42
:1008E00028C08091FF018230E0F081508093FF01A9
:1008F0004091000250910102609102027091030246
:1009000027E0440F551F661F771F2A95D1F7492B03
:10091000409300025093010260930202709303021D
:1009200007C044DF60910B0285E092E0C3DE5CDE2D
:1009300080E01F910F910895CF935DDFC82F88232A
:1009400009F489C08091BD01811104C0C13009F052
:1009500046C010C09091BE018091BF019813F6CFA0
:1009600004C080E091E00E94BE118091BD01811120
:10097000F8CFECCF80910102813089F517DF90919B
:1009800000029093BD011092BF018FE3E0ECF1E013
:10099000DF01282F1D922A95E9F79530A9F058F428
:1009A000923081F018F49130C1F40AC0933091F084
:1009B000943099F407C0983050F09A3070F409C020
:1009C00084E008C088E006C0C093BE0142C081E157
:1009D00001C083E08093BE013CC0E8DE3AC0809154
:1009E000BD01882381F16091BF01462F50E08C2F1B
:1009F00090E09A012E5F3F4F359527952F5F3F4F2F
:100A00008217930701F5FA01E054FE4F809100022E
:100A10008083E62FEF5FE093BF018091BE018E17C8
:100A200049F0F0E0E054FE4F9091010290836E5F38
:100A30006093BF019091BF0189130BC080E091E0EA
:100A40000E94BE1106C0B2DE60910B0285E092E00A
:100A500031DECF91C9CDCF910895682F80E191E02B
:100A60000E94290F8823E9F080E191E00E947B0F2A
:100A70000E94CA0E80E155DC2FEF81EE94E02150F8
:100A800080409040E1F700C0000080E14ADC2FEF99
:100A900081EE94E0215080409040E1F700C00000DA
:100AA000E9CF089580E191E00E94910F97FDFACF80
:100AB0000895EF92FF920F931F93CF93DF937C01E2
:100AC00009E311E0C0E0D0E005C0ECDFF80181935C
:100AD0008F012196CE15DF05C4F3DF91CF911F91D1
:100AE0000F91FF90EF9008959091450180E0209143
:100AF0004601820F911D90933601809335019091AC
:100B0000470180E020914801820F911D90933801A8
:100B1000809337010895CF93C82FC4DF803239F412
:100B200084E19BDF8C2F99DF80E1CF9196CF85E127
:100B300094DF80912F0190913001019690933001C4
:100B400080932F01CF910895813859F018F480389F
:100B500071F405C0823839F0833949F406C082E067
:100B600007C081E005C082E103C083E501C080E0E9
:100B7000D2CF98DF803221F484E16FDF80E16DCF46
:100B800080E2CFDB2FEF80E792E021508040904061
:100B9000E1F700C0000080E2C9DB2FEF80E792E0C0
:100BA000215080409040E1F700C0000080E2B9DBB6
:100BB0002FEF80E792E0215080409040E1F700C0A5
:100BC000000080E2B3DB85E148DF80912F01909146
:100BD000300101969093300180932F01089583E5B1
:100BE0008CBD8DB58EB508950DB407FEFDCF08956B
:100BF0008EBDFADF8EB50895CF93DF9300D01F929C
:100C0000CDB7DEB72B834A836983F2DF6981862FF4
:100C1000EFDF4A81842FECDF2B81822F0F900F9022
:100C20000F90DF91CF91E4CFDADF249A2C9A219AAA
:100C300029982FEF80E792E0215080409040E1F723
:100C400000C000002C982FEF80E792E021508040F8
:100C50009040E1F700C000002398229A20E040E095
:100C600063E58CEAC9DF81E090E0909332018093E4
:100C700031010895462F880F880F880F20E0672FD5
:100C8000805EBACF0F931F93CF93DF938C01C0E0A8
:100C9000D0E019C0609133017091340180E0EADF47
:100CA000DCDE609133017091340181E0E3DFD5DE59
:100CB00020913301309134012F5F3F4F3093340145
:100CC000209333012296C017D10724F380E1DF91EE
:100CD000CF911F910F91089584E090E0EADE20917A
:100CE0003C0140913B0160913A018091390184DFE0
:100CF00012CFD8DE803259F080912F0190913001CF
:100D000001969093300180932F0185E115C084E115
:100D1000A4DE20E040E060E080E36EDF9EDE20E0C5
:100D200041E060E080E368DF98DE20E042E060E0E0
:100D300080E362DF92DE80E190CE23982298229AAF
:100D40002198249810923201109231010895CF9287
:100D5000DF92EF92FF920F931F93CF93DF93D82FE1
:100D6000C92F7B01CB01A5DE80E2E0DAE9E3CE2EDC
:100D7000E1E0DE2E0D2F1C2FE80111C0F6012191BC
:100D80006F014C2F6D2F80EC37DFFFE722E382E00D
:100D9000F15020408040E1F700C000002196CE01D4
:100DA000801B910B8E159F054CF380E2BADA80E12F
:100DB000DF91CF911F910F91FF90EF90DF90CF9037
:100DC00008950F931F93CF93DF93C0913301D09178
:100DD000340120913701309138012817390724F068
:100DE000CC0FDD1F8C0112C080912F01909130013A
:100DF00001969093300180932F0181E10EC060E253
:100E000070E0CE01A4DFA096005211090132110555
:100E1000B4F7B801CE019BDF80E1DF91CF911F9144
:100E20000F910895EF92FF920F931F93CF93DF934B
:100E30007C010091330110913401000F111FE80172
:100E400007C02FEF4C2F6D2F80EAD6DE06DE2196ED
:100E5000CE01801B910B8E159F059CF380E1DF91E5
:100E6000CF911F910F91FF90EF9008951F93CF9313
:100E7000DF9318DED82F16DEC82F14DE182F12DEEF
:100E8000803259F080912F0190913001019690931A
:100E9000300180932F0185E113C03D2F20E0C9016F
:100EA0008C0F911DEC0184E1D8DD163419F4CE01CC
:100EB000E9DE06C0153419F4CE01B4DF01C081E1CA
:100EC000DF91CF911F91C9CDCF93DF9300D0CDB7E4
:100ED000DEB7482F80E249839A8328DA20E04981EF
:100EE0009A81692F8CE488DE2FEF86E791E021500C
:100EF00080409040E1F700C0000080E20F900F902A
:100F0000DF91CF910ECA80913501909136012091E9
:100F10003301309134018032910511F4207F0EC0ED
:100F20008034910511F4207E09C08038910511F4B8
:100F3000207C04C08115914009F42078C9010895EE
:100F4000962F672F242F880F880F880F492F805CDA
:100F500053CECF92DF92EF92FF920F931F93CF93D6
:100F6000DF936C01D0DF8C01C0E0D0E029C0CBDF83
:100F70000817190721F0C801A7DFC5DF8C01BEE201
:100F8000EB2EB1E0FB2EEC0EFD1E60913301709153
:100F90003401F701438580E0D3DF2296609133016D
:100FA00070913401F701448581E0CADF209133015B
:100FB000309134012F5F3F4F309334012093330140
:100FC000CC15DD05A4F2C8017FDF80E1DF91CF9170
:100FD0001F910F91FF90EF90DF90CF900895CF93E6
:100FE000DF93EC0166DD5EDD803229F484E135DDDE
:100FF000CE01AFDF0AC080912F01909130010196A0
:101000009093300180932F0185E1DF91CF9125CD21
:10101000CF93DF9347DDD82F80E0C82F43DDC80F83
:10102000D11DC13081E0D80764F081E116DD8091E7
:101030002F019091300101969093300180932F0100
:1010400022C030DD863421F4CE01DF91CF91C7CFAD
:101050008534A9F4CE01B5DEC82F24DD803221F419
:1010600084E1FBDC8C2F0CC080912F01909130012A
:1010700001969093300180932F0185E101C081E1B9
:10108000DF91CF91EACCDF91CF910895CF93DF9399
:101090008091310190913201892B19F080E241D980
:1010A00002C080E243D980912F0190913001892BB9
:1010B00019F080E136D902C080E138D980E191E0B1
:1010C00030D797FDAEC08135910509F485C0E4F4B1
:1010D0008134910509F452C054F48033910599F19B
:1010E00081339105A9F1809709F089C07EC08534CC
:1010F000910509F44EC08035910509F44EC0823443
:10110000910509F07CC03EC08136910509F459C0B3
:101110006CF48635910509F45CC08036910509F4BC
:101120004FC08535910509F06AC039C084379105F3
:1011300009F44CC08537910509F454C084369105F3
:1011400009F05DC040C01092300110922F011EC006
:10115000A9DC803209F065C084E17FDC81E47DDCBC
:1011600086E57BDC82E579DC80E277DC89E475DC8E
:1011700083E573DC80E571DC80E150C093DCDF91B6
:10118000CF91E2CC84E190E094DCAEDCDF91CF91B2
:10119000F0CC85E090E08DDCF9CF46DDF7CF82DC46
:1011A000C82FD0E0D0933401C09333017BDC382FBB
:1011B00020E02C0F3D1F3093340120933301E6CF04
:1011C00071DC70DCE3CFDF91CF9122CFDF91CF9143
:1011D0004DCEDF91CF9180CD1092300110922F0132
:1011E000ACDDD4CFDF91CF9184CD80912F01909150
:1011F000300101969093300180932F010EC08091B1
:101200002F019091300101969093300180932F012E
:1012100049DC803211F482E101C085E1DF91CF9198
:101220001CCCDF91CF91089510922E0183D8789431
:10123000C3E0FC2E0FE211E0DCD980912E01833057
:1012400011F424DF90C080E191E06BD6EC0197FDB2
:101250000AC080E166D8F092BC018091C80085FF89
:10126000FCCFC093CE008FB7F894C0913901D091D4
:101270003A018FBF209719F4A89949C06CC080E249
:1012800050D8F092BB01809111018F708093E900DA
:101290008091E80080FFF0CFCE01C034D10510F07E
:1012A0008FE390E0E82EC0E0D0E02EC080912E01C8
:1012B000813061F0F801A281B3818D91B383A28363
:1012C00026813781A217B30781F40BC0E091310169
:1012D000F0913201608180E191E0BBD5882351F328
:1012E000CBCF24813581338322839FB7F894228525
:1012F000338521503109338722879FBF90912E017A
:10130000923009F419DB2196EC12D0CFB5CFA89A10
:101310008091BB01882399F081508093BB0181119A
:101320000EC080912E01823039F440DA60910B02B8
:1013300085E092E0BFD958D980E20E949601809161
:10134000BC01882341F081508093BC01811103C00E
:1013500080E10E94960180912E01823021F480E08C
:1013600091E00E94BE1180E191E0C5D513D564CF14
:10137000292F332723303105B1F04CF421303105CA
:1013800009F439C02230310509F03AC007C02132D2
:10139000310539F12232310549F132C0EFE5F0E093
:1013A0008EEB90E031C099278130910561F0823059
:1013B000910581F0892B21F5EAEBF0E0E491F0E072
:1013C0008AEB90E021C0E6EAF0E0E491F0E086EA02
:1013D00090E01AC0E4E7F0E0E491F0E084E790E008
:1013E00013C0E9E0F0E08DE091E00EC0E8EBF1E041
:1013F0008FE291E009C0E2E1F0E08DE191E004C00C
:10140000E0E0F0E080E090E0DA018D939C93CF0182
:101410000895680F791F09C0FC012191CF01309117
:10142000C80035FFFCCF2093CE0086179707A1F7A1
:101430000895BF92CF92DF92EF92FF920F931F9386
:10144000CF93DF937C018B01EA01D7D1B82E8111B4
:1014500032C0209731F028813981021B130BE20E34
:10146000F31EC12CD12C22C08091E80085FD14C050
:101470008091E8008E778093E800209749F088817A
:1014800099818C0D9D1D9983888325E0B22E13C010
:10149000B4D1882359F00EC0F70181917F01809368
:1014A000F10001501109FFEFCF1ADF0A01151105F4
:1014B000D9F601C0B82E8B2DDF91CF911F910F91DE
:1014C000FF90EF90DF90CF90BF900895209144025D
:1014D000309145022617370748F06115710539F438
:1014E0002091E8002E772093E80001C0B9019C010B
:1014F00080E034C090913D02992309F443C09530B7
:1015000009F442C09091E80093FD3AC09091E80040
:1015100092FD30C09091E80090FF20C08091F200D1
:1015200090E0F901821B930B05C021912093F100FB
:10153000615071099F01280F391F6115710519F05C
:101540002830310590F381E02830310509F080E042
:101550009091E8009E779093E8009F0161157105D6
:1015600049F68111C7CF06C080913D02882351F012
:10157000853051F08091E80082FFF6CF80E0089539
:1015800081E0089582E0089583E008956115710572
:1015900029F42091E8002B772093E8009C0121C0DA
:1015A00080913D02882381F1853041F18091E800EE
:1015B00083FD26C08091E80082FFF2CFF90107C0C9
:1015C0008091F10081939F016150710929F09F0181
:1015D0008091F2008111F4CF8091E8008B778093A5
:1015E000E80061157105E1F68091E80080FD0AC010
:1015F00080913D02882341F08530B1F783E0089562
:1016000081E0089580E0089582E0089520914402E9
:10161000309145022617370748F06115710539F4F6
:101620002091E8002E772093E80001C0B9019C01C9
:1016300080E035C090913D02992309F444C0953073
:1016400009F443C09091E80093FD3BC09091E800FD
:1016500092FD31C09091E80090FF21C08091F2008E
:1016600090E0F901821B930B06C024912093F100B6
:101670003196615071099C012E0F3F1F6115710554
:1016800019F02830310588F381E02830310509F060
:1016900080E09091E8009E779093E8009F016115AB
:1016A000710541F68111C6CF06C080913D028823A5
:1016B00051F0853051F08091E80082FFF6CF80E054
:1016C000089581E0089582E0089583E00895982FB9
:1016D0002CC09093E900981739F07091EC0020919C
:1016E000ED005091F00003C0242F762F50E021FD33
:1016F00002C09F5F1AC03091EB003E7F3093EB0039
:101700003091ED003D7F3093ED003091EB00316082
:101710003093EB007093EC002093ED005093F000B9
:101720002091EE0027FDE5CF07C0953090F28F7035
:101730008093E90081E0089580E008950F931F935E
:10174000CF93DF93062FEC0110E02EC0988191110A
:1017500003C01F5F259628C02C81E981FA816B8127
:10176000892F8F70853010F080E021C0223010F07A
:1017700056E001C052E028E030E040E003C04F5F97
:10178000220F331F2E173F07D0F34295407F452B82
:10179000991F9927991F6295660F660F607C692BC8
:1017A00096DF8111D6CFE0CF1013D0CF81E0DF914B
:1017B000CF911F910F91089580913E0287FD05C042
:1017C0008091E80080FF0EC012C08091E80082FD89
:1017D00005C080913D028111F8CF08958091E80005
:1017E0008B7708C080913D028111EACF08958091E6
:1017F000E8008E778093E80008958091E40090914E
:10180000E50045E62091EC0020FD1FC023C020919B
:101810003D02222391F0253091F02091EB0025FD2F
:1018200010C02091E4003091E5002817390751F3EA
:101830004150C90139F784E0089582E0089583E0BA
:10184000089581E0089580E008952091E80020FF48
:10185000DECFF9CF2091E80022FFD9CFF4CF41D0DD
:1018600043D08091D8008F778093D8008091D800A2
:1018700080688093D8008091D8008F7D8093D800B5
:1018800084E089BD86E089BD09B400FEFDCF1092D9
:101890003D021092390210923B0210923A0242E04D
:1018A00060E080E014DF8091E1008E7F8093E100B2
:1018B0008091E20081608093E2008091E200886084
:1018C0008093E2008091E0008E7F8093E000089595
:1018D000E3E6F0E080818E7F808381E080933C02AC
:1018E000BECF1092E20008951092E10008951F9279
:1018F0000F920FB60F9211242F933F934F935F9344
:101900006F937F938F939F93AF93BF93EF93FF93C7
:101910008091E10082FF0BC08091E20082FF07C04E
:101920008091E1008B7F8093E1000E94930280917F
:10193000E10080FF18C08091E20080FF14C0809118
:10194000E2008E7F8093E2008091E20080618093CC
:10195000E2008091D80080628093D80019BC109278
:101960003D020E94D6018091E10084FF30C0809149
:10197000E20084FF2CC084E089BD86E089BD09B403
:1019800000FEFDCF8091D8008F7D8093D80080919C
:10199000E1008F7E8093E1008091E2008F7E809352
:1019A000E2008091E20081608093E2008091390240
:1019B000882311F084E007C08091E30087FF02C014
:1019C00083E001C081E080933D020E94D5018091B7
:1019D000E10083FF27C08091E20083FF23C0809154
:1019E000E100877F8093E10082E080933D021092C6
:1019F00039028091E1008E7F8093E1008091E200C6
:101A00008E7F8093E2008091E20080618093E2000B
:101A100042E060E080E05BDE8091F00088608093CF
:101A2000F000B7D1FF91EF91BF91AF919F918F914E
:101A30007F916F915F914F913F912F910F900FBECA
:101A40000F901F9018951F920F920FB60F921124AE
:101A50002F933F934F935F936F937F938F939F93B6
:101A6000AF93BF93CF93EF93FF938091E9008F7073
:101A70009091EC0090FF02C090E801C090E0C92F67
:101A8000C82B1092E9008091F000877F8093F000CE
:101A900078941CD01092E9008091F00088608093C7
:101AA000F000CF70C093E900FF91EF91CF91BF910B
:101AB000AF919F918F917F916F915F914F913F91E6
:101AC0002F910F900FBE0F901F9018951F93CF93DB
:101AD000DF93CDB7DEB7AC970FB6F894DEBF0FBE7D
:101AE000CDBFEEE3F2E08091F100819322E0E63495
:101AF000F207C9F70E948B028091E80083FF31C191
:101B000080913E0290913F02953009F487C038F4ED
:101B10009130B1F170F0933009F023C131C09830A9
:101B200009F4F3C0993009F4FFC0963009F019C1E7
:101B30009BC0803821F0823809F013C108C0809121
:101B40003A0290913B02992389F082600FC0809104
:101B50004202909143028F7099278093E90080910F
:101B6000EB0085FB882780F91092E9009091E8004E
:101B7000977F9093E8008093F1001092F100D0C01D
:101B8000882319F0823009F0ECC08F7121F0823087
:101B900009F0E7C00BC080914002813009F0E1C03C
:101BA000933009F080E080933B022FC08091400287
:101BB00081112BC080914202909143028F7099272E
:101BC000009709F4CEC08093E9002091EB0020FF3C
:101BD0001CC020913F02233021F48091EB008062F1
:101BE00012C09091EB0090619093EB0021E030E007
:101BF00001C0220F8A95EAF72093EA001092EA00CA
:101C00008091EB0088608093EB001092E900809156
:101C1000E800877F8093E800CFDDA3C08111A1C0D9
:101C200080914002909141028F779927182F9091CF
:101C3000E3009078982B9093E3008091E800877FF1
:101C40008093E800B9DD8091E80080FFFCCF8091AF
:101C5000E30080688093E300112311F083E001C06A
:101C600082E080933D027DC08058823008F079C0C8
:101C700080914002909141028C3D23E0920771F5E2
:101C800083E08A838AE289834FB7F894DE01139652
:101C900020E03EE051E2E32FF0E050935700E49162
:101CA00020FF03C0E295EF703F5FEF708E2F90E052
:101CB000EA3010F0C79601C0C0968D939D932F5FB8
:101CC000243149F74FBF8091E800877F8093E80077
:101CD0006AE270E0CE010196F9DB11C0AE01455D0C
:101CE0005F4F6091420244DB0097D9F12091E800F8
:101CF000277F2093E800BC018BA59CA587DC809101
:101D0000E8008B778093E8002CC0803851F58091F3
:101D1000E800877F8093E800809139028093F1008A
:101D20008091E8008E7776CF81111BC090914002A0
:101D30009230B8F48091E800877F8093E800909318
:101D400039023ADD80913902811104C08091E300AB
:101D500087FF02C084E001C081E080933D020E94C1
:101D6000D7018091E80083FF0AC08091E800877F57
:101D70008093E8008091EB0080628093EB00AC964A
:101D80000FB6F894DEBF0FBECDBFDF91CF911F918C
:101D900008950895CF9380913D028823A9F0809102
:101DA000E9008F709091EC0090FF02C090E801C0B4
:101DB00090E0C92FC82B1092E9008091E80083FDC4
:101DC00085DECF70C093E900CF910895CF93DF9364
:101DD000EC014096FC018BE0DF011D928A95E9F74A
:101DE00082E08C83898783E08E8761E0CE01019653
:101DF000A5DC882361F061E0CE0106969FDC882394
:101E000031F061E0CE010B96DF91CF9197CC80E06D
:101E1000DF91CF9108950F931F93FC01CB01BA017D
:101E200020913D02243089F4048915892689378957
:101E3000012B022B032B49F021812F702093E90005
:101E400040E050E01F910F91F4CA82E01F910F9182
:101E50000895CF93C62F20913D022430F1F4FC0168
:101E60004489558966897789452B462B472BA9F0EC
:101E700081818F708093E9008091E80085FF04C024
:101E8000C093F10080E00AC08091E8008E778093D3
:101E9000E800B3DC8823A1F301C082E0CF9108956C
:101EA00020913D02243029F5FC0144895589668939
:101EB0007789452B462B472BE1F081818F708093EA
:101EC000E9008091F200811102C080E008959091B4
:101ED000E8008091E8008E778093E80095FDF5CFCB
:101EE0008CDC811107C09091E8009E779093E80008
:101EF000089582E0089520913D02243089F4FC0188
:101F00004489558966897789452B462B472B41F0B3
:101F100021812F702093E9002091E80020FDC0CF9F
:101F2000089520913D02243019F02FEF3FEF24C097
:101F3000FC014489558966897789452B462B472BB7
:101F4000A1F386818F708093E9008091E80082FF81
:101F5000ECCF8091F200882321F02091F10030E055
:101F600002C02FEF3FEF8091F200811105C08091F8
:101F7000E8008B778093E800C90108950895CF9316
:101F8000DF93EC018091E80083FFA9C0888190E095
:101F900020914202309143022817390709F09FC06F
:101FA00080913F02813261F020F4803209F097C0C5
:101FB0003DC0823209F46EC0833209F090C07FC008
:101FC00080913E02813A09F08AC08091E800877FC3
:101FD0008093E8008091E80080FFFCCF4C895D8908
:101FE0006E897F894093F100BB27A72F962F852FFD
:101FF0008093F100CB01AA27BB278093F100472FE4
:102000005527662777274093F100888D8093F1004C
:10201000898D8093F1008A8D8093F1008091E80092
:102020008E778093E800DF91CF91C6CB80913E02FE
:10203000813209F054C08091E800877F8093E800E6
:1020400005C080913D02882309F449C08091E800D1
:1020500082FFF7CF3091F1002091F1009091F100D3
:102060008091F1003C8B2D8B9E8B8F8B8091F100AA
:10207000888F8091F100898F8091F1008A8F809103
:10208000E8008B778093E80097DBCE01DF91CF915A
:102090000C94E50180913E02813209F58091E800BF
:1020A000877F8093E80088DB809140029091410215
:1020B000998B888BCE01DF91CF910C948002809117
:1020C0003E02813261F48091E800877F8093E800CE
:1020D00073DB60914002CE01DF91CF914FCFDF9152
:1020E000CF9108956F927F928F929F92AF92BF92FD
:1020F000CF92DF92EF92FF920F931F93CF93DF93D4
:1021000000D01F92CDB7DEB77C01ADB6BEB68091D0
:10211000E80083FF07C1F701808190E0209142022F
:10212000309143022817390709F0FCC080913F0223
:10213000833009F49EC030F4813071F0823009F0B0
:10214000F1C0D4C08A3009F4B9C08B3009F4A2C000
:10215000893009F0E7C04CC080913E02813A09F015
:10216000E1C08DB69EB61A8219828091400210910C
:1021700041028B83F70140858DB79EB7841B91097F
:102180000FB6F8949EBF0FBE8DBFCDB6DEB6EFEF93
:10219000CE1ADE0A360150E060E070E0C601EAD1F6
:1021A000412F41508E010F5F1F4F9601BE016D5FA1
:1021B0007F4FC7010E949F02F701268137812115B9
:1021C000310529F0408550E0B601C901CAD110920D
:1021D000E9008091E800877F8093E80069817A8137
:1021E000C30174D98091E8008B778093E80039C0EF
:1021F00080913E02813209F095C08DB69EB6009165
:1022000044021091450270904002609041028DB7E7
:102210009EB7801B910B0FB6F8949EBF0FBE8DBF6B
:10222000CDB6DEB6EFEFCE1ADE0A8091E800877FEA
:102230008093E800B801C601A9D98091E8008E77A3
:102240008093E80021E0711001C020E030E0021B23
:10225000130B2C0D3D1D462D4150672DC7010E94CB
:10226000D002882D992D0FB6F8949EBF0FBE8DBF5A
:1022700059C080913E02813A09F054C08091E80033
:10228000877F8093E8008091E80080FFFCCFF70112
:10229000818540C080913E02813209F043C0809127
:1022A000E800877F8093E80087DA9091400281E020
:1022B000911101C080E0F701818734C080913E0216
:1022C000813281F58091E800877F8093E80074DA9D
:1022D0008091400290914102882736E0969587953B
:1022E0003A95E1F7F701958784871CC080913E02FB
:1022F000813AC1F48091E800877F8093E800809163
:10230000E80080FFFCCFF701848595859695879539
:10231000969587958093F1008091E8008E77809361
:10232000E8004ADA0FB6F894BEBE0FBEADBE0F90FD
:102330000F900F90DF91CF911F910F91FF90EF9031
:10234000DF90CF90BF90AF909F908F907F906F90D5
:1023500008959C01275F3F4FF90127E0DF011D929F
:102360002A95E9F721E0FC01218724EF31E0358748
:10237000248723E0248361E00196E0C94F925F92B5
:102380006F927F928F929F92AF92BF92CF92DF9285
:10239000EF92FF920F931F93CF93DF9300D01F9282
:1023A000CDB7DEB77C01ADB6BEB680913D028430BC
:1023B00009F08FC08091E4009091E500F70122853B
:1023C00033852817390709F484C081818F70809381
:1023D000E9008091E80085FF7CC06DB67EB640853F
:1023E0008DB79EB7841B91090FB6F8949EBF0FBEA0
:1023F0008DBFCDB6DEB6EFEFCE1ADE0A1B821A8293
:102400001982460150E060E070E0C601B3D08E0151
:102410000F5F1F4F960140E0BE016D5F7F4FC70108
:102420000E949F02582EF70184859585892B31F0F3
:1024300001E010E086859785892B11F000E010E01F
:10244000F701C680D780C114D10489F049815A812F
:10245000B601C40179D044244394009709F4412C77
:10246000F701408550E0B401C6017BD001C0412C8A
:1024700089819A81892BF9F0511004C0411002C062
:1024800000FF19C0F701848595859787868781812C
:102490008F708093E9008B8181118093F1006981B5
:1024A0007A8140E050E0C4010E94190A8091E8005E
:1024B0008E778093E8008091E4009091E500F70129
:1024C00093878287862D972D0FB6F8949EBF0FBEF7
:1024D0008DBF0FB6F894BEBE0FBEADBE0F900F906D
:1024E0000F90DF91CF911F910F91FF90EF90DF90B0
:1024F000CF90BF90AF909F908F907F906F905F90A4
:102500004F900895A1E21A2EAA1BBB1BFD010DC01E
:10251000AA1FBB1FEE1FFF1FA217B307E407F50793
:1025200020F0A21BB30BE40BF50B661F771F881F6F
:10253000991F1A9469F760957095809590959B0105
:10254000AC01BD01CF010895FB01DC0104C08D91F8
:102550000190801921F441505040C8F7881B990B15
:102560000895FB01DC0102C001900D9241505040E2
:10257000D8F70895DC0101C06D9341505040E0F759
:062580000895F894FFCF5E
:1025860002812000000100003F0000000000000062
:1025960000834000000104400000018208000001A1
:0E25A6000000000000000000000000302000D7
:00000001FF

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

View file

@ -1,50 +1,3 @@
Install new Firmwares with DFU and Flip on Arduino Uno/Mega R3
==============================================================
From: http://nicohood.wordpress.com/2014/06/03/install-new-firmwares-with-dfu-and-flip-on-arduino-unomega-r3/
This article is mainly made as an explanation on how to install the Hoodloader which is included in the HID Project.
But you can also flash other firmwares to your Arduino. **This tutorial is for Windows and R3 versions only.**
This method is called “Device Firmware Upgrade” and also works on Linux/Mac and older versions but its not explained in this article.
**What you need: Arduino Uno/Mega, USB Cable, a normal jumper wire, Flip**
Flashing the new firmware
=========================
Install Flip first. This will also install the needed DFU drivers to flash the new firmware. Start Flip.
**_Briefly_ short these two pins** of the 16u2 with a Wire **(the jumper is only to show the connection)**.
If you have an older Version than the R3 please google how to get in DFU mode.
Today everybody should have an r3 so no resistor and complicated stuff is needed.
![DFU_Bridge.jpg](DFU_Bridge.jpg)
The device should now show up as Atmega16u2 in the device manager.
If not or if you get Error: **“AtLibUsbDfu.dll not found”** install the drivers manually from the device manager.
Right click the unknown device and select the Flip installation path to search the drivers.
Click the IC Button an select **Atmega16u2. (same for Uno/Mega).**
![Flip_1.PNG](Flip_1.PNG)
**Click File->Load Hex File** and select the Firmware. (The Lite version is only if you have any bugs. Please report bugs.)
![Flip_2.PNG](Flip_2.PNG)
Click the USB Cable and **click open.**
![Flip_2.PNG](Flip_2.PNG)
**Click run** to upload the firmware. Uncheck Reset and click Start Application to restart your Arduino. Or just **replug the cable.**
You probably need to **install new drivers for the new firmware.** Right click the device in the device manager and select the .inf file
provided with the firmware. Or just right click the .inf file and hit install.
You are done! Have fun with your new Arduino Firmware.
Deactivate HID function
=======================
Its possible to deactivate HID if you messed up something in the code and cannot return easily.
Just short these two pins permanently until you have uploaded your new, working sketch:
![No_HID_Bridge.jpg](No_HID_Bridge.jpg)
See http://nicohood.wordpress.com/ for more tutorials and projects
Firmwares
=========
[**See installing instructions on the Hoodloader repository**](https://github.com/NicoHood/Hoodloader)

View file

@ -55,14 +55,6 @@ void HID_::sendReport(uint8_t ReportID, const void* HIDReport, uint8_t length){
// HID report descriptor
#define LSB(_x) ((_x) & 0xFF)
#define MSB(_x) ((_x) >> 8)
#define RAWHID_USAGE_PAGE 0xFFC0
#define RAWHID_USAGE 0x0C00
#define RAWHID_TX_SIZE 64
#define RAWHID_RX_SIZE 64
extern const u8 _hidReportDescriptor[] PROGMEM;
const u8 _hidReportDescriptor[] = {
@ -147,20 +139,20 @@ const u8 _hidReportDescriptor[] = {
#ifdef HID_RAWKEYBOARD_ENABLE
// RAW HID
0x06, 0xC0, 0xFF,
0x0A, 0x00, 0x0C,
0x06, LSB(RAWHID_USAGE_PAGE), MSB(RAWHID_USAGE_PAGE), // 30
0x0A, LSB(RAWHID_USAGE), MSB(RAWHID_USAGE),
0xA1, 0x01, // Collection 0x01
0x85, HID_REPORTID_RawKeyboardReport, // REPORT_ID
0x85, HID_REPORTID_RawKeyboardReport, // REPORT_ID
0x75, 0x08, // report size = 8 bits
0x15, 0x00, // logical minimum = 0
0x26, 0xFF, 0x00, // logical maximum = 255
0x95, 64, // report count TX
0x95, RAWHID_TX_SIZE, // report count TX
0x09, 0x01, // usage
0x81, 0x02, // Input (array)
0x95, 64, // report count RX
0x95, RAWHID_RX_SIZE, // report count RX
0x09, 0x02, // usage
0x91, 0x02, // Output (array)
0xC0, // end collection
@ -838,6 +830,36 @@ void Keyboard_::releaseAll(void){
begin();
}
//================================================================================
// RawHID
//================================================================================
RawHID_ RawHID;
RawHID_::RawHID_(void){
// empty
}
size_t RawHID_::write(uint8_t b){
write(&b, 1);
}
size_t RawHID_::write(const uint8_t *buffer, size_t size){
size_t bytesleft = size;
// first work through the buffer thats already there
while (bytesleft >= RAWHID_RX_SIZE){
HID.sendReport(HID_REPORTID_RawKeyboardReport, &buffer[size - bytesleft], RAWHID_RX_SIZE);
bytesleft -= RAWHID_RX_SIZE;
}
// write down the other bytes and fill with zeros
if (bytesleft){
uint8_t rest[RAWHID_RX_SIZE];
memcpy(rest, &buffer[size - bytesleft], bytesleft);
memset(&rest[bytesleft], 0, RAWHID_RX_SIZE - bytesleft);
HID.sendReport(HID_REPORTID_RawKeyboardReport, &rest, RAWHID_RX_SIZE);
}
}
//================================================================================
// Media
//================================================================================

View file

@ -229,6 +229,20 @@ private:
};
extern Keyboard_ Keyboard;
//================================================================================
// RawHID
//================================================================================
class RawHID_ : public Print{
public:
RawHID_(void);
using Print::write; // to get the String version of write
size_t write(uint8_t b);
size_t write(const uint8_t *buffer, size_t size);
};
extern RawHID_ RawHID;
//================================================================================
// Media
//================================================================================

View file

@ -28,7 +28,13 @@ THE SOFTWARE.
//Definitions
//================================================================================
// empty
#define LSB(_x) ((_x) & 0xFF)
#define MSB(_x) ((_x) >> 8)
#define RAWHID_USAGE_PAGE 0xFFC0 // recommended: 0xFF00 to 0xFFFF
#define RAWHID_USAGE 0x0C00 // recommended: 0x0100 to 0xFFFF
#define RAWHID_TX_SIZE 63 // 1 byte for report ID
#define RAWHID_RX_SIZE 63 // 1 byte for report ID
//================================================================================
//Report Typedefinitions
@ -64,6 +70,15 @@ typedef union{
} HID_KeyboardReport_Data_t;
typedef union{
// a 32 byte buffer for rx or tx
uint8_t whole8[RAWHID_TX_SIZE];
uint16_t whole16[RAWHID_TX_SIZE / 2];
uint32_t whole32[RAWHID_TX_SIZE / 4];
uint8_t buff[RAWHID_TX_SIZE];
} HID_RawKeyboardReport_Data_t;
typedef union{
// every usable media key possible. Only one at the same time.
uint8_t whole8[8];
@ -168,6 +183,7 @@ typedef union{
typedef union{
HID_MouseReport_Data_t Mouse;
HID_KeyboardReport_Data_t Keyboard;
HID_RawKeyboardReport_Data_t RawKeyboard;
HID_MediaReport_Data_t Media;
HID_GamepadReport_Data_t Gamepad1;
HID_GamepadReport_Data_t Gamepad2;
@ -178,15 +194,15 @@ typedef union{
/** Enum for the HID report IDs used in the device. */
typedef enum{
HID_REPORTID_MouseReport = 0x01, /**< Report ID for the Mouse report within the device. */
HID_REPORTID_KeyboardReport = 0x02, /**< Report ID for the Keyboard report within the device. */
HID_REPORTID_RawKeyboardReport=0x03, /**< Report ID for the Raw Keyboard report within the device. */
HID_REPORTID_MediaReport = 0x04, /**< Report ID for the Media report within the device. */
HID_REPORTID_SystemReport = 0x05, /**< Report ID for the Power report within the device. */
HID_REPORTID_Gamepad1Report = 0x06, /**< Report ID for the Gamepad1 report within the device. */
HID_REPORTID_Gamepad2Report = 0x07, /**< Report ID for the Gamepad2 report within the device. */
HID_REPORTID_Joystick1Report = 0x08, /**< Report ID for the Joystick1 report within the device. */
HID_REPORTID_Joystick2Report = 0x09, /**< Report ID for the Joystick2 report within the device. */
HID_REPORTID_MouseReport = 0x01, /**< Report ID for the Mouse report within the device. */
HID_REPORTID_KeyboardReport = 0x02, /**< Report ID for the Keyboard report within the device. */
HID_REPORTID_RawKeyboardReport = 0x03, /**< Report ID for the Raw Keyboard report within the device. */
HID_REPORTID_MediaReport = 0x04, /**< Report ID for the Media report within the device. */
HID_REPORTID_SystemReport = 0x05, /**< Report ID for the Power report within the device. */
HID_REPORTID_Gamepad1Report = 0x06, /**< Report ID for the Gamepad1 report within the device. */
HID_REPORTID_Gamepad2Report = 0x07, /**< Report ID for the Gamepad2 report within the device. */
HID_REPORTID_Joystick1Report = 0x08, /**< Report ID for the Joystick1 report within the device. */
HID_REPORTID_Joystick2Report = 0x09, /**< Report ID for the Joystick2 report within the device. */
} HID_Report_IDs;
#endif

View file

@ -1,4 +1,9 @@
HID Source
==========
**Move and replace** these files to (depending on your version and path):
```
C:\Arduino\arduino-1.0.5\hardware\arduino\cores\arduino
C:\Arduino\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino
C:\Arduino\arduino-1.5.7\hardware\arduino\avr\cores\arduino
C:\Arduino\arduino-1.5.7\hardware\arduino\avr\cores\arduino
```

View file

@ -1,4 +1,4 @@
Arduino HID Project BETA 1.5
Arduino HID Project BETA 1.7
============================
Dont you always wanted to turn your Arduino in a Generic HID device like a Keyboard or a Gamepad?
Disappointed that the Uno doesnt support this at all and the Micro/Leonardo only Mouse + Keyboard?
@ -11,6 +11,8 @@ Before you had to upload a sketch, flash the firmware, test, flash the firmware,
**For the Leonardo/Micro it is 'just' new device stuff, no need for a bootloader.**
[Hoodloader Repository moved here.](https://github.com/NicoHood/Hoodloader)
Features
========
Use your **Arduino Uno, Mega, Micro, Leonardo or Micro Pro** as Generic HID Device and still be able to upload sketches how you are used to do.
@ -22,6 +24,7 @@ I also corrected some bugs in the original sources.
* Arduino HID Uno/Mega library
* Arduino HID Micro/Leonardo library
* Arduino HID Bootloader (Hoodloader) + driver
* Arduino as ISP with the 16u2 (Hoodloader only, [more information](https://github.com/NicoHood/Hoodloader))
* Compatible with Linux/Mac/Windows XP/7/8.1*
* Compatible with IDE 1.0.x - 1.5.7 (newer versions might need an update)
@ -40,7 +43,7 @@ I also corrected some bugs in the original sources.
Installation Leonardo/Micro/Uno/Mega
====================================
Download the library and install like you are used to.
Download the library and install like you are used to (access the examples and save the firmware).
Then **move and replace** all files from "HID_Source" to the folder that matches your Arduino IDE version to one of these paths
(depending on your version):
```
@ -51,11 +54,12 @@ C:\Arduino\arduino-1.5.7\hardware\arduino\avr\cores\arduino
The installation path may differ to yours. Newer Versions than 1.5.7 may not work.
**I strongly recommend to install the library like this. Otherwise it wont work.**
Now you are able to use the library with all kind of Arduinos. The HID include and HID.begin() is optional for Leonardo/Micro
but necessary for Uno/Mega. I'd recommend to use it every time so you can port the library from one to another device.
#### Leonardo/Micro only
**Edit HID.h to de/activate usb functions.** Each function will take some flash,
**Edit HID.h to de/activate usb functions.**
By default Mouse, Keyboard, Media, System, Gamepad1 is activated.
Each function will take some flash,
so if you want to save flash deactivate everything you dont need.
By default Mouse, Keyboard, Media, System, Gamepad1 is activated.
You cannot use more than 255 bytes HID report on the Leonardo/Micro.
@ -63,57 +67,41 @@ The number after each definition tells you the size of each report.
I have no idea why you cannot use more than 255 bytes (yet), its a bug in the Arduino code.
#### Uno/Mega only
To **install the new bootloader** connect your Arduino to your PC and put it into DFU mode.
To **install the new bootloader** connect your Arduino to your PC via USB and see
[Hoodloader installing instructions](https://github.com/NicoHood/Hoodloader).
**You can always switch back to the original firmware, nothing to break.**
See the readme in the Firmware folder for Windows or [this general (outdated) tutorial](http://arduino.cc/en/Hacking/DFUProgramming8U2)
on how to upload the hex file to your Arduino. Some notes here: The Arduino R3 doesnt need a resistor or so, just connect the two pins near
the USB B jack. Choose atmega16u2 for the new R3 version. For older version you need to check Google. It might not work on older Arduinos.
For a Flip dll error install the drivers manually from the flip directory (see readme)
Upload the hex file to your Arduino. It doesnt care if its a Uno/Mega. It will just work the same.
Unplug the Arduino if it says successful and plug it back in. You cannot destroy anything here and you can always
switch back to the original firmware which is included with the download.
**You need to install new drivers for the new device on Windows.** Actually they are not new, its just an .inf file that tells
Windows to use its built in CDC Serial driver. Ironically Microsoft never signed its own driver.
Also see [this tutorial](http://arduino.cc/en/guide/windows) on how to install the drivers (rightclick the .inf file and hit install).
[How to install drivers for Windows 8/8.1](https://learn.sparkfun.com/tutorials/disabling-driver-signature-on-windows-8/disabling-signed-driver-enforcement-on-windows-8).
If you want it to be recognized as Uno/Mega edit the makefile and recompile. I dont recommend this to know what
Bootloader currently is on your Board.
For Arduino Mega2560 I recommend (in general) the IDE 1.5.7 or higher. [See Issue on Github.](https://github.com/arduino/Arduino/issues/1071)
[Or this Issue.)(http://forum.arduino.cc/index.php?topic=126160.0)
#### For all Arduinos
You are ready to use the libraries. **Just have a look at the examples and test it out.**
Usage
=====
You are ready to use the libraries. **Just have a look at the examples and test it out.** They are pretty much self explaining.
All examples use a button on pin 8 and show the basic usage of the libraries.
The libraries will work for all Arduinos listed above but it will use 2 different HID libraries (automated).
The libraries will work for all Arduinos listed above but it will use 2 different HID libraries (automatically).
**On Arduino/Mega you can only use baud 115200 for HID** due to programming reasons. Its not bad anyway
because its the fastest baud and you want fast HID recognition. You still can use any other baud for
normal sketches without HID. The HID include and HID.begin() is not needed for Leonardo/Micro but recommended.
HID.begin() starts the Serial at baud 115200 on Arduino Uno/Mega. Do not call Serial.begin() again.
normal sketches without HID. HID.begin() starts the Serial at baud 115200 on Arduino Uno/Mega. Do not call Serial.begin() again.
The HID include and HID.begin() is not needed for Leonardo/Micro but I'd recommend
to use it every time so you can port the library from one to another device.
**Always release buttons to not cause any erros.** Replug USB cable to reset the values if anything went wrong.
Connect GND and MOSI2 to deactivate HID function on Uno/Mega (see readme in /Firmwares)
See [Deactivate HID function](https://github.com/NicoHood/Hoodloader) if you need to fully disable HID again.
For Arduino as ISP usage (optional, has nothing to do with HID) see [Hoodloader repository](https://github.com/NicoHood/Hoodloader).
How it works
============
For the Leonardo/Micro its just a modified version of the HID descriptor and Classes for the new devices.
Its not that complicated, everything you need is in the main 4 .h/cpp files.
For the Uno/Mega you need a special Bootloader. Why? Because the Uno/Mega has 2 chips on board.
The 328/2560 and 16u2 on each. And the only communication between the 16u2 and the main chip is via Serial.
But the Serial is also used to program the chip. So what I do here is to filter out all Serial Data that comes in
via the NicoHoodProtocol (NHP). There is an indicator address 1 which contains the beginning and the Report ID.
If the following Serial information is Address 2 with a valid checksum the report will be created and sent if its
finished successful. If any error occurred within the first 2 Protocol Addresses the information will be sent via Serial.
The Program should forward this information because it could be a normal information. Everything above 2 Addresses that goes
wrong wont be sent and discarded due to a normal wrong HID report. Normally you dont have to worry about getting weird HID
presses. You need to send exactly 6 bytes with the special Numbers and another 6 bytes for the first information with checksum
and complete the full report. You might get weird Serial output if you hit the exact 12 bytes without timeout of a few milliseconds.
And if the reading timed out the Data will also be forwarded. And if you only send Ascii Code the Information is forwarded instantly
because the NHP filters that out instantly (see documentation of the NHP). So filtering should be fine and dont block :)
To sum it up: Serial information is grabbed by the "man in the middle" and you dont have to worry to get any wrong report.
See picture in readme (/Firmwares) how to deactivate HID function by hardware.
For the Uno/Mega you need a special Bootloader. Why? See [Hoodloader repository](https://github.com/NicoHood/Hoodloader).
To sum it up: Serial information is grabbed by the "man in the middle, 16u2" and you dont have to worry to get any wrong Serial stuff via USB.
This library wouldnt be possible without
========================================
@ -133,17 +121,21 @@ This library wouldnt be possible without
Ideas for the future
====================
* Add more devices (even more?)
* Add Midi (do you want that?)
* Add ICSP Programmer function (ram limit is a problem)
* Add Midi (no more free Endpoints)
* Add Led/SPI support (discarded, not needed, too slow)
* Add rumble support (very hard)
* Add HID rumble support (very hard)
* Add Xbox Support (too hard)
* Add Report Out function (for Keyboard Leds etc, maybe the 4 pin header?)
* RAW HID
Known Bugs
==========
System Wakeup is currently not working on all versions!
System Shutdown is only working on Windows systems.
RawHID only works on Uno/Mega.
Programming Arduino Mega with ISP doesnt work because of fuses. Burning Bootloader error is fixed with IDE 1.5.7 or higher (avrdude bug)!
See this for more information: http://forum.arduino.cc/index.php?topic=126160.0
Feel free to open an Issue on Github if you find a bug. Or message me via my [blog](http://nicohood.wordpress.com/)!
@ -152,6 +144,8 @@ Known Issues
**Do not name your sketch HID.ino, this wont work!**
**Do not use HID in interrupts because it uses the Serial. Your Arduino can crash!**
**If you get a checksum error after uploading please message me and send me the whole project.**
Same if your Arduino crashes and dont want to upload sketches anymore (Replug usb fixes this).
These bugs occurred while developing the bootloader and should be fixed. Just in case it happens again I noted it here.
@ -166,7 +160,7 @@ If you dont use HID you can still choose the baud of your choice.
XBMC 13.1 (a Media Center) uses Gamepad input. Its seems to not work and may cause weird errors.
Even with a standard Gamepad I have these errors. Just want to mention it here.
Not tested on the 8u2 (should only work without DFU due to size. message me if it works!)
Not tested on the 8u2 (should only work without DFU and v1.6 due to size. message me if it works!)
Not tested on the Due (message me if it works!)
@ -179,6 +173,18 @@ Oh and by the way: I also removed some bugs from the official firmware.
Version History
===============
```
1.7 Beta Release (09.08.2014)
* Changes in the Hoodloader:
* Works as ISP now. See the [Hoodloader Repository](https://github.com/NicoHood/Hoodloader) for more information.
* Exceeded 8kb limit. For flashing a 8u2 use v1.6 please!
* Changed Readme text
1.6 Beta Release (09.08.2014)
* Bugfixes in the Hoodloader:
* Changed HID management (not blocking that much, faster)
* added RawHID in/out (HID to Serial)
* Added RawHID Class and example
1.5 Beta Release (21.07.2014)
* Moved Hoodloader source to a [separate Github page](https://github.com/NicoHood/Hoodloader)
* Bugfixes in the Hoodloader:
@ -267,7 +273,7 @@ https://support.microsoft.com/kb/315539
The Hootloader was coded with Windows7 and Visual Studio and compiled with a Raspberry Pi.
Lufa version 140302 is included!
**To recompile see instructions in [Hoodloader Repository](https://github.com/NicoHood/Hoodloader) **
**To recompile see instructions in [Hoodloader Repository](https://github.com/NicoHood/Hoodloader).**
The difference between the Leonardo/Micro and Uno/Mega is that the HID Class is different. All other classes are the same.
The Leonardo/Micro Version uses USBAPI.h and no Serial while the Uno/Mega Version uses Serial.

View file

@ -0,0 +1,152 @@
/*
Copyright (c) 2014 NicoHood
See the readme for credit to other people.
Advanced RawHID example
Shows how to send bytes via raw HID
Press a button to send some example values.
Keep in mind that you can only send full data packets, the rest is filled with zero!
Definitions from HID_Reports.h:
RAWHID_USAGE_PAGE 0xFFC0 // recommended: 0xFF00 to 0xFFFF
RAWHID_USAGE 0x0C00 // recommended: 0x0100 to 0xFFFF
RAWHID_TX_SIZE 63 // 1 byte for report ID
RAWHID_RX_SIZE 63 // 1 byte for report ID
*/
// not needed for Leonardo/Micro
#include <HID.h>
// for Leonardo/Micro: make sure to activate desired USB functions in HID_Reports.h
const int pinLed = 13;
const int pinButton = 8;
void setup() {
pinMode(pinLed, OUTPUT);
pinMode(pinButton, INPUT_PULLUP);
// Starts Serial at baud 115200. end just ends the Serial
// Make sure to end your special HIDs before, this does not clear them!
// You need this baud for the HID library but still can use other bauds
// without HID functions.
// not needed for Leonado/Micro, Serial will not be set
HID.begin();
}
void loop() {
if (!digitalRead(pinButton)) {
digitalWrite(pinLed, HIGH);
// direct without library. Always send RAWHID_RX_SIZE bytes!
uint8_t buff[RAWHID_RX_SIZE]; // unitialized, has random values
HID.sendReport(HID_REPORTID_RawKeyboardReport, buff, sizeof(buff));
// with library
memset(&buff, 42, sizeof(buff));
RawHID.write(buff, sizeof(buff));
// write a single byte, will fill the rest with zeros
RawHID.write(0xCD);
// huge buffer with library, will fill the rest with zeros
uint8_t megabuff[256];
for (int i = 0; i < sizeof(megabuff); i++)
megabuff[i] = i;
RawHID.write(megabuff, sizeof(megabuff));
// You can use print too, but better dont use a linefeed
RawHID.println("Hello World");
// And compare it to write:
RawHID.write("Hello World\r\n");
// simple debounce
delay(300);
digitalWrite(pinLed, LOW);
}
}
/*
Expected output:
// manual with unintialized buff
recv 63 bytes:
1B B7 0B 88 1F 99 1F 5A 95 A9 F7 80 95 90 95 BC
01 CD 01 08 95 A1 E2 1A 2E AA 1B BB 1B FD 01 0D
C0 AA 1F BB 1F EE 1F FF 1F A2 17 B3 07 E4 07 F5
07 20 F0 A2 1B B3 0B E4 0B F5 0B 66 1F 77 1F
// filled buff
recv 63 bytes:
2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A
2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A
2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A
2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A
// single byte filled with zero
recv 63 bytes:
CD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
// huge buffer filled with zero at the end
recv 63 bytes:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E
recv 63 bytes:
3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E
4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E
5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E
6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D
recv 63 bytes:
7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D
8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D
9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD
AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC
recv 63 bytes:
BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC
CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC
DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC
ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB
recv 63 bytes:
FC FD FE FF 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
// print
recv 63 bytes:
48 65 6C 6C 6F 20 57 6F 72 6C 64 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
//\r
recv 63 bytes:
0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
//\n
recv 63 bytes:
0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
//write
recv 63 bytes:
48 65 6C 6C 6F 20 57 6F 72 6C 64 0D 0A 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*/

4
examples/Readme.md Normal file
View file

@ -0,0 +1,4 @@
Examples
========
Just try these examples once the HID Source is installed. Its pretty much self explaining.

View file

View file

@ -0,0 +1,8 @@
arduino16u2asisp.name=16u2 as ISP
arduino16u2asisp.communication=serial
arduino16u2asisp.protocol=stk500v1
arduino16u2asisp.speed=1
arduino16u2asisp.program.protocol=stk500v1
arduino16u2asisp.program.speed=1
arduino16u2asisp.program.tool=avrdude
arduino16u2asisp.program.extra_params=-P{serial.port} -b{program.speed}

8
hardware/Readme.md Normal file
View file

@ -0,0 +1,8 @@
Hardware
========
Put this folder (16u2asISP) into sketchbook/hardware/ like this:
```
Arduino/sketchbook/hardware/16u2asISP/avr/boards.txt
Arduino/sketchbook/hardware/16u2asISP/avr/programmers.txt
```

View file

@ -36,6 +36,7 @@ sendReport KEYWORD2
HID KEYWORD3
Mouse KEYWORD3
Keyboard KEYWORD3
RawHID KEYWORD3
Media KEYWORD3
System KEYWORD3
Gamepad1 KEYWORD3
@ -145,6 +146,10 @@ RAW_KEYBOARD_PRINT LITERAL1
RAW_KEYBOARD_SCROLL_LOCK LITERAL1
RAW_KEYBOARD_PAUSE LITERAL1
#RawHID
RAWHID_RX_SIZE LITERAL1
RAWHID_TX_SIZE LITERAL1
#Media
MEDIA_FAST_FORWARD LITERAL1