diff --git a/pocketpsithemius.ino.hex b/pocketpsithemius.ino.hex deleted file mode 100644 index 0d9eb9c..0000000 --- a/pocketpsithemius.ino.hex +++ /dev/null @@ -1,130 +0,0 @@ -:1000000033C04BC04AC049C048C047C03FC245C0CA -:1000100044C043C042C041C040C03FC03EC03DC0DC -:100020003CC03BC03AC000000000050004000300D3 -:10003000000000000000010204402010080402013A -:100040001020408008800101010202020202020227 -:1000500001010101010200003900360000003B00EF -:10006000380000003A00370011241FBECFEDCDBF8D -:1000700010E0A0E6B0E0EEEDF7E002C005900D92D2 -:10008000A238B107D9F720E0A2E8B0E001C01D9284 -:10009000A03AB207E1F79BD3A0C3B2CF6FEF70E0F5 -:1000A0008CE064D26FEF70E081E060D26FEF70E0BF -:1000B0008EE05CC260E089E0AFD260E088E0ACD264 -:1000C00060E08DE0A9D261E081E0A6D261E08EE03F -:1000D000A3D261E08CE0A0D2E1DF61E086E09CD2B7 -:1000E00060E086E0EDD261E083E096D260E083E0FC -:1000F000E7C2CF9380917F00811104C010929500D8 -:10010000CF910895C0919500C130A1F480919000E5 -:1001100080938F001092900010929600109294009D -:100120001092800060E083E0CBD261E086E0C8D22C -:10013000C0938D0080919500823011F786E007D33F -:10014000019719F460E086E0BBD281E080938000E3 -:1001500080937F0080918F008093900010928D009B -:10016000CFCF80918000811103C010929400089538 -:1001700080919400813019F461E083E0A1D28091F4 -:100180009400823019F460E083E09AC20895EF92FF -:10019000FF920F931F93CF93DF93182F042F80911B -:1001A0008E00882399F0E62EF12C6095C62FD0E0C2 -:1001B0000023D1F060E0812F83D2C701BDD161E07F -:1001C000812F7ED2CE01B8D10150F2CF8FEF90E0D7 -:1001D0009C01261B3109B901812FDF91CF911F911D -:1001E0000F91FF90EF90C2C1DF91CF911F910F91BE -:1001F000FF90EF90089580919000882379F041E07E -:10020000609182008CE0C3DF41E06091840081E076 -:10021000BEDF41E0609183008EE0B9CF3FCF6093B5 -:1002200082007093830080938400E5CF80918000EA -:10023000811103C0109296000895E0919600E1505C -:10024000EA30D0F7F0E0EA5DFE4F099409C012C031 -:100250001BC023C029C02FC035C03EC044C04AC007 -:1002600081E0809390006091780070917900809196 -:100270007A00D5CF81E080938E00609175007091F7 -:10028000760080917700F5CF10928E006091720019 -:100290007091730080917400ECCF60916F00709149 -:1002A000700080917100E5CF60916C0070916D00DD -:1002B00080916E00DECF6091690070916A0080913C -:1002C0006B00D7CF81E080938E00609166007091C3 -:1002D000670080916800CDCF6091630070916400E9 -:1002E00080916500C6CF609160007091610080913F -:1002F0006200BFCF109290009DCF0F931F93CF93BA -:100300000FD10091850010918600209187003091D7 -:100310008800601B710B820B930B00917B00109186 -:100320007C0020917D0030917E000617170728077A -:10033000390708F04EC089E00AD2C1E0009709F001 -:10034000C0E0209193002C1769F0892B49F480912B -:1003500096008F5F8B3008F074C08093960066DF44 -:10036000C093930088E0F3D1C1E0009709F0C0E0AA -:10037000209192002C1769F0892B49F48091950007 -:100380008F5F833008F05FC080939500B2DEC0932A -:1003900092008DE0DCD1C1E0009709F0C0E020912F -:1003A00091002C1769F0892B49F4809194008F5F9C -:1003B000833008F04AC080939400D3DEC09391004C -:1003C000AFD06093850070938600809387009093F0 -:1003D000880011DF80918D008823C9F18091890008 -:1003E00090918A00A0918B00B0918C000196A11D84 -:1003F000B11D8093890090938A00A0938B00B093E5 -:100400008C0081E0809395008091890090918A0012 -:10041000A0918B00B0918C0081389F44A241B1051E -:1004200060F060E086E04CD110928D0081E0809316 -:10043000800080918F0080939000CF911F910F9149 -:10044000089581E08ACF81E09FCF81E0B4CF109200 -:10045000890010928A0010928B0010928C00D4CFE9 -:100460008FB5807F8FBD80B7826080BF80B781608D -:1004700080BF87B5816087BD86B58D7F86BD86B517 -:10048000816086BD8FB587608FBD08951F920F92E2 -:100490000FB60F9211242F933F938F939F93AF9397 -:1004A000BF938091980090919900A0919A00B0918B -:1004B0009B003091970023E0230F2D3768F126E849 -:1004C000230F0296A11DB11D2093970080939800E1 -:1004D00090939900A0939A00B0939B0080919C0008 -:1004E00090919D00A0919E00B0919F000196A11D4A -:1004F000B11D80939C0090939D00A0939E00B093AB -:100500009F00BF91AF919F918F913F912F910F903D -:100510000FBE0F901F9018950196A11DB11DD4CF4D -:100520002FB7F894609198007091990080919A008B -:1005300090919B002FBF08958230910538F0880F6D -:10054000991F880F991F05970197F1F708957894DF -:1005500083B7887F836083BF789489B7826089BFBF -:100560007FDF86B1876886B9379A08951F93CF9346 -:10057000DF93182FEB0161E04FD01C161D0634F0FD -:1005800060E0812FDF91CF911F919AC0CF3FD105BD -:1005900014F061E0F6CFE12FF0E0EA5DFF4FE49167 -:1005A000E33059F487B58F7787BD87B5806487BD01 -:1005B000CDBDDF91CF911F910895E43041F487B50F -:1005C0008F7D87BD87B5806187BDCCBDF2CFE5301B -:1005D00041F487B5877F87BD87B5846087BDCABD75 -:1005E000E8CFC038D105ACF6CBCF833021F480B74B -:1005F0008F7780BF0895843039F487B58F7D87BDAC -:1006000087B58F7E87BD08958530E9F787B5877FE9 -:1006100087BD87B58B7FF6CFCF93DF9387FF0CC065 -:100620008F77833048F0282F30E0A90143505109DB -:100630004430510540F5895F90E0FC01EA5CFF4FD2 -:1006400024918A5B9F4FFC0184918823C9F090E03C -:10065000880F991FFC01EE59FF4FA591B491FC0141 -:10066000E45AFF4FC591D491611117C09FB7F89418 -:100670008C91209582238C938881282328839FBF87 -:10068000DF91CF910895275031099CE0981B892F65 -:100690002330310588F28FEFCFCF623051F49FB70E -:1006A000F8943C91822F809583238C93E8812E2BA4 -:1006B000E5CF8FB7F894EC912E2B2C938FBFE0CF22 -:1006C0001F93CF93DF93162F87FF0CC08F77833054 -:1006D00048F0282F30E0A90143505109443051051A -:1006E00040F5895F282F30E0F901EA5DFF4F8491E2 -:1006F000F901EA5CFF4FD491F901EA5BFF4FC49125 -:10070000CC2399F0811171DFEC2FF0E0EE0FFF1F89 -:10071000E45AFF4FA591B4918FB7111114C0F8940A -:10072000EC91D095DE23DC938FBFDF91CF911F91A9 -:100730000895275031099CE0981B892F23303105FB -:1007400088F28FEFCFCFF894EC91DE2BECCFCF93E4 -:10075000DF9387FF0CC08F77833048F0282F30E07D -:10076000A901435051094430510520F5895F282FD4 -:1007700030E0F901EA5DFF4F8491F901EA5CFF4F37 -:10078000D491F901EA5BFF4FC491CC23E9F08111C8 -:100790002CDFEC2FF0E0EE0FFF1FEA5AFF4FA59180 -:1007A000B491EC91ED2381E090E009F480E0DF91D9 -:1007B000CF910895275031099CE0981B892F233051 -:1007C0003105A8F28FEFD3CF80E090E0F0CF81B772 -:0E07D00081BFBDDE6FDC91DDFECFF894FFCF60 -:1007DE002828286F00FF8000800080FFFF0000FFA8 -:1007EE00FF0000FF00FF8000FFFFFF32000000014E -:0207FE000100F8 -:00000001FF diff --git a/pocketpsithemius.ino.lst b/pocketpsithemius.ino.lst deleted file mode 100644 index 3618968..0000000 --- a/pocketpsithemius.ino.lst +++ /dev/null @@ -1,1644 +0,0 @@ - -C:\Users\flux\AppData\Local\Temp\arduino_build_587547/pocketpsithemius.ino.elf: file format elf32-avr - - -Disassembly of section .text: - -00000000 <__vectors>: -__vectors(): - 0: 33 c0 rjmp .+102 ; 0x68 <__ctors_end> - 2: 4b c0 rjmp .+150 ; 0x9a <__bad_interrupt> - 4: 4a c0 rjmp .+148 ; 0x9a <__bad_interrupt> - 6: 49 c0 rjmp .+146 ; 0x9a <__bad_interrupt> - 8: 48 c0 rjmp .+144 ; 0x9a <__bad_interrupt> - a: 47 c0 rjmp .+142 ; 0x9a <__bad_interrupt> - c: 3f c2 rjmp .+1150 ; 0x48c <__vector_6> - e: 45 c0 rjmp .+138 ; 0x9a <__bad_interrupt> - 10: 44 c0 rjmp .+136 ; 0x9a <__bad_interrupt> - 12: 43 c0 rjmp .+134 ; 0x9a <__bad_interrupt> - 14: 42 c0 rjmp .+132 ; 0x9a <__bad_interrupt> - 16: 41 c0 rjmp .+130 ; 0x9a <__bad_interrupt> - 18: 40 c0 rjmp .+128 ; 0x9a <__bad_interrupt> - 1a: 3f c0 rjmp .+126 ; 0x9a <__bad_interrupt> - 1c: 3e c0 rjmp .+124 ; 0x9a <__bad_interrupt> - 1e: 3d c0 rjmp .+122 ; 0x9a <__bad_interrupt> - 20: 3c c0 rjmp .+120 ; 0x9a <__bad_interrupt> - 22: 3b c0 rjmp .+118 ; 0x9a <__bad_interrupt> - 24: 3a c0 rjmp .+116 ; 0x9a <__bad_interrupt> - -00000026 <__trampolines_end>: -__trampolines_start(): - 26: 00 00 nop - 28: 00 00 nop - 2a: 05 00 .word 0x0005 ; ???? - 2c: 04 00 .word 0x0004 ; ???? - 2e: 03 00 .word 0x0003 ; ???? - 30: 00 00 nop - 32: 00 00 nop - ... - -00000036 : - 36: 01 02 04 40 20 10 08 04 02 01 10 20 40 80 08 80 ...@ ...... @... - -00000046 : - 46: 01 01 01 02 02 02 02 02 02 02 01 01 01 01 01 02 ................ - -00000056 : - 56: 00 00 39 00 36 00 ..9.6. - -0000005c : - 5c: 00 00 3b 00 38 00 ..;.8. - -00000062 : - 62: 00 00 3a 00 37 00 ..:.7. - -00000068 <__ctors_end>: -__dtors_end(): - 68: 11 24 eor r1, r1 - 6a: 1f be out 0x3f, r1 ; 63 - 6c: cf ed ldi r28, 0xDF ; 223 - 6e: cd bf out 0x3d, r28 ; 61 - -00000070 <__do_copy_data>: -__do_copy_data(): -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2409 - 70: 10 e0 ldi r17, 0x00 ; 0 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2410 - 72: a0 e6 ldi r26, 0x60 ; 96 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2411 - 74: b0 e0 ldi r27, 0x00 ; 0 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2412 - 76: ee ed ldi r30, 0xDE ; 222 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2413 - 78: f7 e0 ldi r31, 0x07 ; 7 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2414 - 7a: 02 c0 rjmp .+4 ; 0x80 <__do_copy_data+0x10> -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2417 - 7c: 05 90 lpm r0, Z+ -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2422 - 7e: 0d 92 st X+, r0 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2424 - 80: a2 38 cpi r26, 0x82 ; 130 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2425 - 82: b1 07 cpc r27, r17 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2426 - 84: d9 f7 brne .-10 ; 0x7c <__do_copy_data+0xc> - -00000086 <__do_clear_bss>: -__do_clear_bss(): -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2441 - 86: 20 e0 ldi r18, 0x00 ; 0 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2442 - 88: a2 e8 ldi r26, 0x82 ; 130 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2443 - 8a: b0 e0 ldi r27, 0x00 ; 0 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2444 - 8c: 01 c0 rjmp .+2 ; 0x90 <.do_clear_bss_start> - -0000008e <.do_clear_bss_loop>: -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2446 - 8e: 1d 92 st X+, r1 - -00000090 <.do_clear_bss_start>: -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2448 - 90: a0 3a cpi r26, 0xA0 ; 160 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2449 - 92: b2 07 cpc r27, r18 -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2450 - 94: e1 f7 brne .-8 ; 0x8e <.do_clear_bss_loop> -.do_clear_bss_start(): - 96: 9b d3 rcall .+1846 ; 0x7ce
- 98: a0 c3 rjmp .+1856 ; 0x7da <_exit> - -0000009a <__bad_interrupt>: -__vector_1(): - 9a: b2 cf rjmp .-156 ; 0x0 <__vectors> - -0000009c : -_Z7offLedsv(): -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:80 - selectedColor = paint; - selectedColor.r = paint.r; - selectedColor.b = paint.b; - selectedColor.g = paint.g; - //paint contains r g b value for pwm on pins - showColor(); - 9c: 6f ef ldi r22, 0xFF ; 255 - 9e: 70 e0 ldi r23, 0x00 ; 0 - a0: 8c e0 ldi r24, 0x0C ; 12 - a2: 64 d2 rcall .+1224 ; 0x56c - a4: 6f ef ldi r22, 0xFF ; 255 - a6: 70 e0 ldi r23, 0x00 ; 0 - a8: 81 e0 ldi r24, 0x01 ; 1 - aa: 60 d2 rcall .+1216 ; 0x56c - ac: 6f ef ldi r22, 0xFF ; 255 - ae: 70 e0 ldi r23, 0x00 ; 0 - b0: 8e e0 ldi r24, 0x0E ; 14 - b2: 5c c2 rjmp .+1208 ; 0x56c - -000000b4 : -setup(): - b4: 60 e0 ldi r22, 0x00 ; 0 - b6: 89 e0 ldi r24, 0x09 ; 9 - b8: af d2 rcall .+1374 ; 0x618 - ba: 60 e0 ldi r22, 0x00 ; 0 - bc: 88 e0 ldi r24, 0x08 ; 8 - be: ac d2 rcall .+1368 ; 0x618 - c0: 60 e0 ldi r22, 0x00 ; 0 - c2: 8d e0 ldi r24, 0x0D ; 13 - c4: a9 d2 rcall .+1362 ; 0x618 - c6: 61 e0 ldi r22, 0x01 ; 1 - c8: 81 e0 ldi r24, 0x01 ; 1 - ca: a6 d2 rcall .+1356 ; 0x618 - cc: 61 e0 ldi r22, 0x01 ; 1 - ce: 8e e0 ldi r24, 0x0E ; 14 - d0: a3 d2 rcall .+1350 ; 0x618 - d2: 61 e0 ldi r22, 0x01 ; 1 - d4: 8c e0 ldi r24, 0x0C ; 12 - d6: a0 d2 rcall .+1344 ; 0x618 - d8: e1 df rcall .-62 ; 0x9c - da: 61 e0 ldi r22, 0x01 ; 1 - dc: 86 e0 ldi r24, 0x06 ; 6 - de: 9c d2 rcall .+1336 ; 0x618 - e0: 60 e0 ldi r22, 0x00 ; 0 - e2: 86 e0 ldi r24, 0x06 ; 6 - e4: ed d2 rcall .+1498 ; 0x6c0 - e6: 61 e0 ldi r22, 0x01 ; 1 - e8: 83 e0 ldi r24, 0x03 ; 3 - ea: 96 d2 rcall .+1324 ; 0x618 - ec: 60 e0 ldi r22, 0x00 ; 0 - ee: 83 e0 ldi r24, 0x03 ; 3 - f0: e7 c2 rjmp .+1486 ; 0x6c0 - -000000f2 : -_Z13pressButton_Bv(): - f2: cf 93 push r28 - f4: 80 91 7f 00 lds r24, 0x007F ; 0x80007f - f8: 81 11 cpse r24, r1 - fa: 04 c0 rjmp .+8 ; 0x104 - fc: 10 92 95 00 sts 0x0095, r1 ; 0x800095 - 100: cf 91 pop r28 - 102: 08 95 ret - 104: c0 91 95 00 lds r28, 0x0095 ; 0x800095 - 108: c1 30 cpi r28, 0x01 ; 1 - 10a: a1 f4 brne .+40 ; 0x134 - 10c: 80 91 90 00 lds r24, 0x0090 ; 0x800090 - 110: 80 93 8f 00 sts 0x008F, r24 ; 0x80008f - 114: 10 92 90 00 sts 0x0090, r1 ; 0x800090 - 118: 10 92 96 00 sts 0x0096, r1 ; 0x800096 - 11c: 10 92 94 00 sts 0x0094, r1 ; 0x800094 - 120: 10 92 80 00 sts 0x0080, r1 ; 0x800080 - 124: 60 e0 ldi r22, 0x00 ; 0 - 126: 83 e0 ldi r24, 0x03 ; 3 - 128: cb d2 rcall .+1430 ; 0x6c0 - 12a: 61 e0 ldi r22, 0x01 ; 1 - 12c: 86 e0 ldi r24, 0x06 ; 6 - 12e: c8 d2 rcall .+1424 ; 0x6c0 - 130: c0 93 8d 00 sts 0x008D, r28 ; 0x80008d - 134: 80 91 95 00 lds r24, 0x0095 ; 0x800095 - 138: 82 30 cpi r24, 0x02 ; 2 - 13a: 11 f7 brne .-60 ; 0x100 - 13c: 86 e0 ldi r24, 0x06 ; 6 - 13e: 07 d3 rcall .+1550 ; 0x74e - 140: 01 97 sbiw r24, 0x01 ; 1 - 142: 19 f4 brne .+6 ; 0x14a - 144: 60 e0 ldi r22, 0x00 ; 0 - 146: 86 e0 ldi r24, 0x06 ; 6 - 148: bb d2 rcall .+1398 ; 0x6c0 - 14a: 81 e0 ldi r24, 0x01 ; 1 - 14c: 80 93 80 00 sts 0x0080, r24 ; 0x800080 - 150: 80 93 7f 00 sts 0x007F, r24 ; 0x80007f - 154: 80 91 8f 00 lds r24, 0x008F ; 0x80008f - 158: 80 93 90 00 sts 0x0090, r24 ; 0x800090 - 15c: 10 92 8d 00 sts 0x008D, r1 ; 0x80008d - 160: cf cf rjmp .-98 ; 0x100 - -00000162 : -_Z13pressButton_Cv(): - 162: 80 91 80 00 lds r24, 0x0080 ; 0x800080 - 166: 81 11 cpse r24, r1 - 168: 03 c0 rjmp .+6 ; 0x170 - 16a: 10 92 94 00 sts 0x0094, r1 ; 0x800094 - 16e: 08 95 ret - 170: 80 91 94 00 lds r24, 0x0094 ; 0x800094 - 174: 81 30 cpi r24, 0x01 ; 1 - 176: 19 f4 brne .+6 ; 0x17e - 178: 61 e0 ldi r22, 0x01 ; 1 - 17a: 83 e0 ldi r24, 0x03 ; 3 - 17c: a1 d2 rcall .+1346 ; 0x6c0 - 17e: 80 91 94 00 lds r24, 0x0094 ; 0x800094 - 182: 82 30 cpi r24, 0x02 ; 2 - 184: 19 f4 brne .+6 ; 0x18c - 186: 60 e0 ldi r22, 0x00 ; 0 - 188: 83 e0 ldi r24, 0x03 ; 3 - 18a: 9a c2 rjmp .+1332 ; 0x6c0 - 18c: 08 95 ret - -0000018e : -_Z7softPWMhhh(): - 18e: ef 92 push r14 - 190: ff 92 push r15 - 192: 0f 93 push r16 - 194: 1f 93 push r17 - 196: cf 93 push r28 - 198: df 93 push r29 - 19a: 18 2f mov r17, r24 - 19c: 04 2f mov r16, r20 - 19e: 80 91 8e 00 lds r24, 0x008E ; 0x80008e - 1a2: 88 23 and r24, r24 - 1a4: 99 f0 breq .+38 ; 0x1cc - 1a6: e6 2e mov r14, r22 - 1a8: f1 2c mov r15, r1 - 1aa: 60 95 com r22 - 1ac: c6 2f mov r28, r22 - 1ae: d0 e0 ldi r29, 0x00 ; 0 - 1b0: 00 23 and r16, r16 - 1b2: d1 f0 breq .+52 ; 0x1e8 - 1b4: 60 e0 ldi r22, 0x00 ; 0 - 1b6: 81 2f mov r24, r17 - 1b8: 83 d2 rcall .+1286 ; 0x6c0 - 1ba: c7 01 movw r24, r14 - 1bc: bd d1 rcall .+890 ; 0x538 - 1be: 61 e0 ldi r22, 0x01 ; 1 - 1c0: 81 2f mov r24, r17 - 1c2: 7e d2 rcall .+1276 ; 0x6c0 - 1c4: ce 01 movw r24, r28 - 1c6: b8 d1 rcall .+880 ; 0x538 - 1c8: 01 50 subi r16, 0x01 ; 1 - 1ca: f2 cf rjmp .-28 ; 0x1b0 - 1cc: 8f ef ldi r24, 0xFF ; 255 - 1ce: 90 e0 ldi r25, 0x00 ; 0 - 1d0: 9c 01 movw r18, r24 - 1d2: 26 1b sub r18, r22 - 1d4: 31 09 sbc r19, r1 - 1d6: b9 01 movw r22, r18 - 1d8: 81 2f mov r24, r17 - 1da: df 91 pop r29 - 1dc: cf 91 pop r28 - 1de: 1f 91 pop r17 - 1e0: 0f 91 pop r16 - 1e2: ff 90 pop r15 - 1e4: ef 90 pop r14 - 1e6: c2 c1 rjmp .+900 ; 0x56c - 1e8: df 91 pop r29 - 1ea: cf 91 pop r28 - 1ec: 1f 91 pop r17 - 1ee: 0f 91 pop r16 - 1f0: ff 90 pop r15 - 1f2: ef 90 pop r14 - 1f4: 08 95 ret - -000001f6 : -_Z9showColorv(): - 1f6: 80 91 90 00 lds r24, 0x0090 ; 0x800090 - 1fa: 88 23 and r24, r24 - 1fc: 79 f0 breq .+30 ; 0x21c - 1fe: 41 e0 ldi r20, 0x01 ; 1 - 200: 60 91 82 00 lds r22, 0x0082 ; 0x800082 <__data_end> - 204: 8c e0 ldi r24, 0x0C ; 12 - 206: c3 df rcall .-122 ; 0x18e - 208: 41 e0 ldi r20, 0x01 ; 1 - 20a: 60 91 84 00 lds r22, 0x0084 ; 0x800084 <__data_end+0x2> - 20e: 81 e0 ldi r24, 0x01 ; 1 - 210: be df rcall .-132 ; 0x18e - 212: 41 e0 ldi r20, 0x01 ; 1 - 214: 60 91 83 00 lds r22, 0x0083 ; 0x800083 <__data_end+0x1> - 218: 8e e0 ldi r24, 0x0E ; 14 - 21a: b9 cf rjmp .-142 ; 0x18e - 21c: 3f cf rjmp .-386 ; 0x9c - -0000021e : -_Z8setColor5COLORb(): -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:75 -}; -COLOR selectedColor = { 0 , 0 , 0 }; - -void setColor(COLOR paint, bool full = true) { - //tricolor LED color - selectedColor = paint; - 21e: 60 93 82 00 sts 0x0082, r22 ; 0x800082 <__data_end> - 222: 70 93 83 00 sts 0x0083, r23 ; 0x800083 <__data_end+0x1> - 226: 80 93 84 00 sts 0x0084, r24 ; 0x800084 <__data_end+0x2> -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:80 - selectedColor.r = paint.r; - selectedColor.b = paint.b; - selectedColor.g = paint.g; - //paint contains r g b value for pwm on pins - showColor(); - 22a: e5 cf rjmp .-54 ; 0x1f6 - -0000022c : -_Z13pressButton_Av(): -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:190 -} - -//---- BUTTON STATE MACHINE FUNCTIONS -//Button A: -void pressButton_A() { - if (enabled_btnAC == false) { - 22c: 80 91 80 00 lds r24, 0x0080 ; 0x800080 - 230: 81 11 cpse r24, r1 - 232: 03 c0 rjmp .+6 ; 0x23a -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:228 - case 9: - setColor(grey, true); - break; - case 10: - enabled_LED = false; - counterA = 0;//TURN OFF - 234: 10 92 96 00 sts 0x0096, r1 ; 0x800096 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:231 - break; - } -} - 238: 08 95 ret -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:194 -void pressButton_A() { - if (enabled_btnAC == false) { - counterA = 0; - return;//Chek if button is disabled - } - switch (counterA) { - 23a: e0 91 96 00 lds r30, 0x0096 ; 0x800096 - 23e: e1 50 subi r30, 0x01 ; 1 - 240: ea 30 cpi r30, 0x0A ; 10 - 242: d0 f7 brcc .-12 ; 0x238 - 244: f0 e0 ldi r31, 0x00 ; 0 - 246: ea 5d subi r30, 0xDA ; 218 - 248: fe 4f sbci r31, 0xFE ; 254 - 24a: 09 94 ijmp - 24c: 09 c0 rjmp .+18 ; 0x260 - 24e: 12 c0 rjmp .+36 ; 0x274 - 250: 1b c0 rjmp .+54 ; 0x288 - 252: 23 c0 rjmp .+70 ; 0x29a - 254: 29 c0 rjmp .+82 ; 0x2a8 - 256: 2f c0 rjmp .+94 ; 0x2b6 - 258: 35 c0 rjmp .+106 ; 0x2c4 - 25a: 3e c0 rjmp .+124 ; 0x2d8 - 25c: 44 c0 rjmp .+136 ; 0x2e6 - 25e: 4a c0 rjmp .+148 ; 0x2f4 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:196 - case 1: - enabled_LED = true; - 260: 81 e0 ldi r24, 0x01 ; 1 - 262: 80 93 90 00 sts 0x0090, r24 ; 0x800090 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:197 - setColor(white, true); - 266: 60 91 78 00 lds r22, 0x0078 ; 0x800078 - 26a: 70 91 79 00 lds r23, 0x0079 ; 0x800079 - 26e: 80 91 7a 00 lds r24, 0x007A ; 0x80007a -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:224 - break; - case 8: - setColor(indigo, true); - break; - case 9: - setColor(grey, true); - 272: d5 cf rjmp .-86 ; 0x21e -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:200 - case 1: - enabled_LED = true; - setColor(white, true); - break; - case 2: - usePWM = true; - 274: 81 e0 ldi r24, 0x01 ; 1 - 276: 80 93 8e 00 sts 0x008E, r24 ; 0x80008e -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:201 - setColor(orange, true); - 27a: 60 91 75 00 lds r22, 0x0075 ; 0x800075 - 27e: 70 91 76 00 lds r23, 0x0076 ; 0x800076 - 282: 80 91 77 00 lds r24, 0x0077 ; 0x800077 - 286: f5 cf rjmp .-22 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:204 - break; - case 3: - usePWM = false; - 288: 10 92 8e 00 sts 0x008E, r1 ; 0x80008e -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:205 - setColor(green, true); - 28c: 60 91 72 00 lds r22, 0x0072 ; 0x800072 - 290: 70 91 73 00 lds r23, 0x0073 ; 0x800073 - 294: 80 91 74 00 lds r24, 0x0074 ; 0x800074 - 298: ec cf rjmp .-40 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:208 - break; - case 4: - setColor(yellow, true); - 29a: 60 91 6f 00 lds r22, 0x006F ; 0x80006f - 29e: 70 91 70 00 lds r23, 0x0070 ; 0x800070 - 2a2: 80 91 71 00 lds r24, 0x0071 ; 0x800071 - 2a6: e5 cf rjmp .-54 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:211 - break; - case 5: - setColor(red, true); - 2a8: 60 91 6c 00 lds r22, 0x006C ; 0x80006c - 2ac: 70 91 6d 00 lds r23, 0x006D ; 0x80006d - 2b0: 80 91 6e 00 lds r24, 0x006E ; 0x80006e - 2b4: de cf rjmp .-68 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:214 - break; - case 6: - setColor(blue, true); - 2b6: 60 91 69 00 lds r22, 0x0069 ; 0x800069 - 2ba: 70 91 6a 00 lds r23, 0x006A ; 0x80006a - 2be: 80 91 6b 00 lds r24, 0x006B ; 0x80006b - 2c2: d7 cf rjmp .-82 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:217 - break; - case 7: - usePWM = true; - 2c4: 81 e0 ldi r24, 0x01 ; 1 - 2c6: 80 93 8e 00 sts 0x008E, r24 ; 0x80008e -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:218 - setColor(purple, true); - 2ca: 60 91 66 00 lds r22, 0x0066 ; 0x800066 - 2ce: 70 91 67 00 lds r23, 0x0067 ; 0x800067 - 2d2: 80 91 68 00 lds r24, 0x0068 ; 0x800068 - 2d6: cd cf rjmp .-102 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:221 - break; - case 8: - setColor(indigo, true); - 2d8: 60 91 63 00 lds r22, 0x0063 ; 0x800063 - 2dc: 70 91 64 00 lds r23, 0x0064 ; 0x800064 - 2e0: 80 91 65 00 lds r24, 0x0065 ; 0x800065 - 2e4: c6 cf rjmp .-116 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:224 - break; - case 9: - setColor(grey, true); - 2e6: 60 91 60 00 lds r22, 0x0060 ; 0x800060 <__data_start> - 2ea: 70 91 61 00 lds r23, 0x0061 ; 0x800061 <__data_start+0x1> - 2ee: 80 91 62 00 lds r24, 0x0062 ; 0x800062 <__data_start+0x2> - 2f2: bf cf rjmp .-130 ; 0x272 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:227 - break; - case 10: - enabled_LED = false; - 2f4: 10 92 90 00 sts 0x0090, r1 ; 0x800090 - 2f8: 9d cf rjmp .-198 ; 0x234 - -000002fa : -loop(): -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:128 - pinMode(OPAMP, OUTPUT); - digitalWrite(OPAMP, OFF); -} - -//---- DEVICE LOOP ---- -void loop() { - 2fa: 0f 93 push r16 - 2fc: 1f 93 push r17 - 2fe: cf 93 push r28 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:131 - - // Detect and debounce button presses - if ( (millis() - lastDebounceTime) > debounceDelay) { - 300: 0f d1 rcall .+542 ; 0x520 - 302: 00 91 85 00 lds r16, 0x0085 ; 0x800085 - 306: 10 91 86 00 lds r17, 0x0086 ; 0x800086 - 30a: 20 91 87 00 lds r18, 0x0087 ; 0x800087 - 30e: 30 91 88 00 lds r19, 0x0088 ; 0x800088 - 312: 60 1b sub r22, r16 - 314: 71 0b sbc r23, r17 - 316: 82 0b sbc r24, r18 - 318: 93 0b sbc r25, r19 - 31a: 00 91 7b 00 lds r16, 0x007B ; 0x80007b - 31e: 10 91 7c 00 lds r17, 0x007C ; 0x80007c - 322: 20 91 7d 00 lds r18, 0x007D ; 0x80007d - 326: 30 91 7e 00 lds r19, 0x007E ; 0x80007e - 32a: 06 17 cp r16, r22 - 32c: 17 07 cpc r17, r23 - 32e: 28 07 cpc r18, r24 - 330: 39 07 cpc r19, r25 - 332: 08 f0 brcs .+2 ; 0x336 - 334: 4e c0 rjmp .+156 ; 0x3d2 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:134 - - //Button A: - bool pressed_btnA = !digitalRead(btnA); - 336: 89 e0 ldi r24, 0x09 ; 9 - 338: 0a d2 rcall .+1044 ; 0x74e - 33a: c1 e0 ldi r28, 0x01 ; 1 - 33c: 00 97 sbiw r24, 0x00 ; 0 - 33e: 09 f0 breq .+2 ; 0x342 - 340: c0 e0 ldi r28, 0x00 ; 0 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:135 - if (pressed_btnA != last_btnA ) { - 342: 20 91 93 00 lds r18, 0x0093 ; 0x800093 - 346: 2c 17 cp r18, r28 - 348: 69 f0 breq .+26 ; 0x364 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:136 - if (pressed_btnA == true) { - 34a: 89 2b or r24, r25 - 34c: 49 f4 brne .+18 ; 0x360 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:137 - counterA++; - 34e: 80 91 96 00 lds r24, 0x0096 ; 0x800096 - 352: 8f 5f subi r24, 0xFF ; 255 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:138 - if (counterA > 10)counterA = 1; - 354: 8b 30 cpi r24, 0x0B ; 11 - 356: 08 f0 brcs .+2 ; 0x35a - 358: 74 c0 rjmp .+232 ; 0x442 <__LOCK_REGION_LENGTH__+0x42> -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:138 (discriminator 1) - 35a: 80 93 96 00 sts 0x0096, r24 ; 0x800096 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:139 (discriminator 1) - pressButton_A(); - 35e: 66 df rcall .-308 ; 0x22c -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:141 - } - last_btnA = pressed_btnA; - 360: c0 93 93 00 sts 0x0093, r28 ; 0x800093 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:145 - } - - //Button B: - bool pressed_btnB = !digitalRead(btnB); - 364: 88 e0 ldi r24, 0x08 ; 8 - 366: f3 d1 rcall .+998 ; 0x74e - 368: c1 e0 ldi r28, 0x01 ; 1 - 36a: 00 97 sbiw r24, 0x00 ; 0 - 36c: 09 f0 breq .+2 ; 0x370 - 36e: c0 e0 ldi r28, 0x00 ; 0 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:146 - if (pressed_btnB != last_btnB ) { - 370: 20 91 92 00 lds r18, 0x0092 ; 0x800092 - 374: 2c 17 cp r18, r28 - 376: 69 f0 breq .+26 ; 0x392 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:147 - if (pressed_btnB == true) { - 378: 89 2b or r24, r25 - 37a: 49 f4 brne .+18 ; 0x38e -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:148 - counterB++; - 37c: 80 91 95 00 lds r24, 0x0095 ; 0x800095 - 380: 8f 5f subi r24, 0xFF ; 255 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:149 - if (counterB > 2)counterB = 1; - 382: 83 30 cpi r24, 0x03 ; 3 - 384: 08 f0 brcs .+2 ; 0x388 - 386: 5f c0 rjmp .+190 ; 0x446 <__LOCK_REGION_LENGTH__+0x46> -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:149 (discriminator 1) - 388: 80 93 95 00 sts 0x0095, r24 ; 0x800095 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:150 (discriminator 1) - pressButton_B(); - 38c: b2 de rcall .-668 ; 0xf2 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:152 - } - last_btnB = pressed_btnB; - 38e: c0 93 92 00 sts 0x0092, r28 ; 0x800092 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:156 - } - - //Button C: - bool pressed_btnC = !digitalRead(btnC); - 392: 8d e0 ldi r24, 0x0D ; 13 - 394: dc d1 rcall .+952 ; 0x74e - 396: c1 e0 ldi r28, 0x01 ; 1 - 398: 00 97 sbiw r24, 0x00 ; 0 - 39a: 09 f0 breq .+2 ; 0x39e - 39c: c0 e0 ldi r28, 0x00 ; 0 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:157 - if (pressed_btnC != last_btnC ) { - 39e: 20 91 91 00 lds r18, 0x0091 ; 0x800091 - 3a2: 2c 17 cp r18, r28 - 3a4: 69 f0 breq .+26 ; 0x3c0 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:158 - if (pressed_btnC == true) { - 3a6: 89 2b or r24, r25 - 3a8: 49 f4 brne .+18 ; 0x3bc -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:159 - counterC++; - 3aa: 80 91 94 00 lds r24, 0x0094 ; 0x800094 - 3ae: 8f 5f subi r24, 0xFF ; 255 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:160 - if (counterC > 2)counterC = 1; - 3b0: 83 30 cpi r24, 0x03 ; 3 - 3b2: 08 f0 brcs .+2 ; 0x3b6 - 3b4: 4a c0 rjmp .+148 ; 0x44a <__LOCK_REGION_LENGTH__+0x4a> -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:160 (discriminator 1) - 3b6: 80 93 94 00 sts 0x0094, r24 ; 0x800094 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:161 (discriminator 1) - pressButton_C(); - 3ba: d3 de rcall .-602 ; 0x162 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:163 - } - last_btnC = pressed_btnC; - 3bc: c0 93 91 00 sts 0x0091, r28 ; 0x800091 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:165 - } - lastDebounceTime = millis(); //set the current time - 3c0: af d0 rcall .+350 ; 0x520 - 3c2: 60 93 85 00 sts 0x0085, r22 ; 0x800085 - 3c6: 70 93 86 00 sts 0x0086, r23 ; 0x800086 - 3ca: 80 93 87 00 sts 0x0087, r24 ; 0x800087 - 3ce: 90 93 88 00 sts 0x0088, r25 ; 0x800088 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:168 - } - - showColor(); - 3d2: 11 df rcall .-478 ; 0x1f6 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:171 - - //Counts up and turns UV LED off after 1min - if (countDelay == true) { - 3d4: 80 91 8d 00 lds r24, 0x008D ; 0x80008d - 3d8: 88 23 and r24, r24 - 3da: c9 f1 breq .+114 ; 0x44e <__LOCK_REGION_LENGTH__+0x4e> -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:172 - delayCount++; - 3dc: 80 91 89 00 lds r24, 0x0089 ; 0x800089 - 3e0: 90 91 8a 00 lds r25, 0x008A ; 0x80008a - 3e4: a0 91 8b 00 lds r26, 0x008B ; 0x80008b - 3e8: b0 91 8c 00 lds r27, 0x008C ; 0x80008c - 3ec: 01 96 adiw r24, 0x01 ; 1 - 3ee: a1 1d adc r26, r1 - 3f0: b1 1d adc r27, r1 - 3f2: 80 93 89 00 sts 0x0089, r24 ; 0x800089 - 3f6: 90 93 8a 00 sts 0x008A, r25 ; 0x80008a - 3fa: a0 93 8b 00 sts 0x008B, r26 ; 0x80008b - 3fe: b0 93 8c 00 sts 0x008C, r27 ; 0x80008c -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:173 - counterB = 1; - 402: 81 e0 ldi r24, 0x01 ; 1 - 404: 80 93 95 00 sts 0x0095, r24 ; 0x800095 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:176 - } - else delayCount = 0; - if (delayCount > 1200000) { - 408: 80 91 89 00 lds r24, 0x0089 ; 0x800089 - 40c: 90 91 8a 00 lds r25, 0x008A ; 0x80008a - 410: a0 91 8b 00 lds r26, 0x008B ; 0x80008b - 414: b0 91 8c 00 lds r27, 0x008C ; 0x80008c - 418: 81 38 cpi r24, 0x81 ; 129 - 41a: 9f 44 sbci r25, 0x4F ; 79 - 41c: a2 41 sbci r26, 0x12 ; 18 - 41e: b1 05 cpc r27, r1 - 420: 60 f0 brcs .+24 ; 0x43a <__LOCK_REGION_LENGTH__+0x3a> -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:178 - //Turn the UV LED off - digitalWrite(uv_LED, LOW); - 422: 60 e0 ldi r22, 0x00 ; 0 - 424: 86 e0 ldi r24, 0x06 ; 6 - 426: 4c d1 rcall .+664 ; 0x6c0 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:179 - countDelay = false; - 428: 10 92 8d 00 sts 0x008D, r1 ; 0x80008d -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:181 - //Reenable all buttons - enabled_btnAC = true; - 42c: 81 e0 ldi r24, 0x01 ; 1 - 42e: 80 93 80 00 sts 0x0080, r24 ; 0x800080 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:183 - //LED Status back to before Button B was pushed - enabled_LED = was_on_LED; - 432: 80 91 8f 00 lds r24, 0x008F ; 0x80008f - 436: 80 93 90 00 sts 0x0090, r24 ; 0x800090 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:185 - } -} - 43a: cf 91 pop r28 - 43c: 1f 91 pop r17 - 43e: 0f 91 pop r16 - 440: 08 95 ret -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:138 (discriminator 1) - //Button A: - bool pressed_btnA = !digitalRead(btnA); - if (pressed_btnA != last_btnA ) { - if (pressed_btnA == true) { - counterA++; - if (counterA > 10)counterA = 1; - 442: 81 e0 ldi r24, 0x01 ; 1 - 444: 8a cf rjmp .-236 ; 0x35a -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:149 (discriminator 1) - //Button B: - bool pressed_btnB = !digitalRead(btnB); - if (pressed_btnB != last_btnB ) { - if (pressed_btnB == true) { - counterB++; - if (counterB > 2)counterB = 1; - 446: 81 e0 ldi r24, 0x01 ; 1 - 448: 9f cf rjmp .-194 ; 0x388 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:160 (discriminator 1) - //Button C: - bool pressed_btnC = !digitalRead(btnC); - if (pressed_btnC != last_btnC ) { - if (pressed_btnC == true) { - counterC++; - if (counterC > 2)counterC = 1; - 44a: 81 e0 ldi r24, 0x01 ; 1 - 44c: b4 cf rjmp .-152 ; 0x3b6 -F:\Projects\research\trithemius\rev8\firmware\SECUND MILESTONE - CODE(finished tested video)\pocketpsithemius/pocketpsithemius.ino:175 - //Counts up and turns UV LED off after 1min - if (countDelay == true) { - delayCount++; - counterB = 1; - } - else delayCount = 0; - 44e: 10 92 89 00 sts 0x0089, r1 ; 0x800089 - 452: 10 92 8a 00 sts 0x008A, r1 ; 0x80008a - 456: 10 92 8b 00 sts 0x008B, r1 ; 0x80008b - 45a: 10 92 8c 00 sts 0x008C, r1 ; 0x80008c - 45e: d4 cf rjmp .-88 ; 0x408 <__LOCK_REGION_LENGTH__+0x8> - -00000460 : -initToneTimerInternal(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring.c:642 -PLLCSR |= PCKE; -} -#endif - #if INITIALIZE_SECONDARY_TIMERS - // Prepare the timer for PWM - initToneTimerInternal(); - 460: 8f b5 in r24, 0x2f ; 47 - 462: 80 7f andi r24, 0xF0 ; 240 - 464: 8f bd out 0x2f, r24 ; 47 - 466: 80 b7 in r24, 0x30 ; 48 - 468: 82 60 ori r24, 0x02 ; 2 - 46a: 80 bf out 0x30, r24 ; 48 - 46c: 80 b7 in r24, 0x30 ; 48 - 46e: 81 60 ori r24, 0x01 ; 1 - 470: 80 bf out 0x30, r24 ; 48 - 472: 87 b5 in r24, 0x27 ; 39 - 474: 81 60 ori r24, 0x01 ; 1 - 476: 87 bd out 0x27, r24 ; 39 - 478: 86 b5 in r24, 0x26 ; 38 - 47a: 8d 7f andi r24, 0xFD ; 253 - 47c: 86 bd out 0x26, r24 ; 38 - 47e: 86 b5 in r24, 0x26 ; 38 - 480: 81 60 ori r24, 0x01 ; 1 - 482: 86 bd out 0x26, r24 ; 38 - 484: 8f b5 in r24, 0x2f ; 47 - 486: 87 60 ori r24, 0x07 ; 7 - 488: 8f bd out 0x2f, r24 ; 47 - 48a: 08 95 ret - -0000048c <__vector_6>: -__vector_6(): - 48c: 1f 92 push r1 - 48e: 0f 92 push r0 - 490: 0f b6 in r0, 0x3f ; 63 - 492: 0f 92 push r0 - 494: 11 24 eor r1, r1 - 496: 2f 93 push r18 - 498: 3f 93 push r19 - 49a: 8f 93 push r24 - 49c: 9f 93 push r25 - 49e: af 93 push r26 - 4a0: bf 93 push r27 - 4a2: 80 91 98 00 lds r24, 0x0098 ; 0x800098 - 4a6: 90 91 99 00 lds r25, 0x0099 ; 0x800099 - 4aa: a0 91 9a 00 lds r26, 0x009A ; 0x80009a - 4ae: b0 91 9b 00 lds r27, 0x009B ; 0x80009b - 4b2: 30 91 97 00 lds r19, 0x0097 ; 0x800097 - 4b6: 23 e0 ldi r18, 0x03 ; 3 - 4b8: 23 0f add r18, r19 - 4ba: 2d 37 cpi r18, 0x7D ; 125 - 4bc: 68 f1 brcs .+90 ; 0x518 <__vector_6+0x8c> - 4be: 26 e8 ldi r18, 0x86 ; 134 - 4c0: 23 0f add r18, r19 - 4c2: 02 96 adiw r24, 0x02 ; 2 - 4c4: a1 1d adc r26, r1 - 4c6: b1 1d adc r27, r1 - 4c8: 20 93 97 00 sts 0x0097, r18 ; 0x800097 - 4cc: 80 93 98 00 sts 0x0098, r24 ; 0x800098 - 4d0: 90 93 99 00 sts 0x0099, r25 ; 0x800099 - 4d4: a0 93 9a 00 sts 0x009A, r26 ; 0x80009a - 4d8: b0 93 9b 00 sts 0x009B, r27 ; 0x80009b - 4dc: 80 91 9c 00 lds r24, 0x009C ; 0x80009c - 4e0: 90 91 9d 00 lds r25, 0x009D ; 0x80009d - 4e4: a0 91 9e 00 lds r26, 0x009E ; 0x80009e - 4e8: b0 91 9f 00 lds r27, 0x009F ; 0x80009f - 4ec: 01 96 adiw r24, 0x01 ; 1 - 4ee: a1 1d adc r26, r1 - 4f0: b1 1d adc r27, r1 - 4f2: 80 93 9c 00 sts 0x009C, r24 ; 0x80009c - 4f6: 90 93 9d 00 sts 0x009D, r25 ; 0x80009d - 4fa: a0 93 9e 00 sts 0x009E, r26 ; 0x80009e - 4fe: b0 93 9f 00 sts 0x009F, r27 ; 0x80009f - 502: bf 91 pop r27 - 504: af 91 pop r26 - 506: 9f 91 pop r25 - 508: 8f 91 pop r24 - 50a: 3f 91 pop r19 - 50c: 2f 91 pop r18 - 50e: 0f 90 pop r0 - 510: 0f be out 0x3f, r0 ; 63 - 512: 0f 90 pop r0 - 514: 1f 90 pop r1 - 516: 18 95 reti - 518: 01 96 adiw r24, 0x01 ; 1 - 51a: a1 1d adc r26, r1 - 51c: b1 1d adc r27, r1 - 51e: d4 cf rjmp .-88 ; 0x4c8 <__vector_6+0x3c> - -00000520 : -millis(): - 520: 2f b7 in r18, 0x3f ; 63 - 522: f8 94 cli - 524: 60 91 98 00 lds r22, 0x0098 ; 0x800098 - 528: 70 91 99 00 lds r23, 0x0099 ; 0x800099 - 52c: 80 91 9a 00 lds r24, 0x009A ; 0x80009a - 530: 90 91 9b 00 lds r25, 0x009B ; 0x80009b - 534: 2f bf out 0x3f, r18 ; 63 - 536: 08 95 ret - -00000538 : -delayMicroseconds(): - 538: 82 30 cpi r24, 0x02 ; 2 - 53a: 91 05 cpc r25, r1 - 53c: 38 f0 brcs .+14 ; 0x54c - 53e: 88 0f add r24, r24 - 540: 99 1f adc r25, r25 - 542: 88 0f add r24, r24 - 544: 99 1f adc r25, r25 - 546: 05 97 sbiw r24, 0x05 ; 5 - 548: 01 97 sbiw r24, 0x01 ; 1 - 54a: f1 f7 brne .-4 ; 0x548 - 54c: 08 95 ret - -0000054e : -init(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring.c:699 - } else { - OSCCAL += 5; - } - } - #endif - sei(); - 54e: 78 94 sei -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring.c:855 - #endif - - // Millis timer is always processor clock divided by MillisTimer_Prescale_Value (64) - #if (TIMER_TO_USE_FOR_MILLIS == 0) - #ifdef TCCR0B - TCCR0B = (TCCR0B & ~((1< -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring.c:893 - - // Initialize the ADC - #if defined( INITIALIZE_ANALOG_TO_DIGITAL_CONVERTER ) && INITIALIZE_ANALOG_TO_DIGITAL_CONVERTER - #if defined(ADCSRA) - // set a2d prescale factor - ADCSRA = (ADCSRA & ~((1<: -analogWrite(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:95 -// Right now, PWM output only works on the pins with -// hardware support. These are defined in the appropriate -// pins_*.c file. For the rest of the pins, we default -// to digital output. -void analogWrite(uint8_t pin, int val) -{ - 56c: 1f 93 push r17 - 56e: cf 93 push r28 - 570: df 93 push r29 - 572: 18 2f mov r17, r24 - 574: eb 01 movw r28, r22 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:101 - // We need to make sure the PWM output is enabled for those pins - // that support it, as we turn it off when digitally reading or - // writing with them. Also, make sure the pin is in output mode - // for consistenty with Wiring, which doesn't require a pinMode - // call for the analog output pins. - pinMode(pin, OUTPUT); - 576: 61 e0 ldi r22, 0x01 ; 1 - 578: 4f d0 rcall .+158 ; 0x618 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:103 - - if (val <= 0) - 57a: 1c 16 cp r1, r28 - 57c: 1d 06 cpc r1, r29 - 57e: 34 f0 brlt .+12 ; 0x58c -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:105 - { - digitalWrite(pin, LOW); - 580: 60 e0 ldi r22, 0x00 ; 0 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:109 - } - else if (val >= 255) - { - digitalWrite(pin, HIGH); - 582: 81 2f mov r24, r17 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:216 - digitalWrite(pin, HIGH); - } - } - - } -} - 584: df 91 pop r29 - 586: cf 91 pop r28 - 588: 1f 91 pop r17 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:109 - { - digitalWrite(pin, LOW); - } - else if (val >= 255) - { - digitalWrite(pin, HIGH); - 58a: 9a c0 rjmp .+308 ; 0x6c0 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:107 - - if (val <= 0) - { - digitalWrite(pin, LOW); - } - else if (val >= 255) - 58c: cf 3f cpi r28, 0xFF ; 255 - 58e: d1 05 cpc r29, r1 - 590: 14 f0 brlt .+4 ; 0x596 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:109 - { - digitalWrite(pin, HIGH); - 592: 61 e0 ldi r22, 0x01 ; 1 - 594: f6 cf rjmp .-20 ; 0x582 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:113 - } - else - { - uint8_t timer = digitalPinToTimer(pin); - 596: e1 2f mov r30, r17 - 598: f0 e0 ldi r31, 0x00 ; 0 - 59a: ea 5d subi r30, 0xDA ; 218 - 59c: ff 4f sbci r31, 0xFF ; 255 - 59e: e4 91 lpm r30, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:150 - OCR1A = val; // set pwm duty - } else - #endif - - #if defined(TCCR1E) //Tiny861 - if( timer == TIMER1A){ - 5a0: e3 30 cpi r30, 0x03 ; 3 - 5a2: 59 f4 brne .+22 ; 0x5ba -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:152 - // connect pwm to pin on timer 1, channel A - cbi(TCCR1C,COM1A1S); - 5a4: 87 b5 in r24, 0x27 ; 39 - 5a6: 8f 77 andi r24, 0x7F ; 127 - 5a8: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:153 - sbi(TCCR1C,COM1A0S); - 5aa: 87 b5 in r24, 0x27 ; 39 - 5ac: 80 64 ori r24, 0x40 ; 64 - 5ae: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:155 - //sbi(TCCR1A,PWM1A); - OCR1A = val; // set pwm duty - 5b0: cd bd out 0x2d, r28 ; 45 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:216 - digitalWrite(pin, HIGH); - } - } - - } -} - 5b2: df 91 pop r29 - 5b4: cf 91 pop r28 - 5b6: 1f 91 pop r17 - 5b8: 08 95 ret -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:156 - // connect pwm to pin on timer 1, channel A - cbi(TCCR1C,COM1A1S); - sbi(TCCR1C,COM1A0S); - //sbi(TCCR1A,PWM1A); - OCR1A = val; // set pwm duty - } else if (timer == TIMER1B){ - 5ba: e4 30 cpi r30, 0x04 ; 4 - 5bc: 41 f4 brne .+16 ; 0x5ce -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:158 - // connect pwm to pin on timer 1, channel A - cbi(TCCR1C,COM1B1S); - 5be: 87 b5 in r24, 0x27 ; 39 - 5c0: 8f 7d andi r24, 0xDF ; 223 - 5c2: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:159 - sbi(TCCR1C,COM1B0S); - 5c4: 87 b5 in r24, 0x27 ; 39 - 5c6: 80 61 ori r24, 0x10 ; 16 - 5c8: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:161 - //sbi(TCCR1A,PWM1B); - OCR1B = val; // set pwm duty - 5ca: cc bd out 0x2c, r28 ; 44 - 5cc: f2 cf rjmp .-28 ; 0x5b2 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:162 - } else if (timer == TIMER1D){ - 5ce: e5 30 cpi r30, 0x05 ; 5 - 5d0: 41 f4 brne .+16 ; 0x5e2 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:164 - // connect pwm to pin on timer 1, channel A - cbi(TCCR1C,COM1D1); - 5d2: 87 b5 in r24, 0x27 ; 39 - 5d4: 87 7f andi r24, 0xF7 ; 247 - 5d6: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:165 - sbi(TCCR1C,COM1D0); - 5d8: 87 b5 in r24, 0x27 ; 39 - 5da: 84 60 ori r24, 0x04 ; 4 - 5dc: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:167 - //sbi(TCCR1A,PWM1D); - OCR1D = val; // set pwm duty - 5de: ca bd out 0x2a, r28 ; 42 - 5e0: e8 cf rjmp .-48 ; 0x5b2 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_analog.c:205 - OCR1B = val; // set pwm duty - } else - #endif - - { - if (val < 128) - 5e2: c0 38 cpi r28, 0x80 ; 128 - 5e4: d1 05 cpc r29, r1 - 5e6: ac f6 brge .-86 ; 0x592 - 5e8: cb cf rjmp .-106 ; 0x580 - -000005ea : -turnOffPWM(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:81 - //cbi(TCCR0A, COM0B0); - } else - #endif - - #if defined(TCCR1A) && defined(COM1A1) - if( timer == TIMER1A){ - 5ea: 83 30 cpi r24, 0x03 ; 3 - 5ec: 21 f4 brne .+8 ; 0x5f6 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:82 - cbi(TCCR1A, COM1A1); - 5ee: 80 b7 in r24, 0x30 ; 48 - 5f0: 8f 77 andi r24, 0x7F ; 127 - 5f2: 80 bf out 0x30, r24 ; 48 - 5f4: 08 95 ret -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:92 - if( timer == TIMER1A){ - // disconnect pwm to pin on timer 1, channel A - cbi(TCCR1C,COM1A1S); - cbi(TCCR1C,COM1A0S); - //cbi(TCCR1A,PWM1A); - } else if (timer == TIMER1B){ - 5f6: 84 30 cpi r24, 0x04 ; 4 - 5f8: 39 f4 brne .+14 ; 0x608 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:94 - // disconnect pwm to pin on timer 1, channel B - cbi(TCCR1C,COM1B1S); - 5fa: 87 b5 in r24, 0x27 ; 39 - 5fc: 8f 7d andi r24, 0xDF ; 223 - 5fe: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:95 - cbi(TCCR1C,COM1B0S); - 600: 87 b5 in r24, 0x27 ; 39 - 602: 8f 7e andi r24, 0xEF ; 239 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:100 - //cbi(TCCR1A,PWM1B); - } else if (timer == TIMER1D){ - // disconnect pwm to pin on timer 1, channel D - cbi(TCCR1C,COM1D1); - cbi(TCCR1C,COM1D0); - 604: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:134 - #endif - - { - } - -} - 606: 08 95 ret -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:97 - } else if (timer == TIMER1B){ - // disconnect pwm to pin on timer 1, channel B - cbi(TCCR1C,COM1B1S); - cbi(TCCR1C,COM1B0S); - //cbi(TCCR1A,PWM1B); - } else if (timer == TIMER1D){ - 608: 85 30 cpi r24, 0x05 ; 5 - 60a: e9 f7 brne .-6 ; 0x606 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:99 - // disconnect pwm to pin on timer 1, channel D - cbi(TCCR1C,COM1D1); - 60c: 87 b5 in r24, 0x27 ; 39 - 60e: 87 7f andi r24, 0xF7 ; 247 - 610: 87 bd out 0x27, r24 ; 39 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:100 - cbi(TCCR1C,COM1D0); - 612: 87 b5 in r24, 0x27 ; 39 - 614: 8b 7f andi r24, 0xFB ; 251 - 616: f6 cf rjmp .-20 ; 0x604 - -00000618 : -pinMode(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:33 -#define ARDUINO_MAIN -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - 618: cf 93 push r28 - 61a: df 93 push r29 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:34 - if (pin&128) {pin=analogInputToDigitalPin((pin&127));} - 61c: 87 ff sbrs r24, 7 - 61e: 0c c0 rjmp .+24 ; 0x638 - 620: 8f 77 andi r24, 0x7F ; 127 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:34 (discriminator 1) - 622: 83 30 cpi r24, 0x03 ; 3 - 624: 48 f0 brcs .+18 ; 0x638 - 626: 28 2f mov r18, r24 - 628: 30 e0 ldi r19, 0x00 ; 0 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:34 (discriminator 3) - 62a: a9 01 movw r20, r18 - 62c: 43 50 subi r20, 0x03 ; 3 - 62e: 51 09 sbc r21, r1 - 630: 44 30 cpi r20, 0x04 ; 4 - 632: 51 05 cpc r21, r1 - 634: 40 f5 brcc .+80 ; 0x686 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:34 (discriminator 5) - 636: 89 5f subi r24, 0xF9 ; 249 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:35 - uint8_t bit = digitalPinToBitMask(pin); - 638: 90 e0 ldi r25, 0x00 ; 0 - 63a: fc 01 movw r30, r24 - 63c: ea 5c subi r30, 0xCA ; 202 - 63e: ff 4f sbci r31, 0xFF ; 255 - 640: 24 91 lpm r18, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:36 - uint8_t port = digitalPinToPort(pin); - 642: 8a 5b subi r24, 0xBA ; 186 - 644: 9f 4f sbci r25, 0xFF ; 255 - 646: fc 01 movw r30, r24 - 648: 84 91 lpm r24, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:39 - volatile uint8_t *reg, *out; - - if (port == NOT_A_PIN) return; - 64a: 88 23 and r24, r24 - 64c: c9 f0 breq .+50 ; 0x680 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:41 - - reg = portModeRegister(port); - 64e: 90 e0 ldi r25, 0x00 ; 0 - 650: 88 0f add r24, r24 - 652: 99 1f adc r25, r25 - 654: fc 01 movw r30, r24 - 656: ee 59 subi r30, 0x9E ; 158 - 658: ff 4f sbci r31, 0xFF ; 255 - 65a: a5 91 lpm r26, Z+ - 65c: b4 91 lpm r27, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:42 - out = portOutputRegister(port); - 65e: fc 01 movw r30, r24 - 660: e4 5a subi r30, 0xA4 ; 164 - 662: ff 4f sbci r31, 0xFF ; 255 - 664: c5 91 lpm r28, Z+ - 666: d4 91 lpm r29, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:44 - - if (mode == INPUT) { - 668: 61 11 cpse r22, r1 - 66a: 17 c0 rjmp .+46 ; 0x69a -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:45 - uint8_t oldSREG = SREG; - 66c: 9f b7 in r25, 0x3f ; 63 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:46 - cli(); - 66e: f8 94 cli -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:47 - *reg &= ~bit; - 670: 8c 91 ld r24, X - 672: 20 95 com r18 - 674: 82 23 and r24, r18 - 676: 8c 93 st X, r24 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:48 - *out &= ~bit; - 678: 88 81 ld r24, Y - 67a: 28 23 and r18, r24 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:54 - SREG = oldSREG; - } else if (mode == INPUT_PULLUP) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out |= bit; - 67c: 28 83 st Y, r18 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:55 - SREG = oldSREG; - 67e: 9f bf out 0x3f, r25 ; 63 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:62 - uint8_t oldSREG = SREG; - cli(); - *reg |= bit; - SREG = oldSREG; - } -} - 680: df 91 pop r29 - 682: cf 91 pop r28 - 684: 08 95 ret -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:34 (discriminator 6) -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - if (pin&128) {pin=analogInputToDigitalPin((pin&127));} - 686: 27 50 subi r18, 0x07 ; 7 - 688: 31 09 sbc r19, r1 - 68a: 9c e0 ldi r25, 0x0C ; 12 - 68c: 98 1b sub r25, r24 - 68e: 89 2f mov r24, r25 - 690: 23 30 cpi r18, 0x03 ; 3 - 692: 31 05 cpc r19, r1 - 694: 88 f2 brcs .-94 ; 0x638 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:34 - 696: 8f ef ldi r24, 0xFF ; 255 - 698: cf cf rjmp .-98 ; 0x638 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:50 - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out &= ~bit; - SREG = oldSREG; - } else if (mode == INPUT_PULLUP) { - 69a: 62 30 cpi r22, 0x02 ; 2 - 69c: 51 f4 brne .+20 ; 0x6b2 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:51 - uint8_t oldSREG = SREG; - 69e: 9f b7 in r25, 0x3f ; 63 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:52 - cli(); - 6a0: f8 94 cli -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:53 - *reg &= ~bit; - 6a2: 3c 91 ld r19, X - 6a4: 82 2f mov r24, r18 - 6a6: 80 95 com r24 - 6a8: 83 23 and r24, r19 - 6aa: 8c 93 st X, r24 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:54 - *out |= bit; - 6ac: e8 81 ld r30, Y - 6ae: 2e 2b or r18, r30 - 6b0: e5 cf rjmp .-54 ; 0x67c -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:57 - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - 6b2: 8f b7 in r24, 0x3f ; 63 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:58 - cli(); - 6b4: f8 94 cli -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:59 - *reg |= bit; - 6b6: ec 91 ld r30, X - 6b8: 2e 2b or r18, r30 - 6ba: 2c 93 st X, r18 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:60 - SREG = oldSREG; - 6bc: 8f bf out 0x3f, r24 ; 63 - 6be: e0 cf rjmp .-64 ; 0x680 - -000006c0 : -digitalWrite(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:137 - } - -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - 6c0: 1f 93 push r17 - 6c2: cf 93 push r28 - 6c4: df 93 push r29 - 6c6: 16 2f mov r17, r22 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:138 - if (pin&128) {pin=analogInputToDigitalPin((pin&127));} - 6c8: 87 ff sbrs r24, 7 - 6ca: 0c c0 rjmp .+24 ; 0x6e4 - 6cc: 8f 77 andi r24, 0x7F ; 127 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:138 (discriminator 1) - 6ce: 83 30 cpi r24, 0x03 ; 3 - 6d0: 48 f0 brcs .+18 ; 0x6e4 - 6d2: 28 2f mov r18, r24 - 6d4: 30 e0 ldi r19, 0x00 ; 0 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:138 (discriminator 3) - 6d6: a9 01 movw r20, r18 - 6d8: 43 50 subi r20, 0x03 ; 3 - 6da: 51 09 sbc r21, r1 - 6dc: 44 30 cpi r20, 0x04 ; 4 - 6de: 51 05 cpc r21, r1 - 6e0: 40 f5 brcc .+80 ; 0x732 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:138 (discriminator 5) - 6e2: 89 5f subi r24, 0xF9 ; 249 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:139 - uint8_t timer = digitalPinToTimer(pin); - 6e4: 28 2f mov r18, r24 - 6e6: 30 e0 ldi r19, 0x00 ; 0 - 6e8: f9 01 movw r30, r18 - 6ea: ea 5d subi r30, 0xDA ; 218 - 6ec: ff 4f sbci r31, 0xFF ; 255 - 6ee: 84 91 lpm r24, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:140 - uint8_t bit = digitalPinToBitMask(pin); - 6f0: f9 01 movw r30, r18 - 6f2: ea 5c subi r30, 0xCA ; 202 - 6f4: ff 4f sbci r31, 0xFF ; 255 - 6f6: d4 91 lpm r29, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:141 - uint8_t port = digitalPinToPort(pin); - 6f8: f9 01 movw r30, r18 - 6fa: ea 5b subi r30, 0xBA ; 186 - 6fc: ff 4f sbci r31, 0xFF ; 255 - 6fe: c4 91 lpm r28, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:144 - volatile uint8_t *out; - - if (port == NOT_A_PIN) return; - 700: cc 23 and r28, r28 - 702: 99 f0 breq .+38 ; 0x72a -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:148 - - // If the pin that support PWM output, we need to turn it off - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - 704: 81 11 cpse r24, r1 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:148 (discriminator 1) - 706: 71 df rcall .-286 ; 0x5ea -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:150 - - out = portOutputRegister(port); - 708: ec 2f mov r30, r28 - 70a: f0 e0 ldi r31, 0x00 ; 0 - 70c: ee 0f add r30, r30 - 70e: ff 1f adc r31, r31 - 710: e4 5a subi r30, 0xA4 ; 164 - 712: ff 4f sbci r31, 0xFF ; 255 - 714: a5 91 lpm r26, Z+ - 716: b4 91 lpm r27, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:153 - - if (val == LOW) { - uint8_t oldSREG = SREG; - 718: 8f b7 in r24, 0x3f ; 63 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:152 - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - out = portOutputRegister(port); - - if (val == LOW) { - 71a: 11 11 cpse r17, r1 - 71c: 14 c0 rjmp .+40 ; 0x746 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:154 - uint8_t oldSREG = SREG; - cli(); - 71e: f8 94 cli -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:155 - *out &= ~bit; - 720: ec 91 ld r30, X - 722: d0 95 com r29 - 724: de 23 and r29, r30 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:160 - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - cli(); - *out |= bit; - 726: dc 93 st X, r29 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:161 - SREG = oldSREG; - 728: 8f bf out 0x3f, r24 ; 63 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:163 - } -} - 72a: df 91 pop r29 - 72c: cf 91 pop r28 - 72e: 1f 91 pop r17 - 730: 08 95 ret -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:138 (discriminator 6) - -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - if (pin&128) {pin=analogInputToDigitalPin((pin&127));} - 732: 27 50 subi r18, 0x07 ; 7 - 734: 31 09 sbc r19, r1 - 736: 9c e0 ldi r25, 0x0C ; 12 - 738: 98 1b sub r25, r24 - 73a: 89 2f mov r24, r25 - 73c: 23 30 cpi r18, 0x03 ; 3 - 73e: 31 05 cpc r19, r1 - 740: 88 f2 brcs .-94 ; 0x6e4 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:138 - 742: 8f ef ldi r24, 0xFF ; 255 - 744: cf cf rjmp .-98 ; 0x6e4 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:159 - cli(); - *out &= ~bit; - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - cli(); - 746: f8 94 cli -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:160 - *out |= bit; - 748: ec 91 ld r30, X - 74a: de 2b or r29, r30 - 74c: ec cf rjmp .-40 ; 0x726 - -0000074e : -digitalRead(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:166 - SREG = oldSREG; - } -} - -int digitalRead(uint8_t pin) -{ - 74e: cf 93 push r28 - 750: df 93 push r29 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:167 - if (pin&128) {pin=analogInputToDigitalPin((pin&127));} - 752: 87 ff sbrs r24, 7 - 754: 0c c0 rjmp .+24 ; 0x76e - 756: 8f 77 andi r24, 0x7F ; 127 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:167 (discriminator 1) - 758: 83 30 cpi r24, 0x03 ; 3 - 75a: 48 f0 brcs .+18 ; 0x76e - 75c: 28 2f mov r18, r24 - 75e: 30 e0 ldi r19, 0x00 ; 0 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:167 (discriminator 3) - 760: a9 01 movw r20, r18 - 762: 43 50 subi r20, 0x03 ; 3 - 764: 51 09 sbc r21, r1 - 766: 44 30 cpi r20, 0x04 ; 4 - 768: 51 05 cpc r21, r1 - 76a: 20 f5 brcc .+72 ; 0x7b4 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:167 (discriminator 5) - 76c: 89 5f subi r24, 0xF9 ; 249 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:168 - uint8_t timer = digitalPinToTimer(pin); - 76e: 28 2f mov r18, r24 - 770: 30 e0 ldi r19, 0x00 ; 0 - 772: f9 01 movw r30, r18 - 774: ea 5d subi r30, 0xDA ; 218 - 776: ff 4f sbci r31, 0xFF ; 255 - 778: 84 91 lpm r24, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:169 - uint8_t bit = digitalPinToBitMask(pin); - 77a: f9 01 movw r30, r18 - 77c: ea 5c subi r30, 0xCA ; 202 - 77e: ff 4f sbci r31, 0xFF ; 255 - 780: d4 91 lpm r29, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:170 - uint8_t port = digitalPinToPort(pin); - 782: f9 01 movw r30, r18 - 784: ea 5b subi r30, 0xBA ; 186 - 786: ff 4f sbci r31, 0xFF ; 255 - 788: c4 91 lpm r28, Z -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:172 - - if (port == NOT_A_PIN) return LOW; - 78a: cc 23 and r28, r28 - 78c: e9 f0 breq .+58 ; 0x7c8 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:176 - - // If the pin that support PWM output, we need to turn it off - // before getting a digital reading. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - 78e: 81 11 cpse r24, r1 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:176 (discriminator 1) - 790: 2c df rcall .-424 ; 0x5ea -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:178 - - if (*portInputRegister(port) & bit) return HIGH; - 792: ec 2f mov r30, r28 - 794: f0 e0 ldi r31, 0x00 ; 0 - 796: ee 0f add r30, r30 - 798: ff 1f adc r31, r31 - 79a: ea 5a subi r30, 0xAA ; 170 - 79c: ff 4f sbci r31, 0xFF ; 255 - 79e: a5 91 lpm r26, Z+ - 7a0: b4 91 lpm r27, Z - 7a2: ec 91 ld r30, X - 7a4: ed 23 and r30, r29 - 7a6: 81 e0 ldi r24, 0x01 ; 1 - 7a8: 90 e0 ldi r25, 0x00 ; 0 - 7aa: 09 f4 brne .+2 ; 0x7ae - 7ac: 80 e0 ldi r24, 0x00 ; 0 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:180 - return LOW; -} - 7ae: df 91 pop r29 - 7b0: cf 91 pop r28 - 7b2: 08 95 ret -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:167 (discriminator 6) - } -} - -int digitalRead(uint8_t pin) -{ - if (pin&128) {pin=analogInputToDigitalPin((pin&127));} - 7b4: 27 50 subi r18, 0x07 ; 7 - 7b6: 31 09 sbc r19, r1 - 7b8: 9c e0 ldi r25, 0x0C ; 12 - 7ba: 98 1b sub r25, r24 - 7bc: 89 2f mov r24, r25 - 7be: 23 30 cpi r18, 0x03 ; 3 - 7c0: 31 05 cpc r19, r1 - 7c2: a8 f2 brcs .-86 ; 0x76e -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:167 - 7c4: 8f ef ldi r24, 0xFF ; 255 - 7c6: d3 cf rjmp .-90 ; 0x76e -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/wiring_digital.c:172 - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - - if (port == NOT_A_PIN) return LOW; - 7c8: 80 e0 ldi r24, 0x00 ; 0 - 7ca: 90 e0 ldi r25, 0x00 ; 0 - 7cc: f0 cf rjmp .-32 ; 0x7ae - -000007ce
: -main(): -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/main.cpp:6 -#include - -int main(void) -{ - #ifdef TUNED_OSCCAL_VALUE - OSCCAL = TUNED_OSCCAL_VALUE; //set the oscillator calibration value based on the pins_arduino.h file. If this is not set, it will be optimised away - 7ce: 81 b7 in r24, 0x31 ; 49 - 7d0: 81 bf out 0x31, r24 ; 49 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/main.cpp:8 - #endif - init(); - 7d2: bd de rcall .-646 ; 0x54e -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/main.cpp:10 - - setup(); - 7d4: 6f dc rcall .-1826 ; 0xb4 -C:\Users\flux\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/main.cpp:13 (discriminator 1) - - for (;;) - loop(); - 7d6: 91 dd rcall .-1246 ; 0x2fa - 7d8: fe cf rjmp .-4 ; 0x7d6 - -000007da <_exit>: -exit(): -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2278 - 7da: f8 94 cli - -000007dc <__stop_program>: -__stop_program(): -/home/jenkins-mingw32/workspace/avr-gcc-staging/label/Ubuntu14.04x64-mingw32/gcc-build/avr/avr25/tiny-stack/libgcc/../../../../../gcc/libgcc/config/avr/lib1funcs.S:2280 - 7dc: ff cf rjmp .-2 ; 0x7dc <__stop_program>