Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 173 → Rev 174

/programy/Atmel_C/AVRcam/FrameMgr.lst
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