diff --git a/Door.atsuo b/Door.atsuo index ff8a6e1..3618488 100644 Binary files a/Door.atsuo and b/Door.atsuo differ diff --git a/Door/Debug/Door.elf b/Door/Debug/Door.elf index 78ece95..eccbf7e 100644 Binary files a/Door/Debug/Door.elf and b/Door/Debug/Door.elf differ diff --git a/Door/Debug/Door.hex b/Door/Debug/Door.hex index 7dc6f79..7820608 100644 --- a/Door/Debug/Door.hex +++ b/Door/Debug/Door.hex @@ -4,116 +4,70 @@ :100030000C945D000C945D000C945D000C945D00CC :100040000C945D000C945D000C945D000C945D00BC :100050000C945D000C945D000C945D000C945D00AC -:100060000C945D000C945D00210311241FBECFEFA2 -:10007000D4E0DEBFCDBF11E0A0E0B1E0E4ECF6E0FB -:1000800002C005900D92AA38B107D9F723E0AAE87B -:10009000B1E001C01D92AF31B207E1F710E0CAE64E -:1000A000D0E004C02297FE010E945C03C836D1074D -:1000B000C9F70E94A3020C9460030C94000020E096 -:1000C00030E080E061E070E04A99FECF289AE7EBEB -:1000D000FBE03197F1F700C000004A9908C0AB017E -:1000E000022E02C0440F551F0A94E2F7842B4A9B4C -:1000F000FECF2898F2E4FA95F1F700C02F5F3F4F4A -:100100002830310509F708951F93CF93DF934A995B -:1001100016C28FE19EE40197F1F700C000004A99F2 -:100120000EC24A9BFECF0E945F00182F0E945F0004 -:100130000E945F00482FC82FD0E0E0ECF0E0808103 -:1001400085FFFDCF80E38093C60060E070E0CB01C7 -:100150009695879596958795969587959C01220FFC -:10016000331F880F991F880F991F880F991F820FBF -:10017000931F681B790B605DE0ECF0E0808185FFE8 -:10018000FDCF6093C6009E0136952795369527953D -:10019000ABE7B4E10E944E0396958795805DE0EC55 -:1001A000F0E0908195FFFDCF8093C6009E01ADECFD -:1001B000BCEC0E944E03FC01F695E795F695E79599 -:1001C000F695E7959F010E944E0396958795969523 -:1001D0008795969587959C01220F331F880F991F4D -:1001E000880F991F880F991F820F931FE81BF90B27 -:1001F0009E2F905DE0ECF0E0808185FFFDCF909335 -:10020000C6009E01ADECBCEC0E944E03969587950E -:1002100096958795969587959C01220F331F880F99 -:10022000991F880F991F880F991F820F931FC81B52 -:10023000D90BC05DE0ECF0E0808185FFFDCFC0937D -:10024000C600A4E5B1E090E2E0ECF0E0C6ECD0E05E -:10025000808185FFFDCF98839D919111F9CFE0ECCE -:10026000F0E0808185FFFDCF8DE08093C600E0EC5B -:10027000F0E0808185FFFDCF8AE08093C6001111F8 -:100280005EC14F3E09F05BC10E945F00182F0E94C3 -:100290005F00482FABE5B1E022E5E0ECF0E0C6EC12 -:1002A000D0E0908195FFFDCF28832D912111F9CFCA -:1002B000E0ECF0E0908195FFFDCF8DE08093C600EB -:1002C000E0ECF0E0908195FFFDCF8AE08093C600DE -:1002D000E0ECF0E0808185FFFDCFC12FD0E080E32E -:1002E0008093C60060E070E0CB0196958795969567 -:1002F0008795969587959C01220F331F880F991F2C -:10030000880F991F880F991F820F931F681B790B05 -:10031000605DE0ECF0E0808185FFFDCF6093C6007A -:100320009E013695279536952795ABE7B4E10E9457 -:100330004E0396958795805DE0ECF0E0908195FF07 -:10034000FDCF8093C6009E01ADECBCEC0E944E0335 -:10035000FC01F695E795F695E795F695E7959F01EB -:100360000E944E03969587959695879596958795C5 -:100370009C01220F331F880F991F880F991F880F28 -:10038000991F820F931FE81BF90B9E2F905DE0ECE5 -:10039000F0E0808185FFFDCF9093C6009E01ADEC1B -:1003A000BCEC0E944E0396958795969587959695F9 -:1003B00087959C01220F331F880F991F880F991F63 -:1003C000880F991F820F931FC81BD90BC05DE0ECEB -:1003D000F0E0808185FFFDCFC093C600A6E6B1E0C6 -:1003E00090E2E0ECF0E0C6ECD0E0808185FFFDCF4C -:1003F00098839D919111F9CF50E0E0ECF0E080817D -:1004000085FFFDCF80E38093C60060E070E0CB0104 -:100410009695879596958795969587959C01220F39 -:10042000331F880F991F880F991F880F991F820FFC -:10043000931F681B790B605DE0ECF0E0808185FF25 -:10044000FDCF6093C6009A0136952795369527957E -:10045000ABE7B4E10E944E0396958795805DE0EC92 -:10046000F0E0908195FFFDCF8093C6009A01ADEC3E -:10047000BCEC0E944E03FC01F695E795F695E795D6 -:10048000F695E7959F010E944E0396958795969560 -:100490008795969587959C01220F331F880F991F8A -:1004A000880F991F880F991F820F931FE81BF90B64 -:1004B0009E2F905DE0ECF0E0808185FFFDCF909372 -:1004C000C6009A01ADECBCEC0E944E039695879550 -:1004D00096958795969587959C01220F331F880FD7 -:1004E000991F880F991F880F991F820F931F481B10 -:1004F000590B405DE0ECF0E0808185FFFDCF40933B -:10050000C600AFE6B1E090E2E0ECF0E0C6ECD0E08F -:10051000808185FFFDCF98839D919111F9CFE0EC0B -:10052000F0E0808185FFFDCF8DE08093C600E0EC98 -:10053000F0E0808185FFFDCF8AE08093C600DF91E7 -:10054000CF911F910895789482E390E026E731E0FF -:10055000E0ECF0E0A6ECB0E07DE06AE011C04081A4 -:1005600045FFFDCF5C9359915111F9CF408145FF73 -:10057000FDCF7C93408145FFFDCF6C93019719F02F -:10058000E90157E4ECCF299AC0ECD0E006EC10E08A -:100590000F2EFEE2DF2EF02D0F2EFDE0EF2EF02DC0 -:1005A0000F2EFAE0FF2EF02D4A99FECF0E94840014 -:1005B000888185FFFDCFF801D082888185FFFDCF3E -:1005C000F801E082888185FFFDCFF801F082FFEF1E -:1005D00024E38CE0F15020408040E1F700C00000AF -:1005E0002898E2CFCF93DF93789481E88093C4007A -:1005F0001092C00088E08093C10086E08093C20022 -:10060000AFE7B1E095E5E0ECF0E0C6ECD0E080814A -:1006100085FFFDCF98839D919111F9CFE0ECF0E03B -:10062000808185FFFDCF8DE08093C600E0ECF0E097 -:10063000808185FFFDCF8AE08093C600DF91CF9156 -:1006400008958EE193E00E94F202559A539A239AFC -:1006500081E284BD81E085BD16BC1092B60091EAAE -:100660009093B0008093B1001092B20010926E008F -:100670001092700018BC1092B4001092B300209A2F -:10068000219A2898299856985E9857985F9810BE96 -:1006900010927B0083E080937F000895A29FB001B9 -:1006A000B39FC001A39F01D0B29F700D811D112483 -:1006B000911D0895EE0FFF1F0590F491E02D099410 -:0406C000F894FFCFDC -:1006C4000A0D0A0D52656365697665643A200A0D60 -:1006D4004F464620094F4E00696E74204952736993 -:1006E400676E616C5B5D203D207B002F2F204F46A1 -:1006F400462C204F4E2028696E2031302773206FFE -:1007040066206D6963726F7365636F6E647329002D -:100714007D3B002031427974650052656164204458 -:100724006174613A002048427974652C2000204CA1 -:10073400427974650047656C6164656E210055619A -:0A074400727420646F6E65210000DE +:100060000C945D000C945D00B90111241FBECFEF0C +:10007000D4E0DEBFCDBF11E0A0E0B1E0E4EFF3E0FB +:1000800002C005900D92A637B107D9F723E0A6E785 +:10009000B1E001C01D92AB30B207E1F710E0CAE653 +:1000A000D0E004C02297FE010E94F401C836D107B7 +:1000B000C9F70E94B4000C94F8010C94000020E0F1 +:1000C00030E080E061E070E04A9BFECFEFE9FFE0C6 +:1000D0003197F1F700C000004A9B08C0AB01022E27 +:1000E00002C0440F551F0A94E2F7842B4A99FECFB1 +:1000F0002F5F3F4F2830310539F70895CF934A9944 +:1001000024C08FE19EE40197F1F700C000004A99F6 +:100110001FC04A9BFECF4A99FECF0E945F0081110B +:100120001AC00E945F008F3EC9F40E945F00C82F72 +:100130000E945F002C2F30E0A901480F511D4F3F56 +:10014000510571F02FEF30E00BC02FEF30E008C009 +:100150002FEF30E005C02FEF30E002C02FEF30E08E +:10016000822F932FCF910895789482E390E027E532 +:1001700031E0E0ECF0E0A6ECB0E07DE06AE011C038 +:10018000408145FFFDCF5C9359915111F9CF4081DA +:1001900045FFFDCF7C93408145FFFDCF6C930197D8 +:1001A00019F0E90157E4ECCF299AC0ECD0E006EC55 +:1001B00010E00F2EF0E6EF2EF1E0FF2EF02D0F2EC7 +:1001C000FDE0CF2EF02D0F2EFAE0DF2EF02D4A9914 +:1001D000FECF289A0E947E00B82EAC015527888158 +:1001E00085FFFDCF80E3D8018C9360E070E0CB0108 +:1001F0009695879596958795969587959C01220F5C +:10020000331F880F991F880F991F880F991F820F1E +:10021000931F681B790B605D888185FFFDCFF80116 +:1002200060839A013695279536952795ABE7B4E11B +:100230000E94E60196958795805D988195FFFDCF98 +:10024000D8018C939A01ADECBCEC0E94E601FC0154 +:10025000F695E795F695E795F695E7959F010E9447 +:10026000E6019695879596958795969587959C0135 +:10027000220F331F880F991F880F991F880F991F0E +:10028000820F931FE81BF90BE05D888185FFFDCF8E +:10029000D801EC939A01ADECBCEC0E94E601969576 +:1002A000879596958795969587959C01220F331F84 +:1002B000880F991F880F991F880F991F820F931F0E +:1002C000481B590B405D888185FFFDCFF8014083B5 +:1002D000F70190E2888185FFFDCFD8019C93919131 +:1002E0009111F8CF888185FFFDCFF801C082888108 +:1002F00085FFFDCFD801DC92BFEFBB1209C0EFE74D +:10030000F4E82EE1E150F0402040E1F700C00000A9 +:1003100028985DCFCF93DF93789481E88093C400D1 +:100320001092C00088E08093C10086E08093C200F4 +:10033000ACE6B1E095E5E0ECF0E0C6ECD0E0808121 +:1003400085FFFDCF98839D919111F9CFE0ECF0E00E +:10035000808185FFFDCF8DE08093C600E0ECF0E06A +:10036000808185FFFDCF8AE08093C600DF91CF9129 +:1003700008958AE093E00E948A01559A539A239A3D +:1003800081E284BD81E085BD16BC1092B60091EA81 +:100390009093B0008093B1001092B20010926E0062 +:1003A0001092700018BC1092B4001092B300209A02 +:1003B000219A2898299856985E9857985F9810BE69 +:1003C00010927B0083E080937F000895A29FB0018C +:1003D000B39FC001A39F01D0B29F700D811D112456 +:1003E000911D0895EE0FFF1F0590F491E02D0994E3 +:0403F000F894FFCFAF +:1003F4000A0D0A0D52656365697665643A200A0D33 +:100404004F464620094F4E00696E74204952736965 +:10041400676E616C5B5D203D207B002F2F204F4673 +:10042400462C204F4E2028696E2031302773206FD0 +:1004340066206D6963726F7365636F6E6473290000 +:100444002C20007D3B0047656C6164656E210020B3 +:1004540050726573736564210D0A005561727420CE +:06046400646F6E652100CB :00000001FF diff --git a/Door/Debug/Door.lss b/Door/Debug/Door.lss index 254922f..805d150 100644 --- a/Door/Debug/Door.lss +++ b/Door/Debug/Door.lss @@ -3,33 +3,33 @@ Door.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .data 0000008a 00800100 000006c4 00000758 2**0 + 0 .data 00000076 00800100 000003f4 00000488 2**0 CONTENTS, ALLOC, LOAD, DATA - 1 .text 000006c4 00000000 00000000 00000094 2**1 + 1 .text 000003f4 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .bss 00000195 0080018a 0080018a 000007e2 2**0 + 2 .bss 00000195 00800176 00800176 000004fe 2**0 ALLOC - 3 .stab 000006cc 00000000 00000000 000007e4 2**2 + 3 .stab 000006cc 00000000 00000000 00000500 2**2 CONTENTS, READONLY, DEBUGGING - 4 .stabstr 00000082 00000000 00000000 00000eb0 2**0 + 4 .stabstr 00000082 00000000 00000000 00000bcc 2**0 CONTENTS, READONLY, DEBUGGING - 5 .comment 0000002f 00000000 00000000 00000f32 2**0 + 5 .comment 0000002f 00000000 00000000 00000c4e 2**0 CONTENTS, READONLY - 6 .debug_aranges 00000050 00000000 00000000 00000f61 2**0 + 6 .debug_aranges 00000050 00000000 00000000 00000c7d 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_info 00002dfe 00000000 00000000 00000fb1 2**0 + 7 .debug_info 0000289d 00000000 00000000 00000ccd 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_abbrev 0000044d 00000000 00000000 00003daf 2**0 + 8 .debug_abbrev 00000474 00000000 00000000 0000356a 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_line 0000063c 00000000 00000000 000041fc 2**0 + 9 .debug_line 000005af 00000000 00000000 000039de 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_frame 000000e4 00000000 00000000 00004838 2**2 + 10 .debug_frame 000000dc 00000000 00000000 00003f90 2**2 CONTENTS, READONLY, DEBUGGING - 11 .debug_str 00000c33 00000000 00000000 0000491c 2**0 + 11 .debug_str 00000c59 00000000 00000000 0000406c 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_loc 00000cd8 00000000 00000000 0000554f 2**0 + 12 .debug_loc 00000af1 00000000 00000000 00004cc5 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_ranges 000004a8 00000000 00000000 00006227 2**0 + 13 .debug_ranges 00000478 00000000 00000000 000057b6 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -63,7 +63,7 @@ Disassembly of section .text: 64: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt> 00000068 <__ctors_start>: - 68: 21 03 mulsu r18, r17 + 68: b9 01 movw r22, r18 0000006a <__ctors_end>: 6a: 11 24 eor r1, r1 @@ -77,18 +77,18 @@ Disassembly of section .text: 76: 11 e0 ldi r17, 0x01 ; 1 78: a0 e0 ldi r26, 0x00 ; 0 7a: b1 e0 ldi r27, 0x01 ; 1 - 7c: e4 ec ldi r30, 0xC4 ; 196 - 7e: f6 e0 ldi r31, 0x06 ; 6 + 7c: e4 ef ldi r30, 0xF4 ; 244 + 7e: f3 e0 ldi r31, 0x03 ; 3 80: 02 c0 rjmp .+4 ; 0x86 <__do_copy_data+0x10> 82: 05 90 lpm r0, Z+ 84: 0d 92 st X+, r0 - 86: aa 38 cpi r26, 0x8A ; 138 + 86: a6 37 cpi r26, 0x76 ; 118 88: b1 07 cpc r27, r17 8a: d9 f7 brne .-10 ; 0x82 <__do_copy_data+0xc> 0000008c <__do_clear_bss>: 8c: 23 e0 ldi r18, 0x03 ; 3 - 8e: aa e8 ldi r26, 0x8A ; 138 + 8e: a6 e7 ldi r26, 0x76 ; 118 90: b1 e0 ldi r27, 0x01 ; 1 92: 01 c0 rjmp .+2 ; 0x96 <.do_clear_bss_start> @@ -96,7 +96,7 @@ Disassembly of section .text: 94: 1d 92 st X+, r1 00000096 <.do_clear_bss_start>: - 96: af 31 cpi r26, 0x1F ; 31 + 96: ab 30 cpi r26, 0x0B ; 11 98: b2 07 cpc r27, r18 9a: e1 f7 brne .-8 ; 0x94 <.do_clear_bss_loop> @@ -107,12 +107,12 @@ Disassembly of section .text: a2: 04 c0 rjmp .+8 ; 0xac <__do_global_ctors+0x10> a4: 22 97 sbiw r28, 0x02 ; 2 a6: fe 01 movw r30, r28 - a8: 0e 94 5c 03 call 0x6b8 ; 0x6b8 <__tablejump__> + a8: 0e 94 f4 01 call 0x3e8 ; 0x3e8 <__tablejump__> ac: c8 36 cpi r28, 0x68 ; 104 ae: d1 07 cpc r29, r17 b0: c9 f7 brne .-14 ; 0xa4 <__do_global_ctors+0x8> - b2: 0e 94 a3 02 call 0x546 ; 0x546
- b6: 0c 94 60 03 jmp 0x6c0 ; 0x6c0 <_exit> + b2: 0e 94 b4 00 call 0x168 ; 0x168
+ b6: 0c 94 f8 01 jmp 0x3f0 ; 0x3f0 <_exit> 000000ba <__bad_interrupt>: ba: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> @@ -129,1085 +129,589 @@ Disassembly of section .text: c2: 80 e0 ldi r24, 0x00 ; 0 c4: 61 e0 ldi r22, 0x01 ; 1 c6: 70 e0 ldi r23, 0x00 ; 0 - c8: 4a 99 sbic 0x09, 2 ; 9 + c8: 4a 9b sbis 0x09, 2 ; 9 ca: fe cf rjmp .-4 ; 0xc8 <_Z8read8bitv+0xa> - cc: 28 9a sbi 0x05, 0 ; 5 - ce: e7 eb ldi r30, 0xB7 ; 183 - d0: fb e0 ldi r31, 0x0B ; 11 - d2: 31 97 sbiw r30, 0x01 ; 1 - d4: f1 f7 brne .-4 ; 0xd2 <_Z8read8bitv+0x14> - d6: 00 c0 rjmp .+0 ; 0xd8 <_Z8read8bitv+0x1a> - d8: 00 00 nop + cc: ef e9 ldi r30, 0x9F ; 159 + ce: ff e0 ldi r31, 0x0F ; 15 + d0: 31 97 sbiw r30, 0x01 ; 1 + d2: f1 f7 brne .-4 ; 0xd0 <_Z8read8bitv+0x12> + d4: 00 c0 rjmp .+0 ; 0xd6 <_Z8read8bitv+0x18> + d6: 00 00 nop + d8: 4a 9b sbis 0x09, 2 ; 9 UCSR0A= (0< - de: ab 01 movw r20, r22 + da: 08 c0 rjmp .+16 ; 0xec <_Z8read8bitv+0x2e> + dc: ab 01 movw r20, r22 + de: 02 2e mov r0, r18 UDR0 = c; - e0: 02 2e mov r0, r18 + e0: 02 c0 rjmp .+4 ; 0xe6 <_Z8read8bitv+0x28> text++; } } void printDec(uint16_t wert) { print((wert/10000)+'0'); print(((wert/1000)%10)+'0'); - e2: 02 c0 rjmp .+4 ; 0xe8 <_Z8read8bitv+0x2a> - e4: 44 0f add r20, r20 - e6: 55 1f adc r21, r21 - e8: 0a 94 dec r0 - ea: e2 f7 brpl .-8 ; 0xe4 <_Z8read8bitv+0x26> - ec: 84 2b or r24, r20 - ee: 4a 9b sbis 0x09, 2 ; 9 - f0: fe cf rjmp .-4 ; 0xee <_Z8read8bitv+0x30> - f2: 28 98 cbi 0x05, 0 ; 5 - f4: f2 e4 ldi r31, 0x42 ; 66 - f6: fa 95 dec r31 - f8: f1 f7 brne .-4 ; 0xf6 <_Z8read8bitv+0x38> - fa: 00 c0 rjmp .+0 ; 0xfc <_Z8read8bitv+0x3e> - fc: 2f 5f subi r18, 0xFF ; 255 - fe: 3f 4f sbci r19, 0xFF ; 255 - 100: 28 30 cpi r18, 0x08 ; 8 - 102: 31 05 cpc r19, r1 - 104: 09 f7 brne .-62 ; 0xc8 <_Z8read8bitv+0xa> - 106: 08 95 ret + e2: 44 0f add r20, r20 + e4: 55 1f adc r21, r21 + e6: 0a 94 dec r0 + e8: e2 f7 brpl .-8 ; 0xe2 <_Z8read8bitv+0x24> + ea: 84 2b or r24, r20 + ec: 4a 99 sbic 0x09, 2 ; 9 + ee: fe cf rjmp .-4 ; 0xec <_Z8read8bitv+0x2e> + f0: 2f 5f subi r18, 0xFF ; 255 + f2: 3f 4f sbci r19, 0xFF ; 255 + f4: 28 30 cpi r18, 0x08 ; 8 + f6: 31 05 cpc r19, r1 + f8: 39 f7 brne .-50 ; 0xc8 <_Z8read8bitv+0xa> + fa: 08 95 ret -00000108 <_Z7recievev>: - 108: 1f 93 push r17 - 10a: cf 93 push r28 - 10c: df 93 push r29 +000000fc <_Z7recievev>: + fc: cf 93 push r28 + fe: 4a 99 sbic 0x09, 2 ; 9 + 100: 24 c0 rjmp .+72 ; 0x14a <_Z7recievev+0x4e> + 102: 8f e1 ldi r24, 0x1F ; 31 + 104: 9e e4 ldi r25, 0x4E ; 78 + 106: 01 97 sbiw r24, 0x01 ; 1 + 108: f1 f7 brne .-4 ; 0x106 <_Z7recievev+0xa> + 10a: 00 c0 rjmp .+0 ; 0x10c <_Z7recievev+0x10> + 10c: 00 00 nop 10e: 4a 99 sbic 0x09, 2 ; 9 - 110: 16 c2 rjmp .+1068 ; 0x53e <__stack+0x3f> - 112: 8f e1 ldi r24, 0x1F ; 31 - 114: 9e e4 ldi r25, 0x4E ; 78 - 116: 01 97 sbiw r24, 0x01 ; 1 - 118: f1 f7 brne .-4 ; 0x116 <_Z7recievev+0xe> - 11a: 00 c0 rjmp .+0 ; 0x11c <_Z7recievev+0x14> - 11c: 00 00 nop - 11e: 4a 99 sbic 0x09, 2 ; 9 - 120: 0e c2 rjmp .+1052 ; 0x53e <__stack+0x3f> - 122: 4a 9b sbis 0x09, 2 ; 9 - 124: fe cf rjmp .-4 ; 0x122 <_Z7recievev+0x1a> - 126: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> - 12a: 18 2f mov r17, r24 - 12c: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> + 110: 1f c0 rjmp .+62 ; 0x150 <_Z7recievev+0x54> + 112: 4a 9b sbis 0x09, 2 ; 9 + 114: fe cf rjmp .-4 ; 0x112 <_Z7recievev+0x16> + 116: 4a 99 sbic 0x09, 2 ; 9 + 118: fe cf rjmp .-4 ; 0x116 <_Z7recievev+0x1a> + 11a: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> + 11e: 81 11 cpse r24, r1 + 120: 1a c0 rjmp .+52 ; 0x156 <_Z7recievev+0x5a> + 122: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> + 126: 8f 3e cpi r24, 0xEF ; 239 + 128: c9 f4 brne .+50 ; 0x15c <_Z7recievev+0x60> + 12a: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> + 12e: c8 2f mov r28, r24 130: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> - 134: 48 2f mov r20, r24 - 136: c8 2f mov r28, r24 - 138: d0 e0 ldi r29, 0x00 ; 0 - 13a: e0 ec ldi r30, 0xC0 ; 192 - 13c: f0 e0 ldi r31, 0x00 ; 0 - 13e: 80 81 ld r24, Z + 134: 2c 2f mov r18, r28 + 136: 30 e0 ldi r19, 0x00 ; 0 + 138: a9 01 movw r20, r18 + 13a: 48 0f add r20, r24 + 13c: 51 1d adc r21, r1 + 13e: 4f 3f cpi r20, 0xFF ; 255 UCSR0A= (0< - 144: 80 e3 ldi r24, 0x30 ; 48 + 140: 51 05 cpc r21, r1 + 142: 71 f0 breq .+28 ; 0x160 <_Z7recievev+0x64> + 144: 2f ef ldi r18, 0xFF ; 255 UDR0 = c; - 146: 80 93 c6 00 sts 0x00C6, r24 + 146: 30 e0 ldi r19, 0x00 ; 0 } } void printDec(uint16_t wert) { print((wert/10000)+'0'); print(((wert/1000)%10)+'0'); print(((wert/100)%10)+'0'); - 14a: 60 e0 ldi r22, 0x00 ; 0 - 14c: 70 e0 ldi r23, 0x00 ; 0 - 14e: cb 01 movw r24, r22 - 150: 96 95 lsr r25 - 152: 87 95 ror r24 - 154: 96 95 lsr r25 - 156: 87 95 ror r24 - 158: 96 95 lsr r25 - 15a: 87 95 ror r24 - 15c: 9c 01 movw r18, r24 - 15e: 22 0f add r18, r18 - 160: 33 1f adc r19, r19 - 162: 88 0f add r24, r24 - 164: 99 1f adc r25, r25 - 166: 88 0f add r24, r24 - 168: 99 1f adc r25, r25 - 16a: 88 0f add r24, r24 - 16c: 99 1f adc r25, r25 - 16e: 82 0f add r24, r18 - 170: 93 1f adc r25, r19 - 172: 68 1b sub r22, r24 - 174: 79 0b sbc r23, r25 - 176: 60 5d subi r22, 0xD0 ; 208 - 178: e0 ec ldi r30, 0xC0 ; 192 - 17a: f0 e0 ldi r31, 0x00 ; 0 - 17c: 80 81 ld r24, Z - 17e: 85 ff sbrs r24, 5 - 180: fd cf rjmp .-6 ; 0x17c <_Z7recievev+0x74> - 182: 60 93 c6 00 sts 0x00C6, r22 - 186: 9e 01 movw r18, r28 - 188: 36 95 lsr r19 - 18a: 27 95 ror r18 - 18c: 36 95 lsr r19 - 18e: 27 95 ror r18 - 190: ab e7 ldi r26, 0x7B ; 123 - 192: b4 e1 ldi r27, 0x14 ; 20 - 194: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> + 148: 0b c0 rjmp .+22 ; 0x160 <_Z7recievev+0x64> + 14a: 2f ef ldi r18, 0xFF ; 255 + 14c: 30 e0 ldi r19, 0x00 ; 0 + 14e: 08 c0 rjmp .+16 ; 0x160 <_Z7recievev+0x64> + 150: 2f ef ldi r18, 0xFF ; 255 + 152: 30 e0 ldi r19, 0x00 ; 0 + 154: 05 c0 rjmp .+10 ; 0x160 <_Z7recievev+0x64> + 156: 2f ef ldi r18, 0xFF ; 255 + 158: 30 e0 ldi r19, 0x00 ; 0 + 15a: 02 c0 rjmp .+4 ; 0x160 <_Z7recievev+0x64> + 15c: 2f ef ldi r18, 0xFF ; 255 + 15e: 30 e0 ldi r19, 0x00 ; 0 + 160: 82 2f mov r24, r18 + 162: 93 2f mov r25, r19 + 164: cf 91 pop r28 + 166: 08 95 ret + +00000168
: + 168: 78 94 sei + 16a: 82 e3 ldi r24, 0x32 ; 50 + 16c: 90 e0 ldi r25, 0x00 ; 0 + 16e: 27 e5 ldi r18, 0x57 ; 87 + 170: 31 e0 ldi r19, 0x01 ; 1 + 172: e0 ec ldi r30, 0xC0 ; 192 + 174: f0 e0 ldi r31, 0x00 ; 0 + 176: a6 ec ldi r26, 0xC6 ; 198 + 178: b0 e0 ldi r27, 0x00 ; 0 + 17a: 7d e0 ldi r23, 0x0D ; 13 + 17c: 6a e0 ldi r22, 0x0A ; 10 + 17e: 11 c0 rjmp .+34 ; 0x1a2 + 180: 40 81 ld r20, Z + 182: 45 ff sbrs r20, 5 + 184: fd cf rjmp .-6 ; 0x180 + 186: 5c 93 st X, r21 + 188: 59 91 ld r21, Y+ + 18a: 51 11 cpse r21, r1 + 18c: f9 cf rjmp .-14 ; 0x180 + 18e: 40 81 ld r20, Z + 190: 45 ff sbrs r20, 5 + 192: fd cf rjmp .-6 ; 0x18e + 194: 7c 93 st X, r23 UCSR0A= (0< UDR0 = c; - 19c: 80 5d subi r24, 0xD0 ; 208 + 19c: 6c 93 st X, r22 } void printDec(uint16_t wert) { print((wert/10000)+'0'); print(((wert/1000)%10)+'0'); print(((wert/100)%10)+'0'); print(((wert/10)%10)+'0'); - 19e: e0 ec ldi r30, 0xC0 ; 192 - 1a0: f0 e0 ldi r31, 0x00 ; 0 - 1a2: 90 81 ld r25, Z - 1a4: 95 ff sbrs r25, 5 - 1a6: fd cf rjmp .-6 ; 0x1a2 <_Z7recievev+0x9a> - 1a8: 80 93 c6 00 sts 0x00C6, r24 - 1ac: 9e 01 movw r18, r28 - 1ae: ad ec ldi r26, 0xCD ; 205 - 1b0: bc ec ldi r27, 0xCC ; 204 - 1b2: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 1b6: fc 01 movw r30, r24 - 1b8: f6 95 lsr r31 - 1ba: e7 95 ror r30 - 1bc: f6 95 lsr r31 - 1be: e7 95 ror r30 - 1c0: f6 95 lsr r31 - 1c2: e7 95 ror r30 - 1c4: 9f 01 movw r18, r30 - 1c6: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 1ca: 96 95 lsr r25 - 1cc: 87 95 ror r24 - 1ce: 96 95 lsr r25 - 1d0: 87 95 ror r24 - 1d2: 96 95 lsr r25 - 1d4: 87 95 ror r24 - 1d6: 9c 01 movw r18, r24 - 1d8: 22 0f add r18, r18 - 1da: 33 1f adc r19, r19 - 1dc: 88 0f add r24, r24 - 1de: 99 1f adc r25, r25 - 1e0: 88 0f add r24, r24 - 1e2: 99 1f adc r25, r25 - 1e4: 88 0f add r24, r24 - 1e6: 99 1f adc r25, r25 + 19e: 01 97 sbiw r24, 0x01 ; 1 + 1a0: 19 f0 breq .+6 ; 0x1a8 + 1a2: e9 01 movw r28, r18 + 1a4: 57 e4 ldi r21, 0x47 ; 71 + 1a6: ec cf rjmp .-40 ; 0x180 + 1a8: 29 9a sbi 0x05, 1 ; 5 + 1aa: c0 ec ldi r28, 0xC0 ; 192 + 1ac: d0 e0 ldi r29, 0x00 ; 0 + 1ae: 06 ec ldi r16, 0xC6 ; 198 + 1b0: 10 e0 ldi r17, 0x00 ; 0 + 1b2: 0f 2e mov r0, r31 + 1b4: f0 e6 ldi r31, 0x60 ; 96 + 1b6: ef 2e mov r14, r31 + 1b8: f1 e0 ldi r31, 0x01 ; 1 + 1ba: ff 2e mov r15, r31 + 1bc: f0 2d mov r31, r0 + 1be: 0f 2e mov r0, r31 + 1c0: fd e0 ldi r31, 0x0D ; 13 + 1c2: cf 2e mov r12, r31 + 1c4: f0 2d mov r31, r0 + 1c6: 0f 2e mov r0, r31 + 1c8: fa e0 ldi r31, 0x0A ; 10 + 1ca: df 2e mov r13, r31 + 1cc: f0 2d mov r31, r0 + 1ce: 4a 99 sbic 0x09, 2 ; 9 + 1d0: fe cf rjmp .-4 ; 0x1ce + 1d2: 28 9a sbi 0x05, 0 ; 5 + 1d4: 0e 94 7e 00 call 0xfc ; 0xfc <_Z7recievev> + 1d8: b8 2e mov r11, r24 + 1da: ac 01 movw r20, r24 + 1dc: 55 27 eor r21, r21 + 1de: 88 81 ld r24, Y + 1e0: 85 ff sbrs r24, 5 + 1e2: fd cf rjmp .-6 ; 0x1de + 1e4: 80 e3 ldi r24, 0x30 ; 48 + 1e6: d8 01 movw r26, r16 UCSR0A= (0< - 1fe: 90 93 c6 00 sts 0x00C6, r25 - 202: 9e 01 movw r18, r28 - 204: ad ec ldi r26, 0xCD ; 205 - 206: bc ec ldi r27, 0xCC ; 204 - 208: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 20c: 96 95 lsr r25 - 20e: 87 95 ror r24 - 210: 96 95 lsr r25 - 212: 87 95 ror r24 - 214: 96 95 lsr r25 - 216: 87 95 ror r24 - 218: 9c 01 movw r18, r24 - 21a: 22 0f add r18, r18 - 21c: 33 1f adc r19, r19 - 21e: 88 0f add r24, r24 - 220: 99 1f adc r25, r25 + 1f0: 96 95 lsr r25 + 1f2: 87 95 ror r24 + 1f4: 96 95 lsr r25 + 1f6: 87 95 ror r24 + 1f8: 96 95 lsr r25 + 1fa: 87 95 ror r24 + 1fc: 9c 01 movw r18, r24 + 1fe: 22 0f add r18, r18 + 200: 33 1f adc r19, r19 + 202: 88 0f add r24, r24 + 204: 99 1f adc r25, r25 + 206: 88 0f add r24, r24 + 208: 99 1f adc r25, r25 + 20a: 88 0f add r24, r24 + 20c: 99 1f adc r25, r25 + 20e: 82 0f add r24, r18 + 210: 93 1f adc r25, r19 + 212: 68 1b sub r22, r24 + 214: 79 0b sbc r23, r25 + 216: 60 5d subi r22, 0xD0 ; 208 + 218: 88 81 ld r24, Y + 21a: 85 ff sbrs r24, 5 + 21c: fd cf rjmp .-6 ; 0x218 + 21e: f8 01 movw r30, r16 + 220: 60 83 st Z, r22 UCSR0A= (0< void printpulses(void) { Serial.println("\n\r\n\rReceived: \n\rOFF \tON"); for (uint8_t i = 0; i < currentpulse; i++) { Serial.printDec(pulses[i][0] * RESOLUTION); Serial.print(" "); Serial.printDec(pulses[i][1] * RESOLUTION); - 232: c0 5d subi r28, 0xD0 ; 208 - 234: e0 ec ldi r30, 0xC0 ; 192 - 236: f0 e0 ldi r31, 0x00 ; 0 - 238: 80 81 ld r24, Z - 23a: 85 ff sbrs r24, 5 - 23c: fd cf rjmp .-6 ; 0x238 <_Z7recievev+0x130> - 23e: c0 93 c6 00 sts 0x00C6, r28 - 242: a4 e5 ldi r26, 0x54 ; 84 - 244: b1 e0 ldi r27, 0x01 ; 1 - 246: 90 e2 ldi r25, 0x20 ; 32 + 234: 96 95 lsr r25 + 236: 87 95 ror r24 + 238: 80 5d subi r24, 0xD0 ; 208 + 23a: 98 81 ld r25, Y + 23c: 95 ff sbrs r25, 5 + 23e: fd cf rjmp .-6 ; 0x23a + 240: d8 01 movw r26, r16 + 242: 8c 93 st X, r24 + 244: 9a 01 movw r18, r20 + 246: ad ec ldi r26, 0xCD ; 205 UCSR0A= (0< - 256: 98 83 st Y, r25 + 248: bc ec ldi r27, 0xCC ; 204 + 24a: 0e 94 e6 01 call 0x3cc ; 0x3cc <__umulhisi3> + 24e: fc 01 movw r30, r24 + 250: f6 95 lsr r31 + 252: e7 95 ror r30 + 254: f6 95 lsr r31 + 256: e7 95 ror r30 uart_putchar(*text); text++; } } void printDec(uint16_t wert) { print((wert/10000)+'0'); - 258: 9d 91 ld r25, X+ - 25a: 91 11 cpse r25, r1 - 25c: f9 cf rjmp .-14 ; 0x250 <_Z7recievev+0x148> - 25e: e0 ec ldi r30, 0xC0 ; 192 - 260: f0 e0 ldi r31, 0x00 ; 0 - 262: 80 81 ld r24, Z - 264: 85 ff sbrs r24, 5 - 266: fd cf rjmp .-6 ; 0x262 <_Z7recievev+0x15a> - 268: 8d e0 ldi r24, 0x0D ; 13 - 26a: 80 93 c6 00 sts 0x00C6, r24 - 26e: e0 ec ldi r30, 0xC0 ; 192 - 270: f0 e0 ldi r31, 0x00 ; 0 - 272: 80 81 ld r24, Z - 274: 85 ff sbrs r24, 5 - 276: fd cf rjmp .-6 ; 0x272 <_Z7recievev+0x16a> - 278: 8a e0 ldi r24, 0x0A ; 10 - 27a: 80 93 c6 00 sts 0x00C6, r24 + 258: f6 95 lsr r31 + 25a: e7 95 ror r30 + 25c: 9f 01 movw r18, r30 + 25e: 0e 94 e6 01 call 0x3cc ; 0x3cc <__umulhisi3> + 262: 96 95 lsr r25 + 264: 87 95 ror r24 + 266: 96 95 lsr r25 + 268: 87 95 ror r24 + 26a: 96 95 lsr r25 + 26c: 87 95 ror r24 + 26e: 9c 01 movw r18, r24 + 270: 22 0f add r18, r18 + 272: 33 1f adc r19, r19 + 274: 88 0f add r24, r24 + 276: 99 1f adc r25, r25 + 278: 88 0f add r24, r24 + 27a: 99 1f adc r25, r25 + UCSR0B= (0< - 282: 4f 3e cpi r20, 0xEF ; 239 - 284: 09 f0 breq .+2 ; 0x288 <_Z7recievev+0x180> - 286: 5b c1 rjmp .+694 ; 0x53e <__stack+0x3f> - 288: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> - 28c: 18 2f mov r17, r24 - 28e: 0e 94 5f 00 call 0xbe ; 0xbe <_Z8read8bitv> - 292: 48 2f mov r20, r24 - 294: ab e5 ldi r26, 0x5B ; 91 - 296: b1 e0 ldi r27, 0x01 ; 1 - 298: 22 e5 ldi r18, 0x52 ; 82 - 29a: e0 ec ldi r30, 0xC0 ; 192 - 29c: f0 e0 ldi r31, 0x00 ; 0 - 29e: c6 ec ldi r28, 0xC6 ; 198 - 2a0: d0 e0 ldi r29, 0x00 ; 0 - 2a2: 90 81 ld r25, Z - 2a4: 95 ff sbrs r25, 5 - 2a6: fd cf rjmp .-6 ; 0x2a2 <_Z7recievev+0x19a> - 2a8: 28 83 st Y, r18 - 2aa: 2d 91 ld r18, X+ - 2ac: 21 11 cpse r18, r1 - 2ae: f9 cf rjmp .-14 ; 0x2a2 <_Z7recievev+0x19a> - 2b0: e0 ec ldi r30, 0xC0 ; 192 - 2b2: f0 e0 ldi r31, 0x00 ; 0 - 2b4: 90 81 ld r25, Z - 2b6: 95 ff sbrs r25, 5 - 2b8: fd cf rjmp .-6 ; 0x2b4 <_Z7recievev+0x1ac> - 2ba: 8d e0 ldi r24, 0x0D ; 13 - 2bc: 80 93 c6 00 sts 0x00C6, r24 - 2c0: e0 ec ldi r30, 0xC0 ; 192 - 2c2: f0 e0 ldi r31, 0x00 ; 0 - 2c4: 90 81 ld r25, Z - 2c6: 95 ff sbrs r25, 5 - 2c8: fd cf rjmp .-6 ; 0x2c4 <_Z7recievev+0x1bc> - 2ca: 8a e0 ldi r24, 0x0A ; 10 - 2cc: 80 93 c6 00 sts 0x00C6, r24 - 2d0: e0 ec ldi r30, 0xC0 ; 192 - 2d2: f0 e0 ldi r31, 0x00 ; 0 + 27e: 99 1f adc r25, r25 + 280: 82 0f add r24, r18 + 282: 93 1f adc r25, r19 + 284: e8 1b sub r30, r24 + 286: f9 0b sbc r31, r25 + 288: e0 5d subi r30, 0xD0 ; 208 + 28a: 88 81 ld r24, Y + 28c: 85 ff sbrs r24, 5 + 28e: fd cf rjmp .-6 ; 0x28a + 290: d8 01 movw r26, r16 + 292: ec 93 st X, r30 + 294: 9a 01 movw r18, r20 + 296: ad ec ldi r26, 0xCD ; 205 + 298: bc ec ldi r27, 0xCC ; 204 + 29a: 0e 94 e6 01 call 0x3cc ; 0x3cc <__umulhisi3> + 29e: 96 95 lsr r25 + 2a0: 87 95 ror r24 + 2a2: 96 95 lsr r25 + 2a4: 87 95 ror r24 + 2a6: 96 95 lsr r25 + 2a8: 87 95 ror r24 + 2aa: 9c 01 movw r18, r24 + 2ac: 22 0f add r18, r18 + 2ae: 33 1f adc r19, r19 + 2b0: 88 0f add r24, r24 + 2b2: 99 1f adc r25, r25 + 2b4: 88 0f add r24, r24 + 2b6: 99 1f adc r25, r25 + 2b8: 88 0f add r24, r24 + 2ba: 99 1f adc r25, r25 + 2bc: 82 0f add r24, r18 + 2be: 93 1f adc r25, r19 + 2c0: 48 1b sub r20, r24 + 2c2: 59 0b sbc r21, r25 + 2c4: 40 5d subi r20, 0xD0 ; 208 + 2c6: 88 81 ld r24, Y + 2c8: 85 ff sbrs r24, 5 + 2ca: fd cf rjmp .-6 ; 0x2c6 + 2cc: f8 01 movw r30, r16 + 2ce: 40 83 st Z, r20 + 2d0: f7 01 movw r30, r14 + 2d2: 90 e2 ldi r25, 0x20 ; 32 UCSR0A= (0< + 2d8: fd cf rjmp .-6 ; 0x2d4 UDR0 = c; - 2da: c1 2f mov r28, r17 + 2da: d8 01 movw r26, r16 } } void printDec(uint16_t wert) { print((wert/10000)+'0'); print(((wert/1000)%10)+'0'); print(((wert/100)%10)+'0'); - 2dc: d0 e0 ldi r29, 0x00 ; 0 - 2de: 80 e3 ldi r24, 0x30 ; 48 - 2e0: 80 93 c6 00 sts 0x00C6, r24 - 2e4: 60 e0 ldi r22, 0x00 ; 0 - 2e6: 70 e0 ldi r23, 0x00 ; 0 - 2e8: cb 01 movw r24, r22 - 2ea: 96 95 lsr r25 - 2ec: 87 95 ror r24 - 2ee: 96 95 lsr r25 - 2f0: 87 95 ror r24 - 2f2: 96 95 lsr r25 - 2f4: 87 95 ror r24 - 2f6: 9c 01 movw r18, r24 - 2f8: 22 0f add r18, r18 - 2fa: 33 1f adc r19, r19 - 2fc: 88 0f add r24, r24 - 2fe: 99 1f adc r25, r25 - 300: 88 0f add r24, r24 - 302: 99 1f adc r25, r25 - 304: 88 0f add r24, r24 - 306: 99 1f adc r25, r25 - 308: 82 0f add r24, r18 - 30a: 93 1f adc r25, r19 - 30c: 68 1b sub r22, r24 - 30e: 79 0b sbc r23, r25 - 310: 60 5d subi r22, 0xD0 ; 208 - 312: e0 ec ldi r30, 0xC0 ; 192 - 314: f0 e0 ldi r31, 0x00 ; 0 - 316: 80 81 ld r24, Z - 318: 85 ff sbrs r24, 5 - 31a: fd cf rjmp .-6 ; 0x316 <_Z7recievev+0x20e> - 31c: 60 93 c6 00 sts 0x00C6, r22 - 320: 9e 01 movw r18, r28 - 322: 36 95 lsr r19 - 324: 27 95 ror r18 + 2dc: 9c 93 st X, r25 + 2de: 91 91 ld r25, Z+ + 2e0: 91 11 cpse r25, r1 + 2e2: f8 cf rjmp .-16 ; 0x2d4 + 2e4: 88 81 ld r24, Y + 2e6: 85 ff sbrs r24, 5 + 2e8: fd cf rjmp .-6 ; 0x2e4 + 2ea: f8 01 movw r30, r16 + 2ec: c0 82 st Z, r12 + 2ee: 88 81 ld r24, Y + 2f0: 85 ff sbrs r24, 5 + 2f2: fd cf rjmp .-6 ; 0x2ee + 2f4: d8 01 movw r26, r16 + 2f6: dc 92 st X, r13 + 2f8: bf ef ldi r27, 0xFF ; 255 + 2fa: bb 12 cpse r11, r27 + 2fc: 09 c0 rjmp .+18 ; 0x310 + 2fe: ef e7 ldi r30, 0x7F ; 127 + 300: f4 e8 ldi r31, 0x84 ; 132 + 302: 2e e1 ldi r18, 0x1E ; 30 + 304: e1 50 subi r30, 0x01 ; 1 + 306: f0 40 sbci r31, 0x00 ; 0 + 308: 20 40 sbci r18, 0x00 ; 0 + 30a: e1 f7 brne .-8 ; 0x304 + 30c: 00 c0 rjmp .+0 ; 0x30e + 30e: 00 00 nop + 310: 28 98 cbi 0x05, 0 ; 5 + 312: 5d cf rjmp .-326 ; 0x1ce + +00000314 <_ZN4UartILm9600EEC1Ev>: + 314: cf 93 push r28 + 316: df 93 push r29 + 318: 78 94 sei + 31a: 81 e8 ldi r24, 0x81 ; 129 + 31c: 80 93 c4 00 sts 0x00C4, r24 + 320: 10 92 c0 00 sts 0x00C0, r1 + 324: 88 e0 ldi r24, 0x08 ; 8 UCSR0A= (0< - 332: 96 95 lsr r25 - 334: 87 95 ror r24 - 336: 80 5d subi r24, 0xD0 ; 208 - 338: e0 ec ldi r30, 0xC0 ; 192 - 33a: f0 e0 ldi r31, 0x00 ; 0 - 33c: 90 81 ld r25, Z - 33e: 95 ff sbrs r25, 5 - 340: fd cf rjmp .-6 ; 0x33c <_Z7recievev+0x234> - 342: 80 93 c6 00 sts 0x00C6, r24 - 346: 9e 01 movw r18, r28 - 348: ad ec ldi r26, 0xCD ; 205 - 34a: bc ec ldi r27, 0xCC ; 204 - 34c: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 350: fc 01 movw r30, r24 - 352: f6 95 lsr r31 - 354: e7 95 ror r30 - 356: f6 95 lsr r31 - 358: e7 95 ror r30 - 35a: f6 95 lsr r31 - 35c: e7 95 ror r30 - 35e: 9f 01 movw r18, r30 - 360: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 364: 96 95 lsr r25 - 366: 87 95 ror r24 - 368: 96 95 lsr r25 - 36a: 87 95 ror r24 - 36c: 96 95 lsr r25 - 36e: 87 95 ror r24 - 370: 9c 01 movw r18, r24 - 372: 22 0f add r18, r18 + 330: ac e6 ldi r26, 0x6C ; 108 + 332: b1 e0 ldi r27, 0x01 ; 1 + 334: 95 e5 ldi r25, 0x55 ; 85 + 336: e0 ec ldi r30, 0xC0 ; 192 + 338: f0 e0 ldi r31, 0x00 ; 0 + 33a: c6 ec ldi r28, 0xC6 ; 198 + 33c: d0 e0 ldi r29, 0x00 ; 0 + 33e: 80 81 ld r24, Z + 340: 85 ff sbrs r24, 5 + 342: fd cf rjmp .-6 ; 0x33e <_ZN4UartILm9600EEC1Ev+0x2a> + 344: 98 83 st Y, r25 + 346: 9d 91 ld r25, X+ + 348: 91 11 cpse r25, r1 + 34a: f9 cf rjmp .-14 ; 0x33e <_ZN4UartILm9600EEC1Ev+0x2a> + 34c: e0 ec ldi r30, 0xC0 ; 192 + 34e: f0 e0 ldi r31, 0x00 ; 0 + 350: 80 81 ld r24, Z + 352: 85 ff sbrs r24, 5 + 354: fd cf rjmp .-6 ; 0x350 <_ZN4UartILm9600EEC1Ev+0x3c> + 356: 8d e0 ldi r24, 0x0D ; 13 + 358: 80 93 c6 00 sts 0x00C6, r24 + 35c: e0 ec ldi r30, 0xC0 ; 192 + 35e: f0 e0 ldi r31, 0x00 ; 0 + 360: 80 81 ld r24, Z + 362: 85 ff sbrs r24, 5 + 364: fd cf rjmp .-6 ; 0x360 <_ZN4UartILm9600EEC1Ev+0x4c> + 366: 8a e0 ldi r24, 0x0A ; 10 + 368: 80 93 c6 00 sts 0x00C6, r24 + 36c: df 91 pop r29 + 36e: cf 91 pop r28 + 370: 08 95 ret + +00000372 <_GLOBAL__sub_I_Serial>: + 372: 8a e0 ldi r24, 0x0A ; 10 UCSR0A= (0< UDR0 = c; - 37a: 88 0f add r24, r24 + 37a: 55 9a sbi 0x0a, 5 ; 10 void printDec(uint16_t wert) { print((wert/10000)+'0'); print(((wert/1000)%10)+'0'); print(((wert/100)%10)+'0'); print(((wert/10)%10)+'0'); print((wert%10)+'0'); - 37c: 99 1f adc r25, r25 - 37e: 88 0f add r24, r24 - 380: 99 1f adc r25, r25 - 382: 82 0f add r24, r18 - 384: 93 1f adc r25, r19 - 386: e8 1b sub r30, r24 - 388: f9 0b sbc r31, r25 - 38a: 9e 2f mov r25, r30 - 38c: 90 5d subi r25, 0xD0 ; 208 - 38e: e0 ec ldi r30, 0xC0 ; 192 - 390: f0 e0 ldi r31, 0x00 ; 0 - 392: 80 81 ld r24, Z - 394: 85 ff sbrs r24, 5 - 396: fd cf rjmp .-6 ; 0x392 <_Z7recievev+0x28a> - 398: 90 93 c6 00 sts 0x00C6, r25 - 39c: 9e 01 movw r18, r28 - 39e: ad ec ldi r26, 0xCD ; 205 - 3a0: bc ec ldi r27, 0xCC ; 204 - 3a2: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 3a6: 96 95 lsr r25 - 3a8: 87 95 ror r24 - 3aa: 96 95 lsr r25 - 3ac: 87 95 ror r24 + 37c: 53 9a sbi 0x0a, 3 ; 10 + 37e: 23 9a sbi 0x04, 3 ; 4 + 380: 81 e2 ldi r24, 0x21 ; 33 + 382: 84 bd out 0x24, r24 ; 36 + 384: 81 e0 ldi r24, 0x01 ; 1 + 386: 85 bd out 0x25, r24 ; 37 + 388: 16 bc out 0x26, r1 ; 38 + 38a: 10 92 b6 00 sts 0x00B6, r1 + 38e: 91 ea ldi r25, 0xA1 ; 161 + 390: 90 93 b0 00 sts 0x00B0, r25 + 394: 80 93 b1 00 sts 0x00B1, r24 + 398: 10 92 b2 00 sts 0x00B2, r1 + 39c: 10 92 6e 00 sts 0x006E, r1 + 3a0: 10 92 70 00 sts 0x0070, r1 + 3a4: 18 bc out 0x28, r1 ; 40 + 3a6: 10 92 b4 00 sts 0x00B4, r1 + 3aa: 10 92 b3 00 sts 0x00B3, r1 UCSR0A= (0<: UDR0 = c; - 3cc: c0 5d subi r28, 0xD0 ; 208 + 3cc: a2 9f mul r26, r18 uint16_t volatile pulses[100][2]; // pair is high and low pulse uint8_t volatile currentpulse = 0; void printpulses(void) { Serial.println("\n\r\n\rReceived: \n\rOFF \tON"); for (uint8_t i = 0; i < currentpulse; i++) { - 3ce: e0 ec ldi r30, 0xC0 ; 192 - 3d0: f0 e0 ldi r31, 0x00 ; 0 - 3d2: 80 81 ld r24, Z - 3d4: 85 ff sbrs r24, 5 - 3d6: fd cf rjmp .-6 ; 0x3d2 <_Z7recievev+0x2ca> - 3d8: c0 93 c6 00 sts 0x00C6, r28 + 3ce: b0 01 movw r22, r0 + 3d0: b3 9f mul r27, r19 + 3d2: c0 01 movw r24, r0 + 3d4: a3 9f mul r26, r19 + 3d6: 01 d0 rcall .+2 ; 0x3da <__umulhisi3+0xe> + 3d8: b2 9f mul r27, r18 + 3da: 70 0d add r23, r0 UCSR0A= (0<: sei(); init(); println("Uart done!"); } void print(const char *text) { while (*text) - 3e4: f0 e0 ldi r31, 0x00 ; 0 - 3e6: c6 ec ldi r28, 0xC6 ; 198 - 3e8: d0 e0 ldi r29, 0x00 ; 0 - UCSR0A= (0< - 3f0: 98 83 st Y, r25 - 3f2: 9d 91 ld r25, X+ - UDR0 = c; - 3f4: 91 11 cpse r25, r1 - 3f6: f9 cf rjmp .-14 ; 0x3ea <_Z7recievev+0x2e2> - 3f8: 50 e0 ldi r21, 0x00 ; 0 - UCSR0A= (0< - UDR0 = c; - 404: 80 e3 ldi r24, 0x30 ; 48 - 406: 80 93 c6 00 sts 0x00C6, r24 - 40a: 60 e0 ldi r22, 0x00 ; 0 - 40c: 70 e0 ldi r23, 0x00 ; 0 - sei(); - init(); - println("Uart done!"); - } - void print(const char *text) { - while (*text) - 40e: cb 01 movw r24, r22 - UCSR0A= (0< - 442: 60 93 c6 00 sts 0x00C6, r22 - } - - // print it in a 'array' format - Serial.println("int IRsignal[] = {"); - Serial.println("// OFF, ON (in 10's of microseconds)"); - for (uint8_t i = 0; i < currentpulse-1; i++) { - 446: 9a 01 movw r18, r20 - 448: 36 95 lsr r19 - 44a: 27 95 ror r18 - 44c: 36 95 lsr r19 - 44e: 27 95 ror r18 - 450: ab e7 ldi r26, 0x7B ; 123 - 452: b4 e1 ldi r27, 0x14 ; 20 - 454: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - UCSR0A= (0< - 468: 80 93 c6 00 sts 0x00C6, r24 - 46c: 9a 01 movw r18, r20 - 46e: ad ec ldi r26, 0xCD ; 205 - 470: bc ec ldi r27, 0xCC ; 204 - UCSR0A= (0< - 476: fc 01 movw r30, r24 - 478: f6 95 lsr r31 - 47a: e7 95 ror r30 - 47c: f6 95 lsr r31 - 47e: e7 95 ror r30 - 480: f6 95 lsr r31 - 482: e7 95 ror r30 - 484: 9f 01 movw r18, r30 - 486: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 48a: 96 95 lsr r25 - 48c: 87 95 ror r24 - 48e: 96 95 lsr r25 - 490: 87 95 ror r24 - 492: 96 95 lsr r25 - 494: 87 95 ror r24 - 496: 9c 01 movw r18, r24 - uart_putchar(*text); - text++; - } - } - void printDec(uint16_t wert) { - print((wert/10000)+'0'); - 498: 22 0f add r18, r18 - UCSR0B= (0< - 4be: 90 93 c6 00 sts 0x00C6, r25 - 4c2: 9a 01 movw r18, r20 - 4c4: ad ec ldi r26, 0xCD ; 205 - 4c6: bc ec ldi r27, 0xCC ; 204 - 4c8: 0e 94 4e 03 call 0x69c ; 0x69c <__umulhisi3> - 4cc: 96 95 lsr r25 - 4ce: 87 95 ror r24 - 4d0: 96 95 lsr r25 - 4d2: 87 95 ror r24 - 4d4: 96 95 lsr r25 - 4d6: 87 95 ror r24 - 4d8: 9c 01 movw r18, r24 - 4da: 22 0f add r18, r18 - 4dc: 33 1f adc r19, r19 - 4de: 88 0f add r24, r24 - 4e0: 99 1f adc r25, r25 - 4e2: 88 0f add r24, r24 - 4e4: 99 1f adc r25, r25 - 4e6: 88 0f add r24, r24 - 4e8: 99 1f adc r25, r25 - 4ea: 82 0f add r24, r18 - 4ec: 93 1f adc r25, r19 - 4ee: 48 1b sub r20, r24 - 4f0: 59 0b sbc r21, r25 - 4f2: 40 5d subi r20, 0xD0 ; 208 - 4f4: e0 ec ldi r30, 0xC0 ; 192 - 4f6: f0 e0 ldi r31, 0x00 ; 0 - 4f8: 80 81 ld r24, Z - UCSR0A= (0< - 4fe: 40 93 c6 00 sts 0x00C6, r20 - } - } - void printDec(uint16_t wert) { - print((wert/10000)+'0'); - print(((wert/1000)%10)+'0'); - print(((wert/100)%10)+'0'); - 502: af e6 ldi r26, 0x6F ; 111 - 504: b1 e0 ldi r27, 0x01 ; 1 - 506: 90 e2 ldi r25, 0x20 ; 32 - 508: e0 ec ldi r30, 0xC0 ; 192 - 50a: f0 e0 ldi r31, 0x00 ; 0 - 50c: c6 ec ldi r28, 0xC6 ; 198 - 50e: d0 e0 ldi r29, 0x00 ; 0 - 510: 80 81 ld r24, Z - 512: 85 ff sbrs r24, 5 - 514: fd cf rjmp .-6 ; 0x510 <__stack+0x11> - 516: 98 83 st Y, r25 - 518: 9d 91 ld r25, X+ - 51a: 91 11 cpse r25, r1 - 51c: f9 cf rjmp .-14 ; 0x510 <__stack+0x11> - 51e: e0 ec ldi r30, 0xC0 ; 192 - 520: f0 e0 ldi r31, 0x00 ; 0 - 522: 80 81 ld r24, Z - 524: 85 ff sbrs r24, 5 - 526: fd cf rjmp .-6 ; 0x522 <__stack+0x23> - 528: 8d e0 ldi r24, 0x0D ; 13 - 52a: 80 93 c6 00 sts 0x00C6, r24 - 52e: e0 ec ldi r30, 0xC0 ; 192 - 530: f0 e0 ldi r31, 0x00 ; 0 - 532: 80 81 ld r24, Z - 534: 85 ff sbrs r24, 5 - 536: fd cf rjmp .-6 ; 0x532 <__stack+0x33> - 538: 8a e0 ldi r24, 0x0A ; 10 - 53a: 80 93 c6 00 sts 0x00C6, r24 - 53e: df 91 pop r29 - 540: cf 91 pop r28 - 542: 1f 91 pop r17 - 544: 08 95 ret + 3e4: ee 0f add r30, r30 + 3e6: ff 1f adc r31, r31 -00000546
: - 546: 78 94 sei - 548: 82 e3 ldi r24, 0x32 ; 50 - 54a: 90 e0 ldi r25, 0x00 ; 0 - 54c: 26 e7 ldi r18, 0x76 ; 118 - 54e: 31 e0 ldi r19, 0x01 ; 1 +000003e8 <__tablejump__>: + 3e8: 05 90 lpm r0, Z+ UCSR0A= (0< - 55e: 40 81 ld r20, Z - 560: 45 ff sbrs r20, 5 - 562: fd cf rjmp .-6 ; 0x55e - 564: 5c 93 st X, r21 - 566: 59 91 ld r21, Y+ - 568: 51 11 cpse r21, r1 - 56a: f9 cf rjmp .-14 ; 0x55e - 56c: 40 81 ld r20, Z - 56e: 45 ff sbrs r20, 5 - 570: fd cf rjmp .-6 ; 0x56c - 572: 7c 93 st X, r23 - 574: 40 81 ld r20, Z - 576: 45 ff sbrs r20, 5 - 578: fd cf rjmp .-6 ; 0x574 - 57a: 6c 93 st X, r22 - 57c: 01 97 sbiw r24, 0x01 ; 1 - 57e: 19 f0 breq .+6 ; 0x586 - 580: e9 01 movw r28, r18 - 582: 57 e4 ldi r21, 0x47 ; 71 - 584: ec cf rjmp .-40 ; 0x55e - 586: 29 9a sbi 0x05, 1 ; 5 - 588: c0 ec ldi r28, 0xC0 ; 192 - 58a: d0 e0 ldi r29, 0x00 ; 0 - 58c: 06 ec ldi r16, 0xC6 ; 198 - 58e: 10 e0 ldi r17, 0x00 ; 0 - 590: 0f 2e mov r0, r31 - 592: fe e2 ldi r31, 0x2E ; 46 - 594: df 2e mov r13, r31 - 596: f0 2d mov r31, r0 - 598: 0f 2e mov r0, r31 - 59a: fd e0 ldi r31, 0x0D ; 13 - 59c: ef 2e mov r14, r31 - 59e: f0 2d mov r31, r0 - 5a0: 0f 2e mov r0, r31 - UCSR0A= (0< - 5ac: 0e 94 84 00 call 0x108 ; 0x108 <_Z7recievev> - 5b0: 88 81 ld r24, Y - 5b2: 85 ff sbrs r24, 5 - 5b4: fd cf rjmp .-6 ; 0x5b0 - 5b6: f8 01 movw r30, r16 - 5b8: d0 82 st Z, r13 - 5ba: 88 81 ld r24, Y - 5bc: 85 ff sbrs r24, 5 - 5be: fd cf rjmp .-6 ; 0x5ba - 5c0: f8 01 movw r30, r16 - 5c2: e0 82 st Z, r14 - 5c4: 88 81 ld r24, Y - 5c6: 85 ff sbrs r24, 5 - 5c8: fd cf rjmp .-6 ; 0x5c4 - 5ca: f8 01 movw r30, r16 - 5cc: f0 82 st Z, r15 - 5ce: ff ef ldi r31, 0xFF ; 255 - 5d0: 24 e3 ldi r18, 0x34 ; 52 - 5d2: 8c e0 ldi r24, 0x0C ; 12 - 5d4: f1 50 subi r31, 0x01 ; 1 - 5d6: 20 40 sbci r18, 0x00 ; 0 - 5d8: 80 40 sbci r24, 0x00 ; 0 - 5da: e1 f7 brne .-8 ; 0x5d4 - UCSR0A= (0< - 5de: 00 00 nop - 5e0: 28 98 cbi 0x05, 0 ; 5 - UDR0 = c; - 5e2: e2 cf rjmp .-60 ; 0x5a8 + 3ea: f4 91 lpm r31, Z + 3ec: e0 2d mov r30, r0 + 3ee: 09 94 ijmp -000005e4 <_ZN4UartILm9600EEC1Ev>: - 5e4: cf 93 push r28 - sei(); - init(); - println("Uart done!"); - } - void print(const char *text) { - while (*text) - 5e6: df 93 push r29 - UCSR0A= (0< - 614: 98 83 st Y, r25 - 616: 9d 91 ld r25, X+ - 618: 91 11 cpse r25, r1 - 61a: f9 cf rjmp .-14 ; 0x60e <_ZN4UartILm9600EEC1Ev+0x2a> - 61c: e0 ec ldi r30, 0xC0 ; 192 - 61e: f0 e0 ldi r31, 0x00 ; 0 - 620: 80 81 ld r24, Z - 622: 85 ff sbrs r24, 5 - 624: fd cf rjmp .-6 ; 0x620 <_ZN4UartILm9600EEC1Ev+0x3c> - 626: 8d e0 ldi r24, 0x0D ; 13 - 628: 80 93 c6 00 sts 0x00C6, r24 - UCSR0A= (0< - text++; - } - } - void printDec(uint16_t wert) { - print((wert/10000)+'0'); - print(((wert/1000)%10)+'0'); - 636: 8a e0 ldi r24, 0x0A ; 10 - 638: 80 93 c6 00 sts 0x00C6, r24 - 63c: df 91 pop r29 - 63e: cf 91 pop r28 - 640: 08 95 ret +000003f0 <_exit>: + 3f0: f8 94 cli -00000642 <_GLOBAL__sub_I_Serial>: - 642: 8e e1 ldi r24, 0x1E ; 30 - 644: 93 e0 ldi r25, 0x03 ; 3 - 646: 0e 94 f2 02 call 0x5e4 ; 0x5e4 <_ZN4UartILm9600EEC1Ev> - 64a: 55 9a sbi 0x0a, 5 ; 10 - 64c: 53 9a sbi 0x0a, 3 ; 10 - 64e: 23 9a sbi 0x04, 3 ; 4 - 650: 81 e2 ldi r24, 0x21 ; 33 - 652: 84 bd out 0x24, r24 ; 36 - 654: 81 e0 ldi r24, 0x01 ; 1 - 656: 85 bd out 0x25, r24 ; 37 - 658: 16 bc out 0x26, r1 ; 38 - 65a: 10 92 b6 00 sts 0x00B6, r1 - 65e: 91 ea ldi r25, 0xA1 ; 161 - 660: 90 93 b0 00 sts 0x00B0, r25 - 664: 80 93 b1 00 sts 0x00B1, r24 - 668: 10 92 b2 00 sts 0x00B2, r1 - 66c: 10 92 6e 00 sts 0x006E, r1 - 670: 10 92 70 00 sts 0x0070, r1 - 674: 18 bc out 0x28, r1 ; 40 - 676: 10 92 b4 00 sts 0x00B4, r1 - 67a: 10 92 b3 00 sts 0x00B3, r1 - 67e: 20 9a sbi 0x04, 0 ; 4 - 680: 21 9a sbi 0x04, 1 ; 4 - 682: 28 98 cbi 0x05, 0 ; 5 - 684: 29 98 cbi 0x05, 1 ; 5 - 686: 56 98 cbi 0x0a, 6 ; 10 - 688: 5e 98 cbi 0x0b, 6 ; 11 - 68a: 57 98 cbi 0x0a, 7 ; 10 - UCSR0A= (0<: - 69c: a2 9f mul r26, r18 - 69e: b0 01 movw r22, r0 - 6a0: b3 9f mul r27, r19 - 6a2: c0 01 movw r24, r0 - 6a4: a3 9f mul r26, r19 - 6a6: 01 d0 rcall .+2 ; 0x6aa <__umulhisi3+0xe> - 6a8: b2 9f mul r27, r18 - 6aa: 70 0d add r23, r0 - 6ac: 81 1d adc r24, r1 - 6ae: 11 24 eor r1, r1 - 6b0: 91 1d adc r25, r1 - 6b2: 08 95 ret - -000006b4 <__tablejump2__>: - 6b4: ee 0f add r30, r30 - 6b6: ff 1f adc r31, r31 - -000006b8 <__tablejump__>: - 6b8: 05 90 lpm r0, Z+ - 6ba: f4 91 lpm r31, Z - 6bc: e0 2d mov r30, r0 - 6be: 09 94 ijmp - -000006c0 <_exit>: - 6c0: f8 94 cli - -000006c2 <__stop_program>: - 6c2: ff cf rjmp .-2 ; 0x6c2 <__stop_program> +000003f2 <__stop_program>: + 3f2: ff cf rjmp .-2 ; 0x3f2 <__stop_program> diff --git a/Door/Debug/Door.map b/Door/Debug/Door.map index 3e957d3..5b4d54e 100644 --- a/Door/Debug/Door.map +++ b/Door/Debug/Door.map @@ -214,7 +214,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 .rela.plt *(.rela.plt) -.text 0x00000000 0x6c4 +.text 0x00000000 0x3f4 *(.vectors) .vectors 0x00000000 0x68 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm168a.o 0x00000000 __vector_default @@ -302,30 +302,30 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 0x000000be . = ALIGN (0x2) *(.text.*) .text._Z8read8bitv - 0x000000be 0x4a Door.o + 0x000000be 0x3e Door.o 0x000000be _Z8read8bitv .text._Z7recievev - 0x00000108 0x43e Door.o - 0x00000108 _Z7recievev - .text.main 0x00000546 0x9e Door.o - 0x00000546 main + 0x000000fc 0x6c Door.o + 0x000000fc _Z7recievev + .text.main 0x00000168 0x1ac Door.o + 0x00000168 main .text._ZN4UartILm9600EEC2Ev - 0x000005e4 0x5e Door.o - 0x000005e4 _ZN4UartILm9600EEC1Ev - 0x000005e4 _ZN4UartILm9600EEC2Ev + 0x00000314 0x5e Door.o + 0x00000314 _ZN4UartILm9600EEC1Ev + 0x00000314 _ZN4UartILm9600EEC2Ev .text._GLOBAL__sub_I_Serial - 0x00000642 0x5a Door.o + 0x00000372 0x5a Door.o .text.libgcc.mul - 0x0000069c 0x18 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_umulhisi3.o) - 0x0000069c __umulhisi3 - .text.libgcc 0x000006b4 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o) - 0x000006b4 __tablejump2__ - 0x000006b8 __tablejump__ - 0x000006c0 . = ALIGN (0x2) + 0x000003cc 0x18 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_umulhisi3.o) + 0x000003cc __umulhisi3 + .text.libgcc 0x000003e4 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o) + 0x000003e4 __tablejump2__ + 0x000003e8 __tablejump__ + 0x000003f0 . = ALIGN (0x2) *(.fini9) - .fini9 0x000006c0 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) - 0x000006c0 _exit - 0x000006c0 exit + .fini9 0x000003f0 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) + 0x000003f0 _exit + 0x000003f0 exit *(.fini9) *(.fini8) *(.fini8) @@ -344,11 +344,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000006c0 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) + .fini0 0x000003f0 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) *(.fini0) - 0x000006c4 _etext = . + 0x000003f4 _etext = . -.data 0x00800100 0x8a load address 0x000006c4 +.data 0x00800100 0x76 load address 0x000003f4 0x00800100 PROVIDE (__data_start, .) *(.data) .data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm168a.o @@ -363,36 +363,34 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 *(.rodata) *(.rodata*) .rodata.str1.1 - 0x00800100 0x89 Door.o - 0x8c (size before relaxing) + 0x00800100 0x76 Door.o *(.gnu.linkonce.d*) - 0x0080018a . = ALIGN (0x2) - *fill* 0x00800189 0x1 - 0x0080018a _edata = . - 0x0080018a PROVIDE (__data_end, .) + 0x00800176 . = ALIGN (0x2) + 0x00800176 _edata = . + 0x00800176 PROVIDE (__data_end, .) -.bss 0x0080018a 0x195 - 0x0080018a PROVIDE (__bss_start, .) +.bss 0x00800176 0x195 + 0x00800176 PROVIDE (__bss_start, .) *(.bss) - .bss 0x0080018a 0x195 Door.o - 0x0080018a currentpulse - 0x0080018b pulses - 0x0080031b comp - 0x0080031c led - 0x0080031d stripe - 0x0080031e Serial + .bss 0x00800176 0x195 Door.o + 0x00800176 currentpulse + 0x00800177 pulses + 0x00800307 comp + 0x00800308 led + 0x00800309 stripe + 0x0080030a Serial *(.bss*) *(COMMON) - 0x0080031f PROVIDE (__bss_end, .) - 0x000006c4 __data_load_start = LOADADDR (.data) - 0x0000074e __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x0080030b PROVIDE (__bss_end, .) + 0x000003f4 __data_load_start = LOADADDR (.data) + 0x0000046a __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x0080031f 0x0 - 0x0080031f PROVIDE (__noinit_start, .) +.noinit 0x0080030b 0x0 + 0x0080030b PROVIDE (__noinit_start, .) *(.noinit*) - 0x0080031f PROVIDE (__noinit_end, .) - 0x0080031f _end = . - 0x0080031f PROVIDE (__heap_start, .) + 0x0080030b PROVIDE (__noinit_end, .) + 0x0080030b _end = . + 0x0080030b PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -458,31 +456,31 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x2dfe +.debug_info 0x00000000 0x289d *(.debug_info) - .debug_info 0x00000000 0x2dfe Door.o + .debug_info 0x00000000 0x289d Door.o *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x44d +.debug_abbrev 0x00000000 0x474 *(.debug_abbrev) - .debug_abbrev 0x00000000 0x44d Door.o + .debug_abbrev 0x00000000 0x474 Door.o -.debug_line 0x00000000 0x63c +.debug_line 0x00000000 0x5af *(.debug_line) - .debug_line 0x00000000 0x63c Door.o + .debug_line 0x00000000 0x5af Door.o -.debug_frame 0x00000000 0xe4 +.debug_frame 0x00000000 0xdc *(.debug_frame) - .debug_frame 0x00000000 0xe4 Door.o + .debug_frame 0x00000000 0xdc Door.o -.debug_str 0x00000000 0xc33 +.debug_str 0x00000000 0xc59 *(.debug_str) - .debug_str 0x00000000 0xc33 Door.o - 0xc92 (size before relaxing) + .debug_str 0x00000000 0xc59 Door.o + 0xcb8 (size before relaxing) -.debug_loc 0x00000000 0xcd8 +.debug_loc 0x00000000 0xaf1 *(.debug_loc) - .debug_loc 0x00000000 0xcd8 Door.o + .debug_loc 0x00000000 0xaf1 Door.o .debug_macinfo *(.debug_macinfo) @@ -490,9 +488,9 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 .debug_pubtypes *(.debug_pubtypes) -.debug_ranges 0x00000000 0x4a8 +.debug_ranges 0x00000000 0x478 *(.debug_ranges) - .debug_ranges 0x00000000 0x4a8 Door.o + .debug_ranges 0x00000000 0x478 Door.o .debug_macro *(.debug_macro) diff --git a/Door/Debug/Door.srec b/Door/Debug/Door.srec index 03c601f..e481b47 100644 --- a/Door/Debug/Door.srec +++ b/Door/Debug/Door.srec @@ -5,116 +5,70 @@ S11300200C945D000C945D000C945D000C945D00D8 S11300300C945D000C945D000C945D000C945D00C8 S11300400C945D000C945D000C945D000C945D00B8 S11300500C945D000C945D000C945D000C945D00A8 -S11300600C945D000C945D00210311241FBECFEF9E -S1130070D4E0DEBFCDBF11E0A0E0B1E0E4ECF6E0F7 -S113008002C005900D92AA38B107D9F723E0AAE877 -S1130090B1E001C01D92AF31B207E1F710E0CAE64A -S11300A0D0E004C02297FE010E945C03C836D10749 -S11300B0C9F70E94A3020C9460030C94000020E092 -S11300C030E080E061E070E04A99FECF289AE7EBE7 -S11300D0FBE03197F1F700C000004A9908C0AB017A -S11300E0022E02C0440F551F0A94E2F7842B4A9B48 -S11300F0FECF2898F2E4FA95F1F700C02F5F3F4F46 -S11301002830310509F708951F93CF93DF934A9957 -S113011016C28FE19EE40197F1F700C000004A99EE -S11301200EC24A9BFECF0E945F00182F0E945F0000 -S11301300E945F00482FC82FD0E0E0ECF0E08081FF -S113014085FFFDCF80E38093C60060E070E0CB01C3 -S11301509695879596958795969587959C01220FF8 -S1130160331F880F991F880F991F880F991F820FBB -S1130170931F681B790B605DE0ECF0E0808185FFE4 -S1130180FDCF6093C6009E01369527953695279539 -S1130190ABE7B4E10E944E0396958795805DE0EC51 -S11301A0F0E0908195FFFDCF8093C6009E01ADECF9 -S11301B0BCEC0E944E03FC01F695E795F695E79595 -S11301C0F695E7959F010E944E039695879596951F -S11301D08795969587959C01220F331F880F991F49 -S11301E0880F991F880F991F820F931FE81BF90B23 -S11301F09E2F905DE0ECF0E0808185FFFDCF909331 -S1130200C6009E01ADECBCEC0E944E03969587950A -S113021096958795969587959C01220F331F880F95 -S1130220991F880F991F880F991F820F931FC81B4E -S1130230D90BC05DE0ECF0E0808185FFFDCFC09379 -S1130240C600A4E5B1E090E2E0ECF0E0C6ECD0E05A -S1130250808185FFFDCF98839D919111F9CFE0ECCA -S1130260F0E0808185FFFDCF8DE08093C600E0EC57 -S1130270F0E0808185FFFDCF8AE08093C6001111F4 -S11302805EC14F3E09F05BC10E945F00182F0E94BF -S11302905F00482FABE5B1E022E5E0ECF0E0C6EC0E -S11302A0D0E0908195FFFDCF28832D912111F9CFC6 -S11302B0E0ECF0E0908195FFFDCF8DE08093C600E7 -S11302C0E0ECF0E0908195FFFDCF8AE08093C600DA -S11302D0E0ECF0E0808185FFFDCFC12FD0E080E32A -S11302E08093C60060E070E0CB0196958795969563 -S11302F08795969587959C01220F331F880F991F28 -S1130300880F991F880F991F820F931F681B790B01 -S1130310605DE0ECF0E0808185FFFDCF6093C60076 -S11303209E013695279536952795ABE7B4E10E9453 -S11303304E0396958795805DE0ECF0E0908195FF03 -S1130340FDCF8093C6009E01ADECBCEC0E944E0331 -S1130350FC01F695E795F695E795F695E7959F01E7 -S11303600E944E03969587959695879596958795C1 -S11303709C01220F331F880F991F880F991F880F24 -S1130380991F820F931FE81BF90B9E2F905DE0ECE1 -S1130390F0E0808185FFFDCF9093C6009E01ADEC17 -S11303A0BCEC0E944E0396958795969587959695F5 -S11303B087959C01220F331F880F991F880F991F5F -S11303C0880F991F820F931FC81BD90BC05DE0ECE7 -S11303D0F0E0808185FFFDCFC093C600A6E6B1E0C2 -S11303E090E2E0ECF0E0C6ECD0E0808185FFFDCF48 -S11303F098839D919111F9CF50E0E0ECF0E0808179 -S113040085FFFDCF80E38093C60060E070E0CB0100 -S11304109695879596958795969587959C01220F35 -S1130420331F880F991F880F991F880F991F820FF8 -S1130430931F681B790B605DE0ECF0E0808185FF21 -S1130440FDCF6093C6009A0136952795369527957A -S1130450ABE7B4E10E944E0396958795805DE0EC8E -S1130460F0E0908195FFFDCF8093C6009A01ADEC3A -S1130470BCEC0E944E03FC01F695E795F695E795D2 -S1130480F695E7959F010E944E039695879596955C -S11304908795969587959C01220F331F880F991F86 -S11304A0880F991F880F991F820F931FE81BF90B60 -S11304B09E2F905DE0ECF0E0808185FFFDCF90936E -S11304C0C6009A01ADECBCEC0E944E03969587954C -S11304D096958795969587959C01220F331F880FD3 -S11304E0991F880F991F880F991F820F931F481B0C -S11304F0590B405DE0ECF0E0808185FFFDCF409337 -S1130500C600AFE6B1E090E2E0ECF0E0C6ECD0E08B -S1130510808185FFFDCF98839D919111F9CFE0EC07 -S1130520F0E0808185FFFDCF8DE08093C600E0EC94 -S1130530F0E0808185FFFDCF8AE08093C600DF91E3 -S1130540CF911F910895789482E390E026E731E0FB -S1130550E0ECF0E0A6ECB0E07DE06AE011C04081A0 -S113056045FFFDCF5C9359915111F9CF408145FF6F -S1130570FDCF7C93408145FFFDCF6C93019719F02B -S1130580E90157E4ECCF299AC0ECD0E006EC10E086 -S11305900F2EFEE2DF2EF02D0F2EFDE0EF2EF02DBC -S11305A00F2EFAE0FF2EF02D4A99FECF0E94840010 -S11305B0888185FFFDCFF801D082888185FFFDCF3A -S11305C0F801E082888185FFFDCFF801F082FFEF1A -S11305D024E38CE0F15020408040E1F700C00000AB -S11305E02898E2CFCF93DF93789481E88093C40076 -S11305F01092C00088E08093C10086E08093C2001E -S1130600AFE7B1E095E5E0ECF0E0C6ECD0E0808146 -S113061085FFFDCF98839D919111F9CFE0ECF0E037 -S1130620808185FFFDCF8DE08093C600E0ECF0E093 -S1130630808185FFFDCF8AE08093C600DF91CF9152 -S113064008958EE193E00E94F202559A539A239AF8 -S113065081E284BD81E085BD16BC1092B60091EAAA -S11306609093B0008093B1001092B20010926E008B -S11306701092700018BC1092B4001092B300209A2B -S1130680219A2898299856985E9857985F9810BE92 -S113069010927B0083E080937F000895A29FB001B5 -S11306A0B39FC001A39F01D0B29F700D811D11247F -S11306B0911D0895EE0FFF1F0590F491E02D09940C -S10706C0F894FFCFD8 -S11306C40A0D0A0D52656365697665643A200A0D5C -S11306D44F464620094F4E00696E7420495273698F -S11306E4676E616C5B5D203D207B002F2F204F469D -S11306F4462C204F4E2028696E2031302773206FFA -S113070466206D6963726F7365636F6E6473290029 -S11307147D3B002031427974650052656164204454 -S11307246174613A002048427974652C2000204C9D -S1130734427974650047656C6164656E2100556196 -S10D0744727420646F6E65210000DA +S11300600C945D000C945D00B90111241FBECFEF08 +S1130070D4E0DEBFCDBF11E0A0E0B1E0E4EFF3E0F7 +S113008002C005900D92A637B107D9F723E0A6E781 +S1130090B1E001C01D92AB30B207E1F710E0CAE64F +S11300A0D0E004C02297FE010E94F401C836D107B3 +S11300B0C9F70E94B4000C94F8010C94000020E0ED +S11300C030E080E061E070E04A9BFECFEFE9FFE0C2 +S11300D03197F1F700C000004A9B08C0AB01022E23 +S11300E002C0440F551F0A94E2F7842B4A99FECFAD +S11300F02F5F3F4F2830310539F70895CF934A9940 +S113010024C08FE19EE40197F1F700C000004A99F2 +S11301101FC04A9BFECF4A99FECF0E945F00811107 +S11301201AC00E945F008F3EC9F40E945F00C82F6E +S11301300E945F002C2F30E0A901480F511D4F3F52 +S1130140510571F02FEF30E00BC02FEF30E008C005 +S11301502FEF30E005C02FEF30E002C02FEF30E08A +S1130160822F932FCF910895789482E390E027E52E +S113017031E0E0ECF0E0A6ECB0E07DE06AE011C034 +S1130180408145FFFDCF5C9359915111F9CF4081D6 +S113019045FFFDCF7C93408145FFFDCF6C930197D4 +S11301A019F0E90157E4ECCF299AC0ECD0E006EC51 +S11301B010E00F2EF0E6EF2EF1E0FF2EF02D0F2EC3 +S11301C0FDE0CF2EF02D0F2EFAE0DF2EF02D4A9910 +S11301D0FECF289A0E947E00B82EAC015527888154 +S11301E085FFFDCF80E3D8018C9360E070E0CB0104 +S11301F09695879596958795969587959C01220F58 +S1130200331F880F991F880F991F880F991F820F1A +S1130210931F681B790B605D888185FFFDCFF80112 +S113022060839A013695279536952795ABE7B4E117 +S11302300E94E60196958795805D988195FFFDCF94 +S1130240D8018C939A01ADECBCEC0E94E601FC0150 +S1130250F695E795F695E795F695E7959F010E9443 +S1130260E6019695879596958795969587959C0131 +S1130270220F331F880F991F880F991F880F991F0A +S1130280820F931FE81BF90BE05D888185FFFDCF8A +S1130290D801EC939A01ADECBCEC0E94E601969572 +S11302A0879596958795969587959C01220F331F80 +S11302B0880F991F880F991F880F991F820F931F0A +S11302C0481B590B405D888185FFFDCFF8014083B1 +S11302D0F70190E2888185FFFDCFD8019C9391912D +S11302E09111F8CF888185FFFDCFF801C082888104 +S11302F085FFFDCFD801DC92BFEFBB1209C0EFE749 +S1130300F4E82EE1E150F0402040E1F700C00000A5 +S113031028985DCFCF93DF93789481E88093C400CD +S11303201092C00088E08093C10086E08093C200F0 +S1130330ACE6B1E095E5E0ECF0E0C6ECD0E080811D +S113034085FFFDCF98839D919111F9CFE0ECF0E00A +S1130350808185FFFDCF8DE08093C600E0ECF0E066 +S1130360808185FFFDCF8AE08093C600DF91CF9125 +S113037008958AE093E00E948A01559A539A239A39 +S113038081E284BD81E085BD16BC1092B60091EA7D +S11303909093B0008093B1001092B20010926E005E +S11303A01092700018BC1092B4001092B300209AFE +S11303B0219A2898299856985E9857985F9810BE65 +S11303C010927B0083E080937F000895A29FB00188 +S11303D0B39FC001A39F01D0B29F700D811D112452 +S11303E0911D0895EE0FFF1F0590F491E02D0994DF +S10703F0F894FFCFAB +S11303F40A0D0A0D52656365697665643A200A0D2F +S11304044F464620094F4E00696E74204952736961 +S1130414676E616C5B5D203D207B002F2F204F466F +S1130424462C204F4E2028696E2031302773206FCC +S113043466206D6963726F7365636F6E64732900FC +S11304442C20007D3B0047656C6164656E210020AF +S113045450726573736564210D0A005561727420CA +S1090464646F6E652100C7 S9030000FC diff --git a/Door/Door.cpp b/Door/Door.cpp index 64d6a5b..1560278 100644 --- a/Door/Door.cpp +++ b/Door/Door.cpp @@ -7,6 +7,7 @@ #include "peripheral.h" #include +#include uartclass Serial; stripeclass stripe; @@ -86,45 +87,62 @@ uint8_t read8bit() { uint8_t r = 0; for (uint8_t i=0;i<8;i++) { - while (PIND & (1<Native true false - exception_table + + 0 true 0x20000000 @@ -63,13 +64,13 @@ - com.atmel.avrdbg.tool.simulator - Simulator - + com.atmel.avrdbg.tool.simulator + Simulator + - + 127.0.0.1 - 55907 + 9501 False diff --git a/Door/io/uart.hpp b/Door/io/uart.hpp index e9aa5bc..19c1442 100644 --- a/Door/io/uart.hpp +++ b/Door/io/uart.hpp @@ -33,6 +33,17 @@ class Uart { print(((wert/10)%10)+'0'); print((wert%10)+'0'); } + void printBin(uint8_t wert) { + print("0"); + print("b"); + for(int i=0;i<8;i++) { + if(wert & (1<