From 45ee9dc411aa8ed5bc18585f17353a671495e051 Mon Sep 17 00:00:00 2001 From: stijn Date: Tue, 6 Apr 2021 15:47:50 +0200 Subject: [PATCH] [fix] code --- .../.vs/Microcontrollers/v14/.atsuo | Bin 90624 -> 104960 bytes .../Eindopdracht/Debug/Eindopdracht.elf | Bin 26768 -> 27284 bytes .../Eindopdracht/Debug/Eindopdracht.hex | 377 ++- .../Eindopdracht/Debug/Eindopdracht.lss | 2920 ++++++++--------- .../Eindopdracht/Debug/Eindopdracht.map | 242 +- .../Eindopdracht/Debug/Eindopdracht.srec | 377 ++- .../Eindopdracht/Debug/lcd_control.o | Bin 16044 -> 17868 bytes Microcontrollers/Eindopdracht/Debug/main.o | Bin 9128 -> 8952 bytes .../Eindopdracht/Debug/stepper_driver.o | Bin 8668 -> 8668 bytes Microcontrollers/Eindopdracht/lcd_control.h | 2 +- Microcontrollers/Eindopdracht/main.c | 4 +- .../Eindopdracht/stepper_driver.c | 2 +- .../Eindopdracht/stepper_driver.h | 2 + .../Eindopdracht/ultrasonic_sensor.c | 2 +- 14 files changed, 1949 insertions(+), 1979 deletions(-) diff --git a/Microcontrollers/.vs/Microcontrollers/v14/.atsuo b/Microcontrollers/.vs/Microcontrollers/v14/.atsuo index cbf4dcc6bfc14c90930d3e2f5f4ec7d56da39aca..76d84f39fc943e6abe2b43bd83345ab927901271 100644 GIT binary patch delta 11066 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 R4N|d4DgN3EaQ|-q{{VIYIFkSX delta 3404 zcmdUxdr;KZ6~}+)$L_M=F7M|`c&ru(@>GhCF|Z&JVvV>c1|N_m+5|HiSGu%-JbhxJ z(fu9ct(n$w)((wnY9ia|wrX{wc4BQhF&Ue5M#r`(Ng3NTYOGNkL%(-jI?QC!)PJ1m zWj=e(J@?+<@80vcKYD*==sly~JvZK{C`t(Ud~9qCLLrcM#6DS#aE{%+@IlUdGzAv_ zeC|*?R15J!72Bg1hdf*dFf+TPkW8sj| zK)x);ZLf;2MCVa3A5;VRfIhc9t7r*2OFAOU7#EEfL@@f>msgRTXgEH9NshTaJfs_^jIv9HSYI- z5kFC|PxOBr`V;*x<0kzt=S%;~IQ$R(Z~Q_41EeqYRQPAnu-#-BSfcMozW| zu*Ja9!B`6SjjKofWhtOjd*h%zzJ{?_`&Nyy6rUNMR1Fw?Xf&{k|X^S^!@@yzz5(%@K-Pjt^@wjq^Tux=?!#} zu!))_PqX z7|d5SYc*GA=IU=_(F|_4E(jxeUCXQCo-3_z<#e6qa*UTBT|;iyA#Bk|IDEKx7rHb1#I=~zw2QtR3E?+s^ocXvC9 z{e4gIs0&hTv6E)YYgNI0EQ+G2ofmB}h>B-u4)<>96{nmOBXZiwu*SaA!z+exMnKIdJuhG8@B@8>K+#~jR zq-9nb<;^7j{g4Smv%RfP*O0MH&I;Q2hBeol?oic$BiNsi`Q@kftWm$<4z{P=yCxp( zK1QB;-2*sVao}vVM($6T6McVi8y;M#s&6UW@chx3n1#wbrBZo3kV`GNJlpu~ef6ST zM`dDq6xlpOah`so=cww@RL^nU@C78yyMJ)_ZFC!_UODXDHoA|zZ(b=5@eEmfR7+#z9s77XiE{;H3X|cHrCZ72 zqno(l(@^i(Ywzd+V|p1`^8Vyz9eK{_hHqUDONxa>UKH{M2$7@U;y+G|`9?O9N_0i0 z;Tvqsw<5YS=$DmBaV?sb2wcr6-sd!p*cN9KHkJG;^3>T+rJ?n2$s0=%RUtH+riwm2 zl@W>8A%=`(@Qh3!iXc^Nj-f@qMM*Rq&$_A{UrrRgs~5I#a`+rc^m3@!?4(+m;FoDc zZsONIzkzHd9Lvb!vsh`!z#siBK}@z%wD`zM^TkhdX~~cM*`)5xqjDcjqaG6WbSe-V z^2jc(PC>bhF{O*|=1~bBxD>ayl+5CiTz)i^G7tKzP=bs6+;=%qbY@YsuX!2OlQ^GC zUl-2B6wCefZS;4h_%h9A)0W%l6)vx1{>45^Z08*MWMF6Gi_RAd8?p-aTvC)vnD>Tg zj3kRVzmZa+pLqPx@22hD7FvA$$dNwl(y1J7UMCjbBd diff --git a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.elf b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.elf index 21ecc6ec90926e5af64064cae6144fe1d8c7e47c..c556a9a5e155699b2b27d7d76db4de2636e0b729 100644 GIT binary patch delta 7382 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 Pt0lONq03%j%Cr0*_n!&% delta 7211 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 diff --git a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.hex b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.hex index d395dd3..825c136 100644 --- a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.hex +++ b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.hex @@ -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 diff --git a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.lss b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.lss index f91d335..0cce056 100644 --- a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.lss +++ b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.lss @@ -3,31 +3,31 @@ Eindopdracht.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .data 0000002a 00800100 00000d18 00000dac 2**0 + 0 .data 0000002a 00800100 00000ce4 00000d78 2**0 CONTENTS, ALLOC, LOAD, DATA - 1 .text 00000d18 00000000 00000000 00000094 2**1 + 1 .text 00000ce4 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .bss 0000000c 0080012a 0080012a 00000dd6 2**0 + 2 .bss 0000000c 0080012a 0080012a 00000da2 2**0 ALLOC - 3 .comment 0000005c 00000000 00000000 00000dd6 2**0 + 3 .comment 0000005c 00000000 00000000 00000da2 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00000e34 2**2 + 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00000e00 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000150 00000000 00000000 00000e70 2**0 + 5 .debug_aranges 00000158 00000000 00000000 00000e3c 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 000015dc 00000000 00000000 00000fc0 2**0 + 6 .debug_info 0000163c 00000000 00000000 00000f94 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00000d50 00000000 00000000 0000259c 2**0 + 7 .debug_abbrev 00000d50 00000000 00000000 000025d0 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 00000ae5 00000000 00000000 000032ec 2**0 + 8 .debug_line 00000b1a 00000000 00000000 00003320 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 0000037c 00000000 00000000 00003dd4 2**2 + 9 .debug_frame 000003cc 00000000 00000000 00003e3c 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 00000772 00000000 00000000 00004150 2**0 + 10 .debug_str 00000787 00000000 00000000 00004208 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00000831 00000000 00000000 000048c2 2**0 + 11 .debug_loc 00000956 00000000 00000000 0000498f 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 00000110 00000000 00000000 000050f3 2**0 + 12 .debug_ranges 00000118 00000000 00000000 000052e5 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -39,7 +39,7 @@ Disassembly of section .text: 6: 00 00 nop 8: 5e c0 rjmp .+188 ; 0xc6 <__bad_interrupt> a: 00 00 nop - c: 63 c1 rjmp .+710 ; 0x2d4 <__vector_3> + c: 4f c1 rjmp .+670 ; 0x2ac <__vector_3> e: 00 00 nop 10: 5a c0 rjmp .+180 ; 0xc6 <__bad_interrupt> 12: 00 00 nop @@ -51,7 +51,7 @@ Disassembly of section .text: 1e: 00 00 nop 20: 52 c0 rjmp .+164 ; 0xc6 <__bad_interrupt> 22: 00 00 nop - 24: b6 c1 rjmp .+876 ; 0x392 <__vector_9> + 24: 9c c1 rjmp .+824 ; 0x35e <__vector_9> 26: 00 00 nop 28: 4e c0 rjmp .+156 ; 0xc6 <__bad_interrupt> 2a: 00 00 nop @@ -116,8 +116,8 @@ Disassembly of section .text: 98: 11 e0 ldi r17, 0x01 ; 1 9a: a0 e0 ldi r26, 0x00 ; 0 9c: b1 e0 ldi r27, 0x01 ; 1 - 9e: e8 e1 ldi r30, 0x18 ; 24 - a0: fd e0 ldi r31, 0x0D ; 13 + 9e: e4 ee ldi r30, 0xE4 ; 228 + a0: fc e0 ldi r31, 0x0C ; 12 a2: 00 e0 ldi r16, 0x00 ; 0 a4: 0b bf out 0x3b, r16 ; 59 a6: 02 c0 rjmp .+4 ; 0xac <__do_copy_data+0x14> @@ -140,17 +140,17 @@ Disassembly of section .text: bc: a6 33 cpi r26, 0x36 ; 54 be: b2 07 cpc r27, r18 c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop> - c2: 2f d1 rcall .+606 ; 0x322
- c4: 27 c6 rjmp .+3150 ; 0xd14 <_exit> + c2: 1b d1 rcall .+566 ; 0x2fa
+ c4: 0d c6 rjmp .+3098 ; 0xce0 <_exit> 000000c6 <__bad_interrupt>: c6: 9c cf rjmp .-200 ; 0x0 <__vectors> 000000c8 : { - int length = snprintf(NULL, 0, "%d", number); + int length = snprintf(NULL, 0, "%s: %.3f %s", prefix, number, suffix); char str[length + 1]; - snprintf(str, length + 1, "%d", number); + snprintf(str, length + 1, "%s: %.3f %s", prefix, number, suffix); lcd_write_string(str); } c8: 9b b3 in r25, 0x1b ; 27 @@ -295,1727 +295,1701 @@ Disassembly of section .text: 1c2: cf 91 pop r28 1c4: 08 95 ret -000001c6 : +000001c6 : -void lcd_write_double(char prefix[], double number, char suffix[]) +void lcd_write_ultrasonic_value(float number) { - 1c6: 4f 92 push r4 - 1c8: 5f 92 push r5 - 1ca: 6f 92 push r6 - 1cc: 7f 92 push r7 - 1ce: 8f 92 push r8 - 1d0: 9f 92 push r9 - 1d2: af 92 push r10 - 1d4: bf 92 push r11 - 1d6: cf 92 push r12 - 1d8: df 92 push r13 - 1da: ef 92 push r14 - 1dc: ff 92 push r15 - 1de: 0f 93 push r16 - 1e0: 1f 93 push r17 - 1e2: cf 93 push r28 - 1e4: df 93 push r29 - 1e6: cd b7 in r28, 0x3d ; 61 - 1e8: de b7 in r29, 0x3e ; 62 - 1ea: d8 2e mov r13, r24 - 1ec: c9 2e mov r12, r25 - 1ee: 94 2e mov r9, r20 - 1f0: 85 2e mov r8, r21 - 1f2: 76 2e mov r7, r22 - 1f4: 67 2e mov r6, r23 - 1f6: 52 2e mov r5, r18 - 1f8: 43 2e mov r4, r19 - int length = snprintf(NULL, 0, "%s: %.3f %s", prefix, number, suffix); + 1c6: 8f 92 push r8 + 1c8: 9f 92 push r9 + 1ca: af 92 push r10 + 1cc: bf 92 push r11 + 1ce: cf 92 push r12 + 1d0: df 92 push r13 + 1d2: ef 92 push r14 + 1d4: ff 92 push r15 + 1d6: 0f 93 push r16 + 1d8: 1f 93 push r17 + 1da: cf 93 push r28 + 1dc: df 93 push r29 + 1de: cd b7 in r28, 0x3d ; 61 + 1e0: de b7 in r29, 0x3e ; 62 + 1e2: d6 2e mov r13, r22 + 1e4: c7 2e mov r12, r23 + 1e6: 98 2e mov r9, r24 + 1e8: 89 2e mov r8, r25 + int length = snprintf(NULL, 0, "%f CM", number); char str[length + 1]; - snprintf(str, length + 1, "%s: %.3f %s", prefix, number, suffix); + snprintf(str, length + 1, "%f CM", number); lcd_write_string(str); } - 1fa: ad b6 in r10, 0x3d ; 61 - 1fc: be b6 in r11, 0x3e ; 62 + 1ea: ad b6 in r10, 0x3d ; 61 + 1ec: be b6 in r11, 0x3e ; 62 lcd_write_string(str); } -void lcd_write_double(char prefix[], double number, char suffix[]) +void lcd_write_ultrasonic_value(float number) { - int length = snprintf(NULL, 0, "%s: %.3f %s", prefix, number, suffix); - 1fe: 3f 93 push r19 - 200: 2f 93 push r18 - 202: 7f 93 push r23 - 204: 6f 93 push r22 - 206: 5f 93 push r21 - 208: 4f 93 push r20 - 20a: 9f 93 push r25 - 20c: 8f 93 push r24 - 20e: 0f 2e mov r0, r31 - 210: f5 e1 ldi r31, 0x15 ; 21 - 212: ef 2e mov r14, r31 - 214: f1 e0 ldi r31, 0x01 ; 1 - 216: ff 2e mov r15, r31 - 218: f0 2d mov r31, r0 - 21a: ff 92 push r15 - 21c: ef 92 push r14 - 21e: 1f 92 push r1 - 220: 1f 92 push r1 - 222: 1f 92 push r1 - 224: 1f 92 push r1 - 226: 8d d2 rcall .+1306 ; 0x742 + int length = snprintf(NULL, 0, "%f CM", number); + 1ee: 9f 93 push r25 + 1f0: 8f 93 push r24 + 1f2: 7f 93 push r23 + 1f4: 6f 93 push r22 + 1f6: 0f 2e mov r0, r31 + 1f8: f1 e2 ldi r31, 0x21 ; 33 + 1fa: ef 2e mov r14, r31 + 1fc: f1 e0 ldi r31, 0x01 ; 1 + 1fe: ff 2e mov r15, r31 + 200: f0 2d mov r31, r0 + 202: ff 92 push r15 + 204: ef 92 push r14 + 206: 1f 92 push r1 + 208: 1f 92 push r1 + 20a: 1f 92 push r1 + 20c: 1f 92 push r1 + 20e: 7f d2 rcall .+1278 ; 0x70e char str[length + 1]; - 228: 01 96 adiw r24, 0x01 ; 1 - 22a: 2d b7 in r18, 0x3d ; 61 - 22c: 3e b7 in r19, 0x3e ; 62 - 22e: 22 5f subi r18, 0xF2 ; 242 - 230: 3f 4f sbci r19, 0xFF ; 255 - 232: 0f b6 in r0, 0x3f ; 63 - 234: f8 94 cli - 236: 3e bf out 0x3e, r19 ; 62 - 238: 0f be out 0x3f, r0 ; 63 - 23a: 2d bf out 0x3d, r18 ; 61 - 23c: 28 1b sub r18, r24 - 23e: 39 0b sbc r19, r25 - 240: 0f b6 in r0, 0x3f ; 63 - 242: f8 94 cli - 244: 3e bf out 0x3e, r19 ; 62 - 246: 0f be out 0x3f, r0 ; 63 - 248: 2d bf out 0x3d, r18 ; 61 - 24a: 0d b7 in r16, 0x3d ; 61 - 24c: 1e b7 in r17, 0x3e ; 62 - 24e: 0f 5f subi r16, 0xFF ; 255 - 250: 1f 4f sbci r17, 0xFF ; 255 - snprintf(str, length + 1, "%s: %.3f %s", prefix, number, suffix); - 252: 4f 92 push r4 - 254: 5f 92 push r5 - 256: 6f 92 push r6 - 258: 7f 92 push r7 - 25a: 8f 92 push r8 - 25c: 9f 92 push r9 - 25e: cf 92 push r12 - 260: df 92 push r13 - 262: ff 92 push r15 - 264: ef 92 push r14 - 266: 9f 93 push r25 - 268: 8f 93 push r24 - 26a: 1f 93 push r17 - 26c: 0f 93 push r16 - 26e: 69 d2 rcall .+1234 ; 0x742 + 210: 01 96 adiw r24, 0x01 ; 1 + 212: 2d b7 in r18, 0x3d ; 61 + 214: 3e b7 in r19, 0x3e ; 62 + 216: 26 5f subi r18, 0xF6 ; 246 + 218: 3f 4f sbci r19, 0xFF ; 255 + 21a: 0f b6 in r0, 0x3f ; 63 + 21c: f8 94 cli + 21e: 3e bf out 0x3e, r19 ; 62 + 220: 0f be out 0x3f, r0 ; 63 + 222: 2d bf out 0x3d, r18 ; 61 + 224: 28 1b sub r18, r24 + 226: 39 0b sbc r19, r25 + 228: 0f b6 in r0, 0x3f ; 63 + 22a: f8 94 cli + 22c: 3e bf out 0x3e, r19 ; 62 + 22e: 0f be out 0x3f, r0 ; 63 + 230: 2d bf out 0x3d, r18 ; 61 + 232: 0d b7 in r16, 0x3d ; 61 + 234: 1e b7 in r17, 0x3e ; 62 + 236: 0f 5f subi r16, 0xFF ; 255 + 238: 1f 4f sbci r17, 0xFF ; 255 + snprintf(str, length + 1, "%f CM", number); + 23a: 8f 92 push r8 + 23c: 9f 92 push r9 + 23e: cf 92 push r12 + 240: df 92 push r13 + 242: ff 92 push r15 + 244: ef 92 push r14 + 246: 9f 93 push r25 + 248: 8f 93 push r24 + 24a: 1f 93 push r17 + 24c: 0f 93 push r16 + 24e: 5f d2 rcall .+1214 ; 0x70e lcd_write_string(str); - 270: 80 2f mov r24, r16 - 272: 91 2f mov r25, r17 - 274: 9c df rcall .-200 ; 0x1ae + 250: 80 2f mov r24, r16 + 252: 91 2f mov r25, r17 + 254: ac df rcall .-168 ; 0x1ae } - 276: 8d b7 in r24, 0x3d ; 61 - 278: 9e b7 in r25, 0x3e ; 62 - 27a: 0e 96 adiw r24, 0x0e ; 14 - 27c: 0f b6 in r0, 0x3f ; 63 - 27e: f8 94 cli - 280: 9e bf out 0x3e, r25 ; 62 - 282: 0f be out 0x3f, r0 ; 63 - 284: 8d bf out 0x3d, r24 ; 61 - 286: 0f b6 in r0, 0x3f ; 63 - 288: f8 94 cli - 28a: be be out 0x3e, r11 ; 62 - 28c: 0f be out 0x3f, r0 ; 63 - 28e: ad be out 0x3d, r10 ; 61 - 290: df 91 pop r29 - 292: cf 91 pop r28 - 294: 1f 91 pop r17 - 296: 0f 91 pop r16 - 298: ff 90 pop r15 - 29a: ef 90 pop r14 - 29c: df 90 pop r13 - 29e: cf 90 pop r12 - 2a0: bf 90 pop r11 - 2a2: af 90 pop r10 - 2a4: 9f 90 pop r9 - 2a6: 8f 90 pop r8 - 2a8: 7f 90 pop r7 - 2aa: 6f 90 pop r6 - 2ac: 5f 90 pop r5 - 2ae: 4f 90 pop r4 - 2b0: 08 95 ret + 256: 8d b7 in r24, 0x3d ; 61 + 258: 9e b7 in r25, 0x3e ; 62 + 25a: 0a 96 adiw r24, 0x0a ; 10 + 25c: 0f b6 in r0, 0x3f ; 63 + 25e: f8 94 cli + 260: 9e bf out 0x3e, r25 ; 62 + 262: 0f be out 0x3f, r0 ; 63 + 264: 8d bf out 0x3d, r24 ; 61 + 266: 0f b6 in r0, 0x3f ; 63 + 268: f8 94 cli + 26a: be be out 0x3e, r11 ; 62 + 26c: 0f be out 0x3f, r0 ; 63 + 26e: ad be out 0x3d, r10 ; 61 + 270: df 91 pop r29 + 272: cf 91 pop r28 + 274: 1f 91 pop r17 + 276: 0f 91 pop r16 + 278: ff 90 pop r15 + 27a: ef 90 pop r14 + 27c: df 90 pop r13 + 27e: cf 90 pop r12 + 280: bf 90 pop r11 + 282: af 90 pop r10 + 284: 9f 90 pop r9 + 286: 8f 90 pop r8 + 288: 08 95 ret -000002b2 : +0000028a : 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){ - 2b2: 20 91 00 01 lds r18, 0x0100 ; 0x800100 <__DATA_REGION_ORIGIN__> - 2b6: 22 23 and r18, r18 - 2b8: 51 f0 breq .+20 ; 0x2ce + 28a: 20 91 00 01 lds r18, 0x0100 ; 0x800100 <__DATA_REGION_ORIGIN__> + 28e: 22 23 and r18, r18 + 290: 51 f0 breq .+20 ; 0x2a6 if(value > 0 && value < MAX_DISTANCE_INIT){ - 2ba: 01 97 sbiw r24, 0x01 ; 1 - 2bc: 43 97 sbiw r24, 0x13 ; 19 - 2be: 38 f4 brcc .+14 ; 0x2ce + 292: 01 97 sbiw r24, 0x01 ; 1 + 294: 43 97 sbiw r24, 0x13 ; 19 + 296: 38 f4 brcc .+14 ; 0x2a6 stepper_rotate_stop(); - 2c0: d7 d0 rcall .+430 ; 0x470 + 298: d1 d0 rcall .+418 ; 0x43c initialising = false; - 2c2: 10 92 00 01 sts 0x0100, r1 ; 0x800100 <__DATA_REGION_ORIGIN__> + 29a: 10 92 00 01 sts 0x0100, r1 ; 0x800100 <__DATA_REGION_ORIGIN__> // when found, set the initial rotation. stepper_rotate_angle(ROTAITION_ANGLE, CounterClockWise); - 2c6: 61 e0 ldi r22, 0x01 ; 1 - 2c8: 80 e0 ldi r24, 0x00 ; 0 - 2ca: 92 e0 ldi r25, 0x02 ; 2 - 2cc: c4 c0 rjmp .+392 ; 0x456 - 2ce: 08 95 ret + 29e: 61 e0 ldi r22, 0x01 ; 1 + 2a0: 80 e0 ldi r24, 0x00 ; 0 + 2a2: 92 e0 ldi r25, 0x02 ; 2 + 2a4: be c0 rjmp .+380 ; 0x422 + 2a6: 08 95 ret -000002d0 : +000002a8 : ultrasonic_handle_interrupt(); } static void snap_event_trigger(uint8_t rotation){ // when X amount of steps are taken, do pulse. ultrasonic_send_pulse(); - 2d0: 0a c1 rjmp .+532 ; 0x4e6 - 2d2: 08 95 ret + 2a8: 04 c1 rjmp .+520 ; 0x4b2 + 2aa: 08 95 ret -000002d4 <__vector_3>: +000002ac <__vector_3>: // if true: in init mode, looking for starting point. bool initialising = true; ISR(INT2_vect) { - 2d4: 1f 92 push r1 - 2d6: 0f 92 push r0 - 2d8: 0f b6 in r0, 0x3f ; 63 - 2da: 0f 92 push r0 - 2dc: 11 24 eor r1, r1 - 2de: 0b b6 in r0, 0x3b ; 59 - 2e0: 0f 92 push r0 - 2e2: 2f 93 push r18 - 2e4: 3f 93 push r19 - 2e6: 4f 93 push r20 - 2e8: 5f 93 push r21 - 2ea: 6f 93 push r22 - 2ec: 7f 93 push r23 - 2ee: 8f 93 push r24 - 2f0: 9f 93 push r25 - 2f2: af 93 push r26 - 2f4: bf 93 push r27 - 2f6: ef 93 push r30 - 2f8: ff 93 push r31 + 2ac: 1f 92 push r1 + 2ae: 0f 92 push r0 + 2b0: 0f b6 in r0, 0x3f ; 63 + 2b2: 0f 92 push r0 + 2b4: 11 24 eor r1, r1 + 2b6: 0b b6 in r0, 0x3b ; 59 + 2b8: 0f 92 push r0 + 2ba: 2f 93 push r18 + 2bc: 3f 93 push r19 + 2be: 4f 93 push r20 + 2c0: 5f 93 push r21 + 2c2: 6f 93 push r22 + 2c4: 7f 93 push r23 + 2c6: 8f 93 push r24 + 2c8: 9f 93 push r25 + 2ca: af 93 push r26 + 2cc: bf 93 push r27 + 2ce: ef 93 push r30 + 2d0: ff 93 push r31 ultrasonic_handle_interrupt(); - 2fa: 02 d1 rcall .+516 ; 0x500 + 2d2: fc d0 rcall .+504 ; 0x4cc } - 2fc: ff 91 pop r31 - 2fe: ef 91 pop r30 - 300: bf 91 pop r27 - 302: af 91 pop r26 - 304: 9f 91 pop r25 - 306: 8f 91 pop r24 - 308: 7f 91 pop r23 - 30a: 6f 91 pop r22 - 30c: 5f 91 pop r21 - 30e: 4f 91 pop r20 - 310: 3f 91 pop r19 - 312: 2f 91 pop r18 - 314: 0f 90 pop r0 - 316: 0b be out 0x3b, r0 ; 59 - 318: 0f 90 pop r0 - 31a: 0f be out 0x3f, r0 ; 63 - 31c: 0f 90 pop r0 - 31e: 1f 90 pop r1 - 320: 18 95 reti + 2d4: ff 91 pop r31 + 2d6: ef 91 pop r30 + 2d8: bf 91 pop r27 + 2da: af 91 pop r26 + 2dc: 9f 91 pop r25 + 2de: 8f 91 pop r24 + 2e0: 7f 91 pop r23 + 2e2: 6f 91 pop r22 + 2e4: 5f 91 pop r21 + 2e6: 4f 91 pop r20 + 2e8: 3f 91 pop r19 + 2ea: 2f 91 pop r18 + 2ec: 0f 90 pop r0 + 2ee: 0b be out 0x3b, r0 ; 59 + 2f0: 0f 90 pop r0 + 2f2: 0f be out 0x3f, r0 ; 63 + 2f4: 0f 90 pop r0 + 2f6: 1f 90 pop r1 + 2f8: 18 95 reti -00000322
: +000002fa
: } int main(void) { // initialize ultrasonic sensor driver. ultrasonic_init(); - 322: d2 d0 rcall .+420 ; 0x4c8 + 2fa: cc d0 rcall .+408 ; 0x494 // initialize LCD display in 4 bit mode. init_4bits_mode(); - 324: 26 df rcall .-436 ; 0x172 + 2fc: 3a df rcall .-396 ; 0x172 // initialize stepper driver. init_stepper_driver(); - 326: a6 d0 rcall .+332 ; 0x474 + 2fe: a0 d0 rcall .+320 ; 0x440 // set the event when a pulse must be sent. set_snap_event(&snap_event_trigger); - 328: 88 e6 ldi r24, 0x68 ; 104 - 32a: 91 e0 ldi r25, 0x01 ; 1 - 32c: 2d d0 rcall .+90 ; 0x388 + 300: 84 e5 ldi r24, 0x54 ; 84 + 302: 91 e0 ldi r25, 0x01 ; 1 + 304: 27 d0 rcall .+78 ; 0x354 // set a event for when a value has been set from the ultrasonic sensor. set_value_trigger_event(&ultrasoon_value_set_event); - 32e: 89 e5 ldi r24, 0x59 ; 89 - 330: 91 e0 ldi r25, 0x01 ; 1 - 332: 04 d1 rcall .+520 ; 0x53c - 334: 87 ea ldi r24, 0xA7 ; 167 + 306: 85 e4 ldi r24, 0x45 ; 69 + 308: 91 e0 ldi r25, 0x01 ; 1 + 30a: fe d0 rcall .+508 ; 0x508 + 30c: 87 ea ldi r24, 0xA7 ; 167 #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); - 336: 91 e6 ldi r25, 0x61 ; 97 - 338: 01 97 sbiw r24, 0x01 ; 1 - 33a: f1 f7 brne .-4 ; 0x338 - 33c: 00 c0 rjmp .+0 ; 0x33e - 33e: 00 00 nop + 30e: 91 e6 ldi r25, 0x61 ; 97 + 310: 01 97 sbiw r24, 0x01 ; 1 + 312: f1 f7 brne .-4 ; 0x310 + 314: 00 c0 rjmp .+0 ; 0x316 + 316: 00 00 nop _delay_ms(10); lcd_clear(); - 340: 0d df rcall .-486 ; 0x15c + 318: 21 df rcall .-446 ; 0x15c stepper_rotate_angle(INIT_ROTAITION_ANGLE, ClockWise); - 342: 60 e0 ldi r22, 0x00 ; 0 - 344: 88 e5 ldi r24, 0x58 ; 88 - 346: 92 e0 ldi r25, 0x02 ; 2 - 348: 86 d0 rcall .+268 ; 0x456 - 34a: 08 df rcall .-496 ; 0x15c + 31a: 60 e0 ldi r22, 0x00 ; 0 + 31c: 88 e5 ldi r24, 0x58 ; 88 + 31e: 92 e0 ldi r25, 0x02 ; 2 while (1) { lcd_clear(); - 34c: fc d0 rcall .+504 ; 0x546 + 320: 80 d0 rcall .+256 ; 0x422 + 322: 1c df rcall .-456 ; 0x15c // set the ultrasonic value to the lcd. - lcd_write_double("dist" ,ultrasonic_get_timer_dist(), "cm"); - 34e: ab 01 movw r20, r22 - 350: bc 01 movw r22, r24 - 352: 21 e2 ldi r18, 0x21 ; 33 - 354: 31 e0 ldi r19, 0x01 ; 1 - 356: 84 e2 ldi r24, 0x24 ; 36 - 358: 91 e0 ldi r25, 0x01 ; 1 - 35a: 35 df rcall .-406 ; 0x1c6 - 35c: 84 e6 ldi r24, 0x64 ; 100 - 35e: 90 e0 ldi r25, 0x00 ; 0 + lcd_write_ultrasonic_value(ultrasonic_get_timer_dist()); + 324: f6 d0 rcall .+492 ; 0x512 + 326: 4f df rcall .-354 ; 0x1c6 + 328: 84 e6 ldi r24, 0x64 ; 100 + 32a: 90 e0 ldi r25, 0x00 ; 0 wait_ms(LCD_SET_DELAY); - 360: a4 d0 rcall .+328 ; 0x4aa - 362: f3 cf rjmp .-26 ; 0x34a + 32c: a4 d0 rcall .+328 ; 0x476 + 32e: f9 cf rjmp .-14 ; 0x322 -00000364 : +00000330 : void stepper_rotate_full_rotation_CW(); void stepper_rotate_full_rotation_CCW(); void set_stepper_state(uint8_t count){ if(rotation == ClockWise){ - 364: 90 91 31 01 lds r25, 0x0131 ; 0x800131 - 368: 91 11 cpse r25, r1 - 36a: 07 c0 rjmp .+14 ; 0x37a + 330: 90 91 31 01 lds r25, 0x0131 ; 0x800131 + 334: 91 11 cpse r25, r1 + 336: 07 c0 rjmp .+14 ; 0x346 PORTE = CW[count]; - 36c: e8 2f mov r30, r24 - 36e: f0 e0 ldi r31, 0x00 ; 0 - 370: ef 5f subi r30, 0xFF ; 255 - 372: fe 4f sbci r31, 0xFE ; 254 - 374: 80 81 ld r24, Z - 376: 83 b9 out 0x03, r24 ; 3 - 378: 08 95 ret + 338: e8 2f mov r30, r24 + 33a: f0 e0 ldi r31, 0x00 ; 0 + 33c: ef 5f subi r30, 0xFF ; 255 + 33e: fe 4f sbci r31, 0xFE ; 254 + 340: 80 81 ld r24, Z + 342: 83 b9 out 0x03, r24 ; 3 + 344: 08 95 ret } else { PORTE = CCW[count]; - 37a: e8 2f mov r30, r24 - 37c: f0 e0 ldi r31, 0x00 ; 0 - 37e: e7 5f subi r30, 0xF7 ; 247 - 380: fe 4f sbci r31, 0xFE ; 254 - 382: 80 81 ld r24, Z - 384: 83 b9 out 0x03, r24 ; 3 - 386: 08 95 ret + 346: e8 2f mov r30, r24 + 348: f0 e0 ldi r31, 0x00 ; 0 + 34a: e7 5f subi r30, 0xF7 ; 247 + 34c: fe 4f sbci r31, 0xFE ; 254 + 34e: 80 81 ld r24, Z + 350: 83 b9 out 0x03, r24 ; 3 + 352: 08 95 ret -00000388 : +00000354 : } void (*snap_event)(uint8_t); void set_snap_event(void (*snap_event_p)(uint8_t)){ snap_event = snap_event_p; - 388: 90 93 33 01 sts 0x0133, r25 ; 0x800133 - 38c: 80 93 32 01 sts 0x0132, r24 ; 0x800132 - 390: 08 95 ret + 354: 90 93 33 01 sts 0x0133, r25 ; 0x800133 + 358: 80 93 32 01 sts 0x0132, r24 ; 0x800132 + 35c: 08 95 ret -00000392 <__vector_9>: +0000035e <__vector_9>: } ISR( TIMER2_COMP_vect ){ - 392: 1f 92 push r1 - 394: 0f 92 push r0 - 396: 0f b6 in r0, 0x3f ; 63 - 398: 0f 92 push r0 - 39a: 11 24 eor r1, r1 - 39c: 0b b6 in r0, 0x3b ; 59 - 39e: 0f 92 push r0 - 3a0: 2f 93 push r18 - 3a2: 3f 93 push r19 - 3a4: 4f 93 push r20 - 3a6: 5f 93 push r21 - 3a8: 6f 93 push r22 - 3aa: 7f 93 push r23 - 3ac: 8f 93 push r24 - 3ae: 9f 93 push r25 - 3b0: af 93 push r26 - 3b2: bf 93 push r27 - 3b4: ef 93 push r30 - 3b6: ff 93 push r31 + 35e: 1f 92 push r1 + 360: 0f 92 push r0 + 362: 0f b6 in r0, 0x3f ; 63 + 364: 0f 92 push r0 + 366: 11 24 eor r1, r1 + 368: 0b b6 in r0, 0x3b ; 59 + 36a: 0f 92 push r0 + 36c: 2f 93 push r18 + 36e: 3f 93 push r19 + 370: 4f 93 push r20 + 372: 5f 93 push r21 + 374: 6f 93 push r22 + 376: 7f 93 push r23 + 378: 8f 93 push r24 + 37a: 9f 93 push r25 + 37c: af 93 push r26 + 37e: bf 93 push r27 + 380: ef 93 push r30 + 382: ff 93 push r31 TCNT2 = 0; - 3b8: 14 bc out 0x24, r1 ; 36 + 384: 14 bc out 0x24, r1 ; 36 set_stepper_state(stepper_state); - 3ba: 80 91 2a 01 lds r24, 0x012A ; 0x80012a <__data_end> - 3be: d2 df rcall .-92 ; 0x364 + 386: 80 91 2a 01 lds r24, 0x012A ; 0x80012a <__data_end> + 38a: d2 df rcall .-92 ; 0x330 if(stepper_state < 7){ - 3c0: 80 91 2a 01 lds r24, 0x012A ; 0x80012a <__data_end> - 3c4: 87 30 cpi r24, 0x07 ; 7 - 3c6: 20 f4 brcc .+8 ; 0x3d0 <__vector_9+0x3e> + 38c: 80 91 2a 01 lds r24, 0x012A ; 0x80012a <__data_end> + 390: 87 30 cpi r24, 0x07 ; 7 + 392: 20 f4 brcc .+8 ; 0x39c <__vector_9+0x3e> stepper_state++; - 3c8: 8f 5f subi r24, 0xFF ; 255 - 3ca: 80 93 2a 01 sts 0x012A, r24 ; 0x80012a <__data_end> - 3ce: 30 c0 rjmp .+96 ; 0x430 <__LOCK_REGION_LENGTH__+0x30> + 394: 8f 5f subi r24, 0xFF ; 255 + 396: 80 93 2a 01 sts 0x012A, r24 ; 0x80012a <__data_end> + 39a: 30 c0 rjmp .+96 ; 0x3fc <__vector_9+0x9e> } else { stepper_state = 0; - 3d0: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <__data_end> + 39c: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <__data_end> if(steps_to_do == 0){ - 3d4: 80 91 2b 01 lds r24, 0x012B ; 0x80012b - 3d8: 90 91 2c 01 lds r25, 0x012C ; 0x80012c - 3dc: 00 97 sbiw r24, 0x00 ; 0 - 3de: 99 f4 brne .+38 ; 0x406 <__LOCK_REGION_LENGTH__+0x6> + 3a0: 80 91 2b 01 lds r24, 0x012B ; 0x80012b + 3a4: 90 91 2c 01 lds r25, 0x012C ; 0x80012c + 3a8: 00 97 sbiw r24, 0x00 ; 0 + 3aa: 99 f4 brne .+38 ; 0x3d2 <__vector_9+0x74> // change rotation if the steps todo is 0. if(rotation == ClockWise){ - 3e0: 80 91 31 01 lds r24, 0x0131 ; 0x800131 - 3e4: 81 11 cpse r24, r1 - 3e6: 04 c0 rjmp .+8 ; 0x3f0 <__vector_9+0x5e> + 3ac: 80 91 31 01 lds r24, 0x0131 ; 0x800131 + 3b0: 81 11 cpse r24, r1 + 3b2: 04 c0 rjmp .+8 ; 0x3bc <__vector_9+0x5e> rotation = CounterClockWise; - 3e8: 81 e0 ldi r24, 0x01 ; 1 - 3ea: 80 93 31 01 sts 0x0131, r24 ; 0x800131 - 3ee: 02 c0 rjmp .+4 ; 0x3f4 <__vector_9+0x62> + 3b4: 81 e0 ldi r24, 0x01 ; 1 + 3b6: 80 93 31 01 sts 0x0131, r24 ; 0x800131 + 3ba: 02 c0 rjmp .+4 ; 0x3c0 <__vector_9+0x62> } else { rotation = ClockWise; - 3f0: 10 92 31 01 sts 0x0131, r1 ; 0x800131 + 3bc: 10 92 31 01 sts 0x0131, r1 ; 0x800131 } // set the steps to do again. steps_to_do = steps_each_turn; - 3f4: 80 91 2d 01 lds r24, 0x012D ; 0x80012d - 3f8: 90 91 2e 01 lds r25, 0x012E ; 0x80012e - 3fc: 90 93 2c 01 sts 0x012C, r25 ; 0x80012c - 400: 80 93 2b 01 sts 0x012B, r24 ; 0x80012b - 404: 15 c0 rjmp .+42 ; 0x430 <__LOCK_REGION_LENGTH__+0x30> + 3c0: 80 91 2d 01 lds r24, 0x012D ; 0x80012d + 3c4: 90 91 2e 01 lds r25, 0x012E ; 0x80012e + 3c8: 90 93 2c 01 sts 0x012C, r25 ; 0x80012c + 3cc: 80 93 2b 01 sts 0x012B, r24 ; 0x80012b + 3d0: 15 c0 rjmp .+42 ; 0x3fc <__vector_9+0x9e> } else { // if the stepper step value is at a multiplier of 32 then make snap event. if(steps_to_do % STEPS_EACH_PULSE == 0){ - 406: 9c 01 movw r18, r24 - 408: 2f 71 andi r18, 0x1F ; 31 - 40a: 33 27 eor r19, r19 - 40c: 23 2b or r18, r19 - 40e: 39 f4 brne .+14 ; 0x41e <__LOCK_REGION_LENGTH__+0x1e> + 3d2: 9c 01 movw r18, r24 + 3d4: 2f 71 andi r18, 0x1F ; 31 + 3d6: 33 27 eor r19, r19 + 3d8: 23 2b or r18, r19 + 3da: 39 f4 brne .+14 ; 0x3ea <__vector_9+0x8c> if(snap_event != NULL) - 410: e0 91 32 01 lds r30, 0x0132 ; 0x800132 - 414: f0 91 33 01 lds r31, 0x0133 ; 0x800133 - 418: 30 97 sbiw r30, 0x00 ; 0 - 41a: 09 f0 breq .+2 ; 0x41e <__LOCK_REGION_LENGTH__+0x1e> + 3dc: e0 91 32 01 lds r30, 0x0132 ; 0x800132 + 3e0: f0 91 33 01 lds r31, 0x0133 ; 0x800133 + 3e4: 30 97 sbiw r30, 0x00 ; 0 + 3e6: 09 f0 breq .+2 ; 0x3ea <__vector_9+0x8c> snap_event(steps_to_do); - 41c: 09 95 icall + 3e8: 09 95 icall } steps_to_do--; - 41e: 80 91 2b 01 lds r24, 0x012B ; 0x80012b - 422: 90 91 2c 01 lds r25, 0x012C ; 0x80012c - 426: 01 97 sbiw r24, 0x01 ; 1 - 428: 90 93 2c 01 sts 0x012C, r25 ; 0x80012c - 42c: 80 93 2b 01 sts 0x012B, r24 ; 0x80012b + 3ea: 80 91 2b 01 lds r24, 0x012B ; 0x80012b + 3ee: 90 91 2c 01 lds r25, 0x012C ; 0x80012c + 3f2: 01 97 sbiw r24, 0x01 ; 1 + 3f4: 90 93 2c 01 sts 0x012C, r25 ; 0x80012c + 3f8: 80 93 2b 01 sts 0x012B, r24 ; 0x80012b } } } - 430: ff 91 pop r31 - 432: ef 91 pop r30 - 434: bf 91 pop r27 - 436: af 91 pop r26 - 438: 9f 91 pop r25 - 43a: 8f 91 pop r24 - 43c: 7f 91 pop r23 - 43e: 6f 91 pop r22 - 440: 5f 91 pop r21 - 442: 4f 91 pop r20 - 444: 3f 91 pop r19 - 446: 2f 91 pop r18 - 448: 0f 90 pop r0 - 44a: 0b be out 0x3b, r0 ; 59 - 44c: 0f 90 pop r0 - 44e: 0f be out 0x3f, r0 ; 63 - 450: 0f 90 pop r0 - 452: 1f 90 pop r1 - 454: 18 95 reti + 3fc: ff 91 pop r31 + 3fe: ef 91 pop r30 + 400: bf 91 pop r27 + 402: af 91 pop r26 + 404: 9f 91 pop r25 + 406: 8f 91 pop r24 + 408: 7f 91 pop r23 + 40a: 6f 91 pop r22 + 40c: 5f 91 pop r21 + 40e: 4f 91 pop r20 + 410: 3f 91 pop r19 + 412: 2f 91 pop r18 + 414: 0f 90 pop r0 + 416: 0b be out 0x3b, r0 ; 59 + 418: 0f 90 pop r0 + 41a: 0f be out 0x3f, r0 ; 63 + 41c: 0f 90 pop r0 + 41e: 1f 90 pop r1 + 420: 18 95 reti -00000456 : +00000422 : void stepper_rotate_angle(uint16_t steps, enum rotation_wise rot){ steps_to_do = steps; - 456: 90 93 2c 01 sts 0x012C, r25 ; 0x80012c - 45a: 80 93 2b 01 sts 0x012B, r24 ; 0x80012b + 422: 90 93 2c 01 sts 0x012C, r25 ; 0x80012c + 426: 80 93 2b 01 sts 0x012B, r24 ; 0x80012b steps_each_turn = steps; - 45e: 90 93 2e 01 sts 0x012E, r25 ; 0x80012e - 462: 80 93 2d 01 sts 0x012D, r24 ; 0x80012d + 42a: 90 93 2e 01 sts 0x012E, r25 ; 0x80012e + 42e: 80 93 2d 01 sts 0x012D, r24 ; 0x80012d rotation = rot; - 466: 60 93 31 01 sts 0x0131, r22 ; 0x800131 + 432: 60 93 31 01 sts 0x0131, r22 ; 0x800131 TCCR2 = 0b00001100; - 46a: 8c e0 ldi r24, 0x0C ; 12 - 46c: 85 bd out 0x25, r24 ; 37 - 46e: 08 95 ret + 436: 8c e0 ldi r24, 0x0C ; 12 + 438: 85 bd out 0x25, r24 ; 37 + 43a: 08 95 ret -00000470 : +0000043c : } void stepper_rotate_stop(){ TCCR2 = 0b00000000; - 470: 15 bc out 0x25, r1 ; 37 - 472: 08 95 ret + 43c: 15 bc out 0x25, r1 ; 37 + 43e: 08 95 ret -00000474 : +00000440 : } void init_stepper_driver(){ DDRE = 0xff; - 474: 8f ef ldi r24, 0xFF ; 255 - 476: 82 b9 out 0x02, r24 ; 2 + 440: 8f ef ldi r24, 0xFF ; 255 + 442: 82 b9 out 0x02, r24 ; 2 DDRG = 0xff; - 478: 80 93 64 00 sts 0x0064, r24 ; 0x800064 <__TEXT_REGION_LENGTH__+0x7e0064> + 444: 80 93 64 00 sts 0x0064, r24 ; 0x800064 <__TEXT_REGION_LENGTH__+0x7e0064> PORTG = 0x01; - 47c: 81 e0 ldi r24, 0x01 ; 1 - 47e: 80 93 65 00 sts 0x0065, r24 ; 0x800065 <__TEXT_REGION_LENGTH__+0x7e0065> + 448: 81 e0 ldi r24, 0x01 ; 1 + 44a: 80 93 65 00 sts 0x0065, r24 ; 0x800065 <__TEXT_REGION_LENGTH__+0x7e0065> PORTE = 0x00; - 482: 13 b8 out 0x03, r1 ; 3 - OCR2 = 150; - 484: 86 e9 ldi r24, 0x96 ; 150 - 486: 83 bd out 0x23, r24 ; 35 + 44e: 13 b8 out 0x03, r1 ; 3 + OCR2 = COMPARE_VALUE; + 450: 86 e9 ldi r24, 0x96 ; 150 + 452: 83 bd out 0x23, r24 ; 35 TIMSK = BIT(7); - 488: 80 e8 ldi r24, 0x80 ; 128 - 48a: 87 bf out 0x37, r24 ; 55 + 454: 80 e8 ldi r24, 0x80 ; 128 + 456: 87 bf out 0x37, r24 ; 55 sei(); - 48c: 78 94 sei - 48e: 08 95 ret + 458: 78 94 sei + 45a: 08 95 ret -00000490 : +0000045c : void (*value_set_event)(uint16_t); void wait_us(unsigned int us) { for(int i = 0; i < us; i++) - 490: 20 e0 ldi r18, 0x00 ; 0 - 492: 30 e0 ldi r19, 0x00 ; 0 - 494: 06 c0 rjmp .+12 ; 0x4a2 + 45c: 20 e0 ldi r18, 0x00 ; 0 + 45e: 30 e0 ldi r19, 0x00 ; 0 + 460: 06 c0 rjmp .+12 ; 0x46e #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); - 496: 43 e0 ldi r20, 0x03 ; 3 - 498: 4a 95 dec r20 - 49a: f1 f7 brne .-4 ; 0x498 - 49c: 00 00 nop - 49e: 2f 5f subi r18, 0xFF ; 255 - 4a0: 3f 4f sbci r19, 0xFF ; 255 - 4a2: 28 17 cp r18, r24 - 4a4: 39 07 cpc r19, r25 - 4a6: b8 f3 brcs .-18 ; 0x496 + 462: 43 e0 ldi r20, 0x03 ; 3 + 464: 4a 95 dec r20 + 466: f1 f7 brne .-4 ; 0x464 + 468: 00 00 nop + 46a: 2f 5f subi r18, 0xFF ; 255 + 46c: 3f 4f sbci r19, 0xFF ; 255 + 46e: 28 17 cp r18, r24 + 470: 39 07 cpc r19, r25 + 472: b8 f3 brcs .-18 ; 0x462 { _delay_us(1); } } - 4a8: 08 95 ret + 474: 08 95 ret -000004aa : +00000476 : void wait_ms(unsigned int ms) { for(int i = 0; i < ms; i++) - 4aa: 20 e0 ldi r18, 0x00 ; 0 - 4ac: 30 e0 ldi r19, 0x00 ; 0 - 4ae: 08 c0 rjmp .+16 ; 0x4c0 + 476: 20 e0 ldi r18, 0x00 ; 0 + 478: 30 e0 ldi r19, 0x00 ; 0 + 47a: 08 c0 rjmp .+16 ; 0x48c #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); - 4b0: e3 ec ldi r30, 0xC3 ; 195 - 4b2: f9 e0 ldi r31, 0x09 ; 9 - 4b4: 31 97 sbiw r30, 0x01 ; 1 - 4b6: f1 f7 brne .-4 ; 0x4b4 - 4b8: 00 c0 rjmp .+0 ; 0x4ba - 4ba: 00 00 nop - 4bc: 2f 5f subi r18, 0xFF ; 255 - 4be: 3f 4f sbci r19, 0xFF ; 255 - 4c0: 28 17 cp r18, r24 - 4c2: 39 07 cpc r19, r25 - 4c4: a8 f3 brcs .-22 ; 0x4b0 + 47c: e3 ec ldi r30, 0xC3 ; 195 + 47e: f9 e0 ldi r31, 0x09 ; 9 + 480: 31 97 sbiw r30, 0x01 ; 1 + 482: f1 f7 brne .-4 ; 0x480 + 484: 00 c0 rjmp .+0 ; 0x486 + 486: 00 00 nop + 488: 2f 5f subi r18, 0xFF ; 255 + 48a: 3f 4f sbci r19, 0xFF ; 255 + 48c: 28 17 cp r18, r24 + 48e: 39 07 cpc r19, r25 + 490: a8 f3 brcs .-22 ; 0x47c { _delay_ms(1); } } - 4c6: 08 95 ret + 492: 08 95 ret -000004c8 : +00000494 : void ultrasonic_init() { DDRG = 0xFF; // port g all output. pin 0 is trig, the rest is for debug - 4c8: 8f ef ldi r24, 0xFF ; 255 - 4ca: 80 93 64 00 sts 0x0064, r24 ; 0x800064 <__TEXT_REGION_LENGTH__+0x7e0064> + 494: 8f ef ldi r24, 0xFF ; 255 + 496: 80 93 64 00 sts 0x0064, r24 ; 0x800064 <__TEXT_REGION_LENGTH__+0x7e0064> DDRD = 0x00; // port D pin 0 on input. 0 is echo and also interrupt - 4ce: 11 ba out 0x11, r1 ; 17 + 49a: 11 ba out 0x11, r1 ; 17 EICRA = 0x30; // interrupt PORTD on pin 2, rising edge - 4d0: 80 e3 ldi r24, 0x30 ; 48 - 4d2: 80 93 6a 00 sts 0x006A, r24 ; 0x80006a <__TEXT_REGION_LENGTH__+0x7e006a> + 49c: 80 e3 ldi r24, 0x30 ; 48 + 49e: 80 93 6a 00 sts 0x006A, r24 ; 0x80006a <__TEXT_REGION_LENGTH__+0x7e006a> EIMSK |= 0x04; // enable interrupt on pin 2 (INT2) - 4d6: 89 b7 in r24, 0x39 ; 57 - 4d8: 84 60 ori r24, 0x04 ; 4 - 4da: 89 bf out 0x39, r24 ; 57 + 4a2: 89 b7 in r24, 0x39 ; 57 + 4a4: 84 60 ori r24, 0x04 ; 4 + 4a6: 89 bf out 0x39, r24 ; 57 TCCR1A = 0b00000000; // initialize timer1, prescaler=256 - 4dc: 1f bc out 0x2f, r1 ; 47 + 4a8: 1f bc out 0x2f, r1 ; 47 TCCR1B = 0b00001100; // CTC compare A, RUN - 4de: 8c e0 ldi r24, 0x0C ; 12 - 4e0: 8e bd out 0x2e, r24 ; 46 + 4aa: 8c e0 ldi r24, 0x0C ; 12 + 4ac: 8e bd out 0x2e, r24 ; 46 sei(); // turn on interrupt system - 4e2: 78 94 sei - 4e4: 08 95 ret + 4ae: 78 94 sei + 4b0: 08 95 ret -000004e6 : +000004b2 : } void ultrasonic_send_pulse() { - 4e6: cf 93 push r28 - 4e8: df 93 push r29 + 4b2: cf 93 push r28 + 4b4: df 93 push r29 PORTG = 0x00; // 10 us low pulse - 4ea: c5 e6 ldi r28, 0x65 ; 101 - 4ec: d0 e0 ldi r29, 0x00 ; 0 - 4ee: 18 82 st Y, r1 + 4b6: c5 e6 ldi r28, 0x65 ; 101 + 4b8: d0 e0 ldi r29, 0x00 ; 0 + 4ba: 18 82 st Y, r1 wait_us(10); - 4f0: 8a e0 ldi r24, 0x0A ; 10 - 4f2: 90 e0 ldi r25, 0x00 ; 0 - 4f4: cd df rcall .-102 ; 0x490 + 4bc: 8a e0 ldi r24, 0x0A ; 10 + 4be: 90 e0 ldi r25, 0x00 ; 0 + 4c0: cd df rcall .-102 ; 0x45c PORTG = 0x01; - 4f6: 81 e0 ldi r24, 0x01 ; 1 - 4f8: 88 83 st Y, r24 + 4c2: 81 e0 ldi r24, 0x01 ; 1 + 4c4: 88 83 st Y, r24 } - 4fa: df 91 pop r29 - 4fc: cf 91 pop r28 - 4fe: 08 95 ret + 4c6: df 91 pop r29 + 4c8: cf 91 pop r28 + 4ca: 08 95 ret -00000500 : +000004cc : void ultrasonic_handle_interrupt() { // if the interrupt was generated on a rising edge (start sending echo) if (int_stat == INTERRUPT_RISING) - 500: 80 91 11 01 lds r24, 0x0111 ; 0x800111 - 504: 81 30 cpi r24, 0x01 ; 1 - 506: 41 f4 brne .+16 ; 0x518 + 4cc: 80 91 11 01 lds r24, 0x0111 ; 0x800111 + 4d0: 81 30 cpi r24, 0x01 ; 1 + 4d2: 41 f4 brne .+16 ; 0x4e4 { // set interrupt pin 2 on PORTD to falling edge EICRA = 0x20; - 508: 80 e2 ldi r24, 0x20 ; 32 - 50a: 80 93 6a 00 sts 0x006A, r24 ; 0x80006a <__TEXT_REGION_LENGTH__+0x7e006a> + 4d4: 80 e2 ldi r24, 0x20 ; 32 + 4d6: 80 93 6a 00 sts 0x006A, r24 ; 0x80006a <__TEXT_REGION_LENGTH__+0x7e006a> // reset the time in timer1 TCNT1 = 0x00; - 50e: 1d bc out 0x2d, r1 ; 45 - 510: 1c bc out 0x2c, r1 ; 44 + 4da: 1d bc out 0x2d, r1 ; 45 + 4dc: 1c bc out 0x2c, r1 ; 44 // set interrupt status int_stat = INTERRUPT_FALLING; - 512: 10 92 11 01 sts 0x0111, r1 ; 0x800111 - 516: 08 95 ret + 4de: 10 92 11 01 sts 0x0111, r1 ; 0x800111 + 4e2: 08 95 ret } else // else if it was generated on a falling edge (end sending echo) { // set interrupt pin 0 on PORTD to rising edge EICRA = 0x30; // interrupt PORTD on pin 2, rising edge - 518: 80 e3 ldi r24, 0x30 ; 48 - 51a: 80 93 6a 00 sts 0x006A, r24 ; 0x80006a <__TEXT_REGION_LENGTH__+0x7e006a> + 4e4: 80 e3 ldi r24, 0x30 ; 48 + 4e6: 80 93 6a 00 sts 0x006A, r24 ; 0x80006a <__TEXT_REGION_LENGTH__+0x7e006a> // read timer1 into time_dist timer_dist = TCNT1; - 51e: 8c b5 in r24, 0x2c ; 44 - 520: 9d b5 in r25, 0x2d ; 45 - 522: 90 93 30 01 sts 0x0130, r25 ; 0x800130 - 526: 80 93 2f 01 sts 0x012F, r24 ; 0x80012f + 4ea: 8c b5 in r24, 0x2c ; 44 + 4ec: 9d b5 in r25, 0x2d ; 45 + 4ee: 90 93 30 01 sts 0x0130, r25 ; 0x800130 + 4f2: 80 93 2f 01 sts 0x012F, r24 ; 0x80012f //EVENT value_set_event(timer_dist); - 52a: e0 91 34 01 lds r30, 0x0134 ; 0x800134 - 52e: f0 91 35 01 lds r31, 0x0135 ; 0x800135 - 532: 09 95 icall + 4f6: e0 91 34 01 lds r30, 0x0134 ; 0x800134 + 4fa: f0 91 35 01 lds r31, 0x0135 ; 0x800135 + 4fe: 09 95 icall // set interrupt status int_stat = INTERRUPT_RISING; - 534: 81 e0 ldi r24, 0x01 ; 1 - 536: 80 93 11 01 sts 0x0111, r24 ; 0x800111 - 53a: 08 95 ret + 500: 81 e0 ldi r24, 0x01 ; 1 + 502: 80 93 11 01 sts 0x0111, r24 ; 0x800111 + 506: 08 95 ret -0000053c : +00000508 : } } void set_value_trigger_event(void (*value_set_event_p)(uint16_t)){ // event that is triggered when a value is set. value_set_event = value_set_event_p; - 53c: 90 93 35 01 sts 0x0135, r25 ; 0x800135 - 540: 80 93 34 01 sts 0x0134, r24 ; 0x800134 - 544: 08 95 ret + 508: 90 93 35 01 sts 0x0135, r25 ; 0x800135 + 50c: 80 93 34 01 sts 0x0134, r24 ; 0x800134 + 510: 08 95 ret -00000546 : +00000512 : } float ultrasonic_get_timer_dist() { - return timer_dist * (float)(340 / 2.0); - 546: 60 91 2f 01 lds r22, 0x012F ; 0x80012f - 54a: 70 91 30 01 lds r23, 0x0130 ; 0x800130 - 54e: 80 e0 ldi r24, 0x00 ; 0 - 550: 90 e0 ldi r25, 0x00 ; 0 - 552: 06 d0 rcall .+12 ; 0x560 <__floatunsisf> - 554: 20 e0 ldi r18, 0x00 ; 0 - 556: 30 e0 ldi r19, 0x00 ; 0 - 558: 4a e2 ldi r20, 0x2A ; 42 - 55a: 53 e4 ldi r21, 0x43 ; 67 - 55c: 3e c0 rjmp .+124 ; 0x5da <__mulsf3> + return (float)(timer_dist * (340 / 2.0)); + 512: 60 91 2f 01 lds r22, 0x012F ; 0x80012f + 516: 70 91 30 01 lds r23, 0x0130 ; 0x800130 + 51a: 80 e0 ldi r24, 0x00 ; 0 + 51c: 90 e0 ldi r25, 0x00 ; 0 + 51e: 06 d0 rcall .+12 ; 0x52c <__floatunsisf> + 520: 20 e0 ldi r18, 0x00 ; 0 + 522: 30 e0 ldi r19, 0x00 ; 0 + 524: 4a e2 ldi r20, 0x2A ; 42 + 526: 53 e4 ldi r21, 0x43 ; 67 + 528: 3e c0 rjmp .+124 ; 0x5a6 <__mulsf3> } - 55e: 08 95 ret + 52a: 08 95 ret -00000560 <__floatunsisf>: - 560: e8 94 clt - 562: 09 c0 rjmp .+18 ; 0x576 <__floatsisf+0x12> +0000052c <__floatunsisf>: + 52c: e8 94 clt + 52e: 09 c0 rjmp .+18 ; 0x542 <__floatsisf+0x12> -00000564 <__floatsisf>: - 564: 97 fb bst r25, 7 - 566: 3e f4 brtc .+14 ; 0x576 <__floatsisf+0x12> - 568: 90 95 com r25 - 56a: 80 95 com r24 - 56c: 70 95 com r23 - 56e: 61 95 neg r22 - 570: 7f 4f sbci r23, 0xFF ; 255 - 572: 8f 4f sbci r24, 0xFF ; 255 - 574: 9f 4f sbci r25, 0xFF ; 255 - 576: 99 23 and r25, r25 - 578: a9 f0 breq .+42 ; 0x5a4 <__floatsisf+0x40> - 57a: f9 2f mov r31, r25 - 57c: 96 e9 ldi r25, 0x96 ; 150 - 57e: bb 27 eor r27, r27 - 580: 93 95 inc r25 - 582: f6 95 lsr r31 - 584: 87 95 ror r24 - 586: 77 95 ror r23 - 588: 67 95 ror r22 - 58a: b7 95 ror r27 - 58c: f1 11 cpse r31, r1 - 58e: f8 cf rjmp .-16 ; 0x580 <__floatsisf+0x1c> - 590: fa f4 brpl .+62 ; 0x5d0 <__floatsisf+0x6c> - 592: bb 0f add r27, r27 - 594: 11 f4 brne .+4 ; 0x59a <__floatsisf+0x36> - 596: 60 ff sbrs r22, 0 - 598: 1b c0 rjmp .+54 ; 0x5d0 <__floatsisf+0x6c> - 59a: 6f 5f subi r22, 0xFF ; 255 - 59c: 7f 4f sbci r23, 0xFF ; 255 - 59e: 8f 4f sbci r24, 0xFF ; 255 - 5a0: 9f 4f sbci r25, 0xFF ; 255 - 5a2: 16 c0 rjmp .+44 ; 0x5d0 <__floatsisf+0x6c> - 5a4: 88 23 and r24, r24 - 5a6: 11 f0 breq .+4 ; 0x5ac <__floatsisf+0x48> - 5a8: 96 e9 ldi r25, 0x96 ; 150 - 5aa: 11 c0 rjmp .+34 ; 0x5ce <__floatsisf+0x6a> - 5ac: 77 23 and r23, r23 - 5ae: 21 f0 breq .+8 ; 0x5b8 <__floatsisf+0x54> - 5b0: 9e e8 ldi r25, 0x8E ; 142 - 5b2: 87 2f mov r24, r23 - 5b4: 76 2f mov r23, r22 - 5b6: 05 c0 rjmp .+10 ; 0x5c2 <__floatsisf+0x5e> - 5b8: 66 23 and r22, r22 - 5ba: 71 f0 breq .+28 ; 0x5d8 <__floatsisf+0x74> - 5bc: 96 e8 ldi r25, 0x86 ; 134 - 5be: 86 2f mov r24, r22 - 5c0: 70 e0 ldi r23, 0x00 ; 0 - 5c2: 60 e0 ldi r22, 0x00 ; 0 - 5c4: 2a f0 brmi .+10 ; 0x5d0 <__floatsisf+0x6c> - 5c6: 9a 95 dec r25 - 5c8: 66 0f add r22, r22 - 5ca: 77 1f adc r23, r23 - 5cc: 88 1f adc r24, r24 - 5ce: da f7 brpl .-10 ; 0x5c6 <__floatsisf+0x62> - 5d0: 88 0f add r24, r24 - 5d2: 96 95 lsr r25 - 5d4: 87 95 ror r24 - 5d6: 97 f9 bld r25, 7 - 5d8: 08 95 ret +00000530 <__floatsisf>: + 530: 97 fb bst r25, 7 + 532: 3e f4 brtc .+14 ; 0x542 <__floatsisf+0x12> + 534: 90 95 com r25 + 536: 80 95 com r24 + 538: 70 95 com r23 + 53a: 61 95 neg r22 + 53c: 7f 4f sbci r23, 0xFF ; 255 + 53e: 8f 4f sbci r24, 0xFF ; 255 + 540: 9f 4f sbci r25, 0xFF ; 255 + 542: 99 23 and r25, r25 + 544: a9 f0 breq .+42 ; 0x570 <__floatsisf+0x40> + 546: f9 2f mov r31, r25 + 548: 96 e9 ldi r25, 0x96 ; 150 + 54a: bb 27 eor r27, r27 + 54c: 93 95 inc r25 + 54e: f6 95 lsr r31 + 550: 87 95 ror r24 + 552: 77 95 ror r23 + 554: 67 95 ror r22 + 556: b7 95 ror r27 + 558: f1 11 cpse r31, r1 + 55a: f8 cf rjmp .-16 ; 0x54c <__floatsisf+0x1c> + 55c: fa f4 brpl .+62 ; 0x59c <__floatsisf+0x6c> + 55e: bb 0f add r27, r27 + 560: 11 f4 brne .+4 ; 0x566 <__floatsisf+0x36> + 562: 60 ff sbrs r22, 0 + 564: 1b c0 rjmp .+54 ; 0x59c <__floatsisf+0x6c> + 566: 6f 5f subi r22, 0xFF ; 255 + 568: 7f 4f sbci r23, 0xFF ; 255 + 56a: 8f 4f sbci r24, 0xFF ; 255 + 56c: 9f 4f sbci r25, 0xFF ; 255 + 56e: 16 c0 rjmp .+44 ; 0x59c <__floatsisf+0x6c> + 570: 88 23 and r24, r24 + 572: 11 f0 breq .+4 ; 0x578 <__floatsisf+0x48> + 574: 96 e9 ldi r25, 0x96 ; 150 + 576: 11 c0 rjmp .+34 ; 0x59a <__floatsisf+0x6a> + 578: 77 23 and r23, r23 + 57a: 21 f0 breq .+8 ; 0x584 <__floatsisf+0x54> + 57c: 9e e8 ldi r25, 0x8E ; 142 + 57e: 87 2f mov r24, r23 + 580: 76 2f mov r23, r22 + 582: 05 c0 rjmp .+10 ; 0x58e <__floatsisf+0x5e> + 584: 66 23 and r22, r22 + 586: 71 f0 breq .+28 ; 0x5a4 <__floatsisf+0x74> + 588: 96 e8 ldi r25, 0x86 ; 134 + 58a: 86 2f mov r24, r22 + 58c: 70 e0 ldi r23, 0x00 ; 0 + 58e: 60 e0 ldi r22, 0x00 ; 0 + 590: 2a f0 brmi .+10 ; 0x59c <__floatsisf+0x6c> + 592: 9a 95 dec r25 + 594: 66 0f add r22, r22 + 596: 77 1f adc r23, r23 + 598: 88 1f adc r24, r24 + 59a: da f7 brpl .-10 ; 0x592 <__floatsisf+0x62> + 59c: 88 0f add r24, r24 + 59e: 96 95 lsr r25 + 5a0: 87 95 ror r24 + 5a2: 97 f9 bld r25, 7 + 5a4: 08 95 ret -000005da <__mulsf3>: - 5da: 0b d0 rcall .+22 ; 0x5f2 <__mulsf3x> - 5dc: 78 c0 rjmp .+240 ; 0x6ce <__fp_round> - 5de: 69 d0 rcall .+210 ; 0x6b2 <__fp_pscA> - 5e0: 28 f0 brcs .+10 ; 0x5ec <__mulsf3+0x12> - 5e2: 6e d0 rcall .+220 ; 0x6c0 <__fp_pscB> - 5e4: 18 f0 brcs .+6 ; 0x5ec <__mulsf3+0x12> - 5e6: 95 23 and r25, r21 - 5e8: 09 f0 breq .+2 ; 0x5ec <__mulsf3+0x12> - 5ea: 5a c0 rjmp .+180 ; 0x6a0 <__fp_inf> - 5ec: 5f c0 rjmp .+190 ; 0x6ac <__fp_nan> - 5ee: 11 24 eor r1, r1 - 5f0: a2 c0 rjmp .+324 ; 0x736 <__fp_szero> +000005a6 <__mulsf3>: + 5a6: 0b d0 rcall .+22 ; 0x5be <__mulsf3x> + 5a8: 78 c0 rjmp .+240 ; 0x69a <__fp_round> + 5aa: 69 d0 rcall .+210 ; 0x67e <__fp_pscA> + 5ac: 28 f0 brcs .+10 ; 0x5b8 <__mulsf3+0x12> + 5ae: 6e d0 rcall .+220 ; 0x68c <__fp_pscB> + 5b0: 18 f0 brcs .+6 ; 0x5b8 <__mulsf3+0x12> + 5b2: 95 23 and r25, r21 + 5b4: 09 f0 breq .+2 ; 0x5b8 <__mulsf3+0x12> + 5b6: 5a c0 rjmp .+180 ; 0x66c <__fp_inf> + 5b8: 5f c0 rjmp .+190 ; 0x678 <__fp_nan> + 5ba: 11 24 eor r1, r1 + 5bc: a2 c0 rjmp .+324 ; 0x702 <__fp_szero> -000005f2 <__mulsf3x>: - 5f2: 7e d0 rcall .+252 ; 0x6f0 <__fp_split3> - 5f4: a0 f3 brcs .-24 ; 0x5de <__mulsf3+0x4> +000005be <__mulsf3x>: + 5be: 7e d0 rcall .+252 ; 0x6bc <__fp_split3> + 5c0: a0 f3 brcs .-24 ; 0x5aa <__mulsf3+0x4> -000005f6 <__mulsf3_pse>: - 5f6: 95 9f mul r25, r21 - 5f8: d1 f3 breq .-12 ; 0x5ee <__mulsf3+0x14> - 5fa: 95 0f add r25, r21 - 5fc: 50 e0 ldi r21, 0x00 ; 0 - 5fe: 55 1f adc r21, r21 - 600: 62 9f mul r22, r18 - 602: f0 01 movw r30, r0 - 604: 72 9f mul r23, r18 - 606: bb 27 eor r27, r27 - 608: f0 0d add r31, r0 - 60a: b1 1d adc r27, r1 - 60c: 63 9f mul r22, r19 - 60e: aa 27 eor r26, r26 - 610: f0 0d add r31, r0 - 612: b1 1d adc r27, r1 - 614: aa 1f adc r26, r26 - 616: 64 9f mul r22, r20 - 618: 66 27 eor r22, r22 - 61a: b0 0d add r27, r0 - 61c: a1 1d adc r26, r1 - 61e: 66 1f adc r22, r22 - 620: 82 9f mul r24, r18 - 622: 22 27 eor r18, r18 - 624: b0 0d add r27, r0 - 626: a1 1d adc r26, r1 - 628: 62 1f adc r22, r18 - 62a: 73 9f mul r23, r19 - 62c: b0 0d add r27, r0 - 62e: a1 1d adc r26, r1 - 630: 62 1f adc r22, r18 - 632: 83 9f mul r24, r19 - 634: a0 0d add r26, r0 - 636: 61 1d adc r22, r1 - 638: 22 1f adc r18, r18 - 63a: 74 9f mul r23, r20 - 63c: 33 27 eor r19, r19 - 63e: a0 0d add r26, r0 - 640: 61 1d adc r22, r1 - 642: 23 1f adc r18, r19 - 644: 84 9f mul r24, r20 - 646: 60 0d add r22, r0 - 648: 21 1d adc r18, r1 - 64a: 82 2f mov r24, r18 - 64c: 76 2f mov r23, r22 - 64e: 6a 2f mov r22, r26 - 650: 11 24 eor r1, r1 - 652: 9f 57 subi r25, 0x7F ; 127 - 654: 50 40 sbci r21, 0x00 ; 0 - 656: 8a f0 brmi .+34 ; 0x67a <__mulsf3_pse+0x84> - 658: e1 f0 breq .+56 ; 0x692 <__mulsf3_pse+0x9c> - 65a: 88 23 and r24, r24 - 65c: 4a f0 brmi .+18 ; 0x670 <__mulsf3_pse+0x7a> - 65e: ee 0f add r30, r30 - 660: ff 1f adc r31, r31 - 662: bb 1f adc r27, r27 - 664: 66 1f adc r22, r22 - 666: 77 1f adc r23, r23 - 668: 88 1f adc r24, r24 - 66a: 91 50 subi r25, 0x01 ; 1 - 66c: 50 40 sbci r21, 0x00 ; 0 - 66e: a9 f7 brne .-22 ; 0x65a <__mulsf3_pse+0x64> - 670: 9e 3f cpi r25, 0xFE ; 254 - 672: 51 05 cpc r21, r1 - 674: 70 f0 brcs .+28 ; 0x692 <__mulsf3_pse+0x9c> - 676: 14 c0 rjmp .+40 ; 0x6a0 <__fp_inf> - 678: 5e c0 rjmp .+188 ; 0x736 <__fp_szero> - 67a: 5f 3f cpi r21, 0xFF ; 255 - 67c: ec f3 brlt .-6 ; 0x678 <__mulsf3_pse+0x82> - 67e: 98 3e cpi r25, 0xE8 ; 232 - 680: dc f3 brlt .-10 ; 0x678 <__mulsf3_pse+0x82> - 682: 86 95 lsr r24 - 684: 77 95 ror r23 - 686: 67 95 ror r22 - 688: b7 95 ror r27 - 68a: f7 95 ror r31 - 68c: e7 95 ror r30 - 68e: 9f 5f subi r25, 0xFF ; 255 - 690: c1 f7 brne .-16 ; 0x682 <__mulsf3_pse+0x8c> - 692: fe 2b or r31, r30 - 694: 88 0f add r24, r24 - 696: 91 1d adc r25, r1 - 698: 96 95 lsr r25 - 69a: 87 95 ror r24 - 69c: 97 f9 bld r25, 7 - 69e: 08 95 ret +000005c2 <__mulsf3_pse>: + 5c2: 95 9f mul r25, r21 + 5c4: d1 f3 breq .-12 ; 0x5ba <__mulsf3+0x14> + 5c6: 95 0f add r25, r21 + 5c8: 50 e0 ldi r21, 0x00 ; 0 + 5ca: 55 1f adc r21, r21 + 5cc: 62 9f mul r22, r18 + 5ce: f0 01 movw r30, r0 + 5d0: 72 9f mul r23, r18 + 5d2: bb 27 eor r27, r27 + 5d4: f0 0d add r31, r0 + 5d6: b1 1d adc r27, r1 + 5d8: 63 9f mul r22, r19 + 5da: aa 27 eor r26, r26 + 5dc: f0 0d add r31, r0 + 5de: b1 1d adc r27, r1 + 5e0: aa 1f adc r26, r26 + 5e2: 64 9f mul r22, r20 + 5e4: 66 27 eor r22, r22 + 5e6: b0 0d add r27, r0 + 5e8: a1 1d adc r26, r1 + 5ea: 66 1f adc r22, r22 + 5ec: 82 9f mul r24, r18 + 5ee: 22 27 eor r18, r18 + 5f0: b0 0d add r27, r0 + 5f2: a1 1d adc r26, r1 + 5f4: 62 1f adc r22, r18 + 5f6: 73 9f mul r23, r19 + 5f8: b0 0d add r27, r0 + 5fa: a1 1d adc r26, r1 + 5fc: 62 1f adc r22, r18 + 5fe: 83 9f mul r24, r19 + 600: a0 0d add r26, r0 + 602: 61 1d adc r22, r1 + 604: 22 1f adc r18, r18 + 606: 74 9f mul r23, r20 + 608: 33 27 eor r19, r19 + 60a: a0 0d add r26, r0 + 60c: 61 1d adc r22, r1 + 60e: 23 1f adc r18, r19 + 610: 84 9f mul r24, r20 + 612: 60 0d add r22, r0 + 614: 21 1d adc r18, r1 + 616: 82 2f mov r24, r18 + 618: 76 2f mov r23, r22 + 61a: 6a 2f mov r22, r26 + 61c: 11 24 eor r1, r1 + 61e: 9f 57 subi r25, 0x7F ; 127 + 620: 50 40 sbci r21, 0x00 ; 0 + 622: 8a f0 brmi .+34 ; 0x646 <__mulsf3_pse+0x84> + 624: e1 f0 breq .+56 ; 0x65e <__mulsf3_pse+0x9c> + 626: 88 23 and r24, r24 + 628: 4a f0 brmi .+18 ; 0x63c <__mulsf3_pse+0x7a> + 62a: ee 0f add r30, r30 + 62c: ff 1f adc r31, r31 + 62e: bb 1f adc r27, r27 + 630: 66 1f adc r22, r22 + 632: 77 1f adc r23, r23 + 634: 88 1f adc r24, r24 + 636: 91 50 subi r25, 0x01 ; 1 + 638: 50 40 sbci r21, 0x00 ; 0 + 63a: a9 f7 brne .-22 ; 0x626 <__mulsf3_pse+0x64> + 63c: 9e 3f cpi r25, 0xFE ; 254 + 63e: 51 05 cpc r21, r1 + 640: 70 f0 brcs .+28 ; 0x65e <__mulsf3_pse+0x9c> + 642: 14 c0 rjmp .+40 ; 0x66c <__fp_inf> + 644: 5e c0 rjmp .+188 ; 0x702 <__fp_szero> + 646: 5f 3f cpi r21, 0xFF ; 255 + 648: ec f3 brlt .-6 ; 0x644 <__mulsf3_pse+0x82> + 64a: 98 3e cpi r25, 0xE8 ; 232 + 64c: dc f3 brlt .-10 ; 0x644 <__mulsf3_pse+0x82> + 64e: 86 95 lsr r24 + 650: 77 95 ror r23 + 652: 67 95 ror r22 + 654: b7 95 ror r27 + 656: f7 95 ror r31 + 658: e7 95 ror r30 + 65a: 9f 5f subi r25, 0xFF ; 255 + 65c: c1 f7 brne .-16 ; 0x64e <__mulsf3_pse+0x8c> + 65e: fe 2b or r31, r30 + 660: 88 0f add r24, r24 + 662: 91 1d adc r25, r1 + 664: 96 95 lsr r25 + 666: 87 95 ror r24 + 668: 97 f9 bld r25, 7 + 66a: 08 95 ret -000006a0 <__fp_inf>: - 6a0: 97 f9 bld r25, 7 - 6a2: 9f 67 ori r25, 0x7F ; 127 - 6a4: 80 e8 ldi r24, 0x80 ; 128 - 6a6: 70 e0 ldi r23, 0x00 ; 0 - 6a8: 60 e0 ldi r22, 0x00 ; 0 - 6aa: 08 95 ret +0000066c <__fp_inf>: + 66c: 97 f9 bld r25, 7 + 66e: 9f 67 ori r25, 0x7F ; 127 + 670: 80 e8 ldi r24, 0x80 ; 128 + 672: 70 e0 ldi r23, 0x00 ; 0 + 674: 60 e0 ldi r22, 0x00 ; 0 + 676: 08 95 ret -000006ac <__fp_nan>: - 6ac: 9f ef ldi r25, 0xFF ; 255 - 6ae: 80 ec ldi r24, 0xC0 ; 192 - 6b0: 08 95 ret +00000678 <__fp_nan>: + 678: 9f ef ldi r25, 0xFF ; 255 + 67a: 80 ec ldi r24, 0xC0 ; 192 + 67c: 08 95 ret -000006b2 <__fp_pscA>: - 6b2: 00 24 eor r0, r0 - 6b4: 0a 94 dec r0 - 6b6: 16 16 cp r1, r22 - 6b8: 17 06 cpc r1, r23 - 6ba: 18 06 cpc r1, r24 - 6bc: 09 06 cpc r0, r25 - 6be: 08 95 ret +0000067e <__fp_pscA>: + 67e: 00 24 eor r0, r0 + 680: 0a 94 dec r0 + 682: 16 16 cp r1, r22 + 684: 17 06 cpc r1, r23 + 686: 18 06 cpc r1, r24 + 688: 09 06 cpc r0, r25 + 68a: 08 95 ret -000006c0 <__fp_pscB>: - 6c0: 00 24 eor r0, r0 - 6c2: 0a 94 dec r0 - 6c4: 12 16 cp r1, r18 - 6c6: 13 06 cpc r1, r19 - 6c8: 14 06 cpc r1, r20 - 6ca: 05 06 cpc r0, r21 - 6cc: 08 95 ret +0000068c <__fp_pscB>: + 68c: 00 24 eor r0, r0 + 68e: 0a 94 dec r0 + 690: 12 16 cp r1, r18 + 692: 13 06 cpc r1, r19 + 694: 14 06 cpc r1, r20 + 696: 05 06 cpc r0, r21 + 698: 08 95 ret -000006ce <__fp_round>: - 6ce: 09 2e mov r0, r25 - 6d0: 03 94 inc r0 - 6d2: 00 0c add r0, r0 - 6d4: 11 f4 brne .+4 ; 0x6da <__fp_round+0xc> - 6d6: 88 23 and r24, r24 - 6d8: 52 f0 brmi .+20 ; 0x6ee <__fp_round+0x20> - 6da: bb 0f add r27, r27 - 6dc: 40 f4 brcc .+16 ; 0x6ee <__fp_round+0x20> - 6de: bf 2b or r27, r31 - 6e0: 11 f4 brne .+4 ; 0x6e6 <__fp_round+0x18> - 6e2: 60 ff sbrs r22, 0 - 6e4: 04 c0 rjmp .+8 ; 0x6ee <__fp_round+0x20> - 6e6: 6f 5f subi r22, 0xFF ; 255 - 6e8: 7f 4f sbci r23, 0xFF ; 255 - 6ea: 8f 4f sbci r24, 0xFF ; 255 - 6ec: 9f 4f sbci r25, 0xFF ; 255 - 6ee: 08 95 ret +0000069a <__fp_round>: + 69a: 09 2e mov r0, r25 + 69c: 03 94 inc r0 + 69e: 00 0c add r0, r0 + 6a0: 11 f4 brne .+4 ; 0x6a6 <__fp_round+0xc> + 6a2: 88 23 and r24, r24 + 6a4: 52 f0 brmi .+20 ; 0x6ba <__fp_round+0x20> + 6a6: bb 0f add r27, r27 + 6a8: 40 f4 brcc .+16 ; 0x6ba <__fp_round+0x20> + 6aa: bf 2b or r27, r31 + 6ac: 11 f4 brne .+4 ; 0x6b2 <__fp_round+0x18> + 6ae: 60 ff sbrs r22, 0 + 6b0: 04 c0 rjmp .+8 ; 0x6ba <__fp_round+0x20> + 6b2: 6f 5f subi r22, 0xFF ; 255 + 6b4: 7f 4f sbci r23, 0xFF ; 255 + 6b6: 8f 4f sbci r24, 0xFF ; 255 + 6b8: 9f 4f sbci r25, 0xFF ; 255 + 6ba: 08 95 ret -000006f0 <__fp_split3>: - 6f0: 57 fd sbrc r21, 7 - 6f2: 90 58 subi r25, 0x80 ; 128 - 6f4: 44 0f add r20, r20 - 6f6: 55 1f adc r21, r21 - 6f8: 59 f0 breq .+22 ; 0x710 <__fp_splitA+0x10> - 6fa: 5f 3f cpi r21, 0xFF ; 255 - 6fc: 71 f0 breq .+28 ; 0x71a <__fp_splitA+0x1a> - 6fe: 47 95 ror r20 +000006bc <__fp_split3>: + 6bc: 57 fd sbrc r21, 7 + 6be: 90 58 subi r25, 0x80 ; 128 + 6c0: 44 0f add r20, r20 + 6c2: 55 1f adc r21, r21 + 6c4: 59 f0 breq .+22 ; 0x6dc <__fp_splitA+0x10> + 6c6: 5f 3f cpi r21, 0xFF ; 255 + 6c8: 71 f0 breq .+28 ; 0x6e6 <__fp_splitA+0x1a> + 6ca: 47 95 ror r20 -00000700 <__fp_splitA>: - 700: 88 0f add r24, r24 - 702: 97 fb bst r25, 7 - 704: 99 1f adc r25, r25 - 706: 61 f0 breq .+24 ; 0x720 <__fp_splitA+0x20> - 708: 9f 3f cpi r25, 0xFF ; 255 - 70a: 79 f0 breq .+30 ; 0x72a <__fp_splitA+0x2a> - 70c: 87 95 ror r24 - 70e: 08 95 ret - 710: 12 16 cp r1, r18 - 712: 13 06 cpc r1, r19 - 714: 14 06 cpc r1, r20 - 716: 55 1f adc r21, r21 - 718: f2 cf rjmp .-28 ; 0x6fe <__fp_split3+0xe> - 71a: 46 95 lsr r20 - 71c: f1 df rcall .-30 ; 0x700 <__fp_splitA> - 71e: 08 c0 rjmp .+16 ; 0x730 <__fp_splitA+0x30> - 720: 16 16 cp r1, r22 - 722: 17 06 cpc r1, r23 - 724: 18 06 cpc r1, r24 - 726: 99 1f adc r25, r25 - 728: f1 cf rjmp .-30 ; 0x70c <__fp_splitA+0xc> - 72a: 86 95 lsr r24 - 72c: 71 05 cpc r23, r1 - 72e: 61 05 cpc r22, r1 - 730: 08 94 sec - 732: 08 95 ret +000006cc <__fp_splitA>: + 6cc: 88 0f add r24, r24 + 6ce: 97 fb bst r25, 7 + 6d0: 99 1f adc r25, r25 + 6d2: 61 f0 breq .+24 ; 0x6ec <__fp_splitA+0x20> + 6d4: 9f 3f cpi r25, 0xFF ; 255 + 6d6: 79 f0 breq .+30 ; 0x6f6 <__fp_splitA+0x2a> + 6d8: 87 95 ror r24 + 6da: 08 95 ret + 6dc: 12 16 cp r1, r18 + 6de: 13 06 cpc r1, r19 + 6e0: 14 06 cpc r1, r20 + 6e2: 55 1f adc r21, r21 + 6e4: f2 cf rjmp .-28 ; 0x6ca <__fp_split3+0xe> + 6e6: 46 95 lsr r20 + 6e8: f1 df rcall .-30 ; 0x6cc <__fp_splitA> + 6ea: 08 c0 rjmp .+16 ; 0x6fc <__fp_splitA+0x30> + 6ec: 16 16 cp r1, r22 + 6ee: 17 06 cpc r1, r23 + 6f0: 18 06 cpc r1, r24 + 6f2: 99 1f adc r25, r25 + 6f4: f1 cf rjmp .-30 ; 0x6d8 <__fp_splitA+0xc> + 6f6: 86 95 lsr r24 + 6f8: 71 05 cpc r23, r1 + 6fa: 61 05 cpc r22, r1 + 6fc: 08 94 sec + 6fe: 08 95 ret -00000734 <__fp_zero>: - 734: e8 94 clt +00000700 <__fp_zero>: + 700: e8 94 clt -00000736 <__fp_szero>: - 736: bb 27 eor r27, r27 - 738: 66 27 eor r22, r22 - 73a: 77 27 eor r23, r23 - 73c: cb 01 movw r24, r22 - 73e: 97 f9 bld r25, 7 - 740: 08 95 ret +00000702 <__fp_szero>: + 702: bb 27 eor r27, r27 + 704: 66 27 eor r22, r22 + 706: 77 27 eor r23, r23 + 708: cb 01 movw r24, r22 + 70a: 97 f9 bld r25, 7 + 70c: 08 95 ret -00000742 : - 742: 0f 93 push r16 - 744: 1f 93 push r17 - 746: cf 93 push r28 - 748: df 93 push r29 - 74a: cd b7 in r28, 0x3d ; 61 - 74c: de b7 in r29, 0x3e ; 62 - 74e: 2e 97 sbiw r28, 0x0e ; 14 - 750: 0f b6 in r0, 0x3f ; 63 - 752: f8 94 cli - 754: de bf out 0x3e, r29 ; 62 - 756: 0f be out 0x3f, r0 ; 63 - 758: cd bf out 0x3d, r28 ; 61 - 75a: 0d 89 ldd r16, Y+21 ; 0x15 - 75c: 1e 89 ldd r17, Y+22 ; 0x16 - 75e: 8f 89 ldd r24, Y+23 ; 0x17 - 760: 98 8d ldd r25, Y+24 ; 0x18 - 762: 26 e0 ldi r18, 0x06 ; 6 - 764: 2c 83 std Y+4, r18 ; 0x04 - 766: 1a 83 std Y+2, r17 ; 0x02 - 768: 09 83 std Y+1, r16 ; 0x01 - 76a: 97 ff sbrs r25, 7 - 76c: 02 c0 rjmp .+4 ; 0x772 - 76e: 80 e0 ldi r24, 0x00 ; 0 - 770: 90 e8 ldi r25, 0x80 ; 128 - 772: 01 97 sbiw r24, 0x01 ; 1 - 774: 9e 83 std Y+6, r25 ; 0x06 - 776: 8d 83 std Y+5, r24 ; 0x05 - 778: ae 01 movw r20, r28 - 77a: 45 5e subi r20, 0xE5 ; 229 - 77c: 5f 4f sbci r21, 0xFF ; 255 - 77e: 69 8d ldd r22, Y+25 ; 0x19 - 780: 7a 8d ldd r23, Y+26 ; 0x1a - 782: ce 01 movw r24, r28 - 784: 01 96 adiw r24, 0x01 ; 1 - 786: 19 d0 rcall .+50 ; 0x7ba - 788: 4d 81 ldd r20, Y+5 ; 0x05 - 78a: 5e 81 ldd r21, Y+6 ; 0x06 - 78c: 57 fd sbrc r21, 7 - 78e: 0a c0 rjmp .+20 ; 0x7a4 - 790: 2f 81 ldd r18, Y+7 ; 0x07 - 792: 38 85 ldd r19, Y+8 ; 0x08 - 794: 42 17 cp r20, r18 - 796: 53 07 cpc r21, r19 - 798: 0c f4 brge .+2 ; 0x79c - 79a: 9a 01 movw r18, r20 - 79c: f8 01 movw r30, r16 - 79e: e2 0f add r30, r18 - 7a0: f3 1f adc r31, r19 - 7a2: 10 82 st Z, r1 - 7a4: 2e 96 adiw r28, 0x0e ; 14 - 7a6: 0f b6 in r0, 0x3f ; 63 - 7a8: f8 94 cli - 7aa: de bf out 0x3e, r29 ; 62 - 7ac: 0f be out 0x3f, r0 ; 63 - 7ae: cd bf out 0x3d, r28 ; 61 - 7b0: df 91 pop r29 - 7b2: cf 91 pop r28 - 7b4: 1f 91 pop r17 - 7b6: 0f 91 pop r16 - 7b8: 08 95 ret +0000070e : + 70e: 0f 93 push r16 + 710: 1f 93 push r17 + 712: cf 93 push r28 + 714: df 93 push r29 + 716: cd b7 in r28, 0x3d ; 61 + 718: de b7 in r29, 0x3e ; 62 + 71a: 2e 97 sbiw r28, 0x0e ; 14 + 71c: 0f b6 in r0, 0x3f ; 63 + 71e: f8 94 cli + 720: de bf out 0x3e, r29 ; 62 + 722: 0f be out 0x3f, r0 ; 63 + 724: cd bf out 0x3d, r28 ; 61 + 726: 0d 89 ldd r16, Y+21 ; 0x15 + 728: 1e 89 ldd r17, Y+22 ; 0x16 + 72a: 8f 89 ldd r24, Y+23 ; 0x17 + 72c: 98 8d ldd r25, Y+24 ; 0x18 + 72e: 26 e0 ldi r18, 0x06 ; 6 + 730: 2c 83 std Y+4, r18 ; 0x04 + 732: 1a 83 std Y+2, r17 ; 0x02 + 734: 09 83 std Y+1, r16 ; 0x01 + 736: 97 ff sbrs r25, 7 + 738: 02 c0 rjmp .+4 ; 0x73e + 73a: 80 e0 ldi r24, 0x00 ; 0 + 73c: 90 e8 ldi r25, 0x80 ; 128 + 73e: 01 97 sbiw r24, 0x01 ; 1 + 740: 9e 83 std Y+6, r25 ; 0x06 + 742: 8d 83 std Y+5, r24 ; 0x05 + 744: ae 01 movw r20, r28 + 746: 45 5e subi r20, 0xE5 ; 229 + 748: 5f 4f sbci r21, 0xFF ; 255 + 74a: 69 8d ldd r22, Y+25 ; 0x19 + 74c: 7a 8d ldd r23, Y+26 ; 0x1a + 74e: ce 01 movw r24, r28 + 750: 01 96 adiw r24, 0x01 ; 1 + 752: 19 d0 rcall .+50 ; 0x786 + 754: 4d 81 ldd r20, Y+5 ; 0x05 + 756: 5e 81 ldd r21, Y+6 ; 0x06 + 758: 57 fd sbrc r21, 7 + 75a: 0a c0 rjmp .+20 ; 0x770 + 75c: 2f 81 ldd r18, Y+7 ; 0x07 + 75e: 38 85 ldd r19, Y+8 ; 0x08 + 760: 42 17 cp r20, r18 + 762: 53 07 cpc r21, r19 + 764: 0c f4 brge .+2 ; 0x768 + 766: 9a 01 movw r18, r20 + 768: f8 01 movw r30, r16 + 76a: e2 0f add r30, r18 + 76c: f3 1f adc r31, r19 + 76e: 10 82 st Z, r1 + 770: 2e 96 adiw r28, 0x0e ; 14 + 772: 0f b6 in r0, 0x3f ; 63 + 774: f8 94 cli + 776: de bf out 0x3e, r29 ; 62 + 778: 0f be out 0x3f, r0 ; 63 + 77a: cd bf out 0x3d, r28 ; 61 + 77c: df 91 pop r29 + 77e: cf 91 pop r28 + 780: 1f 91 pop r17 + 782: 0f 91 pop r16 + 784: 08 95 ret -000007ba : - 7ba: 2f 92 push r2 - 7bc: 3f 92 push r3 - 7be: 4f 92 push r4 - 7c0: 5f 92 push r5 - 7c2: 6f 92 push r6 - 7c4: 7f 92 push r7 - 7c6: 8f 92 push r8 - 7c8: 9f 92 push r9 - 7ca: af 92 push r10 - 7cc: bf 92 push r11 - 7ce: cf 92 push r12 - 7d0: df 92 push r13 - 7d2: ef 92 push r14 - 7d4: ff 92 push r15 - 7d6: 0f 93 push r16 - 7d8: 1f 93 push r17 - 7da: cf 93 push r28 - 7dc: df 93 push r29 - 7de: cd b7 in r28, 0x3d ; 61 - 7e0: de b7 in r29, 0x3e ; 62 - 7e2: 2b 97 sbiw r28, 0x0b ; 11 - 7e4: 0f b6 in r0, 0x3f ; 63 - 7e6: f8 94 cli - 7e8: de bf out 0x3e, r29 ; 62 - 7ea: 0f be out 0x3f, r0 ; 63 - 7ec: cd bf out 0x3d, r28 ; 61 - 7ee: 6c 01 movw r12, r24 - 7f0: 7b 01 movw r14, r22 - 7f2: 8a 01 movw r16, r20 - 7f4: fc 01 movw r30, r24 - 7f6: 17 82 std Z+7, r1 ; 0x07 - 7f8: 16 82 std Z+6, r1 ; 0x06 - 7fa: 83 81 ldd r24, Z+3 ; 0x03 - 7fc: 81 ff sbrs r24, 1 - 7fe: bf c1 rjmp .+894 ; 0xb7e - 800: ce 01 movw r24, r28 - 802: 01 96 adiw r24, 0x01 ; 1 - 804: 3c 01 movw r6, r24 - 806: f6 01 movw r30, r12 - 808: 93 81 ldd r25, Z+3 ; 0x03 - 80a: f7 01 movw r30, r14 - 80c: 93 fd sbrc r25, 3 - 80e: 85 91 lpm r24, Z+ - 810: 93 ff sbrs r25, 3 - 812: 81 91 ld r24, Z+ - 814: 7f 01 movw r14, r30 - 816: 88 23 and r24, r24 - 818: 09 f4 brne .+2 ; 0x81c - 81a: ad c1 rjmp .+858 ; 0xb76 - 81c: 85 32 cpi r24, 0x25 ; 37 - 81e: 39 f4 brne .+14 ; 0x82e - 820: 93 fd sbrc r25, 3 - 822: 85 91 lpm r24, Z+ - 824: 93 ff sbrs r25, 3 - 826: 81 91 ld r24, Z+ - 828: 7f 01 movw r14, r30 - 82a: 85 32 cpi r24, 0x25 ; 37 - 82c: 21 f4 brne .+8 ; 0x836 - 82e: b6 01 movw r22, r12 - 830: 90 e0 ldi r25, 0x00 ; 0 - 832: d6 d1 rcall .+940 ; 0xbe0 - 834: e8 cf rjmp .-48 ; 0x806 - 836: 91 2c mov r9, r1 - 838: 21 2c mov r2, r1 - 83a: 31 2c mov r3, r1 - 83c: ff e1 ldi r31, 0x1F ; 31 - 83e: f3 15 cp r31, r3 - 840: d8 f0 brcs .+54 ; 0x878 - 842: 8b 32 cpi r24, 0x2B ; 43 - 844: 79 f0 breq .+30 ; 0x864 - 846: 38 f4 brcc .+14 ; 0x856 - 848: 80 32 cpi r24, 0x20 ; 32 - 84a: 79 f0 breq .+30 ; 0x86a - 84c: 83 32 cpi r24, 0x23 ; 35 - 84e: a1 f4 brne .+40 ; 0x878 - 850: 23 2d mov r18, r3 - 852: 20 61 ori r18, 0x10 ; 16 - 854: 1d c0 rjmp .+58 ; 0x890 - 856: 8d 32 cpi r24, 0x2D ; 45 - 858: 61 f0 breq .+24 ; 0x872 - 85a: 80 33 cpi r24, 0x30 ; 48 - 85c: 69 f4 brne .+26 ; 0x878 - 85e: 23 2d mov r18, r3 - 860: 21 60 ori r18, 0x01 ; 1 - 862: 16 c0 rjmp .+44 ; 0x890 - 864: 83 2d mov r24, r3 - 866: 82 60 ori r24, 0x02 ; 2 - 868: 38 2e mov r3, r24 - 86a: e3 2d mov r30, r3 - 86c: e4 60 ori r30, 0x04 ; 4 - 86e: 3e 2e mov r3, r30 - 870: 2a c0 rjmp .+84 ; 0x8c6 - 872: f3 2d mov r31, r3 - 874: f8 60 ori r31, 0x08 ; 8 - 876: 1d c0 rjmp .+58 ; 0x8b2 - 878: 37 fc sbrc r3, 7 - 87a: 2d c0 rjmp .+90 ; 0x8d6 - 87c: 20 ed ldi r18, 0xD0 ; 208 - 87e: 28 0f add r18, r24 - 880: 2a 30 cpi r18, 0x0A ; 10 - 882: 40 f0 brcs .+16 ; 0x894 - 884: 8e 32 cpi r24, 0x2E ; 46 - 886: b9 f4 brne .+46 ; 0x8b6 - 888: 36 fc sbrc r3, 6 - 88a: 75 c1 rjmp .+746 ; 0xb76 - 88c: 23 2d mov r18, r3 - 88e: 20 64 ori r18, 0x40 ; 64 - 890: 32 2e mov r3, r18 - 892: 19 c0 rjmp .+50 ; 0x8c6 - 894: 36 fe sbrs r3, 6 - 896: 06 c0 rjmp .+12 ; 0x8a4 - 898: 8a e0 ldi r24, 0x0A ; 10 - 89a: 98 9e mul r9, r24 - 89c: 20 0d add r18, r0 - 89e: 11 24 eor r1, r1 - 8a0: 92 2e mov r9, r18 - 8a2: 11 c0 rjmp .+34 ; 0x8c6 - 8a4: ea e0 ldi r30, 0x0A ; 10 - 8a6: 2e 9e mul r2, r30 - 8a8: 20 0d add r18, r0 - 8aa: 11 24 eor r1, r1 - 8ac: 22 2e mov r2, r18 - 8ae: f3 2d mov r31, r3 - 8b0: f0 62 ori r31, 0x20 ; 32 - 8b2: 3f 2e mov r3, r31 - 8b4: 08 c0 rjmp .+16 ; 0x8c6 - 8b6: 8c 36 cpi r24, 0x6C ; 108 - 8b8: 21 f4 brne .+8 ; 0x8c2 - 8ba: 83 2d mov r24, r3 - 8bc: 80 68 ori r24, 0x80 ; 128 - 8be: 38 2e mov r3, r24 - 8c0: 02 c0 rjmp .+4 ; 0x8c6 - 8c2: 88 36 cpi r24, 0x68 ; 104 - 8c4: 41 f4 brne .+16 ; 0x8d6 - 8c6: f7 01 movw r30, r14 - 8c8: 93 fd sbrc r25, 3 - 8ca: 85 91 lpm r24, Z+ - 8cc: 93 ff sbrs r25, 3 - 8ce: 81 91 ld r24, Z+ - 8d0: 7f 01 movw r14, r30 - 8d2: 81 11 cpse r24, r1 - 8d4: b3 cf rjmp .-154 ; 0x83c - 8d6: 98 2f mov r25, r24 - 8d8: 9f 7d andi r25, 0xDF ; 223 - 8da: 95 54 subi r25, 0x45 ; 69 - 8dc: 93 30 cpi r25, 0x03 ; 3 - 8de: 28 f4 brcc .+10 ; 0x8ea - 8e0: 0c 5f subi r16, 0xFC ; 252 - 8e2: 1f 4f sbci r17, 0xFF ; 255 - 8e4: 9f e3 ldi r25, 0x3F ; 63 - 8e6: 99 83 std Y+1, r25 ; 0x01 - 8e8: 0d c0 rjmp .+26 ; 0x904 - 8ea: 83 36 cpi r24, 0x63 ; 99 - 8ec: 31 f0 breq .+12 ; 0x8fa - 8ee: 83 37 cpi r24, 0x73 ; 115 - 8f0: 71 f0 breq .+28 ; 0x90e - 8f2: 83 35 cpi r24, 0x53 ; 83 - 8f4: 09 f0 breq .+2 ; 0x8f8 - 8f6: 55 c0 rjmp .+170 ; 0x9a2 - 8f8: 20 c0 rjmp .+64 ; 0x93a - 8fa: f8 01 movw r30, r16 - 8fc: 80 81 ld r24, Z - 8fe: 89 83 std Y+1, r24 ; 0x01 - 900: 0e 5f subi r16, 0xFE ; 254 - 902: 1f 4f sbci r17, 0xFF ; 255 - 904: 88 24 eor r8, r8 - 906: 83 94 inc r8 - 908: 91 2c mov r9, r1 - 90a: 53 01 movw r10, r6 - 90c: 12 c0 rjmp .+36 ; 0x932 - 90e: 28 01 movw r4, r16 - 910: f2 e0 ldi r31, 0x02 ; 2 - 912: 4f 0e add r4, r31 - 914: 51 1c adc r5, r1 - 916: f8 01 movw r30, r16 - 918: a0 80 ld r10, Z - 91a: b1 80 ldd r11, Z+1 ; 0x01 - 91c: 36 fe sbrs r3, 6 - 91e: 03 c0 rjmp .+6 ; 0x926 - 920: 69 2d mov r22, r9 - 922: 70 e0 ldi r23, 0x00 ; 0 - 924: 02 c0 rjmp .+4 ; 0x92a - 926: 6f ef ldi r22, 0xFF ; 255 - 928: 7f ef ldi r23, 0xFF ; 255 - 92a: c5 01 movw r24, r10 - 92c: 4e d1 rcall .+668 ; 0xbca - 92e: 4c 01 movw r8, r24 - 930: 82 01 movw r16, r4 - 932: f3 2d mov r31, r3 - 934: ff 77 andi r31, 0x7F ; 127 - 936: 3f 2e mov r3, r31 - 938: 15 c0 rjmp .+42 ; 0x964 - 93a: 28 01 movw r4, r16 - 93c: 22 e0 ldi r18, 0x02 ; 2 - 93e: 42 0e add r4, r18 - 940: 51 1c adc r5, r1 - 942: f8 01 movw r30, r16 - 944: a0 80 ld r10, Z - 946: b1 80 ldd r11, Z+1 ; 0x01 - 948: 36 fe sbrs r3, 6 - 94a: 03 c0 rjmp .+6 ; 0x952 - 94c: 69 2d mov r22, r9 - 94e: 70 e0 ldi r23, 0x00 ; 0 - 950: 02 c0 rjmp .+4 ; 0x956 - 952: 6f ef ldi r22, 0xFF ; 255 - 954: 7f ef ldi r23, 0xFF ; 255 - 956: c5 01 movw r24, r10 - 958: 2d d1 rcall .+602 ; 0xbb4 - 95a: 4c 01 movw r8, r24 - 95c: f3 2d mov r31, r3 - 95e: f0 68 ori r31, 0x80 ; 128 - 960: 3f 2e mov r3, r31 - 962: 82 01 movw r16, r4 - 964: 33 fc sbrc r3, 3 - 966: 19 c0 rjmp .+50 ; 0x99a - 968: 82 2d mov r24, r2 - 96a: 90 e0 ldi r25, 0x00 ; 0 - 96c: 88 16 cp r8, r24 - 96e: 99 06 cpc r9, r25 - 970: a0 f4 brcc .+40 ; 0x99a - 972: b6 01 movw r22, r12 - 974: 80 e2 ldi r24, 0x20 ; 32 - 976: 90 e0 ldi r25, 0x00 ; 0 - 978: 33 d1 rcall .+614 ; 0xbe0 - 97a: 2a 94 dec r2 - 97c: f5 cf rjmp .-22 ; 0x968 - 97e: f5 01 movw r30, r10 - 980: 37 fc sbrc r3, 7 - 982: 85 91 lpm r24, Z+ - 984: 37 fe sbrs r3, 7 - 986: 81 91 ld r24, Z+ - 988: 5f 01 movw r10, r30 - 98a: b6 01 movw r22, r12 - 98c: 90 e0 ldi r25, 0x00 ; 0 - 98e: 28 d1 rcall .+592 ; 0xbe0 - 990: 21 10 cpse r2, r1 - 992: 2a 94 dec r2 - 994: 21 e0 ldi r18, 0x01 ; 1 - 996: 82 1a sub r8, r18 - 998: 91 08 sbc r9, r1 - 99a: 81 14 cp r8, r1 - 99c: 91 04 cpc r9, r1 - 99e: 79 f7 brne .-34 ; 0x97e - 9a0: e1 c0 rjmp .+450 ; 0xb64 - 9a2: 84 36 cpi r24, 0x64 ; 100 - 9a4: 11 f0 breq .+4 ; 0x9aa - 9a6: 89 36 cpi r24, 0x69 ; 105 - 9a8: 39 f5 brne .+78 ; 0x9f8 - 9aa: f8 01 movw r30, r16 - 9ac: 37 fe sbrs r3, 7 - 9ae: 07 c0 rjmp .+14 ; 0x9be - 9b0: 60 81 ld r22, Z - 9b2: 71 81 ldd r23, Z+1 ; 0x01 - 9b4: 82 81 ldd r24, Z+2 ; 0x02 - 9b6: 93 81 ldd r25, Z+3 ; 0x03 - 9b8: 0c 5f subi r16, 0xFC ; 252 - 9ba: 1f 4f sbci r17, 0xFF ; 255 - 9bc: 08 c0 rjmp .+16 ; 0x9ce - 9be: 60 81 ld r22, Z - 9c0: 71 81 ldd r23, Z+1 ; 0x01 - 9c2: 07 2e mov r0, r23 - 9c4: 00 0c add r0, r0 - 9c6: 88 0b sbc r24, r24 - 9c8: 99 0b sbc r25, r25 - 9ca: 0e 5f subi r16, 0xFE ; 254 - 9cc: 1f 4f sbci r17, 0xFF ; 255 - 9ce: f3 2d mov r31, r3 - 9d0: ff 76 andi r31, 0x6F ; 111 - 9d2: 3f 2e mov r3, r31 - 9d4: 97 ff sbrs r25, 7 - 9d6: 09 c0 rjmp .+18 ; 0x9ea - 9d8: 90 95 com r25 - 9da: 80 95 com r24 - 9dc: 70 95 com r23 - 9de: 61 95 neg r22 - 9e0: 7f 4f sbci r23, 0xFF ; 255 - 9e2: 8f 4f sbci r24, 0xFF ; 255 - 9e4: 9f 4f sbci r25, 0xFF ; 255 - 9e6: f0 68 ori r31, 0x80 ; 128 - 9e8: 3f 2e mov r3, r31 - 9ea: 2a e0 ldi r18, 0x0A ; 10 - 9ec: 30 e0 ldi r19, 0x00 ; 0 - 9ee: a3 01 movw r20, r6 - 9f0: 33 d1 rcall .+614 ; 0xc58 <__ultoa_invert> - 9f2: 88 2e mov r8, r24 - 9f4: 86 18 sub r8, r6 - 9f6: 44 c0 rjmp .+136 ; 0xa80 - 9f8: 85 37 cpi r24, 0x75 ; 117 - 9fa: 31 f4 brne .+12 ; 0xa08 - 9fc: 23 2d mov r18, r3 - 9fe: 2f 7e andi r18, 0xEF ; 239 - a00: b2 2e mov r11, r18 - a02: 2a e0 ldi r18, 0x0A ; 10 - a04: 30 e0 ldi r19, 0x00 ; 0 - a06: 25 c0 rjmp .+74 ; 0xa52 - a08: 93 2d mov r25, r3 - a0a: 99 7f andi r25, 0xF9 ; 249 - a0c: b9 2e mov r11, r25 - a0e: 8f 36 cpi r24, 0x6F ; 111 - a10: c1 f0 breq .+48 ; 0xa42 - a12: 18 f4 brcc .+6 ; 0xa1a - a14: 88 35 cpi r24, 0x58 ; 88 - a16: 79 f0 breq .+30 ; 0xa36 - a18: ae c0 rjmp .+348 ; 0xb76 - a1a: 80 37 cpi r24, 0x70 ; 112 - a1c: 19 f0 breq .+6 ; 0xa24 - a1e: 88 37 cpi r24, 0x78 ; 120 - a20: 21 f0 breq .+8 ; 0xa2a - a22: a9 c0 rjmp .+338 ; 0xb76 - a24: e9 2f mov r30, r25 - a26: e0 61 ori r30, 0x10 ; 16 - a28: be 2e mov r11, r30 - a2a: b4 fe sbrs r11, 4 - a2c: 0d c0 rjmp .+26 ; 0xa48 - a2e: fb 2d mov r31, r11 - a30: f4 60 ori r31, 0x04 ; 4 - a32: bf 2e mov r11, r31 - a34: 09 c0 rjmp .+18 ; 0xa48 - a36: 34 fe sbrs r3, 4 - a38: 0a c0 rjmp .+20 ; 0xa4e - a3a: 29 2f mov r18, r25 - a3c: 26 60 ori r18, 0x06 ; 6 - a3e: b2 2e mov r11, r18 - a40: 06 c0 rjmp .+12 ; 0xa4e - a42: 28 e0 ldi r18, 0x08 ; 8 - a44: 30 e0 ldi r19, 0x00 ; 0 - a46: 05 c0 rjmp .+10 ; 0xa52 - a48: 20 e1 ldi r18, 0x10 ; 16 - a4a: 30 e0 ldi r19, 0x00 ; 0 - a4c: 02 c0 rjmp .+4 ; 0xa52 - a4e: 20 e1 ldi r18, 0x10 ; 16 - a50: 32 e0 ldi r19, 0x02 ; 2 - a52: f8 01 movw r30, r16 - a54: b7 fe sbrs r11, 7 - a56: 07 c0 rjmp .+14 ; 0xa66 - a58: 60 81 ld r22, Z - a5a: 71 81 ldd r23, Z+1 ; 0x01 - a5c: 82 81 ldd r24, Z+2 ; 0x02 - a5e: 93 81 ldd r25, Z+3 ; 0x03 - a60: 0c 5f subi r16, 0xFC ; 252 - a62: 1f 4f sbci r17, 0xFF ; 255 - a64: 06 c0 rjmp .+12 ; 0xa72 - a66: 60 81 ld r22, Z - a68: 71 81 ldd r23, Z+1 ; 0x01 - a6a: 80 e0 ldi r24, 0x00 ; 0 - a6c: 90 e0 ldi r25, 0x00 ; 0 - a6e: 0e 5f subi r16, 0xFE ; 254 - a70: 1f 4f sbci r17, 0xFF ; 255 - a72: a3 01 movw r20, r6 - a74: f1 d0 rcall .+482 ; 0xc58 <__ultoa_invert> - a76: 88 2e mov r8, r24 - a78: 86 18 sub r8, r6 - a7a: fb 2d mov r31, r11 - a7c: ff 77 andi r31, 0x7F ; 127 - a7e: 3f 2e mov r3, r31 - a80: 36 fe sbrs r3, 6 - a82: 0d c0 rjmp .+26 ; 0xa9e - a84: 23 2d mov r18, r3 - a86: 2e 7f andi r18, 0xFE ; 254 - a88: a2 2e mov r10, r18 - a8a: 89 14 cp r8, r9 - a8c: 58 f4 brcc .+22 ; 0xaa4 - a8e: 34 fe sbrs r3, 4 - a90: 0b c0 rjmp .+22 ; 0xaa8 - a92: 32 fc sbrc r3, 2 - a94: 09 c0 rjmp .+18 ; 0xaa8 - a96: 83 2d mov r24, r3 - a98: 8e 7e andi r24, 0xEE ; 238 - a9a: a8 2e mov r10, r24 - a9c: 05 c0 rjmp .+10 ; 0xaa8 - a9e: b8 2c mov r11, r8 - aa0: a3 2c mov r10, r3 - aa2: 03 c0 rjmp .+6 ; 0xaaa - aa4: b8 2c mov r11, r8 - aa6: 01 c0 rjmp .+2 ; 0xaaa - aa8: b9 2c mov r11, r9 - aaa: a4 fe sbrs r10, 4 - aac: 0f c0 rjmp .+30 ; 0xacc - aae: fe 01 movw r30, r28 - ab0: e8 0d add r30, r8 - ab2: f1 1d adc r31, r1 - ab4: 80 81 ld r24, Z - ab6: 80 33 cpi r24, 0x30 ; 48 - ab8: 21 f4 brne .+8 ; 0xac2 - aba: 9a 2d mov r25, r10 - abc: 99 7e andi r25, 0xE9 ; 233 - abe: a9 2e mov r10, r25 - ac0: 09 c0 rjmp .+18 ; 0xad4 - ac2: a2 fe sbrs r10, 2 - ac4: 06 c0 rjmp .+12 ; 0xad2 - ac6: b3 94 inc r11 - ac8: b3 94 inc r11 - aca: 04 c0 rjmp .+8 ; 0xad4 - acc: 8a 2d mov r24, r10 - ace: 86 78 andi r24, 0x86 ; 134 - ad0: 09 f0 breq .+2 ; 0xad4 - ad2: b3 94 inc r11 - ad4: a3 fc sbrc r10, 3 - ad6: 10 c0 rjmp .+32 ; 0xaf8 - ad8: a0 fe sbrs r10, 0 - ada: 06 c0 rjmp .+12 ; 0xae8 - adc: b2 14 cp r11, r2 - ade: 80 f4 brcc .+32 ; 0xb00 - ae0: 28 0c add r2, r8 - ae2: 92 2c mov r9, r2 - ae4: 9b 18 sub r9, r11 - ae6: 0d c0 rjmp .+26 ; 0xb02 - ae8: b2 14 cp r11, r2 - aea: 58 f4 brcc .+22 ; 0xb02 - aec: b6 01 movw r22, r12 - aee: 80 e2 ldi r24, 0x20 ; 32 - af0: 90 e0 ldi r25, 0x00 ; 0 - af2: 76 d0 rcall .+236 ; 0xbe0 - af4: b3 94 inc r11 - af6: f8 cf rjmp .-16 ; 0xae8 - af8: b2 14 cp r11, r2 - afa: 18 f4 brcc .+6 ; 0xb02 - afc: 2b 18 sub r2, r11 - afe: 02 c0 rjmp .+4 ; 0xb04 - b00: 98 2c mov r9, r8 - b02: 21 2c mov r2, r1 - b04: a4 fe sbrs r10, 4 - b06: 0f c0 rjmp .+30 ; 0xb26 - b08: b6 01 movw r22, r12 - b0a: 80 e3 ldi r24, 0x30 ; 48 - b0c: 90 e0 ldi r25, 0x00 ; 0 - b0e: 68 d0 rcall .+208 ; 0xbe0 - b10: a2 fe sbrs r10, 2 - b12: 16 c0 rjmp .+44 ; 0xb40 - b14: a1 fc sbrc r10, 1 - b16: 03 c0 rjmp .+6 ; 0xb1e - b18: 88 e7 ldi r24, 0x78 ; 120 - b1a: 90 e0 ldi r25, 0x00 ; 0 - b1c: 02 c0 rjmp .+4 ; 0xb22 - b1e: 88 e5 ldi r24, 0x58 ; 88 - b20: 90 e0 ldi r25, 0x00 ; 0 - b22: b6 01 movw r22, r12 - b24: 0c c0 rjmp .+24 ; 0xb3e - b26: 8a 2d mov r24, r10 - b28: 86 78 andi r24, 0x86 ; 134 - b2a: 51 f0 breq .+20 ; 0xb40 - b2c: a1 fe sbrs r10, 1 - b2e: 02 c0 rjmp .+4 ; 0xb34 - b30: 8b e2 ldi r24, 0x2B ; 43 - b32: 01 c0 rjmp .+2 ; 0xb36 - b34: 80 e2 ldi r24, 0x20 ; 32 - b36: a7 fc sbrc r10, 7 - b38: 8d e2 ldi r24, 0x2D ; 45 - b3a: b6 01 movw r22, r12 - b3c: 90 e0 ldi r25, 0x00 ; 0 - b3e: 50 d0 rcall .+160 ; 0xbe0 - b40: 89 14 cp r8, r9 - b42: 30 f4 brcc .+12 ; 0xb50 - b44: b6 01 movw r22, r12 - b46: 80 e3 ldi r24, 0x30 ; 48 - b48: 90 e0 ldi r25, 0x00 ; 0 - b4a: 4a d0 rcall .+148 ; 0xbe0 - b4c: 9a 94 dec r9 - b4e: f8 cf rjmp .-16 ; 0xb40 - b50: 8a 94 dec r8 - b52: f3 01 movw r30, r6 - b54: e8 0d add r30, r8 - b56: f1 1d adc r31, r1 - b58: 80 81 ld r24, Z - b5a: b6 01 movw r22, r12 - b5c: 90 e0 ldi r25, 0x00 ; 0 - b5e: 40 d0 rcall .+128 ; 0xbe0 - b60: 81 10 cpse r8, r1 - b62: f6 cf rjmp .-20 ; 0xb50 - b64: 22 20 and r2, r2 - b66: 09 f4 brne .+2 ; 0xb6a - b68: 4e ce rjmp .-868 ; 0x806 - b6a: b6 01 movw r22, r12 - b6c: 80 e2 ldi r24, 0x20 ; 32 - b6e: 90 e0 ldi r25, 0x00 ; 0 - b70: 37 d0 rcall .+110 ; 0xbe0 - b72: 2a 94 dec r2 - b74: f7 cf rjmp .-18 ; 0xb64 - b76: f6 01 movw r30, r12 - b78: 86 81 ldd r24, Z+6 ; 0x06 - b7a: 97 81 ldd r25, Z+7 ; 0x07 - b7c: 02 c0 rjmp .+4 ; 0xb82 - b7e: 8f ef ldi r24, 0xFF ; 255 - b80: 9f ef ldi r25, 0xFF ; 255 - b82: 2b 96 adiw r28, 0x0b ; 11 - b84: 0f b6 in r0, 0x3f ; 63 - b86: f8 94 cli - b88: de bf out 0x3e, r29 ; 62 - b8a: 0f be out 0x3f, r0 ; 63 - b8c: cd bf out 0x3d, r28 ; 61 - b8e: df 91 pop r29 - b90: cf 91 pop r28 - b92: 1f 91 pop r17 - b94: 0f 91 pop r16 - b96: ff 90 pop r15 - b98: ef 90 pop r14 - b9a: df 90 pop r13 - b9c: cf 90 pop r12 - b9e: bf 90 pop r11 - ba0: af 90 pop r10 - ba2: 9f 90 pop r9 - ba4: 8f 90 pop r8 - ba6: 7f 90 pop r7 - ba8: 6f 90 pop r6 - baa: 5f 90 pop r5 - bac: 4f 90 pop r4 - bae: 3f 90 pop r3 - bb0: 2f 90 pop r2 - bb2: 08 95 ret +00000786 : + 786: 2f 92 push r2 + 788: 3f 92 push r3 + 78a: 4f 92 push r4 + 78c: 5f 92 push r5 + 78e: 6f 92 push r6 + 790: 7f 92 push r7 + 792: 8f 92 push r8 + 794: 9f 92 push r9 + 796: af 92 push r10 + 798: bf 92 push r11 + 79a: cf 92 push r12 + 79c: df 92 push r13 + 79e: ef 92 push r14 + 7a0: ff 92 push r15 + 7a2: 0f 93 push r16 + 7a4: 1f 93 push r17 + 7a6: cf 93 push r28 + 7a8: df 93 push r29 + 7aa: cd b7 in r28, 0x3d ; 61 + 7ac: de b7 in r29, 0x3e ; 62 + 7ae: 2b 97 sbiw r28, 0x0b ; 11 + 7b0: 0f b6 in r0, 0x3f ; 63 + 7b2: f8 94 cli + 7b4: de bf out 0x3e, r29 ; 62 + 7b6: 0f be out 0x3f, r0 ; 63 + 7b8: cd bf out 0x3d, r28 ; 61 + 7ba: 6c 01 movw r12, r24 + 7bc: 7b 01 movw r14, r22 + 7be: 8a 01 movw r16, r20 + 7c0: fc 01 movw r30, r24 + 7c2: 17 82 std Z+7, r1 ; 0x07 + 7c4: 16 82 std Z+6, r1 ; 0x06 + 7c6: 83 81 ldd r24, Z+3 ; 0x03 + 7c8: 81 ff sbrs r24, 1 + 7ca: bf c1 rjmp .+894 ; 0xb4a + 7cc: ce 01 movw r24, r28 + 7ce: 01 96 adiw r24, 0x01 ; 1 + 7d0: 3c 01 movw r6, r24 + 7d2: f6 01 movw r30, r12 + 7d4: 93 81 ldd r25, Z+3 ; 0x03 + 7d6: f7 01 movw r30, r14 + 7d8: 93 fd sbrc r25, 3 + 7da: 85 91 lpm r24, Z+ + 7dc: 93 ff sbrs r25, 3 + 7de: 81 91 ld r24, Z+ + 7e0: 7f 01 movw r14, r30 + 7e2: 88 23 and r24, r24 + 7e4: 09 f4 brne .+2 ; 0x7e8 + 7e6: ad c1 rjmp .+858 ; 0xb42 + 7e8: 85 32 cpi r24, 0x25 ; 37 + 7ea: 39 f4 brne .+14 ; 0x7fa + 7ec: 93 fd sbrc r25, 3 + 7ee: 85 91 lpm r24, Z+ + 7f0: 93 ff sbrs r25, 3 + 7f2: 81 91 ld r24, Z+ + 7f4: 7f 01 movw r14, r30 + 7f6: 85 32 cpi r24, 0x25 ; 37 + 7f8: 21 f4 brne .+8 ; 0x802 + 7fa: b6 01 movw r22, r12 + 7fc: 90 e0 ldi r25, 0x00 ; 0 + 7fe: d6 d1 rcall .+940 ; 0xbac + 800: e8 cf rjmp .-48 ; 0x7d2 + 802: 91 2c mov r9, r1 + 804: 21 2c mov r2, r1 + 806: 31 2c mov r3, r1 + 808: ff e1 ldi r31, 0x1F ; 31 + 80a: f3 15 cp r31, r3 + 80c: d8 f0 brcs .+54 ; 0x844 + 80e: 8b 32 cpi r24, 0x2B ; 43 + 810: 79 f0 breq .+30 ; 0x830 + 812: 38 f4 brcc .+14 ; 0x822 + 814: 80 32 cpi r24, 0x20 ; 32 + 816: 79 f0 breq .+30 ; 0x836 + 818: 83 32 cpi r24, 0x23 ; 35 + 81a: a1 f4 brne .+40 ; 0x844 + 81c: 23 2d mov r18, r3 + 81e: 20 61 ori r18, 0x10 ; 16 + 820: 1d c0 rjmp .+58 ; 0x85c + 822: 8d 32 cpi r24, 0x2D ; 45 + 824: 61 f0 breq .+24 ; 0x83e + 826: 80 33 cpi r24, 0x30 ; 48 + 828: 69 f4 brne .+26 ; 0x844 + 82a: 23 2d mov r18, r3 + 82c: 21 60 ori r18, 0x01 ; 1 + 82e: 16 c0 rjmp .+44 ; 0x85c + 830: 83 2d mov r24, r3 + 832: 82 60 ori r24, 0x02 ; 2 + 834: 38 2e mov r3, r24 + 836: e3 2d mov r30, r3 + 838: e4 60 ori r30, 0x04 ; 4 + 83a: 3e 2e mov r3, r30 + 83c: 2a c0 rjmp .+84 ; 0x892 + 83e: f3 2d mov r31, r3 + 840: f8 60 ori r31, 0x08 ; 8 + 842: 1d c0 rjmp .+58 ; 0x87e + 844: 37 fc sbrc r3, 7 + 846: 2d c0 rjmp .+90 ; 0x8a2 + 848: 20 ed ldi r18, 0xD0 ; 208 + 84a: 28 0f add r18, r24 + 84c: 2a 30 cpi r18, 0x0A ; 10 + 84e: 40 f0 brcs .+16 ; 0x860 + 850: 8e 32 cpi r24, 0x2E ; 46 + 852: b9 f4 brne .+46 ; 0x882 + 854: 36 fc sbrc r3, 6 + 856: 75 c1 rjmp .+746 ; 0xb42 + 858: 23 2d mov r18, r3 + 85a: 20 64 ori r18, 0x40 ; 64 + 85c: 32 2e mov r3, r18 + 85e: 19 c0 rjmp .+50 ; 0x892 + 860: 36 fe sbrs r3, 6 + 862: 06 c0 rjmp .+12 ; 0x870 + 864: 8a e0 ldi r24, 0x0A ; 10 + 866: 98 9e mul r9, r24 + 868: 20 0d add r18, r0 + 86a: 11 24 eor r1, r1 + 86c: 92 2e mov r9, r18 + 86e: 11 c0 rjmp .+34 ; 0x892 + 870: ea e0 ldi r30, 0x0A ; 10 + 872: 2e 9e mul r2, r30 + 874: 20 0d add r18, r0 + 876: 11 24 eor r1, r1 + 878: 22 2e mov r2, r18 + 87a: f3 2d mov r31, r3 + 87c: f0 62 ori r31, 0x20 ; 32 + 87e: 3f 2e mov r3, r31 + 880: 08 c0 rjmp .+16 ; 0x892 + 882: 8c 36 cpi r24, 0x6C ; 108 + 884: 21 f4 brne .+8 ; 0x88e + 886: 83 2d mov r24, r3 + 888: 80 68 ori r24, 0x80 ; 128 + 88a: 38 2e mov r3, r24 + 88c: 02 c0 rjmp .+4 ; 0x892 + 88e: 88 36 cpi r24, 0x68 ; 104 + 890: 41 f4 brne .+16 ; 0x8a2 + 892: f7 01 movw r30, r14 + 894: 93 fd sbrc r25, 3 + 896: 85 91 lpm r24, Z+ + 898: 93 ff sbrs r25, 3 + 89a: 81 91 ld r24, Z+ + 89c: 7f 01 movw r14, r30 + 89e: 81 11 cpse r24, r1 + 8a0: b3 cf rjmp .-154 ; 0x808 + 8a2: 98 2f mov r25, r24 + 8a4: 9f 7d andi r25, 0xDF ; 223 + 8a6: 95 54 subi r25, 0x45 ; 69 + 8a8: 93 30 cpi r25, 0x03 ; 3 + 8aa: 28 f4 brcc .+10 ; 0x8b6 + 8ac: 0c 5f subi r16, 0xFC ; 252 + 8ae: 1f 4f sbci r17, 0xFF ; 255 + 8b0: 9f e3 ldi r25, 0x3F ; 63 + 8b2: 99 83 std Y+1, r25 ; 0x01 + 8b4: 0d c0 rjmp .+26 ; 0x8d0 + 8b6: 83 36 cpi r24, 0x63 ; 99 + 8b8: 31 f0 breq .+12 ; 0x8c6 + 8ba: 83 37 cpi r24, 0x73 ; 115 + 8bc: 71 f0 breq .+28 ; 0x8da + 8be: 83 35 cpi r24, 0x53 ; 83 + 8c0: 09 f0 breq .+2 ; 0x8c4 + 8c2: 55 c0 rjmp .+170 ; 0x96e + 8c4: 20 c0 rjmp .+64 ; 0x906 + 8c6: f8 01 movw r30, r16 + 8c8: 80 81 ld r24, Z + 8ca: 89 83 std Y+1, r24 ; 0x01 + 8cc: 0e 5f subi r16, 0xFE ; 254 + 8ce: 1f 4f sbci r17, 0xFF ; 255 + 8d0: 88 24 eor r8, r8 + 8d2: 83 94 inc r8 + 8d4: 91 2c mov r9, r1 + 8d6: 53 01 movw r10, r6 + 8d8: 12 c0 rjmp .+36 ; 0x8fe + 8da: 28 01 movw r4, r16 + 8dc: f2 e0 ldi r31, 0x02 ; 2 + 8de: 4f 0e add r4, r31 + 8e0: 51 1c adc r5, r1 + 8e2: f8 01 movw r30, r16 + 8e4: a0 80 ld r10, Z + 8e6: b1 80 ldd r11, Z+1 ; 0x01 + 8e8: 36 fe sbrs r3, 6 + 8ea: 03 c0 rjmp .+6 ; 0x8f2 + 8ec: 69 2d mov r22, r9 + 8ee: 70 e0 ldi r23, 0x00 ; 0 + 8f0: 02 c0 rjmp .+4 ; 0x8f6 + 8f2: 6f ef ldi r22, 0xFF ; 255 + 8f4: 7f ef ldi r23, 0xFF ; 255 + 8f6: c5 01 movw r24, r10 + 8f8: 4e d1 rcall .+668 ; 0xb96 + 8fa: 4c 01 movw r8, r24 + 8fc: 82 01 movw r16, r4 + 8fe: f3 2d mov r31, r3 + 900: ff 77 andi r31, 0x7F ; 127 + 902: 3f 2e mov r3, r31 + 904: 15 c0 rjmp .+42 ; 0x930 + 906: 28 01 movw r4, r16 + 908: 22 e0 ldi r18, 0x02 ; 2 + 90a: 42 0e add r4, r18 + 90c: 51 1c adc r5, r1 + 90e: f8 01 movw r30, r16 + 910: a0 80 ld r10, Z + 912: b1 80 ldd r11, Z+1 ; 0x01 + 914: 36 fe sbrs r3, 6 + 916: 03 c0 rjmp .+6 ; 0x91e + 918: 69 2d mov r22, r9 + 91a: 70 e0 ldi r23, 0x00 ; 0 + 91c: 02 c0 rjmp .+4 ; 0x922 + 91e: 6f ef ldi r22, 0xFF ; 255 + 920: 7f ef ldi r23, 0xFF ; 255 + 922: c5 01 movw r24, r10 + 924: 2d d1 rcall .+602 ; 0xb80 + 926: 4c 01 movw r8, r24 + 928: f3 2d mov r31, r3 + 92a: f0 68 ori r31, 0x80 ; 128 + 92c: 3f 2e mov r3, r31 + 92e: 82 01 movw r16, r4 + 930: 33 fc sbrc r3, 3 + 932: 19 c0 rjmp .+50 ; 0x966 + 934: 82 2d mov r24, r2 + 936: 90 e0 ldi r25, 0x00 ; 0 + 938: 88 16 cp r8, r24 + 93a: 99 06 cpc r9, r25 + 93c: a0 f4 brcc .+40 ; 0x966 + 93e: b6 01 movw r22, r12 + 940: 80 e2 ldi r24, 0x20 ; 32 + 942: 90 e0 ldi r25, 0x00 ; 0 + 944: 33 d1 rcall .+614 ; 0xbac + 946: 2a 94 dec r2 + 948: f5 cf rjmp .-22 ; 0x934 + 94a: f5 01 movw r30, r10 + 94c: 37 fc sbrc r3, 7 + 94e: 85 91 lpm r24, Z+ + 950: 37 fe sbrs r3, 7 + 952: 81 91 ld r24, Z+ + 954: 5f 01 movw r10, r30 + 956: b6 01 movw r22, r12 + 958: 90 e0 ldi r25, 0x00 ; 0 + 95a: 28 d1 rcall .+592 ; 0xbac + 95c: 21 10 cpse r2, r1 + 95e: 2a 94 dec r2 + 960: 21 e0 ldi r18, 0x01 ; 1 + 962: 82 1a sub r8, r18 + 964: 91 08 sbc r9, r1 + 966: 81 14 cp r8, r1 + 968: 91 04 cpc r9, r1 + 96a: 79 f7 brne .-34 ; 0x94a + 96c: e1 c0 rjmp .+450 ; 0xb30 + 96e: 84 36 cpi r24, 0x64 ; 100 + 970: 11 f0 breq .+4 ; 0x976 + 972: 89 36 cpi r24, 0x69 ; 105 + 974: 39 f5 brne .+78 ; 0x9c4 + 976: f8 01 movw r30, r16 + 978: 37 fe sbrs r3, 7 + 97a: 07 c0 rjmp .+14 ; 0x98a + 97c: 60 81 ld r22, Z + 97e: 71 81 ldd r23, Z+1 ; 0x01 + 980: 82 81 ldd r24, Z+2 ; 0x02 + 982: 93 81 ldd r25, Z+3 ; 0x03 + 984: 0c 5f subi r16, 0xFC ; 252 + 986: 1f 4f sbci r17, 0xFF ; 255 + 988: 08 c0 rjmp .+16 ; 0x99a + 98a: 60 81 ld r22, Z + 98c: 71 81 ldd r23, Z+1 ; 0x01 + 98e: 07 2e mov r0, r23 + 990: 00 0c add r0, r0 + 992: 88 0b sbc r24, r24 + 994: 99 0b sbc r25, r25 + 996: 0e 5f subi r16, 0xFE ; 254 + 998: 1f 4f sbci r17, 0xFF ; 255 + 99a: f3 2d mov r31, r3 + 99c: ff 76 andi r31, 0x6F ; 111 + 99e: 3f 2e mov r3, r31 + 9a0: 97 ff sbrs r25, 7 + 9a2: 09 c0 rjmp .+18 ; 0x9b6 + 9a4: 90 95 com r25 + 9a6: 80 95 com r24 + 9a8: 70 95 com r23 + 9aa: 61 95 neg r22 + 9ac: 7f 4f sbci r23, 0xFF ; 255 + 9ae: 8f 4f sbci r24, 0xFF ; 255 + 9b0: 9f 4f sbci r25, 0xFF ; 255 + 9b2: f0 68 ori r31, 0x80 ; 128 + 9b4: 3f 2e mov r3, r31 + 9b6: 2a e0 ldi r18, 0x0A ; 10 + 9b8: 30 e0 ldi r19, 0x00 ; 0 + 9ba: a3 01 movw r20, r6 + 9bc: 33 d1 rcall .+614 ; 0xc24 <__ultoa_invert> + 9be: 88 2e mov r8, r24 + 9c0: 86 18 sub r8, r6 + 9c2: 44 c0 rjmp .+136 ; 0xa4c + 9c4: 85 37 cpi r24, 0x75 ; 117 + 9c6: 31 f4 brne .+12 ; 0x9d4 + 9c8: 23 2d mov r18, r3 + 9ca: 2f 7e andi r18, 0xEF ; 239 + 9cc: b2 2e mov r11, r18 + 9ce: 2a e0 ldi r18, 0x0A ; 10 + 9d0: 30 e0 ldi r19, 0x00 ; 0 + 9d2: 25 c0 rjmp .+74 ; 0xa1e + 9d4: 93 2d mov r25, r3 + 9d6: 99 7f andi r25, 0xF9 ; 249 + 9d8: b9 2e mov r11, r25 + 9da: 8f 36 cpi r24, 0x6F ; 111 + 9dc: c1 f0 breq .+48 ; 0xa0e + 9de: 18 f4 brcc .+6 ; 0x9e6 + 9e0: 88 35 cpi r24, 0x58 ; 88 + 9e2: 79 f0 breq .+30 ; 0xa02 + 9e4: ae c0 rjmp .+348 ; 0xb42 + 9e6: 80 37 cpi r24, 0x70 ; 112 + 9e8: 19 f0 breq .+6 ; 0x9f0 + 9ea: 88 37 cpi r24, 0x78 ; 120 + 9ec: 21 f0 breq .+8 ; 0x9f6 + 9ee: a9 c0 rjmp .+338 ; 0xb42 + 9f0: e9 2f mov r30, r25 + 9f2: e0 61 ori r30, 0x10 ; 16 + 9f4: be 2e mov r11, r30 + 9f6: b4 fe sbrs r11, 4 + 9f8: 0d c0 rjmp .+26 ; 0xa14 + 9fa: fb 2d mov r31, r11 + 9fc: f4 60 ori r31, 0x04 ; 4 + 9fe: bf 2e mov r11, r31 + a00: 09 c0 rjmp .+18 ; 0xa14 + a02: 34 fe sbrs r3, 4 + a04: 0a c0 rjmp .+20 ; 0xa1a + a06: 29 2f mov r18, r25 + a08: 26 60 ori r18, 0x06 ; 6 + a0a: b2 2e mov r11, r18 + a0c: 06 c0 rjmp .+12 ; 0xa1a + a0e: 28 e0 ldi r18, 0x08 ; 8 + a10: 30 e0 ldi r19, 0x00 ; 0 + a12: 05 c0 rjmp .+10 ; 0xa1e + a14: 20 e1 ldi r18, 0x10 ; 16 + a16: 30 e0 ldi r19, 0x00 ; 0 + a18: 02 c0 rjmp .+4 ; 0xa1e + a1a: 20 e1 ldi r18, 0x10 ; 16 + a1c: 32 e0 ldi r19, 0x02 ; 2 + a1e: f8 01 movw r30, r16 + a20: b7 fe sbrs r11, 7 + a22: 07 c0 rjmp .+14 ; 0xa32 + a24: 60 81 ld r22, Z + a26: 71 81 ldd r23, Z+1 ; 0x01 + a28: 82 81 ldd r24, Z+2 ; 0x02 + a2a: 93 81 ldd r25, Z+3 ; 0x03 + a2c: 0c 5f subi r16, 0xFC ; 252 + a2e: 1f 4f sbci r17, 0xFF ; 255 + a30: 06 c0 rjmp .+12 ; 0xa3e + a32: 60 81 ld r22, Z + a34: 71 81 ldd r23, Z+1 ; 0x01 + a36: 80 e0 ldi r24, 0x00 ; 0 + a38: 90 e0 ldi r25, 0x00 ; 0 + a3a: 0e 5f subi r16, 0xFE ; 254 + a3c: 1f 4f sbci r17, 0xFF ; 255 + a3e: a3 01 movw r20, r6 + a40: f1 d0 rcall .+482 ; 0xc24 <__ultoa_invert> + a42: 88 2e mov r8, r24 + a44: 86 18 sub r8, r6 + a46: fb 2d mov r31, r11 + a48: ff 77 andi r31, 0x7F ; 127 + a4a: 3f 2e mov r3, r31 + a4c: 36 fe sbrs r3, 6 + a4e: 0d c0 rjmp .+26 ; 0xa6a + a50: 23 2d mov r18, r3 + a52: 2e 7f andi r18, 0xFE ; 254 + a54: a2 2e mov r10, r18 + a56: 89 14 cp r8, r9 + a58: 58 f4 brcc .+22 ; 0xa70 + a5a: 34 fe sbrs r3, 4 + a5c: 0b c0 rjmp .+22 ; 0xa74 + a5e: 32 fc sbrc r3, 2 + a60: 09 c0 rjmp .+18 ; 0xa74 + a62: 83 2d mov r24, r3 + a64: 8e 7e andi r24, 0xEE ; 238 + a66: a8 2e mov r10, r24 + a68: 05 c0 rjmp .+10 ; 0xa74 + a6a: b8 2c mov r11, r8 + a6c: a3 2c mov r10, r3 + a6e: 03 c0 rjmp .+6 ; 0xa76 + a70: b8 2c mov r11, r8 + a72: 01 c0 rjmp .+2 ; 0xa76 + a74: b9 2c mov r11, r9 + a76: a4 fe sbrs r10, 4 + a78: 0f c0 rjmp .+30 ; 0xa98 + a7a: fe 01 movw r30, r28 + a7c: e8 0d add r30, r8 + a7e: f1 1d adc r31, r1 + a80: 80 81 ld r24, Z + a82: 80 33 cpi r24, 0x30 ; 48 + a84: 21 f4 brne .+8 ; 0xa8e + a86: 9a 2d mov r25, r10 + a88: 99 7e andi r25, 0xE9 ; 233 + a8a: a9 2e mov r10, r25 + a8c: 09 c0 rjmp .+18 ; 0xaa0 + a8e: a2 fe sbrs r10, 2 + a90: 06 c0 rjmp .+12 ; 0xa9e + a92: b3 94 inc r11 + a94: b3 94 inc r11 + a96: 04 c0 rjmp .+8 ; 0xaa0 + a98: 8a 2d mov r24, r10 + a9a: 86 78 andi r24, 0x86 ; 134 + a9c: 09 f0 breq .+2 ; 0xaa0 + a9e: b3 94 inc r11 + aa0: a3 fc sbrc r10, 3 + aa2: 10 c0 rjmp .+32 ; 0xac4 + aa4: a0 fe sbrs r10, 0 + aa6: 06 c0 rjmp .+12 ; 0xab4 + aa8: b2 14 cp r11, r2 + aaa: 80 f4 brcc .+32 ; 0xacc + aac: 28 0c add r2, r8 + aae: 92 2c mov r9, r2 + ab0: 9b 18 sub r9, r11 + ab2: 0d c0 rjmp .+26 ; 0xace + ab4: b2 14 cp r11, r2 + ab6: 58 f4 brcc .+22 ; 0xace + ab8: b6 01 movw r22, r12 + aba: 80 e2 ldi r24, 0x20 ; 32 + abc: 90 e0 ldi r25, 0x00 ; 0 + abe: 76 d0 rcall .+236 ; 0xbac + ac0: b3 94 inc r11 + ac2: f8 cf rjmp .-16 ; 0xab4 + ac4: b2 14 cp r11, r2 + ac6: 18 f4 brcc .+6 ; 0xace + ac8: 2b 18 sub r2, r11 + aca: 02 c0 rjmp .+4 ; 0xad0 + acc: 98 2c mov r9, r8 + ace: 21 2c mov r2, r1 + ad0: a4 fe sbrs r10, 4 + ad2: 0f c0 rjmp .+30 ; 0xaf2 + ad4: b6 01 movw r22, r12 + ad6: 80 e3 ldi r24, 0x30 ; 48 + ad8: 90 e0 ldi r25, 0x00 ; 0 + ada: 68 d0 rcall .+208 ; 0xbac + adc: a2 fe sbrs r10, 2 + ade: 16 c0 rjmp .+44 ; 0xb0c + ae0: a1 fc sbrc r10, 1 + ae2: 03 c0 rjmp .+6 ; 0xaea + ae4: 88 e7 ldi r24, 0x78 ; 120 + ae6: 90 e0 ldi r25, 0x00 ; 0 + ae8: 02 c0 rjmp .+4 ; 0xaee + aea: 88 e5 ldi r24, 0x58 ; 88 + aec: 90 e0 ldi r25, 0x00 ; 0 + aee: b6 01 movw r22, r12 + af0: 0c c0 rjmp .+24 ; 0xb0a + af2: 8a 2d mov r24, r10 + af4: 86 78 andi r24, 0x86 ; 134 + af6: 51 f0 breq .+20 ; 0xb0c + af8: a1 fe sbrs r10, 1 + afa: 02 c0 rjmp .+4 ; 0xb00 + afc: 8b e2 ldi r24, 0x2B ; 43 + afe: 01 c0 rjmp .+2 ; 0xb02 + b00: 80 e2 ldi r24, 0x20 ; 32 + b02: a7 fc sbrc r10, 7 + b04: 8d e2 ldi r24, 0x2D ; 45 + b06: b6 01 movw r22, r12 + b08: 90 e0 ldi r25, 0x00 ; 0 + b0a: 50 d0 rcall .+160 ; 0xbac + b0c: 89 14 cp r8, r9 + b0e: 30 f4 brcc .+12 ; 0xb1c + b10: b6 01 movw r22, r12 + b12: 80 e3 ldi r24, 0x30 ; 48 + b14: 90 e0 ldi r25, 0x00 ; 0 + b16: 4a d0 rcall .+148 ; 0xbac + b18: 9a 94 dec r9 + b1a: f8 cf rjmp .-16 ; 0xb0c + b1c: 8a 94 dec r8 + b1e: f3 01 movw r30, r6 + b20: e8 0d add r30, r8 + b22: f1 1d adc r31, r1 + b24: 80 81 ld r24, Z + b26: b6 01 movw r22, r12 + b28: 90 e0 ldi r25, 0x00 ; 0 + b2a: 40 d0 rcall .+128 ; 0xbac + b2c: 81 10 cpse r8, r1 + b2e: f6 cf rjmp .-20 ; 0xb1c + b30: 22 20 and r2, r2 + b32: 09 f4 brne .+2 ; 0xb36 + b34: 4e ce rjmp .-868 ; 0x7d2 + b36: b6 01 movw r22, r12 + b38: 80 e2 ldi r24, 0x20 ; 32 + b3a: 90 e0 ldi r25, 0x00 ; 0 + b3c: 37 d0 rcall .+110 ; 0xbac + b3e: 2a 94 dec r2 + b40: f7 cf rjmp .-18 ; 0xb30 + b42: f6 01 movw r30, r12 + b44: 86 81 ldd r24, Z+6 ; 0x06 + b46: 97 81 ldd r25, Z+7 ; 0x07 + b48: 02 c0 rjmp .+4 ; 0xb4e + b4a: 8f ef ldi r24, 0xFF ; 255 + b4c: 9f ef ldi r25, 0xFF ; 255 + b4e: 2b 96 adiw r28, 0x0b ; 11 + b50: 0f b6 in r0, 0x3f ; 63 + b52: f8 94 cli + b54: de bf out 0x3e, r29 ; 62 + b56: 0f be out 0x3f, r0 ; 63 + b58: cd bf out 0x3d, r28 ; 61 + b5a: df 91 pop r29 + b5c: cf 91 pop r28 + b5e: 1f 91 pop r17 + b60: 0f 91 pop r16 + b62: ff 90 pop r15 + b64: ef 90 pop r14 + b66: df 90 pop r13 + b68: cf 90 pop r12 + b6a: bf 90 pop r11 + b6c: af 90 pop r10 + b6e: 9f 90 pop r9 + b70: 8f 90 pop r8 + b72: 7f 90 pop r7 + b74: 6f 90 pop r6 + b76: 5f 90 pop r5 + b78: 4f 90 pop r4 + b7a: 3f 90 pop r3 + b7c: 2f 90 pop r2 + b7e: 08 95 ret -00000bb4 : - bb4: fc 01 movw r30, r24 - bb6: 05 90 lpm r0, Z+ - bb8: 61 50 subi r22, 0x01 ; 1 - bba: 70 40 sbci r23, 0x00 ; 0 - bbc: 01 10 cpse r0, r1 - bbe: d8 f7 brcc .-10 ; 0xbb6 - bc0: 80 95 com r24 - bc2: 90 95 com r25 - bc4: 8e 0f add r24, r30 - bc6: 9f 1f adc r25, r31 - bc8: 08 95 ret +00000b80 : + b80: fc 01 movw r30, r24 + b82: 05 90 lpm r0, Z+ + b84: 61 50 subi r22, 0x01 ; 1 + b86: 70 40 sbci r23, 0x00 ; 0 + b88: 01 10 cpse r0, r1 + b8a: d8 f7 brcc .-10 ; 0xb82 + b8c: 80 95 com r24 + b8e: 90 95 com r25 + b90: 8e 0f add r24, r30 + b92: 9f 1f adc r25, r31 + b94: 08 95 ret -00000bca : - bca: fc 01 movw r30, r24 - bcc: 61 50 subi r22, 0x01 ; 1 - bce: 70 40 sbci r23, 0x00 ; 0 - bd0: 01 90 ld r0, Z+ - bd2: 01 10 cpse r0, r1 - bd4: d8 f7 brcc .-10 ; 0xbcc - bd6: 80 95 com r24 - bd8: 90 95 com r25 - bda: 8e 0f add r24, r30 - bdc: 9f 1f adc r25, r31 - bde: 08 95 ret +00000b96 : + b96: fc 01 movw r30, r24 + b98: 61 50 subi r22, 0x01 ; 1 + b9a: 70 40 sbci r23, 0x00 ; 0 + b9c: 01 90 ld r0, Z+ + b9e: 01 10 cpse r0, r1 + ba0: d8 f7 brcc .-10 ; 0xb98 + ba2: 80 95 com r24 + ba4: 90 95 com r25 + ba6: 8e 0f add r24, r30 + ba8: 9f 1f adc r25, r31 + baa: 08 95 ret -00000be0 : - be0: 0f 93 push r16 - be2: 1f 93 push r17 - be4: cf 93 push r28 - be6: df 93 push r29 - be8: fb 01 movw r30, r22 - bea: 23 81 ldd r18, Z+3 ; 0x03 - bec: 21 fd sbrc r18, 1 - bee: 03 c0 rjmp .+6 ; 0xbf6 - bf0: 8f ef ldi r24, 0xFF ; 255 - bf2: 9f ef ldi r25, 0xFF ; 255 - bf4: 2c c0 rjmp .+88 ; 0xc4e - bf6: 22 ff sbrs r18, 2 - bf8: 16 c0 rjmp .+44 ; 0xc26 - bfa: 46 81 ldd r20, Z+6 ; 0x06 - bfc: 57 81 ldd r21, Z+7 ; 0x07 - bfe: 24 81 ldd r18, Z+4 ; 0x04 - c00: 35 81 ldd r19, Z+5 ; 0x05 - c02: 42 17 cp r20, r18 - c04: 53 07 cpc r21, r19 - c06: 44 f4 brge .+16 ; 0xc18 - c08: a0 81 ld r26, Z - c0a: b1 81 ldd r27, Z+1 ; 0x01 - c0c: 9d 01 movw r18, r26 - c0e: 2f 5f subi r18, 0xFF ; 255 - c10: 3f 4f sbci r19, 0xFF ; 255 - c12: 31 83 std Z+1, r19 ; 0x01 - c14: 20 83 st Z, r18 - c16: 8c 93 st X, r24 - c18: 26 81 ldd r18, Z+6 ; 0x06 - c1a: 37 81 ldd r19, Z+7 ; 0x07 - c1c: 2f 5f subi r18, 0xFF ; 255 - c1e: 3f 4f sbci r19, 0xFF ; 255 - c20: 37 83 std Z+7, r19 ; 0x07 - c22: 26 83 std Z+6, r18 ; 0x06 - c24: 14 c0 rjmp .+40 ; 0xc4e - c26: 8b 01 movw r16, r22 - c28: ec 01 movw r28, r24 - c2a: fb 01 movw r30, r22 - c2c: 00 84 ldd r0, Z+8 ; 0x08 - c2e: f1 85 ldd r31, Z+9 ; 0x09 - c30: e0 2d mov r30, r0 - c32: 09 95 icall - c34: 89 2b or r24, r25 - c36: e1 f6 brne .-72 ; 0xbf0 - c38: d8 01 movw r26, r16 - c3a: 16 96 adiw r26, 0x06 ; 6 - c3c: 8d 91 ld r24, X+ - c3e: 9c 91 ld r25, X - c40: 17 97 sbiw r26, 0x07 ; 7 - c42: 01 96 adiw r24, 0x01 ; 1 - c44: 17 96 adiw r26, 0x07 ; 7 - c46: 9c 93 st X, r25 - c48: 8e 93 st -X, r24 - c4a: 16 97 sbiw r26, 0x06 ; 6 - c4c: ce 01 movw r24, r28 - c4e: df 91 pop r29 - c50: cf 91 pop r28 - c52: 1f 91 pop r17 - c54: 0f 91 pop r16 - c56: 08 95 ret +00000bac : + bac: 0f 93 push r16 + bae: 1f 93 push r17 + bb0: cf 93 push r28 + bb2: df 93 push r29 + bb4: fb 01 movw r30, r22 + bb6: 23 81 ldd r18, Z+3 ; 0x03 + bb8: 21 fd sbrc r18, 1 + bba: 03 c0 rjmp .+6 ; 0xbc2 + bbc: 8f ef ldi r24, 0xFF ; 255 + bbe: 9f ef ldi r25, 0xFF ; 255 + bc0: 2c c0 rjmp .+88 ; 0xc1a + bc2: 22 ff sbrs r18, 2 + bc4: 16 c0 rjmp .+44 ; 0xbf2 + bc6: 46 81 ldd r20, Z+6 ; 0x06 + bc8: 57 81 ldd r21, Z+7 ; 0x07 + bca: 24 81 ldd r18, Z+4 ; 0x04 + bcc: 35 81 ldd r19, Z+5 ; 0x05 + bce: 42 17 cp r20, r18 + bd0: 53 07 cpc r21, r19 + bd2: 44 f4 brge .+16 ; 0xbe4 + bd4: a0 81 ld r26, Z + bd6: b1 81 ldd r27, Z+1 ; 0x01 + bd8: 9d 01 movw r18, r26 + bda: 2f 5f subi r18, 0xFF ; 255 + bdc: 3f 4f sbci r19, 0xFF ; 255 + bde: 31 83 std Z+1, r19 ; 0x01 + be0: 20 83 st Z, r18 + be2: 8c 93 st X, r24 + be4: 26 81 ldd r18, Z+6 ; 0x06 + be6: 37 81 ldd r19, Z+7 ; 0x07 + be8: 2f 5f subi r18, 0xFF ; 255 + bea: 3f 4f sbci r19, 0xFF ; 255 + bec: 37 83 std Z+7, r19 ; 0x07 + bee: 26 83 std Z+6, r18 ; 0x06 + bf0: 14 c0 rjmp .+40 ; 0xc1a + bf2: 8b 01 movw r16, r22 + bf4: ec 01 movw r28, r24 + bf6: fb 01 movw r30, r22 + bf8: 00 84 ldd r0, Z+8 ; 0x08 + bfa: f1 85 ldd r31, Z+9 ; 0x09 + bfc: e0 2d mov r30, r0 + bfe: 09 95 icall + c00: 89 2b or r24, r25 + c02: e1 f6 brne .-72 ; 0xbbc + c04: d8 01 movw r26, r16 + c06: 16 96 adiw r26, 0x06 ; 6 + c08: 8d 91 ld r24, X+ + c0a: 9c 91 ld r25, X + c0c: 17 97 sbiw r26, 0x07 ; 7 + c0e: 01 96 adiw r24, 0x01 ; 1 + c10: 17 96 adiw r26, 0x07 ; 7 + c12: 9c 93 st X, r25 + c14: 8e 93 st -X, r24 + c16: 16 97 sbiw r26, 0x06 ; 6 + c18: ce 01 movw r24, r28 + c1a: df 91 pop r29 + c1c: cf 91 pop r28 + c1e: 1f 91 pop r17 + c20: 0f 91 pop r16 + c22: 08 95 ret -00000c58 <__ultoa_invert>: - c58: fa 01 movw r30, r20 - c5a: aa 27 eor r26, r26 - c5c: 28 30 cpi r18, 0x08 ; 8 - c5e: 51 f1 breq .+84 ; 0xcb4 <__ultoa_invert+0x5c> - c60: 20 31 cpi r18, 0x10 ; 16 - c62: 81 f1 breq .+96 ; 0xcc4 <__ultoa_invert+0x6c> - c64: e8 94 clt - c66: 6f 93 push r22 - c68: 6e 7f andi r22, 0xFE ; 254 - c6a: 6e 5f subi r22, 0xFE ; 254 - c6c: 7f 4f sbci r23, 0xFF ; 255 - c6e: 8f 4f sbci r24, 0xFF ; 255 - c70: 9f 4f sbci r25, 0xFF ; 255 - c72: af 4f sbci r26, 0xFF ; 255 - c74: b1 e0 ldi r27, 0x01 ; 1 - c76: 3e d0 rcall .+124 ; 0xcf4 <__ultoa_invert+0x9c> - c78: b4 e0 ldi r27, 0x04 ; 4 - c7a: 3c d0 rcall .+120 ; 0xcf4 <__ultoa_invert+0x9c> - c7c: 67 0f add r22, r23 - c7e: 78 1f adc r23, r24 - c80: 89 1f adc r24, r25 - c82: 9a 1f adc r25, r26 - c84: a1 1d adc r26, r1 - c86: 68 0f add r22, r24 - c88: 79 1f adc r23, r25 - c8a: 8a 1f adc r24, r26 - c8c: 91 1d adc r25, r1 - c8e: a1 1d adc r26, r1 - c90: 6a 0f add r22, r26 - c92: 71 1d adc r23, r1 - c94: 81 1d adc r24, r1 - c96: 91 1d adc r25, r1 - c98: a1 1d adc r26, r1 - c9a: 20 d0 rcall .+64 ; 0xcdc <__ultoa_invert+0x84> - c9c: 09 f4 brne .+2 ; 0xca0 <__ultoa_invert+0x48> - c9e: 68 94 set - ca0: 3f 91 pop r19 - ca2: 2a e0 ldi r18, 0x0A ; 10 - ca4: 26 9f mul r18, r22 - ca6: 11 24 eor r1, r1 - ca8: 30 19 sub r19, r0 - caa: 30 5d subi r19, 0xD0 ; 208 - cac: 31 93 st Z+, r19 - cae: de f6 brtc .-74 ; 0xc66 <__ultoa_invert+0xe> - cb0: cf 01 movw r24, r30 - cb2: 08 95 ret - cb4: 46 2f mov r20, r22 - cb6: 47 70 andi r20, 0x07 ; 7 - cb8: 40 5d subi r20, 0xD0 ; 208 - cba: 41 93 st Z+, r20 - cbc: b3 e0 ldi r27, 0x03 ; 3 - cbe: 0f d0 rcall .+30 ; 0xcde <__ultoa_invert+0x86> - cc0: c9 f7 brne .-14 ; 0xcb4 <__ultoa_invert+0x5c> - cc2: f6 cf rjmp .-20 ; 0xcb0 <__ultoa_invert+0x58> - cc4: 46 2f mov r20, r22 - cc6: 4f 70 andi r20, 0x0F ; 15 - cc8: 40 5d subi r20, 0xD0 ; 208 - cca: 4a 33 cpi r20, 0x3A ; 58 - ccc: 18 f0 brcs .+6 ; 0xcd4 <__ultoa_invert+0x7c> - cce: 49 5d subi r20, 0xD9 ; 217 - cd0: 31 fd sbrc r19, 1 - cd2: 40 52 subi r20, 0x20 ; 32 - cd4: 41 93 st Z+, r20 - cd6: 02 d0 rcall .+4 ; 0xcdc <__ultoa_invert+0x84> - cd8: a9 f7 brne .-22 ; 0xcc4 <__ultoa_invert+0x6c> - cda: ea cf rjmp .-44 ; 0xcb0 <__ultoa_invert+0x58> - cdc: b4 e0 ldi r27, 0x04 ; 4 - cde: a6 95 lsr r26 - ce0: 97 95 ror r25 - ce2: 87 95 ror r24 - ce4: 77 95 ror r23 - ce6: 67 95 ror r22 - ce8: ba 95 dec r27 - cea: c9 f7 brne .-14 ; 0xcde <__ultoa_invert+0x86> - cec: 00 97 sbiw r24, 0x00 ; 0 - cee: 61 05 cpc r22, r1 - cf0: 71 05 cpc r23, r1 - cf2: 08 95 ret - cf4: 9b 01 movw r18, r22 - cf6: ac 01 movw r20, r24 - cf8: 0a 2e mov r0, r26 - cfa: 06 94 lsr r0 - cfc: 57 95 ror r21 - cfe: 47 95 ror r20 - d00: 37 95 ror r19 - d02: 27 95 ror r18 - d04: ba 95 dec r27 - d06: c9 f7 brne .-14 ; 0xcfa <__ultoa_invert+0xa2> - d08: 62 0f add r22, r18 - d0a: 73 1f adc r23, r19 - d0c: 84 1f adc r24, r20 - d0e: 95 1f adc r25, r21 - d10: a0 1d adc r26, r0 - d12: 08 95 ret +00000c24 <__ultoa_invert>: + c24: fa 01 movw r30, r20 + c26: aa 27 eor r26, r26 + c28: 28 30 cpi r18, 0x08 ; 8 + c2a: 51 f1 breq .+84 ; 0xc80 <__ultoa_invert+0x5c> + c2c: 20 31 cpi r18, 0x10 ; 16 + c2e: 81 f1 breq .+96 ; 0xc90 <__ultoa_invert+0x6c> + c30: e8 94 clt + c32: 6f 93 push r22 + c34: 6e 7f andi r22, 0xFE ; 254 + c36: 6e 5f subi r22, 0xFE ; 254 + c38: 7f 4f sbci r23, 0xFF ; 255 + c3a: 8f 4f sbci r24, 0xFF ; 255 + c3c: 9f 4f sbci r25, 0xFF ; 255 + c3e: af 4f sbci r26, 0xFF ; 255 + c40: b1 e0 ldi r27, 0x01 ; 1 + c42: 3e d0 rcall .+124 ; 0xcc0 <__ultoa_invert+0x9c> + c44: b4 e0 ldi r27, 0x04 ; 4 + c46: 3c d0 rcall .+120 ; 0xcc0 <__ultoa_invert+0x9c> + c48: 67 0f add r22, r23 + c4a: 78 1f adc r23, r24 + c4c: 89 1f adc r24, r25 + c4e: 9a 1f adc r25, r26 + c50: a1 1d adc r26, r1 + c52: 68 0f add r22, r24 + c54: 79 1f adc r23, r25 + c56: 8a 1f adc r24, r26 + c58: 91 1d adc r25, r1 + c5a: a1 1d adc r26, r1 + c5c: 6a 0f add r22, r26 + c5e: 71 1d adc r23, r1 + c60: 81 1d adc r24, r1 + c62: 91 1d adc r25, r1 + c64: a1 1d adc r26, r1 + c66: 20 d0 rcall .+64 ; 0xca8 <__ultoa_invert+0x84> + c68: 09 f4 brne .+2 ; 0xc6c <__ultoa_invert+0x48> + c6a: 68 94 set + c6c: 3f 91 pop r19 + c6e: 2a e0 ldi r18, 0x0A ; 10 + c70: 26 9f mul r18, r22 + c72: 11 24 eor r1, r1 + c74: 30 19 sub r19, r0 + c76: 30 5d subi r19, 0xD0 ; 208 + c78: 31 93 st Z+, r19 + c7a: de f6 brtc .-74 ; 0xc32 <__ultoa_invert+0xe> + c7c: cf 01 movw r24, r30 + c7e: 08 95 ret + c80: 46 2f mov r20, r22 + c82: 47 70 andi r20, 0x07 ; 7 + c84: 40 5d subi r20, 0xD0 ; 208 + c86: 41 93 st Z+, r20 + c88: b3 e0 ldi r27, 0x03 ; 3 + c8a: 0f d0 rcall .+30 ; 0xcaa <__ultoa_invert+0x86> + c8c: c9 f7 brne .-14 ; 0xc80 <__ultoa_invert+0x5c> + c8e: f6 cf rjmp .-20 ; 0xc7c <__ultoa_invert+0x58> + c90: 46 2f mov r20, r22 + c92: 4f 70 andi r20, 0x0F ; 15 + c94: 40 5d subi r20, 0xD0 ; 208 + c96: 4a 33 cpi r20, 0x3A ; 58 + c98: 18 f0 brcs .+6 ; 0xca0 <__ultoa_invert+0x7c> + c9a: 49 5d subi r20, 0xD9 ; 217 + c9c: 31 fd sbrc r19, 1 + c9e: 40 52 subi r20, 0x20 ; 32 + ca0: 41 93 st Z+, r20 + ca2: 02 d0 rcall .+4 ; 0xca8 <__ultoa_invert+0x84> + ca4: a9 f7 brne .-22 ; 0xc90 <__ultoa_invert+0x6c> + ca6: ea cf rjmp .-44 ; 0xc7c <__ultoa_invert+0x58> + ca8: b4 e0 ldi r27, 0x04 ; 4 + caa: a6 95 lsr r26 + cac: 97 95 ror r25 + cae: 87 95 ror r24 + cb0: 77 95 ror r23 + cb2: 67 95 ror r22 + cb4: ba 95 dec r27 + cb6: c9 f7 brne .-14 ; 0xcaa <__ultoa_invert+0x86> + cb8: 00 97 sbiw r24, 0x00 ; 0 + cba: 61 05 cpc r22, r1 + cbc: 71 05 cpc r23, r1 + cbe: 08 95 ret + cc0: 9b 01 movw r18, r22 + cc2: ac 01 movw r20, r24 + cc4: 0a 2e mov r0, r26 + cc6: 06 94 lsr r0 + cc8: 57 95 ror r21 + cca: 47 95 ror r20 + ccc: 37 95 ror r19 + cce: 27 95 ror r18 + cd0: ba 95 dec r27 + cd2: c9 f7 brne .-14 ; 0xcc6 <__ultoa_invert+0xa2> + cd4: 62 0f add r22, r18 + cd6: 73 1f adc r23, r19 + cd8: 84 1f adc r24, r20 + cda: 95 1f adc r25, r21 + cdc: a0 1d adc r26, r0 + cde: 08 95 ret -00000d14 <_exit>: - d14: f8 94 cli +00000ce0 <_exit>: + ce0: f8 94 cli -00000d16 <__stop_program>: - d16: ff cf rjmp .-2 ; 0xd16 <__stop_program> +00000ce2 <__stop_program>: + ce2: ff cf rjmp .-2 ; 0xce2 <__stop_program> diff --git a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.map b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.map index 31eba48..33bd7d7 100644 --- a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.map +++ b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.map @@ -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) diff --git a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.srec b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.srec index 882e51d..01de1ee 100644 --- a/Microcontrollers/Eindopdracht/Debug/Eindopdracht.srec +++ b/Microcontrollers/Eindopdracht/Debug/Eindopdracht.srec @@ -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 diff --git a/Microcontrollers/Eindopdracht/Debug/lcd_control.o b/Microcontrollers/Eindopdracht/Debug/lcd_control.o index bf4a1575a23b7bc6a2b9a25db63de097b9fbc49f..c8b040303a0b715059cbec122e8e80fc80a86b5e 100644 GIT binary patch delta 3373 zcmaKve{57$7RS%+{OC-XzP1d7GA-?!&a_f~OernU?zF%Jv7*IbK-VB)QfXP(G+;`r zfU*-^H>(AP>fI$8Yl@1AA}BCOlvPwVhD`%RvR!r;cM~^(Y-E41VvGhi?tagE=XD?R z$KK@K`#I;H`@QGgd*6FAhj*RZt%l9;cn49Ah+1$F&7@|UcdYqgRalp3-e@jcnR`XO zp>%gaRrpfkY~uOEGl?T7PoEss`*cQc)dvbfZyxAP5B3f8cW>Le zW%GvgBi((2y_7o>KIQG|awRtgP8pu33sQ#n8Bfaa4S7?Bf447X6z=h-jKJQ)lo8AZ zQby6fV9J;@T$D0G&rV7i#Ur7VVZ2nF+g@=-VJDN3bXmfsi==6;elhYzkY|`oHPn#X zRXIa7{GaU7>7K3W4O<`Hk?!dp=+3=abwd?5+L}9Aq){KLZp?`1kma#^k26oPc|ICH z_P+$}LR^KycY-I&*dZ4`$1G#{R4D7P5QUgcqP5t8GT|z4rd*6i&`xKrMuk#`OVwCN zbC^w{zoTu&rA(r2*!WiAb!e9h_rkwgcoe)=n80b_{op>EGxQaVZPIZAEw7C-ks16y z7d{N$BOC<3Al!&MI4Hal?c2gF@c&AfSMaPbpTG0MYoIeuI$~Cqnq=MLP3c*omz$>J zybWOr0d0Ele@-6D&L#Ra(<}q<3Oymtu+o>z8Xn&U&s!6rzNo3HbbT~dTt!rY0XMj- zO5Y!iq26ix*TX*>S;BKD8uLQrn7$Y_r(*~&zz*($b2f(l)DA1EO>$U|UQug>T_&Qd zuCVKN*pqhHW&Lq&E5vWsT4^kW&XXQ%x>>PU9dtqne}_F`=%BnOd=K~oJF-9aD9>1_ z{}D51BC%nJbb48Y=tFQ9GtOWLLmpyA@D;rvK8HtrqI=_J2O|H9$k(KIH70#q6o$Yj z#J?Ufr^SC1{@+-v&%_&fdHI-4@!9&zw5l^RkiCYmx#Emt_#$TbKSS>A;^*n^5Wj-t z-Qxc(;_nlGBm8T{&uR3C|33J)2=4^{gc-ZpgJkr9x{6Fr2EnFN%=}cLoEGL6$QfoN zwGRU4B%YJHB>pb6pNXF*zbgKnXs-*8qWupu^t+%Lz~c_Cr!0&z+o1j61^z}{$IQJtZ)(hpW2)uHpZockISE3 z{1;*V{#N~LP)V6GMBXLPoU8-=lP z)aqjESYa1e54-gb^>|En%P zZ-a{DHqKeB%C|EkhRfr)OinKM^4z2<-vra?>JuK*e@u+}GyHH*&-FLH$ACSBLo89V`No@EWfx-wyX0&5Bq zwEN0`&>6fP7O#7g?uB&}7O!!Weh1b#EPe=@v@aP`)AYrTux?M5syFq@6EZv7H`Rke=qd~#Yb9|10_vFc;`iHflHwwGoeaAMHI-*Y@A)+|R977Xl^8R$qk z5^y?wuLF3@QVIM8^fnbDOW09dj^2BSbH;G!dOX|jE7Hr_%gWE?^+j--C-j%eaK~Bn zxYhrSAGr_U)xqjsmcH;I<*B3gbE}xl~&qp}^SDYkd9#)Paj^|v;2Fk%UqHht$`6P71;!5905}ygZ dVsWhaAbu~-Lkd_#is>Eb8^;gAR-I}O{}*Osv77(^ delta 1974 zcmZ8iYiv|S6rO2!o7_I=d!d$YZ@P~zP`XO36#9Pi&}bqxSYnq-{b6FIiA@w*Eh0wL zCZY#PQ20SC4QU9p-eQOnFb!HIC=y=;@rQ|x!jBqiP0(oKcV^G7>rVEb`ObH~IcMh1 z%-zec>yytPu=8DOm2#9)_u^41r0!9bQ&j_+`csxWvwBpgoO3&+uIsLhDYsHfSu^D( zm$gk_r0rJY|JVu3?>v~^ou-HBO70MC%^TFuIal(AQk{1^AG(~e;`3UU(TDw9Ev2$Qoq_20d7wMf0dqHPaawVm9VzMR6wMQl%PGl*$#XfeQt1Ltn(W1O_dDM|%xa6^t?VD*7tHTeVUnHR3d*Zx_4? zfrka}1MU_)hdv^B2>ermuK_)Ysdy>ZA6IS>(ofBPyGe$>DC8Za z+0Qr|0Buz8O5k@z<3)c;u%C|kZCy+=eqUCxQp+G);7~Cw_`yB^A4pgb;Y{xgHACluyAFO)1aNnsv7-P^%3Vp^@-Fp-g9l!#5y1Bm&Ps_>simt zdSiQx-D~W)v6qaUH#V=9mG>FjUF&s@)b7``seY3FuAj6{E{~q8Fr8`Wv@XUycVnk@ zBkpy_%2k&Qie7D0?-P~zCginay zcrU{ngvTc%Oy4&9bT-{?%csni9Q_`Zw3J(W5Un%O2U<$?qtp-XT%0@FvUCZ8rftTC ze(a{1ma>(1Ah?E?8%6+UL19}=3BnfO7jGFB^|X4P7*C>S)0KLI$4H9}IR?OVlki^! zaMqUZ3mSmT8J zEJlTK-5C$fw|UxAAmwnZ{pwNbU;@E)xcvhzaXvQwTfPCu^QoYX?Zxgz`~zpxlkL8& YVO*0OtclNH868G!6c@XMdRz1V1%gKs?*IS* diff --git a/Microcontrollers/Eindopdracht/Debug/main.o b/Microcontrollers/Eindopdracht/Debug/main.o index 30590fd5caaf992a0f825202df25768ee3186458..560195f0c270bee5e2e31afac1f895f2dd3997de 100644 GIT binary patch delta 2949 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 #define STEPS_EACH_PULSE 32 +#define STEPPER_SPEED 105 +#define COMPARE_VALUE (255 - STEPPER_SPEED) enum rotation_wise { ClockWise, diff --git a/Microcontrollers/Eindopdracht/ultrasonic_sensor.c b/Microcontrollers/Eindopdracht/ultrasonic_sensor.c index e4a7d38..be9f649 100644 --- a/Microcontrollers/Eindopdracht/ultrasonic_sensor.c +++ b/Microcontrollers/Eindopdracht/ultrasonic_sensor.c @@ -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)); }