[fix] code

This commit is contained in:
stijn
2021-04-06 15:47:50 +02:00
parent 6b6657fe5d
commit 45ee9dc411
14 changed files with 1949 additions and 1979 deletions

View File

@@ -1,16 +1,16 @@
:1000000045C0000060C000005EC0000063C1000089
:1000000045C0000060C000005EC000004FC100009D
:100010005AC0000058C0000056C0000054C0000084
:1000200052C00000B6C100004EC000004CC000002D
:1000200052C000009CC100004EC000004CC0000047
:100030004AC0000048C0000046C0000044C00000A4
:1000400042C0000040C000003EC000003CC00000B4
:100050003AC0000038C0000036C0000034C00000C4
:1000600032C0000030C000002EC000002CC00000D4
:100070002AC0000028C0000026C0000024C00000E4
:1000800022C0000020C000001EC0000011241FBEBE
:10009000CFEFD0E1DEBFCDBF11E0A0E0B1E0E8E1FD
:1000A000FDE000E00BBF02C007900D92AA32B1073D
:10009000CFEFD0E1DEBFCDBF11E0A0E0B1E0E4EEF4
:1000A000FCE000E00BBF02C007900D92AA32B1073E
:1000B000D9F721E0AAE2B1E001C01D92A633B20750
:1000C000E1F72FD127C69CCF9BB321E030E002C0DF
:1000C000E1F71BD10DC69CCF9BB321E030E002C00D
:1000D000220F331F8A95E2F7292B2BBB08959BB380
:1000E00021E030E002C0220F331F8A95E2F720950D
:1000F00029232BBB089586E090E0E6DF83EC99E0AE
@@ -26,189 +26,186 @@
:1001900015BAB1DF80EF85BBAEDF15BAACDF80E604
:1001A00085BBA9DF82E0CADFA6DFCF910895CF9398
:1001B000DF93EC0102C0B2DF219688818111FBCF71
:1001C000DF91CF9108954F925F926F927F928F92BD
:1001D0009F92AF92BF92CF92DF92EF92FF920F93D6
:1001E0001F93CF93DF93CDB7DEB7D82EC92E942EB1
:1001F000852E762E672E522E432EADB6BEB63F9379
:100200002F937F936F935F934F939F938F930F2EB3
:10021000F5E1EF2EF1E0FF2EF02DFF92EF921F920D
:100220001F921F921F928DD201962DB73EB7225F6B
:100230003F4F0FB6F8943EBF0FBE2DBF281B390BA2
:100240000FB6F8943EBF0FBE2DBF0DB71EB70F5FA0
:100250001F4F4F925F926F927F928F929F92CF9299
:10026000DF92FF92EF929F938F931F930F9369D228
:10027000802F912F9CDF8DB79EB70E960FB6F89406
:100280009EBF0FBE8DBF0FB6F894BEBE0FBEADBEF3
:10029000DF91CF911F910F91FF90EF90DF90CF9062
:1002A000BF90AF909F908F907F906F905F904F9096
:1002B000089520910001222351F00197439738F4CB
:1002C000D7D01092000161E080E092E0C4C00895B0
:1002D0000AC108951F920F920FB60F9211240BB608
:1002E0000F922F933F934F935F936F937F938F93CF
:1002F0009F93AF93BF93EF93FF9302D1FF91EF9141
:10030000BF91AF919F918F917F916F915F914F912D
:100310003F912F910F900BBE0F900FBE0F901F902B
:100320001895D2D026DFA6D088E691E02DD089E5B9
:1003300091E004D187EA91E60197F1F700C000004F
:100340000DDF60E088E592E086D008DFFCD0AB01ED
:10035000BC0121E231E084E291E035DF84E690E007
:10036000A4D0F3CF90913101911107C0E82FF0E0B4
:10037000EF5FFE4F808183B90895E82FF0E0E75FDB
:10038000FE4F808183B908959093330180933201A9
:1003900008951F920F920FB60F9211240BB60F9271
:1003A0002F933F934F935F936F937F938F939F937D
:1003B000AF93BF93EF93FF9314BC80912A01D2DFD8
:1003C00080912A01873020F48F5F80932A0130C00A
:1003D00010922A0180912B0190912C01009799F4A1
:1003E00080913101811104C081E08093310102C00C
:1003F0001092310180912D0190912E0190932C014A
:1004000080932B0115C09C012F713327232B39F4C6
:10041000E0913201F0913301309709F00995809114
:100420002B0190912C01019790932C0180932B012B
:10043000FF91EF91BF91AF919F918F917F916F91BC
:100440005F914F913F912F910F900BBE0F900FBE78
:100450000F901F90189590932C0180932B019093EF
:100460002E0180932D01609331018CE085BD0895AC
:1004700015BC08958FEF82B98093640081E080936A
:10048000650013B886E983BD80E887BF7894089536
:1004900020E030E006C043E04A95F1F700002F5F0E
:1004A0003F4F28173907B8F3089520E030E008C01F
:1004B000E3ECF9E03197F1F700C000002F5F3F4F08
:1004C00028173907A8F308958FEF8093640011BAB5
:1004D00080E380936A0089B7846089BF1FBC8CE089
:1004E0008EBD78940895CF93DF93C5E6D0E018824F
:1004F0008AE090E0CDDF81E08883DF91CF9108959D
:1005000080911101813041F480E280936A001DBC2A
:100510001CBC10921101089580E380936A008CB591
:100520009DB59093300180932F01E0913401F091BB
:100530003501099581E0809311010895909335016B
:1005400080933401089560912F017091300180E013
:1005500090E006D020E030E04AE253E43EC0089547
:10056000E89409C097FB3EF490958095709561954D
:100570007F4F8F4F9F4F9923A9F0F92F96E9BB2703
:100580009395F695879577956795B795F111F8CF7F
:10059000FAF4BB0F11F460FF1BC06F5F7F4F8F4FEA
:1005A0009F4F16C0882311F096E911C0772321F0E0
:1005B0009EE8872F762F05C0662371F096E8862F78
:1005C00070E060E02AF09A95660F771F881FDAF7CF
:1005D000880F9695879597F908950BD078C069D0C4
:1005E00028F06ED018F0952309F05AC05FC011248E
:1005F000A2C07ED0A0F3959FD1F3950F50E0551F78
:10060000629FF001729FBB27F00DB11D639FAA2767
:10061000F00DB11DAA1F649F6627B00DA11D661FB6
:10062000829F2227B00DA11D621F739FB00DA11DD7
:10063000621F839FA00D611D221F749F3327A00D91
:10064000611D231F849F600D211D822F762F6A2F2D
:1006500011249F5750408AF0E1F088234AF0EE0FB2
:10066000FF1FBB1F661F771F881F91505040A9F7BF
:100670009E3F510570F014C05EC05F3FECF3983EA2
:10068000DCF3869577956795B795F795E7959F5F26
:10069000C1F7FE2B880F911D9695879597F90895C0
:1006A00097F99F6780E870E060E008959FEF80EC25
:1006B000089500240A9416161706180609060895C8
:1006C00000240A9412161306140605060895092E2E
:1006D0000394000C11F4882352F0BB0F40F4BF2B9D
:1006E00011F460FF04C06F5F7F4F8F4F9F4F0895DD
:1006F00057FD9058440F551F59F05F3F71F04795D3
:10070000880F97FB991F61F09F3F79F087950895B7
:10071000121613061406551FF2CF4695F1DF08C0D6
:10072000161617061806991FF1CF869571056105F3
:1007300008940895E894BB2766277727CB0197F99B
:1007400008950F931F93CF93DF93CDB7DEB72E9706
:100750000FB6F894DEBF0FBECDBF0D891E898F89FD
:10076000988D26E02C831A83098397FF02C080E0CE
:1007700090E801979E838D83AE01455E5F4F698D42
:100780007A8DCE01019619D04D815E8157FD0AC048
:100790002F813885421753070CF49A01F801E20FB4
:1007A000F31F10822E960FB6F894DEBF0FBECDBF9A
:1007B000DF91CF911F910F9108952F923F924F9209
:1007C0005F926F927F928F929F92AF92BF92CF92E1
:1007D000DF92EF92FF920F931F93CF93DF93CDB7EA
:1007E000DEB72B970FB6F894DEBF0FBECDBF6C01FE
:1007F0007B018A01FC0117821682838181FFBFC1C0
:10080000CE0101963C01F6019381F70193FD85919C
:1008100093FF81917F01882309F4ADC1853239F4BA
:1008200093FD859193FF81917F01853221F4B6017B
:1008300090E0D6D1E8CF912C212C312CFFE1F3159B
:10084000D8F08B3279F038F4803279F08332A1F429
:10085000232D20611DC08D3261F0803369F4232D7A
:10086000216016C0832D8260382EE32DE4603E2E79
:100870002AC0F32DF8601DC037FC2DC020ED280FD5
:100880002A3040F08E32B9F436FC75C1232D206435
:10089000322E19C036FE06C08AE0989E200D112423
:1008A000922E11C0EAE02E9E200D1124222EF32D4F
:1008B000F0623F2E08C08C3621F4832D8068382EDC
:1008C00002C0883641F4F70193FD859193FF819131
:1008D0007F018111B3CF982F9F7D9554933028F4D9
:1008E0000C5F1F4F9FE399830DC0833631F0833730
:1008F00071F0833509F055C020C0F80180818983EB
:100900000E5F1F4F88248394912C530112C028013D
:10091000F2E04F0E511CF801A080B18036FE03C0FA
:10092000692D70E002C06FEF7FEFC5014ED14C0121
:100930008201F32DFF773F2E15C0280122E0420EE1
:10094000511CF801A080B18036FE03C0692D70E013
:1009500002C06FEF7FEFC5012DD14C01F32DF06880
:100960003F2E820133FC19C0822D90E08816990633
:10097000A0F4B60180E290E033D12A94F5CFF501DE
:1009800037FC859137FE81915F01B60190E028D157
:1009900021102A9421E0821A91088114910479F798
:1009A000E1C0843611F0893639F5F80137FE07C009
:1009B00060817181828193810C5F1F4F08C06081CB
:1009C0007181072E000C880B990B0E5F1F4FF32DC2
:1009D000FF763F2E97FF09C09095809570956195A1
:1009E0007F4F8F4F9F4FF0683F2E2AE030E0A301EA
:1009F00033D1882E861844C0853731F4232D2F7EBD
:100A0000B22E2AE030E025C0932D997FB92E8F3683
:100A1000C1F018F4883579F0AEC0803719F0883706
:100A200021F0A9C0E92FE061BE2EB4FE0DC0FB2D60
:100A3000F460BF2E09C034FE0AC0292F2660B22EF2
:100A400006C028E030E005C020E130E002C020E12F
:100A500032E0F801B7FE07C0608171818281938125
:100A60000C5F1F4F06C06081718180E090E00E5FD7
:100A70001F4FA301F1D0882E8618FB2DFF773F2E44
:100A800036FE0DC0232D2E7FA22E891458F434FE7D
:100A90000BC032FC09C0832D8E7EA82E05C0B82C59
:100AA000A32C03C0B82C01C0B92CA4FE0FC0FE01BA
:100AB000E80DF11D8081803321F49A2D997EA92EB5
:100AC00009C0A2FE06C0B394B39404C08A2D8678F0
:100AD00009F0B394A3FC10C0A0FE06C0B21480F4C9
:100AE000280C922C9B180DC0B21458F4B60180E269
:100AF00090E076D0B394F8CFB21418F42B1802C05B
:100B0000982C212CA4FE0FC0B60180E390E068D0A1
:100B1000A2FE16C0A1FC03C088E790E002C088E5F1
:100B200090E0B6010CC08A2D867851F0A1FE02C07B
:100B30008BE201C080E2A7FC8DE2B60190E050D0CC
:100B4000891430F4B60180E390E04AD09A94F8CF4B
:100B50008A94F301E80DF11D8081B60190E040D048
:100B60008110F6CF222009F44ECEB60180E290E04B
:100B700037D02A94F7CFF6018681978102C08FEF94
:100B80009FEF2B960FB6F894DEBF0FBECDBFDF915F
:100B9000CF911F910F91FF90EF90DF90CF90BF907A
:100BA000AF909F908F907F906F905F904F903F900D
:100BB0002F900895FC010590615070400110D8F706
:100BC000809590958E0F9F1F0895FC016150704095
:100BD00001900110D8F7809590958E0F9F1F089572
:100BE0000F931F93CF93DF93FB01238121FD03C05C
:100BF0008FEF9FEF2CC022FF16C0468157812481C2
:100C000035814217530744F4A081B1819D012F5FC4
:100C10003F4F318320838C93268137812F5F3F4F55
:100C20003783268314C08B01EC01FB010084F1851E
:100C3000E02D0995892BE1F6D80116968D919C91AE
:100C40001797019617969C938E931697CE01DF9176
:100C5000CF911F910F910895FA01AA27283051F1E1
:100C6000203181F1E8946F936E7F6E5F7F4F8F4FDD
:100C70009F4FAF4FB1E03ED0B4E03CD0670F781F3C
:100C8000891F9A1FA11D680F791F8A1F911DA11D21
:100C90006A0F711D811D911DA11D20D009F468945A
:100CA0003F912AE0269F11243019305D3193DEF602
:100CB000CF010895462F4770405D4193B3E00FD0B8
:100CC000C9F7F6CF462F4F70405D4A3318F0495DA3
:100CD00031FD4052419302D0A9F7EACFB4E0A69586
:100CE0009795879577956795BA95C9F700976105A8
:100CF000710508959B01AC010A2E069457954795FE
:100D000037952795BA95C9F7620F731F841F951FF2
:080D1000A01D0895F894FFCF27
:100D180001080C0406020301090901030206040C78
:100D2800080125640025733A20252E336620257393
:0A0D380000636D006469737400002D
:1001C000DF91CF9108958F929F92AF92BF92CF927D
:1001D000DF92EF92FF920F931F93CF93DF93CDB7F0
:1001E000DEB7D62EC72E982E892EADB6BEB69F93FB
:1001F0008F937F936F930F2EF1E2EF2EF1E0FF2E9E
:10020000F02DFF92EF921F921F921F921F927FD2AA
:1002100001962DB73EB7265F3F4F0FB6F8943EBF0D
:100220000FBE2DBF281B390B0FB6F8943EBF0FBE73
:100230002DBF0DB71EB70F5F1F4F8F929F92CF92AA
:10024000DF92FF92EF929F938F931F930F935FD252
:10025000802F912FACDF8DB79EB70A960FB6F8941A
:100260009EBF0FBE8DBF0FB6F894BEBE0FBEADBE13
:10027000DF91CF911F910F91FF90EF90DF90CF9082
:10028000BF90AF909F908F900895209100012223FE
:1002900051F00197439738F4D1D01092000161E0FA
:1002A00080E092E0BEC0089504C108951F920F92AD
:1002B0000FB60F9211240BB60F922F933F934F93CB
:1002C0005F936F937F938F939F93AF93BF93EF93BE
:1002D000FF93FCD0FF91EF91BF91AF919F918F91D0
:1002E0007F916F915F914F913F912F910F900BBE36
:1002F0000F900FBE0F901F901895CCD03ADFA0D072
:1003000084E591E027D085E491E0FED087EA91E68C
:100310000197F1F700C0000021DF60E088E592E07E
:1003200080D01CDFF6D04FDF84E690E0A4D0F9CF78
:1003300090913101911107C0E82FF0E0EF5FFE4F7F
:10034000808183B90895E82FF0E0E75FFE4F808158
:1003500083B90895909333018093320108951F92D9
:100360000F920FB60F9211240BB60F922F933F935B
:100370004F935F936F937F938F939F93AF93BF93AD
:10038000EF93FF9314BC80912A01D2DF80912A0160
:10039000873020F48F5F80932A0130C010922A01A9
:1003A00080912B0190912C01009799F4809131015B
:1003B000811104C081E08093310102C010923101AB
:1003C00080912D0190912E0190932C0180932B010F
:1003D00015C09C012F713327232B39F4E091320192
:1003E000F0913301309709F0099580912B0190919C
:1003F0002C01019790932C0180932B01FF91EF9199
:10040000BF91AF919F918F917F916F915F914F912C
:100410003F912F910F900BBE0F900FBE0F901F902A
:10042000189590932C0180932B0190932E0180932B
:100430002D01609331018CE085BD089515BC0895B0
:100440008FEF82B98093640081E08093650013B8D8
:1004500086E983BD80E887BF7894089520E030E086
:1004600006C043E04A95F1F700002F5F3F4F281781
:100470003907B8F3089520E030E008C0E3ECF9E074
:100480003197F1F700C000002F5F3F4F2817390761
:10049000A8F308958FEF8093640011BA80E38093EE
:1004A0006A0089B7846089BF1FBC8CE08EBD7894D8
:1004B0000895CF93DF93C5E6D0E018828AE090E0FC
:1004C000CDDF81E08883DF91CF9108958091110184
:1004D000813041F480E280936A001DBC1CBC109204
:1004E0001101089580E380936A008CB59DB59093C7
:1004F000300180932F01E0913401F091350109958D
:1005000081E0809311010895909335018093340127
:10051000089560912F017091300180E090E006D045
:1005200020E030E04AE253E43EC00895E89409C078
:1005300097FB3EF490958095709561957F4F8F4F16
:100540009F4F9923A9F0F92F96E9BB279395F6952C
:10055000879577956795B795F111F8CFFAF4BB0FAA
:1005600011F460FF1BC06F5F7F4F8F4F9F4F16C00E
:10057000882311F096E911C0772321F09EE8872F98
:10058000762F05C0662371F096E8862F70E060E054
:100590002AF09A95660F771F881FDAF7880F9695CD
:1005A000879597F908950BD078C069D028F06ED060
:1005B00018F0952309F05AC05FC01124A2C07ED064
:1005C000A0F3959FD1F3950F50E0551F629FF00166
:1005D000729FBB27F00DB11D639FAA27F00DB11DBF
:1005E000AA1F649F6627B00DA11D661F829F222748
:1005F000B00DA11D621F739FB00DA11D621F839FCF
:10060000A00D611D221F749F3327A00D611D231FA4
:10061000849F600D211D822F762F6A2F11249F57F2
:1006200050408AF0E1F088234AF0EE0FFF1FBB1F15
:10063000661F771F881F91505040A9F79E3F5105B4
:1006400070F014C05EC05F3FECF3983EDCF386951B
:1006500077956795B795F795E7959F5FC1F7FE2B5F
:10066000880F911D9695879597F9089597F99F673B
:1006700080E870E060E008959FEF80EC089500242A
:100680000A941616170618060906089500240A94F7
:1006900012161306140605060895092E0394000C7D
:1006A00011F4882352F0BB0F40F4BF2B11F460FF0C
:1006B00004C06F5F7F4F8F4F9F4F089557FD905835
:1006C000440F551F59F05F3F71F04795880F97FB16
:1006D000991F61F09F3F79F08795089512161306D0
:1006E0001406551FF2CF4695F1DF08C016161706FF
:1006F0001806991FF1CF8695710561050894089534
:10070000E894BB2766277727CB0197F908950F93C5
:100710001F93CF93DF93CDB7DEB72E970FB6F89424
:10072000DEBF0FBECDBF0D891E898F89988D26E053
:100730002C831A83098397FF02C080E090E8019719
:100740009E838D83AE01455E5F4F698D7A8DCE01AC
:10075000019619D04D815E8157FD0AC02F813885E1
:10076000421753070CF49A01F801E20FF31F1082AD
:100770002E960FB6F894DEBF0FBECDBFDF91CF919E
:100780001F910F9108952F923F924F925F926F9217
:100790007F928F929F92AF92BF92CF92DF92EF9211
:1007A000FF920F931F93CF93DF93CDB7DEB72B97B5
:1007B0000FB6F894DEBF0FBECDBF6C017B018A017E
:1007C000FC0117821682838181FFBFC1CE01019691
:1007D0003C01F6019381F70193FD859193FF81918F
:1007E0007F01882309F4ADC1853239F493FD8591E9
:1007F00093FF81917F01853221F4B60190E0D6D13B
:10080000E8CF912C212C312CFFE1F315D8F08B325D
:1008100079F038F4803279F08332A1F4232D20610D
:100820001DC08D3261F0803369F4232D216016C024
:10083000832D8260382EE32DE4603E2E2AC0F32DF6
:10084000F8601DC037FC2DC020ED280F2A3040F085
:100850008E32B9F436FC75C1232D2064322E19C0B6
:1008600036FE06C08AE0989E200D1124922E11C0FB
:10087000EAE02E9E200D1124222EF32DF0623F2E51
:1008800008C08C3621F4832D8068382E02C088364B
:1008900041F4F70193FD859193FF81917F018111CF
:1008A000B3CF982F9F7D9554933028F40C5F1F4F42
:1008B0009FE399830DC0833631F0833771F0833520
:1008C00009F055C020C0F801808189830E5F1F4F59
:1008D00088248394912C530112C02801F2E04F0E1A
:1008E000511CF801A080B18036FE03C0692D70E074
:1008F00002C06FEF7FEFC5014ED14C018201F32D95
:10090000FF773F2E15C0280122E0420E511CF8014E
:10091000A080B18036FE03C0692D70E002C06FEF89
:100920007FEFC5012DD14C01F32DF0683F2E8201E0
:1009300033FC19C0822D90E088169906A0F4B60108
:1009400080E290E033D12A94F5CFF50137FC859110
:1009500037FE81915F01B60190E028D121102A94E1
:1009600021E0821A91088114910479F7E1C084365C
:1009700011F0893639F5F80137FE07C060817181C1
:10098000828193810C5F1F4F08C060817181072EA7
:10099000000C880B990B0E5F1F4FF32DFF763F2E37
:1009A00097FF09C090958095709561957F4F8F4F07
:1009B0009F4FF0683F2E2AE030E0A30133D1882E0C
:1009C000861844C0853731F4232D2F7EB22E2AE0BD
:1009D00030E025C0932D997FB92E8F36C1F018F4E1
:1009E000883579F0AEC0803719F0883721F0A9C07A
:1009F000E92FE061BE2EB4FE0DC0FB2DF460BF2ECA
:100A000009C034FE0AC0292F2660B22E06C028E095
:100A100030E005C020E130E002C020E132E0F80122
:100A2000B7FE07C060817181828193810C5F1F4F87
:100A300006C06081718180E090E00E5F1F4FA301CE
:100A4000F1D0882E8618FB2DFF773F2E36FE0DC085
:100A5000232D2E7FA22E891458F434FE0BC032FCB5
:100A600009C0832D8E7EA82E05C0B82CA32C03C0F0
:100A7000B82C01C0B92CA4FE0FC0FE01E80DF11D79
:100A80008081803321F49A2D997EA92E09C0A2FE7F
:100A900006C0B394B39404C08A2D867809F0B39449
:100AA000A3FC10C0A0FE06C0B21480F4280C922C47
:100AB0009B180DC0B21458F4B60180E290E076D0D5
:100AC000B394F8CFB21418F42B1802C0982C212C30
:100AD000A4FE0FC0B60180E390E068D0A2FE16C06D
:100AE000A1FC03C088E790E002C088E590E0B60171
:100AF0000CC08A2D867851F0A1FE02C08BE201C0A5
:100B000080E2A7FC8DE2B60190E050D0891430F469
:100B1000B60180E390E04AD09A94F8CF8A94F3012A
:100B2000E80DF11D8081B60190E040D08110F6CF34
:100B3000222009F44ECEB60180E290E037D02A940C
:100B4000F7CFF6018681978102C08FEF9FEF2B963A
:100B50000FB6F894DEBF0FBECDBFDF91CF911F91CE
:100B60000F91FF90EF90DF90CF90BF90AF909F904C
:100B70008F907F906F905F904F903F902F9008954F
:100B8000FC010590615070400110D8F78095909558
:100B90008E0F9F1F0895FC0161507040019001105D
:100BA000D8F7809590958E0F9F1F08950F931F93F0
:100BB000CF93DF93FB01238121FD03C08FEF9FEFD4
:100BC0002CC022FF16C046815781248135814217EF
:100BD000530744F4A081B1819D012F5F3F4F3183C2
:100BE00020838C93268137812F5F3F4F3783268365
:100BF00014C08B01EC01FB010084F185E02D099507
:100C0000892BE1F6D80116968D919C911797019644
:100C100017969C938E931697CE01DF91CF911F91DB
:100C20000F910895FA01AA27283051F1203181F15E
:100C3000E8946F936E7F6E5F7F4F8F4F9F4FAF4FE4
:100C4000B1E03ED0B4E03CD0670F781F891F9A1FF7
:100C5000A11D680F791F8A1F911DA11D6A0F711DAB
:100C6000811D911DA11D20D009F468943F912AE0B7
:100C7000269F11243019305D3193DEF6CF0108959F
:100C8000462F4770405D4193B3E00FD0C9F7F6CFD0
:100C9000462F4F70405D4A3318F0495D31FD405298
:100CA000419302D0A9F7EACFB4E0A695979587952E
:100CB00077956795BA95C9F700976105710508950D
:100CC0009B01AC010A2E06945795479537952795B9
:100CD000BA95C9F7620F731F841F951FA01D089551
:040CE000F894FFCFB6
:100CE40001080C0406020301090901030206040CAD
:100CF400080125640025733A20252E3366202573C8
:0A0D040000252E336620434D000049
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@@ -61,6 +61,8 @@ Discarded input sections
0x00000000 0x8 lcd_control.o
.text.lcd_write_int
0x00000000 0xb6 lcd_control.o
.text.lcd_write_double
0x00000000 0xf2 lcd_control.o
.text 0x00000000 0x0 main.o
.data 0x00000000 0x0 main.o
.bss 0x00000000 0x0 main.o
@@ -296,7 +298,7 @@ END GROUP
.rela.plt
*(.rela.plt)
.text 0x00000000 0xd18
.text 0x00000000 0xce4
*(.vectors)
.vectors 0x00000000 0x8c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
0x00000000 __vector_default
@@ -414,112 +416,112 @@ END GROUP
.text.lcd_write_string
0x000001ae 0x18 lcd_control.o
0x000001ae lcd_write_string
.text.lcd_write_double
0x000001c6 0xec lcd_control.o
0x000001c6 lcd_write_double
.text.lcd_write_ultrasonic_value
0x000001c6 0xc4 lcd_control.o
0x000001c6 lcd_write_ultrasonic_value
.text.ultrasoon_value_set_event
0x000002b2 0x1e main.o
0x0000028a 0x1e main.o
.text.snap_event_trigger
0x000002d0 0x4 main.o
0x000002a8 0x4 main.o
.text.__vector_3
0x000002d4 0x4e main.o
0x000002d4 __vector_3
.text.main 0x00000322 0x42 main.o
0x00000322 main
0x000002ac 0x4e main.o
0x000002ac __vector_3
.text.main 0x000002fa 0x36 main.o
0x000002fa main
.text.set_stepper_state
0x00000364 0x24 stepper_driver.o
0x00000364 set_stepper_state
0x00000330 0x24 stepper_driver.o
0x00000330 set_stepper_state
.text.set_snap_event
0x00000388 0xa stepper_driver.o
0x00000388 set_snap_event
0x00000354 0xa stepper_driver.o
0x00000354 set_snap_event
.text.__vector_9
0x00000392 0xc4 stepper_driver.o
0x00000392 __vector_9
0x0000035e 0xc4 stepper_driver.o
0x0000035e __vector_9
.text.stepper_rotate_angle
0x00000456 0x1a stepper_driver.o
0x00000456 stepper_rotate_angle
0x00000422 0x1a stepper_driver.o
0x00000422 stepper_rotate_angle
.text.stepper_rotate_stop
0x00000470 0x4 stepper_driver.o
0x00000470 stepper_rotate_stop
0x0000043c 0x4 stepper_driver.o
0x0000043c stepper_rotate_stop
.text.init_stepper_driver
0x00000474 0x1c stepper_driver.o
0x00000474 init_stepper_driver
.text.wait_us 0x00000490 0x1a ultrasonic_sensor.o
0x00000490 wait_us
.text.wait_ms 0x000004aa 0x1e ultrasonic_sensor.o
0x000004aa wait_ms
0x00000440 0x1c stepper_driver.o
0x00000440 init_stepper_driver
.text.wait_us 0x0000045c 0x1a ultrasonic_sensor.o
0x0000045c wait_us
.text.wait_ms 0x00000476 0x1e ultrasonic_sensor.o
0x00000476 wait_ms
.text.ultrasonic_init
0x000004c8 0x1e ultrasonic_sensor.o
0x000004c8 ultrasonic_init
0x00000494 0x1e ultrasonic_sensor.o
0x00000494 ultrasonic_init
.text.ultrasonic_send_pulse
0x000004e6 0x1a ultrasonic_sensor.o
0x000004e6 ultrasonic_send_pulse
0x000004b2 0x1a ultrasonic_sensor.o
0x000004b2 ultrasonic_send_pulse
.text.ultrasonic_handle_interrupt
0x00000500 0x3c ultrasonic_sensor.o
0x00000500 ultrasonic_handle_interrupt
0x000004cc 0x3c ultrasonic_sensor.o
0x000004cc ultrasonic_handle_interrupt
.text.set_value_trigger_event
0x0000053c 0xa ultrasonic_sensor.o
0x0000053c set_value_trigger_event
0x00000508 0xa ultrasonic_sensor.o
0x00000508 set_value_trigger_event
.text.ultrasonic_get_timer_dist
0x00000546 0x1a ultrasonic_sensor.o
0x00000546 ultrasonic_get_timer_dist
0x00000512 0x1a ultrasonic_sensor.o
0x00000512 ultrasonic_get_timer_dist
.text.avr-libc.fplib
0x00000560 0x7a c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(floatsisf.o)
0x00000560 __floatunsisf
0x00000564 __floatsisf
0x0000052c 0x7a c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(floatsisf.o)
0x0000052c __floatunsisf
0x00000530 __floatsisf
.text.avr-libc.fplib
0x000005da 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(mulsf3.o)
0x000005da __mulsf3
0x000005a6 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(mulsf3.o)
0x000005a6 __mulsf3
.text.avr-libc.fplib
0x000005de 0xc2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(mulsf3x.o)
0x000005f2 __mulsf3x
0x000005f6 __mulsf3_pse
0x000005aa 0xc2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(mulsf3x.o)
0x000005be __mulsf3x
0x000005c2 __mulsf3_pse
.text.avr-libc.fplib
0x000006a0 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_inf.o)
0x000006a0 __fp_inf
0x0000066c 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_inf.o)
0x0000066c __fp_inf
.text.avr-libc.fplib
0x000006ac 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_nan.o)
0x000006ac __fp_nan
0x00000678 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_nan.o)
0x00000678 __fp_nan
.text.avr-libc.fplib
0x000006b2 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_pscA.o)
0x000006b2 __fp_pscA
0x0000067e 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_pscA.o)
0x0000067e __fp_pscA
.text.avr-libc.fplib
0x000006c0 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_pscB.o)
0x000006c0 __fp_pscB
0x0000068c 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_pscB.o)
0x0000068c __fp_pscB
.text.avr-libc.fplib
0x000006ce 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_round.o)
0x000006ce __fp_round
0x0000069a 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_round.o)
0x0000069a __fp_round
.text.avr-libc.fplib
0x000006f0 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_split3.o)
0x000006f0 __fp_split3
0x00000700 __fp_splitA
0x000006bc 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_split3.o)
0x000006bc __fp_split3
0x000006cc __fp_splitA
.text.avr-libc.fplib
0x00000734 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_zero.o)
0x00000734 __fp_zero
0x00000736 __fp_szero
0x00000700 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a(fp_zero.o)
0x00000700 __fp_zero
0x00000702 __fp_szero
.text.avr-libc
0x00000742 0x78 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(snprintf.o)
0x00000742 snprintf
0x0000070e 0x78 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(snprintf.o)
0x0000070e snprintf
.text.avr-libc
0x000007ba 0x3fa c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(vfprintf_std.o)
0x000007ba vfprintf
0x00000786 0x3fa c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(vfprintf_std.o)
0x00000786 vfprintf
.text.avr-libc
0x00000bb4 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen_P.o)
0x00000bb4 strnlen_P
0x00000b80 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen_P.o)
0x00000b80 strnlen_P
.text.avr-libc
0x00000bca 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen.o)
0x00000bca strnlen
0x00000b96 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen.o)
0x00000b96 strnlen
.text.avr-libc
0x00000be0 0x78 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(fputc.o)
0x00000be0 fputc
0x00000bac 0x78 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(fputc.o)
0x00000bac fputc
.text.avr-libc
0x00000c58 0xbc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(ultoa_invert.o)
0x00000c58 __ultoa_invert
0x00000d14 . = ALIGN (0x2)
0x00000c24 0xbc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(ultoa_invert.o)
0x00000c24 __ultoa_invert
0x00000ce0 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000d14 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
0x00000d14 _exit
0x00000d14 exit
.fini9 0x00000ce0 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
0x00000ce0 _exit
0x00000ce0 exit
*(.fini9)
*(.fini8)
*(.fini8)
@@ -538,11 +540,11 @@ END GROUP
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000d14 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.fini0 0x00000ce0 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
*(.fini0)
0x00000d18 _etext = .
0x00000ce4 _etext = .
.data 0x00800100 0x2a load address 0x00000d18
.data 0x00800100 0x2a load address 0x00000ce4
0x00800100 PROVIDE (__data_start, .)
*(.data)
*(.data*)
@@ -559,9 +561,7 @@ END GROUP
*(.rodata)
*(.rodata*)
.rodata.str1.1
0x00800112 0xf lcd_control.o
.rodata.str1.1
0x00800121 0x8 main.o
0x00800112 0x17 lcd_control.o
*(.gnu.linkonce.r*)
0x0080012a . = ALIGN (0x2)
*fill* 0x00800129 0x1
@@ -590,8 +590,8 @@ END GROUP
COMMON 0x00800134 0x2 ultrasonic_sensor.o
0x00800134 value_set_event
0x00800136 PROVIDE (__bss_end, .)
0x00000d18 __data_load_start = LOADADDR (.data)
0x00000d42 __data_load_end = (__data_load_start + SIZEOF (.data))
0x00000ce4 __data_load_start = LOADADDR (.data)
0x00000d0e __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800136 0x0
[!provide] PROVIDE (__noinit_start, .)
@@ -669,27 +669,27 @@ END GROUP
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x150
.debug_aranges 0x00000000 0x158
*(.debug_aranges)
.debug_aranges
0x00000000 0x80 lcd_control.o
0x00000000 0x88 lcd_control.o
.debug_aranges
0x00000080 0x38 main.o
0x00000088 0x38 main.o
.debug_aranges
0x000000b8 0x48 stepper_driver.o
0x000000c0 0x48 stepper_driver.o
.debug_aranges
0x00000100 0x50 ultrasonic_sensor.o
0x00000108 0x50 ultrasonic_sensor.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x15dc
.debug_info 0x00000000 0x163c
*(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x00000000 0x780 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.debug_info 0x00000780 0x5c0 lcd_control.o
.debug_info 0x00000d40 0x387 main.o
.debug_info 0x000010c7 0x21e stepper_driver.o
.debug_info 0x000012e5 0x2f7 ultrasonic_sensor.o
.debug_info 0x00000780 0x641 lcd_control.o
.debug_info 0x00000dc1 0x366 main.o
.debug_info 0x00001127 0x21e stepper_driver.o
.debug_info 0x00001345 0x2f7 ultrasonic_sensor.o
.debug_abbrev 0x00000000 0xd50
*(.debug_abbrev)
@@ -699,39 +699,39 @@ END GROUP
.debug_abbrev 0x00000a64 0x122 stepper_driver.o
.debug_abbrev 0x00000b86 0x1ca ultrasonic_sensor.o
.debug_line 0x00000000 0xae5
.debug_line 0x00000000 0xb1a
*(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x00000000 0x16a C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.debug_line 0x0000016a 0x37c lcd_control.o
.debug_line 0x000004e6 0x1f1 main.o
.debug_line 0x000006d7 0x1c6 stepper_driver.o
.debug_line 0x0000089d 0x248 ultrasonic_sensor.o
.debug_line 0x0000016a 0x3b1 lcd_control.o
.debug_line 0x0000051b 0x1f1 main.o
.debug_line 0x0000070c 0x1c6 stepper_driver.o
.debug_line 0x000008d2 0x248 ultrasonic_sensor.o
.debug_frame 0x00000000 0x37c
.debug_frame 0x00000000 0x3cc
*(.debug_frame)
.debug_frame 0x00000000 0x194 lcd_control.o
.debug_frame 0x00000194 0x9c main.o
.debug_frame 0x00000230 0xbc stepper_driver.o
.debug_frame 0x000002ec 0x90 ultrasonic_sensor.o
.debug_frame 0x00000000 0x1e4 lcd_control.o
.debug_frame 0x000001e4 0x9c main.o
.debug_frame 0x00000280 0xbc stepper_driver.o
.debug_frame 0x0000033c 0x90 ultrasonic_sensor.o
.debug_str 0x00000000 0x772
.debug_str 0x00000000 0x787
*(.debug_str)
.debug_str 0x00000000 0x27d C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.debug_str 0x0000027d 0x2b3 lcd_control.o
0x2f3 (size before relaxing)
.debug_str 0x00000530 0x15b main.o
0x374 (size before relaxing)
.debug_str 0x0000068b 0x68 stepper_driver.o
.debug_str 0x0000027d 0x2ce lcd_control.o
0x30e (size before relaxing)
.debug_str 0x0000054b 0x155 main.o
0x37e (size before relaxing)
.debug_str 0x000006a0 0x68 stepper_driver.o
0x2af (size before relaxing)
.debug_str 0x000006f3 0x7f ultrasonic_sensor.o
.debug_str 0x00000708 0x7f ultrasonic_sensor.o
0x309 (size before relaxing)
.debug_loc 0x00000000 0x831
.debug_loc 0x00000000 0x956
*(.debug_loc)
.debug_loc 0x00000000 0x48f lcd_control.o
.debug_loc 0x0000048f 0x167 main.o
.debug_loc 0x000005f6 0x13a stepper_driver.o
.debug_loc 0x00000730 0x101 ultrasonic_sensor.o
.debug_loc 0x00000000 0x5b4 lcd_control.o
.debug_loc 0x000005b4 0x167 main.o
.debug_loc 0x0000071b 0x13a stepper_driver.o
.debug_loc 0x00000855 0x101 ultrasonic_sensor.o
.debug_macinfo
*(.debug_macinfo)
@@ -751,12 +751,12 @@ END GROUP
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x00000000 0x110
.debug_ranges 0x00000000 0x118
*(.debug_ranges)
.debug_ranges 0x00000000 0x70 lcd_control.o
.debug_ranges 0x00000070 0x28 main.o
.debug_ranges 0x00000098 0x38 stepper_driver.o
.debug_ranges 0x000000d0 0x40 ultrasonic_sensor.o
.debug_ranges 0x00000000 0x78 lcd_control.o
.debug_ranges 0x00000078 0x28 main.o
.debug_ranges 0x000000a0 0x38 stepper_driver.o
.debug_ranges 0x000000d8 0x40 ultrasonic_sensor.o
.debug_macro
*(.debug_macro)

View File

@@ -1,17 +1,17 @@
S014000045696E646F706472616368742E737265633B
S113000045C0000060C000005EC0000063C1000085
S113000045C0000060C000005EC000004FC1000099
S11300105AC0000058C0000056C0000054C0000080
S113002052C00000B6C100004EC000004CC0000029
S113002052C000009CC100004EC000004CC0000043
S11300304AC0000048C0000046C0000044C00000A0
S113004042C0000040C000003EC000003CC00000B0
S11300503AC0000038C0000036C0000034C00000C0
S113006032C0000030C000002EC000002CC00000D0
S11300702AC0000028C0000026C0000024C00000E0
S113008022C0000020C000001EC0000011241FBEBA
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E8E1F9
S11300A0FDE000E00BBF02C007900D92AA32B10739
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E4EEF0
S11300A0FCE000E00BBF02C007900D92AA32B1073A
S11300B0D9F721E0AAE2B1E001C01D92A633B2074C
S11300C0E1F72FD127C69CCF9BB321E030E002C0DB
S11300C0E1F71BD10DC69CCF9BB321E030E002C009
S11300D0220F331F8A95E2F7292B2BBB08959BB37C
S11300E021E030E002C0220F331F8A95E2F7209509
S11300F029232BBB089586E090E0E6DF83EC99E0AA
@@ -27,189 +27,186 @@ S1130180C0E2C5BBB8DFC5BBB6DF80E885BBB3DF63
S113019015BAB1DF80EF85BBAEDF15BAACDF80E600
S11301A085BBA9DF82E0CADFA6DFCF910895CF9394
S11301B0DF93EC0102C0B2DF219688818111FBCF6D
S11301C0DF91CF9108954F925F926F927F928F92B9
S11301D09F92AF92BF92CF92DF92EF92FF920F93D2
S11301E01F93CF93DF93CDB7DEB7D82EC92E942EAD
S11301F0852E762E672E522E432EADB6BEB63F9375
S11302002F937F936F935F934F939F938F930F2EAF
S1130210F5E1EF2EF1E0FF2EF02DFF92EF921F9209
S11302201F921F921F928DD201962DB73EB7225F67
S11302303F4F0FB6F8943EBF0FBE2DBF281B390B9E
S11302400FB6F8943EBF0FBE2DBF0DB71EB70F5F9C
S11302501F4F4F925F926F927F928F929F92CF9295
S1130260DF92FF92EF929F938F931F930F9369D224
S1130270802F912F9CDF8DB79EB70E960FB6F89402
S11302809EBF0FBE8DBF0FB6F894BEBE0FBEADBEEF
S1130290DF91CF911F910F91FF90EF90DF90CF905E
S11302A0BF90AF909F908F907F906F905F904F9092
S11302B0089520910001222351F00197439738F4C7
S11302C0D7D01092000161E080E092E0C4C00895AC
S11302D00AC108951F920F920FB60F9211240BB604
S11302E00F922F933F934F935F936F937F938F93CB
S11302F09F93AF93BF93EF93FF9302D1FF91EF913D
S1130300BF91AF919F918F917F916F915F914F9129
S11303103F912F910F900BBE0F900FBE0F901F9027
S11303201895D2D026DFA6D088E691E02DD089E5B5
S113033091E004D187EA91E60197F1F700C000004B
S11303400DDF60E088E592E086D008DFFCD0AB01E9
S1130350BC0121E231E084E291E035DF84E690E003
S1130360A4D0F3CF90913101911107C0E82FF0E0B0
S1130370EF5FFE4F808183B90895E82FF0E0E75FD7
S1130380FE4F808183B908959093330180933201A5
S113039008951F920F920FB60F9211240BB60F926D
S11303A02F933F934F935F936F937F938F939F9379
S11303B0AF93BF93EF93FF9314BC80912A01D2DFD4
S11303C080912A01873020F48F5F80932A0130C006
S11303D010922A0180912B0190912C01009799F49D
S11303E080913101811104C081E08093310102C008
S11303F01092310180912D0190912E0190932C0146
S113040080932B0115C09C012F713327232B39F4C2
S1130410E0913201F0913301309709F00995809110
S11304202B0190912C01019790932C0180932B0127
S1130430FF91EF91BF91AF919F918F917F916F91B8
S11304405F914F913F912F910F900BBE0F900FBE74
S11304500F901F90189590932C0180932B019093EB
S11304602E0180932D01609331018CE085BD0895A8
S113047015BC08958FEF82B98093640081E0809366
S1130480650013B886E983BD80E887BF7894089532
S113049020E030E006C043E04A95F1F700002F5F0A
S11304A03F4F28173907B8F3089520E030E008C01B
S11304B0E3ECF9E03197F1F700C000002F5F3F4F04
S11304C028173907A8F308958FEF8093640011BAB1
S11304D080E380936A0089B7846089BF1FBC8CE085
S11304E08EBD78940895CF93DF93C5E6D0E018824B
S11304F08AE090E0CDDF81E08883DF91CF91089599
S113050080911101813041F480E280936A001DBC26
S11305101CBC10921101089580E380936A008CB58D
S11305209DB59093300180932F01E0913401F091B7
S11305303501099581E08093110108959093350167
S113054080933401089560912F017091300180E00F
S113055090E006D020E030E04AE253E43EC0089543
S1130560E89409C097FB3EF4909580957095619549
S11305707F4F8F4F9F4F9923A9F0F92F96E9BB27FF
S11305809395F695879577956795B795F111F8CF7B
S1130590FAF4BB0F11F460FF1BC06F5F7F4F8F4FE6
S11305A09F4F16C0882311F096E911C0772321F0DC
S11305B09EE8872F762F05C0662371F096E8862F74
S11305C070E060E02AF09A95660F771F881FDAF7CB
S11305D0880F9695879597F908950BD078C069D0C0
S11305E028F06ED018F0952309F05AC05FC011248A
S11305F0A2C07ED0A0F3959FD1F3950F50E0551F74
S1130600629FF001729FBB27F00DB11D639FAA2763
S1130610F00DB11DAA1F649F6627B00DA11D661FB2
S1130620829F2227B00DA11D621F739FB00DA11DD3
S1130630621F839FA00D611D221F749F3327A00D8D
S1130640611D231F849F600D211D822F762F6A2F29
S113065011249F5750408AF0E1F088234AF0EE0FAE
S1130660FF1FBB1F661F771F881F91505040A9F7BB
S11306709E3F510570F014C05EC05F3FECF3983E9E
S1130680DCF3869577956795B795F795E7959F5F22
S1130690C1F7FE2B880F911D9695879597F90895BC
S11306A097F99F6780E870E060E008959FEF80EC21
S11306B0089500240A9416161706180609060895C4
S11306C000240A9412161306140605060895092E2A
S11306D00394000C11F4882352F0BB0F40F4BF2B99
S11306E011F460FF04C06F5F7F4F8F4F9F4F0895D9
S11306F057FD9058440F551F59F05F3F71F04795CF
S1130700880F97FB991F61F09F3F79F087950895B3
S1130710121613061406551FF2CF4695F1DF08C0D2
S1130720161617061806991FF1CF869571056105EF
S113073008940895E894BB2766277727CB0197F997
S113074008950F931F93CF93DF93CDB7DEB72E9702
S11307500FB6F894DEBF0FBECDBF0D891E898F89F9
S1130760988D26E02C831A83098397FF02C080E0CA
S113077090E801979E838D83AE01455E5F4F698D3E
S11307807A8DCE01019619D04D815E8157FD0AC044
S11307902F813885421753070CF49A01F801E20FB0
S11307A0F31F10822E960FB6F894DEBF0FBECDBF96
S11307B0DF91CF911F910F9108952F923F924F9205
S11307C05F926F927F928F929F92AF92BF92CF92DD
S11307D0DF92EF92FF920F931F93CF93DF93CDB7E6
S11307E0DEB72B970FB6F894DEBF0FBECDBF6C01FA
S11307F07B018A01FC0117821682838181FFBFC1BC
S1130800CE0101963C01F6019381F70193FD859198
S113081093FF81917F01882309F4ADC1853239F4B6
S113082093FD859193FF81917F01853221F4B60177
S113083090E0D6D1E8CF912C212C312CFFE1F31597
S1130840D8F08B3279F038F4803279F08332A1F425
S1130850232D20611DC08D3261F0803369F4232D76
S1130860216016C0832D8260382EE32DE4603E2E75
S11308702AC0F32DF8601DC037FC2DC020ED280FD1
S11308802A3040F08E32B9F436FC75C1232D206431
S1130890322E19C036FE06C08AE0989E200D11241F
S11308A0922E11C0EAE02E9E200D1124222EF32D4B
S11308B0F0623F2E08C08C3621F4832D8068382ED8
S11308C002C0883641F4F70193FD859193FF81912D
S11308D07F018111B3CF982F9F7D9554933028F4D5
S11308E00C5F1F4F9FE399830DC0833631F083372C
S11308F071F0833509F055C020C0F80180818983E7
S11309000E5F1F4F88248394912C530112C0280139
S1130910F2E04F0E511CF801A080B18036FE03C0F6
S1130920692D70E002C06FEF7FEFC5014ED14C011D
S11309308201F32DFF773F2E15C0280122E0420EDD
S1130940511CF801A080B18036FE03C0692D70E00F
S113095002C06FEF7FEFC5012DD14C01F32DF0687C
S11309603F2E820133FC19C0822D90E0881699062F
S1130970A0F4B60180E290E033D12A94F5CFF501DA
S113098037FC859137FE81915F01B60190E028D153
S113099021102A9421E0821A91088114910479F794
S11309A0E1C0843611F0893639F5F80137FE07C005
S11309B060817181828193810C5F1F4F08C06081C7
S11309C07181072E000C880B990B0E5F1F4FF32DBE
S11309D0FF763F2E97FF09C090958095709561959D
S11309E07F4F8F4F9F4FF0683F2E2AE030E0A301E6
S11309F033D1882E861844C0853731F4232D2F7EB9
S1130A00B22E2AE030E025C0932D997FB92E8F367F
S1130A10C1F018F4883579F0AEC0803719F0883702
S1130A2021F0A9C0E92FE061BE2EB4FE0DC0FB2D5C
S1130A30F460BF2E09C034FE0AC0292F2660B22EEE
S1130A4006C028E030E005C020E130E002C020E12B
S1130A5032E0F801B7FE07C0608171818281938121
S1130A600C5F1F4F06C06081718180E090E00E5FD3
S1130A701F4FA301F1D0882E8618FB2DFF773F2E40
S1130A8036FE0DC0232D2E7FA22E891458F434FE79
S1130A900BC032FC09C0832D8E7EA82E05C0B82C55
S1130AA0A32C03C0B82C01C0B92CA4FE0FC0FE01B6
S1130AB0E80DF11D8081803321F49A2D997EA92EB1
S1130AC009C0A2FE06C0B394B39404C08A2D8678EC
S1130AD009F0B394A3FC10C0A0FE06C0B21480F4C5
S1130AE0280C922C9B180DC0B21458F4B60180E265
S1130AF090E076D0B394F8CFB21418F42B1802C057
S1130B00982C212CA4FE0FC0B60180E390E068D09D
S1130B10A2FE16C0A1FC03C088E790E002C088E5ED
S1130B2090E0B6010CC08A2D867851F0A1FE02C077
S1130B308BE201C080E2A7FC8DE2B60190E050D0C8
S1130B40891430F4B60180E390E04AD09A94F8CF47
S1130B508A94F301E80DF11D8081B60190E040D044
S1130B608110F6CF222009F44ECEB60180E290E047
S1130B7037D02A94F7CFF6018681978102C08FEF90
S1130B809FEF2B960FB6F894DEBF0FBECDBFDF915B
S1130B90CF911F910F91FF90EF90DF90CF90BF9076
S1130BA0AF909F908F907F906F905F904F903F9009
S1130BB02F900895FC010590615070400110D8F702
S1130BC0809590958E0F9F1F0895FC016150704091
S1130BD001900110D8F7809590958E0F9F1F08956E
S1130BE00F931F93CF93DF93FB01238121FD03C058
S1130BF08FEF9FEF2CC022FF16C0468157812481BE
S1130C0035814217530744F4A081B1819D012F5FC0
S1130C103F4F318320838C93268137812F5F3F4F51
S1130C203783268314C08B01EC01FB010084F1851A
S1130C30E02D0995892BE1F6D80116968D919C91AA
S1130C401797019617969C938E931697CE01DF9172
S1130C50CF911F910F910895FA01AA27283051F1DD
S1130C60203181F1E8946F936E7F6E5F7F4F8F4FD9
S1130C709F4FAF4FB1E03ED0B4E03CD0670F781F38
S1130C80891F9A1FA11D680F791F8A1F911DA11D1D
S1130C906A0F711D811D911DA11D20D009F4689456
S1130CA03F912AE0269F11243019305D3193DEF6FE
S1130CB0CF010895462F4770405D4193B3E00FD0B4
S1130CC0C9F7F6CF462F4F70405D4A3318F0495D9F
S1130CD031FD4052419302D0A9F7EACFB4E0A69582
S1130CE09795879577956795BA95C9F700976105A4
S1130CF0710508959B01AC010A2E069457954795FA
S1130D0037952795BA95C9F7620F731F841F951FEE
S10B0D10A01D0895F894FFCF23
S1130D1801080C0406020301090901030206040C74
S1130D28080125640025733A20252E33662025738F
S10D0D3800636D0064697374000029
S11301C0DF91CF9108958F929F92AF92BF92CF9279
S11301D0DF92EF92FF920F931F93CF93DF93CDB7EC
S11301E0DEB7D62EC72E982E892EADB6BEB69F93F7
S11301F08F937F936F930F2EF1E2EF2EF1E0FF2E9A
S1130200F02DFF92EF921F921F921F921F927FD2A6
S113021001962DB73EB7265F3F4F0FB6F8943EBF09
S11302200FBE2DBF281B390B0FB6F8943EBF0FBE6F
S11302302DBF0DB71EB70F5F1F4F8F929F92CF92A6
S1130240DF92FF92EF929F938F931F930F935FD24E
S1130250802F912FACDF8DB79EB70A960FB6F89416
S11302609EBF0FBE8DBF0FB6F894BEBE0FBEADBE0F
S1130270DF91CF911F910F91FF90EF90DF90CF907E
S1130280BF90AF909F908F900895209100012223FA
S113029051F00197439738F4D1D01092000161E0F6
S11302A080E092E0BEC0089504C108951F920F92A9
S11302B00FB60F9211240BB60F922F933F934F93C7
S11302C05F936F937F938F939F93AF93BF93EF93BA
S11302D0FF93FCD0FF91EF91BF91AF919F918F91CC
S11302E07F916F915F914F913F912F910F900BBE32
S11302F00F900FBE0F901F901895CCD03ADFA0D06E
S113030084E591E027D085E491E0FED087EA91E688
S11303100197F1F700C0000021DF60E088E592E07A
S113032080D01CDFF6D04FDF84E690E0A4D0F9CF74
S113033090913101911107C0E82FF0E0EF5FFE4F7B
S1130340808183B90895E82FF0E0E75FFE4F808154
S113035083B90895909333018093320108951F92D5
S11303600F920FB60F9211240BB60F922F933F9357
S11303704F935F936F937F938F939F93AF93BF93A9
S1130380EF93FF9314BC80912A01D2DF80912A015C
S1130390873020F48F5F80932A0130C010922A01A5
S11303A080912B0190912C01009799F48091310157
S11303B0811104C081E08093310102C010923101A7
S11303C080912D0190912E0190932C0180932B010B
S11303D015C09C012F713327232B39F4E09132018E
S11303E0F0913301309709F0099580912B01909198
S11303F02C01019790932C0180932B01FF91EF9195
S1130400BF91AF919F918F917F916F915F914F9128
S11304103F912F910F900BBE0F900FBE0F901F9026
S1130420189590932C0180932B0190932E01809327
S11304302D01609331018CE085BD089515BC0895AC
S11304408FEF82B98093640081E08093650013B8D4
S113045086E983BD80E887BF7894089520E030E082
S113046006C043E04A95F1F700002F5F3F4F28177D
S11304703907B8F3089520E030E008C0E3ECF9E070
S11304803197F1F700C000002F5F3F4F281739075D
S1130490A8F308958FEF8093640011BA80E38093EA
S11304A06A0089B7846089BF1FBC8CE08EBD7894D4
S11304B00895CF93DF93C5E6D0E018828AE090E0F8
S11304C0CDDF81E08883DF91CF9108958091110180
S11304D0813041F480E280936A001DBC1CBC109200
S11304E01101089580E380936A008CB59DB59093C3
S11304F0300180932F01E0913401F0913501099589
S113050081E0809311010895909335018093340123
S1130510089560912F017091300180E090E006D041
S113052020E030E04AE253E43EC00895E89409C074
S113053097FB3EF490958095709561957F4F8F4F12
S11305409F4F9923A9F0F92F96E9BB279395F69528
S1130550879577956795B795F111F8CFFAF4BB0FA6
S113056011F460FF1BC06F5F7F4F8F4F9F4F16C00A
S1130570882311F096E911C0772321F09EE8872F94
S1130580762F05C0662371F096E8862F70E060E050
S11305902AF09A95660F771F881FDAF7880F9695C9
S11305A0879597F908950BD078C069D028F06ED05C
S11305B018F0952309F05AC05FC01124A2C07ED060
S11305C0A0F3959FD1F3950F50E0551F629FF00162
S11305D0729FBB27F00DB11D639FAA27F00DB11DBB
S11305E0AA1F649F6627B00DA11D661F829F222744
S11305F0B00DA11D621F739FB00DA11D621F839FCB
S1130600A00D611D221F749F3327A00D611D231FA0
S1130610849F600D211D822F762F6A2F11249F57EE
S113062050408AF0E1F088234AF0EE0FFF1FBB1F11
S1130630661F771F881F91505040A9F79E3F5105B0
S113064070F014C05EC05F3FECF3983EDCF3869517
S113065077956795B795F795E7959F5FC1F7FE2B5B
S1130660880F911D9695879597F9089597F99F6737
S113067080E870E060E008959FEF80EC0895002426
S11306800A941616170618060906089500240A94F3
S113069012161306140605060895092E0394000C79
S11306A011F4882352F0BB0F40F4BF2B11F460FF08
S11306B004C06F5F7F4F8F4F9F4F089557FD905831
S11306C0440F551F59F05F3F71F04795880F97FB12
S11306D0991F61F09F3F79F08795089512161306CC
S11306E01406551FF2CF4695F1DF08C016161706FB
S11306F01806991FF1CF8695710561050894089530
S1130700E894BB2766277727CB0197F908950F93C1
S11307101F93CF93DF93CDB7DEB72E970FB6F89420
S1130720DEBF0FBECDBF0D891E898F89988D26E04F
S11307302C831A83098397FF02C080E090E8019715
S11307409E838D83AE01455E5F4F698D7A8DCE01A8
S1130750019619D04D815E8157FD0AC02F813885DD
S1130760421753070CF49A01F801E20FF31F1082A9
S11307702E960FB6F894DEBF0FBECDBFDF91CF919A
S11307801F910F9108952F923F924F925F926F9213
S11307907F928F929F92AF92BF92CF92DF92EF920D
S11307A0FF920F931F93CF93DF93CDB7DEB72B97B1
S11307B00FB6F894DEBF0FBECDBF6C017B018A017A
S11307C0FC0117821682838181FFBFC1CE0101968D
S11307D03C01F6019381F70193FD859193FF81918B
S11307E07F01882309F4ADC1853239F493FD8591E5
S11307F093FF81917F01853221F4B60190E0D6D137
S1130800E8CF912C212C312CFFE1F315D8F08B3259
S113081079F038F4803279F08332A1F4232D206109
S11308201DC08D3261F0803369F4232D216016C020
S1130830832D8260382EE32DE4603E2E2AC0F32DF2
S1130840F8601DC037FC2DC020ED280F2A3040F081
S11308508E32B9F436FC75C1232D2064322E19C0B2
S113086036FE06C08AE0989E200D1124922E11C0F7
S1130870EAE02E9E200D1124222EF32DF0623F2E4D
S113088008C08C3621F4832D8068382E02C0883647
S113089041F4F70193FD859193FF81917F018111CB
S11308A0B3CF982F9F7D9554933028F40C5F1F4F3E
S11308B09FE399830DC0833631F0833771F083351C
S11308C009F055C020C0F801808189830E5F1F4F55
S11308D088248394912C530112C02801F2E04F0E16
S11308E0511CF801A080B18036FE03C0692D70E070
S11308F002C06FEF7FEFC5014ED14C018201F32D91
S1130900FF773F2E15C0280122E0420E511CF8014A
S1130910A080B18036FE03C0692D70E002C06FEF85
S11309207FEFC5012DD14C01F32DF0683F2E8201DC
S113093033FC19C0822D90E088169906A0F4B60104
S113094080E290E033D12A94F5CFF50137FC85910C
S113095037FE81915F01B60190E028D121102A94DD
S113096021E0821A91088114910479F7E1C0843658
S113097011F0893639F5F80137FE07C060817181BD
S1130980828193810C5F1F4F08C060817181072EA3
S1130990000C880B990B0E5F1F4FF32DFF763F2E33
S11309A097FF09C090958095709561957F4F8F4F03
S11309B09F4FF0683F2E2AE030E0A30133D1882E08
S11309C0861844C0853731F4232D2F7EB22E2AE0B9
S11309D030E025C0932D997FB92E8F36C1F018F4DD
S11309E0883579F0AEC0803719F0883721F0A9C076
S11309F0E92FE061BE2EB4FE0DC0FB2DF460BF2EC6
S1130A0009C034FE0AC0292F2660B22E06C028E091
S1130A1030E005C020E130E002C020E132E0F8011E
S1130A20B7FE07C060817181828193810C5F1F4F83
S1130A3006C06081718180E090E00E5F1F4FA301CA
S1130A40F1D0882E8618FB2DFF773F2E36FE0DC081
S1130A50232D2E7FA22E891458F434FE0BC032FCB1
S1130A6009C0832D8E7EA82E05C0B82CA32C03C0EC
S1130A70B82C01C0B92CA4FE0FC0FE01E80DF11D75
S1130A808081803321F49A2D997EA92E09C0A2FE7B
S1130A9006C0B394B39404C08A2D867809F0B39445
S1130AA0A3FC10C0A0FE06C0B21480F4280C922C43
S1130AB09B180DC0B21458F4B60180E290E076D0D1
S1130AC0B394F8CFB21418F42B1802C0982C212C2C
S1130AD0A4FE0FC0B60180E390E068D0A2FE16C069
S1130AE0A1FC03C088E790E002C088E590E0B6016D
S1130AF00CC08A2D867851F0A1FE02C08BE201C0A1
S1130B0080E2A7FC8DE2B60190E050D0891430F465
S1130B10B60180E390E04AD09A94F8CF8A94F30126
S1130B20E80DF11D8081B60190E040D08110F6CF30
S1130B30222009F44ECEB60180E290E037D02A9408
S1130B40F7CFF6018681978102C08FEF9FEF2B9636
S1130B500FB6F894DEBF0FBECDBFDF91CF911F91CA
S1130B600F91FF90EF90DF90CF90BF90AF909F9048
S1130B708F907F906F905F904F903F902F9008954B
S1130B80FC010590615070400110D8F78095909554
S1130B908E0F9F1F0895FC01615070400190011059
S1130BA0D8F7809590958E0F9F1F08950F931F93EC
S1130BB0CF93DF93FB01238121FD03C08FEF9FEFD0
S1130BC02CC022FF16C046815781248135814217EB
S1130BD0530744F4A081B1819D012F5F3F4F3183BE
S1130BE020838C93268137812F5F3F4F3783268361
S1130BF014C08B01EC01FB010084F185E02D099503
S1130C00892BE1F6D80116968D919C911797019640
S1130C1017969C938E931697CE01DF91CF911F91D7
S1130C200F910895FA01AA27283051F1203181F15A
S1130C30E8946F936E7F6E5F7F4F8F4F9F4FAF4FE0
S1130C40B1E03ED0B4E03CD0670F781F891F9A1FF3
S1130C50A11D680F791F8A1F911DA11D6A0F711DA7
S1130C60811D911DA11D20D009F468943F912AE0B3
S1130C70269F11243019305D3193DEF6CF0108959B
S1130C80462F4770405D4193B3E00FD0C9F7F6CFCC
S1130C90462F4F70405D4A3318F0495D31FD405294
S1130CA0419302D0A9F7EACFB4E0A695979587952A
S1130CB077956795BA95C9F7009761057105089509
S1130CC09B01AC010A2E06945795479537952795B5
S1130CD0BA95C9F7620F731F841F951FA01D08954D
S1070CE0F894FFCFB2
S1130CE401080C0406020301090901030206040CA9
S1130CF4080125640025733A20252E3366202573C4
S10D0D0400252E336620434D000045
S9030000FC

View File

@@ -39,7 +39,7 @@ void lcd_write_int(int number);
/************************************************************************/
/* write double to the lcd */
/************************************************************************/
void lcd_write_double(char prefix[], double number, char suffix[]);
void lcd_write_double(char prefix[], float number, char suffix[]);
/************************************************************************/
/* write ultrasonic reading on the lcd */

View File

@@ -7,7 +7,7 @@
#define F_CPU 10e6
#define ROTAITION_ANGLE 512
// rotation with a little overhead so the starting position wil not miss.
// rotation with a little overhead so the starting position will not miss.
#define INIT_ROTAITION_ANGLE 600
#define MAX_DISTANCE_INIT 20
@@ -69,7 +69,7 @@ int main(void)
{
lcd_clear();
// set the ultrasonic value to the lcd.
lcd_write_double("dist" ,ultrasonic_get_timer_dist(), "cm");
lcd_write_ultrasonic_value(ultrasonic_get_timer_dist());
wait_ms(LCD_SET_DELAY);
}

View File

@@ -100,7 +100,7 @@ void init_stepper_driver(){
DDRG = 0xff;
PORTG = 0x01;
PORTE = 0x00;
OCR2 = 150;
OCR2 = COMPARE_VALUE;
TIMSK = BIT(7);
sei();
}

View File

@@ -12,6 +12,8 @@
#include <stdbool.h>
#define STEPS_EACH_PULSE 32
#define STEPPER_SPEED 105
#define COMPARE_VALUE (255 - STEPPER_SPEED)
enum rotation_wise {
ClockWise,

View File

@@ -96,6 +96,6 @@ void set_value_trigger_event(void (*value_set_event_p)(uint16_t)){
float ultrasonic_get_timer_dist()
{
return timer_dist * (float)(340 / 2.0);
return (float)(timer_dist * (340 / 2.0));
}