浏览代码

Теперь WDT работает правильно. Изменил логику LED индикации входного сигнала.

TelenkovDmitry 1 年之前
父节点
当前提交
3700e4b972
共有 9 个文件被更改,包括 1256 次插入1268 次删除
  1. 331 338
      bin/drone.hex
  2. 282 282
      libs/stm32/drivers/src/stm32f0xx_hal_iwdg.c
  3. 16 17
      modules/logic.c
  4. 4 1
      modules/pwm_in.c
  5. 二进制
      output/drone.bin
  6. 331 338
      output/drone.hex
  7. 289 289
      project/ewarm/drone.dep
  8. 2 2
      project/settings/drone.wsdt
  9. 1 1
      user/main.c

+ 331 - 338
bin/drone.hex

@@ -1,15 +1,15 @@
 :020000040800F2
-:100000008805002061200008712000087520000884
+:1000000078050020E91F0008F91F0008FD1F0008FF
 :1000100000000000000000000000000000000000E0
-:10002000000000000000000000000000792000082F
-:1000300000000000000000007B200008D51D000823
-:10004000D31800080000000033190008FF1A000848
-:10005000071F0008971F00080F2000081B2000083A
-:100060000000000095200008972000089920000853
-:100070009B2000089D2000089F2000080000000031
-:100080005D0D00080000000000000000A120000835
-:1000900000000000A3200008A5200008A7200008F9
-:1000A00000000000A920000800000000AB200008AC
+:1000200000000000000000000000000001200008A7
+:100030000000000000000000032000085D1D000813
+:10004000EB180008000000004B190008171B0008FF
+:100050008F1E00081F1F0008971F0008A31F00081D
+:10006000000000001D2000081F20000821200008BB
+:100070002320000825200008272000080000000099
+:100080005D0D0008000000000000000029200008AD
+:10009000000000002B2000082D2000082F20000861
+:1000A000000000003120000800000000332000089C
 :1000B00010B50400002C01D1012026E03D20205C79
 :1000C000002805D100203C216054200000F0DAFD1A
 :1000D00002203D216054211D206800F08BFB01208F
@@ -63,30 +63,30 @@
 :1003D0000069304000281CD02068C06830400028E8
 :1003E00017D00220C04321680861012020772068CF
 :1003F00080698007800F002803D0200000F0B3FC44
-:1004000005E0200000F01AFD200000F018FD00209B
+:1004000005E0200000F026FD200000F024FD002083
 :100410002077042520680069284000281CD0206827
 :10042000C0682840002817D00420C0432168086114
 :10043000267720688069C02189000140002903D007
-:10044000200000F090FC05E0200000F0F7FC200008
-:1004500000F0F5FC00202077082620680069304075
+:10044000200000F090FC05E0200000F003FD2000FB
+:1004500000F001FD00202077082620680069304068
 :1004600000281BD02068C0683040002816D0082023
 :10047000C0432168086125772068C0698007800F24
 :10048000002803D0200000F06EFC05E0200000F002
-:10049000D5FC200000F0D3FC00202077102021683C
+:10049000E1FC200000F0DFFC002020771020216824
 :1004A0000969014000291CD02168C968084000285A
 :1004B00017D01020C0432168086126772068C069E2
 :1004C000C02189000140002903D0200000F04BFC2E
-:1004D00005E0200000F0B2FC200000F0B0FC00209D
+:1004D00005E0200000F0BEFC200000F0BCFC002085
 :1004E0002077012021680969014000290BD021688B
 :1004F000C9680840002806D00120C043216808616F
-:10050000200000F09DFC802021680969014000293D
+:10050000200000F0A9FC8020216809690140002931
 :100510000BD02168C9680840002806D08020C0435D
-:1005200021680861200000F08CFC402021680969E6
+:1005200021680861200000F098FC402021680969DA
 :10053000014000290BD02168C9680840002806D076
-:100540004020C04321680861200000F07BFC20208F
+:100540004020C04321680861200000F087FC202083
 :1005500021680969014000290BD02168C968084059
 :10056000002806D02020C04321680861200000F048
-:100570006AFC70BDF8B504000D00170000263000BD
+:1005700076FC70BDF8B504000D00170000263000B1
 :10058000694608703C20205C012801D102205EE011
 :1005900001203C216054002F12D1EB686A68296861
 :1005A000206800F08CFA206880690C21884321685B
@@ -200,327 +200,320 @@
 :100C600070B41F2301240D001D40AC40056AA5434C
 :100C70000562056A0E00334016009E402E43066250
 :100C800070BC704770477047F8B586B0802080020E
-:100C90005A490A6802430A600968084000900098AF
-:100CA00002275748016839430160006838400090C6
+:100C900060490A6802430A600968084000900098A9
+:100CA00002275D48016839430160006838400090C0
 :100CB00000984020019002970120039003200490A7
-:100CC0000120059001A99020C00500F0BDF8012287
-:100CD0000021102000F03FFA102000F046FA494CA5
-:100CE000494E00F086FD494900F09CFD2100401866
-:100CF0003080474D47482860EC60308868600024A9
-:100D00002C61AC606C61AC612800FFF773FA424E55
+:100CC0000120059001A99020C00500F0C9F801227B
+:100CD0000021102000F04BFA102000F052FA4F4C87
+:100CE0004F4E00F092FD4F4900F0A8FD2100401842
+:100CF00030804D4D4D482860EC603088686000249D
+:100D00002C61AC606C61AC612800FFF773FA484E4F
 :100D1000B460F4603460012070600022310028006B
 :100D2000FFF728FC37607760042231002800FFF7C6
-:100D300021FC3A4904200860502048608C60CC6057
+:100D300021FC404904200860502048608C60CC6051
 :100D40000C612800FFF706FD00212800FFF780FA5C
-:100D500004212800FFF77CFA07B0F0BD80B52C48CD
-:100D6000FFF732FB01BD38B50400207F012835D1E3
-:100D70002B4D00212000FFF71FFD28602868002868
-:100D800027D02248296800F04DFD27490860254DED
-:100D900004212000FFF710FD2860286823498842BD
-:100DA00004D323480178491C017005E000200100AC
-:100DB000204A11701E4908701D48007810280DD176
-:100DC0001C480178002909D1012101701A480170DD
-:100DD00004E00020134908601349086031BD00B5E4
-:100DE00015480078002801D0012000E00020C0B2A2
-:100DF00000BD114908707047000000001410024047
-:100E00001C100240FFFF00007801002040420F004C
-:100E10008400002000040040540100203001002024
-:100E200064010020680100206C01002041060000E0
-:100E300081010020800100207F0100207047704761
-:100E40007047704770477047F1B582B0002308685B
-:100E5000D840002800D1F3E00124086825009D4017
-:100E6000054001950198002800D1E7E00325486876
-:100E70002840012803D04868284002281ED1029843
-:100E800086681F00022047432800B8408643CF6889
-:100E9000BC461800022778436746874037430298CC
-:100EA0008760029846682000984086434868000999
-:100EB0002040984030430200029842604868284031
-:100EC000032812D00298C6681F000220474328005A
-:100ED000B84086438F68BC461800022778436746AF
-:100EE000874037433A000298C26048682840022889
-:100EF00021D10298DE0804277E438019076A072063
-:100F000000970F26B4461F00074004267743664625
-:100F1000BE40009FB743BC460E691F0038400427FF
-:100F20007843864067463E4332000298DE08042735
-:100F30007E4380190262029806681F000220474320
-:100F40002800B84086434F682F40BC46180002274F
-:100F500078436746874037433A0002980260486802
-:100F6000C026B6020640002E68D03C4806682643DC
-:100F700006600068204000900098394E98080427C9
-:100F80007843305800900F27BC461F002800384097
-:100F900004277843674687400098B843009002983A
-:100FA0009027FF05B84201D1002410E002982D4A95
-:100FB00090420CD002982C4A904201D1022406E0C3
-:100FC00002982A4A904201D12C0000E005240098A2
-:100FD0001A00154004225543AC40044398080422EB
-:100FE00050433450224A1068019DA8434D68ED02D9
-:100FF00002D504000198204310601E4C2268019D18
-:10100000AA434D68AD0202D51000019A0243226046
-:10101000194C2068019DA8434D68AD0302D502001C
-:10102000019810432060154C2268019DAA434D6829
-:10103000ED0302D51000019A024322605B1C06E713
-:10104000F7BD00B51300DBB2002B03D00B009BB241
-:10105000836102E00B009BB2836200BD1810024066
-:10106000080001400004004800080048000C004847
-:10107000080401400C040140040401400004014044
-:1010800000B5010049B2002905D40121C206D20EE3
-:1010900091403C4A116000BDF0B5020052B2002AF6
-:1010A0001CD40322384B040064B2A40804256C430A
-:1010B0001C59FF251600064008277E43B540AC4367
-:1010C0008D01EDB20240082672439540254302008F
-:1010D00052B29208042462439D5022E00F242B4A0E
-:1010E000032305006DB22540083DAD080426754375
-:1010F000060076B23440083CA4080426744316590E
-:10110000FF27BC461C00044008277C436746A740D5
-:10111000BE438C01E4B2034008277B439C40344328
-:101120005451F0BD10B50400601E8021490488426E
-:1011300001D301200EE0601E154908600321002044
-:10114000C043FFF7A9FF0020124908600720124999
-:101150000860002010BD70B505000C0016002100CD
-:10116000280040B2FFF798FF70BD10B504002000C2
-:1011700040B2FFF785FF10BD10B504002000FFF757
-:10118000D1FF10BD00E100E000E400E01CED00E054
-:1011900014E000E018E000E010E000E0F8B584B0F2
-:1011A0000400002C01D101204AE22078C00766D556
-:1011B0000C20B4490A680240042A09D00A68104089
-:1011C00008280ED18020400209680140814208D1E0
-:1011D000AD480068800352D5606800284FD10120D7
-:1011E0002EE26068012806D1A748016880225202D9
-:1011F0000A43026024E06068002809D1A24801681F
-:10120000A24A0A4002600168A14A0A40026017E04F
-:10121000606805280BD19C4801688022D2020A43ED
-:1012200002600168802252020A43026008E0964888
-:101230000168964A0A4002600168954A0A400260C5
-:10124000606800280DD000F045FB05008E4800685E
-:10125000800314D400F03EFB401B6528F6D3032026
-:10126000EEE100F037FB050087480068800306D5F3
-:1012700000F030FB401B6528F6D30320E0E1022696
-:101280002068304000284FD00C207E490A68024078
-:10129000002A06D00A681040082814D10868C00344
-:1012A00011D4794801683140002904D0E16801294E
-:1012B00001D00120C4E10168F82291432269D200E3
-:1012C0000A43026030E0E06800281AD06E4F3868A8
-:1012D00001210143396000F0FDFA05003868304013
-:1012E000002806D100F0F6FA401B0328F6D30320AD
-:1012F000A6E13868F82188432169C90001433960B3
-:1013000012E0614F386801218843386000F0E2FA4A
-:10131000050038683040002806D000F0DBFA401B9A
-:101320000328F6D303208BE12078000728D5E06955
-:10133000002812D0C34F386801210143396000F002
-:10134000C9FA050038683040002819D100F0C2FA07
-:10135000401B0328F6D3032072E1BA4F38680121FD
-:101360008843386000F0B6FA05003868304000283D
-:1013700006D000F0AFFA401B0328F6D303205FE14C
-:10138000042720683840002800D18CE000206946FE
-:10139000087080204005AC490968014000290AD145
-:1013A000A9490A6802430A60096808400390039843
-:1013B000012069460870A5480068C00514D4A348F8
-:1013C0000068802149000143A048016000F082FAD2
-:1013D00005009E480068C00506D400F07BFA401B5B
-:1013E0006528F6D303202BE1A068012805D1984891
-:1013F000016801220A43026021E0A068002809D1A7
-:1014000093480168012291430160016804229143DD
-:10141000016014E0A068052808D18D4801683943AF
-:101420000160016801220A43026008E088480168FF
-:101430000122914301600168042291430160A06888
-:1014400000280FD000F046FA0500814800683040BF
-:1014500000281FD100F03EFA401B7E498842F4D399
-:101460000320EDE000F036FA0500794800683040CE
-:1014700000280FD000F02EFA401B76498842F4D3A2
-:101480000320DDE00410024000100240FFFFFEFFD9
-:10149000FFFFFBFF68460078012804D16A48016815
-:1014A0006D4A0A4002602078C00650D56069012864
-:1014B00022D1B44800680743B2480760B1480068C9
-:1014C00001210143AF48016000F004FA0500AD4876
-:1014D00000683040002806D100F0FCF9401B0328CA
-:1014E000F5D30320ACE0A7480168F8229143A26934
-:1014F000D2000A4302602AE00421C943606988429D
-:101500000BD1A0480268114001600168F8229143A4
-:10151000A269D2000A43026019E09A4800680743B2
-:1015200098480760974800680121884395490860FA
-:1015300000F0D0F90500934800683040002806D03C
-:1015400000F0C8F9401B0328F5D3032078E0206A97
-:10155000002874D08C4800680C21014008294DD027
-:10156000206A022838D1894F38688949014039609A
-:1015700000F0B0F900908026B604386830400028AA
-:1015800007D000F0A7F90099401A0328F3D30320ED
-:1015900056E0994801680F229143E26A0A430260CB
-:1015A000794801687B4A0A40A16A1143626A0A438A
-:1015B00002603868802149040143396000F08AF9EB
-:1015C000050038683040002839D100F083F9401B0D
-:1015D0000328F6D3032033E06C4E30686C49014099
-:1015E000316000F077F905003068800127D500F000
-:1015F00071F9401B0328F7D3032021E0206A01285A
-:1016000001D101201CE06048006801907A48006820
-:1016100002900198802149020840616A88420CD1F9
-:1016200002980007000FE16A884206D10198F02174
-:1016300089030140A06A814201D0012000E000201E
-:1016400005B0F0BD241002401C10024000700040A4
-:101650002010024089130000FFFFFFEFF3B581B0B7
-:101660000400002C01D101208BE00125634E30687D
-:101670002840029988420CD230680121884302999F
-:1016800001433160306828400299884201D001202E
-:1016900077E002202168014000290FD02178490716
-:1016A00005D539490A68E023DB0013430B6036494E
-:1016B0000A68F0239A43A36813430B60216829400A
-:1016C000002932D06168012905D1304800688003C3
-:1016D00011D4012055E06168022905D12B4800682A
-:1016E000800108D401204CE02849096808400028FE
-:1016F00001D1012045E0244F386803218843616807
-:101700000143396000F0E6F8009038680C21014090
-:1017100060688000814208D000F0DCF80099401A2F
-:1017200037498842F1D303202BE0029831682940E1
-:1017300088420CD23068012188430299014331600C
-:10174000306805400298854201D0012019E02078D8
-:10175000400706D50C4801682A4A0A40E16811434F
-:10176000016000F019F82849074A126812091207A7
-:10177000120F895CC84025490860002000F0B0F8CD
-:101780000020FEBD34100240041002400010024050
-:10179000FFFFFFFEFFFFC2FFF8B50024200000940A
-:1017A000250026001A490F680C213940042902D06F
-:1017B000082902D01BE017481AE00F201649BA0C7E
-:1017C0000240895C0E0015490B4A12681040085C03
-:1017D0000090F80306D50F48009900F023F87043F5
-:1017E000050002E00E4870430500280000E00948AB
-:1017F000F2BD0648006870472C10024000200240ED
-:1018000089130000FFF8FFFF5020000804000020AB
-:101810000410024000127A00302000084020000826
-:1018200000093D000022030A8B420BD203098B42C0
-:1018300019D243088B422ED2411A00D2014652419E
-:1018400010467047FF2209023FD012068B4205D393
-:10185000121209028B4201D31212090203098B42B0
-:1018600019D300E0090AC3098B4201D3CB01C01A86
-:10187000524183098B4201D38B01C01A5241430963
-:101880008B4201D34B01C01A524103098B4201D351
-:101890000B01C01A5241C3088B4201D3CB00C01ABE
-:1018A000524183088B4201D38B00C01A5241430836
-:1018B0008B4201D34B00C01A5241884200D3401AD8
-:1018C0005241CFD201461046704708B500F030F8BB
-:1018D00008BDFEE701480068704700BF70010020A6
-:1018E00010B50400FA2080000E490978FFF79AFF2E
-:1018F00001000D480068FFF795FFFFF73DFC002849
-:1019000001D001200CE0042C09D20022210000208B
-:10191000C043FFF720FC05480460002000E00120E0
-:1019200010BD00BF080000200400002000000020BF
-:101930007047FEE770B586B014220021684600F0BB
-:10194000ADF88020800251490A6802430A600A68A3
-:101950001040059005988020C0020A6802430A6082
-:10196000096808400590059880256D0100950120C3
-:10197000019002200290032003909024E405694620
-:101980002000FFF761FA009569462000FFF75CFA36
-:101990001A2000903E4E69463000FFF755FA0420A9
-:1019A000009069462000FFF74FFA01220421200031
-:1019B000FFF747FB002229002000FFF742FB00222F
-:1019C0001A213000FFF73DFB06B070BD38B50500A9
-:1019D0002800C0B2012834D12E4C20782E4908703E
-:1019E0002078002805D0022811D008D3032814D06D
-:1019F00019E0012202212648FFF723FB13E0012210
-:101A0000802149019020C005FFF71BFB0BE001225C
-:101A100010211F48FFF715FB05E0012208211C4893
-:101A2000FFF70FFBFFE72800C0B201282DD1207877
-:101A3000032802D10020207027E02078401C20706D
-:101A400023E015480078002805D0022811D008D3DB
-:101A5000032814D019E0002202210D48FFF7F1FA03
-:101A600013E00022802149019020C005FFF7E9FA28
-:101A70000BE0002210210648FFF7E3FA05E0002200
-:101A800008210348FFF7DDFAFFE731BD14100240DB
-:101A9000000400487C0100207D01002010B50400F6
-:101AA000080011000200200000F002F8200010BD24
-:101AB0001206130A1A43130C1A4300BF094205D039
-:101AC000830705D00270401C491EF9D17047000001
-:101AD0001300103906D330B41400150010393CC07F
-:101AE000FCD230BC490700D30CC000D504C089002B
-:101AF00002D30280801C002900D502707047FEE7E7
-:101B0000F8B586B08020800239490A6802430A602D
-:101B100009680840009000988020000135490A6853
-:101B200002430A6009680840009000980220029071
-:101B300001210391032104910590C020C000019070
-:101B400001A99020C005FFF77FF92B4DFFF751FE4B
-:101B50002A49FFF767FE401E2880294C294820604B
-:101B6000288860602848E06000262661A6606661DB
-:101B7000A6612000FEF79CFA244D60202860AE602C
-:101B80002E61EE60AE616E612F1DC226F6003E60D2
-:101B9000042229002000FEF75BFD3E600822290098
-:101BA0002000FEF755FD04212000FEF7AFFA0821C2
-:101BB0002000FEF7ABFA07B0F0BD00B50200D2B2CC
-:101BC000012A02D0022A05D009E00A0092B2104B85
-:101BD0001A6004E00A0092B20E4B1A60FFE700BDE3
-:101BE000C220C0000A4908600A4908607047000026
-:101BF00014100240181002407A01002040420F00E9
-:101C0000CC000020002C0140204E000014010020D8
-:101C1000382C01403C2C014070B53C4C200000F0B9
-:101C2000B6F8FFF7DCF800282CD00120FFF7CEFE35
-:101C30009026F605002204213000FFF702FAFA256B
-:101C40006D00280000F0B0F8200000F0A0F801229C
-:101C500004213000FFF7F5F9280000F0A5F8200076
-:101C600000F095F800F00FF8280000F09DF8200033
-:101C700000F08DF80020FFF7A9FEFFF7B1FF00206C
-:101C8000FFF7B7F870BD10B5214C2078002805D0BB
-:101C900002280DD007D303280FD013E01D490120DF
-:101CA000FFF78BFF0EE01B490220FFF786FF09E0DC
-:101CB00019490120FFF781FF04E017490220FFF7CF
-:101CC0007CFFFFE72078032802D10020207002E08B
-:101CD0002078401C207010BD80B58CB0082000908A
-:101CE00000200890012007906846FFF757FA074840
-:101CF0000A49016020214160FA2189008160084978
-:101D0000C16000F00FF80DB000BD000044010020DC
-:101D10007E010020140500003A070000003000405A
-:101D2000FF0F000070B50400002C01D101202DE050
-:101D30001A48216808601A482168086060682168AC
-:101D40004860A06821688860FFF7C4FD0500072689
-:101D50002068C068304000280BD0FFF7BBFD401B57
-:101D60002828F4D32068C0680640002EEFD0032056
-:101D70000CE020680069E168884203D0E0682168CF
-:101D8000086102E0074821680860002070BD01007A
-:101D900004480A681060002070470000CCCC0000A6
-:101DA00055550000AAAA000070B50400FFF792FD87
-:101DB000050026000020C043864202D00448007877
-:101DC0003618FFF787FD401BB042FAD370BD00BF45
-:101DD0000800002080B500F045F800F032F81E48F9
-:101DE0000178491C017001780A2901D10021017094
-:101DF00000200A2824DA19490C2242438A18127A50
-:101E0000002A1BD00C2242438A189288521E0C23AF
-:101E10004343CB189A800C2242438A189288002AA6
-:101E20000CD10C2242438A18D2880C234343CB188E
-:101E30009A8001220C234343C9184A72401CD8E7F8
-:101E400001BD00B506480168002902D00168491E9D
-:101E5000016000BD00000000820100200C00002095
-:101E60007401002003480168034A12788918016050
-:101E7000704700BF700100200800002080B500F00E
-:101E800043F800F00BF8FFF755FDFFF739FEFEF7BA
-:101E9000FBFEFFF721FFFFF7BFFEFCE738B590B070
-:101EA0003022002104A8FFF7F9FD10220021684626
-:101EB000FFF7F4FD122004900120079009901020F4
-:101EC00008900A9002240C9400250D95A020800310
-:101ED0000E900F9504A8FFF761F9002801D000F0DB
-:101EE0000FF80720009001940295039501216846A0
-:101EF000FFF7B4FB002801D000F002F811B030BDAC
-:101F000000B572B6FEE7FEE780B50648016810220C
-:101F10000A4302600020FFF7E3FC00F005F8002010
-:101F200002BD000000200240704770B4012300246D
-:101F300013E00168001D194202D04D466D1E49197B
-:101F40000C60091D121F042AFAD20D00960701D554
-:101F50000C80AD1C1A4000D02C700268001D002AB5
-:101F6000E7D170BC704730B401220EE00368C3189B
-:101F700044680830144202D04D466D1E64191D6835
-:101F800025601B1D241D091FF9D10168001D0029B2
-:101F9000ECD130BC7047FEE710B5074979441831E1
-:101FA000064C7C44163404E0081D0A6889188847EA
-:101FB0000100A142F8D110BD080000002800000077
-:101FC0006BFFFFFF780100000C0000200000000004
-:101FD00097FFFFFF0C000000B00000000000002091
-:101FE0000000000000F00DF8002801D0FFF7D4FF3A
-:101FF00000BF00BF002000BF00BFFFF73FFF00F0A1
-:1020000002F80120704780B500F002F801BDFEE73C
-:102010000746384600F002F8FBE7FEE780B500BF50
-:1020200000BF024A11001820ABBEFBE726000200E9
-:1020300002030405060708090A0B0C0D0E0F101009
-:102040000102030405060708090A0B0C0D0E0F1008
-:102050000000000000000000010203040607080958
-:102060000148804701480047AD2000087D20000856
-:1020700000B5FEE700B5FEE77047704700BF00BF40
-:1020800000BF00BFFFF7AEFF0400000000127A009F
-:1020900001000000FEE7FEE7FEE7FEE7FEE7FEE7E1
-:0E20A000FEE7FEE7FEE7FEE7FEE7FEE770471D
-:040000050800207D52
+:100D500004212800FFF77CFA07B0F0BD80B53248C7
+:100D6000FFF732FB01BD38B50400207F012841D1D7
+:100D7000314D00212000FFF71FFD28602868002862
+:100D800033D02848296800F059FD2D4908602B4DC3
+:100D900004212000FFF710FD2860286829498842B7
+:100DA0000AD329480178491C0170002204219020AF
+:100DB000C00500F052F90BE000200100234A117039
+:100DC00021490870012204219020C00500F045F956
+:100DD0001D48007810280DD11C480178002909D140
+:100DE000012101701A48017004E0002013490860D5
+:100DF0001349086031BD00B515480078002801D0BE
+:100E0000012000E00020C0B200BD11490870704709
+:100E100000000000141002401C100240FFFF000000
+:100E20006801002040420F008400002000040040C0
+:100E3000440100203001002054010020580100200E
+:100E40005C010020410600007101002070010020BB
+:100E50006F010020704770477047704770477047B8
+:100E6000F1B582B000230868D840002800D1F3E033
+:100E70000124086825009D4005400195019800283F
+:100E800000D1E7E0032548682840012803D04868DE
+:100E9000284002281ED1029886681F00022047437E
+:100EA0002800B8408643CF68BC4618000227784324
+:100EB000674687403743029887600298466820005B
+:100EC000984086434868000920409840304302001B
+:100ED0000298426048682840032812D00298C668E9
+:100EE0001F00022047432800B84086438F68BC4655
+:100EF0001800022778436746874037433A00029834
+:100F0000C26048682840022821D10298DE080427E0
+:100F10007E438019076A072000970F26B4461F00FA
+:100F20000740042677436646BE40009FB743BC4651
+:100F30000E691F00384004277843864067463E43C9
+:100F400032000298DE0804277E438019026202986C
+:100F500006681F00022047432800B84086434F68B8
+:100F60002F40BC4618000227784367468740374326
+:100F70003A00029802604868C026B6020640002E79
+:100F800068D03C4806682643066000682040009010
+:100F90000098394E980804277843305800900F275E
+:100FA000BC461F0028003840042778436746874026
+:100FB0000098B843009002989027FF05B84201D1ED
+:100FC000002410E002982D4A90420CD002982C4A3E
+:100FD000904201D1022406E002982A4A904201D1AF
+:100FE0002C0000E0052400981A0015400422554307
+:100FF000AC4004439808042250433450224A1068FD
+:10100000019DA8434D68ED0202D5040001982043DC
+:1010100010601E4C2268019DAA434D68AD0202D5A6
+:101020001000019A02432260194C2068019DA843D8
+:101030004D68AD0302D50200019810432060154CA5
+:101040002268019DAA434D68ED0302D51000019A64
+:10105000024322605B1C06E7F7BD00B51300DBB25C
+:10106000002B03D00B009BB2836102E00B009BB20C
+:10107000836200BD181002400800014000040048CF
+:1010800000080048000C0048080401400C0401401E
+:10109000040401400004014000B5010049B20029E8
+:1010A00005D40121C206D20E91403C4A116000BD18
+:1010B000F0B5020052B2002A1CD40322384B0400BF
+:1010C00064B2A40804256C431C59FF251600064091
+:1010D00008277E43B540AC438D01EDB2024008269F
+:1010E000724395402543020052B2920804246243A1
+:1010F0009D5022E00F242B4A032305006DB22540AA
+:10110000083DAD0804267543060076B23440083C1D
+:10111000A408042674431659FF27BC461C0004404B
+:1011200008277C436746A740BE438C01E4B20340D6
+:1011300008277B439C4034435451F0BD10B5040054
+:10114000601E80214904884201D301200EE0601E08
+:101150001549086003210020C043FFF7A9FF0020C4
+:1011600012490860072012490860002010BD70B5C0
+:1011700005000C0016002100280040B2FFF798FF80
+:1011800070BD10B50400200040B2FFF785FF10BD10
+:1011900010B504002000FFF7D1FF10BD00E100E012
+:1011A00000E400E01CED00E014E000E018E000E0E6
+:1011B00010E000E0F8B584B00400002C01D101205B
+:1011C0004AE22078C00766D50C20B4490A6802407C
+:1011D000042A09D00A68104008280ED18020400255
+:1011E00009680140814208D1AD480068800352D5AA
+:1011F000606800284FD101202EE26068012806D1E6
+:10120000A7480168802252020A43026024E0606815
+:10121000002809D1A2480168A24A0A400260016878
+:10122000A14A0A40026017E0606805280BD19C487B
+:1012300001688022D2020A430260016880225202C1
+:101240000A43026008E096480168964A0A40026034
+:101250000168954A0A400260606800280DD000F0DD
+:1012600045FB05008E480068800314D400F03EFB67
+:10127000401B6528F6D30320EEE100F037FB0500A4
+:1012800087480068800306D500F030FB401B6528C6
+:10129000F6D30320E0E102262068304000284FD03A
+:1012A0000C207E490A680240002A06D00A681040D5
+:1012B000082814D10868C00311D479480168314066
+:1012C000002904D0E168012901D00120C4E10168AE
+:1012D000F82291432269D2000A43026030E0E068BC
+:1012E00000281AD06E4F386801210143396000F0A0
+:1012F000FDFA050038683040002806D100F0F6FA03
+:10130000401B0328F6D30320A6E13868F821884360
+:101310002169C9000143396012E0614F3868012139
+:101320008843386000F0E2FA050038683040002851
+:1013300006D000F0DBFA401B0328F6D303208BE134
+:101340002078000728D5E069002812D0C34F3868FC
+:1013500001210143396000F0C9FA050038683040C6
+:10136000002819D100F0C2FA401B0328F6D303204D
+:1013700072E1BA4F386801218843386000F0B6FA4C
+:10138000050038683040002806D000F0AFFA401B56
+:101390000328F6D303205FE10427206838400028A3
+:1013A00000D18CE000206946087080204005AC49DF
+:1013B0000968014000290AD1A9490A6802430A6064
+:1013C0000968084003900398012069460870A54801
+:1013D0000068C00514D4A348006880214900014377
+:1013E000A048016000F082FA05009E480068C00530
+:1013F00006D400F07BFA401B6528F6D303202BE1CE
+:10140000A068012805D19848016801220A430260BA
+:1014100021E0A068002809D1934801680122914386
+:101420000160016804229143016014E0A06805286E
+:1014300008D18D48016839430160016801220A43DF
+:10144000026008E088480168012291430160016858
+:10145000042291430160A06800280FD000F046FAF2
+:10146000050081480068304000281FD100F03EFA96
+:10147000401B7E498842F4D30320EDE000F036FAA9
+:10148000050079480068304000280FD000F02EFA9F
+:10149000401B76498842F4D30320DDE0041002406B
+:1014A00000100240FFFFFEFFFFFFFBFF68460078D1
+:1014B000012804D16A4801686D4A0A400260207818
+:1014C000C00650D56069012822D1B448006807439E
+:1014D000B2480760B148006801210143AF4801608C
+:1014E00000F004FA0500AD4800683040002806D13D
+:1014F00000F0FCF9401B0328F5D30320ACE0A7481B
+:101500000168F8229143A269D2000A4302602AE0EE
+:101510000421C943606988420BD1A0480268114088
+:1015200001600168F8229143A269D2000A43026077
+:1015300019E09A4800680743984807609748006890
+:10154000012188439549086000F0D0F905009348CF
+:1015500000683040002806D000F0C8F9401B03287E
+:10156000F5D3032078E0206A002874D08C48006806
+:101570000C21014008294DD0206A022838D1894F1A
+:10158000386889490140396000F0B0F90090802640
+:10159000B60438683040002807D000F0A7F9009959
+:1015A000401A0328F3D3032056E0994801680F221C
+:1015B0009143E26A0A430260794801687B4A0A4023
+:1015C000A16A1143626A0A430260386880214904B3
+:1015D0000143396000F08AF905003868304000287E
+:1015E00039D100F083F9401B0328F6D3032033E000
+:1015F0006C4E30686C490140316000F077F90500AD
+:101600003068800127D500F071F9401B0328F7D31B
+:10161000032021E0206A012801D101201CE060485C
+:10162000006801907A480068029001988021490280
+:101630000840616A88420CD102980007000FE16AF5
+:10164000884206D10198F02189030140A06A8142B5
+:1016500001D0012000E0002005B0F0BD24100240C0
+:101660001C1002400070004020100240891300004E
+:10167000FFFFFFEFF3B581B00400002C01D1012082
+:101680008BE00125634E30682840029988420CD2D5
+:101690003068012188430299014331603068284055
+:1016A0000299884201D0012077E0022021680140A0
+:1016B00000290FD02178490705D539490A68E02368
+:1016C000DB0013430B6036490A68F0239A43A36892
+:1016D00013430B6021682940002932D06168012939
+:1016E00005D130480068800311D4012055E06168BD
+:1016F000022905D12B480068800108D401204CE064
+:10170000284909680840002801D1012045E0244FFC
+:1017100038680321884361680143396000F0E6F8C6
+:10172000009038680C21014060688000814208D038
+:1017300000F0DCF80099401A37498842F1D30320C1
+:101740002BE002983168294088420CD23068012190
+:101750008843029901433160306805400298854210
+:1017600001D0012019E02078400706D50C48016817
+:101770002A4A0A40E1681143016000F019F828493B
+:10178000074A126812091207120F895CC8402549DE
+:101790000860002000F0B0F80020FEBD34100240C8
+:1017A0000410024000100240FFFFFFFEFFFFC2FFD7
+:1017B000F8B5002420000094250026001A490F687F
+:1017C0000C213940042902D0082902D01BE0174817
+:1017D0001AE00F201649BA0C0240895C0E00154928
+:1017E0000B4A12681040085C0090F80306D50F48B9
+:1017F000009900F023F87043050002E00E487043A2
+:101800000500280000E00948F2BD0648006870475E
+:101810002C1002400020024089130000FFF8FFFF57
+:10182000D81F0008040000200410024000127A00B3
+:10183000B81F0008C81F000800093D000022030A65
+:101840008B420BD203098B4219D243088B422ED212
+:10185000411A00D20146524110467047FF22090248
+:101860003FD012068B4205D3121209028B4201D3DC
+:101870001212090203098B4219D300E0090AC309B5
+:101880008B4201D3CB01C01A524183098B4201D351
+:101890008B01C01A524143098B4201D34B01C01A3C
+:1018A000524103098B4201D30B01C01A5241C308B4
+:1018B0008B4201D3CB00C01A524183088B4201D323
+:1018C0008B00C01A524143088B4201D34B00C01A0F
+:1018D0005241884200D3401A5241CFD201461046AD
+:1018E000704708B500F030F808BDFEE70148006811
+:1018F000704700BF6001002010B50400FA2080008E
+:101900000E490978FFF79AFF01000D480068FFF7BC
+:1019100095FFFFF73DFC002801D001200CE0042CCE
+:1019200009D2002221000020C043FFF720FC054817
+:101930000460002000E0012010BD00BF080000206E
+:1019400004000020000000207047FEE770B586B05C
+:1019500014220021684600F0ADF880208002514931
+:101960000A6802430A600A681040059005988020C2
+:10197000C0020A6802430A60096808400590059899
+:1019800080256D0100950120019002200290032026
+:1019900003909024E40569462000FFF761FA009562
+:1019A00069462000FFF75CFA1A2000903E4E694617
+:1019B0003000FFF755FA0420009069462000FFF739
+:1019C0004FFA012204212000FFF747FB00222900E3
+:1019D0002000FFF742FB00221A213000FFF73DFBF9
+:1019E00006B070BD38B505002800C0B2012834D15A
+:1019F0002E4C20782E4908702078002805D0022827
+:101A000011D008D3032814D019E00122022126485E
+:101A1000FFF723FB13E00122802149019020C0053C
+:101A2000FFF71BFB0BE0012210211F48FFF715FBFE
+:101A300005E0012208211C48FFF70FFBFFE7280003
+:101A4000C0B201282DD12078032802D100202070B7
+:101A500027E02078401C207023E0154800780028FB
+:101A600005D0022811D008D3032814D019E0002291
+:101A700002210D48FFF7F1FA13E00022802149010D
+:101A80009020C005FFF7E9FA0BE00022102106487C
+:101A9000FFF7E3FA05E0002208210348FFF7DDFA2B
+:101AA000FFE731BD14100240000400486C01002023
+:101AB0006D01002010B50400080011000200200094
+:101AC00000F002F8200010BD1206130A1A43130C8E
+:101AD0001A4300BF094205D0830705D00270401C9D
+:101AE000491EF9D1704700001300103906D330B4F5
+:101AF0001400150010393CC0FCD230BC490700D39B
+:101B00000CC000D504C0890002D30280801C0029CB
+:101B100000D502707047FEE7F8B586B080208002DD
+:101B200039490A6802430A60096808400090009831
+:101B30008020000135490A6802430A6009680840AC
+:101B4000009000980220029001210391032104914A
+:101B50000590C020C000019001A99020C005FFF7AA
+:101B60007FF92B4DFFF751FE2A49FFF767FE401E14
+:101B70002880294C29482060288860602848E06037
+:101B800000262661A6606661A6612000FEF790FA35
+:101B9000244D60202860AE602E61EE60AE616E6103
+:101BA0002F1DC226F6003E60042229002000FEF709
+:101BB0004FFD3E60082229002000FEF749FD042168
+:101BC0002000FEF7A3FA08212000FEF79FFA07B0D5
+:101BD000F0BD00B50200D2B2012A02D0022A05D01F
+:101BE00009E00A0092B2104B1A6004E00A0092B2B7
+:101BF0000E4B1A60FFE700BDC220C0000A49086012
+:101C00000A49086070470000141002401810024092
+:101C10006A01002040420F00CC000020002C01404F
+:101C2000204E000014010020382C01403C2C0140C3
+:101C300070B5354C354D2560FFF7DDF800281AD01A
+:101C40000120FFF7CFFEFA267600300000F070F892
+:101C50002560300000F06CF8256000F00DF83000D1
+:101C600000F066F825600020FFF7BCFEFFF7C4FF18
+:101C70000020FFF7CAF870BD10B5254C2078002869
+:101C800005D002280DD007D303280FD013E0214937
+:101C90000120FFF79EFF0EE01E490220FFF799FF8B
+:101CA00009E01D490120FFF794FF04E01A490220D2
+:101CB000FFF78FFFFFE72078032802D10020207074
+:101CC00002E02078401C207010BD80B58CB0082048
+:101CD000009000200890012007906846FFF76AFAFC
+:101CE00009480E4901600E49016004210D4A116046
+:101CF000FA2189000C4A11600C4909680029FBD1BE
+:101D0000024901600DB000BD00300040AAAA0000E9
+:101D10006E010020140500003A070000CCCC000042
+:101D20005555000004300040083000400C300040A1
+:101D300070B50400FFF7DAFD050026000020C0435F
+:101D4000864202D0044800783618FFF7CFFD401BCA
+:101D5000B042FAD370BD00BF0800002080B500F08B
+:101D600045F800F032F81E480178491C01700178EE
+:101D70000A2901D10021017000200A2824DA19491A
+:101D80000C2242438A18127A002A1BD00C224243AA
+:101D90008A189288521E0C234343CB189A800C2237
+:101DA00042438A189288002A0CD10C2242438A1896
+:101DB000D2880C234343CB189A8001220C2343433F
+:101DC000C9184A72401CD8E701BD00B50648016831
+:101DD000002902D00168491E016000BD000000001A
+:101DE000720100200C0000206401002003480168FB
+:101DF000034A127889180160704700BF6001002013
+:101E00000800002080B500F043F800F00BF8FFF761
+:101E10009DFDFFF781FEFEF737FFFFF756FFFFF747
+:101E200007FFFCE738B590B03022002104A8FFF787
+:101E300041FE102200216846FFF73CFE122004906C
+:101E4000012007900990102008900A9002240C9419
+:101E500000250D95A02080030E900F9504A8FFF794
+:101E6000A9F9002801D000F00FF807200090019494
+:101E70000295039501216846FFF7FCFB002801D07D
+:101E800000F002F811B030BD00B572B6FEE7FEE713
+:101E900080B50648016810220A4302600020FFF75F
+:101EA0002BFD00F005F8002002BD000000200240DC
+:101EB000704770B40123002413E00168001D19422B
+:101EC00002D04D466D1E49190C60091D121F042ACF
+:101ED000FAD20D00960701D50C80AD1C1A4000D037
+:101EE0002C700268001D002AE7D170BC704730B426
+:101EF00001220EE00368C31844680830144202D07F
+:101F00004D466D1E64191D6825601B1D241D091F8B
+:101F1000F9D10168001D0029ECD130BC7047FEE703
+:101F200010B5074979441831064C7C44163404E056
+:101F3000081D0A68891888470100A142F8D110BD20
+:101F400008000000280000006BFFFFFF6801000090
+:101F50000C0000200000000097FFFFFF0C000000B5
+:101F6000B0000000000000200000000000F00DF8AC
+:101F7000002801D0FFF7D4FF00BF00BF002000BF42
+:101F800000BFFFF73FFF00F002F80120704780B567
+:101F900000F002F801BDFEE70746384600F002F8FF
+:101FA000FBE7FEE780B500BF00BF024A1100182022
+:101FB000ABBEFBE726000200020304050607080982
+:101FC0000A0B0C0D0E0F1010010203040506070882
+:101FD000090A0B0C0D0E0F1000000000000000009D
+:101FE0000102030406070809014880470148004729
+:101FF000352000080520000800B5FEE700B5FEE723
+:102000007047704700BF00BF00BF00BFFFF7AEFFC3
+:102010000400000000127A0001000000FEE7FEE765
+:10202000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE788
+:06203000FEE7FEE7704729
+:0400000508002005CA
 :00000001FF

+ 282 - 282
libs/stm32/drivers/src/stm32f0xx_hal_iwdg.c

@@ -1,282 +1,282 @@
-/**
-  ******************************************************************************
-  * @file    stm32f0xx_hal_iwdg.c
-  * @author  MCD Application Team
-  * @brief   IWDG HAL module driver.
-  *          This file provides firmware functions to manage the following
-  *          functionalities of the Independent Watchdog (IWDG) peripheral:
-  *           + Initialization and Start functions
-  *           + IO operation functions
-  *
-  ******************************************************************************
-  * @attention
-  *
-  * Copyright (c) 2016 STMicroelectronics.
-  * All rights reserved.
-  *
-  * This software is licensed under terms that can be found in the LICENSE file
-  * in the root directory of this software component.
-  * If no LICENSE file comes with this software, it is provided AS-IS.
-  *
-  ******************************************************************************
-  @verbatim
-  ==============================================================================
-                    ##### IWDG Generic features #####
-  ==============================================================================
-  [..]
-    (+) The IWDG can be started by either software or hardware (configurable
-        through option byte).
-
-    (+) The IWDG is clocked by the Low-Speed Internal clock (LSI) and thus stays
-        active even if the main clock fails.
-
-    (+) Once the IWDG is started, the LSI is forced ON and both cannot be
-        disabled. The counter starts counting down from the reset value (0xFFF).
-        When it reaches the end of count value (0x000) a reset signal is
-        generated (IWDG reset).
-
-    (+) Whenever the key value 0x0000 AAAA is written in the IWDG_KR register,
-        the IWDG_RLR value is reloaded into the counter and the watchdog reset
-        is prevented.
-
-    (+) The IWDG is implemented in the VDD voltage domain that is still functional
-        in STOP and STANDBY mode (IWDG reset can wake up the CPU from STANDBY).
-        IWDGRST flag in RCC_CSR register can be used to inform when an IWDG
-        reset occurs.
-
-    (+) Debug mode: When the microcontroller enters debug mode (core halted),
-        the IWDG counter either continues to work normally or stops, depending
-        on DBG_IWDG_STOP configuration bit in DBG module, accessible through
-        __HAL_DBGMCU_FREEZE_IWDG() and __HAL_DBGMCU_UNFREEZE_IWDG() macros.
-
-    [..] Min-max timeout value @32KHz (LSI): ~125us / ~32.7s
-         The IWDG timeout may vary due to LSI clock frequency dispersion.
-         STM32F0xx devices provide the capability to measure the LSI clock
-         frequency (LSI clock is internally connected to TIM16 CH1 input capture).
-         The measured value can be used to have an IWDG timeout with an
-         acceptable accuracy.
-
-    [..] Default timeout value (necessary for IWDG_SR status register update):
-         Constant LSI_VALUE is defined based on the nominal LSI clock frequency.
-         This frequency being subject to variations as mentioned above, the
-         default timeout value (defined through constant HAL_IWDG_DEFAULT_TIMEOUT
-         below) may become too short or too long.
-         In such cases, this default timeout value can be tuned by redefining
-         the constant LSI_VALUE at user-application level (based, for instance,
-         on the measured LSI clock frequency as explained above).
-
-                     ##### How to use this driver #####
-  ==============================================================================
-  [..]
-    (#) Use IWDG using HAL_IWDG_Init() function to :
-      (++) Enable instance by writing Start keyword in IWDG_KEY register. LSI
-           clock is forced ON and IWDG counter starts counting down.
-      (++) Enable write access to configuration registers:
-          IWDG_PR, IWDG_RLR and IWDG_WINR.
-      (++) Configure the IWDG prescaler and counter reload value. This reload
-           value will be loaded in the IWDG counter each time the watchdog is
-           reloaded, then the IWDG will start counting down from this value.
-      (++) Depending on window parameter:
-        (+++) If Window Init parameter is same as Window register value,
-             nothing more is done but reload counter value in order to exit
-             function with exact time base.
-        (+++) Else modify Window register. This will automatically reload
-             watchdog counter.
-      (++) Wait for status flags to be reset.
-
-    (#) Then the application program must refresh the IWDG counter at regular
-        intervals during normal operation to prevent an MCU reset, using
-        HAL_IWDG_Refresh() function.
-
-     *** IWDG HAL driver macros list ***
-     ====================================
-     [..]
-       Below the list of most used macros in IWDG HAL driver:
-      (+) __HAL_IWDG_START: Enable the IWDG peripheral
-      (+) __HAL_IWDG_RELOAD_COUNTER: Reloads IWDG counter with value defined in
-          the reload register
-
-  @endverbatim
-  */
-
-/* Includes ------------------------------------------------------------------*/
-#include "stm32f0xx_hal.h"
-
-/** @addtogroup STM32F0xx_HAL_Driver
-  * @{
-  */
-
-#ifdef HAL_IWDG_MODULE_ENABLED
-/** @addtogroup IWDG
-  * @brief IWDG HAL module driver.
-  * @{
-  */
-
-/* Private typedef -----------------------------------------------------------*/
-/* Private define ------------------------------------------------------------*/
-/** @defgroup IWDG_Private_Defines IWDG Private Defines
-  * @{
-  */
-/* Status register needs up to 5 LSI clock periods divided by the clock
-   prescaler to be updated. The number of LSI clock periods is upper-rounded to
-   6 for the timeout value calculation.
-   The timeout value is calculated using the highest prescaler (256) and
-   the LSI_VALUE constant. The value of this constant can be changed by the user
-   to take into account possible LSI clock period variations.
-   The timeout value is multiplied by 1000 to be converted in milliseconds.
-   LSI startup time is also considered here by adding LSI_STARTUP_TIME
-   converted in milliseconds. */
-#define HAL_IWDG_DEFAULT_TIMEOUT        (((6UL * 256UL * 1000UL) / LSI_VALUE) + ((LSI_STARTUP_TIME / 1000UL) + 1UL))
-#define IWDG_KERNEL_UPDATE_FLAGS        (IWDG_SR_WVU | IWDG_SR_RVU | IWDG_SR_PVU)
-/**
-  * @}
-  */
-
-/* Private macro -------------------------------------------------------------*/
-/* Private variables ---------------------------------------------------------*/
-/* Private function prototypes -----------------------------------------------*/
-/* Exported functions --------------------------------------------------------*/
-
-/** @addtogroup IWDG_Exported_Functions
-  * @{
-  */
-
-/** @addtogroup IWDG_Exported_Functions_Group1
-  *  @brief    Initialization and Start functions.
-  *
-@verbatim
- ===============================================================================
-          ##### Initialization and Start functions #####
- ===============================================================================
- [..]  This section provides functions allowing to:
-      (+) Initialize the IWDG according to the specified parameters in the
-          IWDG_InitTypeDef of associated handle.
-      (+) Manage Window option.
-      (+) Once initialization is performed in HAL_IWDG_Init function, Watchdog
-          is reloaded in order to exit function with correct time base.
-
-@endverbatim
-  * @{
-  */
-
-/**
-  * @brief  Initialize the IWDG according to the specified parameters in the
-  *         IWDG_InitTypeDef and start watchdog. Before exiting function,
-  *         watchdog is refreshed in order to have correct time base.
-  * @param  hiwdg  pointer to a IWDG_HandleTypeDef structure that contains
-  *                the configuration information for the specified IWDG module.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg)
-{
-  uint32_t tickstart;
-
-  /* Check the IWDG handle allocation */
-  if (hiwdg == NULL)
-  {
-    return HAL_ERROR;
-  }
-
-  /* Check the parameters */
-  assert_param(IS_IWDG_ALL_INSTANCE(hiwdg->Instance));
-  assert_param(IS_IWDG_PRESCALER(hiwdg->Init.Prescaler));
-  assert_param(IS_IWDG_RELOAD(hiwdg->Init.Reload));
-  assert_param(IS_IWDG_WINDOW(hiwdg->Init.Window));
-
-  /* Enable IWDG. LSI is turned on automatically */
-  __HAL_IWDG_START(hiwdg);
-
-  /* Enable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers by writing
-  0x5555 in KR */
-  IWDG_ENABLE_WRITE_ACCESS(hiwdg);
-
-  /* Write to IWDG registers the Prescaler & Reload values to work with */
-  hiwdg->Instance->PR = hiwdg->Init.Prescaler;
-  hiwdg->Instance->RLR = hiwdg->Init.Reload;
-
-  /* Check pending flag, if previous update not done, return timeout */
-  tickstart = HAL_GetTick();
-
-  /* Wait for register to be updated */
-  while ((hiwdg->Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
-  {
-    if ((HAL_GetTick() - tickstart) > HAL_IWDG_DEFAULT_TIMEOUT)
-    {
-      if ((hiwdg->Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
-      {
-        return HAL_TIMEOUT;
-      }
-    }
-  }
-
-  /* If window parameter is different than current value, modify window
-  register */
-  if (hiwdg->Instance->WINR != hiwdg->Init.Window)
-  {
-    /* Write to IWDG WINR the IWDG_Window value to compare with. In any case,
-    even if window feature is disabled, Watchdog will be reloaded by writing
-    windows register */
-    hiwdg->Instance->WINR = hiwdg->Init.Window;
-  }
-  else
-  {
-    /* Reload IWDG counter with value defined in the reload register */
-    __HAL_IWDG_RELOAD_COUNTER(hiwdg);
-  }
-
-  /* Return function status */
-  return HAL_OK;
-}
-
-
-/**
-  * @}
-  */
-
-
-/** @addtogroup IWDG_Exported_Functions_Group2
-  *  @brief   IO operation functions
-  *
-@verbatim
- ===============================================================================
-                      ##### IO operation functions #####
- ===============================================================================
- [..]  This section provides functions allowing to:
-      (+) Refresh the IWDG.
-
-@endverbatim
-  * @{
-  */
-
-/**
-  * @brief  Refresh the IWDG.
-  * @param  hiwdg  pointer to a IWDG_HandleTypeDef structure that contains
-  *                the configuration information for the specified IWDG module.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)
-{
-  /* Reload IWDG counter with value defined in the reload register */
-  __HAL_IWDG_RELOAD_COUNTER(hiwdg);
-
-  /* Return function status */
-  return HAL_OK;
-}
-
-
-/**
-  * @}
-  */
-
-/**
-  * @}
-  */
-
-#endif /* HAL_IWDG_MODULE_ENABLED */
-/**
-  * @}
-  */
-
-/**
-  * @}
-  */
+/**
+  ******************************************************************************
+  * @file    stm32f0xx_hal_iwdg.c
+  * @author  MCD Application Team
+  * @brief   IWDG HAL module driver.
+  *          This file provides firmware functions to manage the following
+  *          functionalities of the Independent Watchdog (IWDG) peripheral:
+  *           + Initialization and Start functions
+  *           + IO operation functions
+  *
+  ******************************************************************************
+  * @attention
+  *
+  * Copyright (c) 2016 STMicroelectronics.
+  * All rights reserved.
+  *
+  * This software is licensed under terms that can be found in the LICENSE file
+  * in the root directory of this software component.
+  * If no LICENSE file comes with this software, it is provided AS-IS.
+  *
+  ******************************************************************************
+  @verbatim
+  ==============================================================================
+                    ##### IWDG Generic features #####
+  ==============================================================================
+  [..]
+    (+) The IWDG can be started by either software or hardware (configurable
+        through option byte).
+
+    (+) The IWDG is clocked by the Low-Speed Internal clock (LSI) and thus stays
+        active even if the main clock fails.
+
+    (+) Once the IWDG is started, the LSI is forced ON and both cannot be
+        disabled. The counter starts counting down from the reset value (0xFFF).
+        When it reaches the end of count value (0x000) a reset signal is
+        generated (IWDG reset).
+
+    (+) Whenever the key value 0x0000 AAAA is written in the IWDG_KR register,
+        the IWDG_RLR value is reloaded into the counter and the watchdog reset
+        is prevented.
+
+    (+) The IWDG is implemented in the VDD voltage domain that is still functional
+        in STOP and STANDBY mode (IWDG reset can wake up the CPU from STANDBY).
+        IWDGRST flag in RCC_CSR register can be used to inform when an IWDG
+        reset occurs.
+
+    (+) Debug mode: When the microcontroller enters debug mode (core halted),
+        the IWDG counter either continues to work normally or stops, depending
+        on DBG_IWDG_STOP configuration bit in DBG module, accessible through
+        __HAL_DBGMCU_FREEZE_IWDG() and __HAL_DBGMCU_UNFREEZE_IWDG() macros.
+
+    [..] Min-max timeout value @32KHz (LSI): ~125us / ~32.7s
+         The IWDG timeout may vary due to LSI clock frequency dispersion.
+         STM32F0xx devices provide the capability to measure the LSI clock
+         frequency (LSI clock is internally connected to TIM16 CH1 input capture).
+         The measured value can be used to have an IWDG timeout with an
+         acceptable accuracy.
+
+    [..] Default timeout value (necessary for IWDG_SR status register update):
+         Constant LSI_VALUE is defined based on the nominal LSI clock frequency.
+         This frequency being subject to variations as mentioned above, the
+         default timeout value (defined through constant HAL_IWDG_DEFAULT_TIMEOUT
+         below) may become too short or too long.
+         In such cases, this default timeout value can be tuned by redefining
+         the constant LSI_VALUE at user-application level (based, for instance,
+         on the measured LSI clock frequency as explained above).
+
+                     ##### How to use this driver #####
+  ==============================================================================
+  [..]
+    (#) Use IWDG using HAL_IWDG_Init() function to :
+      (++) Enable instance by writing Start keyword in IWDG_KEY register. LSI
+           clock is forced ON and IWDG counter starts counting down.
+      (++) Enable write access to configuration registers:
+          IWDG_PR, IWDG_RLR and IWDG_WINR.
+      (++) Configure the IWDG prescaler and counter reload value. This reload
+           value will be loaded in the IWDG counter each time the watchdog is
+           reloaded, then the IWDG will start counting down from this value.
+      (++) Depending on window parameter:
+        (+++) If Window Init parameter is same as Window register value,
+             nothing more is done but reload counter value in order to exit
+             function with exact time base.
+        (+++) Else modify Window register. This will automatically reload
+             watchdog counter.
+      (++) Wait for status flags to be reset.
+
+    (#) Then the application program must refresh the IWDG counter at regular
+        intervals during normal operation to prevent an MCU reset, using
+        HAL_IWDG_Refresh() function.
+
+     *** IWDG HAL driver macros list ***
+     ====================================
+     [..]
+       Below the list of most used macros in IWDG HAL driver:
+      (+) __HAL_IWDG_START: Enable the IWDG peripheral
+      (+) __HAL_IWDG_RELOAD_COUNTER: Reloads IWDG counter with value defined in
+          the reload register
+
+  @endverbatim
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f0xx_hal.h"
+
+/** @addtogroup STM32F0xx_HAL_Driver
+  * @{
+  */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+/** @addtogroup IWDG
+  * @brief IWDG HAL module driver.
+  * @{
+  */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/** @defgroup IWDG_Private_Defines IWDG Private Defines
+  * @{
+  */
+/* Status register needs up to 5 LSI clock periods divided by the clock
+   prescaler to be updated. The number of LSI clock periods is upper-rounded to
+   6 for the timeout value calculation.
+   The timeout value is calculated using the highest prescaler (256) and
+   the LSI_VALUE constant. The value of this constant can be changed by the user
+   to take into account possible LSI clock period variations.
+   The timeout value is multiplied by 1000 to be converted in milliseconds.
+   LSI startup time is also considered here by adding LSI_STARTUP_TIME
+   converted in milliseconds. */
+#define HAL_IWDG_DEFAULT_TIMEOUT        (((6UL * 256UL * 1000UL) / LSI_VALUE) + ((LSI_STARTUP_TIME / 1000UL) + 1UL))
+#define IWDG_KERNEL_UPDATE_FLAGS        (IWDG_SR_WVU | IWDG_SR_RVU | IWDG_SR_PVU)
+/**
+  * @}
+  */
+
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Exported functions --------------------------------------------------------*/
+
+/** @addtogroup IWDG_Exported_Functions
+  * @{
+  */
+
+/** @addtogroup IWDG_Exported_Functions_Group1
+  *  @brief    Initialization and Start functions.
+  *
+@verbatim
+ ===============================================================================
+          ##### Initialization and Start functions #####
+ ===============================================================================
+ [..]  This section provides functions allowing to:
+      (+) Initialize the IWDG according to the specified parameters in the
+          IWDG_InitTypeDef of associated handle.
+      (+) Manage Window option.
+      (+) Once initialization is performed in HAL_IWDG_Init function, Watchdog
+          is reloaded in order to exit function with correct time base.
+
+@endverbatim
+  * @{
+  */
+
+/**
+  * @brief  Initialize the IWDG according to the specified parameters in the
+  *         IWDG_InitTypeDef and start watchdog. Before exiting function,
+  *         watchdog is refreshed in order to have correct time base.
+  * @param  hiwdg  pointer to a IWDG_HandleTypeDef structure that contains
+  *                the configuration information for the specified IWDG module.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg)
+{
+  uint32_t tickstart;
+
+  /* Check the IWDG handle allocation */
+  if (hiwdg == NULL)
+  {
+    return HAL_ERROR;
+  }
+
+  /* Check the parameters */
+  assert_param(IS_IWDG_ALL_INSTANCE(hiwdg->Instance));
+  assert_param(IS_IWDG_PRESCALER(hiwdg->Init.Prescaler));
+  assert_param(IS_IWDG_RELOAD(hiwdg->Init.Reload));
+  assert_param(IS_IWDG_WINDOW(hiwdg->Init.Window));
+
+  /* Enable IWDG. LSI is turned on automatically */
+  __HAL_IWDG_START(hiwdg);
+
+  /* Enable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers by writing
+  0x5555 in KR */
+  IWDG_ENABLE_WRITE_ACCESS(hiwdg);
+
+  /* Write to IWDG registers the Prescaler & Reload values to work with */
+  hiwdg->Instance->PR = hiwdg->Init.Prescaler;
+  hiwdg->Instance->RLR = hiwdg->Init.Reload;
+
+  /* Check pending flag, if previous update not done, return timeout */
+  tickstart = HAL_GetTick();
+
+  /* Wait for register to be updated */
+  while ((hiwdg->Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
+  {
+    if ((HAL_GetTick() - tickstart) > HAL_IWDG_DEFAULT_TIMEOUT)
+    {
+      if ((hiwdg->Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
+      {
+        return HAL_TIMEOUT;
+      }
+    }
+  }
+
+  /* If window parameter is different than current value, modify window
+  register */
+  if (hiwdg->Instance->WINR != hiwdg->Init.Window)
+  {
+    /* Write to IWDG WINR the IWDG_Window value to compare with. In any case,
+    even if window feature is disabled, Watchdog will be reloaded by writing
+    windows register */
+    hiwdg->Instance->WINR = hiwdg->Init.Window;
+  }
+  else
+  {
+    /* Reload IWDG counter with value defined in the reload register */
+    __HAL_IWDG_RELOAD_COUNTER(hiwdg);
+  }
+
+  /* Return function status */
+  return HAL_OK;
+}
+
+
+/**
+  * @}
+  */
+
+
+/** @addtogroup IWDG_Exported_Functions_Group2
+  *  @brief   IO operation functions
+  *
+@verbatim
+ ===============================================================================
+                      ##### IO operation functions #####
+ ===============================================================================
+ [..]  This section provides functions allowing to:
+      (+) Refresh the IWDG.
+
+@endverbatim
+  * @{
+  */
+
+/**
+  * @brief  Refresh the IWDG.
+  * @param  hiwdg  pointer to a IWDG_HandleTypeDef structure that contains
+  *                the configuration information for the specified IWDG module.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)
+{
+  /* Reload IWDG counter with value defined in the reload register */
+  __HAL_IWDG_RELOAD_COUNTER(hiwdg);
+
+  /* Return function status */
+  return HAL_OK;
+}
+
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
+
+#endif /* HAL_IWDG_MODULE_ENABLED */
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */

+ 16 - 17
modules/logic.c

@@ -4,32 +4,25 @@
 #include "gpio.h"
 #include "pwm_out.h"
 
-
-#define LED_ON      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET);
-#define LED_OFF     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);
-
 static uint8_t step_number = 0;
 
-static IWDG_HandleTypeDef   IwdgHandle;
 
 
 //
 void logic_main(void)
 {
-    HAL_IWDG_Refresh(&IwdgHandle);
+    IWDG->KR = 0xAAAA;
       
     if (get_button()) 
     {
         gpio_set_output(true);
-        LED_ON;
         HAL_Delay(500);
-        HAL_IWDG_Refresh(&IwdgHandle);
-        LED_OFF;
+        IWDG->KR = 0xAAAA;
         HAL_Delay(500);
-        HAL_IWDG_Refresh(&IwdgHandle);
+        IWDG->KR = 0xAAAA;
         logic_set_out_pwm();
         HAL_Delay(500);
-        HAL_IWDG_Refresh(&IwdgHandle);
+        IWDG->KR = 0xAAAA;
         gpio_set_output(false);
         tim_pwm_pulse_idle();
         
@@ -75,10 +68,16 @@ void wdt_init(void)
     RCC_OscInitStruct.LSIState = RCC_LSI_ON;
     HAL_RCC_OscConfig(&RCC_OscInitStruct);
     
-    IwdgHandle.Instance = IWDG;
-    IwdgHandle.Init.Prescaler = 32;
-    IwdgHandle.Init.Reload = 1000;
-    IwdgHandle.Init.Window = IWDG_WINDOW_DISABLE;
-    
-    HAL_IWDG_Init(&IwdgHandle);
+    // 1. Enable the IWDG by writing 0x0000 CCCC in the IWDG_KR register.
+    IWDG->KR = 0xCCCC;
+    // 2. Enable register access by writing 0x0000 5555 in the IWDG_KR register.
+    IWDG->KR = 0x5555;
+    // 3. Write the IWDG prescaler by programming IWDG_PR from 0 to 7.
+    IWDG->PR = 4;
+    // 4. Write the reload register (IWDG_RLR).
+    IWDG->RLR = 1000;
+    // 5. Wait for the registers to be updated (IWDG_SR = 0x0000 0000).
+    while (IWDG->SR);
+    // 6. Refresh the counter value with IWDG_RLR (IWDG_KR = 0x0000 AAAA)
+    IWDG->KR = 0xAAAA;
 }

+ 4 - 1
modules/pwm_in.c

@@ -2,9 +2,10 @@
 #include "pwm_in.h"
 #include <stdio.h>
 
+#define LED_ON      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET);
+#define LED_OFF     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);
 
 #define PWM_IN_TIM_FREQ     1000000
-
 #define PWM_FILTER_THR      16
 
 static TIM_HandleTypeDef       TimHandle;
@@ -105,10 +106,12 @@ void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
             
             if (duty > 1600) {
                 filter_cnt++;
+                LED_ON;
             }
             else {
                 bt_pressed_flag = 0;
                 filter_cnt = 0;
+                LED_OFF;
             }
             
             // Выполняется условие фильтра и было ожатие кнопки

二进制
output/drone.bin


+ 331 - 338
output/drone.hex

@@ -1,15 +1,15 @@
 :020000040800F2
-:100000008805002061200008712000087520000884
+:1000000078050020E91F0008F91F0008FD1F0008FF
 :1000100000000000000000000000000000000000E0
-:10002000000000000000000000000000792000082F
-:1000300000000000000000007B200008D51D000823
-:10004000D31800080000000033190008FF1A000848
-:10005000071F0008971F00080F2000081B2000083A
-:100060000000000095200008972000089920000853
-:100070009B2000089D2000089F2000080000000031
-:100080005D0D00080000000000000000A120000835
-:1000900000000000A3200008A5200008A7200008F9
-:1000A00000000000A920000800000000AB200008AC
+:1000200000000000000000000000000001200008A7
+:100030000000000000000000032000085D1D000813
+:10004000EB180008000000004B190008171B0008FF
+:100050008F1E00081F1F0008971F0008A31F00081D
+:10006000000000001D2000081F20000821200008BB
+:100070002320000825200008272000080000000099
+:100080005D0D0008000000000000000029200008AD
+:10009000000000002B2000082D2000082F20000861
+:1000A000000000003120000800000000332000089C
 :1000B00010B50400002C01D1012026E03D20205C79
 :1000C000002805D100203C216054200000F0DAFD1A
 :1000D00002203D216054211D206800F08BFB01208F
@@ -63,30 +63,30 @@
 :1003D0000069304000281CD02068C06830400028E8
 :1003E00017D00220C04321680861012020772068CF
 :1003F00080698007800F002803D0200000F0B3FC44
-:1004000005E0200000F01AFD200000F018FD00209B
+:1004000005E0200000F026FD200000F024FD002083
 :100410002077042520680069284000281CD0206827
 :10042000C0682840002817D00420C0432168086114
 :10043000267720688069C02189000140002903D007
-:10044000200000F090FC05E0200000F0F7FC200008
-:1004500000F0F5FC00202077082620680069304075
+:10044000200000F090FC05E0200000F003FD2000FB
+:1004500000F001FD00202077082620680069304068
 :1004600000281BD02068C0683040002816D0082023
 :10047000C0432168086125772068C0698007800F24
 :10048000002803D0200000F06EFC05E0200000F002
-:10049000D5FC200000F0D3FC00202077102021683C
+:10049000E1FC200000F0DFFC002020771020216824
 :1004A0000969014000291CD02168C968084000285A
 :1004B00017D01020C0432168086126772068C069E2
 :1004C000C02189000140002903D0200000F04BFC2E
-:1004D00005E0200000F0B2FC200000F0B0FC00209D
+:1004D00005E0200000F0BEFC200000F0BCFC002085
 :1004E0002077012021680969014000290BD021688B
 :1004F000C9680840002806D00120C043216808616F
-:10050000200000F09DFC802021680969014000293D
+:10050000200000F0A9FC8020216809690140002931
 :100510000BD02168C9680840002806D08020C0435D
-:1005200021680861200000F08CFC402021680969E6
+:1005200021680861200000F098FC402021680969DA
 :10053000014000290BD02168C9680840002806D076
-:100540004020C04321680861200000F07BFC20208F
+:100540004020C04321680861200000F087FC202083
 :1005500021680969014000290BD02168C968084059
 :10056000002806D02020C04321680861200000F048
-:100570006AFC70BDF8B504000D00170000263000BD
+:1005700076FC70BDF8B504000D00170000263000B1
 :10058000694608703C20205C012801D102205EE011
 :1005900001203C216054002F12D1EB686A68296861
 :1005A000206800F08CFA206880690C21884321685B
@@ -200,327 +200,320 @@
 :100C600070B41F2301240D001D40AC40056AA5434C
 :100C70000562056A0E00334016009E402E43066250
 :100C800070BC704770477047F8B586B0802080020E
-:100C90005A490A6802430A600968084000900098AF
-:100CA00002275748016839430160006838400090C6
+:100C900060490A6802430A600968084000900098A9
+:100CA00002275D48016839430160006838400090C0
 :100CB00000984020019002970120039003200490A7
-:100CC0000120059001A99020C00500F0BDF8012287
-:100CD0000021102000F03FFA102000F046FA494CA5
-:100CE000494E00F086FD494900F09CFD2100401866
-:100CF0003080474D47482860EC60308868600024A9
-:100D00002C61AC606C61AC612800FFF773FA424E55
+:100CC0000120059001A99020C00500F0C9F801227B
+:100CD0000021102000F04BFA102000F052FA4F4C87
+:100CE0004F4E00F092FD4F4900F0A8FD2100401842
+:100CF00030804D4D4D482860EC603088686000249D
+:100D00002C61AC606C61AC612800FFF773FA484E4F
 :100D1000B460F4603460012070600022310028006B
 :100D2000FFF728FC37607760042231002800FFF7C6
-:100D300021FC3A4904200860502048608C60CC6057
+:100D300021FC404904200860502048608C60CC6051
 :100D40000C612800FFF706FD00212800FFF780FA5C
-:100D500004212800FFF77CFA07B0F0BD80B52C48CD
-:100D6000FFF732FB01BD38B50400207F012835D1E3
-:100D70002B4D00212000FFF71FFD28602868002868
-:100D800027D02248296800F04DFD27490860254DED
-:100D900004212000FFF710FD2860286823498842BD
-:100DA00004D323480178491C017005E000200100AC
-:100DB000204A11701E4908701D48007810280DD176
-:100DC0001C480178002909D1012101701A480170DD
-:100DD00004E00020134908601349086031BD00B5E4
-:100DE00015480078002801D0012000E00020C0B2A2
-:100DF00000BD114908707047000000001410024047
-:100E00001C100240FFFF00007801002040420F004C
-:100E10008400002000040040540100203001002024
-:100E200064010020680100206C01002041060000E0
-:100E300081010020800100207F0100207047704761
-:100E40007047704770477047F1B582B0002308685B
-:100E5000D840002800D1F3E00124086825009D4017
-:100E6000054001950198002800D1E7E00325486876
-:100E70002840012803D04868284002281ED1029843
-:100E800086681F00022047432800B8408643CF6889
-:100E9000BC461800022778436746874037430298CC
-:100EA0008760029846682000984086434868000999
-:100EB0002040984030430200029842604868284031
-:100EC000032812D00298C6681F000220474328005A
-:100ED000B84086438F68BC461800022778436746AF
-:100EE000874037433A000298C26048682840022889
-:100EF00021D10298DE0804277E438019076A072063
-:100F000000970F26B4461F00074004267743664625
-:100F1000BE40009FB743BC460E691F0038400427FF
-:100F20007843864067463E4332000298DE08042735
-:100F30007E4380190262029806681F000220474320
-:100F40002800B84086434F682F40BC46180002274F
-:100F500078436746874037433A0002980260486802
-:100F6000C026B6020640002E68D03C4806682643DC
-:100F700006600068204000900098394E98080427C9
-:100F80007843305800900F27BC461F002800384097
-:100F900004277843674687400098B843009002983A
-:100FA0009027FF05B84201D1002410E002982D4A95
-:100FB00090420CD002982C4A904201D1022406E0C3
-:100FC00002982A4A904201D12C0000E005240098A2
-:100FD0001A00154004225543AC40044398080422EB
-:100FE00050433450224A1068019DA8434D68ED02D9
-:100FF00002D504000198204310601E4C2268019D18
-:10100000AA434D68AD0202D51000019A0243226046
-:10101000194C2068019DA8434D68AD0302D502001C
-:10102000019810432060154C2268019DAA434D6829
-:10103000ED0302D51000019A024322605B1C06E713
-:10104000F7BD00B51300DBB2002B03D00B009BB241
-:10105000836102E00B009BB2836200BD1810024066
-:10106000080001400004004800080048000C004847
-:10107000080401400C040140040401400004014044
-:1010800000B5010049B2002905D40121C206D20EE3
-:1010900091403C4A116000BDF0B5020052B2002AF6
-:1010A0001CD40322384B040064B2A40804256C430A
-:1010B0001C59FF251600064008277E43B540AC4367
-:1010C0008D01EDB20240082672439540254302008F
-:1010D00052B29208042462439D5022E00F242B4A0E
-:1010E000032305006DB22540083DAD080426754375
-:1010F000060076B23440083CA4080426744316590E
-:10110000FF27BC461C00044008277C436746A740D5
-:10111000BE438C01E4B2034008277B439C40344328
-:101120005451F0BD10B50400601E8021490488426E
-:1011300001D301200EE0601E154908600321002044
-:10114000C043FFF7A9FF0020124908600720124999
-:101150000860002010BD70B505000C0016002100CD
-:10116000280040B2FFF798FF70BD10B504002000C2
-:1011700040B2FFF785FF10BD10B504002000FFF757
-:10118000D1FF10BD00E100E000E400E01CED00E054
-:1011900014E000E018E000E010E000E0F8B584B0F2
-:1011A0000400002C01D101204AE22078C00766D556
-:1011B0000C20B4490A680240042A09D00A68104089
-:1011C00008280ED18020400209680140814208D1E0
-:1011D000AD480068800352D5606800284FD10120D7
-:1011E0002EE26068012806D1A748016880225202D9
-:1011F0000A43026024E06068002809D1A24801681F
-:10120000A24A0A4002600168A14A0A40026017E04F
-:10121000606805280BD19C4801688022D2020A43ED
-:1012200002600168802252020A43026008E0964888
-:101230000168964A0A4002600168954A0A400260C5
-:10124000606800280DD000F045FB05008E4800685E
-:10125000800314D400F03EFB401B6528F6D3032026
-:10126000EEE100F037FB050087480068800306D5F3
-:1012700000F030FB401B6528F6D30320E0E1022696
-:101280002068304000284FD00C207E490A68024078
-:10129000002A06D00A681040082814D10868C00344
-:1012A00011D4794801683140002904D0E16801294E
-:1012B00001D00120C4E10168F82291432269D200E3
-:1012C0000A43026030E0E06800281AD06E4F3868A8
-:1012D00001210143396000F0FDFA05003868304013
-:1012E000002806D100F0F6FA401B0328F6D30320AD
-:1012F000A6E13868F82188432169C90001433960B3
-:1013000012E0614F386801218843386000F0E2FA4A
-:10131000050038683040002806D000F0DBFA401B9A
-:101320000328F6D303208BE12078000728D5E06955
-:10133000002812D0C34F386801210143396000F002
-:10134000C9FA050038683040002819D100F0C2FA07
-:10135000401B0328F6D3032072E1BA4F38680121FD
-:101360008843386000F0B6FA05003868304000283D
-:1013700006D000F0AFFA401B0328F6D303205FE14C
-:10138000042720683840002800D18CE000206946FE
-:10139000087080204005AC490968014000290AD145
-:1013A000A9490A6802430A60096808400390039843
-:1013B000012069460870A5480068C00514D4A348F8
-:1013C0000068802149000143A048016000F082FAD2
-:1013D00005009E480068C00506D400F07BFA401B5B
-:1013E0006528F6D303202BE1A068012805D1984891
-:1013F000016801220A43026021E0A068002809D1A7
-:1014000093480168012291430160016804229143DD
-:10141000016014E0A068052808D18D4801683943AF
-:101420000160016801220A43026008E088480168FF
-:101430000122914301600168042291430160A06888
-:1014400000280FD000F046FA0500814800683040BF
-:1014500000281FD100F03EFA401B7E498842F4D399
-:101460000320EDE000F036FA0500794800683040CE
-:1014700000280FD000F02EFA401B76498842F4D3A2
-:101480000320DDE00410024000100240FFFFFEFFD9
-:10149000FFFFFBFF68460078012804D16A48016815
-:1014A0006D4A0A4002602078C00650D56069012864
-:1014B00022D1B44800680743B2480760B1480068C9
-:1014C00001210143AF48016000F004FA0500AD4876
-:1014D00000683040002806D100F0FCF9401B0328CA
-:1014E000F5D30320ACE0A7480168F8229143A26934
-:1014F000D2000A4302602AE00421C943606988429D
-:101500000BD1A0480268114001600168F8229143A4
-:10151000A269D2000A43026019E09A4800680743B2
-:1015200098480760974800680121884395490860FA
-:1015300000F0D0F90500934800683040002806D03C
-:1015400000F0C8F9401B0328F5D3032078E0206A97
-:10155000002874D08C4800680C21014008294DD027
-:10156000206A022838D1894F38688949014039609A
-:1015700000F0B0F900908026B604386830400028AA
-:1015800007D000F0A7F90099401A0328F3D30320ED
-:1015900056E0994801680F229143E26A0A430260CB
-:1015A000794801687B4A0A40A16A1143626A0A438A
-:1015B00002603868802149040143396000F08AF9EB
-:1015C000050038683040002839D100F083F9401B0D
-:1015D0000328F6D3032033E06C4E30686C49014099
-:1015E000316000F077F905003068800127D500F000
-:1015F00071F9401B0328F7D3032021E0206A01285A
-:1016000001D101201CE06048006801907A48006820
-:1016100002900198802149020840616A88420CD1F9
-:1016200002980007000FE16A884206D10198F02174
-:1016300089030140A06A814201D0012000E000201E
-:1016400005B0F0BD241002401C10024000700040A4
-:101650002010024089130000FFFFFFEFF3B581B0B7
-:101660000400002C01D101208BE00125634E30687D
-:101670002840029988420CD230680121884302999F
-:1016800001433160306828400299884201D001202E
-:1016900077E002202168014000290FD02178490716
-:1016A00005D539490A68E023DB0013430B6036494E
-:1016B0000A68F0239A43A36813430B60216829400A
-:1016C000002932D06168012905D1304800688003C3
-:1016D00011D4012055E06168022905D12B4800682A
-:1016E000800108D401204CE02849096808400028FE
-:1016F00001D1012045E0244F386803218843616807
-:101700000143396000F0E6F8009038680C21014090
-:1017100060688000814208D000F0DCF80099401A2F
-:1017200037498842F1D303202BE0029831682940E1
-:1017300088420CD23068012188430299014331600C
-:10174000306805400298854201D0012019E02078D8
-:10175000400706D50C4801682A4A0A40E16811434F
-:10176000016000F019F82849074A126812091207A7
-:10177000120F895CC84025490860002000F0B0F8CD
-:101780000020FEBD34100240041002400010024050
-:10179000FFFFFFFEFFFFC2FFF8B50024200000940A
-:1017A000250026001A490F680C213940042902D06F
-:1017B000082902D01BE017481AE00F201649BA0C7E
-:1017C0000240895C0E0015490B4A12681040085C03
-:1017D0000090F80306D50F48009900F023F87043F5
-:1017E000050002E00E4870430500280000E00948AB
-:1017F000F2BD0648006870472C10024000200240ED
-:1018000089130000FFF8FFFF5020000804000020AB
-:101810000410024000127A00302000084020000826
-:1018200000093D000022030A8B420BD203098B42C0
-:1018300019D243088B422ED2411A00D2014652419E
-:1018400010467047FF2209023FD012068B4205D393
-:10185000121209028B4201D31212090203098B42B0
-:1018600019D300E0090AC3098B4201D3CB01C01A86
-:10187000524183098B4201D38B01C01A5241430963
-:101880008B4201D34B01C01A524103098B4201D351
-:101890000B01C01A5241C3088B4201D3CB00C01ABE
-:1018A000524183088B4201D38B00C01A5241430836
-:1018B0008B4201D34B00C01A5241884200D3401AD8
-:1018C0005241CFD201461046704708B500F030F8BB
-:1018D00008BDFEE701480068704700BF70010020A6
-:1018E00010B50400FA2080000E490978FFF79AFF2E
-:1018F00001000D480068FFF795FFFFF73DFC002849
-:1019000001D001200CE0042C09D20022210000208B
-:10191000C043FFF720FC05480460002000E00120E0
-:1019200010BD00BF080000200400002000000020BF
-:101930007047FEE770B586B014220021684600F0BB
-:10194000ADF88020800251490A6802430A600A68A3
-:101950001040059005988020C0020A6802430A6082
-:10196000096808400590059880256D0100950120C3
-:10197000019002200290032003909024E405694620
-:101980002000FFF761FA009569462000FFF75CFA36
-:101990001A2000903E4E69463000FFF755FA0420A9
-:1019A000009069462000FFF74FFA01220421200031
-:1019B000FFF747FB002229002000FFF742FB00222F
-:1019C0001A213000FFF73DFB06B070BD38B50500A9
-:1019D0002800C0B2012834D12E4C20782E4908703E
-:1019E0002078002805D0022811D008D3032814D06D
-:1019F00019E0012202212648FFF723FB13E0012210
-:101A0000802149019020C005FFF71BFB0BE001225C
-:101A100010211F48FFF715FB05E0012208211C4893
-:101A2000FFF70FFBFFE72800C0B201282DD1207877
-:101A3000032802D10020207027E02078401C20706D
-:101A400023E015480078002805D0022811D008D3DB
-:101A5000032814D019E0002202210D48FFF7F1FA03
-:101A600013E00022802149019020C005FFF7E9FA28
-:101A70000BE0002210210648FFF7E3FA05E0002200
-:101A800008210348FFF7DDFAFFE731BD14100240DB
-:101A9000000400487C0100207D01002010B50400F6
-:101AA000080011000200200000F002F8200010BD24
-:101AB0001206130A1A43130C1A4300BF094205D039
-:101AC000830705D00270401C491EF9D17047000001
-:101AD0001300103906D330B41400150010393CC07F
-:101AE000FCD230BC490700D30CC000D504C089002B
-:101AF00002D30280801C002900D502707047FEE7E7
-:101B0000F8B586B08020800239490A6802430A602D
-:101B100009680840009000988020000135490A6853
-:101B200002430A6009680840009000980220029071
-:101B300001210391032104910590C020C000019070
-:101B400001A99020C005FFF77FF92B4DFFF751FE4B
-:101B50002A49FFF767FE401E2880294C294820604B
-:101B6000288860602848E06000262661A6606661DB
-:101B7000A6612000FEF79CFA244D60202860AE602C
-:101B80002E61EE60AE616E612F1DC226F6003E60D2
-:101B9000042229002000FEF75BFD3E600822290098
-:101BA0002000FEF755FD04212000FEF7AFFA0821C2
-:101BB0002000FEF7ABFA07B0F0BD00B50200D2B2CC
-:101BC000012A02D0022A05D009E00A0092B2104B85
-:101BD0001A6004E00A0092B20E4B1A60FFE700BDE3
-:101BE000C220C0000A4908600A4908607047000026
-:101BF00014100240181002407A01002040420F00E9
-:101C0000CC000020002C0140204E000014010020D8
-:101C1000382C01403C2C014070B53C4C200000F0B9
-:101C2000B6F8FFF7DCF800282CD00120FFF7CEFE35
-:101C30009026F605002204213000FFF702FAFA256B
-:101C40006D00280000F0B0F8200000F0A0F801229C
-:101C500004213000FFF7F5F9280000F0A5F8200076
-:101C600000F095F800F00FF8280000F09DF8200033
-:101C700000F08DF80020FFF7A9FEFFF7B1FF00206C
-:101C8000FFF7B7F870BD10B5214C2078002805D0BB
-:101C900002280DD007D303280FD013E01D490120DF
-:101CA000FFF78BFF0EE01B490220FFF786FF09E0DC
-:101CB00019490120FFF781FF04E017490220FFF7CF
-:101CC0007CFFFFE72078032802D10020207002E08B
-:101CD0002078401C207010BD80B58CB0082000908A
-:101CE00000200890012007906846FFF757FA074840
-:101CF0000A49016020214160FA2189008160084978
-:101D0000C16000F00FF80DB000BD000044010020DC
-:101D10007E010020140500003A070000003000405A
-:101D2000FF0F000070B50400002C01D101202DE050
-:101D30001A48216808601A482168086060682168AC
-:101D40004860A06821688860FFF7C4FD0500072689
-:101D50002068C068304000280BD0FFF7BBFD401B57
-:101D60002828F4D32068C0680640002EEFD0032056
-:101D70000CE020680069E168884203D0E0682168CF
-:101D8000086102E0074821680860002070BD01007A
-:101D900004480A681060002070470000CCCC0000A6
-:101DA00055550000AAAA000070B50400FFF792FD87
-:101DB000050026000020C043864202D00448007877
-:101DC0003618FFF787FD401BB042FAD370BD00BF45
-:101DD0000800002080B500F045F800F032F81E48F9
-:101DE0000178491C017001780A2901D10021017094
-:101DF00000200A2824DA19490C2242438A18127A50
-:101E0000002A1BD00C2242438A189288521E0C23AF
-:101E10004343CB189A800C2242438A189288002AA6
-:101E20000CD10C2242438A18D2880C234343CB188E
-:101E30009A8001220C234343C9184A72401CD8E7F8
-:101E400001BD00B506480168002902D00168491E9D
-:101E5000016000BD00000000820100200C00002095
-:101E60007401002003480168034A12788918016050
-:101E7000704700BF700100200800002080B500F00E
-:101E800043F800F00BF8FFF755FDFFF739FEFEF7BA
-:101E9000FBFEFFF721FFFFF7BFFEFCE738B590B070
-:101EA0003022002104A8FFF7F9FD10220021684626
-:101EB000FFF7F4FD122004900120079009901020F4
-:101EC00008900A9002240C9400250D95A020800310
-:101ED0000E900F9504A8FFF761F9002801D000F0DB
-:101EE0000FF80720009001940295039501216846A0
-:101EF000FFF7B4FB002801D000F002F811B030BDAC
-:101F000000B572B6FEE7FEE780B50648016810220C
-:101F10000A4302600020FFF7E3FC00F005F8002010
-:101F200002BD000000200240704770B4012300246D
-:101F300013E00168001D194202D04D466D1E49197B
-:101F40000C60091D121F042AFAD20D00960701D554
-:101F50000C80AD1C1A4000D02C700268001D002AB5
-:101F6000E7D170BC704730B401220EE00368C3189B
-:101F700044680830144202D04D466D1E64191D6835
-:101F800025601B1D241D091FF9D10168001D0029B2
-:101F9000ECD130BC7047FEE710B5074979441831E1
-:101FA000064C7C44163404E0081D0A6889188847EA
-:101FB0000100A142F8D110BD080000002800000077
-:101FC0006BFFFFFF780100000C0000200000000004
-:101FD00097FFFFFF0C000000B00000000000002091
-:101FE0000000000000F00DF8002801D0FFF7D4FF3A
-:101FF00000BF00BF002000BF00BFFFF73FFF00F0A1
-:1020000002F80120704780B500F002F801BDFEE73C
-:102010000746384600F002F8FBE7FEE780B500BF50
-:1020200000BF024A11001820ABBEFBE726000200E9
-:1020300002030405060708090A0B0C0D0E0F101009
-:102040000102030405060708090A0B0C0D0E0F1008
-:102050000000000000000000010203040607080958
-:102060000148804701480047AD2000087D20000856
-:1020700000B5FEE700B5FEE77047704700BF00BF40
-:1020800000BF00BFFFF7AEFF0400000000127A009F
-:1020900001000000FEE7FEE7FEE7FEE7FEE7FEE7E1
-:0E20A000FEE7FEE7FEE7FEE7FEE7FEE770471D
-:040000050800207D52
+:100D500004212800FFF77CFA07B0F0BD80B53248C7
+:100D6000FFF732FB01BD38B50400207F012841D1D7
+:100D7000314D00212000FFF71FFD28602868002862
+:100D800033D02848296800F059FD2D4908602B4DC3
+:100D900004212000FFF710FD2860286829498842B7
+:100DA0000AD329480178491C0170002204219020AF
+:100DB000C00500F052F90BE000200100234A117039
+:100DC00021490870012204219020C00500F045F956
+:100DD0001D48007810280DD11C480178002909D140
+:100DE000012101701A48017004E0002013490860D5
+:100DF0001349086031BD00B515480078002801D0BE
+:100E0000012000E00020C0B200BD11490870704709
+:100E100000000000141002401C100240FFFF000000
+:100E20006801002040420F008400002000040040C0
+:100E3000440100203001002054010020580100200E
+:100E40005C010020410600007101002070010020BB
+:100E50006F010020704770477047704770477047B8
+:100E6000F1B582B000230868D840002800D1F3E033
+:100E70000124086825009D4005400195019800283F
+:100E800000D1E7E0032548682840012803D04868DE
+:100E9000284002281ED1029886681F00022047437E
+:100EA0002800B8408643CF68BC4618000227784324
+:100EB000674687403743029887600298466820005B
+:100EC000984086434868000920409840304302001B
+:100ED0000298426048682840032812D00298C668E9
+:100EE0001F00022047432800B84086438F68BC4655
+:100EF0001800022778436746874037433A00029834
+:100F0000C26048682840022821D10298DE080427E0
+:100F10007E438019076A072000970F26B4461F00FA
+:100F20000740042677436646BE40009FB743BC4651
+:100F30000E691F00384004277843864067463E43C9
+:100F400032000298DE0804277E438019026202986C
+:100F500006681F00022047432800B84086434F68B8
+:100F60002F40BC4618000227784367468740374326
+:100F70003A00029802604868C026B6020640002E79
+:100F800068D03C4806682643066000682040009010
+:100F90000098394E980804277843305800900F275E
+:100FA000BC461F0028003840042778436746874026
+:100FB0000098B843009002989027FF05B84201D1ED
+:100FC000002410E002982D4A90420CD002982C4A3E
+:100FD000904201D1022406E002982A4A904201D1AF
+:100FE0002C0000E0052400981A0015400422554307
+:100FF000AC4004439808042250433450224A1068FD
+:10100000019DA8434D68ED0202D5040001982043DC
+:1010100010601E4C2268019DAA434D68AD0202D5A6
+:101020001000019A02432260194C2068019DA843D8
+:101030004D68AD0302D50200019810432060154CA5
+:101040002268019DAA434D68ED0302D51000019A64
+:10105000024322605B1C06E7F7BD00B51300DBB25C
+:10106000002B03D00B009BB2836102E00B009BB20C
+:10107000836200BD181002400800014000040048CF
+:1010800000080048000C0048080401400C0401401E
+:10109000040401400004014000B5010049B20029E8
+:1010A00005D40121C206D20E91403C4A116000BD18
+:1010B000F0B5020052B2002A1CD40322384B0400BF
+:1010C00064B2A40804256C431C59FF251600064091
+:1010D00008277E43B540AC438D01EDB2024008269F
+:1010E000724395402543020052B2920804246243A1
+:1010F0009D5022E00F242B4A032305006DB22540AA
+:10110000083DAD0804267543060076B23440083C1D
+:10111000A408042674431659FF27BC461C0004404B
+:1011200008277C436746A740BE438C01E4B20340D6
+:1011300008277B439C4034435451F0BD10B5040054
+:10114000601E80214904884201D301200EE0601E08
+:101150001549086003210020C043FFF7A9FF0020C4
+:1011600012490860072012490860002010BD70B5C0
+:1011700005000C0016002100280040B2FFF798FF80
+:1011800070BD10B50400200040B2FFF785FF10BD10
+:1011900010B504002000FFF7D1FF10BD00E100E012
+:1011A00000E400E01CED00E014E000E018E000E0E6
+:1011B00010E000E0F8B584B00400002C01D101205B
+:1011C0004AE22078C00766D50C20B4490A6802407C
+:1011D000042A09D00A68104008280ED18020400255
+:1011E00009680140814208D1AD480068800352D5AA
+:1011F000606800284FD101202EE26068012806D1E6
+:10120000A7480168802252020A43026024E0606815
+:10121000002809D1A2480168A24A0A400260016878
+:10122000A14A0A40026017E0606805280BD19C487B
+:1012300001688022D2020A430260016880225202C1
+:101240000A43026008E096480168964A0A40026034
+:101250000168954A0A400260606800280DD000F0DD
+:1012600045FB05008E480068800314D400F03EFB67
+:10127000401B6528F6D30320EEE100F037FB0500A4
+:1012800087480068800306D500F030FB401B6528C6
+:10129000F6D30320E0E102262068304000284FD03A
+:1012A0000C207E490A680240002A06D00A681040D5
+:1012B000082814D10868C00311D479480168314066
+:1012C000002904D0E168012901D00120C4E10168AE
+:1012D000F82291432269D2000A43026030E0E068BC
+:1012E00000281AD06E4F386801210143396000F0A0
+:1012F000FDFA050038683040002806D100F0F6FA03
+:10130000401B0328F6D30320A6E13868F821884360
+:101310002169C9000143396012E0614F3868012139
+:101320008843386000F0E2FA050038683040002851
+:1013300006D000F0DBFA401B0328F6D303208BE134
+:101340002078000728D5E069002812D0C34F3868FC
+:1013500001210143396000F0C9FA050038683040C6
+:10136000002819D100F0C2FA401B0328F6D303204D
+:1013700072E1BA4F386801218843386000F0B6FA4C
+:10138000050038683040002806D000F0AFFA401B56
+:101390000328F6D303205FE10427206838400028A3
+:1013A00000D18CE000206946087080204005AC49DF
+:1013B0000968014000290AD1A9490A6802430A6064
+:1013C0000968084003900398012069460870A54801
+:1013D0000068C00514D4A348006880214900014377
+:1013E000A048016000F082FA05009E480068C00530
+:1013F00006D400F07BFA401B6528F6D303202BE1CE
+:10140000A068012805D19848016801220A430260BA
+:1014100021E0A068002809D1934801680122914386
+:101420000160016804229143016014E0A06805286E
+:1014300008D18D48016839430160016801220A43DF
+:10144000026008E088480168012291430160016858
+:10145000042291430160A06800280FD000F046FAF2
+:10146000050081480068304000281FD100F03EFA96
+:10147000401B7E498842F4D30320EDE000F036FAA9
+:10148000050079480068304000280FD000F02EFA9F
+:10149000401B76498842F4D30320DDE0041002406B
+:1014A00000100240FFFFFEFFFFFFFBFF68460078D1
+:1014B000012804D16A4801686D4A0A400260207818
+:1014C000C00650D56069012822D1B448006807439E
+:1014D000B2480760B148006801210143AF4801608C
+:1014E00000F004FA0500AD4800683040002806D13D
+:1014F00000F0FCF9401B0328F5D30320ACE0A7481B
+:101500000168F8229143A269D2000A4302602AE0EE
+:101510000421C943606988420BD1A0480268114088
+:1015200001600168F8229143A269D2000A43026077
+:1015300019E09A4800680743984807609748006890
+:10154000012188439549086000F0D0F905009348CF
+:1015500000683040002806D000F0C8F9401B03287E
+:10156000F5D3032078E0206A002874D08C48006806
+:101570000C21014008294DD0206A022838D1894F1A
+:10158000386889490140396000F0B0F90090802640
+:10159000B60438683040002807D000F0A7F9009959
+:1015A000401A0328F3D3032056E0994801680F221C
+:1015B0009143E26A0A430260794801687B4A0A4023
+:1015C000A16A1143626A0A430260386880214904B3
+:1015D0000143396000F08AF905003868304000287E
+:1015E00039D100F083F9401B0328F6D3032033E000
+:1015F0006C4E30686C490140316000F077F90500AD
+:101600003068800127D500F071F9401B0328F7D31B
+:10161000032021E0206A012801D101201CE060485C
+:10162000006801907A480068029001988021490280
+:101630000840616A88420CD102980007000FE16AF5
+:10164000884206D10198F02189030140A06A8142B5
+:1016500001D0012000E0002005B0F0BD24100240C0
+:101660001C1002400070004020100240891300004E
+:10167000FFFFFFEFF3B581B00400002C01D1012082
+:101680008BE00125634E30682840029988420CD2D5
+:101690003068012188430299014331603068284055
+:1016A0000299884201D0012077E0022021680140A0
+:1016B00000290FD02178490705D539490A68E02368
+:1016C000DB0013430B6036490A68F0239A43A36892
+:1016D00013430B6021682940002932D06168012939
+:1016E00005D130480068800311D4012055E06168BD
+:1016F000022905D12B480068800108D401204CE064
+:10170000284909680840002801D1012045E0244FFC
+:1017100038680321884361680143396000F0E6F8C6
+:10172000009038680C21014060688000814208D038
+:1017300000F0DCF80099401A37498842F1D30320C1
+:101740002BE002983168294088420CD23068012190
+:101750008843029901433160306805400298854210
+:1017600001D0012019E02078400706D50C48016817
+:101770002A4A0A40E1681143016000F019F828493B
+:10178000074A126812091207120F895CC8402549DE
+:101790000860002000F0B0F80020FEBD34100240C8
+:1017A0000410024000100240FFFFFFFEFFFFC2FFD7
+:1017B000F8B5002420000094250026001A490F687F
+:1017C0000C213940042902D0082902D01BE0174817
+:1017D0001AE00F201649BA0C0240895C0E00154928
+:1017E0000B4A12681040085C0090F80306D50F48B9
+:1017F000009900F023F87043050002E00E487043A2
+:101800000500280000E00948F2BD0648006870475E
+:101810002C1002400020024089130000FFF8FFFF57
+:10182000D81F0008040000200410024000127A00B3
+:10183000B81F0008C81F000800093D000022030A65
+:101840008B420BD203098B4219D243088B422ED212
+:10185000411A00D20146524110467047FF22090248
+:101860003FD012068B4205D3121209028B4201D3DC
+:101870001212090203098B4219D300E0090AC309B5
+:101880008B4201D3CB01C01A524183098B4201D351
+:101890008B01C01A524143098B4201D34B01C01A3C
+:1018A000524103098B4201D30B01C01A5241C308B4
+:1018B0008B4201D3CB00C01A524183088B4201D323
+:1018C0008B00C01A524143088B4201D34B00C01A0F
+:1018D0005241884200D3401A5241CFD201461046AD
+:1018E000704708B500F030F808BDFEE70148006811
+:1018F000704700BF6001002010B50400FA2080008E
+:101900000E490978FFF79AFF01000D480068FFF7BC
+:1019100095FFFFF73DFC002801D001200CE0042CCE
+:1019200009D2002221000020C043FFF720FC054817
+:101930000460002000E0012010BD00BF080000206E
+:1019400004000020000000207047FEE770B586B05C
+:1019500014220021684600F0ADF880208002514931
+:101960000A6802430A600A681040059005988020C2
+:10197000C0020A6802430A60096808400590059899
+:1019800080256D0100950120019002200290032026
+:1019900003909024E40569462000FFF761FA009562
+:1019A00069462000FFF75CFA1A2000903E4E694617
+:1019B0003000FFF755FA0420009069462000FFF739
+:1019C0004FFA012204212000FFF747FB00222900E3
+:1019D0002000FFF742FB00221A213000FFF73DFBF9
+:1019E00006B070BD38B505002800C0B2012834D15A
+:1019F0002E4C20782E4908702078002805D0022827
+:101A000011D008D3032814D019E00122022126485E
+:101A1000FFF723FB13E00122802149019020C0053C
+:101A2000FFF71BFB0BE0012210211F48FFF715FBFE
+:101A300005E0012208211C48FFF70FFBFFE7280003
+:101A4000C0B201282DD12078032802D100202070B7
+:101A500027E02078401C207023E0154800780028FB
+:101A600005D0022811D008D3032814D019E0002291
+:101A700002210D48FFF7F1FA13E00022802149010D
+:101A80009020C005FFF7E9FA0BE00022102106487C
+:101A9000FFF7E3FA05E0002208210348FFF7DDFA2B
+:101AA000FFE731BD14100240000400486C01002023
+:101AB0006D01002010B50400080011000200200094
+:101AC00000F002F8200010BD1206130A1A43130C8E
+:101AD0001A4300BF094205D0830705D00270401C9D
+:101AE000491EF9D1704700001300103906D330B4F5
+:101AF0001400150010393CC0FCD230BC490700D39B
+:101B00000CC000D504C0890002D30280801C0029CB
+:101B100000D502707047FEE7F8B586B080208002DD
+:101B200039490A6802430A60096808400090009831
+:101B30008020000135490A6802430A6009680840AC
+:101B4000009000980220029001210391032104914A
+:101B50000590C020C000019001A99020C005FFF7AA
+:101B60007FF92B4DFFF751FE2A49FFF767FE401E14
+:101B70002880294C29482060288860602848E06037
+:101B800000262661A6606661A6612000FEF790FA35
+:101B9000244D60202860AE602E61EE60AE616E6103
+:101BA0002F1DC226F6003E60042229002000FEF709
+:101BB0004FFD3E60082229002000FEF749FD042168
+:101BC0002000FEF7A3FA08212000FEF79FFA07B0D5
+:101BD000F0BD00B50200D2B2012A02D0022A05D01F
+:101BE00009E00A0092B2104B1A6004E00A0092B2B7
+:101BF0000E4B1A60FFE700BDC220C0000A49086012
+:101C00000A49086070470000141002401810024092
+:101C10006A01002040420F00CC000020002C01404F
+:101C2000204E000014010020382C01403C2C0140C3
+:101C300070B5354C354D2560FFF7DDF800281AD01A
+:101C40000120FFF7CFFEFA267600300000F070F892
+:101C50002560300000F06CF8256000F00DF83000D1
+:101C600000F066F825600020FFF7BCFEFFF7C4FF18
+:101C70000020FFF7CAF870BD10B5254C2078002869
+:101C800005D002280DD007D303280FD013E0214937
+:101C90000120FFF79EFF0EE01E490220FFF799FF8B
+:101CA00009E01D490120FFF794FF04E01A490220D2
+:101CB000FFF78FFFFFE72078032802D10020207074
+:101CC00002E02078401C207010BD80B58CB0082048
+:101CD000009000200890012007906846FFF76AFAFC
+:101CE00009480E4901600E49016004210D4A116046
+:101CF000FA2189000C4A11600C4909680029FBD1BE
+:101D0000024901600DB000BD00300040AAAA0000E9
+:101D10006E010020140500003A070000CCCC000042
+:101D20005555000004300040083000400C300040A1
+:101D300070B50400FFF7DAFD050026000020C0435F
+:101D4000864202D0044800783618FFF7CFFD401BCA
+:101D5000B042FAD370BD00BF0800002080B500F08B
+:101D600045F800F032F81E480178491C01700178EE
+:101D70000A2901D10021017000200A2824DA19491A
+:101D80000C2242438A18127A002A1BD00C224243AA
+:101D90008A189288521E0C234343CB189A800C2237
+:101DA00042438A189288002A0CD10C2242438A1896
+:101DB000D2880C234343CB189A8001220C2343433F
+:101DC000C9184A72401CD8E701BD00B50648016831
+:101DD000002902D00168491E016000BD000000001A
+:101DE000720100200C0000206401002003480168FB
+:101DF000034A127889180160704700BF6001002013
+:101E00000800002080B500F043F800F00BF8FFF761
+:101E10009DFDFFF781FEFEF737FFFFF756FFFFF747
+:101E200007FFFCE738B590B03022002104A8FFF787
+:101E300041FE102200216846FFF73CFE122004906C
+:101E4000012007900990102008900A9002240C9419
+:101E500000250D95A02080030E900F9504A8FFF794
+:101E6000A9F9002801D000F00FF807200090019494
+:101E70000295039501216846FFF7FCFB002801D07D
+:101E800000F002F811B030BD00B572B6FEE7FEE713
+:101E900080B50648016810220A4302600020FFF75F
+:101EA0002BFD00F005F8002002BD000000200240DC
+:101EB000704770B40123002413E00168001D19422B
+:101EC00002D04D466D1E49190C60091D121F042ACF
+:101ED000FAD20D00960701D50C80AD1C1A4000D037
+:101EE0002C700268001D002AE7D170BC704730B426
+:101EF00001220EE00368C31844680830144202D07F
+:101F00004D466D1E64191D6825601B1D241D091F8B
+:101F1000F9D10168001D0029ECD130BC7047FEE703
+:101F200010B5074979441831064C7C44163404E056
+:101F3000081D0A68891888470100A142F8D110BD20
+:101F400008000000280000006BFFFFFF6801000090
+:101F50000C0000200000000097FFFFFF0C000000B5
+:101F6000B0000000000000200000000000F00DF8AC
+:101F7000002801D0FFF7D4FF00BF00BF002000BF42
+:101F800000BFFFF73FFF00F002F80120704780B567
+:101F900000F002F801BDFEE70746384600F002F8FF
+:101FA000FBE7FEE780B500BF00BF024A1100182022
+:101FB000ABBEFBE726000200020304050607080982
+:101FC0000A0B0C0D0E0F1010010203040506070882
+:101FD000090A0B0C0D0E0F1000000000000000009D
+:101FE0000102030406070809014880470148004729
+:101FF000352000080520000800B5FEE700B5FEE723
+:102000007047704700BF00BF00BF00BFFFF7AEFFC3
+:102010000400000000127A0001000000FEE7FEE765
+:10202000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE788
+:06203000FEE7FEE7704729
+:0400000508002005CA
 :00000001FF

文件差异内容过多而无法显示
+ 289 - 289
project/ewarm/drone.dep


文件差异内容过多而无法显示
+ 2 - 2
project/settings/drone.wsdt


+ 1 - 1
user/main.c

@@ -35,7 +35,7 @@ int main()
     printf("FW started...\r\n");
 #endif    
     
-    while(1) 
+     while(1) 
     {
         logic_main();
     }

部分文件因为文件数量过多而无法显示