diff --git a/Tools/AP_Bootloader/board_types.txt b/Tools/AP_Bootloader/board_types.txt index 16eda3f59e8dc..6bb4cceef91f8 100644 --- a/Tools/AP_Bootloader/board_types.txt +++ b/Tools/AP_Bootloader/board_types.txt @@ -292,7 +292,7 @@ AP_HW_2RAWH743 1173 AP_HW_X-MAV-AP-H743V2 1174 AP_HW_BETAFPV_F4_2-3S_20A 1175 AP_HW_MicoAir743AIOv1 1176 - +AP_HW_BetaflightF4 1177 AP_HW_FlywooF405HD_AIOv2 1180 AP_HW_FlywooH743Pro 1181 diff --git a/Tools/bootloaders/BetaflightF4_bl.bin b/Tools/bootloaders/BetaflightF4_bl.bin new file mode 100755 index 0000000000000..d51bf809cec08 Binary files /dev/null and b/Tools/bootloaders/BetaflightF4_bl.bin differ diff --git a/Tools/bootloaders/BetaflightF4_bl.hex b/Tools/bootloaders/BetaflightF4_bl.hex new file mode 100644 index 0000000000000..6b0f96f1a6161 --- /dev/null +++ b/Tools/bootloaders/BetaflightF4_bl.hex @@ -0,0 +1,893 @@ +:020000040800F2 +:1000000000060020E1010008E3010008E301000808 +:10001000E3010008E3010008E3010008E301000830 +:10002000E3010008E3010008E3010008692F00086C +:10003000E3010008E3010008E3010008E301000810 +:10004000E3010008E3010008E3010008E301000800 +:10005000E3010008E301000811320008393200080A +:100060006132000889320008B1320008E30100085B +:10007000E3010008E3010008E3010008E3010008D0 +:10008000E3010008E3010008E3010008E3010008C0 +:10009000E3010008E3010008E3010008D932000889 +:1000A000E3010008E3010008E3010008E3010008A0 +:1000B000AD330008E3010008E3010008E301000894 +:1000C000E3010008E3010008E3010008E301000880 +:1000D000E3010008E3010008E3010008E301000870 +:1000E0003D330008E3010008E3010008E3010008D4 +:1000F000E3010008E3010008E3010008E301000850 +:10010000E3010008E3010008E3010008E30100083F +:10011000E3010008E3010008E3010008E30100082F +:10012000E3010008E3010008E3010008E30100081F +:10013000E3010008E3010008E3010008E30100080F +:10014000E3010008E3010008E30100081D2700089F +:10015000E3010008E3010008E3010008E3010008EF +:10016000E3010008E3010008E3010008E3010008DF +:10017000E3010008E3010008E3010008E3010008CF +:10018000E3010008E3010008E3010008E3010008BF +:10019000E3010008E3010008E3010008E3010008AF +:1001A000E3010008E3010008E3010008E30100089F +:1001B000E3010008E3010008E3010008E30100088F +:1001C000E3010008E3010008E3010008E30100087F +:1001D000E3010008E3010008E3010008E30100086F +:1001E00002E000F000F8FEE772B6374880F30888B6 +:1001F000364880F3098836483649086040F20000E6 +:10020000CCF200004EF63471CEF200010860BFF36C +:100210004F8FBFF36F8F40F20000C0F2F0004EF638 +:100220008851CEF200010860BFF34F8FBFF36F8F8C +:100230004FF00000E1EE100A4EF63C71CEF20001E4 +:100240000860062080F31488BFF36F8F01F02EFF43 +:1002500002F028FE4FF055301F491B4A91423CBF27 +:1002600041F8040BFAE71D49184A91423CBF41F896 +:10027000040BFAE71A491B4A1B4B9A423EBF51F83E +:10028000040B42F8040BF8E700201849184A914281 +:100290003CBF41F8040BFAE701F00CFF02F056FEF8 +:1002A000144C154DAC4203DA54F8041B8847F9E7A7 +:1002B00000F042F8114C124DAC4203DA54F8041B22 +:1002C0008847F9E701F0F4BE000600200022002074 +:1002D0000000000808ED00E00000002000060020FB +:1002E0007037000800220020402200204022002019 +:1002F000602E0020E0010008E0010008E001000895 +:10030000E00100082DE9F04F2DED108AC1F80CD066 +:10031000C3689D46BDEC108ABDE8F08F002383F3CF +:1003200011882846A047002001F070FAFEE701F08E +:10033000FFF900DFFEE7000038B500F0BBFB01F07D +:1003400085FE054601F0A8FE0446C8B90E4B9D4245 +:1003500018D001339D4218BF044641F2883504BFCE +:1003600001240025002001F07BFE0CB100F074F8A0 +:1003700000F0FEFC284600F0BFF800F06DF8F9E749 +:100380000025EFE70546EDE7010007B008B500F0EE +:1003900063FBA0F120035842584108BD07B541F264 +:1003A0001203022101A8ADF8043000F073FB03B082 +:1003B0005DF804FB38B5302383F3118817480368D0 +:1003C0000BB101F0EFFA164A144800234FF47A718A +:1003D00001F0DEFA002383F31188124C236813B175 +:1003E0002368013B2360636813B16368013B63606A +:1003F0000D4D2B7833B963687BB9022000F022FCE5 +:10040000322363602B78032B07D163682BB902205A +:1004100000F018FC4FF47A73636038BD402200206E +:10042000B50300086023002058220020084B1870F4 +:1004300003280CD8DFE800F008050208022000F0CD +:10044000F9BB022000F0ECBB024B00225A6070475F +:100450005822002060230020234B244A10B51C465C +:10046000196801313FD004339342F9D16268A24246 +:1004700039D31F4B9B6803F1006303F540439A4255 +:1004800031D2002000F030FB0220FFF7CFFF194BE4 +:100490001A6C00221A64196E1A66196E596C5A6425 +:1004A000596E5A665A6E5A6942F080025A615A6908 +:1004B00022F080025A615A691A6942F000521A61A8 +:1004C0001A6922F000521A611B6972B64FF0E023DC +:1004D0003021C3F8084DD4E9003281F311889D46DC +:1004E00083F30888104710BD00C0000820C0000832 +:1004F00000220020003802402DE9F04F93B0AA4BB3 +:1005000000902022FF210AA89D6800F0DBFBA74A8B +:100510001378A3B9A648012103601170302383F337 +:10052000118803680BB101F03DFAA24AA0480023EC +:100530004FF47A7101F02CFA002383F31188009BA9 +:1005400013B19D4B009A1A609C4A009C1378032BB0 +:100550001EBF00231370984A4FF0000A18BF536063 +:10056000D3465646D146012000F064FB24B1924B9D +:100570001B68002B00F01182002000F06DFA039040 +:10058000039B002BF2DB012000F04AFB039B213B85 +:10059000162BE8D801A252F823F000BFF905000895 +:1005A00021060008B5060008670500086705000871 +:1005B000670500083F0700080F0900082908000820 +:1005C0008B080008B3080008D90800086705000870 +:1005D000EB080008670500085D0900089906000897 +:1005E00067050008A109000805060008990600082B +:1005F000670500088B0800080220FFF7C7FE0028E7 +:1006000040F0F581009B0221BAF1000F08BF1C46A3 +:1006100005A841F21233ADF8143000F03BFAA2E71E +:100620004FF47A7000F018FA071EEBDB0220FFF798 +:10063000ADFE0028E6D0013F052F00F2DA81DFE8A9 +:1006400007F0030A0D10133605230593042105A8AE +:1006500000F020FA17E054480421F9E75848042133 +:10066000F6E758480421F3E74FF01C08404600F035 +:100670003DFA08F104080590042105A800F00AFAE3 +:10068000B8F12C0FF2D1012000FA07F747EA0B0B63 +:100690005FFA8BFB4FF0000900F060FB26B10BF016 +:1006A0000B030B2B08BF0024FFF778FE5BE74648DF +:1006B0000421CDE7002EA5D00BF00B030B2BA1D10D +:1006C0000220FFF763FE074600289BD0012000F0C0 +:1006D0000BFA0220FFF7AAFE00261FFA86F8404612 +:1006E00000F012FA044690B10021404600F01CFAD6 +:1006F00001360028F1D1BA46044641F21213022114 +:1007000005A8ADF814303E4600F0C4F92BE70120EF +:10071000FFF78CFE2546244B9B68AB4207D9284641 +:1007200000F0E4F9013040F067810435F3E7234B32 +:1007300000251D70204BBA465D603E46ACE7002E9A +:100740003FF460AF0BF00B030B2B7FF45BAF022089 +:10075000FFF76CFE322000F07FF9B0F10008FFF6E1 +:1007600051AF18F003077FF44DAF0F4A926808EBC2 +:10077000050393423FF646AFB8F5807F3FF742AF9F +:10078000124B0193B84523DD4FF47A7000F064F901 +:100790000390039A002AFFF635AF019B039A03F8F2 +:1007A000012B0137EDE700BF002200205C23002071 +:1007B00040220020B50300086023002058220020BA +:1007C00004220020082200200C2200205C220020AD +:1007D000C820FFF7DBFD074600283FF413AF1F2DAD +:1007E00011D8C5F1200242450AAB25F0030028BF0D +:1007F000424683490192184400F03EFA019A80482B +:10080000FF2100F05FFA4FEAA8037D490193C8F386 +:100810008702284600F05EFA064600283FF46DAFD6 +:10082000019B05EB830537E70220FFF7AFFD0028AA +:100830003FF4E8AE00F0A4F900283FF4E3AE00274F +:10084000B846704B9B68BB4218D91F2F11D80A9B22 +:1008500001330ED027F0030312AA134453F8203CAF +:1008600005934046042205A900F0ACFA04378046FF +:10087000E7E7384600F03AF90590F2E7CDF8148042 +:10088000042105A800F006F906E70023642104A866 +:10089000049300F0F5F800287FF4B4AE0220FFF7CF +:1008A00075FD00283FF4AEAE049800F051F90590B4 +:1008B000E6E70023642104A8049300F0E1F800288F +:1008C0007FF4A0AE0220FFF761FD00283FF49AAE4E +:1008D000049800F04DF9EAE70220FFF757FD0028E1 +:1008E0003FF490AE00F05CF9E1E70220FFF74EFD27 +:1008F00000283FF487AE05A9142000F057F9042121 +:100900000746049004A800F0C5F83946B9E732203C +:1009100000F0A2F8071EFFF675AEBB077FF472AEBB +:10092000384A926807EB090393423FF66BAE022008 +:10093000FFF72CFD00283FF465AE27F003074F4476 +:10094000B9453FF4A9AE484600F0D0F8042105901F +:1009500005A800F09FF809F10409F1E74FF47A7057 +:10096000FFF714FD00283FF44DAE00F009F9002810 +:1009700044D00A9B01330BD008220AA9002000F0C2 +:10098000A9F900283AD02022FF210AA800F09AF9FC +:10099000FFF704FD1C4800F03FFF13B0BDE8F08FE7 +:1009A000002E3FF42FAE0BF00B030B2B7FF42AAE7F +:1009B0000023642105A8059300F062F8074600288B +:1009C0007FF420AE0220FFF7E1FC804600283FF4D0 +:1009D00019AEFFF7E3FC41F2883000F01DFF0598E7 +:1009E00000F0EEF9464600F0B9F93C46BBE5064694 +:1009F00052E64FF0000905E6BA467EE637467CE649 +:100A00005C22002000220020A086010070B50F4B60 +:100A10001B780133DBB2012B0C4611D80C4D296831 +:100A20004FF47A730E6AA2FB03320146224628462F +:100A3000B047844204D1074B00221A70012070BDD8 +:100A40004FF4FA7000F0E8FE0020F8E710220020D2 +:100A5000082600209423002007B500230246012128 +:100A60000DF107008DF80730FFF7D0FF20B19DF89A +:100A7000070003B05DF804FB4FF0FF30F9E700001A +:100A80000A4608B50421FFF7C1FF80F00100C0B29B +:100A9000404208BD30B4054C2368DD69044B0A466A +:100AA000AC460146204630BC604700BF0826002007 +:100AB000A086010070B501F0CFF9094E094D3080D4 +:100AC000002428683388834208D901F0BFF92B68D5 +:100AD00004440133B4F5404F2B60F2D370BD00BF26 +:100AE000962300206823002001F064BA00F1006022 +:100AF00000F540400068704700F10060920000F58A +:100B0000404001F0EFB90000054B1A68054B1B8807 +:100B10009B1A834202D9104401F098B90020704713 +:100B2000682300209623002038B5084D044629B1DB +:100B300028682044BDE8384001F0A8B9286820445E +:100B400001F08CF90028F3D038BD00BF68230020E5 +:100B500010F003030AD1B0F5047F05D200F1005074 +:100B6000A0F51040D0F80038184670470023FBE786 +:100B700000F10050A0F51040D0F8100A70470000B6 +:100B8000064991F8243033B10023086A81F82430F3 +:100B90000822FFF7B1BF0120704700BF6C2300207F +:100BA000014B1868704700BF002004E070B5194B76 +:100BB0001D68194B0138C5F30B0408442D0C0422A1 +:100BC0001E88A6420BD15C680A46013C824213464D +:100BD0000FD214F9016F4EB102F8016BF6E7013A3A +:100BE00003F10803ECD181420B4602D22C2203F818 +:100BF000012B0A4A05241688AE4204D1984284BFCC +:100C0000967803F8016B013C02F10402F3D1581A03 +:100C100070BD00BF002004E0903400087C34000860 +:100C2000022802BF024B4FF400129A61704700BFC6 +:100C300000040240022802BF014B20229A61704743 +:100C400000040240022801BF024A536983F02003D6 +:100C5000536170470004024070B504464FF47A7641 +:100C60004CB1412C254628BF412506FB05F000F07C +:100C7000D3FD641BF4E770BD10B50023934203D08D +:100C8000CC5CC4540133F9E710BD000010B5013845 +:100C900010F9013F3BB191F900409C4203D11AB1D8 +:100CA0000131013AF4E71AB191F90020981A10BD08 +:100CB0001046FCE703460246D01A12F9011B002930 +:100CC000FAD1704702440346934202D003F8011B55 +:100CD000FAE770472DE9F8431F4D144695F8242094 +:100CE0000746884652BBDFF870909CB395F82430D5 +:100CF0002BB92022FF2148462F62FFF7E3FF95F82A +:100D00002400C0F10802A24228BF2246D6B24146C2 +:100D1000920005EB8000FFF7AFFF95F82430A41B8D +:100D20001E44F6B2082E17449044E4B285F82460BD +:100D3000DBD1FFF725FF0028D7D108E02B6A03EBB2 +:100D400082038342CFD0FFF71BFF0028CBD10020C6 +:100D5000BDE8F8830120FBE76C230020024B1A78E2 +:100D6000024B1A70704700BF94230020102200200D +:100D700010B5104C104800F0B5F821460E4800F0B0 +:100D8000DDF82468626DD2F8043843F00203C2F83B +:100D900004384FF47A70FFF75FFF0849204600F0EF +:100DA000D3F9626DD2F8043823F00203C2F8043894 +:100DB00010BD00BF5C35000808260020643500081F +:100DC0007047000030B5094D0A4491420DD011F82A +:100DD000013B5840082340F30004013B2C4013F032 +:100DE000FF0384EA5000F6D1EFE730BD2083B8ED71 +:100DF000026843681143016003B11847704700005F +:100E000013B5446BD4F894341A681178042915D1B9 +:100E1000217C022912D11979128901238B401342B6 +:100E20000CD101A904F14C0001F0F8FED4F894446F +:100E3000019B21790246206800F0D0F902B010BD74 +:100E4000143001F07BBE00004FF0FF33143001F08E +:100E500075BE00004C3001F04DBF00004FF0FF3375 +:100E60004C3001F047BF0000143001F049BE0000D3 +:100E70004FF0FF31143001F043BE00004C3001F060 +:100E800019BF00004FF0FF324C3001F013BF0000DB +:100E90000020704710B5D0F894341A6811780429EE +:100EA000044617D1017C022914D1597952890123B2 +:100EB0008B4013420ED1143001F0DCFD024648B1E4 +:100EC000D4F894444FF4807361792068BDE81040F1 +:100ED00000F072B910BD0000406BFFF7DBBF0000EF +:100EE000704700007FB5124B036000234360C0E9E8 +:100EF0000233012502260F4B05740446029001932C +:100F000000F18402294600964FF48073143001F0FA +:100F10008DFD094B0294CDE9006304F523724FF473 +:100F20008073294604F14C0001F054FE04B070BDFA +:100F3000B0340008D90E0008010E00080B683022FA +:100F400082F311880A7903EB820290614A790932AF +:100F500043F822008A7912B103EB820398610223DD +:100F6000C0F894140374002080F3118870470000C7 +:100F700038B5037F044613B190F85430ABB9201D47 +:100F800001250221FFF734FF04F1140025776FF0EB +:100F9000010100F069FC84F8545004F14C006FF03A +:100FA0000101BDE8384000F05FBC38BD10B501213B +:100FB00004460430FFF71CFF0023237784F85430E5 +:100FC00010BD000038B504460025143001F046FD80 +:100FD00004F14C00257701F015FE201D84F85450D3 +:100FE0000121FFF705FF2046BDE83840FFF752BF5B +:100FF00090F8443003F06003202B07D190F845208F +:10100000212A4FF0000303D81F2A06D8002070477A +:10101000222AFBD1C0E90E3303E0034A8263072290 +:10102000C2630364012070471122002037B5D0F855 +:1010300094341A681178042904461AD1017C0229D3 +:1010400017D11979128901238B40134211D100F174 +:101050004C05284601F096FE58B101A9284601F03A +:10106000DDFDD4F89444019B21790246206800F00C +:10107000B5F803B030BD0000F0B500EB810385B0DA +:101080009E6904460D46FEB1302383F3118804EBBC +:101090008507301D0821FFF7ABFEFB685B691B6805 +:1010A00006F14C001BB1019001F0C6FD019803A9A7 +:1010B00001F0B4FD024648B1039B2946204600F0EA +:1010C0008DF8002383F3118805B0F0BDFB685A69E1 +:1010D0001268002AF5D01B8A013B1340F1D104F1BC +:1010E0004402EAE7093138B550F82140DCB1302339 +:1010F00083F31188D4F894241368527903EB8203A4 +:10110000DB689B695D6845B104216018FFF770FEDC +:10111000294604F1140001F0B7FC2046FFF7BAFE9F +:10112000002383F3118838BD7047000001F016B822 +:10113000012303700023C0E90133C36183620362AA +:10114000C36243620363704738B50446302383F3B8 +:1011500011880025C0E90355C0E90555416001F03B +:101160000DF80223237085F31188284638BD00004E +:1011700070B500EB810305465069DA600E461446EF +:1011800018B110220021FFF79DFDA06918B11022AF +:101190000021FFF797FD31462846BDE8704001F079 +:1011A000B7B80000826802F0011282600022C0E934 +:1011B0000422826101F038B9F0B400EB8104478960 +:1011C000E4680125A4698D403D43458123600023E7 +:1011D000A2606360F0BC01F053B90000F0B400EB12 +:1011E00081040789E468012564698D403D430581D8 +:1011F00023600023A2606360F0BC01F0CDB9000061 +:1012000070B50223002504460370C0E90255C0E909 +:101210000455C564856180F8345001F015F86368A1 +:101220001B6823B129462046BDE87040184770BDB1 +:101230000378052B10B504460AD080F850300523FA +:10124000037043681B680BB1042198470023A36017 +:1012500010BD00000178052906D190F850204368A0 +:1012600002701B6803B118477047000070B590F812 +:101270003430044613B1002380F8343004F14402C2 +:10128000204601F0F3F863689B68B3B994F84430E2 +:1012900013F0600535D00021204601F093FB0021BA +:1012A000204601F085FB63681B6813B106212046C8 +:1012B0009847062384F8343070BD204698470028AC +:1012C000E4D0B4F84A30E26B9A4288BFE36394F901 +:1012D0004430E56B002B4FF0300380F20381002D8A +:1012E00000F0F280092284F8342083F31188002171 +:1012F000D4E90E232046FFF771FF002383F3118802 +:10130000DAE794F8452003F07F0343EA022340F232 +:101310000232934200F0C58021D8B3F5807F48D0D7 +:101320000DD8012B3FD0022B00F09380002BB2D1BF +:1013300004F14C02A2630222E2632364C1E7B3F525 +:10134000817F00F09B80B3F5407FA4D194F84630B4 +:10135000012BA0D1B4F84C3043F0020332E0B3F5D6 +:10136000006F4DD017D8B3F5A06F31D0A3F5C0638F +:10137000012B90D8636894F846205E6894F8471073 +:10138000B4F848302046B047002884D04368A363AF +:101390000368E3631AE0B3F5106F36D040F60242FB +:1013A00093427FF478AF5C4BA3630223E363002393 +:1013B000C3E794F84630012B7FF46DAFB4F84C309E +:1013C00023F00203C4E90E55A4F84C30256478E7F5 +:1013D000B4F84430B3F5A06F0ED194F8463084F8D9 +:1013E0004E30204600F088FF63681B6813B101216E +:1013F00020469847032323700023C4E90E339CE75B +:1014000004F14F03A3630123C3E72378042B10D116 +:10141000302383F311882046FFF7C4FE85F311883B +:101420000321636884F84F5021701B680BB120467C +:10143000984794F84630002BDED084F84F300423D0 +:10144000237063681B68002BD6D002212046984782 +:10145000D2E794F848301D0603F00F0120460AD564 +:1014600000F0F6FF012804D002287FF414AF2B4BC4 +:101470009AE72B4B98E700F0DDFFF3E794F846304E +:10148000002B7FF408AF94F8483013F00F01B3D06D +:101490001A06204602D501F0A9FAADE701F09CFA40 +:1014A000AAE794F84630002B7FF4F5AE94F8483064 +:1014B00013F00F01A0D01B06204602D501F082FADE +:1014C0009AE701F075FA97E7142284F8342083F341 +:1014D00011882B462A4629462046FFF76DFE85F3E4 +:1014E0001188E9E65DB1152284F8342083F3118870 +:1014F0000021D4E90E232046FFF75EFEFDE60B2215 +:1015000084F8342083F311882B462A462946204646 +:10151000FFF764FEE3E700BFE0340008D8340008BA +:10152000DC34000838B590F834300446002B3ED047 +:10153000063BDAB20F2A34D80F2B32D8DFE803F09B +:1015400037313108223231313131313131313737B0 +:10155000C56BB0F84A309D4214D2C3681B8AB5FBF4 +:10156000F3F203FB12556DB9302383F311882B4638 +:101570002A462946FFF732FE85F311880A2384F8AC +:1015800034300EE0142384F83430302383F3118890 +:1015900000231A4619462046FFF70EFE002383F368 +:1015A000118838BD036C03B198470023E7E7002199 +:1015B000204601F007FA0021204601F0F9F963689E +:1015C0001B6813B10621204698470623D7E7000081 +:1015D00010B590F83430142B044629D017D8062BB8 +:1015E00005D001D81BB110BD093B022BFBD800214F +:1015F000204601F0E7F90021204601F0D9F963689F +:101600001B6813B1062120469847062319E0152BC5 +:10161000E9D10B2380F83430302383F31188002381 +:101620001A461946FFF7DAFD002383F31188DAE73B +:10163000C3689B695B68002BD5D1036C03B19847E5 +:10164000002384F83430CEE70023037582680369F1 +:101650001B6899689142FBD25A680360426010602F +:101660005860704700230375826803691B68996896 +:101670009142FBD85A68036042601060586070471E +:1016800008B50846302383F311880B7D032B05D062 +:10169000042B0DD02BB983F3118808BD8B69002270 +:1016A0001A604FF0FF338361FFF7CEFF0023F2E7AC +:1016B000D1E9003213605A60F3E70000FFF7C4BFBE +:1016C000054BD9680875186802681A6053600122D2 +:1016D0000275D860FEF716BE9823002030B50C4B7B +:1016E000DD684B1C87B004460FD02B46094A68467C +:1016F00000F04EF92046FFF7E3FF009B13B1684668 +:1017000000F050F9A86907B030BDFFF7D9FFF9E73D +:101710009823002081160008044B1A68DB68906843 +:101720009B68984294BF00200120704798230020B6 +:10173000084B10B51C68D86822681A6053600122F3 +:101740002275DC60FFF78EFF01462046BDE81040A1 +:10175000FEF7D8BD9823002038B5074C0749084844 +:10176000012300252370656001F044FB02232370F0 +:1017700085F3118838BD00BF00260020E83400083A +:101780009823002000F044B9034A516853685B1A5B +:101790009842FBD8704700BF001000E08B60022326 +:1017A00008618B82084670478368A3F1840243F87E +:1017B000142C026943F8442C426943F8402C094A2E +:1017C00043F8242CC26843F8182C022203F80C2C8E +:1017D000002203F80B2C044A43F8102CA3F120003C +:1017E000704700BF1D0300089823002008B5FFF7CD +:1017F000DBFFBDE80840FFF761BF0000024BDB687C +:1018000098610F20FFF75CBF98230020302383F3FB +:101810001188FFF7F3BF000008B50146302383F3BA +:1018200011880820FFF75AFF002383F3118808BDB1 +:10183000064BDB6839B1426818605A601360436038 +:101840000420FFF74BBF4FF0FF3070479823002074 +:101850000368984206D01A68026050609961184681 +:10186000FFF72CBF7047000038B504460D462068CE +:10187000844200D138BD036823605C608561FFF756 +:101880001DFFF4E710B503689C68A2420CD85C68A1 +:101890008A600B604C602160596099688A1A9A606E +:1018A0004FF0FF33836010BD1B68121BECE7000094 +:1018B0000A2938BF0A2170B504460D460A26601968 +:1018C00001F092FA01F07EFA041BA54203D8751CC0 +:1018D0002E460446F3E70A2E04D9BDE870400120E5 +:1018E00001F0C8BA70BD0000F8B5144B0D46D961BF +:1018F00003F1100141600A2A1969826038BF0A2287 +:10190000016048601861A818144601F05FFA0A27C0 +:1019100001F058FA431BA342064606D37C1C281943 +:1019200001F062FA27463546F2E70A2F04D9BDE8EE +:10193000F840012001F09EBAF8BD00BF98230020B6 +:10194000F8B506460D4601F03DFA0F4A134653F826 +:10195000107F9F4206D12A4601463046BDE8F84036 +:10196000FFF7C2BFD169BB68441A2C1928BF2C46A7 +:10197000A34202D92946FFF79BFF2246314603487E +:10198000BDE8F840FFF77EBF98230020A823002081 +:1019900010B4C0E9032300235DF8044B4361FFF753 +:1019A000CFBF000010B5194C236998420DD0D0E983 +:1019B0000032816813605A609A680A449A60002372 +:1019C00003604FF0FF33A36110BD2346026843F864 +:1019D000102F53600022026022699A4203D1BDE8B1 +:1019E000104001F0FBB9936881680B44936001F0EB +:1019F000E9F92269E1699268441AA242E4D91144E2 +:101A0000BDE81040091AFFF753BF00BF982300201C +:101A10002DE9F047DFF8BC8008F110072C4ED8F80C +:101A2000105001F0CFF9D8F81C40AA68031B9A4265 +:101A30003ED81444D5E900324FF00009C8F81C40E4 +:101A400013605A60C5F80090D8F81030B34201D145 +:101A500001F0C4F989F31188D5E903312846984784 +:101A6000302383F311886B69002BD8D001F0AAF9D9 +:101A70006A69A0EB04094A4582460DD2022001F0B2 +:101A8000F9F90022D8F81030B34208D1514628465F +:101A9000BDE8F047FFF728BF121A2244F2E712EB25 +:101AA000090938BF4A4629463846FFF7EBFEB5E735 +:101AB000D8F81030B34208D01444211AC8F81C00DA +:101AC000A960BDE8F047FFF7F3BEBDE8F08700BFAF +:101AD000A82300209823002000207047FEE7000084 +:101AE000704700004FF0FF307047000002290CD013 +:101AF000032904D00129074818BF00207047032A92 +:101B000005D8054800EBC200704704487047002024 +:101B1000704700BFC035000820220020743500083F +:101B200070B59AB00546084601A9144600F0C2F8FF +:101B300001A8FFF7BFF8431C5B00C5E90034002291 +:101B4000237003236370C6B201AB02341046D1B2D6 +:101B50008E4204F1020401D81AB070BD13F8011BC3 +:101B600004F8021C04F8010C0132F0E708B5302338 +:101B700083F311880348FFF759FA002383F3118890 +:101B800008BD00BF0826002090F8443003F01F0273 +:101B9000012A07D190F845200B2A03D10023C0E980 +:101BA0000E3315E003F06003202B08D1B0F8483065 +:101BB0002BB990F84520212A03D81F2A04D8FFF713 +:101BC00017BA222AEBD0FAE7034A82630722C263DC +:101BD00003640120704700BF1822002007B50529C3 +:101BE00017D8DFE801F0191603191920302383F301 +:101BF0001188104A01900121FFF7BAFA01980E4AA4 +:101C00000221FFF7B5FA0D48FFF7DCF9002383F353 +:101C1000118803B05DF804FB302383F31188074873 +:101C2000FFF7A6F9F2E7302383F311880348FFF7A3 +:101C3000BDF9EBE714350008383500080826002008 +:101C400038B50C4D0C4C0D492A4604F10800FFF73D +:101C500067FF05F1CA0204F110000949FFF760FFB0 +:101C600005F5CA7204F118000649BDE83840FFF7CF +:101C700057BF00BFD02A002020220020F4340008E3 +:101C8000FE3400080935000870B5044608460D46C4 +:101C9000FFF710F8C6B22046013403780BB9184696 +:101CA00070BD32462946FEF7F1FF0028F3D101202E +:101CB000F6E700002DE9F84F05460C46FEF7FAFF5F +:101CC0002B49C6B22846FFF7DFFF08B10536F6B24A +:101CD00028492846FFF7D8FF08B11036F6B2632E20 +:101CE0000DD8DFF88C80DFF88C90234FDFF890A0C0 +:101CF000DFF890B02E7846B92670BDE8F88F2946F7 +:101D00002046BDE8F84F01F09BBB252E2BD10722C2 +:101D100041462846FEF7BAFF58B9DBF80030236089 +:101D2000DBF804306360DBF80830A36007350C345F +:101D3000E0E7082249462846FEF7A8FF98B90F4B6E +:101D4000A21C197809090232C95D02F8041C13F8B3 +:101D5000011B01F00F015345C95D02F8031CF0D1CE +:101D600018340835C6E704F8016B0135C2E700BF37 +:101D7000E035000809350008F5350008107AFF1F26 +:101D80001C7AFF1FE8350008BFF34F8F024AD36863 +:101D9000DB03FCD4704700BF003C024008B5094B90 +:101DA0001B7873B9FFF7F0FF074B1A69002ABFBF12 +:101DB000064A5A6002F188325A601A6822F4806238 +:101DC0001A6008BD2E2D0020003C0240230167450B +:101DD00008B50B4B1B7893B9FFF7D6FF094B1A696F +:101DE00042F000421A611A6842F480521A601A687E +:101DF00022F480521A601A6842F480621A6008BDA8 +:101E00002E2D0020003C02400B28F0B516D80C4CBB +:101E10000C4923787BB90C4D0E460C234FF0006221 +:101E200055F8047B46F8042B013B13F0FF033A44BA +:101E3000F6D10123237051F82000F0BD0020FCE70B +:101E4000602D0020302D002008360008014B53F88B +:101E500020007047083600080C2070470B2810B58A +:101E6000044601D9002010BDFFF7CEFF064B53F802 +:101E700024301844C21A0BB90120F4E71268013269 +:101E8000F0D1043BF6E700BF083600080B2810B578 +:101E9000044621D8FFF778FFFFF780FF0F4AF323AE +:101EA000D360C300DBB243F4007343F00203136159 +:101EB000136943F480331361FFF766FFFFF7A4FF54 +:101EC000074B53F8241000F0D9F8FFF781FF2046A4 +:101ED000BDE81040FFF7C2BF002010BD003C02402B +:101EE00008360008F8B512F00103144642D18218F2 +:101EF000B2F1016F57D82D4B1B6813F0010352D07C +:101F00002B4DFFF74BFFF323EB60FFF73DFF40F254 +:101F10000127032C15D824F001046618244C401A1C +:101F200040F20117B142236900EB010524D123F0EF +:101F300001032361FFF74CFF0120F8BD043C04308E +:101F4000E7E78307E7D12B6923F440732B612B6903 +:101F50003B432B6151F8046B0660BFF34F8FFFF7D3 +:101F600013FF03689E42E9D02B6923F001032B6124 +:101F7000FFF72EFF0020E0E723F44073236123697D +:101F80003B4323610B882B80BFF34F8FFFF7FCFE91 +:101F90002D8831F8023BADB2AB42C3D0236923F0A8 +:101FA00001032361E4E71846C7E700BF0038024099 +:101FB000003C0240084908B50B7828B11BB9FFF76F +:101FC000EDFE01230B7008BD002BFCD0BDE80840DE +:101FD0000870FFF7FDBE00BF2E2D002010B5024493 +:101FE000064BD2B2904200D110BD441C00B253F84F +:101FF000200041F8040BE0B2F4E700BF5028004095 +:102000000F4B30B51C6F240407D41C6F44F40074CC +:102010001C671C6F44F400441C670A4C236843F49B +:10202000807323600244084BD2B2904200D130BD8D +:10203000441C00B251F8045B43F82050E0B2F4E7CE +:1020400000380240007000405028004007B50122CF +:1020500001A90020FFF7C2FF019803B05DF804FB5F +:1020600013B50446FFF7F2FFA04205D0012201A9F3 +:1020700000200194FFF7C4FF02B010BD70470000BC +:10208000034B1A681AB9034AD2F874281A607047C9 +:10209000642D00200030024008B5FFF7F1FF024B2D +:1020A0001868C0F3407008BD642D00207047000020 +:1020B000FEE700000A4B0B480B4A90420BD30B4B38 +:1020C000DA1C121AC11E22F003028B4238BF002212 +:1020D0000021FEF7F7BD53F8041B40F8041BECE7A2 +:1020E000B0370008602E0020602E0020602E0020F7 +:1020F00070B5D0E915439E6800224FF0FF3504EB20 +:1021000042135101D3F800090028BEBFD3F80009DB +:1021100040F08040C3F80009D3F8000B0028BEBF90 +:10212000D3F8000B40F08040C3F8000B0132631875 +:102130009642C3F80859C3F8085BE0D24FF0011388 +:10214000C4F81C3870BD0000890141F02001016114 +:1021500003699B06FCD41220FFF716BB10B5054C93 +:102160002046FEF7E5FF4FF0A0436365024BA365F1 +:1021700010BD00BF682D00205C36000870B50378E4 +:10218000012B054650D12A4B446D98421BD1294B57 +:102190005A6B42F080025A635A6D42F080025A65CF +:1021A0005A6D5A6942F080025A615A6922F08002DF +:1021B0005A610E2143205B6900F022FC1E4BE36054 +:1021C0001E4BC4F800380023C4F8003EC02323602F +:1021D0006E6D4FF40413A3633369002BFCDA012303 +:1021E00033610C20FFF7D0FA3369DB07FCD41220EF +:1021F000FFF7CAFA3369002BFCDA0026A6602846EE +:10220000FFF776FF6B68C4F81068DB68C4F81468E1 +:10221000C4F81C684BB90A4BA3614FF0FF336361EC +:10222000A36843F00103A36070BD064BF4E700BF51 +:10223000682D0020003802404014004003002002B6 +:10224000003C30C0083C30C0F8B5446D0546002164 +:102250002046FFF779FFA96D00234FF001128F6828 +:10226000C4F834384FF00066C4F81C284FF0FF3033 +:1022700004EB431201339F42C2F80069C2F8006BBD +:10228000C2F80809C2F8080BF2D20B686A6DEB6558 +:10229000636210231361166916F01006FBD1122039 +:1022A000FFF772FAD4F8003823F4FE63C4F800385C +:1022B000A36943F4402343F01003A3610923C4F846 +:1022C0001038C4F814380A4BEB604FF0C043C4F820 +:1022D000103B084BC4F8003BC4F81069C4F800393F +:1022E000EB6D03F1100243F48013EA65A362F8BDBD +:1022F0003836000840800010426D90F84E10D2F839 +:10230000003823F4FE6343EA0113C2F80038704733 +:102310002DE9F84300EB8103456DDA68166806F095 +:102320000306731E022B05EB41130C4680460FFA81 +:1023300081F94FEA41104FF00001C3F8101B4FF034 +:10234000010104F1100398BFB60401FA03F3916987 +:102350008EBF334E06F1805606F5004600293AD06E +:10236000578A04F15801490137436F50D5F81C18BA +:102370000B43C5F81C382B180021C3F810195369FA +:102380000127611EA7409BB3138A928B9B08012AE9 +:1023900088BF5343D8F85C20981842EA034301F100 +:1023A000400205EB8202C8F85C00214653602846D3 +:1023B000FFF7CAFE08EB8900C3681B8A43EA84530F +:1023C000483464011E432E51D5F81C381F43C5F80C +:1023D0001C78BDE8F88305EB4917D7F8001B21F4FA +:1023E0000041C7F8001BD5F81C1821EA0303C0E719 +:1023F00004F13F0305EB83030A4A5A60284621464D +:10240000FFF7A2FE05EB4910D0F8003923F4004392 +:10241000C0F80039D5F81C3823EA0707D7E700BF12 +:102420000080001000040002826D1268C265FFF790 +:102430005FBE00005831436D49015B5813F4004002 +:1024400004D013F4001F0CBF0220012070470000CD +:102450004831436D49015B5813F4004004D013F434 +:10246000001F0CBF022001207047000000EB81011B +:10247000CB68196A0B6813604B68536070470000A3 +:1024800000EB810330B5DD68AA691368D36019B920 +:10249000402B84BF402313606B8A1468426D1C4438 +:1024A000013CB4FBF3F46343033323F0030302EB77 +:1024B000411043EAC44343F0C043C0F8103B2B68CB +:1024C00003F00303012B09B20ED1D2F8083802EB56 +:1024D000411013F4807FD0F8003B14BF43F08053C9 +:1024E00043F00053C0F8003B02EB4112D2F8003B2E +:1024F00043F00443C2F8003B30BD00002DE9F04139 +:10250000244D6E6D06EB40130446D3F8087BC3F8E8 +:10251000087B38070AD5D6F81438190706D505EB15 +:1025200084032146DB6828465B689847FA071FD575 +:10253000D6F81438DB071BD505EB8403D968CCB972 +:102540008B69488A5A68B2FBF0F600FB16228AB9FA +:102550001868DA6890420DD2121AC3E900243023B9 +:1025600083F311880B482146FFF78AFF84F3118813 +:10257000BDE8F081012303FA04F26B8923EA020328 +:102580006B81CB68002BF3D021460248BDE8F041B7 +:10259000184700BF682D002000EB810370B5DD688F +:1025A000436D6C692668E6604A0156BB1A444FF4D5 +:1025B0000020C2F810092A6802F00302012A0AB2B8 +:1025C0000ED1D3F8080803EB421410F4807FD4F83E +:1025D000000914BF40F0805040F00050C4F80009DA +:1025E00003EB4212D2F8000940F00440C2F800099F +:1025F000D3F83408012202FA01F10143C3F8341878 +:1026000070BD19B9402E84BF4020206020682E8AFA +:102610008419013CB4FBF6F440EAC44040F0005099 +:102620001A44C6E72DE9F8433B4D6E6D06EB4013A7 +:102630000446D3F80889C3F8088918F0010F4FEA57 +:1026400040171AD0D6F81038DB0716D505EB8003F3 +:10265000D9684B691868DA68904230D2121A4FF084 +:1026600000091A60C3F80490302383F311882146CF +:102670002846FFF791FF89F3118818F0800F1CD0CE +:10268000D6F834380126A640334216D005EB840331 +:102690006D6DD3F80CC0DCF814200134E4B2D2F82C +:1026A00000E005EB04342F445168714515D3D5F88B +:1026B000343823EA0606C5F83468BDE8F8830123F8 +:1026C00003FA04F22B8923EA02032B818B68002B87 +:1026D000D3D0214628469847CFE7BCF81000AEEB90 +:1026E0000103834228BF0346D7F8180980B2B3EB31 +:1026F000800FE2D89068A0F1040959F8048FC4F85B +:102700000080A0EB09089844B8F1040FF5D81844EC +:102710000B4490605360C7E7682D00202DE9F74F08 +:10272000A24C656D6E69AB691E4016F480586E61EF +:1027300007D02046FEF764FD03B0BDE8F04F00F07F +:1027400047BC002E12DAD5F8003E98489B071EBF02 +:10275000D5F8003E23F00303C5F8003ED5F8043851 +:1027600023F00103C5F80438FEF774FD370505D5DD +:102770008E48FFF7BDFC8D48FEF75AFDB0040CD51E +:10278000D5F8083813F0060FEB6823F470530CBF2C +:1027900043F4105343F4A053EB6031071BD5636837 +:1027A000DB681BB9AB6923F00803AB612378052B09 +:1027B0000CD1D5F8003E7D489A071EBFD5F8003EE3 +:1027C00023F00303C5F8003EFEF744FD6368DB68B1 +:1027D0000BB176489847F30274D4B70227D5D4F8E2 +:1027E0005490DFF8C8B100274FF0010A09EB4712F7 +:1027F000D2F8003B03F44023B3F5802F11D1D2F877 +:10280000003B002B0DDA62890AFA07F322EA030380 +:10281000638104EB8703DB68DB6813B139465846F4 +:102820009847A36D01379B68FFB29F42DED9F0063F +:1028300017D5676D3A6AC2F30A1002F00F0302F46B +:10284000F012B2F5802F00F08580B2F5402F08D14C +:1028500004EB83030022DB681B6A07F58057904274 +:102860006AD13003D5F8184813D5E10302D500200A +:10287000FFF744FEA20302D50120FFF73FFE6303EA +:1028800002D50220FFF73AFE270302D50320FFF707 +:1028900035FE75037FF550AFE00702D50020FFF746 +:1028A000C1FEA10702D50120FFF7BCFE620702D5D9 +:1028B0000220FFF7B7FE23077FF53EAF0320FFF7A7 +:1028C000B1FE39E7636DDFF8E4A0019300274FF014 +:1028D0000109A36D9B685FFA87FB9B453FF67DAFBF +:1028E000019B03EB4B13D3F8001901F44021B1F520 +:1028F000802F1FD1D3F8001900291BDAD3F8001953 +:1029000041F09041C3F80019D3F800190029FBDB0E +:102910005946606DFFF718FC218909FA0BF321EA8B +:102920000303238104EB8B03DB689B6813B15946D7 +:10293000504698470137CCE7910708BFD7F8008089 +:10294000072A98BF03F8018B02F1010298BF4FEAF2 +:10295000182884E7023304EB830207F58057526896 +:10296000D2F818C0DCF80820DCE9001CA1EB0C0C44 +:10297000002188420AD104EB830463689B699A684A +:1029800002449A605A6802445A606AE711F0030FE1 +:1029900008BFD7F800808C4588BF02F8018B01F191 +:1029A000010188BF4FEA1828E3E700BF682D002027 +:1029B000436D03EB4111D1F8003B43F40013C1F820 +:1029C000003B7047436D03EB4111D1F8003943F4EC +:1029D0000013C1F800397047436D03EB4111D1F882 +:1029E000003B23F40013C1F8003B7047436D03EB39 +:1029F0004111D1F8003923F40013C1F800397047B0 +:102A000000F1604303F561430901C9B283F8001383 +:102A1000012200F01F039A4043099B0003F1604329 +:102A200003F56143C3F880211A60704730B5039CF9 +:102A30000172043304FB0325C0E90653049B0363BE +:102A40000021059BC160C0E90000C0E90422C0E983 +:102A50000842C0E90A11436330BD0000416A002208 +:102A6000C0E90411C0E90A22C2606FF00101FEF75B +:102A7000FBBE0000D0E90432934201D1C2680AB91A +:102A8000181D70470020704703691960C268013241 +:102A9000C260C269134482690361934224BF436ADE +:102AA00003610021FEF7D4BE38B504460D46E36845 +:102AB0003BB16269131D1268A3621344E3620020F4 +:102AC00007E0237A33B929462046FEF7B1FE0028F5 +:102AD000EDDA38BD6FF00100FBE70000C368C269A2 +:102AE000013BC3604369134482694361934224BF3D +:102AF000436A436100238362036B03B11847704745 +:102B000070B53023044683F31188866A3EB9FFF717 +:102B1000CBFF054618B186F31188284670BDA36A1D +:102B2000E26A13F8015BA362934202D32046FFF7E7 +:102B3000D5FF002383F31188EFE700002DE9F84F5C +:102B400004460E46174698464FF0300989F311881F +:102B50000025AA46D4F828B0BBF1000F09D14146A0 +:102B60002046FFF7A1FF20B18BF311882846BDE86E +:102B7000F88FD4E90A12A7EB050B521A934528BF28 +:102B80009346BBF1400F1BD9334601F1400251F887 +:102B9000040B43F8040B9142F9D1A36A4033403649 +:102BA000A3624035D4E90A239A4202D32046FFF7B4 +:102BB00095FF8AF31188BD42D8D289F31188C9E7FD +:102BC00030465A46FEF758F8A36A5B445E44A36257 +:102BD0005D44E7E710B5029C0172043303FB042156 +:102BE000C0E906130023C0E90A33039B0363049B77 +:102BF000C460C0E90000C0E90422C0E908424363A0 +:102C000010BD0000026AC260426AC0E904220022CC +:102C1000C0E90A226FF00101FEF726BED0E90423C5 +:102C20009A4201D1C26822B9184650F8043B0B60A1 +:102C3000704700231846FAE7C368C2690133C360CE +:102C40004369134482694361934224BF436A4361E9 +:102C50000021FEF7FDBD000038B504460D46E368CF +:102C60003BB123691A1DA262E2691344E3620020AA +:102C700007E0237A33B929462046FEF7D9FD00281C +:102C8000EDDA38BD6FF00100FBE700000369196061 +:102C9000C268013AC260C269134482690361934207 +:102CA00024BF436A036100238362036B03B11847A7 +:102CB0007047000070B530230D460446114683F37B +:102CC0001188866A2EB9FFF7C7FF10B186F3118805 +:102CD00070BDA36A1D70A36AE26A01339342A362C6 +:102CE00004D3E16920460439FFF7D0FF002080F3C8 +:102CF0001188EDE72DE9F84F04460D4690469946B8 +:102D00004FF0300A8AF311880026B346A76A4FB9FC +:102D100049462046FFF7A0FF20B187F311883046CF +:102D2000BDE8F88FD4E90A073A1AA8EB06079742DC +:102D300028BF1746402F1BD905F1400355F8042B37 +:102D400040F8042B9D42F9D1A36A4033A362403678 +:102D5000D4E90A239A4204D3E16920460439FFF7F3 +:102D600095FF8BF311884645D9D28AF31188CDE7B8 +:102D700029463A46FDF780FFA36A3B443D44A362DF +:102D80003E44E5E7D0E904239A4217D1C3689BB1DA +:102D9000836A8BB1043B9B1A0ED01360C368013B5E +:102DA000C360C3691A44836902619A4224BF436ABB +:102DB0000361002383620123184670470023FBE769 +:102DC00000F030B94FF08043586A70474FF08043AD +:102DD000002258631A610222DA6070474FF0804384 +:102DE0000022DA60704700004FF08043586370475C +:102DF000FEE7000070B51B4B01630025044686B05A +:102E0000586085620E4600F0BFF804F11003C4E973 +:102E100004334FF0FF33C4E90635C4E90044A5602C +:102E2000E562FFF7CFFF2B460246C4E9082304F111 +:102E300034010D4A256580232046FEF7AFFC0123AF +:102E4000E0600A4A0375009272680192B268CDE9A7 +:102E50000223074B6846CDE90435FEF7C7FC06B0F0 +:102E600070BD00BF00260020683600086D360008DF +:102E7000F12D0008024AD36A1843D062704700BFA0 +:102E8000982300204B6843608B688360CB68C360E5 +:102E90000B6943614B6903628B6943620B68036092 +:102EA0007047000008B5264B26481A6940F2FF110A +:102EB0000A431A611A6922F4FF7222F001021A61B0 +:102EC0001A691A6B0A431A631A6D0A431A651E4A75 +:102ED0001B6D1146FFF7D6FF02F11C0100F5806063 +:102EE000FFF7D0FF02F1380100F58060FFF7CAFF5D +:102EF00002F1540100F58060FFF7C4FF02F1700198 +:102F000000F58060FFF7BEFF02F18C0100F58060E4 +:102F1000FFF7B8FF02F1A80100F58060FFF7B2FFEC +:102F200002F1C40100F58060FFF7ACFF02F1E0019F +:102F300000F58060FFF7A6FFBDE8084000F0EEB89E +:102F400000380240000002407436000808B500F066 +:102F500059FAFEF701FCFFF793F8BDE80840FEF7C9 +:102F60006FBE000070470000EFF3098305494A6B0C +:102F700022F001024A63683383F30988002383F354 +:102F80001188704700EF00E0302080F3118862B6AE +:102F90000C4B0D4AD96821F4E0610904090C0A437D +:102FA000DA60D3F8FC20094942F08072C3F8FC20B3 +:102FB0000A6842F001020A602022DA7783F82200D0 +:102FC000704700BF00ED00E00003FA05001000E0CC +:102FD00010B5302383F311880E4B5B6813F4006344 +:102FE00014D0F1EE103AEFF30984683C4FF080738F +:102FF000E361094BDB6B236684F30988FEF78CFBE6 +:1030000010B1064BA36110BD054BFBE783F311889C +:10301000F9E700BF00ED00E000EF00E02F0300083B +:10302000320300080F4B1A6C42F001021A641A6E48 +:1030300042F001021A660C4A1B6E936843F00103CA +:1030400093604FF0804353229A624FF0FF32DA626E +:1030500000229A615A63DA605A6001225A611A604A +:10306000704700BF00380240002004E04FF080426B +:1030700008B51169D3680B40D9B2C9439B071161E8 +:1030800007D5302383F31188FEF77CFB002383F3FD +:10309000118808BD1F4B1A696FEAC2526FEAD252FB +:1030A0001A611A69C2F308021A614FF0FF301A69F7 +:1030B0005A69586100215A6959615A691A6A62F05D +:1030C00080521A621A6A02F080521A621A6A5A6AA6 +:1030D00058625A6A59625A6A1A6C42F080521A64EB +:1030E0001A6E42F080521A661A6E0B4A106840F44B +:1030F00080701060186F00F44070B0F5007F1EBF44 +:103100004FF4803018671967536823F400735360D5 +:1031100000F054B90038024000700040334B4FF0CB +:1031200080521A64324A4FF4404111601A6842F0EA +:1031300001021A601A689107FCD59A6822F003020E +:103140009A602A4B9A6812F00C02FBD1196801F0C0 +:10315000F90119609A601A6842F480321A601A689C +:103160009203FCD55A6F42F001025A671F4B5A6F07 +:103170009007FCD51F4A5A601A6842F080721A60A4 +:103180001B4A53685904FCD5184B1A689201FCD5A8 +:10319000194A9A60194B1A68194B9A42194B21D156 +:1031A000194A1168194A91421CD140F205121A605D +:1031B000144A136803F00F03052BFAD10B4B9A68DE +:1031C00042F002029A609A6802F00C02082AFAD1D0 +:1031D0005A6C42F480425A645A6E42F480425A66F3 +:1031E0005B6E704740F20572E1E700BF00380240B5 +:1031F000007000400854400700948838002004E024 +:1032000011640020003C024000ED00E041C20F418B +:10321000074A08B5536903F00103536123B1054A16 +:1032200013680BB150689847BDE80840FFF7D0BE5F +:10323000003C0140E02D0020074A08B5536903F027 +:103240000203536123B1054A93680BB1D0689847D4 +:10325000BDE80840FFF7BCBE003C0140E02D002067 +:10326000074A08B5536903F00403536123B1054AC3 +:1032700013690BB150699847BDE80840FFF7A8BE35 +:10328000003C0140E02D0020074A08B5536903F0D7 +:103290000803536123B1054A93690BB1D06998477C +:1032A000BDE80840FFF794BE003C0140E02D00203F +:1032B000074A08B5536903F01003536123B1054A67 +:1032C000136A0BB1506A9847BDE80840FFF780BE0B +:1032D000003C0140E02D0020164B10B55C6904F461 +:1032E00078725A61A30604D5134A936A0BB1D06A67 +:1032F0009847600604D5104A136B0BB1506B984782 +:10330000210604D50C4A936B0BB1D06B9847E205AC +:1033100004D5094A136C0BB1506C9847A30504D52A +:10332000054A936C0BB1D06C9847BDE81040FFF78D +:103330004FBE00BF003C0140E02D0020194B10B5EE +:103340005C6904F47C425A61620504D5164A136D27 +:103350000BB1506D9847230504D5134A936D0BB1FB +:10336000D06D9847E00404D50F4A136E0BB1506E30 +:103370009847A10404D50C4A936E0BB1D06E9847C0 +:10338000620404D5084A136F0BB1506F98472304A9 +:1033900004D5054A936F0BB1D06F9847BDE8104034 +:1033A000FFF716BE003C0140E02D002008B5FFF7F6 +:1033B0005DFEBDE80840FFF70BBE0000062108B522 +:1033C0000846FFF71DFB06210720FFF719FB062122 +:1033D0000820FFF715FB06210920FFF711FB062146 +:1033E0000A20FFF70DFB06211720FFF709FB062136 +:1033F0002820FFF705FBBDE8084007211C20FFF748 +:10340000FFBA000008B5FFF745FE00F00BF8FDF726 +:103410008DFEFDF765FDFFF7A5FDBDE80840FFF750 +:10342000CFBC00000023054A19460133102BC2E926 +:10343000001102F10802F8D1704700BFE02D002012 +:10344000034611F8012B03F8012B002AF9D170472C +:1034500053544D3332463F3F3F0053544D33324671 +:103460003430780053544D3332463432780053545C +:103470004D333246343436585800000001203300B2 +:103480000010410001105A000310590007103100CC +:103490000000000050340008130400005A340008F3 +:1034A0001904000064340008210400006E34000890 +:1034B000000000005D0E0008490E0008850E00089F +:1034C000710E00087D0E0008690E0008550E0008F8 +:1034D000410E0008910E00080000000001000000ED +:1034E0000000000063300000E4340008F0230020F6 +:1034F000002600204172647550696C6F740025428B +:103500004F415244252D424C002553455249414CD0 +:1035100025000000020000000000000079100008F3 +:10352000E510000840004000A02A0020B02A00203A +:103530000200000000000000030000000000000086 +:10354000291100080000000010000000C02A00201F +:10355000000000000100000000000000682D0020B5 +:1035600001010200DD1B0008ED1A0008891B00089C +:103570006D1B0008430000007C3500080902430071 +:10358000020100C03209040000010202010005240A +:103590000010010524010001042402020524060094 +:1035A00001070582030800FF09040100020A000068 +:1035B00000070501024000000705810240000000ED +:1035C00012000000C835000812011001020000407E +:1035D000091241570002010203010000040309041B +:1035E00025424F415244250042657461666C69670B +:1035F0006874463400303132333435363738394127 +:1036000042434445460000000040000000400000E6 +:103610000040000000400000000001000000020027 +:103620000000020000000200000002000000020092 +:103630000000020000000200000000006D120008FF +:1036400025150008D115000840004000C82D0020B5 +:10365000C82D002001000000D82D002080000000AF +:1036600040010000030000006D61696E0069646C38 +:10367000650000000001806A00000000AAAAAAAA52 +:1036800000010064FFFF00000000000000A00A002D +:103690000004000100000000AAAAAAAA000000017C +:1036A000DFFF00000000000000000000000000003C +:1036B00000000000AAAAAAAA00000000FFFF000064 +:1036C00000000000000000000000000000000000FA +:1036D000AAAAAAAA00000000FFFF00000000000044 +:1036E000000000000000000000000000AAAAAAAA32 +:1036F00000000000FFFF00000000000000000000CC +:103700000000000000000000AAAAAAAA0000000011 +:10371000FFFF0000000000000000000000000000AB +:1037200000000000AAAAAAAA00000000FFFF0000F3 +:103730000000000000000000000000000000000089 +:103740000A0000000000000003000000000000006C +:103750000000000000000000000000000000000069 +:103760000000000000000000000000000000000059 +:10377000990400000000000000400F00000000005D +:10378000FF009600000000080096000000000800FE +:1037900004000000DC35000800000000000000000C +:1037A0000000000000000000000000000000000019 +:00000001FF diff --git a/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/CrazyF405HD_pinout.jpg b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/CrazyF405HD_pinout.jpg new file mode 100644 index 0000000000000..1bb3aecbf73d7 Binary files /dev/null and b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/CrazyF405HD_pinout.jpg differ diff --git a/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/README.md b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/README.md new file mode 100644 index 0000000000000..748af77f1e25d --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/README.md @@ -0,0 +1,73 @@ +# CrazyF405HD ELRS 1-2SAIO Flight Controller + +The CrazyF405HD ELRS 1-2S AIO is a flight controller produced by [Happymodel](https://www.happymodel.cn/index.php/2023/05/26/crazyf405hd-elrs-1-2s-aio-fc-built-in-uart-elrs-receiver-and-12a-blheli_s-esc/.) + +## Features + + - MCU: STM32F405RGT6, 168MHz + - Gyro: BMI270 (SPI) + - 1Mb Onboard Flash + - BEC output: 5V, 2A@4V + - Barometer: BMP280 + - OSD: + - 3 UARTS: (UART1, UART2 ,UART6) + - 5 PWM outputs (4 motor outputs used internally for integrated 4-in-1 ESC and 1 integrated LED) + - Integrated 4-in-1 BlueJay ESC + - Firmware target: BetaflightF4 + +## Pinout + +![CrazyF405HD ELRS 1-2S AIO Board](CrazyF405HD_pinout.jpg "CrazyF405HD ELRS 1-2S AIO") + +## UART Mapping + +The UARTs are marked Rn and Tn in the above pinouts. The Rn pin is the +receive pin for UARTn. The Tn pin is the transmit pin for UARTn. +|Name|Pin|Function| +|:-|:-|:-| +|SERIAL0|COMPUTER|USB| +|SERIAL1|RX1/TX1|UART1 ( DMA-enabled)| +|SERIAL2|TX2/RX2|UART2 (ELRS, internal) +|SERIAL6|RX6|UART6 (DMA-disabled)| + +## RC Input + +RC input is configured on the on-board ELRS on UART2 or through (UART2_RX/UART2_TX) pins. It supports all serial RC protocols. + +## OSD Support +The CrazyF405HDAIO is optimized for Digital HD FPV and does not require the analog OSD chip (MAX7456); OSD data is transmitted via MSP to the digital VTX. + +## PWM Output + +The Carzyf405HD AIO has 4 PWM outputs internally connected to its 4-in-1 ESC. The pads for motor output are M1 to M4 on the board. All 4 outputs support bi-directional DShot and DShot, as well as all PWM types. The default configuration is for DShot using the already installed BlueJay firmware. + + +## Battery Monitoring + +The board has a builtin voltage sensor and a current sensor input tied to its 4 in 1 ESC current sensor. The voltage sensor can handle up to 2S +LiPo/Li-Hv batteries. + +The correct battery setting parameters are: + + - BATT_MONITOR 4 + - BATT_VOLT_PIN 12 + - BATT_VOLT_MULT 10.9 + - BATT_CURR_PIN 13 + - BATT_CURR_MULT 50 + +These are set by default in the firmware and shouldn't need to be adjusted + +## Compass + +The BETAFPV F405 AIO does not have a builtin compass. + + +## Loading Firmware + +Initial firmware load can be done with DFU by plugging in USB with the +bootloader button pressed. Then you should load the "with_bl.hex" +firmware, using your favourite DFU loading tool. + +Once the initial firmware is loaded you can update the firmware using +any ArduPilot ground station software. Updates should be done with the +*.apj firmware files. diff --git a/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/defaults.parm b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/defaults.parm new file mode 100644 index 0000000000000..f02dfea013eb2 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/defaults.parm @@ -0,0 +1,5 @@ +# Bluejay installed by default +SERVO_BLH_AUTO 1 +SERVO_BLH_BDMASK 15 +SERVO_DSHOT_ESC 2 +MOT_PWM_TYPE 6 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/hwdef-bl.dat new file mode 100644 index 0000000000000..c0b6a31c25946 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/hwdef-bl.dat @@ -0,0 +1,43 @@ + +# hw definition file for processing by chibios_hwdef.py +# for BETAFLIGHTF4 hardware. +# thanks to betaflight for pin information + +# MCU class and specific type +MCU STM32F4xx STM32F405xx + +# board ID for firmware load +APJ_BOARD_ID 1177 + +# crystal frequency, setup to use external oscillator +OSCILLATOR_HZ 8000000 + +FLASH_SIZE_KB 1024 + +# bootloader starts at zero offset +FLASH_RESERVE_START_KB 0 + +# the location where the bootloader will put the firmware +FLASH_BOOTLOADER_LOAD_KB 48 + +# order of UARTs (and USB) +SERIAL_ORDER OTG1 + +# PA10 IO-debug-console +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +PA13 JTMS-SWDIO SWD +PA14 JTCK-SWCLK SWD + +# default to all pins low to avoid ESD issues +DEFAULTGPIO OUTPUT LOW PULLDOWN + + +# Chip select pins +PA15 FLASH1_CS CS +PB12 OSD1_CS CS +PA4 GYRO1_CS CS + +PB5 LED_BOOTLOADER OUTPUT LOW +define HAL_LED_ON 0 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/hwdef.dat new file mode 100644 index 0000000000000..6371049362647 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/BetaflightF4/hwdef.dat @@ -0,0 +1,134 @@ + +# hw definition file for processing by chibios_hwdef.py +# for BETAFLIGHTF4 hardware. +# thanks to betaflight for pin information + +# MCU class and specific type +MCU STM32F4xx STM32F405xx + +# board ID for firmware load +APJ_BOARD_ID 1177 + +# crystal frequency, setup to use external oscillator +OSCILLATOR_HZ 8000000 + +FLASH_SIZE_KB 1024 + +# bootloader takes first sector +FLASH_RESERVE_START_KB 48 + +define HAL_STORAGE_SIZE 16384 +define STORAGE_FLASH_PAGE 1 + +STM32_ST_USE_TIMER 5 + +# SPI devices + +# SPI1 +PA5 SPI1_SCK SPI1 +PA6 SPI1_MISO SPI1 +PA7 SPI1_MOSI SPI1 + +# SPI2 +PB13 SPI2_SCK SPI2 +PB14 SPI2_MISO SPI2 +PB15 SPI2_MOSI SPI2 + +# SPI3 +PC10 SPI3_SCK SPI3 +PC11 SPI3_MISO SPI3 +PC12 SPI3_MOSI SPI3 + +# Chip select pins +PA15 FLASH1_CS CS +PB12 OSD_CS CS +PA4 GYRO1_CS CS + +# Beeper +PB4 BUZZER OUTPUT GPIO(80) LOW +define HAL_BUZZER_PIN 80 + +# SERIAL ports +SERIAL_ORDER OTG1 USART1 USART2 EMPTY EMPTY USART6 +# PA10 IO-debug-console +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +# USART1 +PA10 USART1_RX USART1 +PA9 USART1_TX USART1 + +# USART2 +PA2 USART2_TX USART2 +PA3 USART2_RX USART2 + + +# USART6 +PC6 USART6_TX USART6 NODMA +PC7 USART6_RX USART6 NODMA + +# I2C ports +I2C_ORDER I2C2 + +# I2C2 +PB10 I2C2_SCL I2C2 +PB11 I2C2_SDA I2C2 + + +# ADC ports + +# ADC1 +PC1 BATT_CURRENT_SENS ADC1 SCALE(1) +define HAL_BATT_CURR_PIN 11 +define HAL_BATT_CURR_SCALE 25.0 +PC2 BATT_VOLTAGE_SENS ADC1 SCALE(1) +define HAL_BATT_VOLT_PIN 12 +define HAL_BATT_VOLT_SCALE 11.0 +define HAL_BATT_MONITOR_DEFAULT 4 + +# MOTORS +PB0 TIM3_CH3 TIM3 PWM(1) GPIO(50) # M1 +PB1 TIM3_CH4 TIM3 PWM(2) GPIO(51) # M2 +PC9 TIM8_CH4 TIM8 PWM(3) GPIO(52) # M3 +PC8 TIM8_CH3 TIM8 PWM(4) GPIO(53) # M4 +PB6 TIM4_CH1 TIM4 PWM(5) GPIO(54) # M5 + +# LEDs + +PB5 LED0 OUTPUT LOW GPIO(90) +define HAL_GPIO_A_LED_PIN 90 + + +# Dataflash setup +SPIDEV dataflash SPI3 DEVID1 FLASH1_CS MODE3 104*MHZ 104*MHZ + +define HAL_LOGGING_DATAFLASH_ENABLED 1 + +# OSD setup +SPIDEV osd SPI2 DEVID1 OSD_CS MODE0 10*MHZ 10*MHZ + + +define HAL_OSD_TYPE_DEFAULT 1 +ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin + +# IMU setup +SPIDEV bmi270 SPI1 DEVID1 GYRO1_CS MODE3 2*MHZ 10*MHZ +IMU BMI270 SPI:bmi270 ROTATION_NONE +DMA_NOSHARE TIM3_UP TIM8_UP TIM4_UP SPI1* +DMA_PRIORITY TIM3_UP TIM8_UP TIM4_UP SPI1* + +# Baro Setup +BARO BMP280 I2C:0:0x76 + +# no built-in compass, but probe the i2c bus for all possible +# external compass types +define ALLOW_ARM_NO_COMPASS +define HAL_PROBE_EXTERNAL_I2C_COMPASSES +define HAL_I2C_INTERNAL_MASK 0 +define HAL_COMPASS_AUTO_ROT_DEFAULT 2 +define HAL_DEFAULT_INS_FAST_SAMPLE 3 +# Motor order implies Betaflight/X for standard ESCs +define HAL_FRAME_TYPE_DEFAULT 12 + +include ../include/minimize_common.inc +AUTOBUILD_TARGETS Copter \ No newline at end of file diff --git a/modules/DroneCAN/DSDL b/modules/DroneCAN/DSDL index 0856687a5acb4..30d02e17c5292 160000 --- a/modules/DroneCAN/DSDL +++ b/modules/DroneCAN/DSDL @@ -1 +1 @@ -Subproject commit 0856687a5acb42b55d29bbad8f4fc9e19b4989fc +Subproject commit 30d02e17c52920b4f4c5a93857c1bb9b5fa3f325 diff --git a/modules/DroneCAN/dronecan_dsdlc b/modules/DroneCAN/dronecan_dsdlc index 43d8a9ed909e1..d71b61083d5c8 160000 --- a/modules/DroneCAN/dronecan_dsdlc +++ b/modules/DroneCAN/dronecan_dsdlc @@ -1 +1 @@ -Subproject commit 43d8a9ed909e18f169c001a0f418edc72269b36b +Subproject commit d71b61083d5c8844a8bf97b7fd2e47803e1b6958 diff --git a/modules/DroneCAN/pydronecan b/modules/DroneCAN/pydronecan index 1f494e9a56ac9..19ac176d6c9d0 160000 --- a/modules/DroneCAN/pydronecan +++ b/modules/DroneCAN/pydronecan @@ -1 +1 @@ -Subproject commit 1f494e9a56ac9930f1e11c2f453789414b10d54e +Subproject commit 19ac176d6c9d00f47c9ed7f99c84e58d8d3d9ec8 diff --git a/modules/gbenchmark b/modules/gbenchmark index d572f4777349d..62a321d6dc377 160000 --- a/modules/gbenchmark +++ b/modules/gbenchmark @@ -1 +1 @@ -Subproject commit d572f4777349d43653b21d6c2fc63020ab326db2 +Subproject commit 62a321d6dc377e0ba9c712b6a8d64360616de564 diff --git a/modules/gtest b/modules/gtest index c5fed93f94186..13206d6f53aaf 160000 --- a/modules/gtest +++ b/modules/gtest @@ -1 +1 @@ -Subproject commit c5fed93f941865a0e912e9baf46ded713506590a +Subproject commit 13206d6f53aaff844f2d3595a01ac83a29e383db diff --git a/modules/lwip b/modules/lwip index 143a6a5cb8023..029d8982bfdca 160000 --- a/modules/lwip +++ b/modules/lwip @@ -1 +1 @@ -Subproject commit 143a6a5cb8023921b5dced55c30551ffb752b640 +Subproject commit 029d8982bfdcae08b73e7fea07ba3d7cd2cefeaa