[add] init check

This commit is contained in:
stijn
2021-03-31 13:10:25 +02:00
parent 83863ec5f5
commit 03f4d72f16
24 changed files with 3237 additions and 84 deletions

Binary file not shown.

View File

@@ -0,0 +1,177 @@
:1000000045C0000049C100005EC000005CC00000A7
:100010005AC0000058C0000056C0000054C0000084
:1000200052C0000092C100004EC000004CC0000051
:100030004AC0000048C0000046C0000044C00000A4
:1000400042C0000040C000003EC000003CC00000B4
:100050003AC0000038C0000036C0000034C00000C4
:1000600032C0000030C000002EC000002CC00000D4
:100070002AC0000028C0000026C0000024C00000E4
:1000800022C0000020C000001EC0000011241FBEBE
:10009000CFEFD0E1DEBFCDBF11E0A0E0B1E0EEEDEB
:1000A000FAE000E00BBF02C007900D92A631B10745
:1000B000D9F721E0A6E1B1E001C01D92A232B2075A
:1000C000E1F711D10AC59CCF9BB321E030E002C01B
:1000D000220F331F8A95E2F7292B2BBB08959BB380
:1000E00021E030E002C0220F331F8A95E2F720950D
:1000F00029232BBB089586E090E0E6DF83EC99E0AE
:100100000197F1F700C0000086E090E0E8DF87E8A3
:1001100093E10197F1F700C000000895CF93C82F35
:1001200085BB84E090E0D0DFE6DFC295C07FC5BB31
:1001300084E090E0C9DFDFDFCF910895CF93C82F2F
:1001400085BB84E090E0CBDFD6DFC295C07FC5BB26
:1001500084E090E0C4DFCFDFCF91089581E0EEDF4F
:1001600087E893E10197F1F700C0000080E8E6CF4F
:100170000895CF938FEF84BB85BB8ABB15BA1BBA9A
:10018000C0E2C5BBB8DFC5BBB6DF80E885BBB3DF67
:1001900015BAB1DF80EF85BBAEDF15BAACDF80E604
:1001A00085BBA9DF82E0CADFA6DFCF910895CF9398
:1001B000DF93EC0102C0B2DF219688818111FBCF71
:1001C000DF91CF910895AF92BF92CF92DF92EF92DD
:1001D000FF920F931F93CF93DF93CDB7DEB7D82E47
:1001E000C92EADB6BEB69F938F930F2EF2E1EF2EC0
:1001F000F1E0FF2EF02DFF92EF921F921F921F92BF
:100200001F9282D101962DB73EB7285F3F4F0FB6A0
:10021000F8943EBF0FBE2DBF281B390B0FB6F894C4
:100220003EBF0FBE2DBF0DB71EB70F5F1F4FCF9242
:10023000DF92FF92EF929F938F931F930F9364D15E
:10024000802F912FB4DF8DB79EB708960FB6F89424
:100250009EBF0FBE8DBF0FB6F894BEBE0FBEADBE23
:10026000DF91CF911F910F91FF90EF90DF90CF9092
:10027000BF90AF90089520910001222351F0019783
:10028000439738F4D1D01092000161E080E092E011
:10029000BEC0089504C108951F920F920FB60F9229
:1002A00011240BB60F922F933F934F935F936F934D
:1002B0007F938F939F93AF93BF93EF93FF93FCD064
:1002C000FF91EF91BF91AF919F918F917F916F912E
:1002D0005F914F913F912F910F900BBE0F900FBEEA
:1002E0000F901F901895CCD044DFA0D08AE491E005
:1002F00027D08BE391E0FED087EA91E60197F1F7F2
:1003000000C000002BDF60E088E592E080D026DFAF
:10031000F6D059DF84E690E0A4D0F9CF90911D018A
:10032000911107C0E82FF0E0EF5FFE4F808183B9A5
:100330000895E82FF0E0E75FFE4F808183B90895CC
:1003400090931F0180931E0108951F920F920FB684
:100350000F9211240BB60F922F933F934F935F93FD
:100360006F937F938F939F93AF93BF93EF93FF937D
:1003700014BC80911601D2DF80911601873020F4E1
:100380008F5F8093160130C0109216018091170183
:1003900090911801009799F480911D01811104C07A
:1003A00081E080931D0102C010921D01809119010E
:1003B00090911A01909318018093170115C09C0128
:1003C0002F713327232B39F4E0911E01F0911F0187
:1003D000309709F0099580911701909118010197C4
:1003E0009093180180931701FF91EF91BF91AF9106
:1003F0009F918F917F916F915F914F913F912F913D
:100400000F900BBE0F900FBE0F901F9018959093FA
:1004100018018093170190931A018093190160933A
:100420001D018CE085BD089515BC08958FEF82B93C
:100430008093640081E08093650013B886E983BDF2
:1004400080E887BF7894089520E030E006C043E05C
:100450004A95F1F700002F5F3F4F28173907B8F38F
:10046000089520E030E008C0E3ECF9E03197F1F7BF
:1004700000C000002F5F3F4F28173907A8F30895E9
:100480008FEF8093640011BA83E080936A0089B78C
:10049000816089BF1FBC8CE08EBD78940895CF9396
:1004A000DF93C5E6D0E018828AE090E0CDDF81E0FE
:1004B0008883DF91CF91089580911101813041F4BB
:1004C00082E080936A001DBC1CBC1092110108954B
:1004D00083E080936A008CB59DB590931C01809356
:1004E0001B01E0912001F0912101099581E08093A9
:1004F0001101089590932101809320010895809126
:100500001B0190911C0108950F931F93CF93DF93CC
:10051000CDB7DEB72E970FB6F894DEBF0FBECDBFB6
:100520000D891E898F89988D26E02C831A83098373
:1005300097FF02C080E090E801979E838D83AE0113
:10054000455E5F4F698D7A8DCE01019619D04D8140
:100550005E8157FD0AC02F813885421753070CF47E
:100560009A01F801E20FF31F10822E960FB6F8944D
:10057000DEBF0FBECDBFDF91CF911F910F910895C8
:100580002F923F924F925F926F927F928F929F92A3
:10059000AF92BF92CF92DF92EF92FF920F931F9391
:1005A000CF93DF93CDB7DEB72B970FB6F894DEBFAE
:1005B0000FBECDBF6C017B018A01FC011782168240
:1005C000838181FFBFC1CE0101963C01F601938179
:1005D000F70193FD859193FF81917F01882309F4B1
:1005E000ADC1853239F493FD859193FF81917F01EF
:1005F000853221F4B60190E0D6D1E8CF912C212CA0
:10060000312CFFE1F315D8F08B3279F038F48032D9
:1006100079F08332A1F4232D20611DC08D3261F069
:10062000803369F4232D216016C0832D8260382E1B
:10063000E32DE4603E2E2AC0F32DF8601DC037FC88
:100640002DC020ED280F2A3040F08E32B9F436FC50
:1006500075C1232D2064322E19C036FE06C08AE0F3
:10066000989E200D1124922E11C0EAE02E9E200D9E
:100670001124222EF32DF0623F2E08C08C3621F477
:10068000832D8068382E02C0883641F4F70193FD2F
:10069000859193FF81917F018111B3CF982F9F7D29
:1006A0009554933028F40C5F1F4F9FE399830DC03E
:1006B000833631F0833771F0833509F055C020C09F
:1006C000F801808189830E5F1F4F88248394912CC9
:1006D000530112C02801F2E04F0E511CF801A08016
:1006E000B18036FE03C0692D70E002C06FEF7FEF6E
:1006F000C5014ED14C018201F32DFF773F2E15C06D
:10070000280122E0420E511CF801A080B18036FE83
:1007100003C0692D70E002C06FEF7FEFC5012DD1DE
:100720004C01F32DF0683F2E820133FC19C0822D5D
:1007300090E088169906A0F4B60180E290E033D1EB
:100740002A94F5CFF50137FC859137FE81915F0141
:10075000B60190E028D121102A9421E0821A910854
:100760008114910479F7E1C0843611F0893639F5A6
:10077000F80137FE07C060817181828193810C5F2F
:100780001F4F08C060817181072E000C880B990BE8
:100790000E5F1F4FF32DFF763F2E97FF09C09095F8
:1007A0008095709561957F4F8F4F9F4FF0683F2EDA
:1007B0002AE030E0A30133D1882E861844C0853763
:1007C00031F4232D2F7EB22E2AE030E025C0932D68
:1007D000997FB92E8F36C1F018F4883579F0AEC004
:1007E000803719F0883721F0A9C0E92FE061BE2ECB
:1007F000B4FE0DC0FB2DF460BF2E09C034FE0AC04C
:10080000292F2660B22E06C028E030E005C020E186
:1008100030E002C020E132E0F801B7FE07C060819D
:100820007181828193810C5F1F4F06C0608171814D
:1008300080E090E00E5F1F4FA301F1D0882E861854
:10084000FB2DFF773F2E36FE0DC0232D2E7FA22ECF
:10085000891458F434FE0BC032FC09C0832D8E7EFF
:10086000A82E05C0B82CA32C03C0B82C01C0B92CED
:10087000A4FE0FC0FE01E80DF11D8081803321F43C
:100880009A2D997EA92E09C0A2FE06C0B394B394F6
:1008900004C08A2D867809F0B394A3FC10C0A0FE92
:1008A00006C0B21480F4280C922C9B180DC0B21410
:1008B00058F4B60180E290E076D0B394F8CFB21449
:1008C00018F42B1802C0982C212CA4FE0FC0B601DE
:1008D00080E390E068D0A2FE16C0A1FC03C088E7C8
:1008E00090E002C088E590E0B6010CC08A2D8678C1
:1008F00051F0A1FE02C08BE201C080E2A7FC8DE2B4
:10090000B60190E050D0891430F4B60180E390E055
:100910004AD09A94F8CF8A94F301E80DF11D8081B2
:10092000B60190E040D08110F6CF222009F44ECEDF
:10093000B60180E290E037D02A94F7CFF6018681A5
:10094000978102C08FEF9FEF2B960FB6F894DEBF12
:100950000FBECDBFDF91CF911F910F91FF90EF9010
:10096000DF90CF90BF90AF909F908F907F906F90CF
:100970005F904F903F902F900895FC01059061503B
:1009800070400110D8F7809590958E0F9F1F0895A5
:10099000FC016150704001900110D8F7809590954E
:1009A0008E0F9F1F08950F931F93CF93DF93FB012B
:1009B000238121FD03C08FEF9FEF2CC022FF16C0C3
:1009C00046815781248135814217530744F4A08121
:1009D000B1819D012F5F3F4F318320838C9326810E
:1009E00037812F5F3F4F3783268314C08B01EC0183
:1009F000FB010084F185E02D0995892BE1F6D801F2
:100A000016968D919C911797019617969C938E93AD
:100A10001697CE01DF91CF911F910F910895FA01A2
:100A2000AA27283051F1203181F1E8946F936E7F2D
:100A30006E5F7F4F8F4F9F4FAF4FB1E03ED0B4E01E
:100A40003CD0670F781F891F9A1FA11D680F791F5F
:100A50008A1F911DA11D6A0F711D811D911DA11D70
:100A600020D009F468943F912AE0269F1124301980
:100A7000305D3193DEF6CF010895462F4770405D1B
:100A80004193B3E00FD0C9F7F6CF462F4F70405DCA
:100A90004A3318F0495D31FD4052419302D0A9F725
:100AA000EACFB4E0A6959795879577956795BA951F
:100AB000C9F700976105710508959B01AC010A2EE5
:100AC00006945795479537952795BA95C9F7620FBC
:0E0AD000731F841F951FA01D0895F894FFCF7B
:100ADE0001080C0406020301090901030206040CB5
:060AEE0008012564000070
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,676 @@
Archive member included to satisfy reference by file (symbol)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o (exit)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
lcd_control.o (__do_copy_data)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
stepper_driver.o (__do_clear_bss)
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)
lcd_control.o (snprintf)
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)
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) (vfprintf)
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)
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) (strnlen_P)
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)
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) (strnlen)
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)
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) (fputc)
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)
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) (__ultoa_invert)
Allocating common symbols
Common symbol size file
rotation 0x1 stepper_driver.o
value_set_event 0x2 ultrasonic_sensor.o
snap_event 0x2 stepper_driver.o
Discarded input sections
.data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.text 0x00000000 0x0 lcd_control.o
.data 0x00000000 0x0 lcd_control.o
.bss 0x00000000 0x0 lcd_control.o
.text.sbi_portc
0x00000000 0x16 lcd_control.o
.text.cbi_portc
0x00000000 0x18 lcd_control.o
.text.lcd_move_right
0x00000000 0x8 lcd_control.o
.text 0x00000000 0x0 main.o
.data 0x00000000 0x0 main.o
.bss 0x00000000 0x0 main.o
.text 0x00000000 0x0 stepper_driver.o
.data 0x00000000 0x0 stepper_driver.o
.bss 0x00000000 0x0 stepper_driver.o
.text 0x00000000 0x0 ultrasonic_sensor.o
.data 0x00000000 0x0 ultrasonic_sensor.o
.bss 0x00000000 0x0 ultrasonic_sensor.o
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text.libgcc.fixed
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_exit.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text.libgcc.fixed
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text.libgcc.fixed
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(snprintf.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(snprintf.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(snprintf.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(vfprintf_std.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(vfprintf_std.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(vfprintf_std.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen_P.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen_P.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen_P.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(strnlen.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(fputc.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(fputc.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(fputc.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(ultoa_invert.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(ultoa_invert.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a(ultoa_invert.o)
Memory Configuration
Name Origin Length Attributes
text 0x00000000 0x00020000 xr
data 0x00800100 0x00001000 rw !x
eeprom 0x00810000 0x00001000 rw !x
fuse 0x00820000 0x00000003 rw !x
lock 0x00830000 0x00000400 rw !x
signature 0x00840000 0x00000400 rw !x
user_signatures 0x00850000 0x00000400 rw !x
*default* 0x00000000 0xffffffff
Linker script and memory map
Address of section .data set to 0x800100
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
LOAD lcd_control.o
LOAD main.o
LOAD stepper_driver.o
LOAD ultrasonic_sensor.o
START GROUP
LOAD 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
END GROUP
START GROUP
LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a
LOAD 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
LOAD 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
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51\libatmega128.a
END GROUP
0x00000000 __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0
[0x00800100] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x800100
[0x00020000] __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x20000
[0x00001000] __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xff00
[0x00001000] __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000
[0x00000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400
0x00000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400
0x00000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400
0x00000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x00000000 0xade
*(.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
0x00000000 __vectors
*(.vectors)
*(.progmem.gcc*)
0x0000008c . = ALIGN (0x2)
0x0000008c __trampolines_start = .
*(.trampolines)
.trampolines 0x0000008c 0x0 linker stubs
*(.trampolines*)
0x0000008c __trampolines_end = .
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
*(.progmem*)
0x0000008c . = ALIGN (0x2)
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x0000008c __ctors_start = .
*(.ctors)
0x0000008c __ctors_end = .
0x0000008c __dtors_start = .
*(.dtors)
0x0000008c __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x0000008c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
0x0000008c __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x0000008c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x00000098 0x1a c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_copy_data.o)
0x00000098 __do_copy_data
.init4 0x000000b2 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a(_clear_bss.o)
0x000000b2 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x000000c2 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
*(.init9)
*(.text)
.text 0x000000c6 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
0x000000c6 __vector_22
0x000000c6 __vector_28
0x000000c6 __vector_32
0x000000c6 __vector_34
0x000000c6 __vector_24
0x000000c6 __vector_12
0x000000c6 __bad_interrupt
0x000000c6 __vector_6
0x000000c6 __vector_31
0x000000c6 __vector_3
0x000000c6 __vector_23
0x000000c6 __vector_30
0x000000c6 __vector_25
0x000000c6 __vector_11
0x000000c6 __vector_13
0x000000c6 __vector_17
0x000000c6 __vector_19
0x000000c6 __vector_7
0x000000c6 __vector_27
0x000000c6 __vector_5
0x000000c6 __vector_33
0x000000c6 __vector_4
0x000000c6 __vector_2
0x000000c6 __vector_21
0x000000c6 __vector_15
0x000000c6 __vector_29
0x000000c6 __vector_8
0x000000c6 __vector_26
0x000000c6 __vector_14
0x000000c6 __vector_10
0x000000c6 __vector_16
0x000000c6 __vector_18
0x000000c6 __vector_20
0x000000c8 . = ALIGN (0x2)
*(.text.*)
.text.sbi_porta
0x000000c8 0x16 lcd_control.o
0x000000c8 sbi_porta
.text.cbi_porta
0x000000de 0x18 lcd_control.o
0x000000de cbi_porta
.text.lcd_strobe_lcd_e
0x000000f6 0x26 lcd_control.o
0x000000f6 lcd_strobe_lcd_e
.text.lcd_write_character
0x0000011c 0x20 lcd_control.o
0x0000011c lcd_write_character
.text.lcd_write_command
0x0000013c 0x20 lcd_control.o
0x0000013c lcd_write_command
.text.lcd_clear
0x0000015c 0x16 lcd_control.o
0x0000015c lcd_clear
.text.init_4bits_mode
0x00000172 0x3c lcd_control.o
0x00000172 init_4bits_mode
.text.lcd_write_string
0x000001ae 0x18 lcd_control.o
0x000001ae lcd_write_string
.text.lcd_write_int
0x000001c6 0xb0 lcd_control.o
0x000001c6 lcd_write_int
.text.ultrasoon_value_set_event
0x00000276 0x1e main.o
.text.snap_event_trigger
0x00000294 0x4 main.o
.text.__vector_1
0x00000298 0x4e main.o
0x00000298 __vector_1
.text.main 0x000002e6 0x36 main.o
0x000002e6 main
.text.set_stepper_state
0x0000031c 0x24 stepper_driver.o
0x0000031c set_stepper_state
.text.set_snap_event
0x00000340 0xa stepper_driver.o
0x00000340 set_snap_event
.text.__vector_9
0x0000034a 0xc4 stepper_driver.o
0x0000034a __vector_9
.text.stepper_rotate_angle
0x0000040e 0x1a stepper_driver.o
0x0000040e stepper_rotate_angle
.text.stepper_rotate_stop
0x00000428 0x4 stepper_driver.o
0x00000428 stepper_rotate_stop
.text.init_stepper_driver
0x0000042c 0x1c stepper_driver.o
0x0000042c init_stepper_driver
.text.wait_us 0x00000448 0x1a ultrasonic_sensor.o
0x00000448 wait_us
.text.wait_ms 0x00000462 0x1e ultrasonic_sensor.o
0x00000462 wait_ms
.text.ultrasonic_init
0x00000480 0x1e ultrasonic_sensor.o
0x00000480 ultrasonic_init
.text.ultrasonic_send_pulse
0x0000049e 0x1a ultrasonic_sensor.o
0x0000049e ultrasonic_send_pulse
.text.ultrasonic_handle_interrupt
0x000004b8 0x3c ultrasonic_sensor.o
0x000004b8 ultrasonic_handle_interrupt
.text.set_value_trigger_event
0x000004f4 0xa ultrasonic_sensor.o
0x000004f4 set_value_trigger_event
.text.ultrasonic_get_timer_dist
0x000004fe 0xa ultrasonic_sensor.o
0x000004fe ultrasonic_get_timer_dist
.text.avr-libc
0x00000508 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)
0x00000508 snprintf
.text.avr-libc
0x00000580 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)
0x00000580 vfprintf
.text.avr-libc
0x0000097a 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)
0x0000097a strnlen_P
.text.avr-libc
0x00000990 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)
0x00000990 strnlen
.text.avr-libc
0x000009a6 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)
0x000009a6 fputc
.text.avr-libc
0x00000a1e 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)
0x00000a1e __ultoa_invert
0x00000ada . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000ada 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)
0x00000ada _exit
0x00000ada exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000ada 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)
0x00000ade _etext = .
.data 0x00800100 0x16 load address 0x00000ade
0x00800100 PROVIDE (__data_start, .)
*(.data)
*(.data*)
.data.initialising
0x00800100 0x1 main.o
0x00800100 initialising
.data.CW 0x00800101 0x8 stepper_driver.o
0x00800101 CW
.data.CCW 0x00800109 0x8 stepper_driver.o
0x00800109 CCW
.data.int_stat
0x00800111 0x1 ultrasonic_sensor.o
*(.gnu.linkonce.d*)
*(.rodata)
*(.rodata*)
.rodata.str1.1
0x00800112 0x3 lcd_control.o
*(.gnu.linkonce.r*)
0x00800116 . = ALIGN (0x2)
*fill* 0x00800115 0x1
0x00800116 _edata = .
0x00800116 PROVIDE (__data_end, .)
.bss 0x00800116 0xc
0x00800116 PROVIDE (__bss_start, .)
*(.bss)
*(.bss*)
.bss.stepper_state
0x00800116 0x1 stepper_driver.o
0x00800116 stepper_state
.bss.steps_to_do
0x00800117 0x2 stepper_driver.o
0x00800117 steps_to_do
.bss.steps_each_turn
0x00800119 0x2 stepper_driver.o
0x00800119 steps_each_turn
.bss.timer_dist
0x0080011b 0x2 ultrasonic_sensor.o
*(COMMON)
COMMON 0x0080011d 0x3 stepper_driver.o
0x0080011d rotation
0x0080011e snap_event
COMMON 0x00800120 0x2 ultrasonic_sensor.o
0x00800120 value_set_event
0x00800122 PROVIDE (__bss_end, .)
0x00000ade __data_load_start = LOADADDR (.data)
0x00000af4 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800122 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x00800122 _end = .
[!provide] PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
0x00810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.user_signatures
*(.user_signatures*)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x00000000 0x5c
*(.comment)
.comment 0x00000000 0x30 lcd_control.o
0x31 (size before relaxing)
.comment 0x00000030 0x31 main.o
.comment 0x00000030 0x31 stepper_driver.o
.comment 0x00000030 0x31 ultrasonic_sensor.o
.comment 0x00000030 0x31 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)
.comment 0x00000030 0x2c 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)
0x2d (size before relaxing)
.comment 0x0000005c 0x31 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)
.note.gnu.avr.deviceinfo
0x00000000 0x3c
.note.gnu.avr.deviceinfo
0x00000000 0x3c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.note.gnu.build-id
*(.note.gnu.build-id)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x148
*(.debug_aranges)
.debug_aranges
0x00000000 0x78 lcd_control.o
.debug_aranges
0x00000078 0x38 main.o
.debug_aranges
0x000000b0 0x48 stepper_driver.o
.debug_aranges
0x000000f8 0x50 ultrasonic_sensor.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x14e2
*(.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 0x4ee lcd_control.o
.debug_info 0x00000c6e 0x366 main.o
.debug_info 0x00000fd4 0x21e stepper_driver.o
.debug_info 0x000011f2 0x2f0 ultrasonic_sensor.o
.debug_abbrev 0x00000000 0xd38
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x718 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega128/avr51/crtatmega128.o
.debug_abbrev 0x00000718 0x1a4 lcd_control.o
.debug_abbrev 0x000008bc 0x190 main.o
.debug_abbrev 0x00000a4c 0x122 stepper_driver.o
.debug_abbrev 0x00000b6e 0x1ca ultrasonic_sensor.o
.debug_line 0x00000000 0xaaa
*(.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 0x347 lcd_control.o
.debug_line 0x000004b1 0x1f1 main.o
.debug_line 0x000006a2 0x1c6 stepper_driver.o
.debug_line 0x00000868 0x242 ultrasonic_sensor.o
.debug_frame 0x00000000 0x318
*(.debug_frame)
.debug_frame 0x00000000 0x130 lcd_control.o
.debug_frame 0x00000130 0x9c main.o
.debug_frame 0x000001cc 0xbc stepper_driver.o
.debug_frame 0x00000288 0x90 ultrasonic_sensor.o
.debug_str 0x00000000 0x754
*(.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 0x295 lcd_control.o
0x2ce (size before relaxing)
.debug_str 0x00000512 0x15b main.o
0x371 (size before relaxing)
.debug_str 0x0000066d 0x68 stepper_driver.o
0x2af (size before relaxing)
.debug_str 0x000006d5 0x7f ultrasonic_sensor.o
0x303 (size before relaxing)
.debug_loc 0x00000000 0x68c
*(.debug_loc)
.debug_loc 0x00000000 0x2ea lcd_control.o
.debug_loc 0x000002ea 0x167 main.o
.debug_loc 0x00000451 0x13a stepper_driver.o
.debug_loc 0x0000058b 0x101 ultrasonic_sensor.o
.debug_macinfo
*(.debug_macinfo)
.debug_weaknames
*(.debug_weaknames)
.debug_funcnames
*(.debug_funcnames)
.debug_typenames
*(.debug_typenames)
.debug_varnames
*(.debug_varnames)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x00000000 0x108
*(.debug_ranges)
.debug_ranges 0x00000000 0x68 lcd_control.o
.debug_ranges 0x00000068 0x28 main.o
.debug_ranges 0x00000090 0x38 stepper_driver.o
.debug_ranges 0x000000c8 0x40 ultrasonic_sensor.o
.debug_macro
*(.debug_macro)
OUTPUT(Eindopdracht.elf elf32-avr)
LOAD linker stubs

View File

@@ -0,0 +1,178 @@
S014000045696E646F706472616368742E737265633B
S113000045C0000049C100005EC000005CC00000A3
S11300105AC0000058C0000056C0000054C0000080
S113002052C0000092C100004EC000004CC000004D
S11300304AC0000048C0000046C0000044C00000A0
S113004042C0000040C000003EC000003CC00000B0
S11300503AC0000038C0000036C0000034C00000C0
S113006032C0000030C000002EC000002CC00000D0
S11300702AC0000028C0000026C0000024C00000E0
S113008022C0000020C000001EC0000011241FBEBA
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0EEEDE7
S11300A0FAE000E00BBF02C007900D92A631B10741
S11300B0D9F721E0A6E1B1E001C01D92A232B20756
S11300C0E1F711D10AC59CCF9BB321E030E002C017
S11300D0220F331F8A95E2F7292B2BBB08959BB37C
S11300E021E030E002C0220F331F8A95E2F7209509
S11300F029232BBB089586E090E0E6DF83EC99E0AA
S11301000197F1F700C0000086E090E0E8DF87E89F
S113011093E10197F1F700C000000895CF93C82F31
S113012085BB84E090E0D0DFE6DFC295C07FC5BB2D
S113013084E090E0C9DFDFDFCF910895CF93C82F2B
S113014085BB84E090E0CBDFD6DFC295C07FC5BB22
S113015084E090E0C4DFCFDFCF91089581E0EEDF4B
S113016087E893E10197F1F700C0000080E8E6CF4B
S11301700895CF938FEF84BB85BB8ABB15BA1BBA96
S1130180C0E2C5BBB8DFC5BBB6DF80E885BBB3DF63
S113019015BAB1DF80EF85BBAEDF15BAACDF80E600
S11301A085BBA9DF82E0CADFA6DFCF910895CF9394
S11301B0DF93EC0102C0B2DF219688818111FBCF6D
S11301C0DF91CF910895AF92BF92CF92DF92EF92D9
S11301D0FF920F931F93CF93DF93CDB7DEB7D82E43
S11301E0C92EADB6BEB69F938F930F2EF2E1EF2EBC
S11301F0F1E0FF2EF02DFF92EF921F921F921F92BB
S11302001F9282D101962DB73EB7285F3F4F0FB69C
S1130210F8943EBF0FBE2DBF281B390B0FB6F894C0
S11302203EBF0FBE2DBF0DB71EB70F5F1F4FCF923E
S1130230DF92FF92EF929F938F931F930F9364D15A
S1130240802F912FB4DF8DB79EB708960FB6F89420
S11302509EBF0FBE8DBF0FB6F894BEBE0FBEADBE1F
S1130260DF91CF911F910F91FF90EF90DF90CF908E
S1130270BF90AF90089520910001222351F001977F
S1130280439738F4D1D01092000161E080E092E00D
S1130290BEC0089504C108951F920F920FB60F9225
S11302A011240BB60F922F933F934F935F936F9349
S11302B07F938F939F93AF93BF93EF93FF93FCD060
S11302C0FF91EF91BF91AF919F918F917F916F912A
S11302D05F914F913F912F910F900BBE0F900FBEE6
S11302E00F901F901895CCD044DFA0D08AE491E001
S11302F027D08BE391E0FED087EA91E60197F1F7EE
S113030000C000002BDF60E088E592E080D026DFAB
S1130310F6D059DF84E690E0A4D0F9CF90911D0186
S1130320911107C0E82FF0E0EF5FFE4F808183B9A1
S11303300895E82FF0E0E75FFE4F808183B90895C8
S113034090931F0180931E0108951F920F920FB680
S11303500F9211240BB60F922F933F934F935F93F9
S11303606F937F938F939F93AF93BF93EF93FF9379
S113037014BC80911601D2DF80911601873020F4DD
S11303808F5F8093160130C010921601809117017F
S113039090911801009799F480911D01811104C076
S11303A081E080931D0102C010921D01809119010A
S11303B090911A01909318018093170115C09C0124
S11303C02F713327232B39F4E0911E01F0911F0183
S11303D0309709F0099580911701909118010197C0
S11303E09093180180931701FF91EF91BF91AF9102
S11303F09F918F917F916F915F914F913F912F9139
S11304000F900BBE0F900FBE0F901F9018959093F6
S113041018018093170190931A0180931901609336
S11304201D018CE085BD089515BC08958FEF82B938
S11304308093640081E08093650013B886E983BDEE
S113044080E887BF7894089520E030E006C043E058
S11304504A95F1F700002F5F3F4F28173907B8F38B
S1130460089520E030E008C0E3ECF9E03197F1F7BB
S113047000C000002F5F3F4F28173907A8F30895E5
S11304808FEF8093640011BA83E080936A0089B788
S1130490816089BF1FBC8CE08EBD78940895CF9392
S11304A0DF93C5E6D0E018828AE090E0CDDF81E0FA
S11304B08883DF91CF91089580911101813041F4B7
S11304C082E080936A001DBC1CBC10921101089547
S11304D083E080936A008CB59DB590931C01809352
S11304E01B01E0912001F0912101099581E08093A5
S11304F01101089590932101809320010895809122
S11305001B0190911C0108950F931F93CF93DF93C8
S1130510CDB7DEB72E970FB6F894DEBF0FBECDBFB2
S11305200D891E898F89988D26E02C831A8309836F
S113053097FF02C080E090E801979E838D83AE010F
S1130540455E5F4F698D7A8DCE01019619D04D813C
S11305505E8157FD0AC02F813885421753070CF47A
S11305609A01F801E20FF31F10822E960FB6F89449
S1130570DEBF0FBECDBFDF91CF911F910F910895C4
S11305802F923F924F925F926F927F928F929F929F
S1130590AF92BF92CF92DF92EF92FF920F931F938D
S11305A0CF93DF93CDB7DEB72B970FB6F894DEBFAA
S11305B00FBECDBF6C017B018A01FC01178216823C
S11305C0838181FFBFC1CE0101963C01F601938175
S11305D0F70193FD859193FF81917F01882309F4AD
S11305E0ADC1853239F493FD859193FF81917F01EB
S11305F0853221F4B60190E0D6D1E8CF912C212C9C
S1130600312CFFE1F315D8F08B3279F038F48032D5
S113061079F08332A1F4232D20611DC08D3261F065
S1130620803369F4232D216016C0832D8260382E17
S1130630E32DE4603E2E2AC0F32DF8601DC037FC84
S11306402DC020ED280F2A3040F08E32B9F436FC4C
S113065075C1232D2064322E19C036FE06C08AE0EF
S1130660989E200D1124922E11C0EAE02E9E200D9A
S11306701124222EF32DF0623F2E08C08C3621F473
S1130680832D8068382E02C0883641F4F70193FD2B
S1130690859193FF81917F018111B3CF982F9F7D25
S11306A09554933028F40C5F1F4F9FE399830DC03A
S11306B0833631F0833771F0833509F055C020C09B
S11306C0F801808189830E5F1F4F88248394912CC5
S11306D0530112C02801F2E04F0E511CF801A08012
S11306E0B18036FE03C0692D70E002C06FEF7FEF6A
S11306F0C5014ED14C018201F32DFF773F2E15C069
S1130700280122E0420E511CF801A080B18036FE7F
S113071003C0692D70E002C06FEF7FEFC5012DD1DA
S11307204C01F32DF0683F2E820133FC19C0822D59
S113073090E088169906A0F4B60180E290E033D1E7
S11307402A94F5CFF50137FC859137FE81915F013D
S1130750B60190E028D121102A9421E0821A910850
S11307608114910479F7E1C0843611F0893639F5A2
S1130770F80137FE07C060817181828193810C5F2B
S11307801F4F08C060817181072E000C880B990BE4
S11307900E5F1F4FF32DFF763F2E97FF09C09095F4
S11307A08095709561957F4F8F4F9F4FF0683F2ED6
S11307B02AE030E0A30133D1882E861844C085375F
S11307C031F4232D2F7EB22E2AE030E025C0932D64
S11307D0997FB92E8F36C1F018F4883579F0AEC000
S11307E0803719F0883721F0A9C0E92FE061BE2EC7
S11307F0B4FE0DC0FB2DF460BF2E09C034FE0AC048
S1130800292F2660B22E06C028E030E005C020E182
S113081030E002C020E132E0F801B7FE07C0608199
S11308207181828193810C5F1F4F06C06081718149
S113083080E090E00E5F1F4FA301F1D0882E861850
S1130840FB2DFF773F2E36FE0DC0232D2E7FA22ECB
S1130850891458F434FE0BC032FC09C0832D8E7EFB
S1130860A82E05C0B82CA32C03C0B82C01C0B92CE9
S1130870A4FE0FC0FE01E80DF11D8081803321F438
S11308809A2D997EA92E09C0A2FE06C0B394B394F2
S113089004C08A2D867809F0B394A3FC10C0A0FE8E
S11308A006C0B21480F4280C922C9B180DC0B2140C
S11308B058F4B60180E290E076D0B394F8CFB21445
S11308C018F42B1802C0982C212CA4FE0FC0B601DA
S11308D080E390E068D0A2FE16C0A1FC03C088E7C4
S11308E090E002C088E590E0B6010CC08A2D8678BD
S11308F051F0A1FE02C08BE201C080E2A7FC8DE2B0
S1130900B60190E050D0891430F4B60180E390E051
S11309104AD09A94F8CF8A94F301E80DF11D8081AE
S1130920B60190E040D08110F6CF222009F44ECEDB
S1130930B60180E290E037D02A94F7CFF6018681A1
S1130940978102C08FEF9FEF2B960FB6F894DEBF0E
S11309500FBECDBFDF91CF911F910F91FF90EF900C
S1130960DF90CF90BF90AF909F908F907F906F90CB
S11309705F904F903F902F900895FC010590615037
S113098070400110D8F7809590958E0F9F1F0895A1
S1130990FC016150704001900110D8F7809590954A
S11309A08E0F9F1F08950F931F93CF93DF93FB0127
S11309B0238121FD03C08FEF9FEF2CC022FF16C0BF
S11309C046815781248135814217530744F4A0811D
S11309D0B1819D012F5F3F4F318320838C9326810A
S11309E037812F5F3F4F3783268314C08B01EC017F
S11309F0FB010084F185E02D0995892BE1F6D801EE
S1130A0016968D919C911797019617969C938E93A9
S1130A101697CE01DF91CF911F910F910895FA019E
S1130A20AA27283051F1203181F1E8946F936E7F29
S1130A306E5F7F4F8F4F9F4FAF4FB1E03ED0B4E01A
S1130A403CD0670F781F891F9A1FA11D680F791F5B
S1130A508A1F911DA11D6A0F711D811D911DA11D6C
S1130A6020D009F468943F912AE0269F112430197C
S1130A70305D3193DEF6CF010895462F4770405D17
S1130A804193B3E00FD0C9F7F6CF462F4F70405DC6
S1130A904A3318F0495D31FD4052419302D0A9F721
S1130AA0EACFB4E0A6959795879577956795BA951B
S1130AB0C9F700976105710508959B01AC010A2EE1
S1130AC006945795479537952795BA95C9F7620FB8
S1110AD0731F841F951FA01D0895F894FFCF77
S1130ADE01080C0406020301090901030206040CB1
S1090AEE0801256400006C
S9030000FC

View File

@@ -39,6 +39,7 @@ SUBDIRS :=
C_SRCS += \
../lcd_control.c \
../main.c \
../stepper_driver.c \
../ultrasonic_sensor.c
@@ -51,21 +52,25 @@ ASM_SRCS +=
OBJS += \
lcd_control.o \
main.o \
stepper_driver.o \
ultrasonic_sensor.o
OBJS_AS_ARGS += \
lcd_control.o \
main.o \
stepper_driver.o \
ultrasonic_sensor.o
C_DEPS += \
lcd_control.d \
main.d \
stepper_driver.d \
ultrasonic_sensor.d
C_DEPS_AS_ARGS += \
lcd_control.d \
main.d \
stepper_driver.d \
ultrasonic_sensor.d
OUTPUT_FILE_PATH +=Eindopdracht.elf
@@ -96,6 +101,13 @@ LINKER_SCRIPT_DEP+=
@echo Finished building: $<
./stepper_driver.o: .././stepper_driver.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 5.4.0
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -mrelax -g2 -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
./ultrasonic_sensor.o: .././ultrasonic_sensor.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 5.4.0

View File

@@ -0,0 +1,61 @@
lcd_control.d lcd_control.o: .././lcd_control.c \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \
.././lcd_control.h
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h:
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdlib.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h:
.././lcd_control.h:

Binary file not shown.

View File

@@ -0,0 +1,56 @@
main.d main.o: .././main.c \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \
.././lcd_control.h .././ultrasonic_sensor.h .././stepper_driver.h
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h:
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h:
.././lcd_control.h:
.././ultrasonic_sensor.h:
.././stepper_driver.h:

Binary file not shown.

View File

@@ -6,5 +6,7 @@ lcd_control.c
main.c
stepper_driver.c
ultrasonic_sensor.c

View File

@@ -0,0 +1,61 @@
stepper_driver.d stepper_driver.o: .././stepper_driver.c \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \
.././stepper_driver.h
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h:
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdio.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdarg.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h:
.././stepper_driver.h:

Binary file not shown.

View File

@@ -0,0 +1,49 @@
ultrasonic_sensor.d ultrasonic_sensor.o: .././ultrasonic_sensor.c \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
.././lcd_control.h
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h:
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include/avr/iom128.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
.././lcd_control.h:

View File

@@ -30,95 +30,95 @@
<EraseKey />
<AsfFrameworkConfig>
<framework-data xmlns="">
<options />
<configurations />
<files />
<documentation help="" />
<offline-documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.49.1" />
</dependencies>
</framework-data>
<options />
<configurations />
<files />
<documentation help="" />
<offline-documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.49.1" />
</dependencies>
</framework-data>
</AsfFrameworkConfig>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
</AvrGcc>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize debugging experience (-Og)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize debugging experience (-Og)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
@@ -131,6 +131,12 @@
<Compile Include="main.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="stepper_driver.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="stepper_driver.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="ultrasonic_sensor.c">
<SubType>compile</SubType>
</Compile>

View File

@@ -25,7 +25,7 @@ void lcd_strobe_lcd_e(void) {
sbi_porta(LCD_E); // E high
_delay_ms(1);
cbi_porta(LCD_E); // E low
_delay_ms(1);
_delay_ms(2);
}

View File

@@ -10,29 +10,51 @@
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdbool.h>
#include "lcd_control.h"
#include "ultrasonic_sensor.h"
#include "stepper_driver.h"
bool initialising = true;
ISR(INT0_vect)
{
ultrasonic_handle_interrupt();
}
static void snap_event_trigger(uint8_t rotation){
ultrasonic_send_pulse();
}
static void ultrasoon_value_set_event(uint16_t value){
if(initialising){
if(value > 0 && value < 20){
stepper_rotate_stop();
initialising = false;
stepper_rotate_angle(512, CounterClockWise);
}
}
}
int main(void)
{
/* Replace with your application code */
ultrasonic_init();
init_4bits_mode();
init_stepper_driver();
set_snap_event(&snap_event_trigger);
set_value_trigger_event(&ultrasoon_value_set_event);
_delay_ms(10);
lcd_clear();
stepper_rotate_angle(600, ClockWise);
while (1)
{
// TODO change to use the stepper motor
ultrasonic_send_pulse();
//ultrasonic_send_pulse();
lcd_clear();
lcd_write_int(ultrasonic_get_timer_dist());
@@ -40,5 +62,6 @@ int main(void)
wait_ms(100);
}
stepper_rotate_stop();
}

View File

@@ -0,0 +1,113 @@
/*
* stepper_driver.c
* PORTB
* Created: 10-Mar-21 12:21:47 PM
* Author: lemms
*/
#define F_CPU 10e6
#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>
#include <stdbool.h>
#include <stdio.h>
#include "stepper_driver.h"
#define BIT(x) (1 << (x))
uint8_t CCW[8] = {0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};
uint8_t CW[8] = {0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};
/*
Een timer met interupt routine.
in de interump routine een state machine voor de 8 nibbles
elke keer dat de interupt routine wordt geroepen wordt de state
incremented. hier houd je ook een var bij om de relatieve
positie te weten van de stappenmotor.
Nog een timer voor microstepping.
Timers:
timer voor de speed.
stappen van 100ms naar 10ms
prescaler = 255
*/
enum rotation_wise rotation;
void stepper_rotate_full_rotation_CW();
void stepper_rotate_full_rotation_CCW();
void set_stepper_state(uint8_t count){
if(rotation == ClockWise){
PORTE = CW[count];
} else {
PORTE = CCW[count];
}
}
void (*snap_event)(uint8_t);
void set_snap_event(void (*snap_event_p)(uint8_t)){
snap_event = snap_event_p;
}
uint16_t steps_each_turn = 0;
uint16_t steps_to_do = 0;
uint8_t stepper_state = 0;
ISR( TIMER2_COMP_vect ){
TCNT2 = 0;
set_stepper_state(stepper_state);
if(stepper_state < 7){
stepper_state++;
} else {
//OCR2 = ADCH;
stepper_state = 0;
if(steps_to_do == 0){
if(rotation == ClockWise){
rotation = CounterClockWise;
} else {
rotation = ClockWise;
}
steps_to_do = steps_each_turn;
} else {
if(steps_to_do % 32 == 0){
if(snap_event != NULL)
snap_event(steps_to_do);
}
steps_to_do--;
}
}
}
void stepper_rotate_angle(uint16_t steps, enum rotation_wise rot){
steps_to_do = steps;
steps_each_turn = steps;
rotation = rot;
TCCR2 = 0b00001100;
}
void stepper_rotate_stop(){
TCCR2 = 0b00000000;
}
void init_stepper_driver(){
DDRE = 0xff;
DDRG = 0xff;
PORTG = 0x01;
PORTE = 0x00;
OCR2 = 150;
TIMSK = BIT(7);
sei();
}

View File

@@ -0,0 +1,25 @@
/*
* stepper_driver.h
*
* Created: 10-Mar-21 12:35:30 PM
* Author: lemms
*/
#ifndef STEPPER_DRIVER_H_
#define STEPPER_DRIVER_H_
#include <stdbool.h>
enum rotation_wise {
ClockWise,
CounterClockWise
};
void init_stepper_driver();
void stepper_rotate(uint16_t steps);
void stepper_rotate_angle(uint16_t steps, enum rotation_wise rot);
void stepper_rotate_stop();
void set_snap_event(void (*snap_event_p)(uint8_t));
#endif /* STEPPER_DRIVER_H_ */

View File

@@ -19,6 +19,8 @@ enum interrupt_status {INTERRUPT_FALLING, INTERRUPT_RISING};
static enum interrupt_status int_stat = INTERRUPT_RISING;
void (*value_set_event)(uint16_t);
void wait_us(unsigned int us)
{
for(int i = 0; i < us; i++)
@@ -79,11 +81,19 @@ void ultrasonic_handle_interrupt()
// read timer1 into time_dist
timer_dist = TCNT1;
//EVENT
value_set_event(timer_dist);
// set interrupt status
int_stat = INTERRUPT_RISING;
}
}
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;
}
uint16_t ultrasonic_get_timer_dist()
{
return timer_dist;

View File

@@ -10,3 +10,4 @@ void ultrasonic_init();
void ultrasonic_send_pulse();
uint16_t ultrasonic_get_timer_dist();
void ultrasonic_handle_interrupt();
void set_value_trigger_event(void (*value_set_event_p)(uint16_t));

View File

@@ -119,13 +119,10 @@ Global
{FE1D92D4-4858-4112-AD41-E57799A980C9}.Debug|AVR.Build.0 = Debug|AVR
{FE1D92D4-4858-4112-AD41-E57799A980C9}.Release|AVR.ActiveCfg = Release|AVR
{FE1D92D4-4858-4112-AD41-E57799A980C9}.Release|AVR.Build.0 = Release|AVR
<<<<<<< HEAD
{EAFA506A-B042-4CB2-9335-FBC1D7364EFB}.Debug|AVR.ActiveCfg = Debug|AVR
{EAFA506A-B042-4CB2-9335-FBC1D7364EFB}.Debug|AVR.Build.0 = Debug|AVR
{EAFA506A-B042-4CB2-9335-FBC1D7364EFB}.Release|AVR.ActiveCfg = Release|AVR
{EAFA506A-B042-4CB2-9335-FBC1D7364EFB}.Release|AVR.Build.0 = Release|AVR
=======
>>>>>>> fcffefbb7e2c6dd1fafecca07bf84ecaf04b4fd4
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE