From a2d124bf46c95fae218fd03b6aaf56616a32efd9 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Mon, 1 Apr 2013 16:50:20 +0000 Subject: [PATCH] 20130401-185013 --- Sender/Sender/Debug/Sender.elf | Bin 20390 -> 20418 bytes Sender/Sender/Debug/Sender.hex | 93 +++--- Sender/Sender/Debug/Sender.lss | 495 ++++++++++++++++---------------- Sender/Sender/Debug/Sender.map | 143 ++++----- Sender/Sender/Debug/Sender.srec | 93 +++--- Sender/Sender/Sender.c | 5 +- 6 files changed, 422 insertions(+), 407 deletions(-) diff --git a/Sender/Sender/Debug/Sender.elf b/Sender/Sender/Debug/Sender.elf index f0fbfabbaa322fb43cb5a733990e81d8a8cddc89..e9fb759cac2a41d990b1ec9e76bd89b7ca7dd09b 100644 GIT binary patch delta 2344 zcmYjS4Qx}_6~4zWPHZ4xm*%gI9j_)yOHAyBvXLm{#|hYRTS5zjQcA~Ypin`nHoBE= zvYmh!Xl+Px5(EMkaMcD-Ct%jJ7PYF|(kiP&OI50=C=o9aOG#j%3>Yk<>Aqvk@RiPa z-}jw!?!E86d+&R@hd%D1b|-D<_=#(NpGhe(qf&~J_N-Z{RVtFuebB_xQ{sO_Jc_uO zG*ib;J00lgEp%PHd`maPjqRD8(TWop-`=$7(b3~N#qFI(!3S@i`TEh0D_7|t50Z^u zj{QK_$S`Fj_AkwCFkBvqIn(ngyeLlb8RsJdJ6wY|TL)Ua=Ij3Wi~4(K`aB;kqIk~v zUnL^13~cqD_xyiJzY z!W7+=qUWXPMWVZs1(_*A~*dH0%t^dBiMPH@+^|k$xi`_%J`Xl;U{aF8N z1Ec3(?b>yv{ky2%vZ%f0V9nr76<4Z^KQw(~QijBOt5}zLNd{lA%%vi>TWwUv<<|V~;ot%1XC4){{HJ<70$!V~Ul0>wZL`ckI^j^^@cjvrF zRh_wZs%A%SHa)>}ato=JSHSzY1-_np;pg*dct2l*4{%;yA>O$f{xMzyzmWfsm%sR_ zf2S$ch3&c*h_07R%_}U^%Z~2DC)zhoHH+0A0wmu2<9~>J6y({RzMe)r%)R z&Ex2OIXfSyq-S{L1BLWFZ-sB>BT!!8Vc>N<#a2n{xxrRQFYzY$P26oOr(g4zwt2LL zGxKMM!!oOd8A@Hpd3!wDclE^FcZu$Yj^?1V z@->c;bUOyy4t)>OEqg#dhsk@rClyaFog@`g$t@M1Nb)#L>vS3lXuD`%P!$qHEW-pP zkPe(BpDZ6jDU8nL{T37}+~>0-M84lXLWg<6o;?$XK@~nHJ!MUxkc`@XDCX(Fh3O(^ zXGs@EEy`7n9`iVQk%5AI(D}u*!y3A!*Rke7Xl)7Y{e<=?UZ)M(DQIWS-+-M0>yr%2 zg+#_mnKGsxP<+UFI^$MC9E*8e6X|p|Ryy;S6rNWQIjS9_678!{d7BmmI3L=ly+!3( ze`v5->j4-FeVPpXwOQMbjDH|w9|FUnubZ_45H5s{AW)6~O78Y?2*MeZ-nXw!%Qe}x z4Pjfp)?E77`FgI@~SwQed&GicL}q!Gro*J`hpXnPU*4xzmm;7Ta$ zXj@jPwbD|gO)p2)j`UIT3D=O;ZuQuav-tS{RJXt; ze#`AH4LDt%2}hu*!0lM$p4q%?V~yj->29anX(^}(R8%+|NPisZ%7Bsz{=pr=#Sxm- zfzxFv?Zu7qZs|eXD9b&w=*=BoL)J;Gb?sDbKfbA20&`yVUaKG1rYrm*J(EJzYfz``U+6R;>ri~^oYl5_z} zk|aYwQ<9hjJe?$F0nN`O*(3qaCdp(0&n3we0jrWEQ^4vZnJS<;Nu~)HN)pT6ci91< zEB4bGAMtN$v#5{XsC60Thw9_M)E1bdDx&1~Y2txe7yg6fE2a(nF#IikGU2!QiVf3d zaMV|1v^}KM@A$OOMSJ)vg87_RS8V+69HrLq{5lt{;`MdK7^0)D*l>S6pR6mwJvmtS z7)4{V>W@*l2Iu5XBee}+ZVKNG{&EU`8@wrnzYG576#h5xXbL|EemsR=0{<+9k1NG1 z7Ca&gu)sr;_=5$FG{%|!YA8?m3+O0s^cPs=%D^^JR($*008u{R|B|A-F)*7>@}WS< zWVu3cDImkZe-9K|WdWsGP+`GAALq=5MqK?X8yc;0o7{|TIEk&M~fnYpw1|)zmueh zNErtcPK!G20y<-%yJeS}QFI11y1J{*=&pj!R9pKhjL^ae3Y5+cqTdORC2!`O`+eUz z=f0bF|MKB(>e@{a7d1t%bJu>9u9TQnDMhB;Zd0mRg%f%OG_lmAcpKuKh>OXS8Eth^ zM|5wY``D>5!xFbfGI#Wp_onq-up2$Y2MmfkcXTi4O&hxK#o@B(>7QvA4^bXH9Q&2d zl7&WMzi5xeGBgr%rRGy;ah&4Q2g3tf-9r~P4YYV|=W62*8VCRTN$Ceo6weuaED_l_ z@T|A@%w})yxlP{g^VawlZ{L}%-j?&z<1ds(jEi)7*>8>04A--pm+x-8NcK(cB;B2) z=OpPfL@zK4GLix_lM49zv>7GG2Ex%U6~5kkPTCjm33Hcn$L%}1lye|#tTd{PFxrUW z8TK00BV3m5p%K0(y>$L9{ox;W8m;{;Mzawx*7S!@wEqz84;!nE-u`C>Mh2f~d+~JS z_-jT>Q>1E7)zAeMS85*rGyUt>9^2A19<$G*X*|b~MPV1gh|E=_%_H3dyQpg<_ioT$n0yc9wKu)t$U}>TcT@ zdXX3T`GD(-iTgCVrEU1;erVeg+M$G2hM%(yS{&LD>tV1s_qe{YA4^34gx^jB0 zuFuoP65^>?rTbDUeHB|c`%wxlCgPk{ zdX2MEKUJ)w_ky1eI(3waQ!F~WJB4&#&{?gYDAw%=okXY|FE|?vP2IktLSItLkT#_p zX+I%!QI$*8$Dn6GFR6gu6zXt2g8dh`k~hFn&m>2g6FE)y)j=&4xP;&Ic<7IO%yZqi zB@mPa;#{6MCya9;GAD`yV_L~x92lRK?7@Mtu5=EOioN6|OV(TXpw$y}CnilTg?TXN z4ZOc>g+rFjcqn3`j>fX)p3J~jrOGl|!1F2>gb+zQ3o*Y{Fs-nX1o%v%1vHo>MZhg4 zu?kphl2idrCP@=;n@Q3IEH#Nuz;cs}Tb^=8LQ!MYG%+({WtMd`Uiz7us<$8q&5T0OX54h*C+8V@Y|C3 z+u(ms;-7-=O5)#w_ayO?;2$RO|0%_f`>&Ue;x8q|ef~yVaI*rHP}T+tsGC~@1r9kJ zuwIk{>)|3mC%+T;4|Q^D-CTN$->oaoki!DoUo!Y?U7_R3KMFf4?AX?$JgdGDSHqL_ yjSe|C e: 26 c0 rjmp .+76 ; 0x5c <__bad_interrupt> 10: 25 c0 rjmp .+74 ; 0x5c <__bad_interrupt> - 12: 9b c3 rjmp .+1846 ; 0x74a <__vector_9> + 12: 9d c3 rjmp .+1850 ; 0x74e <__vector_9> 14: 23 c0 rjmp .+70 ; 0x5c <__bad_interrupt> 16: 22 c0 rjmp .+68 ; 0x5c <__bad_interrupt> 18: 21 c0 rjmp .+66 ; 0x5c <__bad_interrupt> @@ -65,18 +65,18 @@ Disassembly of section .text: 32: 10 e0 ldi r17, 0x00 ; 0 34: a0 e6 ldi r26, 0x60 ; 96 36: b0 e0 ldi r27, 0x00 ; 0 - 38: e4 ec ldi r30, 0xC4 ; 196 + 38: e8 ec ldi r30, 0xC8 ; 200 3a: f8 e0 ldi r31, 0x08 ; 8 3c: 02 c0 rjmp .+4 ; 0x42 <__SREG__+0x3> 3e: 05 90 lpm r0, Z+ 40: 0d 92 st X+, r0 - 42: ac 39 cpi r26, 0x9C ; 156 + 42: a2 3a cpi r26, 0xA2 ; 162 44: b1 07 cpc r27, r17 46: d9 f7 brne .-10 ; 0x3e <__SP_H__> 00000048 <__do_clear_bss>: 48: 10 e0 ldi r17, 0x00 ; 0 - 4a: ac e9 ldi r26, 0x9C ; 156 + 4a: a2 ea ldi r26, 0xA2 ; 162 4c: b0 e0 ldi r27, 0x00 ; 0 4e: 01 c0 rjmp .+2 ; 0x52 <.do_clear_bss_start> @@ -84,11 +84,11 @@ Disassembly of section .text: 50: 1d 92 st X+, r1 00000052 <.do_clear_bss_start>: - 52: a9 3a cpi r26, 0xA9 ; 169 + 52: aa 3a cpi r26, 0xAA ; 170 54: b1 07 cpc r27, r17 56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop> - 58: ce d3 rcall .+1948 ; 0x7f6
- 5a: 32 c4 rjmp .+2148 ; 0x8c0 <_exit> + 58: d0 d3 rcall .+1952 ; 0x7fa
+ 5a: 34 c4 rjmp .+2152 ; 0x8c4 <_exit> 0000005c <__bad_interrupt>: 5c: d1 cf rjmp .-94 ; 0x0 <__vectors> @@ -317,7 +317,7 @@ void rf12_setbaud(unsigned short baud) 146: 78 ea ldi r23, 0xA8 ; 168 148: 80 e0 ldi r24, 0x00 ; 0 14a: 90 e0 ldi r25, 0x00 ; 0 - 14c: 9e d3 rcall .+1852 ; 0x88a <__divmodsi4> + 14c: a0 d3 rcall .+1856 ; 0x88e <__divmodsi4> 14e: c9 01 movw r24, r18 150: 01 97 sbiw r24, 0x01 ; 1 152: 80 68 ori r24, 0x80 ; 128 @@ -333,7 +333,7 @@ void rf12_setbaud(unsigned short baud) 162: 72 e4 ldi r23, 0x42 ; 66 164: 85 e0 ldi r24, 0x05 ; 5 166: 90 e0 ldi r25, 0x00 ; 0 - 168: 6e d3 rcall .+1756 ; 0x846 <__udivmodsi4> + 168: 70 d3 rcall .+1760 ; 0x84a <__udivmodsi4> 16a: c9 01 movw r24, r18 16c: 01 97 sbiw r24, 0x01 ; 1 16e: 96 6c ori r25, 0xC6 ; 198 @@ -732,6 +732,9 @@ void init_ports() { 32e: 82 b3 in r24, 0x12 ; 18 330: 8b 60 ori r24, 0x0B ; 11 332: 82 bb out 0x12, r24 ; 18 + + + } 334: 08 95 ret @@ -759,7 +762,7 @@ void led() { 358: 7f 4f sbci r23, 0xFF ; 255 35a: 20 e0 ldi r18, 0x00 ; 0 if(status_dev[i/2] == SLEEP) { - 35c: 01 ea ldi r16, 0xA1 ; 161 + 35c: 0c e9 ldi r16, 0x9C ; 156 35e: 10 e0 ldi r17, 0x00 ; 0 static inline uint8_t BIT_ON(volatile uint8_t *target, uint8_t bit) { return *target & (1< - 6a8: 4e c0 rjmp .+156 ; 0x746 + 6a8: 50 c0 rjmp .+160 ; 0x74a 6aa: 01 c0 rjmp .+2 ; 0x6ae while(rf12_hasdata()) { poll(); @@ -1573,10 +1576,10 @@ void recive() { if(from != MASTER) { 6b6: 81 30 cpi r24, 0x01 ; 1 6b8: 09 f4 brne .+2 ; 0x6bc - 6ba: 45 c0 rjmp .+138 ; 0x746 + 6ba: 47 c0 rjmp .+142 ; 0x74a from = (from/10)-1; 6bc: 6a e0 ldi r22, 0x0A ; 10 - 6be: b7 d0 rcall .+366 ; 0x82e <__udivmodqi4> + 6be: b9 d0 rcall .+370 ; 0x832 <__udivmodqi4> 6c0: c8 2f mov r28, r24 6c2: c1 50 subi r28, 0x01 ; 1 while(rf12_hasdata()) { @@ -1602,364 +1605,370 @@ void recive() { 6d4: 84 30 cpi r24, 0x04 ; 4 6d6: 18 f4 brcc .+6 ; 0x6de 6d8: 82 30 cpi r24, 0x02 ; 2 - 6da: a9 f5 brne .+106 ; 0x746 + 6da: b1 f5 brne .+108 ; 0x748 6dc: 05 c0 rjmp .+10 ; 0x6e8 6de: 86 30 cpi r24, 0x06 ; 6 6e0: d9 f0 breq .+54 ; 0x718 6e2: 88 30 cpi r24, 0x08 ; 8 - 6e4: 81 f5 brne .+96 ; 0x746 + 6e4: 89 f5 brne .+98 ; 0x748 6e6: 24 c0 rjmp .+72 ; 0x730 case SLEEP: { status_dev[from] = SLEEP; 6e8: 8c 2f mov r24, r28 6ea: 90 e0 ldi r25, 0x00 ; 0 6ec: fc 01 movw r30, r24 - 6ee: ef 55 subi r30, 0x5F ; 95 + 6ee: e4 56 subi r30, 0x64 ; 100 6f0: ff 4f sbci r31, 0xFF ; 255 6f2: 22 e0 ldi r18, 0x02 ; 2 6f4: 20 83 st Z, r18 status_count[from] = 0; - 6f6: 84 56 subi r24, 0x64 ; 100 + 6f6: 8e 55 subi r24, 0x5E ; 94 6f8: 9f 4f sbci r25, 0xFF ; 255 6fa: fc 01 movw r30, r24 6fc: 10 82 st Z, r1 return; - 6fe: 23 c0 rjmp .+70 ; 0x746 + 6fe: 25 c0 rjmp .+74 ; 0x74a } case ACTIVE: { status_dev[from] = ACTIVE; 700: 8c 2f mov r24, r28 702: 90 e0 ldi r25, 0x00 ; 0 704: fc 01 movw r30, r24 - 706: ef 55 subi r30, 0x5F ; 95 + 706: e4 56 subi r30, 0x64 ; 100 708: ff 4f sbci r31, 0xFF ; 255 70a: 23 e0 ldi r18, 0x03 ; 3 70c: 20 83 st Z, r18 status_count[from] = 0; - 70e: 84 56 subi r24, 0x64 ; 100 + 70e: 8e 55 subi r24, 0x5E ; 94 710: 9f 4f sbci r25, 0xFF ; 255 712: fc 01 movw r30, r24 714: 10 82 st Z, r1 return; - 716: 17 c0 rjmp .+46 ; 0x746 + 716: 19 c0 rjmp .+50 ; 0x74a } case RUN: { status_dev[from] = RUN; 718: 8c 2f mov r24, r28 71a: 90 e0 ldi r25, 0x00 ; 0 71c: fc 01 movw r30, r24 - 71e: ef 55 subi r30, 0x5F ; 95 + 71e: e4 56 subi r30, 0x64 ; 100 720: ff 4f sbci r31, 0xFF ; 255 722: 26 e0 ldi r18, 0x06 ; 6 724: 20 83 st Z, r18 status_count[from] = 0; - 726: 84 56 subi r24, 0x64 ; 100 + 726: 8e 55 subi r24, 0x5E ; 94 728: 9f 4f sbci r25, 0xFF ; 255 72a: fc 01 movw r30, r24 72c: 10 82 st Z, r1 return; - 72e: 0b c0 rjmp .+22 ; 0x746 + 72e: 0d c0 rjmp .+26 ; 0x74a } case DEDECT: { status_dev[from] = DEDECT; 730: 8c 2f mov r24, r28 732: 90 e0 ldi r25, 0x00 ; 0 734: fc 01 movw r30, r24 - 736: ef 55 subi r30, 0x5F ; 95 + 736: e4 56 subi r30, 0x64 ; 100 738: ff 4f sbci r31, 0xFF ; 255 73a: 28 e0 ldi r18, 0x08 ; 8 73c: 20 83 st Z, r18 status_count[from] = 0; - 73e: 84 56 subi r24, 0x64 ; 100 + 73e: 8e 55 subi r24, 0x5E ; 94 740: 9f 4f sbci r25, 0xFF ; 255 742: fc 01 movw r30, r24 744: 10 82 st Z, r1 return; + 746: 01 c0 rjmp .+2 ; 0x74a + } + default: { + rf12_endasyncrx(); + 748: 3c dd rcall .-1416 ; 0x1c2 + return; } } } } } - 746: cf 91 pop r28 - 748: 08 95 ret + 74a: cf 91 pop r28 + 74c: 08 95 ret -0000074a <__vector_9>: +0000074e <__vector_9>: // Timer 0 overflow interrupt service routine ISR(TIMER0_OVF_vect) { - 74a: 1f 92 push r1 - 74c: 0f 92 push r0 - 74e: 0f b6 in r0, 0x3f ; 63 + 74e: 1f 92 push r1 750: 0f 92 push r0 - 752: 11 24 eor r1, r1 - 754: 2f 93 push r18 - 756: 3f 93 push r19 - 758: 4f 93 push r20 - 75a: 5f 93 push r21 - 75c: 6f 93 push r22 - 75e: 7f 93 push r23 - 760: 8f 93 push r24 - 762: 9f 93 push r25 - 764: af 93 push r26 - 766: bf 93 push r27 - 768: ef 93 push r30 - 76a: ff 93 push r31 + 752: 0f b6 in r0, 0x3f ; 63 + 754: 0f 92 push r0 + 756: 11 24 eor r1, r1 + 758: 2f 93 push r18 + 75a: 3f 93 push r19 + 75c: 4f 93 push r20 + 75e: 5f 93 push r21 + 760: 6f 93 push r22 + 762: 7f 93 push r23 + 764: 8f 93 push r24 + 766: 9f 93 push r25 + 768: af 93 push r26 + 76a: bf 93 push r27 + 76c: ef 93 push r30 + 76e: ff 93 push r31 led(); - 76c: e4 dd rcall .-1080 ; 0x336 + 770: e2 dd rcall .-1084 ; 0x336 if(timer2s < 16) { - 76e: 80 91 a6 00 lds r24, 0x00A6 - 772: 80 31 cpi r24, 0x10 ; 16 - 774: 30 f4 brcc .+12 ; 0x782 <__vector_9+0x38> + 772: 80 91 a7 00 lds r24, 0x00A7 + 776: 80 31 cpi r24, 0x10 ; 16 + 778: 30 f4 brcc .+12 ; 0x786 <__vector_9+0x38> timer2s++; - 776: 80 91 a6 00 lds r24, 0x00A6 - 77a: 8f 5f subi r24, 0xFF ; 255 - 77c: 80 93 a6 00 sts 0x00A6, r24 + 77a: 80 91 a7 00 lds r24, 0x00A7 + 77e: 8f 5f subi r24, 0xFF ; 255 + 780: 80 93 a7 00 sts 0x00A7, r24 return; - 780: 23 c0 rjmp .+70 ; 0x7c8 <__vector_9+0x7e> + 784: 23 c0 rjmp .+70 ; 0x7cc <__vector_9+0x7e> } timer2s = 0; - 782: 10 92 a6 00 sts 0x00A6, r1 + 786: 10 92 a7 00 sts 0x00A7, r1 rf12_endasyncrx(); - 786: 1d dd rcall .-1478 ; 0x1c2 + 78a: 1b dd rcall .-1482 ; 0x1c2 rf12_txpacket(ALL, MASTER, PING); - 788: 80 e0 ldi r24, 0x00 ; 0 - 78a: 61 e0 ldi r22, 0x01 ; 1 - 78c: 41 e0 ldi r20, 0x01 ; 1 - 78e: 80 dd rcall .-1280 ; 0x290 - 790: 80 e0 ldi r24, 0x00 ; 0 - 792: 90 e0 ldi r25, 0x00 ; 0 + 78c: 80 e0 ldi r24, 0x00 ; 0 + 78e: 61 e0 ldi r22, 0x01 ; 1 + 790: 41 e0 ldi r20, 0x01 ; 1 + 792: 7e dd rcall .-1284 ; 0x290 + 794: 80 e0 ldi r24, 0x00 ; 0 + 796: 90 e0 ldi r25, 0x00 ; 0 for(uint8_t i=0;i 10) { - 794: 2c e9 ldi r18, 0x9C ; 156 - 796: 30 e0 ldi r19, 0x00 ; 0 + 798: 22 ea ldi r18, 0xA2 ; 162 + 79a: 30 e0 ldi r19, 0x00 ; 0 status_dev[i] = 0; - 798: 41 ea ldi r20, 0xA1 ; 161 - 79a: 50 e0 ldi r21, 0x00 ; 0 + 79c: 4c e9 ldi r20, 0x9C ; 156 + 79e: 50 e0 ldi r21, 0x00 ; 0 } timer2s = 0; rf12_endasyncrx(); rf12_txpacket(ALL, MASTER, PING); for(uint8_t i=0;i 10) { - 79c: f9 01 movw r30, r18 - 79e: e8 0f add r30, r24 - 7a0: f9 1f adc r31, r25 - 7a2: 60 81 ld r22, Z - 7a4: 6b 30 cpi r22, 0x0B ; 11 - 7a6: 28 f0 brcs .+10 ; 0x7b2 <__vector_9+0x68> + 7a0: f9 01 movw r30, r18 + 7a2: e8 0f add r30, r24 + 7a4: f9 1f adc r31, r25 + 7a6: 60 81 ld r22, Z + 7a8: 6b 30 cpi r22, 0x0B ; 11 + 7aa: 28 f0 brcs .+10 ; 0x7b6 <__vector_9+0x68> status_dev[i] = 0; - 7a8: fa 01 movw r30, r20 - 7aa: e8 0f add r30, r24 - 7ac: f9 1f adc r31, r25 - 7ae: 10 82 st Z, r1 - 7b0: 06 c0 rjmp .+12 ; 0x7be <__vector_9+0x74> + 7ac: fa 01 movw r30, r20 + 7ae: e8 0f add r30, r24 + 7b0: f9 1f adc r31, r25 + 7b2: 10 82 st Z, r1 + 7b4: 06 c0 rjmp .+12 ; 0x7c2 <__vector_9+0x74> } else { status_count[i]++; - 7b2: f9 01 movw r30, r18 - 7b4: e8 0f add r30, r24 - 7b6: f9 1f adc r31, r25 - 7b8: 60 81 ld r22, Z - 7ba: 6f 5f subi r22, 0xFF ; 255 - 7bc: 60 83 st Z, r22 - 7be: 01 96 adiw r24, 0x01 ; 1 + 7b6: f9 01 movw r30, r18 + 7b8: e8 0f add r30, r24 + 7ba: f9 1f adc r31, r25 + 7bc: 60 81 ld r22, Z + 7be: 6f 5f subi r22, 0xFF ; 255 + 7c0: 60 83 st Z, r22 + 7c2: 01 96 adiw r24, 0x01 ; 1 return; } timer2s = 0; rf12_endasyncrx(); rf12_txpacket(ALL, MASTER, PING); for(uint8_t i=0;i + 7c4: 85 30 cpi r24, 0x05 ; 5 + 7c6: 91 05 cpc r25, r1 + 7c8: 59 f7 brne .-42 ; 0x7a0 <__vector_9+0x52> status_dev[i] = 0; } else { status_count[i]++; } } rf12_beginasyncrx(); - 7c6: ea dc rcall .-1580 ; 0x19c + 7ca: e8 dc rcall .-1584 ; 0x19c } - 7c8: ff 91 pop r31 - 7ca: ef 91 pop r30 - 7cc: bf 91 pop r27 - 7ce: af 91 pop r26 - 7d0: 9f 91 pop r25 - 7d2: 8f 91 pop r24 - 7d4: 7f 91 pop r23 - 7d6: 6f 91 pop r22 - 7d8: 5f 91 pop r21 - 7da: 4f 91 pop r20 - 7dc: 3f 91 pop r19 - 7de: 2f 91 pop r18 - 7e0: 0f 90 pop r0 - 7e2: 0f be out 0x3f, r0 ; 63 + 7cc: ff 91 pop r31 + 7ce: ef 91 pop r30 + 7d0: bf 91 pop r27 + 7d2: af 91 pop r26 + 7d4: 9f 91 pop r25 + 7d6: 8f 91 pop r24 + 7d8: 7f 91 pop r23 + 7da: 6f 91 pop r22 + 7dc: 5f 91 pop r21 + 7de: 4f 91 pop r20 + 7e0: 3f 91 pop r19 + 7e2: 2f 91 pop r18 7e4: 0f 90 pop r0 - 7e6: 1f 90 pop r1 - 7e8: 18 95 reti + 7e6: 0f be out 0x3f, r0 ; 63 + 7e8: 0f 90 pop r0 + 7ea: 1f 90 pop r1 + 7ec: 18 95 reti -000007ea : +000007ee : void init_timer() { // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 7,813 kHz TCCR0=(1<: +000007fa
: int main(void) { rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) - 7f6: 4c dc rcall .-1896 ; 0x90 + 7fa: 4a dc rcall .-1900 ; 0x90 //rf12_ready(); rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen - 7f8: 80 e2 ldi r24, 0x20 ; 32 - 7fa: 96 e0 ldi r25, 0x06 ; 6 - 7fc: 89 dc rcall .-1774 ; 0x110 + 7fc: 80 e2 ldi r24, 0x20 ; 32 + 7fe: 96 e0 ldi r25, 0x06 ; 6 + 800: 87 dc rcall .-1778 ; 0x110 rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm - 7fe: 81 e0 ldi r24, 0x01 ; 1 - 800: 60 e0 ldi r22, 0x00 ; 0 - 802: 47 e0 ldi r20, 0x07 ; 7 - 804: 68 dc rcall .-1840 ; 0xd6 + 802: 81 e0 ldi r24, 0x01 ; 1 + 804: 60 e0 ldi r22, 0x00 ; 0 + 806: 47 e0 ldi r20, 0x07 ; 7 + 808: 66 dc rcall .-1844 ; 0xd6 rf12_setbaud(9600); // 19200 baud - 806: 80 e8 ldi r24, 0x80 ; 128 - 808: 95 e2 ldi r25, 0x25 ; 37 - 80a: 91 dc rcall .-1758 ; 0x12e + 80a: 80 e8 ldi r24, 0x80 ; 128 + 80c: 95 e2 ldi r25, 0x25 ; 37 + 80e: 8f dc rcall .-1762 ; 0x12e rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - 80c: 80 e0 ldi r24, 0x00 ; 0 - 80e: 66 e0 ldi r22, 0x06 ; 6 - 810: b1 dc rcall .-1694 ; 0x174 + 810: 80 e0 ldi r24, 0x00 ; 0 + 812: 66 e0 ldi r22, 0x06 ; 6 + 814: af dc rcall .-1698 ; 0x174 init_ports(); - 812: 7c dd rcall .-1288 ; 0x30c + 816: 7a dd rcall .-1292 ; 0x30c init_timer(); - 814: ea df rcall .-44 ; 0x7ea + 818: ea df rcall .-44 ; 0x7ee sei(); - 816: 78 94 sei - 818: 8f ef ldi r24, 0xFF ; 255 - 81a: 90 e7 ldi r25, 0x70 ; 112 - 81c: a2 e0 ldi r26, 0x02 ; 2 - 81e: 81 50 subi r24, 0x01 ; 1 - 820: 90 40 sbci r25, 0x00 ; 0 - 822: a0 40 sbci r26, 0x00 ; 0 - 824: e1 f7 brne .-8 ; 0x81e - 826: 00 c0 rjmp .+0 ; 0x828 - 828: 00 00 nop + 81a: 78 94 sei + 81c: 8f ef ldi r24, 0xFF ; 255 + 81e: 90 e7 ldi r25, 0x70 ; 112 + 820: a2 e0 ldi r26, 0x02 ; 2 + 822: 81 50 subi r24, 0x01 ; 1 + 824: 90 40 sbci r25, 0x00 ; 0 + 826: a0 40 sbci r26, 0x00 ; 0 + 828: e1 f7 brne .-8 ; 0x822 + 82a: 00 c0 rjmp .+0 ; 0x82c + 82c: 00 00 nop _delay_ms(100); while(1) { recive(); - 82a: 34 df rcall .-408 ; 0x694 - 82c: fe cf rjmp .-4 ; 0x82a + 82e: 32 df rcall .-412 ; 0x694 + 830: fe cf rjmp .-4 ; 0x82e -0000082e <__udivmodqi4>: - 82e: 99 1b sub r25, r25 - 830: 79 e0 ldi r23, 0x09 ; 9 - 832: 04 c0 rjmp .+8 ; 0x83c <__udivmodqi4_ep> +00000832 <__udivmodqi4>: + 832: 99 1b sub r25, r25 + 834: 79 e0 ldi r23, 0x09 ; 9 + 836: 04 c0 rjmp .+8 ; 0x840 <__udivmodqi4_ep> -00000834 <__udivmodqi4_loop>: - 834: 99 1f adc r25, r25 - 836: 96 17 cp r25, r22 - 838: 08 f0 brcs .+2 ; 0x83c <__udivmodqi4_ep> - 83a: 96 1b sub r25, r22 +00000838 <__udivmodqi4_loop>: + 838: 99 1f adc r25, r25 + 83a: 96 17 cp r25, r22 + 83c: 08 f0 brcs .+2 ; 0x840 <__udivmodqi4_ep> + 83e: 96 1b sub r25, r22 -0000083c <__udivmodqi4_ep>: - 83c: 88 1f adc r24, r24 - 83e: 7a 95 dec r23 - 840: c9 f7 brne .-14 ; 0x834 <__udivmodqi4_loop> - 842: 80 95 com r24 - 844: 08 95 ret +00000840 <__udivmodqi4_ep>: + 840: 88 1f adc r24, r24 + 842: 7a 95 dec r23 + 844: c9 f7 brne .-14 ; 0x838 <__udivmodqi4_loop> + 846: 80 95 com r24 + 848: 08 95 ret -00000846 <__udivmodsi4>: - 846: a1 e2 ldi r26, 0x21 ; 33 - 848: 1a 2e mov r1, r26 - 84a: aa 1b sub r26, r26 - 84c: bb 1b sub r27, r27 - 84e: fd 01 movw r30, r26 - 850: 0d c0 rjmp .+26 ; 0x86c <__udivmodsi4_ep> +0000084a <__udivmodsi4>: + 84a: a1 e2 ldi r26, 0x21 ; 33 + 84c: 1a 2e mov r1, r26 + 84e: aa 1b sub r26, r26 + 850: bb 1b sub r27, r27 + 852: fd 01 movw r30, r26 + 854: 0d c0 rjmp .+26 ; 0x870 <__udivmodsi4_ep> -00000852 <__udivmodsi4_loop>: - 852: aa 1f adc r26, r26 - 854: bb 1f adc r27, r27 - 856: ee 1f adc r30, r30 - 858: ff 1f adc r31, r31 - 85a: a2 17 cp r26, r18 - 85c: b3 07 cpc r27, r19 - 85e: e4 07 cpc r30, r20 - 860: f5 07 cpc r31, r21 - 862: 20 f0 brcs .+8 ; 0x86c <__udivmodsi4_ep> - 864: a2 1b sub r26, r18 - 866: b3 0b sbc r27, r19 - 868: e4 0b sbc r30, r20 - 86a: f5 0b sbc r31, r21 +00000856 <__udivmodsi4_loop>: + 856: aa 1f adc r26, r26 + 858: bb 1f adc r27, r27 + 85a: ee 1f adc r30, r30 + 85c: ff 1f adc r31, r31 + 85e: a2 17 cp r26, r18 + 860: b3 07 cpc r27, r19 + 862: e4 07 cpc r30, r20 + 864: f5 07 cpc r31, r21 + 866: 20 f0 brcs .+8 ; 0x870 <__udivmodsi4_ep> + 868: a2 1b sub r26, r18 + 86a: b3 0b sbc r27, r19 + 86c: e4 0b sbc r30, r20 + 86e: f5 0b sbc r31, r21 -0000086c <__udivmodsi4_ep>: - 86c: 66 1f adc r22, r22 - 86e: 77 1f adc r23, r23 - 870: 88 1f adc r24, r24 - 872: 99 1f adc r25, r25 - 874: 1a 94 dec r1 - 876: 69 f7 brne .-38 ; 0x852 <__udivmodsi4_loop> - 878: 60 95 com r22 - 87a: 70 95 com r23 - 87c: 80 95 com r24 - 87e: 90 95 com r25 - 880: 9b 01 movw r18, r22 - 882: ac 01 movw r20, r24 - 884: bd 01 movw r22, r26 - 886: cf 01 movw r24, r30 - 888: 08 95 ret +00000870 <__udivmodsi4_ep>: + 870: 66 1f adc r22, r22 + 872: 77 1f adc r23, r23 + 874: 88 1f adc r24, r24 + 876: 99 1f adc r25, r25 + 878: 1a 94 dec r1 + 87a: 69 f7 brne .-38 ; 0x856 <__udivmodsi4_loop> + 87c: 60 95 com r22 + 87e: 70 95 com r23 + 880: 80 95 com r24 + 882: 90 95 com r25 + 884: 9b 01 movw r18, r22 + 886: ac 01 movw r20, r24 + 888: bd 01 movw r22, r26 + 88a: cf 01 movw r24, r30 + 88c: 08 95 ret -0000088a <__divmodsi4>: - 88a: 97 fb bst r25, 7 - 88c: 09 2e mov r0, r25 - 88e: 05 26 eor r0, r21 - 890: 0e d0 rcall .+28 ; 0x8ae <__divmodsi4_neg1> - 892: 57 fd sbrc r21, 7 - 894: 04 d0 rcall .+8 ; 0x89e <__divmodsi4_neg2> - 896: d7 df rcall .-82 ; 0x846 <__udivmodsi4> - 898: 0a d0 rcall .+20 ; 0x8ae <__divmodsi4_neg1> - 89a: 00 1c adc r0, r0 - 89c: 38 f4 brcc .+14 ; 0x8ac <__divmodsi4_exit> +0000088e <__divmodsi4>: + 88e: 97 fb bst r25, 7 + 890: 09 2e mov r0, r25 + 892: 05 26 eor r0, r21 + 894: 0e d0 rcall .+28 ; 0x8b2 <__divmodsi4_neg1> + 896: 57 fd sbrc r21, 7 + 898: 04 d0 rcall .+8 ; 0x8a2 <__divmodsi4_neg2> + 89a: d7 df rcall .-82 ; 0x84a <__udivmodsi4> + 89c: 0a d0 rcall .+20 ; 0x8b2 <__divmodsi4_neg1> + 89e: 00 1c adc r0, r0 + 8a0: 38 f4 brcc .+14 ; 0x8b0 <__divmodsi4_exit> -0000089e <__divmodsi4_neg2>: - 89e: 50 95 com r21 - 8a0: 40 95 com r20 - 8a2: 30 95 com r19 - 8a4: 21 95 neg r18 - 8a6: 3f 4f sbci r19, 0xFF ; 255 - 8a8: 4f 4f sbci r20, 0xFF ; 255 - 8aa: 5f 4f sbci r21, 0xFF ; 255 +000008a2 <__divmodsi4_neg2>: + 8a2: 50 95 com r21 + 8a4: 40 95 com r20 + 8a6: 30 95 com r19 + 8a8: 21 95 neg r18 + 8aa: 3f 4f sbci r19, 0xFF ; 255 + 8ac: 4f 4f sbci r20, 0xFF ; 255 + 8ae: 5f 4f sbci r21, 0xFF ; 255 -000008ac <__divmodsi4_exit>: - 8ac: 08 95 ret +000008b0 <__divmodsi4_exit>: + 8b0: 08 95 ret -000008ae <__divmodsi4_neg1>: - 8ae: f6 f7 brtc .-4 ; 0x8ac <__divmodsi4_exit> - 8b0: 90 95 com r25 - 8b2: 80 95 com r24 - 8b4: 70 95 com r23 - 8b6: 61 95 neg r22 - 8b8: 7f 4f sbci r23, 0xFF ; 255 - 8ba: 8f 4f sbci r24, 0xFF ; 255 - 8bc: 9f 4f sbci r25, 0xFF ; 255 - 8be: 08 95 ret +000008b2 <__divmodsi4_neg1>: + 8b2: f6 f7 brtc .-4 ; 0x8b0 <__divmodsi4_exit> + 8b4: 90 95 com r25 + 8b6: 80 95 com r24 + 8b8: 70 95 com r23 + 8ba: 61 95 neg r22 + 8bc: 7f 4f sbci r23, 0xFF ; 255 + 8be: 8f 4f sbci r24, 0xFF ; 255 + 8c0: 9f 4f sbci r25, 0xFF ; 255 + 8c2: 08 95 ret -000008c0 <_exit>: - 8c0: f8 94 cli +000008c4 <_exit>: + 8c4: f8 94 cli -000008c2 <__stop_program>: - 8c2: ff cf rjmp .-2 ; 0x8c2 <__stop_program> +000008c6 <__stop_program>: + 8c6: ff cf rjmp .-2 ; 0x8c6 <__stop_program> diff --git a/Sender/Sender/Debug/Sender.map b/Sender/Sender/Debug/Sender.map index 43f45d3..699f787 100644 --- a/Sender/Sender/Debug/Sender.map +++ b/Sender/Sender/Debug/Sender.map @@ -126,7 +126,7 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 .rela.plt *(.rela.plt) -.text 0x00000000 0x8c4 +.text 0x00000000 0x8c8 *(.vectors) .vectors 0x00000000 0x26 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o 0x00000000 __vector_default @@ -215,36 +215,36 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 0x000001ca rf12_txdata 0x0000023c rf12_rxdata 0x00000290 rf12_txpacket - .text 0x0000030c 0x522 Sender.o + .text 0x0000030c 0x526 Sender.o 0x0000030c init_ports 0x00000336 led 0x000004f6 poll 0x00000694 recive - 0x0000074a __vector_9 - 0x000007ea init_timer - 0x000007f6 main - .text 0x0000082e 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) - .text 0x0000082e 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .text 0x0000082e 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .text 0x0000082e 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text 0x0000082e 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text 0x0000082e 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x0000082e . = ALIGN (0x2) + 0x0000074e __vector_9 + 0x000007ee init_timer + 0x000007fa main + .text 0x00000832 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .text 0x00000832 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .text 0x00000832 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .text 0x00000832 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text 0x00000832 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text 0x00000832 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x00000832 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x0000082e 0x18 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) - 0x0000082e __udivmodqi4 - .text.libgcc 0x00000846 0x44 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - 0x00000846 __udivmodsi4 - .text.libgcc 0x0000088a 0x36 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - 0x0000088a __divmodsi4 - .text.libgcc 0x000008c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text.libgcc 0x000008c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text.libgcc 0x000008c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x000008c0 . = ALIGN (0x2) + .text.libgcc 0x00000832 0x18 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + 0x00000832 __udivmodqi4 + .text.libgcc 0x0000084a 0x44 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + 0x0000084a __udivmodsi4 + .text.libgcc 0x0000088e 0x36 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + 0x0000088e __divmodsi4 + .text.libgcc 0x000008c4 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text.libgcc 0x000008c4 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text.libgcc 0x000008c4 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x000008c4 . = ALIGN (0x2) *(.fini9) - .fini9 0x000008c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - 0x000008c0 _exit - 0x000008c0 exit + .fini9 0x000008c4 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + 0x000008c4 _exit + 0x000008c4 exit *(.fini9) *(.fini8) *(.fini8) @@ -263,64 +263,65 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000008c0 0x4 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .fini0 0x000008c4 0x4 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) *(.fini0) - 0x000008c4 _etext = . + 0x000008c8 _etext = . -.data 0x00800060 0x3c load address 0x000008c4 +.data 0x00800060 0x42 load address 0x000008c8 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o .data 0x00800060 0x0 rf12.o - .data 0x00800060 0x3c Sender.o + .data 0x00800060 0x41 Sender.o 0x00800060 in_row_pin 0x0080006a in_row_port 0x00800074 in_collumn_pin 0x0080007e in_collumn_port 0x00800088 led_pin 0x00800092 led_port - .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) - .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x0080009c status_dev + .data 0x008000a1 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .data 0x008000a1 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .data 0x008000a1 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .data 0x008000a1 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .data 0x008000a1 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .data 0x008000a1 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.data*) *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) - 0x0080009c . = ALIGN (0x2) - 0x0080009c _edata = . - 0x0080009c PROVIDE (__data_end, .) + 0x008000a2 . = ALIGN (0x2) + *fill* 0x008000a1 0x1 00 + 0x008000a2 _edata = . + 0x008000a2 PROVIDE (__data_end, .) -.bss 0x0080009c 0xd - 0x0080009c PROVIDE (__bss_start, .) +.bss 0x008000a2 0x8 + 0x008000a2 PROVIDE (__bss_start, .) *(.bss) - .bss 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o - .bss 0x0080009c 0x0 rf12.o - .bss 0x0080009c 0xd Sender.o - 0x0080009c status_count - 0x008000a1 status_dev - 0x008000a6 timer2s - 0x008000a7 interrupt - .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) - .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .bss 0x008000a2 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o + .bss 0x008000a2 0x0 rf12.o + .bss 0x008000a2 0x8 Sender.o + 0x008000a2 status_count + 0x008000a7 timer2s + 0x008000a8 interrupt + .bss 0x008000aa 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .bss 0x008000aa 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .bss 0x008000aa 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .bss 0x008000aa 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .bss 0x008000aa 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .bss 0x008000aa 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x008000a9 PROVIDE (__bss_end, .) - 0x000008c4 __data_load_start = LOADADDR (.data) - 0x00000900 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x008000aa PROVIDE (__bss_end, .) + 0x000008c8 __data_load_start = LOADADDR (.data) + 0x0000090a __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x008000a9 0x0 - 0x008000a9 PROVIDE (__noinit_start, .) +.noinit 0x008000aa 0x0 + 0x008000aa PROVIDE (__noinit_start, .) *(.noinit*) - 0x008000a9 PROVIDE (__noinit_end, .) - 0x008000a9 _end = . - 0x008000a9 PROVIDE (__heap_start, .) + 0x008000aa PROVIDE (__noinit_end, .) + 0x008000aa _end = . + 0x008000aa PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -418,16 +419,16 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 .debug_abbrev 0x000003e4 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) .debug_abbrev 0x000003f8 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) -.debug_line 0x00000000 0x87a +.debug_line 0x00000000 0x87c *(.debug_line) .debug_line 0x00000000 0x222 rf12.o - .debug_line 0x00000222 0x2d6 Sender.o - .debug_line 0x000004f8 0x92 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) - .debug_line 0x0000058a 0xa8 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_line 0x00000632 0xa1 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_line 0x000006d3 0x88 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_line 0x0000075b 0x91 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_line 0x000007ec 0x8e c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_line 0x00000222 0x2d8 Sender.o + .debug_line 0x000004fa 0x92 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .debug_line 0x0000058c 0xa8 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_line 0x00000634 0xa1 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_line 0x000006d5 0x88 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_line 0x0000075d 0x91 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_line 0x000007ee 0x8e c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) .debug_frame 0x00000000 0x284 *(.debug_frame) @@ -441,10 +442,10 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 .debug_str 0x00000206 0xd9 Sender.o 0x221 (size before relaxing) -.debug_loc 0x00000000 0xa5a +.debug_loc 0x00000000 0xa65 *(.debug_loc) .debug_loc 0x00000000 0x342 rf12.o - .debug_loc 0x00000342 0x718 Sender.o + .debug_loc 0x00000342 0x723 Sender.o .debug_macinfo *(.debug_macinfo) diff --git a/Sender/Sender/Debug/Sender.srec b/Sender/Sender/Debug/Sender.srec index b1f978e..2e14285 100644 --- a/Sender/Sender/Debug/Sender.srec +++ b/Sender/Sender/Debug/Sender.srec @@ -1,10 +1,10 @@ S00E000053656E6465722E73726563B5 S113000012C02CC02BC02AC029C028C027C026C0BB -S113001025C09BC323C022C021C020C01FC01EC056 +S113001025C09DC323C022C021C020C01FC01EC054 S11300201DC01CC01BC011241FBECFE5D4E0DEBF21 -S1130030CDBF10E0A0E6B0E0E4ECF8E002C005902B -S11300400D92AC39B107D9F710E0ACE9B0E001C0CA -S11300501D92A93AB107E1F7CED332C4D1CFAC98FF +S1130030CDBF10E0A0E6B0E0E8ECF8E002C0059027 +S11300400D92A23AB107D9F710E0A2EAB0E001C0DC +S11300501D92AA3AB107E1F7D0D334C4D1CFAC98FA S113006040E120E030E0992314F4AA9A01C0AA9850 S1130070220F331F99992160AB9A880F991F00C0F2 S11300800000AB98415079F7AC9A822F932F0895D2 @@ -19,9 +19,9 @@ S1130100660F771F660F771F862B972BA8DF08953E S11301108036910538F02FE08034920728F08FE381 S11301209FE002C080E690E0906A99DF089522E0A3 S113013087399207F0F025E18831920770F49C0129 -S113014040E050E060E678EA80E090E09ED3C901A8 +S113014040E050E060E678EA80E090E0A0D3C901A6 S113015001978068966C83DF08959C0140E050E02D -S11301606CEF72E485E090E06ED3C9010197966C60 +S11301606CEF72E485E090E070D3C9010197966C5E S113017076DF089590E087709070986970E06295DA S11301807295707F7627607F76277070862B972B09 S113019066DF0895AC98999BFECF089588EC92E8A9 @@ -52,7 +52,7 @@ S113031087BB81B3806C81BBB99A81B3806381BB95 S1130320C19A82B3806382BB81B3847F81BB82B371 S11303308B6082BB0895CF92DF92EF92FF920F936E S11303401F93CF93DF93A2E9B0E0C8E8D0E0AD01FA -S11303504F5F5F4FBE016F5F7F4F20E001EA10E007 +S11303504F5F5F4FBE016F5F7F4F20E00CE910E0FD S1130360EE24FF24E394822F869590E0F801E80FB1 S1130370F91F30813230F1F4EC91F0E03081C701A3 S1130380088002C0880F991F0A94E2F7832B8083A8 @@ -87,7 +87,7 @@ S1130540B0E03B018C91FB013197A701008002C010 S1130550440F551F0A94E2F7942F909589238C93A6 S113056000004E01FE013197E081F0E02801308166 S1130570F8013197C701008002C0880F991F0A94BF -S1130580E2F78323B1F4822F8695E1EAF0E0E80FE5 +S1130580E2F78323B1F4822F8695ECE9F0E0E80FDB S1130590F11D9081923029F40F2EF5E02F2EF02DCD S11305A003C02224689422F80F2EFAE03F2EF02D87 S11305B0380E8C91842B8C930000F501A081B0E05F @@ -105,43 +105,44 @@ S11306609040A040E1F700C0000098DD7894DF914D S1130670CF911F910F91FF90EF90DF90CF90BF909B S1130680AF909F908F907F906F905F904F903F902E S11306902F900895CF9382DD01C02DDF89DD88235B -S11306A0E1F78BDD823008F04EC001C024DF80DD2D -S11306B08823E1F782DD813009F445C06AE0B7D0D0 +S11306A0E1F78BDD823008F050C001C024DF80DD2B +S11306B08823E1F782DD813009F447C06AE0B9D0CC S11306C0C82FC15001C017DF73DD8823E1F775DD42 -S11306D08330B1F0843018F48230A9F505C0863037 -S11306E0D9F0883081F524C08C2F90E0FC01EF55BF -S11306F0FF4F22E0208384569F4FFC01108223C0C9 -S11307008C2F90E0FC01EF55FF4F23E020838456AB -S11307109F4FFC01108217C08C2F90E0FC01EF5515 -S1130720FF4F26E0208384569F4FFC0110820BC0AC -S11307308C2F90E0FC01EF55FF4F28E02083845676 -S11307409F4FFC011082CF9108951F920F920FB614 -S11307500F9211242F933F934F935F936F937F9343 -S11307608F939F93AF93BF93EF93FF93E4DD8091B7 -S1130770A600803130F48091A6008F5F8093A6009C -S113078023C01092A6001DDD80E061E041E080DD21 -S113079080E090E02CE930E041EA50E0F901E80F14 -S11307A0F91F60816B3028F0FA01E80FF91F1082FD -S11307B006C0F901E80FF91F60816F5F608301963D -S11307C08530910559F7EADCFF91EF91BF91AF9124 -S11307D09F918F917F916F915F914F913F912F9155 -S11307E00F900FBE0F901F90189585E083BF12BE27 -S11307F081E089BF08954CDC80E296E089DC81E0E9 -S113080060E047E068DC80E895E291DC80E066E047 -S1130810B1DC7CDDEADF78948FEF90E7A2E08150D1 -S11308209040A040E1F700C0000034DFFECF991BE8 -S113083079E004C0991F961708F0961B881F7A95D3 -S1130840C9F780950895A1E21A2EAA1BBB1BFD01CE -S11308500DC0AA1FBB1FEE1FFF1FA217B307E4079B -S1130860F50720F0A21BB30BE40BF50B661F771FF3 -S1130870881F991F1A9469F76095709580959095D3 -S11308809B01AC01BD01CF01089597FB092E0526FC -S11308900ED057FD04D0D7DF0AD0001C38F4509591 -S11308A04095309521953F4F4F4F5F4F0895F6F790 -S11308B090958095709561957F4F8F4F9F4F0895C8 -S10708C0F894FFCFD6 -S11308C400010303030303030303303030303030E7 -S11308D430303030010105040504050405043838BA -S11308E43232323232323232020006070607060747 -S10F08F4060738383232323232323232E7 +S11306D08330B1F0843018F48230B1F505C086302F +S11306E0D9F0883089F524C08C2F90E0FC01E456C1 +S11306F0FF4F22E020838E559F4FFC01108225C0BE +S11307008C2F90E0FC01E456FF4F23E020838E55AC +S11307109F4FFC01108219C08C2F90E0FC01E4561D +S1130720FF4F26E020838E559F4FFC0110820DC0A1 +S11307308C2F90E0FC01E456FF4F28E020838E5577 +S11307409F4FFC01108201C03CDDCF9108951F92A0 +S11307500F920FB60F9211242F933F934F935F93F1 +S11307606F937F938F939F93AF93BF93EF93FF9375 +S1130770E2DD8091A700803130F48091A7008F5F83 +S11307808093A70023C01092A7001BDD80E061E0E6 +S113079041E07EDD80E090E022EA30E04CE950E088 +S11307A0F901E80FF91F60816B3028F0FA01E80FB6 +S11307B0F91F108206C0F901E80FF91F60816F5F0D +S11307C0608301968530910559F7E8DCFF91EF913C +S11307D0BF91AF919F918F917F916F915F914F9155 +S11307E03F912F910F900FBE0F901F90189585E0A9 +S11307F083BF12BE81E089BF08954ADC80E296E09F +S113080087DC81E060E047E066DC80E895E28FDC2D +S113081080E066E0AFDC7ADDEADF78948FEF90E782 +S1130820A2E081509040A040E1F700C0000032DF18 +S1130830FECF991B79E004C0991F961708F0961B08 +S1130840881F7A95C9F780950895A1E21A2EAA1BEC +S1130850BB1BFD010DC0AA1FBB1FEE1FFF1FA2176C +S1130860B307E407F50720F0A21BB30BE40BF50B69 +S1130870661F771F881F991F1A9469F760957095F2 +S1130880809590959B01AC01BD01CF01089597FB24 +S1130890092E05260ED057FD04D0D7DF0AD0001C40 +S11308A038F450954095309521953F4F4F4F5F4F09 +S11308B00895F6F790958095709561957F4F8F4FC9 +S10B08C09F4F0895F894FFCF47 +S11308C800010303030303030303303030303030E3 +S11308D830303030010105040504050405043838B6 +S11308E83232323232323232020006070607060743 +S11308F806073838323232323232323200020000DD +S10509080000E9 S9030000FC diff --git a/Sender/Sender/Sender.c b/Sender/Sender/Sender.c index b04b9ef..2de4908 100644 --- a/Sender/Sender/Sender.c +++ b/Sender/Sender/Sender.c @@ -18,7 +18,7 @@ volatile int interrupt = 0; volatile uint8_t timer2s = 0; #define NUMDEV 5 -volatile uint8_t status_dev[] = {0,0,0,0,0}; +volatile uint8_t status_dev[] = {0,SLEEP,0,0,0}; volatile uint8_t status_count[] = {0,0,0,0,0}; /* RED,GREEN */ @@ -54,6 +54,9 @@ void init_ports() { //Rows auf PullUp PORTD |= ((1<