[add] comments

This commit is contained in:
stijn
2021-04-06 15:05:44 +02:00
parent 41c080d5b7
commit d136064b94
16 changed files with 1784 additions and 2135 deletions

View File

@@ -1,16 +1,16 @@
:1000000045C0000060C000005EC0000063C1000089
:1000000045C0000060C000005EC0000045C10000A7
:100010005AC0000058C0000056C0000054C0000084
:1000200052C00000BFC100004EC000004CC0000024
:1000200052C0000092C100004EC000004CC0000051
:100030004AC0000048C0000046C0000044C00000A4
:1000400042C0000040C000003EC000003CC00000B4
:100050003AC0000038C0000036C0000034C00000C4
:1000600032C0000030C000002EC000002CC00000D4
:100070002AC0000028C0000026C0000024C00000E4
:1000800022C0000020C000001EC0000011241FBEBE
:10009000CFEFD0E1DEBFCDBF11E0A0E0B1E0E2E301
:1000A000FDE000E00BBF02C007900D92A033B10746
:1000B000D9F721E0A0E3B1E001C01D92AC33B20753
:1000C000E1F72FD134C69CCF9BB321E030E002C0D2
:10009000CFEFD0E1DEBFCDBF11E0A0E0B1E0ECEEEC
:1000A000FAE000E00BBF02C007900D92A232B10748
:1000B000D9F721E0A2E2B1E001C01D92AE32B20751
:1000C000E1F711D111C59CCF9BB321E030E002C014
:1000D000220F331F8A95E2F7292B2BBB08959BB380
:1000E00021E030E002C0220F331F8A95E2F720950D
:1000F00029232BBB089586E090E0E6DF83EC99E0AE
@@ -26,191 +26,154 @@
:1001900015BAB1DF80EF85BBAEDF15BAACDF80E604
:1001A00085BBA9DF82E0CADFA6DFCF910895CF9398
:1001B000DF93EC0102C0B2DF219688818111FBCF71
:1001C000DF91CF9108954F925F926F927F928F92BD
:1001D0009F92AF92BF92CF92DF92EF92FF920F93D6
:1001E0001F93CF93DF93CDB7DEB7D82EC92E942EB1
:1001F000852E762E672E522E432EADB6BEB63F9379
:100200002F937F936F935F934F939F938F930F2EB3
:10021000F5E1EF2EF1E0FF2EF02DFF92EF921F920D
:100220001F921F921F929AD201962DB73EB7225F5E
:100230003F4F0FB6F8943EBF0FBE2DBF281B390BA2
:100240000FB6F8943EBF0FBE2DBF0DB71EB70F5FA0
:100250001F4F4F925F926F927F928F929F92CF9299
:10026000DF92FF92EF929F938F931F930F9376D21B
:10027000802F912F9CDF8DB79EB70E960FB6F89406
:100280009EBF0FBE8DBF0FB6F894BEBE0FBEADBEF3
:10029000DF91CF911F910F91FF90EF90DF90CF9062
:1002A000BF90AF909F908F907F906F905F904F9096
:1002B000089520910001222351F00197439738F4CB
:1002C000E0D01092000161E080E092E0CDC008959E
:1002D00013C108951F920F920FB60F9211240BB6FF
:1002E0000F922F933F934F935F936F937F938F93CF
:1002F0009F93AF93BF93EF93FF930BD1FF91EF9138
:10030000BF91AF919F918F917F916F915F914F912D
:100310003F912F910F900BBE0F900FBE0F901F902B
:100320001895DBD026DFAFD088E691E036D089E59E
:1003300091E00DD187EA91E60197F1F700C0000046
:100340000DDF60E088E592E08FD008DF05D1BC01C9
:1003500080E090E075D120E030E04AE754E408D135
:10036000AB01BC0121E231E084E291E02CDF84E6C4
:1003700090E0A4D0EACF90913701911107C0E82F07
:10038000F0E0EF5FFE4F808183B90895E82FF0E041
:10039000E75FFE4F808183B9089590933901809380
:1003A000380108951F920F920FB60F9211240BB6C9
:1003B0000F922F933F934F935F936F937F938F93FE
:1003C0009F93AF93BF93EF93FF9314BC8091300141
:1003D000D2DF80913001873020F48F5F809330012D
:1003E00030C010923001809131019091320100971C
:1003F00099F480913701811104C081E08093370125
:1004000002C0109237018091330190913401909392
:1004100032018093310115C09C012F713327232BAA
:1004200039F4E0913801F0913901309709F00995DC
:100430008091310190913201019790933201809324
:100440003101FF91EF91BF91AF919F918F917F917A
:100450006F915F914F913F912F910F900BBE0F9035
:100460000FBE0F901F901895909332018093310129
:100470009093340180933301609337018CE085BD04
:10048000089515BC08958FEF82B98093640081E0D0
:100490008093650013B886E983BD80E887BF7894B0
:1004A000089520E030E006C043E04A95F1F70000EF
:1004B0002F5F3F4F28173907B8F3089520E030E049
:1004C00008C0E3ECF9E03197F1F700C000002F5FBE
:1004D0003F4F28173907A8F308958FEF80936400E2
:1004E00011BA80E380936A0089B7846089BF1FBC1A
:1004F0008CE08EBD78940895CF93DF93C5E6D0E06D
:1005000018828AE090E0CDDF81E08883DF91CF918F
:10051000089580911101813041F480E280936A0056
:100520001DBC1CBC10921101089580E380936A00E9
:100530008CB59DB59093360180933501E0913A01D9
:10054000F0913B01099581E080931101089590930A
:100550003B0180933A0108958091350190913601D5
:100560002AEAAC01249FC001259F900D1124089513
:100570000CD0BAC0B2D040F0A9D030F021F45F3F27
:1005800019F09BC05111E4C09EC0BFD098F39923CD
:10059000C9F35523B1F3951B550BBB27AA27621747
:1005A0007307840738F09F5F5F4F220F331F441F8C
:1005B000AA1FA9F333D00E2E3AF0E0E830D09150C4
:1005C0005040E695001CCAF729D0FE2F27D0660FB1
:1005D000771F881FBB1F261737074807AB07B0E8F0
:1005E00009F0BB0B802DBF01FF2793585F4F2AF006
:1005F0009E3F510568F061C0ABC05F3FECF3983E91
:10060000DCF3869577956795B795F7959F5FC9F762
:10061000880F911D9695879597F90895E1E0660FEB
:10062000771F881FBB1F621773078407BA0720F064
:10063000621B730B840BBA0BEE1F88F7E0950895CD
:10064000E89409C097FB3EF490958095709561956C
:100650007F4F8F4F9F4F9923A9F0F92F96E9BB2722
:100660009395F695879577956795B795F111F8CF9E
:10067000FAF4BB0F11F460FF1BC06F5F7F4F8F4F09
:100680009F4F16C0882311F096E911C0772321F0FF
:100690009EE8872F762F05C0662371F096E8862F97
:1006A00070E060E02AF09A95660F771F881FDAF7EE
:1006B000880F9695879597F9089597F99F6780E831
:1006C00070E060E008959FEF80EC089500240A94A4
:1006D0001616170618060906089500240A9412161D
:1006E0001306140605060895092E0394000C11F450
:1006F000882352F0BB0F40F4BF2B11F460FF04C0FD
:100700006F5F7F4F8F4F9F4F089557FD9058440F55
:10071000551F59F05F3F71F04795880F97FB991F60
:1007200061F09F3F79F0879508951216130614061D
:10073000551FF2CF4695F1DF08C0161617061806AA
:10074000991FF1CF86957105610508940895E89485
:10075000BB2766277727CB0197F908950F931F933F
:10076000CF93DF93CDB7DEB72E970FB6F894DEBFE9
:100770000FBECDBF0D891E898F89988D26E02C83F1
:100780001A83098397FF02C080E090E801979E8357
:100790008D83AE01455E5F4F698D7A8DCE010196E6
:1007A00019D04D815E8157FD0AC02F8138854217CF
:1007B00053070CF49A01F801E20FF31F10822E96F2
:1007C0000FB6F894DEBF0FBECDBFDF91CF911F9162
:1007D0000F9108952F923F924F925F926F927F9266
:1007E0008F929F92AF92BF92CF92DF92EF92FF9241
:1007F0000F931F93CF93DF93CDB7DEB72B970FB631
:10080000F894DEBF0FBECDBF6C017B018A01FC01F5
:1008100017821682838181FFBFC1CE0101963C0100
:10082000F6019381F70193FD859193FF81917F01FB
:10083000882309F4ADC1853239F493FD859193FF86
:1008400081917F01853221F4B60190E0D6D1E8CFC5
:10085000912C212C312CFFE1F315D8F08B3279F05B
:1008600038F4803279F08332A1F4232D20611DC049
:100870008D3261F0803369F4232D216016C0832D01
:100880008260382EE32DE4603E2E2AC0F32DF860FE
:100890001DC037FC2DC020ED280F2A3040F08E32CD
:1008A000B9F436FC75C1232D2064322E19C036FEF2
:1008B00006C08AE0989E200D1124922E11C0EAE015
:1008C0002E9E200D1124222EF32DF0623F2E08C003
:1008D0008C3621F4832D8068382E02C0883641F48E
:1008E000F70193FD859193FF81917F018111B3CF32
:1008F000982F9F7D9554933028F40C5F1F4F9FE3F2
:1009000099830DC0833631F0833771F0833509F058
:1009100055C020C0F801808189830E5F1F4F882455
:100920008394912C530112C02801F2E04F0E511C08
:10093000F801A080B18036FE03C0692D70E002C0CE
:100940006FEF7FEFC5014ED14C018201F32DFF7790
:100950003F2E15C0280122E0420E511CF801A08054
:10096000B18036FE03C0692D70E002C06FEF7FEFEB
:10097000C5012DD14C01F32DF0683F2E820133FCCF
:1009800019C0822D90E088169906A0F4B60180E285
:1009900090E033D12A94F5CFF50137FC859137FEED
:1009A00081915F01B60190E028D121102A9421E0C5
:1009B000821A91088114910479F7E1C0843611F00C
:1009C000893639F5F80137FE07C06081718182816F
:1009D00093810C5F1F4F08C060817181072E000C4E
:1009E000880B990B0E5F1F4FF32DFF763F2E97FF5D
:1009F00009C090958095709561957F4F8F4F9F4F5F
:100A0000F0683F2E2AE030E0A30133D1882E86180B
:100A100044C0853731F4232D2F7EB22E2AE030E0FA
:100A200025C0932D997FB92E8F36C1F018F48835E3
:100A300079F0AEC0803719F0883721F0A9C0E92FCE
:100A4000E061BE2EB4FE0DC0FB2DF460BF2E09C0C8
:100A500034FE0AC0292F2660B22E06C028E030E0FE
:100A600005C020E130E002C020E132E0F801B7FE2D
:100A700007C060817181828193810C5F1F4F06C026
:100A80006081718180E090E00E5F1F4FA301F1D083
:100A9000882E8618FB2DFF773F2E36FE0DC0232DA6
:100AA0002E7FA22E891458F434FE0BC032FC09C0EC
:100AB000832D8E7EA82E05C0B82CA32C03C0B82C85
:100AC00001C0B92CA4FE0FC0FE01E80DF11D80810C
:100AD000803321F49A2D997EA92E09C0A2FE06C06A
:100AE000B394B39404C08A2D867809F0B394A3FC20
:100AF00010C0A0FE06C0B21480F4280C922C9B18E3
:100B00000DC0B21458F4B60180E290E076D0B394F0
:100B1000F8CFB21418F42B1802C0982C212CA4FE84
:100B20000FC0B60180E390E068D0A2FE16C0A1FC21
:100B300003C088E790E002C088E590E0B6010CC0F1
:100B40008A2D867851F0A1FE02C08BE201C080E2BE
:100B5000A7FC8DE2B60190E050D0891430F4B601C4
:100B600080E390E04AD09A94F8CF8A94F301E80D9C
:100B7000F11D8081B60190E040D08110F6CF222097
:100B800009F44ECEB60180E290E037D02A94F7CF38
:100B9000F6018681978102C08FEF9FEF2B960FB6EB
:100BA000F894DEBF0FBECDBFDF91CF911F910F91A3
:100BB000FF90EF90DF90CF90BF90AF909F908F907D
:100BC0007F906F905F904F903F902F900895FC0121
:100BD0000590615070400110D8F7809590958E0F68
:100BE0009F1F0895FC016150704001900110D8F7DB
:100BF000809590958E0F9F1F08950F931F93CF930D
:100C0000DF93FB01238121FD03C08FEF9FEF2CC0F9
:100C100022FF16C046815781248135814217530730
:100C200044F4A081B1819D012F5F3F4F3183208328
:100C30008C93268137812F5F3F4F3783268314C0E3
:100C40008B01EC01FB010084F185E02D0995892BD6
:100C5000E1F6D80116968D919C91179701961796FB
:100C60009C938E931697CE01DF91CF911F910F9198
:100C70000895FA01AA27283051F1203181F1E89432
:100C80006F936E7F6E5F7F4F8F4F9F4FAF4FB1E07F
:100C90003ED0B4E03CD0670F781F891F9A1FA11D7A
:100CA000680F791F8A1F911DA11D6A0F711D811D7B
:100CB000911DA11D20D009F468943F912AE0269F40
:100CC00011243019305D3193DEF6CF010895462F9F
:100CD0004770405D4193B3E00FD0C9F7F6CF462F80
:100CE0004F70405D4A3318F0495D31FD40524193E9
:100CF00002D0A9F7EACFB4E0A695979587957795A6
:100D00006795BA95C9F700976105710508959B012C
:100D1000AC010A2E06945795479537952795BA95B5
:100D2000C9F7620F731F841F951FA01D0895F894C3
:020D3000FFCFF3
:100D320001080C0406020301090901030206040C5E
:100D4200080125640025733A20252E336620257379
:100D520000636D0064697374616E63653A2000001C
:1001C000DF91CF910895AF92BF92CF92DF92EF92DD
:1001D000FF920F931F93CF93DF93CDB7DEB7D82E47
:1001E000C92EADB6BEB69F938F930F2EF2E1EF2EC0
:1001F000F1E0FF2EF02DFF92EF921F921F921F92BF
:100200001F9289D101962DB73EB7285F3F4F0FB699
:10021000F8943EBF0FBE2DBF281B390B0FB6F894C4
:100220003EBF0FBE2DBF0DB71EB70F5F1F4FCF9242
:10023000DF92FF92EF929F938F931F930F936BD157
:10024000802F912FB4DF8DB79EB708960FB6F89424
:100250009EBF0FBE8DBF0FB6F894BEBE0FBEADBE23
:10026000DF91CF911F910F91FF90EF90DF90CF9092
:10027000BF90AF90089520910001222351F0019783
:10028000439738F4D1D01092000161E080E092E011
:10029000BEC0089504C108951F920F920FB60F9229
:1002A00011240BB60F922F933F934F935F936F934D
:1002B0007F938F939F93AF93BF93EF93FF93FCD064
:1002C000FF91EF91BF91AF919F918F917F916F912E
:1002D0005F914F913F912F910F900BBE0F900FBEEA
:1002E0000F901F901895CCD044DFA0D08AE491E005
:1002F00027D08BE391E0FED087EA91E60197F1F7F2
:1003000000C000002BDF60E088E592E080D026DFAF
:10031000F6D059DF84E690E0A4D0F9CF909129017E
:10032000911107C0E82FF0E0EF5FFE4F808183B9A5
:100330000895E82FF0E0E75FFE4F808183B90895CC
:1003400090932B0180932A0108951F920F920FB66C
:100350000F9211240BB60F922F933F934F935F93FD
:100360006F937F938F939F93AF93BF93EF93FF937D
:1003700014BC80912201D2DF80912201873020F4C9
:100380008F5F8093220130C010922201809123015F
:1003900090912401009799F480912901811104C062
:1003A00081E08093290102C01092290180912501EA
:1003B00090912601909324018093230115C09C0104
:1003C0002F713327232B39F4E0912A01F0912B016F
:1003D000309709F0099580912301909124010197AC
:1003E0009093240180932301FF91EF91BF91AF91EE
:1003F0009F918F917F916F915F914F913F912F913D
:100400000F900BBE0F900FBE0F901F9018959093FA
:10041000240180932301909326018093250160930A
:1004200029018CE085BD089515BC08958FEF82B930
:100430008093640081E08093650013B886E983BDF2
:1004400080E887BF7894089520E030E006C043E05C
:100450004A95F1F700002F5F3F4F28173907B8F38F
:10046000089520E030E008C0E3ECF9E03197F1F7BF
:1004700000C000002F5F3F4F28173907A8F30895E9
:100480008FEF8093640011BA80E380936A0089B78C
:10049000846089BF1FBC8CE08EBD78940895CF9393
:1004A000DF93C5E6D0E018828AE090E0CDDF81E0FE
:1004B0008883DF91CF91089580911101813041F4BB
:1004C00080E280936A001DBC1CBC1092110108954B
:1004D00080E380936A008CB59DB59093280180934A
:1004E0002701E0912C01F0912D01099581E0809385
:1004F0001101089590932D0180932C01089580910E
:100500002701909128012AEAAC01249FC001259F70
:10051000900D112408950F931F93CF93DF93CDB7C0
:10052000DEB72E970FB6F894DEBF0FBECDBF0D8994
:100530001E898F89988D26E02C831A83098397FF63
:1005400002C080E090E801979E838D83AE01455EF6
:100550005F4F698D7A8DCE01019619D04D815E81F4
:1005600057FD0AC02F813885421753070CF49A01B2
:10057000F801E20FF31F10822E960FB6F894DEBF3B
:100580000FBECDBFDF91CF911F910F9108952F9294
:100590003F924F925F926F927F928F929F92AF9213
:1005A000BF92CF92DF92EF92FF920F931F93CF9360
:1005B000DF93CDB7DEB72B970FB6F894DEBF0FBE33
:1005C000CDBF6C017B018A01FC01178216828381F9
:1005D00081FFBFC1CE0101963C01F6019381F70175
:1005E00093FD859193FF81917F01882309F4ADC12B
:1005F000853239F493FD859193FF81917F01853296
:1006000021F4B60190E0D6D1E8CF912C212C312CE9
:10061000FFE1F315D8F08B3279F038F4803279F0BD
:100620008332A1F4232D20611DC08D3261F080330F
:1006300069F4232D216016C0832D8260382EE32DAE
:10064000E4603E2E2AC0F32DF8601DC037FC2DC09B
:1006500020ED280F2A3040F08E32B9F436FC75C1F7
:10066000232D2064322E19C036FE06C08AE0989EE3
:10067000200D1124922E11C0EAE02E9E200D11248F
:10068000222EF32DF0623F2E08C08C3621F4832DEC
:100690008068382E02C0883641F4F70193FD8591B9
:1006A00093FF81917F018111B3CF982F9F7D955446
:1006B000933028F40C5F1F4F9FE399830DC083365E
:1006C00031F0833771F0833509F055C020C0F8014F
:1006D000808189830E5F1F4F88248394912C53015E
:1006E00012C02801F2E04F0E511CF801A080B18029
:1006F00036FE03C0692D70E002C06FEF7FEFC501C9
:100700004ED14C018201F32DFF773F2E15C02801F9
:1007100022E0420E511CF801A080B18036FE03C0D9
:10072000692D70E002C06FEF7FEFC5012DD14C0144
:10073000F32DF0683F2E820133FC19C0822D90E02A
:1007400088169906A0F4B60180E290E033D12A948D
:10075000F5CFF50137FC859137FE81915F01B60138
:1007600090E028D121102A9421E0821A9108811466
:10077000910479F7E1C0843611F0893639F5F80132
:1007800037FE07C060817181828193810C5F1F4FAA
:1007900008C060817181072E000C880B990B0E5FD9
:1007A0001F4FF32DFF763F2E97FF09C09095809540
:1007B000709561957F4F8F4F9F4FF0683F2E2AE0D5
:1007C00030E0A30133D1882E861844C0853731F438
:1007D000232D2F7EB22E2AE030E025C0932D997F65
:1007E000B92E8F36C1F018F4883579F0AEC0803755
:1007F00019F0883721F0A9C0E92FE061BE2EB4FEC0
:100800000DC0FB2DF460BF2E09C034FE0AC0292F95
:100810002660B22E06C028E030E005C020E130E0BE
:1008200002C020E132E0F801B7FE07C060817181AB
:10083000828193810C5F1F4F06C06081718180E0CF
:1008400090E00E5F1F4FA301F1D0882E8618FB2D7C
:10085000FF773F2E36FE0DC0232D2E7FA22E89144A
:1008600058F434FE0BC032FC09C0832D8E7EA82EB6
:1008700005C0B82CA32C03C0B82C01C0B92CA4FE11
:100880000FC0FE01E80DF11D8081803321F49A2D07
:10089000997EA92E09C0A2FE06C0B394B39404C0E9
:1008A0008A2D867809F0B394A3FC10C0A0FE06C080
:1008B000B21480F4280C922C9B180DC0B21458F47A
:1008C000B60180E290E076D0B394F8CFB21418F479
:1008D0002B1802C0982C212CA4FE0FC0B60180E377
:1008E00090E068D0A2FE16C0A1FC03C088E790E0AB
:1008F00002C088E590E0B6010CC08A2D867851F0E0
:10090000A1FE02C08BE201C080E2A7FC8DE2B6012D
:1009100090E050D0891430F4B60180E390E04AD0E2
:100920009A94F8CF8A94F301E80DF11D8081B60105
:1009300090E040D08110F6CF222009F44ECEB601CF
:1009400080E290E037D02A94F7CFF6018681978134
:1009500002C08FEF9FEF2B960FB6F894DEBF0FBE4D
:10096000CDBFDF91CF911F910F91FF90EF90DF905E
:10097000CF90BF90AF909F908F907F906F905F903F
:100980004F903F902F900895FC010590615070406A
:100990000110D8F7809590958E0F9F1F0895FC0148
:1009A0006150704001900110D8F7809590958E0F9E
:1009B0009F1F08950F931F93CF93DF93FB01238114
:1009C00021FD03C08FEF9FEF2CC022FF16C0468190
:1009D0005781248135814217530744F4A081B181A6
:1009E0009D012F5F3F4F318320838C932681378178
:1009F0002F5F3F4F3783268314C08B01EC01FB012F
:100A00000084F185E02D0995892BE1F6D801169631
:100A10008D919C911797019617969C938E9316979C
:100A2000CE01DF91CF911F910F910895FA01AA276E
:100A3000283051F1203181F1E8946F936E7F6E5F21
:100A40007F4F8F4F9F4FAF4FB1E03ED0B4E03CD0CF
:100A5000670F781F891F9A1FA11D680F791F8A1FB2
:100A6000911DA11D6A0F711D811D911DA11D20D019
:100A700009F468943F912AE0269F11243019305DD3
:100A80003193DEF6CF010895462F4770405D4193C4
:100A9000B3E00FD0C9F7F6CF462F4F70405D4A3311
:100AA00018F0495D31FD4052419302D0A9F7EACFD9
:100AB000B4E0A6959795879577956795BA95C9F708
:100AC00000976105710508959B01AC010A2E0694FB
:100AD0005795479537952795BA95C9F7620F731FB4
:0C0AE000841F951FA01D0895F894FFCFFF
:100AEC0001080C0406020301090901030206040CA7
:100AFC00080125640025733A20252E3366202573C2
:020B0C000000E7
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@@ -1,25 +1,5 @@
Archive member included to satisfy reference by file (symbol)
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(divsf3.o)
main.o (__divsf3)
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(divsf3x.o)
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(divsf3.o) (__divsf3x)
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)
main.o (__floatunsisf)
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)
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(divsf3x.o) (__fp_inf)
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)
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(divsf3x.o) (__fp_nan)
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)
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(divsf3x.o) (__fp_pscA)
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)
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(divsf3x.o) (__fp_pscB)
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)
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(divsf3.o) (__fp_round)
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)
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(divsf3x.o) (__fp_split3)
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)
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(divsf3x.o) (__fp_szero)
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)
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o (exit)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
@@ -59,8 +39,8 @@ Discarded input sections
0x00000000 0x18 lcd_control.o
.text.lcd_move_right
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
@@ -70,36 +50,6 @@ Discarded input sections
.text 0x00000000 0x0 ultrasonic_sensor.o
.data 0x00000000 0x0 ultrasonic_sensor.o
.bss 0x00000000 0x0 ultrasonic_sensor.o
.text 0x00000000 0x0 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(divsf3.o)
.data 0x00000000 0x0 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(divsf3.o)
.bss 0x00000000 0x0 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(divsf3.o)
.text 0x00000000 0x0 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(divsf3x.o)
.data 0x00000000 0x0 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(divsf3x.o)
.bss 0x00000000 0x0 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(divsf3x.o)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 0x0 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)
.data 0x00000000 0x0 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)
.bss 0x00000000 0x0 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)
.text 0x00000000 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)
.data 0x00000000 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)
.bss 0x00000000 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)
@@ -296,7 +246,7 @@ END GROUP
.rela.plt
*(.rela.plt)
.text 0x00000000 0xd32
.text 0x00000000 0xaec
*(.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 +364,78 @@ 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_int
0x000001c6 0xb0 lcd_control.o
0x000001c6 lcd_write_int
.text.ultrasoon_value_set_event
0x000002b2 0x1e main.o
0x00000276 0x1e main.o
.text.snap_event_trigger
0x000002d0 0x4 main.o
0x00000294 0x4 main.o
.text.__vector_3
0x000002d4 0x4e main.o
0x000002d4 __vector_3
.text.main 0x00000322 0x54 main.o
0x00000322 main
0x00000298 0x4e main.o
0x00000298 __vector_3
.text.main 0x000002e6 0x36 main.o
0x000002e6 main
.text.set_stepper_state
0x00000376 0x24 stepper_driver.o
0x00000376 set_stepper_state
0x0000031c 0x24 stepper_driver.o
0x0000031c set_stepper_state
.text.set_snap_event
0x0000039a 0xa stepper_driver.o
0x0000039a set_snap_event
0x00000340 0xa stepper_driver.o
0x00000340 set_snap_event
.text.__vector_9
0x000003a4 0xc4 stepper_driver.o
0x000003a4 __vector_9
0x0000034a 0xc4 stepper_driver.o
0x0000034a __vector_9
.text.stepper_rotate_angle
0x00000468 0x1a stepper_driver.o
0x00000468 stepper_rotate_angle
0x0000040e 0x1a stepper_driver.o
0x0000040e stepper_rotate_angle
.text.stepper_rotate_stop
0x00000482 0x4 stepper_driver.o
0x00000482 stepper_rotate_stop
0x00000428 0x4 stepper_driver.o
0x00000428 stepper_rotate_stop
.text.init_stepper_driver
0x00000486 0x1c stepper_driver.o
0x00000486 init_stepper_driver
.text.wait_us 0x000004a2 0x1a ultrasonic_sensor.o
0x000004a2 wait_us
.text.wait_ms 0x000004bc 0x1e ultrasonic_sensor.o
0x000004bc wait_ms
0x0000042c 0x1c stepper_driver.o
0x0000042c init_stepper_driver
.text.wait_us 0x00000448 0x1a ultrasonic_sensor.o
0x00000448 wait_us
.text.wait_ms 0x00000462 0x1e ultrasonic_sensor.o
0x00000462 wait_ms
.text.ultrasonic_init
0x000004da 0x1e ultrasonic_sensor.o
0x000004da ultrasonic_init
0x00000480 0x1e ultrasonic_sensor.o
0x00000480 ultrasonic_init
.text.ultrasonic_send_pulse
0x000004f8 0x1a ultrasonic_sensor.o
0x000004f8 ultrasonic_send_pulse
0x0000049e 0x1a ultrasonic_sensor.o
0x0000049e ultrasonic_send_pulse
.text.ultrasonic_handle_interrupt
0x00000512 0x3c ultrasonic_sensor.o
0x00000512 ultrasonic_handle_interrupt
0x000004b8 0x3c ultrasonic_sensor.o
0x000004b8 ultrasonic_handle_interrupt
.text.set_value_trigger_event
0x0000054e 0xa ultrasonic_sensor.o
0x0000054e set_value_trigger_event
0x000004f4 0xa ultrasonic_sensor.o
0x000004f4 set_value_trigger_event
.text.ultrasonic_get_timer_dist
0x00000558 0x18 ultrasonic_sensor.o
0x00000558 ultrasonic_get_timer_dist
.text.avr-libc.fplib
0x00000570 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(divsf3.o)
0x00000570 __divsf3
.text.avr-libc.fplib
0x00000574 0xcc 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(divsf3x.o)
0x0000058a __divsf3x
0x0000058e __divsf3_pse
.text.avr-libc.fplib
0x00000640 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)
0x00000640 __floatunsisf
0x00000644 __floatsisf
.text.avr-libc.fplib
0x000006ba 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)
0x000006ba __fp_inf
.text.avr-libc.fplib
0x000006c6 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)
0x000006c6 __fp_nan
.text.avr-libc.fplib
0x000006cc 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)
0x000006cc __fp_pscA
.text.avr-libc.fplib
0x000006da 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)
0x000006da __fp_pscB
.text.avr-libc.fplib
0x000006e8 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)
0x000006e8 __fp_round
.text.avr-libc.fplib
0x0000070a 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)
0x0000070a __fp_split3
0x0000071a __fp_splitA
.text.avr-libc.fplib
0x0000074e 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)
0x0000074e __fp_zero
0x00000750 __fp_szero
0x000004fe 0x18 ultrasonic_sensor.o
0x000004fe ultrasonic_get_timer_dist
.text.avr-libc
0x0000075c 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)
0x0000075c snprintf
0x00000516 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)
0x00000516 snprintf
.text.avr-libc
0x000007d4 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)
0x000007d4 vfprintf
0x0000058e 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)
0x0000058e vfprintf
.text.avr-libc
0x00000bce 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)
0x00000bce strnlen_P
0x00000988 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)
0x00000988 strnlen_P
.text.avr-libc
0x00000be4 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)
0x00000be4 strnlen
0x0000099e 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)
0x0000099e strnlen
.text.avr-libc
0x00000bfa 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)
0x00000bfa fputc
0x000009b4 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)
0x000009b4 fputc
.text.avr-libc
0x00000c72 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)
0x00000c72 __ultoa_invert
0x00000d2e . = ALIGN (0x2)
0x00000a2c 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)
0x00000a2c __ultoa_invert
0x00000ae8 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000d2e 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)
0x00000d2e _exit
0x00000d2e exit
.fini9 0x00000ae8 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)
0x00000ae8 _exit
0x00000ae8 exit
*(.fini9)
*(.fini8)
*(.fini8)
@@ -538,11 +454,11 @@ END GROUP
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000d2e 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 0x00000ae8 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)
0x00000d32 _etext = .
0x00000aec _etext = .
.data 0x00800100 0x30 load address 0x00000d32
.data 0x00800100 0x22 load address 0x00000aec
0x00800100 PROVIDE (__data_start, .)
*(.data)
*(.data*)
@@ -560,44 +476,42 @@ END GROUP
*(.rodata*)
.rodata.str1.1
0x00800112 0xf lcd_control.o
.rodata.str1.1
0x00800121 0xe main.o
*(.gnu.linkonce.r*)
0x00800130 . = ALIGN (0x2)
*fill* 0x0080012f 0x1
0x00800130 _edata = .
0x00800130 PROVIDE (__data_end, .)
0x00800122 . = ALIGN (0x2)
*fill* 0x00800121 0x1
0x00800122 _edata = .
0x00800122 PROVIDE (__data_end, .)
.bss 0x00800130 0xc
0x00800130 PROVIDE (__bss_start, .)
.bss 0x00800122 0xc
0x00800122 PROVIDE (__bss_start, .)
*(.bss)
*(.bss*)
.bss.stepper_state
0x00800130 0x1 stepper_driver.o
0x00800130 stepper_state
0x00800122 0x1 stepper_driver.o
0x00800122 stepper_state
.bss.steps_to_do
0x00800131 0x2 stepper_driver.o
0x00800131 steps_to_do
0x00800123 0x2 stepper_driver.o
0x00800123 steps_to_do
.bss.steps_each_turn
0x00800133 0x2 stepper_driver.o
0x00800133 steps_each_turn
0x00800125 0x2 stepper_driver.o
0x00800125 steps_each_turn
.bss.timer_dist
0x00800135 0x2 ultrasonic_sensor.o
0x00800127 0x2 ultrasonic_sensor.o
*(COMMON)
COMMON 0x00800137 0x3 stepper_driver.o
0x00800137 rotation
0x00800138 snap_event
COMMON 0x0080013a 0x2 ultrasonic_sensor.o
0x0080013a value_set_event
0x0080013c PROVIDE (__bss_end, .)
0x00000d32 __data_load_start = LOADADDR (.data)
0x00000d62 __data_load_end = (__data_load_start + SIZEOF (.data))
COMMON 0x00800129 0x3 stepper_driver.o
0x00800129 rotation
0x0080012a snap_event
COMMON 0x0080012c 0x2 ultrasonic_sensor.o
0x0080012c value_set_event
0x0080012e PROVIDE (__bss_end, .)
0x00000aec __data_load_start = LOADADDR (.data)
0x00000b0e __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0080013c 0x0
.noinit 0x0080012e 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x0080013c _end = .
0x0080012e _end = .
[!provide] PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
@@ -683,29 +597,29 @@ END GROUP
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x15be
.debug_info 0x00000000 0x15b4
*(.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 0x59a lcd_control.o
.debug_info 0x00000d1a 0x396 main.o
.debug_info 0x000010b0 0x21e stepper_driver.o
.debug_info 0x000012ce 0x2f0 ultrasonic_sensor.o
.debug_info 0x00000780 0x5c0 lcd_control.o
.debug_info 0x00000d40 0x366 main.o
.debug_info 0x000010a6 0x21e stepper_driver.o
.debug_info 0x000012c4 0x2f0 ultrasonic_sensor.o
.debug_abbrev 0x00000000 0xd47
.debug_abbrev 0x00000000 0xd50
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x718 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.debug_abbrev 0x00000718 0x1a4 lcd_control.o
.debug_abbrev 0x000008bc 0x19f main.o
.debug_abbrev 0x00000a5b 0x122 stepper_driver.o
.debug_abbrev 0x00000b7d 0x1ca ultrasonic_sensor.o
.debug_abbrev 0x00000718 0x1bc lcd_control.o
.debug_abbrev 0x000008d4 0x190 main.o
.debug_abbrev 0x00000a64 0x122 stepper_driver.o
.debug_abbrev 0x00000b86 0x1ca ultrasonic_sensor.o
.debug_line 0x00000000 0xaef
.debug_line 0x00000000 0xae5
*(.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 0x1fb main.o
.debug_line 0x000006e1 0x1c6 stepper_driver.o
.debug_line 0x000008a7 0x248 ultrasonic_sensor.o
.debug_line 0x000004e6 0x1f1 main.o
.debug_line 0x000006d7 0x1c6 stepper_driver.o
.debug_line 0x0000089d 0x248 ultrasonic_sensor.o
.debug_frame 0x00000000 0x37c
*(.debug_frame)
@@ -714,24 +628,24 @@ END GROUP
.debug_frame 0x00000230 0xbc stepper_driver.o
.debug_frame 0x000002ec 0x90 ultrasonic_sensor.o
.debug_str 0x00000000 0x7c1
.debug_str 0x00000000 0x772
*(.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 0x28c lcd_control.o
0x2cc (size before relaxing)
.debug_str 0x00000509 0x15b main.o
0x34d (size before relaxing)
.debug_str 0x00000664 0xde stepper_driver.o
.debug_str 0x0000027d 0x2b3 lcd_control.o
0x2f3 (size before relaxing)
.debug_str 0x00000530 0x15b main.o
0x371 (size before relaxing)
.debug_str 0x0000068b 0x68 stepper_driver.o
0x2af (size before relaxing)
.debug_str 0x00000742 0x7f ultrasonic_sensor.o
0x2dc (size before relaxing)
.debug_str 0x000006f3 0x7f ultrasonic_sensor.o
0x303 (size before relaxing)
.debug_loc 0x00000000 0x84f
.debug_loc 0x00000000 0x831
*(.debug_loc)
.debug_loc 0x00000000 0x48f lcd_control.o
.debug_loc 0x0000048f 0x185 main.o
.debug_loc 0x00000614 0x13a stepper_driver.o
.debug_loc 0x0000074e 0x101 ultrasonic_sensor.o
.debug_loc 0x0000048f 0x167 main.o
.debug_loc 0x000005f6 0x13a stepper_driver.o
.debug_loc 0x00000730 0x101 ultrasonic_sensor.o
.debug_macinfo
*(.debug_macinfo)

View File

@@ -1,17 +1,17 @@
S014000045696E646F706472616368742E737265633B
S113000045C0000060C000005EC0000063C1000085
S113000045C0000060C000005EC0000045C10000A3
S11300105AC0000058C0000056C0000054C0000080
S113002052C00000BFC100004EC000004CC0000020
S113002052C0000092C100004EC000004CC000004D
S11300304AC0000048C0000046C0000044C00000A0
S113004042C0000040C000003EC000003CC00000B0
S11300503AC0000038C0000036C0000034C00000C0
S113006032C0000030C000002EC000002CC00000D0
S11300702AC0000028C0000026C0000024C00000E0
S113008022C0000020C000001EC0000011241FBEBA
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E2E3FD
S11300A0FDE000E00BBF02C007900D92A033B10742
S11300B0D9F721E0A0E3B1E001C01D92AC33B2074F
S11300C0E1F72FD134C69CCF9BB321E030E002C0CE
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0ECEEE8
S11300A0FAE000E00BBF02C007900D92A232B10744
S11300B0D9F721E0A2E2B1E001C01D92AE32B2074D
S11300C0E1F711D111C59CCF9BB321E030E002C010
S11300D0220F331F8A95E2F7292B2BBB08959BB37C
S11300E021E030E002C0220F331F8A95E2F7209509
S11300F029232BBB089586E090E0E6DF83EC99E0AA
@@ -27,191 +27,154 @@ S1130180C0E2C5BBB8DFC5BBB6DF80E885BBB3DF63
S113019015BAB1DF80EF85BBAEDF15BAACDF80E600
S11301A085BBA9DF82E0CADFA6DFCF910895CF9394
S11301B0DF93EC0102C0B2DF219688818111FBCF6D
S11301C0DF91CF9108954F925F926F927F928F92B9
S11301D09F92AF92BF92CF92DF92EF92FF920F93D2
S11301E01F93CF93DF93CDB7DEB7D82EC92E942EAD
S11301F0852E762E672E522E432EADB6BEB63F9375
S11302002F937F936F935F934F939F938F930F2EAF
S1130210F5E1EF2EF1E0FF2EF02DFF92EF921F9209
S11302201F921F921F929AD201962DB73EB7225F5A
S11302303F4F0FB6F8943EBF0FBE2DBF281B390B9E
S11302400FB6F8943EBF0FBE2DBF0DB71EB70F5F9C
S11302501F4F4F925F926F927F928F929F92CF9295
S1130260DF92FF92EF929F938F931F930F9376D217
S1130270802F912F9CDF8DB79EB70E960FB6F89402
S11302809EBF0FBE8DBF0FB6F894BEBE0FBEADBEEF
S1130290DF91CF911F910F91FF90EF90DF90CF905E
S11302A0BF90AF909F908F907F906F905F904F9092
S11302B0089520910001222351F00197439738F4C7
S11302C0E0D01092000161E080E092E0CDC008959A
S11302D013C108951F920F920FB60F9211240BB6FB
S11302E00F922F933F934F935F936F937F938F93CB
S11302F09F93AF93BF93EF93FF930BD1FF91EF9134
S1130300BF91AF919F918F917F916F915F914F9129
S11303103F912F910F900BBE0F900FBE0F901F9027
S11303201895DBD026DFAFD088E691E036D089E59A
S113033091E00DD187EA91E60197F1F700C0000042
S11303400DDF60E088E592E08FD008DF05D1BC01C5
S113035080E090E075D120E030E04AE754E408D131
S1130360AB01BC0121E231E084E291E02CDF84E6C0
S113037090E0A4D0EACF90913701911107C0E82F03
S1130380F0E0EF5FFE4F808183B90895E82FF0E03D
S1130390E75FFE4F808183B908959093390180937C
S11303A0380108951F920F920FB60F9211240BB6C5
S11303B00F922F933F934F935F936F937F938F93FA
S11303C09F93AF93BF93EF93FF9314BC809130013D
S11303D0D2DF80913001873020F48F5F8093300129
S11303E030C0109230018091310190913201009718
S11303F099F480913701811104C081E08093370121
S113040002C010923701809133019091340190938E
S113041032018093310115C09C012F713327232BA6
S113042039F4E0913801F0913901309709F00995D8
S11304308091310190913201019790933201809320
S11304403101FF91EF91BF91AF919F918F917F9176
S11304506F915F914F913F912F910F900BBE0F9031
S11304600FBE0F901F901895909332018093310125
S11304709093340180933301609337018CE085BD00
S1130480089515BC08958FEF82B98093640081E0CC
S11304908093650013B886E983BD80E887BF7894AC
S11304A0089520E030E006C043E04A95F1F70000EB
S11304B02F5F3F4F28173907B8F3089520E030E045
S11304C008C0E3ECF9E03197F1F700C000002F5FBA
S11304D03F4F28173907A8F308958FEF80936400DE
S11304E011BA80E380936A0089B7846089BF1FBC16
S11304F08CE08EBD78940895CF93DF93C5E6D0E069
S113050018828AE090E0CDDF81E08883DF91CF918B
S1130510089580911101813041F480E280936A0052
S11305201DBC1CBC10921101089580E380936A00E5
S11305308CB59DB59093360180933501E0913A01D5
S1130540F0913B01099581E0809311010895909306
S11305503B0180933A0108958091350190913601D1
S11305602AEAAC01249FC001259F900D112408950F
S11305700CD0BAC0B2D040F0A9D030F021F45F3F23
S113058019F09BC05111E4C09EC0BFD098F39923C9
S1130590C9F35523B1F3951B550BBB27AA27621743
S11305A07307840738F09F5F5F4F220F331F441F88
S11305B0AA1FA9F333D00E2E3AF0E0E830D09150C0
S11305C05040E695001CCAF729D0FE2F27D0660FAD
S11305D0771F881FBB1F261737074807AB07B0E8EC
S11305E009F0BB0B802DBF01FF2793585F4F2AF002
S11305F09E3F510568F061C0ABC05F3FECF3983E8D
S1130600DCF3869577956795B795F7959F5FC9F75E
S1130610880F911D9695879597F90895E1E0660FE7
S1130620771F881FBB1F621773078407BA0720F060
S1130630621B730B840BBA0BEE1F88F7E0950895C9
S1130640E89409C097FB3EF4909580957095619568
S11306507F4F8F4F9F4F9923A9F0F92F96E9BB271E
S11306609395F695879577956795B795F111F8CF9A
S1130670FAF4BB0F11F460FF1BC06F5F7F4F8F4F05
S11306809F4F16C0882311F096E911C0772321F0FB
S11306909EE8872F762F05C0662371F096E8862F93
S11306A070E060E02AF09A95660F771F881FDAF7EA
S11306B0880F9695879597F9089597F99F6780E82D
S11306C070E060E008959FEF80EC089500240A94A0
S11306D01616170618060906089500240A94121619
S11306E01306140605060895092E0394000C11F44C
S11306F0882352F0BB0F40F4BF2B11F460FF04C0F9
S11307006F5F7F4F8F4F9F4F089557FD9058440F51
S1130710551F59F05F3F71F04795880F97FB991F5C
S113072061F09F3F79F08795089512161306140619
S1130730551FF2CF4695F1DF08C0161617061806A6
S1130740991FF1CF86957105610508940895E89481
S1130750BB2766277727CB0197F908950F931F933B
S1130760CF93DF93CDB7DEB72E970FB6F894DEBFE5
S11307700FBECDBF0D891E898F89988D26E02C83ED
S11307801A83098397FF02C080E090E801979E8353
S11307908D83AE01455E5F4F698D7A8DCE010196E2
S11307A019D04D815E8157FD0AC02F8138854217CB
S11307B053070CF49A01F801E20FF31F10822E96EE
S11307C00FB6F894DEBF0FBECDBFDF91CF911F915E
S11307D00F9108952F923F924F925F926F927F9262
S11307E08F929F92AF92BF92CF92DF92EF92FF923D
S11307F00F931F93CF93DF93CDB7DEB72B970FB62D
S1130800F894DEBF0FBECDBF6C017B018A01FC01F1
S113081017821682838181FFBFC1CE0101963C01FC
S1130820F6019381F70193FD859193FF81917F01F7
S1130830882309F4ADC1853239F493FD859193FF82
S113084081917F01853221F4B60190E0D6D1E8CFC1
S1130850912C212C312CFFE1F315D8F08B3279F057
S113086038F4803279F08332A1F4232D20611DC045
S11308708D3261F0803369F4232D216016C0832DFD
S11308808260382EE32DE4603E2E2AC0F32DF860FA
S11308901DC037FC2DC020ED280F2A3040F08E32C9
S11308A0B9F436FC75C1232D2064322E19C036FEEE
S11308B006C08AE0989E200D1124922E11C0EAE011
S11308C02E9E200D1124222EF32DF0623F2E08C0FF
S11308D08C3621F4832D8068382E02C0883641F48A
S11308E0F70193FD859193FF81917F018111B3CF2E
S11308F0982F9F7D9554933028F40C5F1F4F9FE3EE
S113090099830DC0833631F0833771F0833509F054
S113091055C020C0F801808189830E5F1F4F882451
S11309208394912C530112C02801F2E04F0E511C04
S1130930F801A080B18036FE03C0692D70E002C0CA
S11309406FEF7FEFC5014ED14C018201F32DFF778C
S11309503F2E15C0280122E0420E511CF801A08050
S1130960B18036FE03C0692D70E002C06FEF7FEFE7
S1130970C5012DD14C01F32DF0683F2E820133FCCB
S113098019C0822D90E088169906A0F4B60180E281
S113099090E033D12A94F5CFF50137FC859137FEE9
S11309A081915F01B60190E028D121102A9421E0C1
S11309B0821A91088114910479F7E1C0843611F008
S11309C0893639F5F80137FE07C06081718182816B
S11309D093810C5F1F4F08C060817181072E000C4A
S11309E0880B990B0E5F1F4FF32DFF763F2E97FF59
S11309F009C090958095709561957F4F8F4F9F4F5B
S1130A00F0683F2E2AE030E0A30133D1882E861807
S1130A1044C0853731F4232D2F7EB22E2AE030E0F6
S1130A2025C0932D997FB92E8F36C1F018F48835DF
S1130A3079F0AEC0803719F0883721F0A9C0E92FCA
S1130A40E061BE2EB4FE0DC0FB2DF460BF2E09C0C4
S1130A5034FE0AC0292F2660B22E06C028E030E0FA
S1130A6005C020E130E002C020E132E0F801B7FE29
S1130A7007C060817181828193810C5F1F4F06C022
S1130A806081718180E090E00E5F1F4FA301F1D07F
S1130A90882E8618FB2DFF773F2E36FE0DC0232DA2
S1130AA02E7FA22E891458F434FE0BC032FC09C0E8
S1130AB0832D8E7EA82E05C0B82CA32C03C0B82C81
S1130AC001C0B92CA4FE0FC0FE01E80DF11D808108
S1130AD0803321F49A2D997EA92E09C0A2FE06C066
S1130AE0B394B39404C08A2D867809F0B394A3FC1C
S1130AF010C0A0FE06C0B21480F4280C922C9B18DF
S1130B000DC0B21458F4B60180E290E076D0B394EC
S1130B10F8CFB21418F42B1802C0982C212CA4FE80
S1130B200FC0B60180E390E068D0A2FE16C0A1FC1D
S1130B3003C088E790E002C088E590E0B6010CC0ED
S1130B408A2D867851F0A1FE02C08BE201C080E2BA
S1130B50A7FC8DE2B60190E050D0891430F4B601C0
S1130B6080E390E04AD09A94F8CF8A94F301E80D98
S1130B70F11D8081B60190E040D08110F6CF222093
S1130B8009F44ECEB60180E290E037D02A94F7CF34
S1130B90F6018681978102C08FEF9FEF2B960FB6E7
S1130BA0F894DEBF0FBECDBFDF91CF911F910F919F
S1130BB0FF90EF90DF90CF90BF90AF909F908F9079
S1130BC07F906F905F904F903F902F900895FC011D
S1130BD00590615070400110D8F7809590958E0F64
S1130BE09F1F0895FC016150704001900110D8F7D7
S1130BF0809590958E0F9F1F08950F931F93CF9309
S1130C00DF93FB01238121FD03C08FEF9FEF2CC0F5
S1130C1022FF16C04681578124813581421753072C
S1130C2044F4A081B1819D012F5F3F4F3183208324
S1130C308C93268137812F5F3F4F3783268314C0DF
S1130C408B01EC01FB010084F185E02D0995892BD2
S1130C50E1F6D80116968D919C91179701961796F7
S1130C609C938E931697CE01DF91CF911F910F9194
S1130C700895FA01AA27283051F1203181F1E8942E
S1130C806F936E7F6E5F7F4F8F4F9F4FAF4FB1E07B
S1130C903ED0B4E03CD0670F781F891F9A1FA11D76
S1130CA0680F791F8A1F911DA11D6A0F711D811D77
S1130CB0911DA11D20D009F468943F912AE0269F3C
S1130CC011243019305D3193DEF6CF010895462F9B
S1130CD04770405D4193B3E00FD0C9F7F6CF462F7C
S1130CE04F70405D4A3318F0495D31FD40524193E5
S1130CF002D0A9F7EACFB4E0A695979587957795A2
S1130D006795BA95C9F700976105710508959B0128
S1130D10AC010A2E06945795479537952795BA95B1
S1130D20C9F7620F731F841F951FA01D0895F894BF
S1050D30FFCFEF
S1130D3201080C0406020301090901030206040C5A
S1130D42080125640025733A20252E336620257375
S1130D5200636D0064697374616E63653A20000018
S11301C0DF91CF910895AF92BF92CF92DF92EF92D9
S11301D0FF920F931F93CF93DF93CDB7DEB7D82E43
S11301E0C92EADB6BEB69F938F930F2EF2E1EF2EBC
S11301F0F1E0FF2EF02DFF92EF921F921F921F92BB
S11302001F9289D101962DB73EB7285F3F4F0FB695
S1130210F8943EBF0FBE2DBF281B390B0FB6F894C0
S11302203EBF0FBE2DBF0DB71EB70F5F1F4FCF923E
S1130230DF92FF92EF929F938F931F930F936BD153
S1130240802F912FB4DF8DB79EB708960FB6F89420
S11302509EBF0FBE8DBF0FB6F894BEBE0FBEADBE1F
S1130260DF91CF911F910F91FF90EF90DF90CF908E
S1130270BF90AF90089520910001222351F001977F
S1130280439738F4D1D01092000161E080E092E00D
S1130290BEC0089504C108951F920F920FB60F9225
S11302A011240BB60F922F933F934F935F936F9349
S11302B07F938F939F93AF93BF93EF93FF93FCD060
S11302C0FF91EF91BF91AF919F918F917F916F912A
S11302D05F914F913F912F910F900BBE0F900FBEE6
S11302E00F901F901895CCD044DFA0D08AE491E001
S11302F027D08BE391E0FED087EA91E60197F1F7EE
S113030000C000002BDF60E088E592E080D026DFAB
S1130310F6D059DF84E690E0A4D0F9CF909129017A
S1130320911107C0E82FF0E0EF5FFE4F808183B9A1
S11303300895E82FF0E0E75FFE4F808183B90895C8
S113034090932B0180932A0108951F920F920FB668
S11303500F9211240BB60F922F933F934F935F93F9
S11303606F937F938F939F93AF93BF93EF93FF9379
S113037014BC80912201D2DF80912201873020F4C5
S11303808F5F8093220130C010922201809123015B
S113039090912401009799F480912901811104C05E
S11303A081E08093290102C01092290180912501E6
S11303B090912601909324018093230115C09C0100
S11303C02F713327232B39F4E0912A01F0912B016B
S11303D0309709F0099580912301909124010197A8
S11303E09093240180932301FF91EF91BF91AF91EA
S11303F09F918F917F916F915F914F913F912F9139
S11304000F900BBE0F900FBE0F901F9018959093F6
S11304102401809323019093260180932501609306
S113042029018CE085BD089515BC08958FEF82B92C
S11304308093640081E08093650013B886E983BDEE
S113044080E887BF7894089520E030E006C043E058
S11304504A95F1F700002F5F3F4F28173907B8F38B
S1130460089520E030E008C0E3ECF9E03197F1F7BB
S113047000C000002F5F3F4F28173907A8F30895E5
S11304808FEF8093640011BA80E380936A0089B788
S1130490846089BF1FBC8CE08EBD78940895CF938F
S11304A0DF93C5E6D0E018828AE090E0CDDF81E0FA
S11304B08883DF91CF91089580911101813041F4B7
S11304C080E280936A001DBC1CBC10921101089547
S11304D080E380936A008CB59DB590932801809346
S11304E02701E0912C01F0912D01099581E0809381
S11304F01101089590932D0180932C01089580910A
S11305002701909128012AEAAC01249FC001259F6C
S1130510900D112408950F931F93CF93DF93CDB7BC
S1130520DEB72E970FB6F894DEBF0FBECDBF0D8990
S11305301E898F89988D26E02C831A83098397FF5F
S113054002C080E090E801979E838D83AE01455EF2
S11305505F4F698D7A8DCE01019619D04D815E81F0
S113056057FD0AC02F813885421753070CF49A01AE
S1130570F801E20FF31F10822E960FB6F894DEBF37
S11305800FBECDBFDF91CF911F910F9108952F9290
S11305903F924F925F926F927F928F929F92AF920F
S11305A0BF92CF92DF92EF92FF920F931F93CF935C
S11305B0DF93CDB7DEB72B970FB6F894DEBF0FBE2F
S11305C0CDBF6C017B018A01FC01178216828381F5
S11305D081FFBFC1CE0101963C01F6019381F70171
S11305E093FD859193FF81917F01882309F4ADC127
S11305F0853239F493FD859193FF81917F01853292
S113060021F4B60190E0D6D1E8CF912C212C312CE5
S1130610FFE1F315D8F08B3279F038F4803279F0B9
S11306208332A1F4232D20611DC08D3261F080330B
S113063069F4232D216016C0832D8260382EE32DAA
S1130640E4603E2E2AC0F32DF8601DC037FC2DC097
S113065020ED280F2A3040F08E32B9F436FC75C1F3
S1130660232D2064322E19C036FE06C08AE0989EDF
S1130670200D1124922E11C0EAE02E9E200D11248B
S1130680222EF32DF0623F2E08C08C3621F4832DE8
S11306908068382E02C0883641F4F70193FD8591B5
S11306A093FF81917F018111B3CF982F9F7D955442
S11306B0933028F40C5F1F4F9FE399830DC083365A
S11306C031F0833771F0833509F055C020C0F8014B
S11306D0808189830E5F1F4F88248394912C53015A
S11306E012C02801F2E04F0E511CF801A080B18025
S11306F036FE03C0692D70E002C06FEF7FEFC501C5
S11307004ED14C018201F32DFF773F2E15C02801F5
S113071022E0420E511CF801A080B18036FE03C0D5
S1130720692D70E002C06FEF7FEFC5012DD14C0140
S1130730F32DF0683F2E820133FC19C0822D90E026
S113074088169906A0F4B60180E290E033D12A9489
S1130750F5CFF50137FC859137FE81915F01B60134
S113076090E028D121102A9421E0821A9108811462
S1130770910479F7E1C0843611F0893639F5F8012E
S113078037FE07C060817181828193810C5F1F4FA6
S113079008C060817181072E000C880B990B0E5FD5
S11307A01F4FF32DFF763F2E97FF09C0909580953C
S11307B0709561957F4F8F4F9F4FF0683F2E2AE0D1
S11307C030E0A30133D1882E861844C0853731F434
S11307D0232D2F7EB22E2AE030E025C0932D997F61
S11307E0B92E8F36C1F018F4883579F0AEC0803751
S11307F019F0883721F0A9C0E92FE061BE2EB4FEBC
S11308000DC0FB2DF460BF2E09C034FE0AC0292F91
S11308102660B22E06C028E030E005C020E130E0BA
S113082002C020E132E0F801B7FE07C060817181A7
S1130830828193810C5F1F4F06C06081718180E0CB
S113084090E00E5F1F4FA301F1D0882E8618FB2D78
S1130850FF773F2E36FE0DC0232D2E7FA22E891446
S113086058F434FE0BC032FC09C0832D8E7EA82EB2
S113087005C0B82CA32C03C0B82C01C0B92CA4FE0D
S11308800FC0FE01E80DF11D8081803321F49A2D03
S1130890997EA92E09C0A2FE06C0B394B39404C0E5
S11308A08A2D867809F0B394A3FC10C0A0FE06C07C
S11308B0B21480F4280C922C9B180DC0B21458F476
S11308C0B60180E290E076D0B394F8CFB21418F475
S11308D02B1802C0982C212CA4FE0FC0B60180E373
S11308E090E068D0A2FE16C0A1FC03C088E790E0A7
S11308F002C088E590E0B6010CC08A2D867851F0DC
S1130900A1FE02C08BE201C080E2A7FC8DE2B60129
S113091090E050D0891430F4B60180E390E04AD0DE
S11309209A94F8CF8A94F301E80DF11D8081B60101
S113093090E040D08110F6CF222009F44ECEB601CB
S113094080E290E037D02A94F7CFF6018681978130
S113095002C08FEF9FEF2B960FB6F894DEBF0FBE49
S1130960CDBFDF91CF911F910F91FF90EF90DF905A
S1130970CF90BF90AF909F908F907F906F905F903B
S11309804F903F902F900895FC0105906150704066
S11309900110D8F7809590958E0F9F1F0895FC0144
S11309A06150704001900110D8F7809590958E0F9A
S11309B09F1F08950F931F93CF93DF93FB01238110
S11309C021FD03C08FEF9FEF2CC022FF16C046818C
S11309D05781248135814217530744F4A081B181A2
S11309E09D012F5F3F4F318320838C932681378174
S11309F02F5F3F4F3783268314C08B01EC01FB012B
S1130A000084F185E02D0995892BE1F6D80116962D
S1130A108D919C911797019617969C938E93169798
S1130A20CE01DF91CF911F910F910895FA01AA276A
S1130A30283051F1203181F1E8946F936E7F6E5F1D
S1130A407F4F8F4F9F4FAF4FB1E03ED0B4E03CD0CB
S1130A50670F781F891F9A1FA11D680F791F8A1FAE
S1130A60911DA11D6A0F711D811D911DA11D20D015
S1130A7009F468943F912AE0269F11243019305DCF
S1130A803193DEF6CF010895462F4770405D4193C0
S1130A90B3E00FD0C9F7F6CF462F4F70405D4A330D
S1130AA018F0495D31FD4052419302D0A9F7EACFD5
S1130AB0B4E0A6959795879577956795BA95C9F704
S1130AC000976105710508959B01AC010A2E0694F7
S1130AD05795479537952795BA95C9F7620F731FB0
S10F0AE0841F951FA01D0895F894FFCFFB
S1130AEC01080C0406020301090901030206040CA3
S1130AFC080125640025733A20252E3366202573BE
S1050B0C0000E3
S9030000FC

View File

@@ -15,9 +15,9 @@
void _delay_ms(double __ms);
void lcd_clear() {
lcd_write_command (0x01); //Leeg display
lcd_write_command (0x01); //Clear display
_delay_ms(2);
lcd_write_command (0x80); //Cursor terug naar start
lcd_write_command (0x80); //Cursor back to start
}
void lcd_strobe_lcd_e(void) {

View File

@@ -12,18 +12,33 @@
#define LCD_E 6
#define LCD_RS 4
void _delay_ms(double __ms);
void lcd_strobe_lcd_e(void);
void sbi_portc(int index);
void cbi_portc(int index);
void sbi_porta(int index);
void cbi_porta(int index);
/************************************************************************/
/* inits display in 4 bit mode */
/************************************************************************/
void init_4bits_mode(void);
/************************************************************************/
/* write string to the lcd */
/************************************************************************/
void lcd_write_string(const char *str);
/************************************************************************/
/* write character to the lcd */
/************************************************************************/
void lcd_write_character(unsigned char byte);
/************************************************************************/
/* write command to the lcd */
/************************************************************************/
void lcd_write_command(unsigned char byte);
/************************************************************************/
/* clear the lcd */
/************************************************************************/
void lcd_clear();
/************************************************************************/
/* write int to the lcd */
/************************************************************************/
void lcd_write_int(int number);
/************************************************************************/
/* write double to the lcd */
/************************************************************************/
void lcd_write_double(char prefix[], double number, char suffix[]);

View File

@@ -2,10 +2,16 @@
* Eindopdracht.c
*
* Created: 31-3-2021 09:42:17
* Author : Sem
* Author : Sem, Guilliam and Stijn.
*/
#define F_CPU 10e6
#define ROTAITION_ANGLE 512
// rotation with a little overhead so the starting position wil not miss.
#define INIT_ROTAITION_ANGLE 600
#define MAX_DISTANCE_INIT 20
#define LCD_SET_DELAY 100
#include <avr/io.h>
#include <util/delay.h>
@@ -16,6 +22,7 @@
#include "ultrasonic_sensor.h"
#include "stepper_driver.h"
// if true: in init mode, looking for starting point.
bool initialising = true;
ISR(INT2_vect)
@@ -24,43 +31,49 @@ ISR(INT2_vect)
}
static void snap_event_trigger(uint8_t rotation){
// when X amount of steps are taken, do pulse.
ultrasonic_send_pulse();
}
static void ultrasoon_value_set_event(uint16_t value){
// if the SODAR is initialising, then look for close start object.
if(initialising){
if(value > 0 && value < 20){
if(value > 0 && value < MAX_DISTANCE_INIT){
stepper_rotate_stop();
initialising = false;
stepper_rotate_angle(512, CounterClockWise);
// when found, set the initial rotation.
stepper_rotate_angle(ROTAITION_ANGLE, CounterClockWise);
}
}
}
int main(void)
{
/* Replace with your application code */
// initialize ultrasonic sensor driver.
ultrasonic_init();
// initialize LCD display in 4 bit mode.
init_4bits_mode();
// initialize stepper driver.
init_stepper_driver();
// set the event when a pulse must be sent.
set_snap_event(&snap_event_trigger);
// set a event for when a value has been set from the ultrasonic sensor.
set_value_trigger_event(&ultrasoon_value_set_event);
_delay_ms(10);
lcd_clear();
stepper_rotate_angle(600, ClockWise);
stepper_rotate_angle(INIT_ROTAITION_ANGLE, ClockWise);
while (1)
{
lcd_clear();
double res = ultrasonic_get_timer_dist()/1000.0;
lcd_write_double("distance: ",res,"cm");
// set the ultrasonic value to the lcd.
lcd_write_int(ultrasonic_get_timer_dist());
wait_ms(100);
wait_ms(LCD_SET_DELAY);
}
// stop rotating. (not necessary)
stepper_rotate_stop();
}

View File

@@ -4,8 +4,6 @@
* Created: 10-Mar-21 12:21:47 PM
* Author: lemms
*/
#define F_CPU 10e6
#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>
@@ -16,25 +14,19 @@
#define BIT(x) (1 << (x))
// states for stepper to rotate counterclockwise
uint8_t CCW[8] = {0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};
// states for stepper to rotate clockwise
uint8_t CW[8] = {0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};
/*
Een timer met interupt routine.
in de interump routine een state machine voor de 8 nibbles
elke keer dat de interupt routine wordt geroepen wordt de state
incremented. hier houd je ook een var bij om de relatieve
positie te weten van de stappenmotor.
Nog een timer voor microstepping.
Timers:
timer voor de speed.
stappen van 100ms naar 10ms
prescaler = 255
*/
// value for how many steps each turn.
uint16_t steps_each_turn = 0;
// value for the amount of steps still to do.
uint16_t steps_to_do = 0;
// which of the stepper states is set currently.
uint8_t stepper_state = 0;
// current rotation wise. (CW or CCW)
enum rotation_wise rotation;
void stepper_rotate_full_rotation_CW();
@@ -54,10 +46,8 @@ void set_snap_event(void (*snap_event_p)(uint8_t)){
snap_event = snap_event_p;
}
uint16_t steps_each_turn = 0;
uint16_t steps_to_do = 0;
uint8_t stepper_state = 0;
ISR( TIMER2_COMP_vect ){
TCNT2 = 0;
set_stepper_state(stepper_state);
@@ -65,22 +55,25 @@ ISR( TIMER2_COMP_vect ){
if(stepper_state < 7){
stepper_state++;
} else {
//OCR2 = ADCH;
stepper_state = 0;
if(steps_to_do == 0){
// change rotation if the steps todo is 0.
if(rotation == ClockWise){
rotation = CounterClockWise;
} else {
rotation = ClockWise;
}
// set the steps to do again.
steps_to_do = steps_each_turn;
} else {
if(steps_to_do % 32 == 0){
// if the stepper step value is at a multiplier of 32 then make snap event.
if(steps_to_do % STEPS_EACH_PULSE == 0){
if(snap_event != NULL)
snap_event(steps_to_do);

View File

@@ -11,15 +11,28 @@
#include <stdbool.h>
#define STEPS_EACH_PULSE 32
enum rotation_wise {
ClockWise,
CounterClockWise
};
/************************************************************************/
/* init ports and timers for stepperdriver. */
/************************************************************************/
void init_stepper_driver();
void stepper_rotate(uint16_t steps);
/************************************************************************/
/* set the rotationangle and turn on stepper */
/************************************************************************/
void stepper_rotate_angle(uint16_t steps, enum rotation_wise rot);
/************************************************************************/
/* stepper stop rotating */
/************************************************************************/
void stepper_rotate_stop();
/************************************************************************/
/* set the event for the ultrasonic pulse */
/************************************************************************/
void set_snap_event(void (*snap_event_p)(uint8_t));
#endif /* STEPPER_DRIVER_H_ */

View File

@@ -6,8 +6,24 @@
*/
/************************************************************************/
/* init the ultrasonic sensor driver */
/************************************************************************/
void ultrasonic_init();
/************************************************************************/
/* send a pulse from the ultrasonic sensor */
/************************************************************************/
void ultrasonic_send_pulse();
/************************************************************************/
/* get the value of the timer which equals time taken for sound to */
/* turn */
/************************************************************************/
uint16_t ultrasonic_get_timer_dist();
/************************************************************************/
/* handle for the interrupt */
/************************************************************************/
void ultrasonic_handle_interrupt();
/************************************************************************/
/* set a event for when the ultrasonic has a new value. */
/************************************************************************/
void set_value_trigger_event(void (*value_set_event_p)(uint16_t));