diff --git a/embedded-c-system-code/All_cubeIDE/.cproject b/embedded-c-system-code/All_cubeIDE/.cproject
index 20a2829..3e676b9 100644
--- a/embedded-c-system-code/All_cubeIDE/.cproject
+++ b/embedded-c-system-code/All_cubeIDE/.cproject
@@ -22,8 +22,8 @@
-
-
+
+
@@ -50,6 +50,16 @@
+
+
+
@@ -58,7 +68,14 @@
-
+
+
+
+
+
+
+
+
@@ -121,6 +138,15 @@
+
+
+
@@ -129,7 +155,14 @@
-
+
+
+
+
+
+
+
+
@@ -156,14 +189,20 @@
+
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.bin b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.bin
index 1d3e288..7ea6f17 100755
Binary files a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.bin and b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.bin differ
diff --git a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.elf b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.elf
index af71bd6..5532b95 100755
Binary files a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.elf and b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.elf differ
diff --git a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.hex b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.hex
index 9abee62..9836c8d 100644
--- a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.hex
+++ b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.hex
@@ -1,27 +1,27 @@
:020000040800F2
-:1000000000500020D92500082926000829260008CC
-:1000100029260008292600082926000800000000DB
-:100020000000000000000000000000002926000879
-:10003000292600080000000029260008F11A0008FF
-:100040002926000829260008292600082926000854
-:100050002926000829260008D5150008F9150008EA
-:100060001D1600084116000865160008292600081C
-:100070002926000829260008292600082926000824
-:100080002926000829260008292600082926000814
-:1000900029260008292600082926000889160008B4
-:1000A00029260008292600082926000829260008F4
-:1000B00029260008292600082926000829260008E4
-:1000C00029260008292600082926000829260008D4
-:1000D00029260008292600082926000829260008C4
-:1000E0005D170008292600080000000029260008E6
-:1000F00029260008292600082926000829260008A4
-:100100002926000829260008292600082926000893
-:100110002926000829260008292600082926000883
-:100120002926000829260008292600082926000873
+:10000000005000200D2700085D2700085D2700082C
+:100010005D2700085D2700085D270008000000003C
+:100020000000000000000000000000005D27000844
+:100030005D270008000000005D270008F11A000895
+:100040005D2700085D2700085D2700085D27000880
+:100050005D2700085D270008D5150008F915000880
+:100060001D16000841160008651600085D270008E7
+:100070005D2700085D2700085D2700085D27000850
+:100080005D2700085D2700085D2700085D27000840
+:100090005D2700085D2700085D2700088916000815
+:1000A0005D2700085D2700085D2700085D27000820
+:1000B0005D2700085D2700085D2700085D27000810
+:1000C0005D2700085D2700085D2700085D27000800
+:1000D0005D2700085D2700085D2700085D270008F0
+:1000E0005D1700085D270008000000005D2700087C
+:1000F0005D2700085D2700085D2700085D270008D0
+:100100005D2700085D2700085D2700085D270008BF
+:100110005D2700085D2700085D2700085D270008AF
+:100120005D2700085D2700085D2700085D2700089F
:1001300010B5054C237833B9044B13B10448AFF321
:1001400000800123237010BD680000200000000023
-:10015000FC34000808B5034B1BB103490348AFF357
-:10016000008008BD000000006C000020FC34000886
+:100150003436000808B5034B1BB103490348AFF31D
+:10016000008008BD000000006C000020343600084C
:1001700081F0004102E000BF83F0004330B54FEA58
:1001800041044FEA430594EA050F08BF90EA020FC5
:100190001FBF54EA000C55EA020C7FEA645C7FEA58
@@ -395,8 +395,8 @@
:101890001B68013B174A13600AE0FB7B002B07D152
:1018A000134B02221A70134B1B680133114A136049
:1018B000104B1B6818E0FB7B012B08D10E4B01225B
-:1018C0001A700E4B1B68013B0C4A13600AE0FB7B4D
-:1018D000002B07D1084B02221A70084B1B680133FA
+:1018C0001A700E4B1B6801330C4A13600AE0FB7B55
+:1018D000002B07D1084B02221A70084B1B68013BF2
:1018E000064A1360054B1B6818461037BD4680BD7D
:1018F000C5000020CC000020C4000020C80000204B
:1019000080B483B000AF0346FB71FB79082B03D191
@@ -465,404 +465,424 @@
:101CF0003404004080B500AF02210220FFF75CFEF3
:101D000000210220FFF758FE11210120FFF754FEA9
:101D1000092202210020FFF775FA04220321002086
-:101D2000FFF770FA0D4B40F241329A600B4BDB68C3
-:101D30000A4A43F00803D360084BDB68074A43F0C4
-:101D40000403D360054BDB68044A43F40053D360BB
-:101D5000024B00221A6000BF80BD00BF004400405B
-:101D600080B483B000AF0346FB710B4AFB7953602C
-:101D700000BF094B1B689B0903F00103002BF8D03F
-:101D8000054B1B68044A23F04003136000BF0C3767
-:101D9000BD4680BC704700BF0044004080B582B0A3
-:101DA00000AF786007E07B681B781846FFF7D8FF24
-:101DB0007B6801337B607B681B78002BF3D100BF0D
-:101DC00000BF0837BD4680BD80B588B000AF7860E1
-:101DD00007F10C030A221946786800F069FC07F144
-:101DE0000C03FB61F869FFF7D9FF00BF2037BD4640
-:101DF00080BD000080B483B000AF0023FB7100BF42
-:101E0000074B1B685B0903F00103002BF8D0044B60
-:101E10005B68FB71FB7918460C37BD4680BC704788
-:101E20000044004080B584B000AF78600023FB73AD
-:101E30000023BB73FFF7DEFF0346FB730BE0BB7BA6
-:101E40007A681344FA7B1A70BB7B0133BB73FFF7CC
-:101E5000D1FF0346FB73FB7B002BF0D1BB7B184605
-:101E60001037BD4680BD000080B500AF08210020BE
-:101E7000FFF7F2FC0346024A136000BF80BD00BFBB
-:101E8000E000002080B500AF0A210120FFF7E4FC4C
-:101E90000346024A136000BF80BD00BFDC00002083
-:101EA0002DE9B04382B000AF5348FFF7BBFF0346B4
-:101EB0001A46524B1A70524B00221A804E4B1B7816
-:101EC000612B40F090804C4B5B782D2B4AD1022344
-:101ED000FB7138E04A4BB3F900301846FEF79AFA26
-:101EE00004460D46FB79444AD35C303B1846FEF766
-:101EF00091FA80468946414B1B785A1EFB79D31ACA
-:101F00001846FEF787FA02460B464FF000003D499F
-:101F100000F012FC02460B4640464946FEF7E4FA42
-:101F200002460B4620462946FEF728F902460B4694
-:101F300010461946FEF788FD03461AB2304B1A8048
-:101F4000FB790133FB712D4B1B78FA799A42C1D38F
-:101F50002B4BB3F900309BB25B429BB21AB2284BB9
-:101F60001A8040E00123BB7138E0254BB3F9003003
-:101F70001846FEF74FFA04460D46BB791E4AD35C5D
-:101F8000303B1846FEF746FA804689461B4B1B78C5
-:101F90005A1EBB79D31A1846FEF73CFA02460B4686
-:101FA0004FF00000174900F0C7FB02460B464046C1
-:101FB0004946FEF799FA02460B4620462946FEF7A7
-:101FC000DDF802460B4610461946FEF73DFD034676
-:101FD0001AB20B4B1A80BB790133BB71074B1B78CC
-:101FE000BA799A42C1D3064BB3F900301846083784
-:101FF000BD46BDE8B08300BFF4000020F000002023
-:102000000A0100200000244080B582B000AF002308
-:102010007B800023FB800023BB80FFF741FF03464A
-:102020007B807B885A339BB2FB80B7F90630B42B98
-:1020300004DDFB88A3F5B4739BB2FB80FA887B8830
-:10204000D31A9BB2BB80012200210020FFF7B0F918
-:10205000002205210020FFF7ABF91E20FFF7DCFD71
-:102060001E20FFF737FEB7F9043013F1B40F04DA7E
-:10207000BB8803F5B4739BB2BB80B7F90430002B67
-:102080001EDC0020FFF726FE0020FFF7C5FD08201C
-:10209000FFF736FC0A20FFF733FC1048FFF77EFEFF
-:1020A0000F48FFF77BFE0F4B1B681846FEF7C2FF79
-:1020B00003461846FFF788FE0948FFF76FFE09E060
-:1020C000FFF7EEFE03467B80FA887B88D31A9BB22B
-:1020D000BB80B8E700BF0837BD4680BD1835000893
-:1020E0001C350008E800002080B582B000AF002356
-:1020F0007B800023FB800023BB80FFF7D1FE0346DB
-:102100007B807B885A3B9BB2FB80B7F9063013F18A
-:10211000B40F04DAFB8803F5B4739BB2FB80FA8832
-:102120007B88D31A9BB2BB80012200210020FFF7DD
-:102130003FF9002205210020FFF73AF91E20FFF7A2
-:102140006BFD1E20FFF7C6FDB7F90430B42B04DD8C
-:10215000BB88A3F5B4739BB2BB80B7F90430002BE6
-:102160001EDB0020FFF7B6FD0020FFF755FD08201D
-:10217000FFF7C6FB0A20FFF7C3FB1048FFF70EFE70
-:102180000F48FFF70BFE0F4B1B681846FEF752FF78
-:1021900003461846FFF718FE0948FFF7FFFD09E060
-:1021A000FFF77EFE03467B80FA887B88D31A9BB2BA
-:1021B000BB80B9E700BF0837BD4680BD18350008B1
-:1021C0001C350008E800002080B582B000AF002375
-:1021D0007B600820FFF794FB0A20FFF791FBFFF7D5
-:1021E000ABFB4FF433737B601C4B1B881846FFF727
-:1021F00013FD1A4B1B881846FFF76CFD184B1B6824
-:10220000002BB8BF5B421A467B689342ECD808208B
-:10221000FFF776FB0A20FFF773FB104B00221A80B2
-:102220000020FFF757FD0020FFF7F6FC0D48FFF7F1
-:10223000B5FD0D48FFF7B2FD0C4B1B681846FEF7C5
-:10224000F9FE03461846FFF7BFFD0748FFF7A6FD56
-:1022500000BF00BF0837BD4680BD00BF0801002099
-:10226000DC000020203500081C350008E8000020B4
-:1022700098B500AFFEF766FF03461A46224B1A8058
-:10228000214B1B881846FEF7C5F81DA3D3E9002390
-:10229000FEF72AF902460B46104619464FF0000297
-:1022A0001A4BFEF74BFA02460B4610461946FEF74C
-:1022B00013FC0346164A1360164B1B881A46164B2E
-:1022C0001B8813441846FEF711FD0246104B1B688D
-:1022D00019461046FEF75EFD03461C460E4B1B8852
-:1022E0001846FEF703FD034619462046FEF706FE94
-:1022F00003461A46094B1A6000BF98BDAFF3008031
-:102300006666666666660A40E40000200000B0402B
-:10231000EC0000200000002002000020E800002067
-:102320002DE9B04382B000AFFFF734FB0221022059
-:10233000FFF742FB03210220FFF73EFB00210220B2
-:10234000FFF73AFB00210120FFF736FB01210120B6
-:10235000FFF732FB09210220FFF72EFB0A220121A1
-:102360000020FEF74FFF022200210020FEF74AFF67
-:102370000A2206210020FEF745FF02220521002047
-:10238000FEF740FF042208210020FEF73BFF042255
-:1023900009210020FEF736FF04220A210120FEF762
-:1023A00031FF04220B210120FEF72CFF0022002127
-:1023B0000120FEF727FF00210820FEF7CFFE0121B4
-:1023C0000A20FEF7CBFE08217B48FFF7F1F80A212F
-:1023D0007A48FFF7EDF8FFF789F800210820FFF7AA
-:1023E00099F800210A20FFF795F8FEF749FE012130
-:1023F0000820FEF75DFE1720FFF7AAFA2820FFF756
-:10240000A7FAFFF71BFBFFF7A1FBFFF715FCFFF790
-:1024100071FC6B496B48FFF745FB6B48FFF702FD0A
-:1024200003461A46694B1A70674B1B78792B40F0AC
-:10243000A7800020FFF7F0FB0020FFF74BFC624B6A
-:102440005B782D2B4CD1002200210020FEF7B0FF3D
-:10245000002205210020FEF7ABFF0223FB7137E0CD
-:102460005B4B1B881846FDF7D5FF04460D46FB79EC
-:10247000554AD35C303B1846FDF7CCFF8046894671
-:10248000524B1B785A1EFB79D31A1846FDF7C2FF30
-:1024900002460B464FF000004E4900F04DF902464F
-:1024A0000B4640464946FEF71FF802460B462046BB
-:1024B0002946FDF763FE02460B4610461946FEF715
-:1024C000EBFA03469AB2424B1A80FB790133FB7157
-:1024D0003E4B1B78FA799A42C2D3FFF775FE9CE710
-:1024E000012200210020FEF763FF012205210020C8
-:1024F000FEF75EFF0123BB7137E0354B1B881846A2
-:10250000FDF788FF04460D46BB792F4AD35C303B6C
-:102510001846FDF77FFF804689462C4B1B785A1ED4
-:10252000BB79D31A1846FDF775FF02460B464FF0EC
-:102530000000284900F000F902460B464046494693
-:10254000FDF7D2FF02460B4620462946FDF716FE50
-:1025500002460B4610461946FEF79EFA03469AB20B
-:102560001B4B1A80BB790133BB71184B1B78BA79AE
-:102570009A42C2D3164B1B881846FFF725FE4CE73C
-:10258000114B1B786D2B0FD10020FFF745FB00206E
-:10259000FFF7A0FB0C4B5B782D2B02D1FFF734FD2E
-:1025A0003BE7FFF7A1FD38E70020FFF793FB002092
-:1025B000FFF732FB31E700BF691E0008851E0008E7
-:1025C0007122000840420F00F4000020F0000020BB
-:1025D00008010020000024400D488546AFF300802C
-:1025E0000C480D490D4A002302E0D458C45004336E
-:1025F000C4188C42F9D30A4A0A4C002301E0136044
-:102600000432A242FBD300F017F8FFF789FEFEE781
-:1026100000500020000000206800002080350008E5
-:10262000680000200C010020FEE70000014B186844
-:10263000704700BF0400002070B500260C4D0D4C03
-:10264000641BA410A64209D100F058FF00260A4DD1
-:102650000A4C641BA410A64205D170BD55F8043B7A
-:1026600098470136EEE755F8043B98470136F2E704
-:102670007835000878350008783500087C35000882
-:10268000931E222B10B50C4604D900231C460B7058
-:10269000204610BD0A2A09D1002807DA2D230B7025
-:1026A00001214042214400F005F8F1E70021F9E75B
-:1026B000FFF7E6BFF0B58BB005460B466E461D4CE6
-:1026C00004F1200C374620686168083403C764456C
-:1026D0003E46F7D1217920683971911E2229386050
-:1026E0004FF0000104D919700B4618460BB0F0BD2D
-:1026F000581E8446B5FBF2F702FB175628366E4487
-:1027000016F8286C0C460CF8016F2E46B2423D4676
-:1027100001F10101EED900225A541919A51AAA4251
-:10272000E3DA10F8015F0E780132067001F8015902
-:10273000F4E700BF233500082DE9F84314461D4691
-:102740008046894600F060F8224606460F462B4632
-:1027500020462946FEF762F9C8BB00220023404606
-:102760004946FEF729F9B8B1002200232046294640
-:10277000FEF722F9002841D12046294600F039FE13
-:1027800028B30022002320462946FEF71FF9F0B1A6
-:10279000FFF74CFF222319E03046394600F029FEAE
-:1027A000C8B94046494600F024FEA0B1204629465B
-:1027B00000F01FFE78B132463B4630463946FEF700
-:1027C0002DF90028E4D0FFF731FF212303603046C4
-:1027D0003946BDE8F8830022002330463946FEF72B
-:1027E000EBF80028F3D04046494600F002FE0028EE
-:1027F000EDD02046294600F0FCFDC8E70026014F39
-:10280000E5E700BF0000F03F2DE9F04F93B0CDE9C0
-:102810000223DDE9022727F00046894656EA020135
-:10282000804611D1031889F4002252419942824B0B
-:10283000934180F0B984DDE9022340464946FDF723
-:102840009DFC83468C466FE07C4B29F000449C4203
-:102850004D46824606DC01D10028ECD19E4201DCC7
-:102860000FD172B105F1404505F5801555EA0A050D
-:10287000E1D1DDE90232DB1882F4002252419D42AF
-:10288000D5E7002D39DA6E4B9E4252DCA3F154732A
-:102890009E4240F39C843315A3F2FF33142B0FDDCB
-:1028A000C3F1340322FA03F101FA03F3934240F037
-:1028B0008E8401F00101C1F10203009382B15DE059
-:1028C000002A59D1C3F1140346FA03F101FA03F3C4
-:1028D000B34240F0798401F00101C1F10203009399
-:1028E000584B9E4232D1002F80F26A8442464B46BA
-:1028F00000205449FDF722FFA3E700230093002A9C
-:102900003CD14E4B9E42EBD104F1404303F5801382
-:1029100053EA0A0300F048844B4B9C420BDD002F26
-:10292000C0F24884DDE902BC5846614613B0BDE8F8
-:10293000F08F0223E2E7002F4FF0000B4FF0000C66
-:10294000F2DADDE902B303F1004CEDE7B7F1804FB5
-:1029500006D142464B4640464946FDF7C5FD70E765
-:102960003A4B9F420AD1002D08DB4046494613B03E
-:10297000BDE8F04F00F05EBC00230093404649469E
-:1029800000F034FD83468C46BAF1000F28D124B103
-:102990002C4B25F040429A4222D1002F07DA5A46AA
-:1029A000634600202749FDF7C9FE83468C46002D6B
-:1029B000BADA009B04F1404404F58014234308D1A3
-:1029C0005A46634658466146FDF7D6FB02460B461B
-:1029D00090E7009B012BA7D10CF100439C46A3E795
-:1029E000EB0F013B0C930C9A009B134304D142461E
-:1029F0004B4640464946E7E7154B9E4240F3F6807A
-:102A000003F104739E42104B09DD9C420CDC002F45
-:102A10000CDA002013B0BDE8F04F00F0E2BC9C429D
-:102A2000F5DB084B9C4215DD002FF2DC002013B0D3
-:102A3000BDE8F04F00F0D0BC0000F0FF0000F07FD8
-:102A4000FFFF3F430000F03FFFFFEF3F0000E03F8C
-:102A50000000E0416146002258465F4BFDF78CFBC9
-:102A600055A3D3E9002304460D46FDF73DFD54A3CD
-:102A7000D3E9002306460F4620462946FDF734FDDC
-:102A8000002282468B4620462946544BFDF72CFDFA
-:102A900002460B464CA1D1E90001FDF76DFB224631
-:102AA0002B46FDF721FD02460B4600204C49FDF761
-:102AB00063FB22462B468046894620462946FDF781
-:102AC00013FD02460B4640464946FDF70DFD40A367
-:102AD000D3E90023FDF708FD02460B465046594650
-:102AE000FDF74AFB4FF0000A02460B4604460D462E
-:102AF00030463946FDF742FB32463B4650468B4650
-:102B0000FDF73AFB02460B4620462946FDF734FB0B
-:102B1000DDE90267009B0C9A013B13434FF000066E
-:102B20004FF000020CBF2F4B2B4B04460D46DDE946
-:102B30000201CDE9002332463B46FDF71DFB52461C
-:102B40005B46FDF7D1FCDDE902238046894620463D
-:102B50002946FDF7C9FC02460B4640464946FDF7AB
-:102B60000DFB32463B468046894650465946FDF7A6
-:102B7000BBFC04460D460B46024649464046CDE99D
-:102B80000245FDF7FBFA184B824699420F460E4666
-:102B900040F3E58201F13F4303F5E003034300F016
-:102BA000DF81DDE9000100220023FDF70FFF00387F
-:102BB00018BF01202EE700BF000000604715F73F57
-:102BC00044DF5DF80BAE543E555555555555D53F30
-:102BD000FE822B654715F73F0000F03F0000D03F15
-:102BE0000000E03F0000F0BFFFFF8F40D24B00220B
-:102BF0002B4043B958466146D04BFDF775FC6FF04A
-:102C0000340283460C462315A3F2FF3313440B937F
-:102C1000CB4BC4F3130444F07F559C4245F440155C
-:102C200008DDC84B9C4240F399810B9BA5F58015AC
-:102C300001330B930026F3000D93C34B584603EB6F
-:102C4000C603D3E9003429461A46CDE908342346A1
-:102C5000FDF792FADA462B465246CDE90E01DDE940
-:102C60000801FDF78BFA02460B460020B749FDF735
-:102C700065FD02460B46CDE91001DDE90E01FDF7C9
-:102C800033FCCDE90601DDE90634CDE90434002347
-:102C90000022AB466D1045F00055049305F5002564
-:102CA000DDE9048905EB86434046494614461D4646
-:102CB000FDF71AFC02460B46DDE90E01FDF75CFA52
-:102CC000DDE9082306460F4620462946FDF754FA5B
-:102CD00002460B4650465946FDF74EFA42464B46D1
-:102CE000FDF702FC02460B4630463946FDF744FA32
-:102CF000DDE91023FDF7F8FBDDE90623CDE9080146
-:102D000010461946FDF7F0FB79A3D3E900230446EA
-:102D10000D46FDF7E9FB78A3D3E90023FDF72EFA72
-:102D200022462B46FDF7E0FB75A3D3E90023FDF710
-:102D300025FA22462B46FDF7D7FB73A3D3E90023E0
-:102D4000FDF71CFA22462B46FDF7CEFB70A3D3E914
-:102D50000023FDF713FA22462B46FDF7C5FB6EA3B1
-:102D6000D3E90023FDF70AFA224606460F462B4612
-:102D700020462946FDF7B8FB02460B463046394649
-:102D8000FDF7B2FB04460D46DDE9060142464B461F
-:102D9000FDF7F4F9DDE90823FDF7A6FB22462B46F3
-:102DA000FDF7ECF9424606460F464B46404649467B
-:102DB000FDF79AFB0022664B82468B46FDF7DEF953
-:102DC00032463B46FDF7DAF900240D4622460B4613
-:102DD00040464946FDF788FB00228046894620464A
-:102DE00029465B4BFDF7C8F952465B46FDF7C4F92F
-:102DF00002460B4630463946FDF7BEF9DDE90623AB
-:102E0000FDF772FB224606460F46DDE908012B4618
-:102E1000FDF76AFB02460B4630463946FDF7AEF930
-:102E2000002406460F4602460B4640464946FDF73B
-:102E3000A5F93BA3D3E9002320460D46FDF754FB3B
-:102E400042464B46CDE9060120462946FDF794F956
-:102E500002460B4630463946FDF78EF932A3D3E9D8
-:102E60000023FDF741FB32A3D3E9002306460F46BA
-:102E700020462946FDF738FB02460B4630463946C8
-:102E8000FDF77CF90D9A334B4FF0000A1344D3E958
-:102E90000023FDF773F980460B988946FDF7BAFACF
-:102EA00004460D460D9A2C4B1344D3E90067424665
-:102EB000DDE906014B46FDF761F932463B46FDF779
-:102EC0005DF922462B46FDF759F922462B4650461E
-:102ED0008B46FDF751F932463B46FDF74DF9DDE9EA
-:102EE0000623FDF749F902460B46404649460DE6E2
-:102EF000EF4E454A287ECA3F65DBC9934A86CD3FDF
-:102F000001411DA96074D13F4D268F515555D53FC4
-:102F1000FFAB6FDBB66DDB3F033333333333E33F5C
-:102F2000000000E009C7EE3FFD033ADC09C7EE3FB1
-:102F3000F5015B14E02F3EBE0000F07F000040432F
-:102F40008E98030079B60B00483500080000F03F6A
-:102F500000000840683500085835000801266AE678
-:102F60009DA3D3E9002340464946FDF707F92246D1
-:102F7000CDE904012B4650463946FDF7FDF80246DF
-:102F80000B46DDE90401FDF73FFD00287FF409AEA3
-:102F9000A34A26F00043934240F301814FF4801A84
-:102FA00000201B15A3F2FE334AFA03F33344C3F3A4
-:102FB0000A529C4FA2F2FF321741C3F3130A23EACD
-:102FC0000701C2F114024AF4801A0B464AFA02FAC7
-:102FD000002E024629462046B8BFCAF1000AFDF776
-:102FE000CBF8CDE90201DDE90201002442464B465F
-:102FF000FDF7C4F87AA3D3E9002320460D46FDF778
-:1030000073FADDE9022306460F4620462946FDF7FE
-:10301000B3F802460B4640464946FDF7ADF872A3A9
-:10302000D3E90023FDF760FA71A3D3E900238046BA
-:10303000894620462946FDF757FA02460B46404688
-:103040004946FDF79BF804460D4602460B463046BE
-:103050003946FDF793F832463B4680468946FDF7F0
-:103060008BF802460B4620462946FDF785F8424676
-:1030700006460F464B4640464946FDF735FA5EA3E5
-:10308000D3E9002304460D46FDF72EFA5CA3D3E9ED
-:103090000023FDF771F822462B46FDF725FA5AA3C7
-:1030A000D3E90023FDF76AF822462B46FDF71CFA08
-:1030B00057A3D3E90023FDF75FF822462B46FDF71F
-:1030C00013FA55A3D3E90023FDF758F822462B46FF
-:1030D000FDF70AFA02460B4640464946FDF74CF812
-:1030E00004460D4602460B4640464946FDF7FCF9AC
-:1030F0000022CDE902014FF0804320462946FDF72A
-:103100003BF802460B46DDE90201FDF717FB3246AC
-:1031100004460D463B4640464946FDF7E5F9324632
-:103120003B46FDF72BF802460B4620462946FDF7A5
-:1031300023F842464B46FDF71FF802460B46002097
-:103140003949FDF719F801EB0A54B4F5801F29DA63
-:10315000524600F055F9DDE90023FFF7FEBB334B83
-:1031600021F000479F427FF713AF314B0B440343DD
-:1031700009D0DDE9000100220023FDF727FC00381B
-:1031800018BF012053E422462B46FCF7F5FF4246C8
-:103190004B46FDF72FFC00283FF4FAAEE9E74FF06D
-:1031A000000A20E72146D6E74FF0000BDFF878C091
-:1031B000FFF7BABB4FF0000B4FF0000CFFF7B4BBAA
-:1031C00040464946FFF73DBB0092FFF789BB00230D
-:1031D000FFF773BBAFF30080FE822B654715973C6A
-:1031E00000000000432EE63FEF39FAFE422EE63F94
-:1031F000396CA80C615C20BED0A4BE726937663EF3
-:10320000F16BD2C541BDBB3E2CDE25AF6A56113FE6
-:1032100093BDBE166CC1663F3E5555555555C53FCD
-:103220000000E03FFFFF0F000000F03FFFCB9040A9
-:1032300000346F3FDFF858C12DE9F0413CEA010C42
-:1032400006460D460C460A46074603460FD102467F
-:103250000B46FDF749F902460B4630462946FCF776
-:103260008DFF06460D4630462946BDE8F08100290F
-:103270000EDC21F0004C5CEA0707F4D041B10246B5
-:103280000B46FCF779FF02460B46FDF757FAE8E7D5
-:10329000211575D0CC074FF00004C2F31302A1F240
-:1032A000FF3742F480125EBFD90F5B0001EB420290
-:1032B000D90F01EB4202162520464FF400117F1072
-:1032C0005B0046189642DEBF921B701864185200CD
-:1032D000013D02EBD3724FEA51014FEA4303F0D1B3
-:1032E00029464FF0200E4FF00046824206EB050CB7
-:1032F00002DC13D19C4511D8BCF1000F0CEB060584
-:1033000043DA002D41DB00F10108121A40469C45CA
-:1033100088BF02F1FF32A3EB0C0331444FEAD37CA8
-:10332000BEF1010E0CEB42024FEA43034FEA560690
-:10333000DBD1134306D0481C0BBF71460131013469
-:1033400021F001016310490803F17F53E20703F5FF
-:10335000001348BF41F000410E4603EB075582E7DA
-:10336000DA0A15385B05002AFAD0D5020AD5C1F170
-:10337000200423FA04F44D1E8B402243411B89E7AD
-:103380000846F0E752000131EFE78046BDE700BF95
-:103390000000F07F70B504460D461646FFF746F96B
-:1033A00029460660204670BD37B515461C4680B1DB
-:1033B000104603F10041CDE90001DDE90023284674
-:1033C0002146FDF791F8222203B0BDE83040FFF717
-:1033D000E1BF10461946EEE700224FF08053FFF799
-:1033E000E3BF00224FF0E043FFF7DEBF21F00041D2
-:1033F000704741F0004000F58010C00F704700009A
-:10340000F8B5C1F30A5604460D4617460B4696B961
-:1034100021F00043034339D0334B0022FDF764F819
-:10342000324B04469F420D460FDA2BA3D3E900230B
-:10343000FDF75AF806E040F2FF7296420AD10246C2
-:10344000FCF79CFE04460D4620E00B46C1F30A51F2
-:10345000A1F1360640F2FE72B91991420EDD05F077
-:10346000004444F0FC4141F45F1141F41051204804
-:1034700041F03C011AA3D3E90023D9E7002908DD74
-:1034800023F0FF4323F4E00343EA01552046294695
-:10349000F8BD11F1350F12DA4CF250339F424FEA6A
-:1034A000D5734FEAC374DCDC0BA3D3E9002344F0EB
-:1034B000D27141F4B7310F4841F01F01B8E723F052
-:1034C000FF43363123F4E00343EA01552046294601
-:1034D0000022094BACE700BF59F3F8C21F6EA501EB
-:1034E0009C7500883CE4377E00005043B03CFFFFF1
-:1034F0009C75008859F3F8C20000903CF8B500BFF5
-:10350000F8BC08BC9E467047F8B500BFF8BC08BCC4
-:043510009E4670471C
-:10351800733200000D0A0000733100303132333449
-:1035280035363738396162636465666768696A6B1E
-:103538006C6D6E6F707172737475767778797A00C6
-:10354800000000000000F03F000000000000F83F0D
-:1035580000000000000000000000004003B8E23F47
-:10356800000000000000000006D0CF43EBFD4C3EF9
-:0435780055010008F1
-:04357C003101000811
-:1035800030754C1D08000020000000000000000005
-:10359000000000000000000000000000000000002B
-:1035A000000000000000000000000000000000001B
-:1035B000000000000000000000000000000000000B
-:1035C00000000000000000000000000000000000FB
-:1035D00000000000000000000000000000000000EB
-:0835E0000000000000000000E3
-:04000005080025D9F1
+:101D2000FFF770FA0C4B45229A600B4BDB680A4AAE
+:101D300043F00803D360084BDB68074A43F0040311
+:101D4000D360054BDB68044A43F40053D360024B75
+:101D500000221A6000BF80BD0044004080B483B000
+:101D600000AF0346FB710B4AFB79536000BF094B80
+:101D70001B689B0903F00103002BF8D0054B1B687F
+:101D8000044A23F04003136000BF0C37BD4680BCFB
+:101D9000704700BF0044004080B582B000AF78605B
+:101DA00007E07B681B781846FFF7D8FF7B68013394
+:101DB0007B607B681B78002BF3D100BF00BF083726
+:101DC000BD4680BD80B588B000AF786007F10C03D8
+:101DD0000A221946786800F005FD07F10C03FB6143
+:101DE000F869FFF7D9FF00BF2037BD4680BD00006E
+:101DF00080B483B000AF0023FB7100BF074B1B68AA
+:101E00005B0903F00103002BF8D0044B5B68FB7106
+:101E1000FB7918460C37BD4680BC70470044004033
+:101E200080B584B000AF78600023FB730023BB73E0
+:101E3000FFF7DEFF0346FB730BE0BB7B7A681344BE
+:101E4000FA7B1A70BB7B0133BB73FFF7D1FF0346EC
+:101E5000FB73FB7B002BF0D1BB7B18461037BD46D4
+:101E600080BD000080B500AF08210020FFF7F4FC22
+:101E70000346024A136000BF80BD00BFDC000020A3
+:101E800080B500AF0A210120FFF7E6FC0346024AB5
+:101E9000136000BF80BD00BFE00000202DE9B0430B
+:101EA00082B000AF5348FFF7BBFF03461A46524BC0
+:101EB0001A70524B00221A804E4B1B78612B40F057
+:101EC00090804C4B5B782D2B4AD10223FB7138E07C
+:101ED0004A4BB3F900301846FEF79CFA04460D460B
+:101EE000FB79444AD35C303B1846FEF793FA8046B0
+:101EF0008946414B1B785A1EFB79D31A1846FEF7C8
+:101F000089FA02460B464FF000003D4900F0AEFC56
+:101F100002460B4640464946FEF7E6FA02460B46A5
+:101F200020462946FEF72AF902460B461046194676
+:101F3000FEF78AFD03461AB2304B1A80FB79013353
+:101F4000FB712D4B1B78FA799A42C1D32B4BB3F915
+:101F500000309BB25B429BB21AB2284B1A8040E021
+:101F60000123BB7138E0254BB3F900301846FEF76A
+:101F700051FA04460D46BB791E4AD35C303B1846E5
+:101F8000FEF748FA804689461B4B1B785A1EBB79E0
+:101F9000D31A1846FEF73EFA02460B464FF00000F1
+:101FA000174900F063FC02460B4640464946FEF7DF
+:101FB0009BFA02460B4620462946FEF7DFF802460A
+:101FC0000B4610461946FEF73FFD03461AB20B4B6F
+:101FD0001A80BB790133BB71074B1B78BA799A42DF
+:101FE000C1D3064BB3F9003018460837BD46BDE8EB
+:101FF000B08300BFF4000020F00000200A010020A0
+:102000000000244080B582B000AF0023FB80FFF7C2
+:1020100045FF03461A46434B1A80424BB3F9003042
+:102020009BB25A339BB21AB23F4B1A803E4BB3F964
+:102030000030B42B09DD3C4BB3F900309BB2A3F563
+:10204000B4739BB21AB2384B1A80374BB3F90030D5
+:102050009AB2344BB3F900309BB2D31A9BB2FB80D7
+:10206000012200210020FFF7A3F900220521002012
+:10207000FFF79EF90F20FFF7CFFD0F20FFF72AFE95
+:10208000B7F9063013F1B40F04DAFB8803F5B47323
+:102090009BB2FB80B7F90630002B2DDC0020FFF748
+:1020A00019FE0020FFF7B8FD0820FFF729FC0A20E1
+:1020B000FFF726FC1D48FFF76FFE1D48FFF76CFE7B
+:1020C0001C48FFF769FE184BB3F900301846FFF7BC
+:1020D00079FE1748FFF760FE1748FFF75DFE174BC4
+:1020E0001B681846FEF7A6FF03461846FFF76AFE70
+:1020F0000F48FFF751FE11E0FFF7D0FE03461A46E6
+:10210000084B1A80084BB3F900309AB2054BB3F96B
+:1021100000309BB2D31A9BB2FB80A1E700BF083707
+:10212000BD4680BD100100200E0100205036000881
+:1021300054360008583600085C360008E8000020D5
+:1021400080B582B000AF0023FB80FFF7A7FE0346F7
+:102150001A46434B1A80424BB3F900309BB25A3BAC
+:102160009BB21AB23F4B1A803E4BB3F9003013F1C9
+:10217000B40F09DA3B4BB3F900309BB203F5B473EB
+:102180009BB21AB2374B1A80364BB3F900309AB271
+:10219000334BB3F900309BB2D31A9BB2FB800022C1
+:1021A00000210020FFF704F9012205210020FFF79C
+:1021B000FFF80F20FFF730FD0F20FFF78BFDB7F979
+:1021C0000630B42B04DDFB88A3F5B4739BB2FB800F
+:1021D000B7F90630002B2DDB0020FFF77BFD002038
+:1021E000FFF71AFD0820FFF78BFB0A20FFF788FB9B
+:1021F0001D48FFF7D1FD1D48FFF7CEFD1C48FFF736
+:10220000CBFD184BB3F900301846FFF7DBFD17483C
+:10221000FFF7C2FD1748FFF7BFFD174B1B681846B5
+:10222000FEF708FF03461846FFF7CCFD0F48FFF7FF
+:10223000B3FD11E0FFF732FE03461A46084B1A8041
+:10224000084BB3F900309AB2054BB3F900309BB29A
+:10225000D31A9BB2FB80A2E700BF0837BD4680BD02
+:10226000100100200E0100205036000854360008EE
+:10227000583600085C360008E800002080B582B0BF
+:1022800000AF00237B6000237B800820FFF738FB32
+:102290000A20FFF735FBFFF74FFB40F2FF137B608F
+:1022A000FFF7FCFD03461A46314B1A80314BB3F958
+:1022B00000309AB22E4BB3F900309BB2D31A9BB2C6
+:1022C0001AB22D4B1A802C4BB3F900309BB29B00F5
+:1022D0009BB27B80294B1A887B8813449BB218469B
+:1022E000FFF79AFC254B1A887B88D31A9BB21846B5
+:1022F000FFF7F0FC2248FFF74FFDB7F90230184610
+:10230000FFF760FD1F48FFF747FD1F4B1B68002BC1
+:10231000B8BF5B421A467B689342C1D80820FFF7DA
+:10232000EFFA0A20FFF7ECFA144B00221A80002083
+:10233000FFF7D0FC0020FFF76FFC1448FFF72CFDDF
+:102340001048FFF729FD1248FFF726FD114B1B68C7
+:102350001846FEF76FFE03461846FFF733FD09489F
+:10236000FFF71AFD00BF00BF0837BD4680BD00BFA4
+:10237000100100200E0100200C01002008010020A7
+:102380006036000854360008DC000020643600087F
+:102390005C360008E800002098B500AFFEF7D2FEDA
+:1023A00003461A46224B1A80214B1B881846FEF71B
+:1023B00031F81DA3D3E90023FEF796F802460B4639
+:1023C000104619464FF000021A4BFEF7B7F90246C5
+:1023D0000B4610461946FEF77FFB0346164A13606C
+:1023E000164B1B881A46164B1B8813441846FEF7DB
+:1023F0007DFC0246104B1B6819461046FEF7CAFCCE
+:1024000003461C460E4B1B881846FEF76FFC03461E
+:1024100019462046FEF772FD03461A46094B1A601C
+:1024200000BF98BDAFF300806666666666660A40C8
+:10243000E40000200000B040EC000020000000207C
+:1024400002000020E80000202DE9B04382B000AF78
+:10245000FFF7A0FA02210220FFF7AEFA03210220C3
+:10246000FFF7AAFA00210220FFF7A6FA00210120B7
+:10247000FFF7A2FA01210120FFF79EFA09210220AD
+:10248000FFF79AFA0A2201210020FEF7BBFE022282
+:1024900000210020FEF7B6FE0A2206210020FEF7EA
+:1024A000B1FE022205210020FEF7ACFE0422082125
+:1024B0000020FEF7A7FE042209210020FEF7A2FE5D
+:1024C00004220A210120FEF79DFE04220B21012097
+:1024D000FEF798FE002200210120FEF793FE002166
+:1024E0000820FEF73BFE01210A20FEF737FE0A21F5
+:1024F0007E48FFF75DF808217D48FFF759F8FEF7A1
+:10250000F5FF00210820FFF705F800210A20FFF75A
+:1025100001F8FEF7B5FD01210820FEF7C9FD1720DF
+:10252000FFF716FA2820FFF713FAFFF787FAFFF7ED
+:102530000DFBFFF781FBFFF7DDFB6E496E48FFF7F0
+:10254000B1FA0020FFF768FB0020FFF7C3FB6B48E0
+:10255000FFF766FC03461A46694B1A70674B1B78F7
+:10256000792B40F0A7800020FFF756FB0020FFF7F3
+:10257000B1FB624B5B782D2B4CD100220021002057
+:10258000FEF716FF002205210020FEF711FF0223AF
+:10259000FB7137E05B4B1B881846FDF73BFF044699
+:1025A0000D46FB79554AD35C303B1846FDF732FFA8
+:1025B00080468946524B1B785A1EFB79D31A18461F
+:1025C000FDF728FF02460B464FF000004E4900F091
+:1025D0004DF902460B4640464946FDF785FF024647
+:1025E0000B4620462946FDF7C9FD02460B4610461C
+:1025F0001946FEF751FA03469AB2424B1A80FB790C
+:102600000133FB713E4B1B78FA799A42C2D3FFF734
+:1026100035FE9CE7012200210020FEF7C9FE0122C1
+:1026200005210020FEF7C4FE0123BB7137E0354BC6
+:102630001B881846FDF7EEFE04460D46BB792F4A6F
+:10264000D35C303B1846FDF7E5FE804689462C4BAF
+:102650001B785A1EBB79D31A1846FDF7DBFE0246DB
+:102660000B464FF00000284900F000F902460B46E7
+:1026700040464946FDF738FF02460B4620462946AC
+:10268000FDF77CFD02460B4610461946FEF704FA9C
+:1026900003469AB21B4B1A80BB790133BB71184BAE
+:1026A0001B78BA799A42C2D3164B1B881846FFF79B
+:1026B000E5FD4CE7114B1B786D2B0FD10020FFF788
+:1026C000ABFA0020FFF706FB0C4B5B782D2B02D1F9
+:1026D000FFF798FC3BE7FFF733FD38E70020FFF7F3
+:1026E000F9FA0020FFF798FA31E700BF811E0008D1
+:1026F000651E00089923000840420F00F4000020E6
+:10270000F000002008010020000024400D4885460C
+:10271000AFF300800C480D490D4A002302E0D45865
+:10272000C4500433C4188C42F9D30A4A0A4C00231B
+:1027300001E013600432A242FBD300F017F8FFF768
+:1027400083FEFEE70050002000000020680000200B
+:10275000C83600086800002014010020FEE70000D1
+:10276000014B1868704700BF0400002070B50026B8
+:102770000C4D0D4C641BA410A64209D100F05AFF69
+:1027800000260A4D0A4C641BA410A64205D170BD58
+:1027900055F8043B98470136EEE755F8043B984757
+:1027A0000136F2E7C0360008C0360008C03600081F
+:1027B000C4360008931E222B10B50C4604D9002302
+:1027C0001C460B70204610BD0A2A09D1002807DAE2
+:1027D0002D230B7001214042214400F005F8F1E760
+:1027E0000021F9E7FFF7E6BFF0B58BB005460B46D1
+:1027F0006E461D4C04F1200C374620686168083491
+:1028000003C764453E46F7D1217920683971911E8E
+:10281000222938604FF0000104D919700B46184680
+:102820000BB0F0BD581E8446B5FBF2F702FB1756FD
+:1028300028366E4416F8286C0C460CF8016F2E46AC
+:10284000B2423D4601F10101EED900225A54191954
+:10285000A51AAA42E3DA10F8015F0E780132067079
+:1028600001F80159F4E700BF673600082DE9F84385
+:1028700014461D468046894600F062F82246064608
+:102880000F462B4620462946FEF7C8F8C8BB002253
+:10289000002340464946FEF78FF8B8B100220023D6
+:1028A00020462946FEF788F8002841D120462946CF
+:1028B00000F03BFE28B30022002320462946FEF705
+:1028C00085F8F0B1FFF74CFF222319E03046394676
+:1028D00000F02BFEC8B94046494600F026FEA0B1E4
+:1028E0002046294600F021FE78B132463B4630466C
+:1028F0003946FEF793F80028E4D0FFF731FF212393
+:10290000036030463946BDE8F88300220023304694
+:102910003946FEF751F80028F3D04046494600F00A
+:1029200004FE0028EDD02046294600F0FEFDC8E751
+:102930000026014FE5E700BF0000F03F0000000067
+:102940002DE9F04F93B0CDE90223DDE9022727F00E
+:102950000046894656EA0201804611D1031889F4DF
+:10296000002252419942824B934180F0B984DDE9C3
+:10297000022340464946FDF701FC83468C466FE042
+:102980007C4B29F000449C424D46824606DC01D136
+:102990000028ECD19E4201DC0FD172B105F1404517
+:1029A00005F5801555EA0A05E1D1DDE90232DB18AB
+:1029B00082F4002252419D42D5E7002D39DA6E4B58
+:1029C0009E4252DCA3F154739E4240F39C84331523
+:1029D000A3F2FF33142B0FDDC3F1340322FA03F10A
+:1029E00001FA03F3934240F08E8401F00101C1F13A
+:1029F0000203009382B15DE0002A59D1C3F11403B0
+:102A000046FA03F101FA03F3B34240F0798401F08E
+:102A10000101C1F102030093584B9E4232D1002FB5
+:102A200080F26A8442464B4600205449FDF786FEF8
+:102A3000A3E700230093002A3CD14E4B9E42EBD1EA
+:102A400004F1404303F5801353EA0A0300F048847D
+:102A50004B4B9C420BDD002FC0F24884DDE902BCE9
+:102A60005846614613B0BDE8F08F0223E2E7002F1D
+:102A70004FF0000B4FF0000CF2DADDE902B303F186
+:102A8000004CEDE7B7F1804F06D142464B46404639
+:102A90004946FDF729FD70E73A4B9F420AD1002DC8
+:102AA00008DB4046494613B0BDE8F04F00F05EBC7D
+:102AB000002300934046494600F034FD83468C468F
+:102AC000BAF1000F28D124B12C4B25F040429A4294
+:102AD00022D1002F07DA5A46634600202749FDF726
+:102AE0002DFE83468C46002DBADA009B04F140444B
+:102AF00004F58014234308D15A466346584661467C
+:102B0000FDF73AFB02460B4690E7009B012BA7D14D
+:102B10000CF100439C46A3E7EB0F013B0C930C9A8E
+:102B2000009B134304D142464B4640464946E7E7E3
+:102B3000154B9E4240F3F68003F104739E42104B06
+:102B400009DD9C420CDC002F0CDA002013B0BDE83C
+:102B5000F04F00F0E2BC9C42F5DB084B9C4215DDD7
+:102B6000002FF2DC002013B0BDE8F04F00F0D0BC25
+:102B70000000F0FF0000F07FFFFF3F430000F03F48
+:102B8000FFFFEF3F0000E03F0000E0416146002210
+:102B900058465F4BFDF7F0FA55A3D3E900230446EE
+:102BA0000D46FDF7A1FC54A3D3E9002306460F46CA
+:102BB00020462946FDF798FC002282468B46204697
+:102BC0002946544BFDF790FC02460B464CA1D1E937
+:102BD0000001FDF7D1FA22462B46FDF785FC02469F
+:102BE0000B4600204C49FDF7C7FA22462B4680468B
+:102BF000894620462946FDF777FC02460B464046AB
+:102C00004946FDF771FC40A3D3E90023FDF76CFCB6
+:102C100002460B4650465946FDF7AEFA4FF0000A01
+:102C200002460B4604460D4630463946FDF7A6FAE5
+:102C300032463B4650468B46FDF79EFA02460B460F
+:102C400020462946FDF798FADDE90267009B0C9AB9
+:102C5000013B13434FF000064FF000020CBF2F4B17
+:102C60002B4B04460D46DDE90201CDE90023324637
+:102C70003B46FDF781FA52465B46FDF735FCDDE940
+:102C800002238046894620462946FDF72DFC024650
+:102C90000B4640464946FDF771FA32463B468046B0
+:102CA000894650465946FDF71FFC04460D460B4623
+:102CB000024649464046CDE90245FDF75FFA184B0A
+:102CC000824699420F460E4640F3E58201F13F43AA
+:102CD00003F5E003034300F0DF81DDE9000100229A
+:102CE0000023FDF773FE003818BF01202EE700BF58
+:102CF000000000604715F73F44DF5DF80BAE543E1F
+:102D0000555555555555D53FFE822B654715F73F0F
+:102D10000000F03F0000D03F0000E03F0000F0BFA7
+:102D2000FFFF8F40D24B00222B4043B958466146EB
+:102D3000D04BFDF7D9FB6FF0340283460C462315C8
+:102D4000A3F2FF3313440B93CB4BC4F3130444F0AF
+:102D50007F559C4245F4401508DDC84B9C4240F32A
+:102D600099810B9BA5F5801501330B930026F30089
+:102D70000D93C34B584603EBC603D3E900342946F1
+:102D80001A46CDE908342346FDF7F6F9DA462B4614
+:102D90005246CDE90E01DDE90801FDF7EFF90246E3
+:102DA0000B460020B749FDF7C9FC02460B46CDE9AA
+:102DB0001001DDE90E01FDF797FBCDE90601DDE924
+:102DC0000634CDE9043400230022AB466D1045F0F3
+:102DD0000055049305F50025DDE9048905EB8643DC
+:102DE0004046494614461D46FDF77EFB02460B460B
+:102DF000DDE90E01FDF7C0F9DDE9082306460F46BF
+:102E000020462946FDF7B8F902460B46504659467A
+:102E1000FDF7B2F942464B46FDF766FB02460B460C
+:102E200030463946FDF7A8F9DDE91023FDF75CFBD4
+:102E3000DDE90623CDE9080110461946FDF754FBEC
+:102E400079A3D3E9002304460D46FDF74DFB78A393
+:102E5000D3E90023FDF792F922462B46FDF744FB08
+:102E600075A3D3E90023FDF789F922462B46FDF728
+:102E70003BFB73A3D3E90023FDF780F922462B46E1
+:102E8000FDF732FB70A3D3E90023FDF777F9224663
+:102E90002B46FDF729FB6EA3D3E90023FDF76EF95E
+:102EA000224606460F462B4620462946FDF71CFBC8
+:102EB00002460B4630463946FDF716FB04460D46E2
+:102EC000DDE9060142464B46FDF758F9DDE90823E6
+:102ED000FDF70AFB22462B46FDF750F9424606460F
+:102EE0000F464B4640464946FDF7FEFA0022664B28
+:102EF00082468B46FDF742F932463B46FDF73EF9E6
+:102F000000240D4622460B4640464946FDF7ECFAA2
+:102F1000002280468946204629465B4BFDF72CF966
+:102F200052465B46FDF728F902460B4630463946C5
+:102F3000FDF722F9DDE90623FDF7D6FA224606461B
+:102F40000F46DDE908012B46FDF7CEFA02460B4697
+:102F500030463946FDF712F9002406460F46024670
+:102F60000B4640464946FDF709F93BA3D3E9002348
+:102F700020460D46FDF7B8FA42464B46CDE906011C
+:102F800020462946FDF7F8F802460B4630463946FA
+:102F9000FDF7F2F832A3D3E90023FDF7A5FA32A337
+:102FA000D3E9002306460F4620462946FDF79CFA42
+:102FB00002460B4630463946FDF7E0F80D9A334B92
+:102FC0004FF0000A1344D3E90023FDF7D7F88046F9
+:102FD0000B988946FDF71EFA04460D460D9A2C4BB8
+:102FE0001344D3E900674246DDE906014B46FDF78D
+:102FF000C5F832463B46FDF7C1F822462B46FDF7A1
+:10300000BDF822462B4650468B46FDF7B5F83246B2
+:103010003B46FDF7B1F8DDE90623FDF7ADF80246C2
+:103020000B46404649460DE6EF4E454A287ECA3FCC
+:1030300065DBC9934A86CD3F01411DA96074D13F2C
+:103040004D268F515555D53FFFAB6FDBB66DDB3F3E
+:10305000033333333333E33F000000E009C7EE3F6F
+:10306000FD033ADC09C7EE3FF5015B14E02F3EBEDD
+:103070000000F07F000040438E98030079B60B00FB
+:10308000903600080000F03F00000840B03600080D
+:10309000A036000801266AE69DA3D3E90023404636
+:1030A0004946FDF76BF82246CDE904012B46504610
+:1030B0003946FDF761F802460B46DDE90401FDF7EC
+:1030C000A3FC00287FF409AEA34A26F000439342F4
+:1030D00040F301814FF4801A00201B15A3F2FE3348
+:1030E0004AFA03F33344C3F30A529C4FA2F2FF326D
+:1030F0001741C3F3130A23EA0701C2F114024AF489
+:10310000801A0B464AFA02FA002E02462946204649
+:10311000B8BFCAF1000AFDF72FF8CDE90201DDE9D9
+:103120000201002442464B46FDF728F87AA3D3E972
+:10313000002320460D46FDF7D7F9DDE902230646B8
+:103140000F4620462946FDF717F802460B46404633
+:103150004946FDF711F872A3D3E90023FDF7C4F93E
+:1031600071A3D3E900238046894620462946FDF70E
+:10317000BBF902460B4640464946FCF7FFFF0446B2
+:103180000D4602460B4630463946FCF7F7FF3246FD
+:103190003B4680468946FCF7EFFF02460B46204639
+:1031A0002946FCF7E9FF424606460F464B46404695
+:1031B0004946FDF799F95EA3D3E9002304460D467D
+:1031C000FDF792F95CA3D3E90023FCF7D5FF224673
+:1031D0002B46FDF789F95AA3D3E90023FCF7CEFF6C
+:1031E00022462B46FDF780F957A3D3E90023FCF7CD
+:1031F000C3FF22462B46FDF777F955A3D3E90023F9
+:10320000FCF7BCFF22462B46FDF76EF902460B4643
+:1032100040464946FCF7B0FF04460D4602460B46C1
+:1032200040464946FDF760F90022CDE902014FF022
+:10323000804320462946FCF79FFF02460B46DDE906
+:103240000201FDF77BFA324604460D463B464046F6
+:103250004946FDF749F932463B46FCF78FFF0246E7
+:103260000B4620462946FCF787FF42464B46FCF7B3
+:1032700083FF02460B4600203949FCF77DFF01EB36
+:103280000A54B4F5801F29DA524600F055F9DDE9F9
+:103290000023FFF7FEBB334B21F000479F427FF72F
+:1032A00013AF314B0B44034309D0DDE90001002289
+:1032B0000023FDF78BFB003818BF012053E42246A2
+:1032C0002B46FCF759FF42464B46FDF793FB00287F
+:1032D0003FF4FAAEE9E74FF0000A20E72146D6E7CF
+:1032E0004FF0000BDFF878C0FFF7BABB4FF0000BD0
+:1032F0004FF0000CFFF7B4BB40464946FFF73DBB1B
+:103300000092FFF789BB0023FFF773BBAFF3008088
+:10331000FE822B654715973C00000000432EE63FD8
+:10332000EF39FAFE422EE63F396CA80C615C20BEF4
+:10333000D0A4BE726937663EF16BD2C541BDBB3EBB
+:103340002CDE25AF6A56113F93BDBE166CC1663F99
+:103350003E5555555555C53F0000E03FFFFF0F0056
+:103360000000F03FFFCB904000346F3FDFF858C1C2
+:103370002DE9F0413CEA010C06460D460C460A4692
+:10338000074603460FD102460B46FDF7ADF802464D
+:103390000B4630462946FCF7F1FE06460D46304600
+:1033A0002946BDE8F08100290EDC21F0004C5CEAE2
+:1033B0000707F4D041B102460B46FCF7DDFE02469A
+:1033C0000B46FDF7BBF9E8E7211575D0CC074FF0A8
+:1033D0000004C2F31302A1F2FF3742F480125EBF71
+:1033E000D90F5B0001EB4202D90F01EB4202162517
+:1033F00020464FF400117F105B0046189642DEBF56
+:10340000921B701864185200013D02EBD3724FEA10
+:1034100051014FEA4303F0D129464FF0200E4FF0FF
+:103420000046824206EB050C02DC13D19C4511D804
+:10343000BCF1000F0CEB060543DA002D41DB00F177
+:103440000108121A40469C4588BF02F1FF32A3EBE7
+:103450000C0331444FEAD37CBEF1010E0CEB420267
+:103460004FEA43034FEA5606DBD1134306D0481C0C
+:103470000BBF71460131013421F00101631049088D
+:1034800003F17F53E20703F5001348BF41F0004109
+:103490000E4603EB075582E7DA0A15385B05002A6A
+:1034A000FAD0D5020AD5C1F1200423FA04F44D1E46
+:1034B0008B402243411B89E70846F0E75200013167
+:1034C000EFE78046BDE700BF0000F07F70B504461F
+:1034D0000D461646FFF744F929460660204670BDA2
+:1034E00037B515461C4680B1104603F10041CDE9C1
+:1034F0000001DDE9002328462146FCF7F5FF2222E2
+:1035000003B0BDE83040FFF7E1BF10461946EEE7D3
+:1035100000224FF08053FFF7E3BF00224FF0E0435B
+:10352000FFF7DEBF21F00041704741F0004000F599
+:103530008010C00F70470000F8B5C1F30A5604466A
+:103540000D4617460B4696B921F00043034339D088
+:10355000334B0022FCF7C8FF324B04469F420D4616
+:103560000FDA2BA3D3E90023FCF7BEFF06E040F2FD
+:10357000FF7296420AD10246FCF700FE04460D4651
+:1035800020E00B46C1F30A51A1F1360640F2FE726B
+:10359000B91991420EDD05F0004444F0FC4141F4BC
+:1035A0005F1141F41051204841F03C011AA3D3E9C6
+:1035B0000023D9E7002908DD23F0FF4323F4E003CB
+:1035C00043EA015520462946F8BD11F1350F12DABC
+:1035D0004CF250339F424FEAD5734FEAC374DCDCA0
+:1035E0000BA3D3E9002344F0D27141F4B7310F4863
+:1035F00041F01F01B8E723F0FF43363123F4E00325
+:1036000043EA0155204629460022094BACE700BF9A
+:1036100059F3F8C21F6EA5019C7500883CE4377E03
+:1036200000005043B03CFFFF9C75008859F3F8C27E
+:103630000000903CF8B500BFF8BC08BC9E4670473F
+:0C364000F8B500BFF8BC08BC9E467047FF
+:10365000733200000D0A00007000000076000000C8
+:10366000740000007331003031323334353637386E
+:10367000396162636465666768696A6B6C6D6E6FF9
+:10368000707172737475767778797A000000000033
+:10369000000000000000F03F000000000000F83FC4
+:1036A00000000000000000000000004003B8E23FFE
+:1036B000000000000000000006D0CF43EBFD4C3EB0
+:0436C00055010008A8
+:0436C40031010008C8
+:1036C80030754C1D080000200000000000000000BC
+:1036D80000000000000000000000000000000000E2
+:1036E80000000000000000000000000000000000D2
+:1036F80000000000000000000000000000000000C2
+:1037080000000000000000000000000000000000B1
+:1037180000000000000000000000000000000000A1
+:08372800000000000000000099
+:040000050800270DBB
:00000001FF
diff --git a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.list b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.list
index ea4a281..1b1818f 100644
--- a/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.list
+++ b/embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.list
@@ -5,45 +5,45 @@ Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 00000130 08000000 08000000 00010000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 000033e4 08000130 08000130 00010130 2**3
+ 1 .text 0000351c 08000130 08000130 00010130 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000060 08003518 08003518 00013518 2**3
+ 2 .rodata 00000070 08003650 08003650 00013650 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08003578 08003578 00020068 2**0
+ 3 .ARM.extab 00000000 080036c0 080036c0 00020068 2**0
CONTENTS
- 4 .ARM 00000000 08003578 08003578 00020068 2**0
+ 4 .ARM 00000000 080036c0 080036c0 00020068 2**0
CONTENTS
- 5 .preinit_array 00000000 08003578 08003578 00020068 2**0
+ 5 .preinit_array 00000000 080036c0 080036c0 00020068 2**0
CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08003578 08003578 00013578 2**2
+ 6 .init_array 00000004 080036c0 080036c0 000136c0 2**2
CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 0800357c 0800357c 0001357c 2**2
+ 7 .fini_array 00000004 080036c4 080036c4 000136c4 2**2
CONTENTS, ALLOC, LOAD, DATA
- 8 .data 00000068 20000000 08003580 00020000 2**2
+ 8 .data 00000068 20000000 080036c8 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 000000a4 20000068 080035e8 00020068 2**2
+ 9 .bss 000000ac 20000068 08003730 00020068 2**2
ALLOC
- 10 ._user_heap_stack 00000604 2000010c 080035e8 0002010c 2**0
+ 10 ._user_heap_stack 00000604 20000114 08003730 00020114 2**0
ALLOC
11 .ARM.attributes 00000029 00000000 00000000 00020068 2**0
CONTENTS, READONLY
- 12 .debug_info 000019c9 00000000 00000000 00020091 2**0
+ 12 .debug_info 000019d3 00000000 00000000 00020091 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00000bb6 00000000 00000000 00021a5a 2**0
+ 13 .debug_abbrev 00000bd4 00000000 00000000 00021a64 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_aranges 00000358 00000000 00000000 00022610 2**3
+ 14 .debug_aranges 00000358 00000000 00000000 00022638 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_ranges 00000290 00000000 00000000 00022968 2**3
+ 15 .debug_ranges 00000290 00000000 00000000 00022990 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_macro 00002683 00000000 00000000 00022bf8 2**0
+ 16 .debug_macro 00002683 00000000 00000000 00022c20 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_line 000023b6 00000000 00000000 0002527b 2**0
+ 17 .debug_line 000023e3 00000000 00000000 000252a3 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_str 00009aa4 00000000 00000000 00027631 2**0
+ 18 .debug_str 00009aae 00000000 00000000 00027686 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .comment 00000050 00000000 00000000 000310d5 2**0
+ 19 .comment 00000050 00000000 00000000 00031134 2**0
CONTENTS, READONLY
- 20 .debug_frame 0000105c 00000000 00000000 00031128 2**2
+ 20 .debug_frame 0000105c 00000000 00000000 00031184 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .text:
@@ -62,7 +62,7 @@ Disassembly of section .text:
8000146: bd10 pop {r4, pc}
8000148: 20000068 .word 0x20000068
800014c: 00000000 .word 0x00000000
- 8000150: 080034fc .word 0x080034fc
+ 8000150: 08003634 .word 0x08003634
08000154 :
8000154: b508 push {r3, lr}
@@ -74,7 +74,7 @@ Disassembly of section .text:
8000162: bd08 pop {r3, pc}
8000164: 00000000 .word 0x00000000
8000168: 2000006c .word 0x2000006c
- 800016c: 080034fc .word 0x080034fc
+ 800016c: 08003634 .word 0x08003634
08000170 <__aeabi_drsub>:
8000170: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000
@@ -2759,10 +2759,10 @@ s32 HENCODER_voidEncoderCounts(u8 Copy_u8Channel2Port ,u8 Copy_u8Channel2Pin)
80018bc: 4b0e ldr r3, [pc, #56] ; (80018f8 )
80018be: 2201 movs r2, #1
80018c0: 701a strb r2, [r3, #0]
- Global_s32NumOfRightCounts--;
+ Global_s32NumOfRightCounts++;
80018c2: 4b0e ldr r3, [pc, #56] ; (80018fc )
80018c4: 681b ldr r3, [r3, #0]
- 80018c6: 3b01 subs r3, #1
+ 80018c6: 3301 adds r3, #1
80018c8: 4a0c ldr r2, [pc, #48] ; (80018fc )
80018ca: 6013 str r3, [r2, #0]
80018cc: e00a b.n 80018e4
@@ -2776,10 +2776,10 @@ s32 HENCODER_voidEncoderCounts(u8 Copy_u8Channel2Port ,u8 Copy_u8Channel2Pin)
80018d4: 4b08 ldr r3, [pc, #32] ; (80018f8 )
80018d6: 2202 movs r2, #2
80018d8: 701a strb r2, [r3, #0]
- Global_s32NumOfRightCounts++;
+ Global_s32NumOfRightCounts--;
80018da: 4b08 ldr r3, [pc, #32] ; (80018fc )
80018dc: 681b ldr r3, [r3, #0]
- 80018de: 3301 adds r3, #1
+ 80018de: 3b01 subs r3, #1
80018e0: 4a06 ldr r2, [pc, #24] ; (80018fc )
80018e2: 6013 str r3, [r2, #0]
}
@@ -3536,2898 +3536,3021 @@ void MUSART2_voidInit(void)
8001d20: f7ff fa70 bl 8001204
/* baud rate = 9600 */
- USART2 -> BRR = 0x341;
- 8001d24: 4b0d ldr r3, [pc, #52] ; (8001d5c )
- 8001d26: f240 3241 movw r2, #833 ; 0x341
- 8001d2a: 609a str r2, [r3, #8]
+ //USART2 -> BRR = 0x341;
+ USART2 -> BRR = 0x45;
+ 8001d24: 4b0c ldr r3, [pc, #48] ; (8001d58 )
+ 8001d26: 2245 movs r2, #69 ; 0x45
+ 8001d28: 609a str r2, [r3, #8]
SET_BIT((USART2-> CR1), 3); /* Enabling Transmitter */
- 8001d2c: 4b0b ldr r3, [pc, #44] ; (8001d5c )
- 8001d2e: 68db ldr r3, [r3, #12]
- 8001d30: 4a0a ldr r2, [pc, #40] ; (8001d5c )
- 8001d32: f043 0308 orr.w r3, r3, #8
- 8001d36: 60d3 str r3, [r2, #12]
+ 8001d2a: 4b0b ldr r3, [pc, #44] ; (8001d58 )
+ 8001d2c: 68db ldr r3, [r3, #12]
+ 8001d2e: 4a0a ldr r2, [pc, #40] ; (8001d58 )
+ 8001d30: f043 0308 orr.w r3, r3, #8
+ 8001d34: 60d3 str r3, [r2, #12]
SET_BIT((USART2-> CR1), 2); /* Enabling Receiver */
- 8001d38: 4b08 ldr r3, [pc, #32] ; (8001d5c )
- 8001d3a: 68db ldr r3, [r3, #12]
- 8001d3c: 4a07 ldr r2, [pc, #28] ; (8001d5c )
- 8001d3e: f043 0304 orr.w r3, r3, #4
- 8001d42: 60d3 str r3, [r2, #12]
+ 8001d36: 4b08 ldr r3, [pc, #32] ; (8001d58 )
+ 8001d38: 68db ldr r3, [r3, #12]
+ 8001d3a: 4a07 ldr r2, [pc, #28] ; (8001d58 )
+ 8001d3c: f043 0304 orr.w r3, r3, #4
+ 8001d40: 60d3 str r3, [r2, #12]
SET_BIT((USART2-> CR1), 13); /* Enabling USART */
- 8001d44: 4b05 ldr r3, [pc, #20] ; (8001d5c )
- 8001d46: 68db ldr r3, [r3, #12]
- 8001d48: 4a04 ldr r2, [pc, #16] ; (8001d5c )
- 8001d4a: f443 5300 orr.w r3, r3, #8192 ; 0x2000
- 8001d4e: 60d3 str r3, [r2, #12]
+ 8001d42: 4b05 ldr r3, [pc, #20] ; (8001d58 )
+ 8001d44: 68db ldr r3, [r3, #12]
+ 8001d46: 4a04 ldr r2, [pc, #16] ; (8001d58 )
+ 8001d48: f443 5300 orr.w r3, r3, #8192 ; 0x2000
+ 8001d4c: 60d3 str r3, [r2, #12]
USART2 -> SR = 0; /* Clearing status register */
- 8001d50: 4b02 ldr r3, [pc, #8] ; (8001d5c )
- 8001d52: 2200 movs r2, #0
- 8001d54: 601a str r2, [r3, #0]
+ 8001d4e: 4b02 ldr r3, [pc, #8] ; (8001d58 )
+ 8001d50: 2200 movs r2, #0
+ 8001d52: 601a str r2, [r3, #0]
}
- 8001d56: bf00 nop
- 8001d58: bd80 pop {r7, pc}
- 8001d5a: bf00 nop
- 8001d5c: 40004400 .word 0x40004400
+ 8001d54: bf00 nop
+ 8001d56: bd80 pop {r7, pc}
+ 8001d58: 40004400 .word 0x40004400
-08001d60 :
+08001d5c :
void MUSART2_voidSendData(u8 Copy_u16Data)
{
- 8001d60: b480 push {r7}
- 8001d62: b083 sub sp, #12
- 8001d64: af00 add r7, sp, #0
- 8001d66: 4603 mov r3, r0
- 8001d68: 71fb strb r3, [r7, #7]
+ 8001d5c: b480 push {r7}
+ 8001d5e: b083 sub sp, #12
+ 8001d60: af00 add r7, sp, #0
+ 8001d62: 4603 mov r3, r0
+ 8001d64: 71fb strb r3, [r7, #7]
USART2 -> DR = Copy_u16Data;
- 8001d6a: 4a0b ldr r2, [pc, #44] ; (8001d98 )
- 8001d6c: 79fb ldrb r3, [r7, #7]
- 8001d6e: 6053 str r3, [r2, #4]
+ 8001d66: 4a0b ldr r2, [pc, #44] ; (8001d94 )
+ 8001d68: 79fb ldrb r3, [r7, #7]
+ 8001d6a: 6053 str r3, [r2, #4]
while((GET_BIT((USART2 -> SR), 6)) == 0);
- 8001d70: bf00 nop
- 8001d72: 4b09 ldr r3, [pc, #36] ; (8001d98 )
- 8001d74: 681b ldr r3, [r3, #0]
- 8001d76: 099b lsrs r3, r3, #6
- 8001d78: f003 0301 and.w r3, r3, #1
- 8001d7c: 2b00 cmp r3, #0
- 8001d7e: d0f8 beq.n 8001d72
+ 8001d6c: bf00 nop
+ 8001d6e: 4b09 ldr r3, [pc, #36] ; (8001d94 )
+ 8001d70: 681b ldr r3, [r3, #0]
+ 8001d72: 099b lsrs r3, r3, #6
+ 8001d74: f003 0301 and.w r3, r3, #1
+ 8001d78: 2b00 cmp r3, #0
+ 8001d7a: d0f8 beq.n 8001d6e
CLR_BIT(USART2->SR,6);
- 8001d80: 4b05 ldr r3, [pc, #20] ; (8001d98 )
- 8001d82: 681b ldr r3, [r3, #0]
- 8001d84: 4a04 ldr r2, [pc, #16] ; (8001d98 )
- 8001d86: f023 0340 bic.w r3, r3, #64 ; 0x40
- 8001d8a: 6013 str r3, [r2, #0]
+ 8001d7c: 4b05 ldr r3, [pc, #20] ; (8001d94 )
+ 8001d7e: 681b ldr r3, [r3, #0]
+ 8001d80: 4a04 ldr r2, [pc, #16] ; (8001d94 )
+ 8001d82: f023 0340 bic.w r3, r3, #64 ; 0x40
+ 8001d86: 6013 str r3, [r2, #0]
}
- 8001d8c: bf00 nop
- 8001d8e: 370c adds r7, #12
- 8001d90: 46bd mov sp, r7
- 8001d92: bc80 pop {r7}
- 8001d94: 4770 bx lr
- 8001d96: bf00 nop
- 8001d98: 40004400 .word 0x40004400
+ 8001d88: bf00 nop
+ 8001d8a: 370c adds r7, #12
+ 8001d8c: 46bd mov sp, r7
+ 8001d8e: bc80 pop {r7}
+ 8001d90: 4770 bx lr
+ 8001d92: bf00 nop
+ 8001d94: 40004400 .word 0x40004400
-08001d9c :
+08001d98 :
void MUSART2_voidSendString(u8 *Copy_u8String)
{
- 8001d9c: b580 push {r7, lr}
- 8001d9e: b082 sub sp, #8
- 8001da0: af00 add r7, sp, #0
- 8001da2: 6078 str r0, [r7, #4]
+ 8001d98: b580 push {r7, lr}
+ 8001d9a: b082 sub sp, #8
+ 8001d9c: af00 add r7, sp, #0
+ 8001d9e: 6078 str r0, [r7, #4]
while( (*Copy_u8String) != '\0' )
- 8001da4: e007 b.n 8001db6
+ 8001da0: e007 b.n 8001db2
{
MUSART2_voidSendData(*Copy_u8String);
- 8001da6: 687b ldr r3, [r7, #4]
- 8001da8: 781b ldrb r3, [r3, #0]
- 8001daa: 4618 mov r0, r3
- 8001dac: f7ff ffd8 bl 8001d60
+ 8001da2: 687b ldr r3, [r7, #4]
+ 8001da4: 781b ldrb r3, [r3, #0]
+ 8001da6: 4618 mov r0, r3
+ 8001da8: f7ff ffd8 bl 8001d5c
Copy_u8String++;
- 8001db0: 687b ldr r3, [r7, #4]
- 8001db2: 3301 adds r3, #1
- 8001db4: 607b str r3, [r7, #4]
+ 8001dac: 687b ldr r3, [r7, #4]
+ 8001dae: 3301 adds r3, #1
+ 8001db0: 607b str r3, [r7, #4]
while( (*Copy_u8String) != '\0' )
- 8001db6: 687b ldr r3, [r7, #4]
- 8001db8: 781b ldrb r3, [r3, #0]
- 8001dba: 2b00 cmp r3, #0
- 8001dbc: d1f3 bne.n 8001da6
+ 8001db2: 687b ldr r3, [r7, #4]
+ 8001db4: 781b ldrb r3, [r3, #0]
+ 8001db6: 2b00 cmp r3, #0
+ 8001db8: d1f3 bne.n 8001da2
}
}
- 8001dbe: bf00 nop
- 8001dc0: bf00 nop
- 8001dc2: 3708 adds r7, #8
- 8001dc4: 46bd mov sp, r7
- 8001dc6: bd80 pop {r7, pc}
+ 8001dba: bf00 nop
+ 8001dbc: bf00 nop
+ 8001dbe: 3708 adds r7, #8
+ 8001dc0: 46bd mov sp, r7
+ 8001dc2: bd80 pop {r7, pc}
-08001dc8 :
+08001dc4 :
void MUSART2_voidSendNumbers(s32 Copy_s32Number)
{
- 8001dc8: b580 push {r7, lr}
- 8001dca: b088 sub sp, #32
- 8001dcc: af00 add r7, sp, #0
- 8001dce: 6078 str r0, [r7, #4]
+ 8001dc4: b580 push {r7, lr}
+ 8001dc6: b088 sub sp, #32
+ 8001dc8: af00 add r7, sp, #0
+ 8001dca: 6078 str r0, [r7, #4]
char arr[15];
/* convert number to string */
// gcvt(Copy_s32Number, 8,arr);
itoa(Copy_s32Number , arr , 10);
- 8001dd0: f107 030c add.w r3, r7, #12
- 8001dd4: 220a movs r2, #10
- 8001dd6: 4619 mov r1, r3
- 8001dd8: 6878 ldr r0, [r7, #4]
- 8001dda: f000 fc69 bl 80026b0
+ 8001dcc: f107 030c add.w r3, r7, #12
+ 8001dd0: 220a movs r2, #10
+ 8001dd2: 4619 mov r1, r3
+ 8001dd4: 6878 ldr r0, [r7, #4]
+ 8001dd6: f000 fd05 bl 80027e4
u8* string = (u8*)arr;
- 8001dde: f107 030c add.w r3, r7, #12
- 8001de2: 61fb str r3, [r7, #28]
+ 8001dda: f107 030c add.w r3, r7, #12
+ 8001dde: 61fb str r3, [r7, #28]
MUSART2_voidSendString(string);
- 8001de4: 69f8 ldr r0, [r7, #28]
- 8001de6: f7ff ffd9 bl 8001d9c
+ 8001de0: 69f8 ldr r0, [r7, #28]
+ 8001de2: f7ff ffd9 bl 8001d98
}
- 8001dea: bf00 nop
- 8001dec: 3720 adds r7, #32
- 8001dee: 46bd mov sp, r7
- 8001df0: bd80 pop {r7, pc}
+ 8001de6: bf00 nop
+ 8001de8: 3720 adds r7, #32
+ 8001dea: 46bd mov sp, r7
+ 8001dec: bd80 pop {r7, pc}
...
-08001df4 :
+08001df0 :
u8 MUSART2_u8ReceiveData(void)
{
- 8001df4: b480 push {r7}
- 8001df6: b083 sub sp, #12
- 8001df8: af00 add r7, sp, #0
+ 8001df0: b480 push {r7}
+ 8001df2: b083 sub sp, #12
+ 8001df4: af00 add r7, sp, #0
u8 Loc_u8ReceivedData = 0;
- 8001dfa: 2300 movs r3, #0
- 8001dfc: 71fb strb r3, [r7, #7]
+ 8001df6: 2300 movs r3, #0
+ 8001df8: 71fb strb r3, [r7, #7]
/* wait until receive complete*/
while((GET_BIT((USART2 -> SR), 5)) == 0);
- 8001dfe: bf00 nop
- 8001e00: 4b07 ldr r3, [pc, #28] ; (8001e20 )
- 8001e02: 681b ldr r3, [r3, #0]
- 8001e04: 095b lsrs r3, r3, #5
- 8001e06: f003 0301 and.w r3, r3, #1
- 8001e0a: 2b00 cmp r3, #0
- 8001e0c: d0f8 beq.n 8001e00
+ 8001dfa: bf00 nop
+ 8001dfc: 4b07 ldr r3, [pc, #28] ; (8001e1c )
+ 8001dfe: 681b ldr r3, [r3, #0]
+ 8001e00: 095b lsrs r3, r3, #5
+ 8001e02: f003 0301 and.w r3, r3, #1
+ 8001e06: 2b00 cmp r3, #0
+ 8001e08: d0f8 beq.n 8001dfc
Loc_u8ReceivedData = USART2 -> DR;
- 8001e0e: 4b04 ldr r3, [pc, #16] ; (8001e20 )
- 8001e10: 685b ldr r3, [r3, #4]
- 8001e12: 71fb strb r3, [r7, #7]
+ 8001e0a: 4b04 ldr r3, [pc, #16] ; (8001e1c )
+ 8001e0c: 685b ldr r3, [r3, #4]
+ 8001e0e: 71fb strb r3, [r7, #7]
return (Loc_u8ReceivedData);
- 8001e14: 79fb ldrb r3, [r7, #7]
+ 8001e10: 79fb ldrb r3, [r7, #7]
}
- 8001e16: 4618 mov r0, r3
- 8001e18: 370c adds r7, #12
- 8001e1a: 46bd mov sp, r7
- 8001e1c: bc80 pop {r7}
- 8001e1e: 4770 bx lr
- 8001e20: 40004400 .word 0x40004400
+ 8001e12: 4618 mov r0, r3
+ 8001e14: 370c adds r7, #12
+ 8001e16: 46bd mov sp, r7
+ 8001e18: bc80 pop {r7}
+ 8001e1a: 4770 bx lr
+ 8001e1c: 40004400 .word 0x40004400
-08001e24 :
+08001e20 :
u8 MUSART2_u8ReceiveDataBlock(u8* Copy_u8DataArr)
{
- 8001e24: b580 push {r7, lr}
- 8001e26: b084 sub sp, #16
- 8001e28: af00 add r7, sp, #0
- 8001e2a: 6078 str r0, [r7, #4]
+ 8001e20: b580 push {r7, lr}
+ 8001e22: b084 sub sp, #16
+ 8001e24: af00 add r7, sp, #0
+ 8001e26: 6078 str r0, [r7, #4]
u8 Loc_u8Data = 0;
- 8001e2c: 2300 movs r3, #0
- 8001e2e: 73fb strb r3, [r7, #15]
+ 8001e28: 2300 movs r3, #0
+ 8001e2a: 73fb strb r3, [r7, #15]
u8 Loc_u8Index = 0;
- 8001e30: 2300 movs r3, #0
- 8001e32: 73bb strb r3, [r7, #14]
+ 8001e2c: 2300 movs r3, #0
+ 8001e2e: 73bb strb r3, [r7, #14]
Loc_u8Data = MUSART2_u8ReceiveData();
- 8001e34: f7ff ffde bl 8001df4
- 8001e38: 4603 mov r3, r0
- 8001e3a: 73fb strb r3, [r7, #15]
+ 8001e30: f7ff ffde bl 8001df0
+ 8001e34: 4603 mov r3, r0
+ 8001e36: 73fb strb r3, [r7, #15]
while(Loc_u8Data != '\0')
- 8001e3c: e00b b.n 8001e56
+ 8001e38: e00b b.n 8001e52
{
Copy_u8DataArr[Loc_u8Index] = Loc_u8Data;
- 8001e3e: 7bbb ldrb r3, [r7, #14]
- 8001e40: 687a ldr r2, [r7, #4]
- 8001e42: 4413 add r3, r2
- 8001e44: 7bfa ldrb r2, [r7, #15]
- 8001e46: 701a strb r2, [r3, #0]
+ 8001e3a: 7bbb ldrb r3, [r7, #14]
+ 8001e3c: 687a ldr r2, [r7, #4]
+ 8001e3e: 4413 add r3, r2
+ 8001e40: 7bfa ldrb r2, [r7, #15]
+ 8001e42: 701a strb r2, [r3, #0]
Loc_u8Index++;
- 8001e48: 7bbb ldrb r3, [r7, #14]
- 8001e4a: 3301 adds r3, #1
- 8001e4c: 73bb strb r3, [r7, #14]
+ 8001e44: 7bbb ldrb r3, [r7, #14]
+ 8001e46: 3301 adds r3, #1
+ 8001e48: 73bb strb r3, [r7, #14]
Loc_u8Data = MUSART2_u8ReceiveData();
- 8001e4e: f7ff ffd1 bl 8001df4
- 8001e52: 4603 mov r3, r0
- 8001e54: 73fb strb r3, [r7, #15]
+ 8001e4a: f7ff ffd1 bl 8001df0
+ 8001e4e: 4603 mov r3, r0
+ 8001e50: 73fb strb r3, [r7, #15]
while(Loc_u8Data != '\0')
- 8001e56: 7bfb ldrb r3, [r7, #15]
- 8001e58: 2b00 cmp r3, #0
- 8001e5a: d1f0 bne.n 8001e3e
+ 8001e52: 7bfb ldrb r3, [r7, #15]
+ 8001e54: 2b00 cmp r3, #0
+ 8001e56: d1f0 bne.n 8001e3a
}
return Loc_u8Index;
- 8001e5c: 7bbb ldrb r3, [r7, #14]
+ 8001e58: 7bbb ldrb r3, [r7, #14]
}
- 8001e5e: 4618 mov r0, r3
- 8001e60: 3710 adds r7, #16
- 8001e62: 46bd mov sp, r7
- 8001e64: bd80 pop {r7, pc}
+ 8001e5a: 4618 mov r0, r3
+ 8001e5c: 3710 adds r7, #16
+ 8001e5e: 46bd mov sp, r7
+ 8001e60: bd80 pop {r7, pc}
...
-08001e68 :
-s16 Local_Reading = 0;
-
+08001e64 :
+s16 Final_Value = 0 ;
+s16 Reading = 0 ;
/*ISR of EXTI8 (left encoder)*/
-void LeftEncoderGetReading (void)
+void RightEncoderGetReading (void)
{
- 8001e68: b580 push {r7, lr}
- 8001e6a: af00 add r7, sp, #0
- left_counts = HENCODER_voidEncoderCounts(GPIOA,PIN8);
- 8001e6c: 2108 movs r1, #8
- 8001e6e: 2000 movs r0, #0
- 8001e70: f7ff fcf2 bl 8001858
- 8001e74: 4603 mov r3, r0
- 8001e76: 4a02 ldr r2, [pc, #8] ; (8001e80 )
- 8001e78: 6013 str r3, [r2, #0]
+ 8001e64: b580 push {r7, lr}
+ 8001e66: af00 add r7, sp, #0
+ right_counts = HENCODER_voidEncoderCounts(GPIOA,PIN8);
+ 8001e68: 2108 movs r1, #8
+ 8001e6a: 2000 movs r0, #0
+ 8001e6c: f7ff fcf4 bl 8001858
+ 8001e70: 4603 mov r3, r0
+ 8001e72: 4a02 ldr r2, [pc, #8] ; (8001e7c )
+ 8001e74: 6013 str r3, [r2, #0]
}
+ 8001e76: bf00 nop
+ 8001e78: bd80 pop {r7, pc}
8001e7a: bf00 nop
- 8001e7c: bd80 pop {r7, pc}
- 8001e7e: bf00 nop
- 8001e80: 200000e0 .word 0x200000e0
+ 8001e7c: 200000dc .word 0x200000dc
-08001e84 :
+08001e80 :
/*ISR of EXTI10 (right encoder)*/
-void RightEncoderGetReading (void)
+void LeftEncoderGetReading (void)
{
- 8001e84: b580 push {r7, lr}
- 8001e86: af00 add r7, sp, #0
- right_counts = HENCODER_voidEncoderCounts(GPIOB,PIN10);
- 8001e88: 210a movs r1, #10
- 8001e8a: 2001 movs r0, #1
- 8001e8c: f7ff fce4 bl 8001858
- 8001e90: 4603 mov r3, r0
- 8001e92: 4a02 ldr r2, [pc, #8] ; (8001e9c )
- 8001e94: 6013 str r3, [r2, #0]
+ 8001e80: b580 push {r7, lr}
+ 8001e82: af00 add r7, sp, #0
+ left_counts = HENCODER_voidEncoderCounts(GPIOB,PIN10);
+ 8001e84: 210a movs r1, #10
+ 8001e86: 2001 movs r0, #1
+ 8001e88: f7ff fce6 bl 8001858
+ 8001e8c: 4603 mov r3, r0
+ 8001e8e: 4a02 ldr r2, [pc, #8] ; (8001e98 )
+ 8001e90: 6013 str r3, [r2, #0]
}
+ 8001e92: bf00 nop
+ 8001e94: bd80 pop {r7, pc}
8001e96: bf00 nop
- 8001e98: bd80 pop {r7, pc}
- 8001e9a: bf00 nop
- 8001e9c: 200000dc .word 0x200000dc
+ 8001e98: 200000e0 .word 0x200000e0
-08001ea0 :
+08001e9c :
s16 Get_Reading(void)
{
- 8001ea0: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr}
- 8001ea4: b082 sub sp, #8
- 8001ea6: af00 add r7, sp, #0
+ 8001e9c: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr}
+ 8001ea0: b082 sub sp, #8
+ 8001ea2: af00 add r7, sp, #0
Rx_arrlength = MUSART2_u8ReceiveDataBlock(data_arr);
- 8001ea8: 4853 ldr r0, [pc, #332] ; (8001ff8 )
- 8001eaa: f7ff ffbb bl 8001e24
- 8001eae: 4603 mov r3, r0
- 8001eb0: 461a mov r2, r3
- 8001eb2: 4b52 ldr r3, [pc, #328] ; (8001ffc )
- 8001eb4: 701a strb r2, [r3, #0]
+ 8001ea4: 4853 ldr r0, [pc, #332] ; (8001ff4 )
+ 8001ea6: f7ff ffbb bl 8001e20
+ 8001eaa: 4603 mov r3, r0
+ 8001eac: 461a mov r2, r3
+ 8001eae: 4b52 ldr r3, [pc, #328] ; (8001ff8 )
+ 8001eb0: 701a strb r2, [r3, #0]
Rx_mpu = 0;
- 8001eb6: 4b52 ldr r3, [pc, #328] ; (8002000 )
- 8001eb8: 2200 movs r2, #0
- 8001eba: 801a strh r2, [r3, #0]
+ 8001eb2: 4b52 ldr r3, [pc, #328] ; (8001ffc )
+ 8001eb4: 2200 movs r2, #0
+ 8001eb6: 801a strh r2, [r3, #0]
if(data_arr[0] == 'a')
- 8001ebc: 4b4e ldr r3, [pc, #312] ; (8001ff8 )
- 8001ebe: 781b ldrb r3, [r3, #0]
- 8001ec0: 2b61 cmp r3, #97 ; 0x61
- 8001ec2: f040 8090 bne.w 8001fe6
+ 8001eb8: 4b4e ldr r3, [pc, #312] ; (8001ff4 )
+ 8001eba: 781b ldrb r3, [r3, #0]
+ 8001ebc: 2b61 cmp r3, #97 ; 0x61
+ 8001ebe: f040 8090 bne.w 8001fe2
{
if (data_arr[1] == '-')
- 8001ec6: 4b4c ldr r3, [pc, #304] ; (8001ff8 )
- 8001ec8: 785b ldrb r3, [r3, #1]
- 8001eca: 2b2d cmp r3, #45 ; 0x2d
- 8001ecc: d14a bne.n 8001f64
+ 8001ec2: 4b4c ldr r3, [pc, #304] ; (8001ff4 )
+ 8001ec4: 785b ldrb r3, [r3, #1]
+ 8001ec6: 2b2d cmp r3, #45 ; 0x2d
+ 8001ec8: d14a bne.n 8001f60
{
for(u8 i = 2 ; i
+ 8001eca: 2302 movs r3, #2
+ 8001ecc: 71fb strb r3, [r7, #7]
+ 8001ece: e038 b.n 8001f42
{
Rx_mpu = Rx_mpu + (data_arr[i]-48)*pow(10,Rx_arrlength-1-i);
- 8001ed4: 4b4a ldr r3, [pc, #296] ; (8002000 )
- 8001ed6: f9b3 3000 ldrsh.w r3, [r3]
- 8001eda: 4618 mov r0, r3
- 8001edc: f7fe fa9a bl 8000414 <__aeabi_i2d>
- 8001ee0: 4604 mov r4, r0
- 8001ee2: 460d mov r5, r1
- 8001ee4: 79fb ldrb r3, [r7, #7]
- 8001ee6: 4a44 ldr r2, [pc, #272] ; (8001ff8 )
- 8001ee8: 5cd3 ldrb r3, [r2, r3]
- 8001eea: 3b30 subs r3, #48 ; 0x30
- 8001eec: 4618 mov r0, r3
- 8001eee: f7fe fa91 bl 8000414 <__aeabi_i2d>
- 8001ef2: 4680 mov r8, r0
- 8001ef4: 4689 mov r9, r1
- 8001ef6: 4b41 ldr r3, [pc, #260] ; (8001ffc )
- 8001ef8: 781b ldrb r3, [r3, #0]
- 8001efa: 1e5a subs r2, r3, #1
- 8001efc: 79fb ldrb r3, [r7, #7]
- 8001efe: 1ad3 subs r3, r2, r3
- 8001f00: 4618 mov r0, r3
- 8001f02: f7fe fa87 bl 8000414 <__aeabi_i2d>
- 8001f06: 4602 mov r2, r0
- 8001f08: 460b mov r3, r1
- 8001f0a: f04f 0000 mov.w r0, #0
- 8001f0e: 493d ldr r1, [pc, #244] ; (8002004 )
- 8001f10: f000 fc12 bl 8002738
- 8001f14: 4602 mov r2, r0
- 8001f16: 460b mov r3, r1
- 8001f18: 4640 mov r0, r8
- 8001f1a: 4649 mov r1, r9
- 8001f1c: f7fe fae4 bl 80004e8 <__aeabi_dmul>
- 8001f20: 4602 mov r2, r0
- 8001f22: 460b mov r3, r1
- 8001f24: 4620 mov r0, r4
- 8001f26: 4629 mov r1, r5
- 8001f28: f7fe f928 bl 800017c <__adddf3>
- 8001f2c: 4602 mov r2, r0
- 8001f2e: 460b mov r3, r1
- 8001f30: 4610 mov r0, r2
- 8001f32: 4619 mov r1, r3
- 8001f34: f7fe fd88 bl 8000a48 <__aeabi_d2iz>
- 8001f38: 4603 mov r3, r0
- 8001f3a: b21a sxth r2, r3
- 8001f3c: 4b30 ldr r3, [pc, #192] ; (8002000 )
- 8001f3e: 801a strh r2, [r3, #0]
+ 8001ed0: 4b4a ldr r3, [pc, #296] ; (8001ffc )
+ 8001ed2: f9b3 3000 ldrsh.w r3, [r3]
+ 8001ed6: 4618 mov r0, r3
+ 8001ed8: f7fe fa9c bl 8000414 <__aeabi_i2d>
+ 8001edc: 4604 mov r4, r0
+ 8001ede: 460d mov r5, r1
+ 8001ee0: 79fb ldrb r3, [r7, #7]
+ 8001ee2: 4a44 ldr r2, [pc, #272] ; (8001ff4 )
+ 8001ee4: 5cd3 ldrb r3, [r2, r3]
+ 8001ee6: 3b30 subs r3, #48 ; 0x30
+ 8001ee8: 4618 mov r0, r3
+ 8001eea: f7fe fa93 bl 8000414 <__aeabi_i2d>
+ 8001eee: 4680 mov r8, r0
+ 8001ef0: 4689 mov r9, r1
+ 8001ef2: 4b41 ldr r3, [pc, #260] ; (8001ff8 )
+ 8001ef4: 781b ldrb r3, [r3, #0]
+ 8001ef6: 1e5a subs r2, r3, #1
+ 8001ef8: 79fb ldrb r3, [r7, #7]
+ 8001efa: 1ad3 subs r3, r2, r3
+ 8001efc: 4618 mov r0, r3
+ 8001efe: f7fe fa89 bl 8000414 <__aeabi_i2d>
+ 8001f02: 4602 mov r2, r0
+ 8001f04: 460b mov r3, r1
+ 8001f06: f04f 0000 mov.w r0, #0
+ 8001f0a: 493d ldr r1, [pc, #244] ; (8002000 )
+ 8001f0c: f000 fcae bl 800286c
+ 8001f10: 4602 mov r2, r0
+ 8001f12: 460b mov r3, r1
+ 8001f14: 4640 mov r0, r8
+ 8001f16: 4649 mov r1, r9
+ 8001f18: f7fe fae6 bl 80004e8 <__aeabi_dmul>
+ 8001f1c: 4602 mov r2, r0
+ 8001f1e: 460b mov r3, r1
+ 8001f20: 4620 mov r0, r4
+ 8001f22: 4629 mov r1, r5
+ 8001f24: f7fe f92a bl 800017c <__adddf3>
+ 8001f28: 4602 mov r2, r0
+ 8001f2a: 460b mov r3, r1
+ 8001f2c: 4610 mov r0, r2
+ 8001f2e: 4619 mov r1, r3
+ 8001f30: f7fe fd8a bl 8000a48 <__aeabi_d2iz>
+ 8001f34: 4603 mov r3, r0
+ 8001f36: b21a sxth r2, r3
+ 8001f38: 4b30 ldr r3, [pc, #192] ; (8001ffc )
+ 8001f3a: 801a strh r2, [r3, #0]
for(u8 i = 2 ; i)
- 8001f48: 781b ldrb r3, [r3, #0]
- 8001f4a: 79fa ldrb r2, [r7, #7]
- 8001f4c: 429a cmp r2, r3
- 8001f4e: d3c1 bcc.n 8001ed4
+ 8001f3c: 79fb ldrb r3, [r7, #7]
+ 8001f3e: 3301 adds r3, #1
+ 8001f40: 71fb strb r3, [r7, #7]
+ 8001f42: 4b2d ldr r3, [pc, #180] ; (8001ff8 )
+ 8001f44: 781b ldrb r3, [r3, #0]
+ 8001f46: 79fa ldrb r2, [r7, #7]
+ 8001f48: 429a cmp r2, r3
+ 8001f4a: d3c1 bcc.n 8001ed0
}
Rx_mpu = Rx_mpu*-1;
- 8001f50: 4b2b ldr r3, [pc, #172] ; (8002000 )
- 8001f52: f9b3 3000 ldrsh.w r3, [r3]
+ 8001f4c: 4b2b ldr r3, [pc, #172] ; (8001ffc )
+ 8001f4e: f9b3 3000 ldrsh.w r3, [r3]
+ 8001f52: b29b uxth r3, r3
+ 8001f54: 425b negs r3, r3
8001f56: b29b uxth r3, r3
- 8001f58: 425b negs r3, r3
- 8001f5a: b29b uxth r3, r3
- 8001f5c: b21a sxth r2, r3
- 8001f5e: 4b28 ldr r3, [pc, #160] ; (8002000 )
- 8001f60: 801a strh r2, [r3, #0]
- 8001f62: e040 b.n 8001fe6
+ 8001f58: b21a sxth r2, r3
+ 8001f5a: 4b28 ldr r3, [pc, #160] ; (8001ffc )
+ 8001f5c: 801a strh r2, [r3, #0]
+ 8001f5e: e040 b.n 8001fe2
}
else
{
for(u8 i = 1 ; i
+ 8001f60: 2301 movs r3, #1
+ 8001f62: 71bb strb r3, [r7, #6]
+ 8001f64: e038 b.n 8001fd8
{
Rx_mpu = Rx_mpu + (data_arr[i]-48)*pow(10,Rx_arrlength-1-i);
- 8001f6a: 4b25 ldr r3, [pc, #148] ; (8002000 )
- 8001f6c: f9b3 3000 ldrsh.w r3, [r3]
- 8001f70: 4618 mov r0, r3
- 8001f72: f7fe fa4f bl 8000414 <__aeabi_i2d>
- 8001f76: 4604 mov r4, r0
- 8001f78: 460d mov r5, r1
- 8001f7a: 79bb ldrb r3, [r7, #6]
- 8001f7c: 4a1e ldr r2, [pc, #120] ; (8001ff8 )
- 8001f7e: 5cd3 ldrb r3, [r2, r3]
- 8001f80: 3b30 subs r3, #48 ; 0x30
- 8001f82: 4618 mov r0, r3
- 8001f84: f7fe fa46 bl 8000414 <__aeabi_i2d>
- 8001f88: 4680 mov r8, r0
- 8001f8a: 4689 mov r9, r1
- 8001f8c: 4b1b ldr r3, [pc, #108] ; (8001ffc )
- 8001f8e: 781b ldrb r3, [r3, #0]
- 8001f90: 1e5a subs r2, r3, #1
- 8001f92: 79bb ldrb r3, [r7, #6]
- 8001f94: 1ad3 subs r3, r2, r3
- 8001f96: 4618 mov r0, r3
- 8001f98: f7fe fa3c bl 8000414 <__aeabi_i2d>
- 8001f9c: 4602 mov r2, r0
- 8001f9e: 460b mov r3, r1
- 8001fa0: f04f 0000 mov.w r0, #0
- 8001fa4: 4917 ldr r1, [pc, #92] ; (8002004 )
- 8001fa6: f000 fbc7 bl 8002738
- 8001faa: 4602 mov r2, r0
- 8001fac: 460b mov r3, r1
- 8001fae: 4640 mov r0, r8
- 8001fb0: 4649 mov r1, r9
- 8001fb2: f7fe fa99 bl 80004e8 <__aeabi_dmul>
- 8001fb6: 4602 mov r2, r0
- 8001fb8: 460b mov r3, r1
- 8001fba: 4620 mov r0, r4
- 8001fbc: 4629 mov r1, r5
- 8001fbe: f7fe f8dd bl 800017c <__adddf3>
- 8001fc2: 4602 mov r2, r0
- 8001fc4: 460b mov r3, r1
- 8001fc6: 4610 mov r0, r2
- 8001fc8: 4619 mov r1, r3
- 8001fca: f7fe fd3d bl 8000a48 <__aeabi_d2iz>
- 8001fce: 4603 mov r3, r0
- 8001fd0: b21a sxth r2, r3
- 8001fd2: 4b0b ldr r3, [pc, #44] ; (8002000 )
- 8001fd4: 801a strh r2, [r3, #0]
+ 8001f66: 4b25 ldr r3, [pc, #148] ; (8001ffc )
+ 8001f68: f9b3 3000 ldrsh.w r3, [r3]
+ 8001f6c: 4618 mov r0, r3
+ 8001f6e: f7fe fa51 bl 8000414 <__aeabi_i2d>
+ 8001f72: 4604 mov r4, r0
+ 8001f74: 460d mov r5, r1
+ 8001f76: 79bb ldrb r3, [r7, #6]
+ 8001f78: 4a1e ldr r2, [pc, #120] ; (8001ff4 )
+ 8001f7a: 5cd3 ldrb r3, [r2, r3]
+ 8001f7c: 3b30 subs r3, #48 ; 0x30
+ 8001f7e: 4618 mov r0, r3
+ 8001f80: f7fe fa48 bl 8000414 <__aeabi_i2d>
+ 8001f84: 4680 mov r8, r0
+ 8001f86: 4689 mov r9, r1
+ 8001f88: 4b1b ldr r3, [pc, #108] ; (8001ff8 )
+ 8001f8a: 781b ldrb r3, [r3, #0]
+ 8001f8c: 1e5a subs r2, r3, #1
+ 8001f8e: 79bb ldrb r3, [r7, #6]
+ 8001f90: 1ad3 subs r3, r2, r3
+ 8001f92: 4618 mov r0, r3
+ 8001f94: f7fe fa3e bl 8000414 <__aeabi_i2d>
+ 8001f98: 4602 mov r2, r0
+ 8001f9a: 460b mov r3, r1
+ 8001f9c: f04f 0000 mov.w r0, #0
+ 8001fa0: 4917 ldr r1, [pc, #92] ; (8002000 )
+ 8001fa2: f000 fc63 bl 800286c
+ 8001fa6: 4602 mov r2, r0
+ 8001fa8: 460b mov r3, r1
+ 8001faa: 4640 mov r0, r8
+ 8001fac: 4649 mov r1, r9
+ 8001fae: f7fe fa9b bl 80004e8 <__aeabi_dmul>
+ 8001fb2: 4602 mov r2, r0
+ 8001fb4: 460b mov r3, r1
+ 8001fb6: 4620 mov r0, r4
+ 8001fb8: 4629 mov r1, r5
+ 8001fba: f7fe f8df bl 800017c <__adddf3>
+ 8001fbe: 4602 mov r2, r0
+ 8001fc0: 460b mov r3, r1
+ 8001fc2: 4610 mov r0, r2
+ 8001fc4: 4619 mov r1, r3
+ 8001fc6: f7fe fd3f bl 8000a48 <__aeabi_d2iz>
+ 8001fca: 4603 mov r3, r0
+ 8001fcc: b21a sxth r2, r3
+ 8001fce: 4b0b ldr r3, [pc, #44] ; (8001ffc )
+ 8001fd0: 801a strh r2, [r3, #0]
for(u8 i = 1 ; i)
- 8001fde: 781b ldrb r3, [r3, #0]
- 8001fe0: 79ba ldrb r2, [r7, #6]
- 8001fe2: 429a cmp r2, r3
- 8001fe4: d3c1 bcc.n 8001f6a
+ 8001fd2: 79bb ldrb r3, [r7, #6]
+ 8001fd4: 3301 adds r3, #1
+ 8001fd6: 71bb strb r3, [r7, #6]
+ 8001fd8: 4b07 ldr r3, [pc, #28] ; (8001ff8 )
+ 8001fda: 781b ldrb r3, [r3, #0]
+ 8001fdc: 79ba ldrb r2, [r7, #6]
+ 8001fde: 429a cmp r2, r3
+ 8001fe0: d3c1 bcc.n 8001f66
}
}
}
return Rx_mpu ;
- 8001fe6: 4b06 ldr r3, [pc, #24] ; (8002000 )
- 8001fe8: f9b3 3000 ldrsh.w r3, [r3]
+ 8001fe2: 4b06 ldr r3, [pc, #24] ; (8001ffc )
+ 8001fe4: f9b3 3000 ldrsh.w r3, [r3]
}
- 8001fec: 4618 mov r0, r3
- 8001fee: 3708 adds r7, #8
- 8001ff0: 46bd mov sp, r7
- 8001ff2: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc}
- 8001ff6: bf00 nop
- 8001ff8: 200000f4 .word 0x200000f4
- 8001ffc: 200000f0 .word 0x200000f0
- 8002000: 2000010a .word 0x2000010a
- 8002004: 40240000 .word 0x40240000
+ 8001fe8: 4618 mov r0, r3
+ 8001fea: 3708 adds r7, #8
+ 8001fec: 46bd mov sp, r7
+ 8001fee: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc}
+ 8001ff2: bf00 nop
+ 8001ff4: 200000f4 .word 0x200000f4
+ 8001ff8: 200000f0 .word 0x200000f0
+ 8001ffc: 2000010a .word 0x2000010a
+ 8002000: 40240000 .word 0x40240000
-08002008 :
+08002004 :
void RotateRight()
{
- 8002008: b580 push {r7, lr}
- 800200a: b082 sub sp, #8
- 800200c: af00 add r7, sp, #0
-
- s16 Reading = 0 ;
- 800200e: 2300 movs r3, #0
- 8002010: 807b strh r3, [r7, #2]
- s16 Final_Value = 0 ;
- 8002012: 2300 movs r3, #0
- 8002014: 80fb strh r3, [r7, #6]
+ 8002004: b580 push {r7, lr}
+ 8002006: b082 sub sp, #8
+ 8002008: af00 add r7, sp, #0
s16 error = 0;
- 8002016: 2300 movs r3, #0
- 8002018: 80bb strh r3, [r7, #4]
-
+ 800200a: 2300 movs r3, #0
+ 800200c: 80fb strh r3, [r7, #6]
Reading = Get_Reading() ;
- 800201a: f7ff ff41 bl 8001ea0
- 800201e: 4603 mov r3, r0
- 8002020: 807b strh r3, [r7, #2]
-
+ 800200e: f7ff ff45 bl 8001e9c
+ 8002012: 4603 mov r3, r0
+ 8002014: 461a mov r2, r3
+ 8002016: 4b43 ldr r3, [pc, #268] ; (8002124 )
+ 8002018: 801a strh r2, [r3, #0]
Final_Value = Reading + 90 ;
- 8002022: 887b ldrh r3, [r7, #2]
- 8002024: 335a adds r3, #90 ; 0x5a
- 8002026: b29b uxth r3, r3
- 8002028: 80fb strh r3, [r7, #6]
+ 800201a: 4b42 ldr r3, [pc, #264] ; (8002124 )
+ 800201c: f9b3 3000 ldrsh.w r3, [r3]
+ 8002020: b29b uxth r3, r3
+ 8002022: 335a adds r3, #90 ; 0x5a
+ 8002024: b29b uxth r3, r3
+ 8002026: b21a sxth r2, r3
+ 8002028: 4b3f ldr r3, [pc, #252] ; (8002128 )
+ 800202a: 801a strh r2, [r3, #0]
if (Final_Value > 180 )
- 800202a: f9b7 3006 ldrsh.w r3, [r7, #6]
- 800202e: 2bb4 cmp r3, #180 ; 0xb4
- 8002030: dd04 ble.n 800203c
+ 800202c: 4b3e ldr r3, [pc, #248] ; (8002128 )
+ 800202e: f9b3 3000 ldrsh.w r3, [r3]
+ 8002032: 2bb4 cmp r3, #180 ; 0xb4
+ 8002034: dd09 ble.n 800204a
{
Final_Value = Final_Value - 360 ;
- 8002032: 88fb ldrh r3, [r7, #6]
- 8002034: f5a3 73b4 sub.w r3, r3, #360 ; 0x168
- 8002038: b29b uxth r3, r3
- 800203a: 80fb strh r3, [r7, #6]
+ 8002036: 4b3c ldr r3, [pc, #240] ; (8002128 )
+ 8002038: f9b3 3000 ldrsh.w r3, [r3]
+ 800203c: b29b uxth r3, r3
+ 800203e: f5a3 73b4 sub.w r3, r3, #360 ; 0x168
+ 8002042: b29b uxth r3, r3
+ 8002044: b21a sxth r2, r3
+ 8002046: 4b38 ldr r3, [pc, #224] ; (8002128 )
+ 8002048: 801a strh r2, [r3, #0]
}
error = Final_Value - Reading ;
- 800203c: 88fa ldrh r2, [r7, #6]
- 800203e: 887b ldrh r3, [r7, #2]
- 8002040: 1ad3 subs r3, r2, r3
- 8002042: b29b uxth r3, r3
- 8002044: 80bb strh r3, [r7, #4]
+ 800204a: 4b37 ldr r3, [pc, #220] ; (8002128 )
+ 800204c: f9b3 3000 ldrsh.w r3, [r3]
+ 8002050: b29a uxth r2, r3
+ 8002052: 4b34 ldr r3, [pc, #208] ; (8002124 )
+ 8002054: f9b3 3000 ldrsh.w r3, [r3]
+ 8002058: b29b uxth r3, r3
+ 800205a: 1ad3 subs r3, r2, r3
+ 800205c: b29b uxth r3, r3
+ 800205e: 80fb strh r3, [r7, #6]
while (1)
{
MGPIO_VoidSetPinValue(GPIOA, 0, HIGH);
- 8002046: 2201 movs r2, #1
- 8002048: 2100 movs r1, #0
- 800204a: 2000 movs r0, #0
- 800204c: f7ff f9b0 bl 80013b0
+ 8002060: 2201 movs r2, #1
+ 8002062: 2100 movs r1, #0
+ 8002064: 2000 movs r0, #0
+ 8002066: f7ff f9a3 bl 80013b0
MGPIO_VoidSetPinValue(GPIOA, 5, LOW);
- 8002050: 2200 movs r2, #0
- 8002052: 2105 movs r1, #5
- 8002054: 2000 movs r0, #0
- 8002056: f7ff f9ab bl 80013b0
-
- MTIM2_voidOutputPWM_C2(30);
- 800205a: 201e movs r0, #30
- 800205c: f7ff fddc bl 8001c18
- MTIM3_voidOutputPWM(30);
- 8002060: 201e movs r0, #30
- 8002062: f7ff fe37 bl 8001cd4
+ 800206a: 2200 movs r2, #0
+ 800206c: 2105 movs r1, #5
+ 800206e: 2000 movs r0, #0
+ 8002070: f7ff f99e bl 80013b0
+
+ MTIM2_voidOutputPWM_C2(15);
+ 8002074: 200f movs r0, #15
+ 8002076: f7ff fdcf bl 8001c18
+ MTIM3_voidOutputPWM(15);
+ 800207a: 200f movs r0, #15
+ 800207c: f7ff fe2a bl 8001cd4
if (error < -180 )
- 8002066: f9b7 3004 ldrsh.w r3, [r7, #4]
- 800206a: f113 0fb4 cmn.w r3, #180 ; 0xb4
- 800206e: da04 bge.n 800207a
+ 8002080: f9b7 3006 ldrsh.w r3, [r7, #6]
+ 8002084: f113 0fb4 cmn.w r3, #180 ; 0xb4
+ 8002088: da04 bge.n 8002094
{
error += 360 ;
- 8002070: 88bb ldrh r3, [r7, #4]
- 8002072: f503 73b4 add.w r3, r3, #360 ; 0x168
- 8002076: b29b uxth r3, r3
- 8002078: 80bb strh r3, [r7, #4]
+ 800208a: 88fb ldrh r3, [r7, #6]
+ 800208c: f503 73b4 add.w r3, r3, #360 ; 0x168
+ 8002090: b29b uxth r3, r3
+ 8002092: 80fb strh r3, [r7, #6]
}
if ( error <= 0 )
- 800207a: f9b7 3004 ldrsh.w r3, [r7, #4]
- 800207e: 2b00 cmp r3, #0
- 8002080: dc1e bgt.n 80020c0
+ 8002094: f9b7 3006 ldrsh.w r3, [r7, #6]
+ 8002098: 2b00 cmp r3, #0
+ 800209a: dc2d bgt.n 80020f8
{
MTIM3_voidOutputPWM(0);
- 8002082: 2000 movs r0, #0
- 8002084: f7ff fe26 bl 8001cd4
+ 800209c: 2000 movs r0, #0
+ 800209e: f7ff fe19 bl 8001cd4
MTIM2_voidOutputPWM_C2(0);
- 8002088: 2000 movs r0, #0
- 800208a: f7ff fdc5 bl 8001c18
+ 80020a2: 2000 movs r0, #0
+ 80020a4: f7ff fdb8 bl 8001c18
HENCODER_s32GetZeroCounts(PIN8);
- 800208e: 2008 movs r0, #8
- 8002090: f7ff fc36 bl 8001900
+ 80020a8: 2008 movs r0, #8
+ 80020aa: f7ff fc29 bl 8001900
HENCODER_s32GetZeroCounts(PIN10);
- 8002094: 200a movs r0, #10
- 8002096: f7ff fc33 bl 8001900
+ 80020ae: 200a movs r0, #10
+ 80020b0: f7ff fc26 bl 8001900
MUSART2_voidSendString((u8*)"s2");
- 800209a: 4810 ldr r0, [pc, #64] ; (80020dc )
- 800209c: f7ff fe7e bl 8001d9c
+ 80020b4: 481d ldr r0, [pc, #116] ; (800212c )
+ 80020b6: f7ff fe6f bl 8001d98
+ MUSART2_voidSendString((u8*)"\r\n");
+ 80020ba: 481d ldr r0, [pc, #116] ; (8002130 )
+ 80020bc: f7ff fe6c bl 8001d98
+
+ MUSART2_voidSendString((u8*)"p");
+ 80020c0: 481c ldr r0, [pc, #112] ; (8002134 )
+ 80020c2: f7ff fe69 bl 8001d98
+ MUSART2_voidSendNumbers(Final_Value);
+ 80020c6: 4b18 ldr r3, [pc, #96] ; (8002128 )
+ 80020c8: f9b3 3000 ldrsh.w r3, [r3]
+ 80020cc: 4618 mov r0, r3
+ 80020ce: f7ff fe79 bl 8001dc4
MUSART2_voidSendString((u8*)"\r\n");
- 80020a0: 480f ldr r0, [pc, #60] ; (80020e0 )
- 80020a2: f7ff fe7b bl 8001d9c
+ 80020d2: 4817 ldr r0, [pc, #92] ; (8002130 )
+ 80020d4: f7ff fe60 bl 8001d98
+ MUSART2_voidSendString((u8*)"v");
+ 80020d8: 4817 ldr r0, [pc, #92] ; (8002138 )
+ 80020da: f7ff fe5d bl 8001d98
MUSART2_voidSendNumbers(reading);
- 80020a6: 4b0f ldr r3, [pc, #60] ; (80020e4 )
- 80020a8: 681b ldr r3, [r3, #0]
- 80020aa: 4618 mov r0, r3
- 80020ac: f7fe ffc2 bl 8001034 <__aeabi_f2iz>
- 80020b0: 4603 mov r3, r0
- 80020b2: 4618 mov r0, r3
- 80020b4: f7ff fe88 bl 8001dc8
+ 80020de: 4b17 ldr r3, [pc, #92] ; (800213c )
+ 80020e0: 681b ldr r3, [r3, #0]
+ 80020e2: 4618 mov r0, r3
+ 80020e4: f7fe ffa6 bl 8001034 <__aeabi_f2iz>
+ 80020e8: 4603 mov r3, r0
+ 80020ea: 4618 mov r0, r3
+ 80020ec: f7ff fe6a bl 8001dc4
MUSART2_voidSendString((u8*)"\r\n");
- 80020b8: 4809 ldr r0, [pc, #36] ; (80020e0 )
- 80020ba: f7ff fe6f bl 8001d9c
+ 80020f0: 480f ldr r0, [pc, #60] ; (8002130 )
+ 80020f2: f7ff fe51 bl 8001d98
break ;
- 80020be: e009 b.n 80020d4
+ 80020f6: e011 b.n 800211c
}
- Reading = Get_Reading() ;
- 80020c0: f7ff feee bl 8001ea0
- 80020c4: 4603 mov r3, r0
- 80020c6: 807b strh r3, [r7, #2]
+ Reading = Get_Reading() ;
+ 80020f8: f7ff fed0 bl 8001e9c
+ 80020fc: 4603 mov r3, r0
+ 80020fe: 461a mov r2, r3
+ 8002100: 4b08 ldr r3, [pc, #32] ; (8002124 )
+ 8002102: 801a strh r2, [r3, #0]
error = Final_Value - Reading ;
- 80020c8: 88fa ldrh r2, [r7, #6]
- 80020ca: 887b ldrh r3, [r7, #2]
- 80020cc: 1ad3 subs r3, r2, r3
- 80020ce: b29b uxth r3, r3
- 80020d0: 80bb strh r3, [r7, #4]
+ 8002104: 4b08 ldr r3, [pc, #32] ; (8002128 )
+ 8002106: f9b3 3000 ldrsh.w r3, [r3]
+ 800210a: b29a uxth r2, r3
+ 800210c: 4b05 ldr r3, [pc, #20] ; (8002124 )
+ 800210e: f9b3 3000 ldrsh.w r3, [r3]
+ 8002112: b29b uxth r3, r3
+ 8002114: 1ad3 subs r3, r2, r3
+ 8002116: b29b uxth r3, r3
+ 8002118: 80fb strh r3, [r7, #6]
MGPIO_VoidSetPinValue(GPIOA, 0, HIGH);
- 80020d2: e7b8 b.n 8002046
+ 800211a: e7a1 b.n 8002060
}
}
- 80020d4: bf00 nop
- 80020d6: 3708 adds r7, #8
- 80020d8: 46bd mov sp, r7
- 80020da: bd80 pop {r7, pc}
- 80020dc: 08003518 .word 0x08003518
- 80020e0: 0800351c .word 0x0800351c
- 80020e4: 200000e8 .word 0x200000e8
+ 800211c: bf00 nop
+ 800211e: 3708 adds r7, #8
+ 8002120: 46bd mov sp, r7
+ 8002122: bd80 pop {r7, pc}
+ 8002124: 20000110 .word 0x20000110
+ 8002128: 2000010e .word 0x2000010e
+ 800212c: 08003650 .word 0x08003650
+ 8002130: 08003654 .word 0x08003654
+ 8002134: 08003658 .word 0x08003658
+ 8002138: 0800365c .word 0x0800365c
+ 800213c: 200000e8 .word 0x200000e8
-080020e8 :
+08002140 :
void RotateLeft()
{
- 80020e8: b580 push {r7, lr}
- 80020ea: b082 sub sp, #8
- 80020ec: af00 add r7, sp, #0
-
- s16 Reading = 0 ;
- 80020ee: 2300 movs r3, #0
- 80020f0: 807b strh r3, [r7, #2]
- s16 Final_Value = 0 ;
- 80020f2: 2300 movs r3, #0
- 80020f4: 80fb strh r3, [r7, #6]
+ 8002140: b580 push {r7, lr}
+ 8002142: b082 sub sp, #8
+ 8002144: af00 add r7, sp, #0
s16 error = 0;
- 80020f6: 2300 movs r3, #0
- 80020f8: 80bb strh r3, [r7, #4]
-
+ 8002146: 2300 movs r3, #0
+ 8002148: 80fb strh r3, [r7, #6]
Reading = Get_Reading() ;
- 80020fa: f7ff fed1 bl 8001ea0
- 80020fe: 4603 mov r3, r0
- 8002100: 807b strh r3, [r7, #2]
-
+ 800214a: f7ff fea7 bl 8001e9c
+ 800214e: 4603 mov r3, r0
+ 8002150: 461a mov r2, r3
+ 8002152: 4b43 ldr r3, [pc, #268] ; (8002260 )
+ 8002154: 801a strh r2, [r3, #0]
Final_Value = Reading - 90 ;
- 8002102: 887b ldrh r3, [r7, #2]
- 8002104: 3b5a subs r3, #90 ; 0x5a
- 8002106: b29b uxth r3, r3
- 8002108: 80fb strh r3, [r7, #6]
+ 8002156: 4b42 ldr r3, [pc, #264] ; (8002260 )
+ 8002158: f9b3 3000 ldrsh.w r3, [r3]
+ 800215c: b29b uxth r3, r3
+ 800215e: 3b5a subs r3, #90 ; 0x5a
+ 8002160: b29b uxth r3, r3
+ 8002162: b21a sxth r2, r3
+ 8002164: 4b3f ldr r3, [pc, #252] ; (8002264 )
+ 8002166: 801a strh r2, [r3, #0]
if (Final_Value < -180 )
- 800210a: f9b7 3006 ldrsh.w r3, [r7, #6]
- 800210e: f113 0fb4 cmn.w r3, #180 ; 0xb4
- 8002112: da04 bge.n 800211e
+ 8002168: 4b3e ldr r3, [pc, #248] ; (8002264 )
+ 800216a: f9b3 3000 ldrsh.w r3, [r3]
+ 800216e: f113 0fb4 cmn.w r3, #180 ; 0xb4
+ 8002172: da09 bge.n 8002188
{
Final_Value = Final_Value + 360 ;
- 8002114: 88fb ldrh r3, [r7, #6]
- 8002116: f503 73b4 add.w r3, r3, #360 ; 0x168
- 800211a: b29b uxth r3, r3
- 800211c: 80fb strh r3, [r7, #6]
+ 8002174: 4b3b ldr r3, [pc, #236] ; (8002264 )
+ 8002176: f9b3 3000 ldrsh.w r3, [r3]
+ 800217a: b29b uxth r3, r3
+ 800217c: f503 73b4 add.w r3, r3, #360 ; 0x168
+ 8002180: b29b uxth r3, r3
+ 8002182: b21a sxth r2, r3
+ 8002184: 4b37 ldr r3, [pc, #220] ; (8002264 )
+ 8002186: 801a strh r2, [r3, #0]
}
error = Final_Value - Reading ;
- 800211e: 88fa ldrh r2, [r7, #6]
- 8002120: 887b ldrh r3, [r7, #2]
- 8002122: 1ad3 subs r3, r2, r3
- 8002124: b29b uxth r3, r3
- 8002126: 80bb strh r3, [r7, #4]
+ 8002188: 4b36 ldr r3, [pc, #216] ; (8002264 )
+ 800218a: f9b3 3000 ldrsh.w r3, [r3]
+ 800218e: b29a uxth r2, r3
+ 8002190: 4b33 ldr r3, [pc, #204] ; (8002260 )
+ 8002192: f9b3 3000 ldrsh.w r3, [r3]
+ 8002196: b29b uxth r3, r3
+ 8002198: 1ad3 subs r3, r2, r3
+ 800219a: b29b uxth r3, r3
+ 800219c: 80fb strh r3, [r7, #6]
while (1)
{
- MGPIO_VoidSetPinValue(GPIOA, 0, HIGH);
- 8002128: 2201 movs r2, #1
- 800212a: 2100 movs r1, #0
- 800212c: 2000 movs r0, #0
- 800212e: f7ff f93f bl 80013b0
- MGPIO_VoidSetPinValue(GPIOA, 5, LOW);
- 8002132: 2200 movs r2, #0
- 8002134: 2105 movs r1, #5
- 8002136: 2000 movs r0, #0
- 8002138: f7ff f93a bl 80013b0
-
- MTIM2_voidOutputPWM_C2(30);
- 800213c: 201e movs r0, #30
- 800213e: f7ff fd6b bl 8001c18
- MTIM3_voidOutputPWM(30);
- 8002142: 201e movs r0, #30
- 8002144: f7ff fdc6 bl 8001cd4
+ MGPIO_VoidSetPinValue(GPIOA, 0, LOW);
+ 800219e: 2200 movs r2, #0
+ 80021a0: 2100 movs r1, #0
+ 80021a2: 2000 movs r0, #0
+ 80021a4: f7ff f904 bl 80013b0
+ MGPIO_VoidSetPinValue(GPIOA, 5, HIGH);
+ 80021a8: 2201 movs r2, #1
+ 80021aa: 2105 movs r1, #5
+ 80021ac: 2000 movs r0, #0
+ 80021ae: f7ff f8ff bl 80013b0
+
+ MTIM2_voidOutputPWM_C2(15);
+ 80021b2: 200f movs r0, #15
+ 80021b4: f7ff fd30 bl 8001c18
+ MTIM3_voidOutputPWM(15);
+ 80021b8: 200f movs r0, #15
+ 80021ba: f7ff fd8b bl 8001cd4
if (error > 180 )
- 8002148: f9b7 3004 ldrsh.w r3, [r7, #4]
- 800214c: 2bb4 cmp r3, #180 ; 0xb4
- 800214e: dd04 ble.n 800215a
+ 80021be: f9b7 3006 ldrsh.w r3, [r7, #6]
+ 80021c2: 2bb4 cmp r3, #180 ; 0xb4
+ 80021c4: dd04 ble.n 80021d0
{
error -= 360 ;
- 8002150: 88bb ldrh r3, [r7, #4]
- 8002152: f5a3 73b4 sub.w r3, r3, #360 ; 0x168
- 8002156: b29b uxth r3, r3
- 8002158: 80bb strh r3, [r7, #4]
+ 80021c6: 88fb ldrh r3, [r7, #6]
+ 80021c8: f5a3 73b4 sub.w r3, r3, #360 ; 0x168
+ 80021cc: b29b uxth r3, r3
+ 80021ce: 80fb strh r3, [r7, #6]
}
if ( error >= 0 )
- 800215a: f9b7 3004 ldrsh.w r3, [r7, #4]
- 800215e: 2b00 cmp r3, #0
- 8002160: db1e blt.n 80021a0
+ 80021d0: f9b7 3006 ldrsh.w r3, [r7, #6]
+ 80021d4: 2b00 cmp r3, #0
+ 80021d6: db2d blt.n 8002234
{
MTIM3_voidOutputPWM(0);
- 8002162: 2000 movs r0, #0
- 8002164: f7ff fdb6 bl 8001cd4
+ 80021d8: 2000 movs r0, #0
+ 80021da: f7ff fd7b bl 8001cd4
MTIM2_voidOutputPWM_C2(0);
- 8002168: 2000 movs r0, #0
- 800216a: f7ff fd55 bl 8001c18
+ 80021de: 2000 movs r0, #0
+ 80021e0: f7ff fd1a bl 8001c18
HENCODER_s32GetZeroCounts(PIN8);
- 800216e: 2008 movs r0, #8
- 8002170: f7ff fbc6 bl 8001900
+ 80021e4: 2008 movs r0, #8
+ 80021e6: f7ff fb8b bl 8001900
HENCODER_s32GetZeroCounts(PIN10);
- 8002174: 200a movs r0, #10
- 8002176: f7ff fbc3 bl 8001900
+ 80021ea: 200a movs r0, #10
+ 80021ec: f7ff fb88 bl 8001900
MUSART2_voidSendString((u8*)"s2");
- 800217a: 4810 ldr r0, [pc, #64] ; (80021bc )
- 800217c: f7ff fe0e bl 8001d9c
+ 80021f0: 481d ldr r0, [pc, #116] ; (8002268 )
+ 80021f2: f7ff fdd1 bl 8001d98
+ MUSART2_voidSendString((u8*)"\r\n");
+ 80021f6: 481d ldr r0, [pc, #116] ; (800226c )
+ 80021f8: f7ff fdce bl 8001d98
+
+ MUSART2_voidSendString((u8*)"p");
+ 80021fc: 481c ldr r0, [pc, #112] ; (8002270 )
+ 80021fe: f7ff fdcb bl 8001d98
+ MUSART2_voidSendNumbers(Final_Value);
+ 8002202: 4b18 ldr r3, [pc, #96] ; (8002264 )
+ 8002204: f9b3 3000 ldrsh.w r3, [r3]
+ 8002208: 4618 mov r0, r3
+ 800220a: f7ff fddb bl 8001dc4