1,4 → 1,4 |
GAS LISTING /tmp/ccf43P2i.s page 1 |
GAS LISTING /tmp/cceB4D4U.s page 1 |
|
|
1 .file "FrameMgr.c" |
10,7 → 10,7 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
10 .stabs "/home/kaklik/projects/roboti/istrobot/2007/ATmega8/AVRcam/",100,0,2,.Ltext0 |
10 .stabs "/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext0 |
11 .stabs "FrameMgr.c",100,0,2,.Ltext0 |
12 .text |
13 .Ltext0: |
58,7 → 58,7 |
55 .stabs "int_least16_t:t(6,13)=(6,3)",128,0,162,0 |
56 .stabs "uint_least16_t:t(6,14)=(6,4)",128,0,167,0 |
57 .stabs "int_least32_t:t(6,15)=(6,5)",128,0,172,0 |
GAS LISTING /tmp/ccf43P2i.s page 2 |
GAS LISTING /tmp/cceB4D4U.s page 2 |
|
|
58 .stabs "uint_least32_t:t(6,16)=(6,6)",128,0,177,0 |
118,7 → 118,7 |
20:FrameMgr.c **** For more information on the AVRcam, please contact: |
21:FrameMgr.c **** |
22:FrameMgr.c **** john@jrobot.net |
GAS LISTING /tmp/ccf43P2i.s page 3 |
GAS LISTING /tmp/cceB4D4U.s page 3 |
|
|
23:FrameMgr.c **** |
178,7 → 178,7 |
77:FrameMgr.c **** sent out during a frame (one byte per line, 144 lines per frame) |
78:FrameMgr.c **** with the number of bytes in a tracked object (7) + some wiggle |
79:FrameMgr.c **** room :-) ... I guess this could be increased to around 20 if |
GAS LISTING /tmp/ccf43P2i.s page 4 |
GAS LISTING /tmp/cceB4D4U.s page 4 |
|
|
80:FrameMgr.c **** we had enough room and cycles to process objects between lines */ |
238,7 → 238,7 |
134:FrameMgr.c **** unsigned char lastLineXStart; |
135:FrameMgr.c **** unsigned char lastLineXFinish; |
136:FrameMgr.c **** unsigned char x_upperLeft; |
GAS LISTING /tmp/ccf43P2i.s page 5 |
GAS LISTING /tmp/cceB4D4U.s page 5 |
|
|
137:FrameMgr.c **** unsigned char y_upperLeft; |
298,7 → 298,7 |
191:FrameMgr.c **** { |
192:FrameMgr.c **** memset(trackedObjectTable,0x00,sizeof(trackedObjectTable)); |
193:FrameMgr.c **** } |
GAS LISTING /tmp/ccf43P2i.s page 6 |
GAS LISTING /tmp/cceB4D4U.s page 6 |
|
|
194:FrameMgr.c **** |
358,7 → 358,7 |
248:FrameMgr.c **** } |
249:FrameMgr.c **** } |
250:FrameMgr.c **** |
GAS LISTING /tmp/ccf43P2i.s page 7 |
GAS LISTING /tmp/cceB4D4U.s page 7 |
|
|
251:FrameMgr.c **** /*********************************************************** |
418,7 → 418,7 |
305:FrameMgr.c **** memset(currentLineBuffer,0x00,LENGTH_OF_LINE_BUFFER); |
306:FrameMgr.c **** memset(previousLineBuffer,0x00,LENGTH_OF_LINE_BUFFER); |
307:FrameMgr.c **** /* wait for another VSYNC so we know which frame to use |
GAS LISTING /tmp/ccf43P2i.s page 8 |
GAS LISTING /tmp/cceB4D4U.s page 8 |
|
|
308:FrameMgr.c **** to start looking for a line to receive */ |
478,7 → 478,7 |
362:FrameMgr.c **** UartInt_txByte(lineCount); /* send the line count */ |
363:FrameMgr.c **** for (i=0; i<NUM_PIXELS_IN_A_DUMP_LINE; i+=2) |
364:FrameMgr.c **** { |
GAS LISTING /tmp/ccf43P2i.s page 9 |
GAS LISTING /tmp/cceB4D4U.s page 9 |
|
|
365:FrameMgr.c **** /* when a dump line is sampled, the upper byte can potentially |
538,7 → 538,7 |
419:FrameMgr.c **** itoa(trackedLineCount,asciiBuffer,10); |
420:FrameMgr.c **** UIMgr_txBuffer(asciiBuffer,3); |
421:FrameMgr.c **** UIMgr_txBuffer(" ",1); |
GAS LISTING /tmp/ccf43P2i.s page 10 |
GAS LISTING /tmp/cceB4D4U.s page 10 |
|
|
422:FrameMgr.c **** while(pixelCount < ACTUAL_NUM_PIXELS_IN_A_LINE) |
598,7 → 598,7 |
476:FrameMgr.c **** /* invalidate the object */ |
477:FrameMgr.c **** *(pTrackedObjectData + VALID_OBJECT_OFFSET) = FALSE; |
478:FrameMgr.c **** numCurrTrackedObjects--; |
GAS LISTING /tmp/ccf43P2i.s page 11 |
GAS LISTING /tmp/cceB4D4U.s page 11 |
|
|
479:FrameMgr.c **** } |
658,7 → 658,7 |
522:FrameMgr.c **** #endif |
523:FrameMgr.c **** unsigned char *pTableData = (unsigned char *)pCurrentTrackedObjectTable; |
104 .stabn 68,0,523,.LM1-FrameMgr_processFrame |
GAS LISTING /tmp/ccf43P2i.s page 12 |
GAS LISTING /tmp/cceB4D4U.s page 12 |
|
|
105 .LM1: |
718,7 → 718,7 |
123 0026 8091 0000 lds r24,numCurrTrackedObjects |
124 002a 00D0 rcall UIMgr_writeTxFifo |
125 002c DD24 clr r13 |
GAS LISTING /tmp/ccf43P2i.s page 13 |
GAS LISTING /tmp/cceB4D4U.s page 13 |
|
|
126 .L4: |
778,7 → 778,7 |
165 0058 0DC0 rjmp .L11 |
166 .L16: |
575:FrameMgr.c **** else if (color == 4) k=5; |
GAS LISTING /tmp/ccf43P2i.s page 14 |
GAS LISTING /tmp/cceB4D4U.s page 14 |
|
|
167 .stabn 68,0,575,.LM13-FrameMgr_processFrame |
838,7 → 838,7 |
210 .LM22: |
211 0082 802F mov r24,r16 |
212 0084 00D0 rcall UIMgr_writeTxFifo |
GAS LISTING /tmp/ccf43P2i.s page 15 |
GAS LISTING /tmp/cceB4D4U.s page 15 |
|
|
587:FrameMgr.c **** UIMgr_writeTxFifo(tmpLowerRightX); |
898,7 → 898,7 |
248 00ac EF90 pop r14 |
249 00ae DF90 pop r13 |
250 00b0 0895 ret |
GAS LISTING /tmp/ccf43P2i.s page 16 |
GAS LISTING /tmp/cceB4D4U.s page 16 |
|
|
251 /* epilogue end (size=8) */ |
958,7 → 958,7 |
305 00ea 1091 0000 lds r17,(pCurrentTrackedObjectTable)+1 |
306 .stabn 68,0,352,.LM31-FrameMgr_processLine |
307 .LM31: |
GAS LISTING /tmp/ccf43P2i.s page 17 |
GAS LISTING /tmp/cceB4D4U.s page 17 |
|
|
308 00ee 8091 0000 lds r24,currentState |
1018,7 → 1018,7 |
362 0140 00D0 rcall UartInt_txByte |
363 .stabn 68,0,379,.LM39-FrameMgr_processLine |
364 .LM39: |
GAS LISTING /tmp/ccf43P2i.s page 18 |
GAS LISTING /tmp/cceB4D4U.s page 18 |
|
|
365 0142 D801 movw r26,r16 |
1078,7 → 1078,7 |
419 .LM47: |
420 0194 8834 cpi r24,lo8(72) |
421 0196 60F0 brlo .L31 |
GAS LISTING /tmp/ccf43P2i.s page 19 |
GAS LISTING /tmp/cceB4D4U.s page 19 |
|
|
422 .stabn 68,0,398,.LM48-FrameMgr_processLine |
1138,7 → 1138,7 |
611:FrameMgr.c **** finding the connectedness between two particular run- |
612:FrameMgr.c **** length encoded lines of pixel data. It updates the |
613:FrameMgr.c **** trackingTable as needed. |
GAS LISTING /tmp/ccf43P2i.s page 20 |
GAS LISTING /tmp/cceB4D4U.s page 20 |
|
|
614:FrameMgr.c **** Inputs: none |
1198,7 → 1198,7 |
668:FrameMgr.c **** connectedness */ |
669:FrameMgr.c **** lastLineXStart = *(pTrackedObjectData + LAST_LINE_X_START_OFFSET); |
670:FrameMgr.c **** lastLineXFinish = *(pTrackedObjectData + LAST_LINE_X_FINISH_OFFSET); |
GAS LISTING /tmp/ccf43P2i.s page 21 |
GAS LISTING /tmp/cceB4D4U.s page 21 |
|
|
671:FrameMgr.c **** |
1258,7 → 1258,7 |
725:FrameMgr.c **** upper left Y point, since each scan line we process moves from |
726:FrameMgr.c **** top to bottom */ |
727:FrameMgr.c **** *(pTrackedObjectData + X_UPPER_LEFT_OFFSET) = currPixelRunStart; |
GAS LISTING /tmp/ccf43P2i.s page 22 |
GAS LISTING /tmp/cceB4D4U.s page 22 |
|
|
728:FrameMgr.c **** } |
1318,7 → 1318,7 |
474 .stabn 68,0,663,.LM59-FrameMgr_processLine |
475 .LM59: |
476 01d6 CF2C mov r12,r15 |
GAS LISTING /tmp/ccf43P2i.s page 23 |
GAS LISTING /tmp/cceB4D4U.s page 23 |
|
|
477 01d8 DD24 clr r13 |
1378,7 → 1378,7 |
531 022a A9F5 brne .L40 |
532 022c 0F2E mov __tmp_reg__,r31 |
533 022e F6E0 ldi r31,lo8(6) |
GAS LISTING /tmp/ccf43P2i.s page 24 |
GAS LISTING /tmp/cceB4D4U.s page 24 |
|
|
534 0230 AF2E mov r10,r31 |
1438,7 → 1438,7 |
588 027e 8381 ldd r24,Z+3 |
589 0280 5817 cp r21,r24 |
590 0282 08F4 brsh .L50 |
GAS LISTING /tmp/ccf43P2i.s page 25 |
GAS LISTING /tmp/cceB4D4U.s page 25 |
|
|
591 .stabn 68,0,727,.LM72-FrameMgr_processLine |
1498,7 → 1498,7 |
645 02b8 FD01 movw r30,r26 |
646 02ba 5183 std Z+1,r21 |
647 .stabn 68,0,776,.LM83-FrameMgr_processLine |
GAS LISTING /tmp/ccf43P2i.s page 26 |
GAS LISTING /tmp/cceB4D4U.s page 26 |
|
|
648 .LM83: |
1558,7 → 1558,7 |
690 .LM92: |
691 02e6 8C91 ld r24,X |
692 02e8 8130 cpi r24,lo8(1) |
GAS LISTING /tmp/ccf43P2i.s page 27 |
GAS LISTING /tmp/cceB4D4U.s page 27 |
|
|
693 02ea A1F4 brne .L64 |
1618,7 → 1618,7 |
747 .LBB6: |
748 .LBB7: |
749 .stabn 68,0,757,.LM101-FrameMgr_processLine |
GAS LISTING /tmp/ccf43P2i.s page 28 |
GAS LISTING /tmp/cceB4D4U.s page 28 |
|
|
750 .LM101: |
1678,7 → 1678,7 |
804 .stabn 68,0,192,.LM103-FrameMgr_init |
805 .LM103: |
806 0372 80E4 ldi r24,lo8(64) |
GAS LISTING /tmp/ccf43P2i.s page 29 |
GAS LISTING /tmp/cceB4D4U.s page 29 |
|
|
807 0374 E0E0 ldi r30,lo8(trackedObjectTable) |
1738,7 → 1738,7 |
861 .stabn 68,0,310,.LM110-FrameMgr_acquireLine |
862 .LM110: |
863 03ac 829B sbis 48-0x20,2 |
GAS LISTING /tmp/ccf43P2i.s page 30 |
GAS LISTING /tmp/cceB4D4U.s page 30 |
|
|
864 03ae 07C0 rjmp .L110 |
1798,7 → 1798,7 |
918 03ec 0895 ret |
919 /* epilogue: frame size=0 */ |
920 /* epilogue: noreturn */ |
GAS LISTING /tmp/ccf43P2i.s page 31 |
GAS LISTING /tmp/cceB4D4U.s page 31 |
|
|
921 /* epilogue end (size=0) */ |
1858,7 → 1858,7 |
975 0420 0895 ret |
976 /* epilogue: frame size=0 */ |
977 /* epilogue: noreturn */ |
GAS LISTING /tmp/ccf43P2i.s page 32 |
GAS LISTING /tmp/cceB4D4U.s page 32 |
|
|
978 /* epilogue end (size=0) */ |
1918,7 → 1918,7 |
1032 .stabn 68,0,215,.LM133-FrameMgr_dispatchEvent |
1033 .LM133: |
1034 0454 82E0 ldi r24,lo8(2) |
GAS LISTING /tmp/ccf43P2i.s page 33 |
GAS LISTING /tmp/cceB4D4U.s page 33 |
|
|
1035 0456 8093 0000 sts currentState,r24 |
1978,7 → 1978,7 |
1089 .lcomm numCurrTrackedObjects,1 |
1090 .lcomm currentState,1 |
1091 .lcomm lineCount,1 |
GAS LISTING /tmp/ccf43P2i.s page 34 |
GAS LISTING /tmp/cceB4D4U.s page 34 |
|
|
1092 .lcomm trackedLineCount,1 |
1995,29 → 1995,29 |
1103 .stabs "",100,0,0,.Letext0 |
1104 .Letext0: |
1105 /* File "FrameMgr.c": code 580 = 0x0244 ( 513), prologues 33, epilogues 34 */ |
GAS LISTING /tmp/ccf43P2i.s page 35 |
GAS LISTING /tmp/cceB4D4U.s page 35 |
|
|
DEFINED SYMBOLS |
*ABS*:00000000 FrameMgr.c |
/tmp/ccf43P2i.s:3 *ABS*:0000003f __SREG__ |
/tmp/ccf43P2i.s:4 *ABS*:0000003e __SP_H__ |
/tmp/ccf43P2i.s:5 *ABS*:0000003d __SP_L__ |
/tmp/ccf43P2i.s:6 *ABS*:00000000 __tmp_reg__ |
/tmp/ccf43P2i.s:7 *ABS*:00000001 __zero_reg__ |
/tmp/ccf43P2i.s:91 .text:00000000 FrameMgr_processFrame |
/tmp/ccf43P2i.s:1087 .data:00000000 pCurrentTrackedObjectTable |
/tmp/cceB4D4U.s:3 *ABS*:0000003f __SREG__ |
/tmp/cceB4D4U.s:4 *ABS*:0000003e __SP_H__ |
/tmp/cceB4D4U.s:5 *ABS*:0000003d __SP_L__ |
/tmp/cceB4D4U.s:6 *ABS*:00000000 __tmp_reg__ |
/tmp/cceB4D4U.s:7 *ABS*:00000001 __zero_reg__ |
/tmp/cceB4D4U.s:91 .text:00000000 FrameMgr_processFrame |
/tmp/cceB4D4U.s:1087 .data:00000000 pCurrentTrackedObjectTable |
.bss:00000000 numCurrTrackedObjects |
/tmp/ccf43P2i.s:270 .text:000000b2 FrameMgr_processLine |
/tmp/ccf43P2i.s:1089 .bss:00000001 currentState |
/tmp/ccf43P2i.s:1090 .bss:00000002 lineCount |
/tmp/ccf43P2i.s:1091 .bss:00000003 trackedLineCount |
/tmp/ccf43P2i.s:798 .text:00000372 FrameMgr_init |
/tmp/ccf43P2i.s:1093 .bss:00000005 trackedObjectTable |
/tmp/ccf43P2i.s:823 .text:00000380 FrameMgr_acquireLine |
/tmp/ccf43P2i.s:933 .text:000003ee FrameMgr_acquireFrame |
/tmp/ccf43P2i.s:1092 .bss:00000004 numPrevTrackedObjects |
/tmp/ccf43P2i.s:988 .text:00000422 FrameMgr_dispatchEvent |
/tmp/cceB4D4U.s:270 .text:000000b2 FrameMgr_processLine |
/tmp/cceB4D4U.s:1089 .bss:00000001 currentState |
/tmp/cceB4D4U.s:1090 .bss:00000002 lineCount |
/tmp/cceB4D4U.s:1091 .bss:00000003 trackedLineCount |
/tmp/cceB4D4U.s:798 .text:00000372 FrameMgr_init |
/tmp/cceB4D4U.s:1093 .bss:00000005 trackedObjectTable |
/tmp/cceB4D4U.s:823 .text:00000380 FrameMgr_acquireLine |
/tmp/cceB4D4U.s:933 .text:000003ee FrameMgr_acquireFrame |
/tmp/cceB4D4U.s:1092 .bss:00000004 numPrevTrackedObjects |
/tmp/cceB4D4U.s:988 .text:00000422 FrameMgr_dispatchEvent |
|
UNDEFINED SYMBOLS |
__do_copy_data |