| 182 | 
           kaklik | 
           1 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 1
  | 
        
        
           | 174 | 
           kaklik | 
           2 | 
              | 
        
        
            | 
            | 
           3 | 
              | 
        
        
            | 
            | 
           4 | 
              1               		.file	"CamConfig.c"
  | 
        
        
            | 
            | 
           5 | 
              2               		.arch atmega8
  | 
        
        
            | 
            | 
           6 | 
              3               	__SREG__ = 0x3f
  | 
        
        
            | 
            | 
           7 | 
              4               	__SP_H__ = 0x3e
  | 
        
        
            | 
            | 
           8 | 
              5               	__SP_L__ = 0x3d
  | 
        
        
            | 
            | 
           9 | 
              6               	__tmp_reg__ = 0
  | 
        
        
            | 
            | 
           10 | 
              7               	__zero_reg__ = 1
  | 
        
        
            | 
            | 
           11 | 
              8               		.global __do_copy_data
  | 
        
        
            | 
            | 
           12 | 
              9               		.global __do_clear_bss
  | 
        
        
            | 
            | 
           13 | 
             10               		.stabs	"/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext0
  | 
        
        
            | 
            | 
           14 | 
             11               		.stabs	"CamConfig.c",100,0,2,.Ltext0
  | 
        
        
            | 
            | 
           15 | 
             12               		.text
  | 
        
        
            | 
            | 
           16 | 
             13               	.Ltext0:
  | 
        
        
            | 
            | 
           17 | 
             14               		.stabs	"gcc2_compiled.",60,0,0,0
  | 
        
        
            | 
            | 
           18 | 
             15               		.stabs	"int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
  | 
        
        
            | 
            | 
           19 | 
             16               		.stabs	"char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0
  | 
        
        
            | 
            | 
           20 | 
             17               		.stabs	"long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,0
  | 
        
        
            | 
            | 
           21 | 
             18               		.stabs	"unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0
  | 
        
        
            | 
            | 
           22 | 
             19               		.stabs	"long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,0
  | 
        
        
            | 
            | 
           23 | 
             20               		.stabs	"long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,
  | 
        
        
            | 
            | 
           24 | 
             21               		.stabs	"long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,0
  | 
        
        
            | 
            | 
           25 | 
             22               		.stabs	"short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
  | 
        
        
            | 
            | 
           26 | 
             23               		.stabs	"short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0
  | 
        
        
            | 
            | 
           27 | 
             24               		.stabs	"signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
  | 
        
        
            | 
            | 
           28 | 
             25               		.stabs	"unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
  | 
        
        
            | 
            | 
           29 | 
             26               		.stabs	"float:t(0,12)=r(0,1);4;0;",128,0,0,0
  | 
        
        
            | 
            | 
           30 | 
             27               		.stabs	"double:t(0,13)=r(0,1);4;0;",128,0,0,0
  | 
        
        
            | 
            | 
           31 | 
             28               		.stabs	"long double:t(0,14)=r(0,1);4;0;",128,0,0,0
  | 
        
        
            | 
            | 
           32 | 
             29               		.stabs	"void:t(0,15)=(0,15)",128,0,0,0
  | 
        
        
            | 
            | 
           33 | 
             30               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/io.h",130,0,0,0
  | 
        
        
            | 
            | 
           34 | 
             31               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
  | 
        
        
            | 
            | 
           35 | 
             32               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/inttypes.h",130,0,0,0
  | 
        
        
            | 
            | 
           36 | 
             33               		.stabs	"/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdint.h",130,0,0,0
  | 
        
        
            | 
            | 
           37 | 
             34               		.stabs	"int8_t:t(4,1)=(0,10)",128,0,116,0
  | 
        
        
            | 
            | 
           38 | 
             35               		.stabs	"uint8_t:t(4,2)=(0,11)",128,0,117,0
  | 
        
        
            | 
            | 
           39 | 
             36               		.stabs	"int16_t:t(4,3)=(0,1)",128,0,118,0
  | 
        
        
            | 
            | 
           40 | 
             37               		.stabs	"uint16_t:t(4,4)=(0,4)",128,0,119,0
  | 
        
        
            | 
            | 
           41 | 
             38               		.stabs	"int32_t:t(4,5)=(0,3)",128,0,120,0
  | 
        
        
            | 
            | 
           42 | 
             39               		.stabs	"uint32_t:t(4,6)=(0,5)",128,0,121,0
  | 
        
        
            | 
            | 
           43 | 
             40               		.stabs	"int64_t:t(4,7)=(0,6)",128,0,122,0
  | 
        
        
            | 
            | 
           44 | 
             41               		.stabs	"uint64_t:t(4,8)=(0,7)",128,0,123,0
  | 
        
        
            | 
            | 
           45 | 
             42               		.stabs	"intptr_t:t(4,9)=(4,3)",128,0,135,0
  | 
        
        
            | 
            | 
           46 | 
             43               		.stabs	"uintptr_t:t(4,10)=(4,4)",128,0,140,0
  | 
        
        
            | 
            | 
           47 | 
             44               		.stabs	"int_least8_t:t(4,11)=(4,1)",128,0,152,0
  | 
        
        
            | 
            | 
           48 | 
             45               		.stabs	"uint_least8_t:t(4,12)=(4,2)",128,0,157,0
  | 
        
        
            | 
            | 
           49 | 
             46               		.stabs	"int_least16_t:t(4,13)=(4,3)",128,0,162,0
  | 
        
        
            | 
            | 
           50 | 
             47               		.stabs	"uint_least16_t:t(4,14)=(4,4)",128,0,167,0
  | 
        
        
            | 
            | 
           51 | 
             48               		.stabs	"int_least32_t:t(4,15)=(4,5)",128,0,172,0
  | 
        
        
            | 
            | 
           52 | 
             49               		.stabs	"uint_least32_t:t(4,16)=(4,6)",128,0,177,0
  | 
        
        
            | 
            | 
           53 | 
             50               		.stabs	"int_least64_t:t(4,17)=(4,7)",128,0,182,0
  | 
        
        
            | 
            | 
           54 | 
             51               		.stabs	"uint_least64_t:t(4,18)=(4,8)",128,0,187,0
  | 
        
        
            | 
            | 
           55 | 
             52               		.stabs	"int_fast8_t:t(4,19)=(4,1)",128,0,200,0
  | 
        
        
            | 
            | 
           56 | 
             53               		.stabs	"uint_fast8_t:t(4,20)=(4,2)",128,0,205,0
  | 
        
        
            | 
            | 
           57 | 
             54               		.stabs	"int_fast16_t:t(4,21)=(4,3)",128,0,210,0
  | 
        
        
            | 
            | 
           58 | 
             55               		.stabs	"uint_fast16_t:t(4,22)=(4,4)",128,0,215,0
  | 
        
        
            | 
            | 
           59 | 
             56               		.stabs	"int_fast32_t:t(4,23)=(4,5)",128,0,220,0
  | 
        
        
            | 
            | 
           60 | 
             57               		.stabs	"uint_fast32_t:t(4,24)=(4,6)",128,0,225,0
  | 
        
        
           | 182 | 
           kaklik | 
           61 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 2
  | 
        
        
           | 174 | 
           kaklik | 
           62 | 
              | 
        
        
            | 
            | 
           63 | 
              | 
        
        
            | 
            | 
           64 | 
             58               		.stabs	"int_fast64_t:t(4,25)=(4,7)",128,0,230,0
  | 
        
        
            | 
            | 
           65 | 
             59               		.stabs	"uint_fast64_t:t(4,26)=(4,8)",128,0,235,0
  | 
        
        
            | 
            | 
           66 | 
             60               		.stabs	"intmax_t:t(4,27)=(4,7)",128,0,249,0
  | 
        
        
            | 
            | 
           67 | 
             61               		.stabs	"uintmax_t:t(4,28)=(4,8)",128,0,254,0
  | 
        
        
            | 
            | 
           68 | 
             62               		.stabn	162,0,0,0
  | 
        
        
            | 
            | 
           69 | 
             63               		.stabs	"int_farptr_t:t(3,1)=(4,5)",128,0,76,0
  | 
        
        
            | 
            | 
           70 | 
             64               		.stabs	"uint_farptr_t:t(3,2)=(4,6)",128,0,80,0
  | 
        
        
            | 
            | 
           71 | 
             65               		.stabn	162,0,0,0
  | 
        
        
            | 
            | 
           72 | 
             66               		.stabn	162,0,0,0
  | 
        
        
            | 
            | 
           73 | 
             67               		.stabn	162,0,0,0
  | 
        
        
            | 
            | 
           74 | 
             68               		.stabs	"CamConfig.h",130,0,0,0
  | 
        
        
            | 
            | 
           75 | 
             69               		.stabs	"I2CInterface.h",130,0,0,0
  | 
        
        
            | 
            | 
           76 | 
             70               		.stabs	"CommonDefs.h",130,0,0,0
  | 
        
        
            | 
            | 
           77 | 
             71               		.stabs	"bool_t:t(7,1)=(0,11)",128,0,56,0
  | 
        
        
            | 
            | 
           78 | 
             72               		.stabn	162,0,0,0
  | 
        
        
            | 
            | 
           79 | 
             73               		.stabs	"i2cCmd_t:t(6,1)=(6,2)=s2configReg:(0,11),0,8;data:(0,11),8,8;;",128,0,53,0
  | 
        
        
            | 
            | 
           80 | 
             74               		.stabn	162,0,0,0
  | 
        
        
            | 
            | 
           81 | 
             75               		.stabn	162,0,0,0
  | 
        
        
            | 
            | 
           82 | 
             76               		.stabs	"CamConfig_writeTxFifo:F(7,1)",36,0,155,CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           83 | 
             77               		.stabs	"cmd:P(6,1)",64,0,154,24
  | 
        
        
            | 
            | 
           84 | 
             78               	.global	CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           85 | 
             79               		.type	CamConfig_writeTxFifo, @function
  | 
        
        
            | 
            | 
           86 | 
             80               	CamConfig_writeTxFifo:
  | 
        
        
            | 
            | 
           87 | 
             81               		.stabd	46,0,0
  | 
        
        
            | 
            | 
           88 | 
              1:CamConfig.c   **** /*
  | 
        
        
            | 
            | 
           89 | 
              2:CamConfig.c   ****     Copyright (C) 2004    John Orlando
  | 
        
        
            | 
            | 
           90 | 
              3:CamConfig.c   ****     
  | 
        
        
            | 
            | 
           91 | 
              4:CamConfig.c   ****    AVRcam: a small real-time image processing engine.
  | 
        
        
            | 
            | 
           92 | 
              5:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           93 | 
              6:CamConfig.c   ****     This program is free software; you can redistribute it and/or
  | 
        
        
            | 
            | 
           94 | 
              7:CamConfig.c   ****     modify it under the terms of the GNU General Public
  | 
        
        
            | 
            | 
           95 | 
              8:CamConfig.c   ****     License as published by the Free Software Foundation; either
  | 
        
        
            | 
            | 
           96 | 
              9:CamConfig.c   ****     version 2 of the License, or (at your option) any later version.
  | 
        
        
            | 
            | 
           97 | 
             10:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           98 | 
             11:CamConfig.c   ****     This program is distributed in the hope that it will be useful,
  | 
        
        
            | 
            | 
           99 | 
             12:CamConfig.c   ****     but WITHOUT ANY WARRANTY; without even the implied warranty of
  | 
        
        
            | 
            | 
           100 | 
             13:CamConfig.c   ****     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  | 
        
        
            | 
            | 
           101 | 
             14:CamConfig.c   ****     General Public License for more details.
  | 
        
        
            | 
            | 
           102 | 
             15:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           103 | 
             16:CamConfig.c   ****     You should have received a copy of the GNU General Public
  | 
        
        
            | 
            | 
           104 | 
             17:CamConfig.c   ****     License along with this program; if not, write to the Free Software
  | 
        
        
            | 
            | 
           105 | 
             18:CamConfig.c   ****     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  | 
        
        
            | 
            | 
           106 | 
             19:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           107 | 
             20:CamConfig.c   ****    For more information on the AVRcam, please contact:
  | 
        
        
            | 
            | 
           108 | 
             21:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           109 | 
             22:CamConfig.c   ****    john@jrobot.net
  | 
        
        
            | 
            | 
           110 | 
             23:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           111 | 
             24:CamConfig.c   ****    or go to www.jrobot.net for more details regarding the system.
  | 
        
        
            | 
            | 
           112 | 
             25:CamConfig.c   **** */
  | 
        
        
            | 
            | 
           113 | 
             26:CamConfig.c   **** /**********************************************************
  | 
        
        
            | 
            | 
           114 | 
             27:CamConfig.c   **** 	Module Name: CamConfig.c
  | 
        
        
            | 
            | 
           115 | 
             28:CamConfig.c   **** 	Module Date: 04/10/2004
  | 
        
        
            | 
            | 
           116 | 
             29:CamConfig.c   ****     Module Auth: John Orlando 
  | 
        
        
            | 
            | 
           117 | 
             30:CamConfig.c   **** 	
  | 
        
        
            | 
            | 
           118 | 
             31:CamConfig.c   **** 	Description: This module is responsible for the 
  | 
        
        
            | 
            | 
           119 | 
             32:CamConfig.c   **** 	high-level configuration activities of the OV6620
  | 
        
        
            | 
            | 
           120 | 
             33:CamConfig.c   **** 	camera module.  This module interfaces with the
  | 
        
        
           | 182 | 
           kaklik | 
           121 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 3
  | 
        
        
           | 174 | 
           kaklik | 
           122 | 
              | 
        
        
            | 
            | 
           123 | 
              | 
        
        
            | 
            | 
           124 | 
             34:CamConfig.c   **** 	I2CInterface module to perform this configuration.
  | 
        
        
            | 
            | 
           125 | 
             35:CamConfig.c   ****     
  | 
        
        
            | 
            | 
           126 | 
             36:CamConfig.c   ****     Revision History:
  | 
        
        
            | 
            | 
           127 | 
             37:CamConfig.c   ****     Date        Rel Ver.    Notes
  | 
        
        
            | 
            | 
           128 | 
             38:CamConfig.c   ****     4/10/2004      0.1     Module created
  | 
        
        
            | 
            | 
           129 | 
             39:CamConfig.c   ****     6/30/2004      1.0     Initial release for Circuit Cellar
  | 
        
        
            | 
            | 
           130 | 
             40:CamConfig.c   ****                            contest.
  | 
        
        
            | 
            | 
           131 | 
             41:CamConfig.c   ****     11/15/2004     1.2     Added code to un-tri-state the
  | 
        
        
            | 
            | 
           132 | 
             42:CamConfig.c   ****                            OV6620's pixel data busses at
  | 
        
        
            | 
            | 
           133 | 
             43:CamConfig.c   ****                            startup after four seconds.  
  | 
        
        
            | 
            | 
           134 | 
             44:CamConfig.c   ****                            This was added in to 
  | 
        
        
            | 
            | 
           135 | 
             45:CamConfig.c   ****                            allow the user to re-program the
  | 
        
        
            | 
            | 
           136 | 
             46:CamConfig.c   ****                            mega8 at startup if needed.
  | 
        
        
            | 
            | 
           137 | 
             47:CamConfig.c   **** ***********************************************************/
  | 
        
        
            | 
            | 
           138 | 
             48:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           139 | 
             49:CamConfig.c   **** /*  Includes */
  | 
        
        
            | 
            | 
           140 | 
             50:CamConfig.c   **** #include <avr/io.h>
  | 
        
        
            | 
            | 
           141 | 
             51:CamConfig.c   **** #include "CamConfig.h"
  | 
        
        
            | 
            | 
           142 | 
             52:CamConfig.c   **** #include "I2CInterface.h"
  | 
        
        
            | 
            | 
           143 | 
             53:CamConfig.c   **** #include "CommonDefs.h"
  | 
        
        
            | 
            | 
           144 | 
             54:CamConfig.c   **** #include "Utility.h"
  | 
        
        
            | 
            | 
           145 | 
             55:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           146 | 
             56:CamConfig.c   **** /**********************************************************/
  | 
        
        
            | 
            | 
           147 | 
             57:CamConfig.c   **** /*  Definitions */
  | 
        
        
            | 
            | 
           148 | 
             58:CamConfig.c   **** /* The length of an I2C command is made up of a register address
  | 
        
        
            | 
            | 
           149 | 
             59:CamConfig.c   **** plus the actual value of the register */
  | 
        
        
            | 
            | 
           150 | 
             60:CamConfig.c   **** #define SIZE_OF_I2C_CMD 2
  | 
        
        
            | 
            | 
           151 | 
             61:CamConfig.c   **** #define MAX_NUM_CONFIG_CMDS 8
  | 
        
        
            | 
            | 
           152 | 
             62:CamConfig.c   **** #define CAM_CONFIG_TX_FIFO_SIZE MAX_NUM_CONFIG_CMDS 
  | 
        
        
            | 
            | 
           153 | 
             63:CamConfig.c   **** #define CAM_CONFIG_TX_FIFO_MASK CAM_CONFIG_TX_FIFO_SIZE-1
  | 
        
        
            | 
            | 
           154 | 
             64:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           155 | 
             65:CamConfig.c   **** /*  Local Variables */
  | 
        
        
            | 
            | 
           156 | 
             66:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           157 | 
             67:CamConfig.c   **** /*  Local Structures and Typedefs */
  | 
        
        
            | 
            | 
           158 | 
             68:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           159 | 
             69:CamConfig.c   **** /*  Local Function Prototypes */
  | 
        
        
            | 
            | 
           160 | 
             70:CamConfig.c   **** static i2cCmd_t CamConfig_readTxFifo(void);
  | 
        
        
            | 
            | 
           161 | 
             71:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           162 | 
             72:CamConfig.c   **** /*  Extern Variables */
  | 
        
        
            | 
            | 
           163 | 
             73:CamConfig.c   **** i2cCmd_t 		CamConfig_txFifo[CAM_CONFIG_TX_FIFO_SIZE];
  | 
        
        
            | 
            | 
           164 | 
             74:CamConfig.c   **** unsigned char CamConfig_txFifoHead=0;
  | 
        
        
            | 
            | 
           165 | 
             75:CamConfig.c   **** unsigned char CamConfig_txFifoTail=0;
  | 
        
        
            | 
            | 
           166 | 
             76:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           167 | 
             77:CamConfig.c   **** /***********************************************************
  | 
        
        
            | 
            | 
           168 | 
             78:CamConfig.c   **** 	Function Name: CamConfig_init
  | 
        
        
            | 
            | 
           169 | 
             79:CamConfig.c   **** 	Function Description: This function is responsible for
  | 
        
        
            | 
            | 
           170 | 
             80:CamConfig.c   **** 	performing the initial configuration of the camera.
  | 
        
        
            | 
            | 
           171 | 
             81:CamConfig.c   **** 	Inputs:  none
  | 
        
        
            | 
            | 
           172 | 
             82:CamConfig.c   **** 	Outputs: none
  | 
        
        
            | 
            | 
           173 | 
             83:CamConfig.c   **** ***********************************************************/	
  | 
        
        
            | 
            | 
           174 | 
             84:CamConfig.c   **** void CamConfig_init(void)
  | 
        
        
            | 
            | 
           175 | 
             85:CamConfig.c   **** {
  | 
        
        
            | 
            | 
           176 | 
             86:CamConfig.c   **** 	CamConfig_setCamReg(0x14,0x20);  /* reduce frame size */
  | 
        
        
            | 
            | 
           177 | 
             87:CamConfig.c   **** 	CamConfig_setCamReg(0x39,0x40);  /* gate PCLK with HREF */
  | 
        
        
            | 
            | 
           178 | 
             88:CamConfig.c   **** 	CamConfig_setCamReg(0x12,0x28);  /* set RGB mode, with no AWB */
  | 
        
        
            | 
            | 
           179 | 
             89:CamConfig.c   **** 	CamConfig_setCamReg(0x28,0x05);  /* set color sequencer */
  | 
        
        
            | 
            | 
           180 | 
             90:CamConfig.c   ****     CamConfig_setCamReg(0x13,0x01);  /* un-tri-state the Y/UV lines */
  | 
        
        
           | 182 | 
           kaklik | 
           181 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 4
  | 
        
        
           | 174 | 
           kaklik | 
           182 | 
              | 
        
        
            | 
            | 
           183 | 
              | 
        
        
            | 
            | 
           184 | 
             91:CamConfig.c   **** 	
  | 
        
        
            | 
            | 
           185 | 
             92:CamConfig.c   **** 	/* send the first four cmds in the I2C fifo */
  | 
        
        
            | 
            | 
           186 | 
             93:CamConfig.c   **** 	CamConfig_sendFifoCmds();	
  | 
        
        
            | 
            | 
           187 | 
             94:CamConfig.c   **** }
  | 
        
        
            | 
            | 
           188 | 
             95:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           189 | 
             96:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           190 | 
             97:CamConfig.c   **** /***********************************************************
  | 
        
        
            | 
            | 
           191 | 
             98:CamConfig.c   **** 	Function Name: CamConfig_setCamReg
  | 
        
        
            | 
            | 
           192 | 
             99:CamConfig.c   **** 	Function Description: This function is responsible for
  | 
        
        
            | 
            | 
           193 | 
            100:CamConfig.c   **** 	creating an I2C cmd structure and placing it into the
  | 
        
        
            | 
            | 
           194 | 
            101:CamConfig.c   **** 	cmd fifo.
  | 
        
        
            | 
            | 
           195 | 
            102:CamConfig.c   **** 	Inputs:  reg - the register to modify
  | 
        
        
            | 
            | 
           196 | 
            103:CamConfig.c   **** 	         val - the new value of the register
  | 
        
        
            | 
            | 
           197 | 
            104:CamConfig.c   **** 	Outputs: none
  | 
        
        
            | 
            | 
           198 | 
            105:CamConfig.c   **** ***********************************************************/	
  | 
        
        
            | 
            | 
           199 | 
            106:CamConfig.c   **** void CamConfig_setCamReg(unsigned char reg, unsigned char val)
  | 
        
        
            | 
            | 
           200 | 
            107:CamConfig.c   **** {
  | 
        
        
            | 
            | 
           201 | 
            108:CamConfig.c   **** 	i2cCmd_t cmd;
  | 
        
        
            | 
            | 
           202 | 
            109:CamConfig.c   **** 	
  | 
        
        
            | 
            | 
           203 | 
            110:CamConfig.c   **** 	cmd.configReg = reg;
  | 
        
        
            | 
            | 
           204 | 
            111:CamConfig.c   **** 	cmd.data = val;
  | 
        
        
            | 
            | 
           205 | 
            112:CamConfig.c   **** #ifndef SIMULATION	
  | 
        
        
            | 
            | 
           206 | 
            113:CamConfig.c   **** 	CamConfig_writeTxFifo(cmd);
  | 
        
        
            | 
            | 
           207 | 
            114:CamConfig.c   **** #endif	
  | 
        
        
            | 
            | 
           208 | 
            115:CamConfig.c   **** }
  | 
        
        
            | 
            | 
           209 | 
            116:CamConfig.c   **** /***********************************************************
  | 
        
        
            | 
            | 
           210 | 
            117:CamConfig.c   **** 	Function Name: CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           211 | 
            118:CamConfig.c   **** 	Function Description: This function is responsible for
  | 
        
        
            | 
            | 
           212 | 
            119:CamConfig.c   **** 	sending the entire contents of the config fifo.  This
  | 
        
        
            | 
            | 
           213 | 
            120:CamConfig.c   **** 	function won't return until the configuration process
  | 
        
        
            | 
            | 
           214 | 
            121:CamConfig.c   **** 	is complete (or an error is encountered).
  | 
        
        
            | 
            | 
           215 | 
            122:CamConfig.c   **** 	Inputs:  none
  | 
        
        
            | 
            | 
           216 | 
            123:CamConfig.c   **** 	Outputs: none
  | 
        
        
            | 
            | 
           217 | 
            124:CamConfig.c   **** 	Note: Since this function is written to use the TWI
  | 
        
        
            | 
            | 
           218 | 
            125:CamConfig.c   **** 	interrupt in the I2CInterface module, there will be 
  | 
        
        
            | 
            | 
           219 | 
            126:CamConfig.c   **** 	some busy-waiting here...no big deal, since we end up
  | 
        
        
            | 
            | 
           220 | 
            127:CamConfig.c   **** 	having to trash the frame that we are executing this
  | 
        
        
            | 
            | 
           221 | 
            128:CamConfig.c   **** 	slave write in anyway (since we can't meet the strict
  | 
        
        
            | 
            | 
           222 | 
            129:CamConfig.c   **** 	timing requirements and write i2c at the same time).
  | 
        
        
            | 
            | 
           223 | 
            130:CamConfig.c   **** ***********************************************************/	
  | 
        
        
            | 
            | 
           224 | 
            131:CamConfig.c   **** void CamConfig_sendFifoCmds(void)
  | 
        
        
            | 
            | 
           225 | 
            132:CamConfig.c   **** {
  | 
        
        
            | 
            | 
           226 | 
            133:CamConfig.c   **** 	i2cCmd_t cmd;
  | 
        
        
            | 
            | 
           227 | 
            134:CamConfig.c   **** 	
  | 
        
        
            | 
            | 
           228 | 
            135:CamConfig.c   **** 	while (CamConfig_txFifoHead != CamConfig_txFifoTail)
  | 
        
        
            | 
            | 
           229 | 
            136:CamConfig.c   **** 	{
  | 
        
        
            | 
            | 
           230 | 
            137:CamConfig.c   **** 		cmd = CamConfig_readTxFifo();
  | 
        
        
            | 
            | 
           231 | 
            138:CamConfig.c   **** 		I2CInt_writeData(CAM_ADDRESS,&cmd.configReg,SIZE_OF_I2C_CMD);
  | 
        
        
            | 
            | 
           232 | 
            139:CamConfig.c   **** 		Utility_delay(100);		
  | 
        
        
            | 
            | 
           233 | 
            140:CamConfig.c   **** 		/* wait for the I2C transaction to complete */
  | 
        
        
            | 
            | 
           234 | 
            141:CamConfig.c   **** 		while(I2CInt_isI2cBusy() == TRUE);
  | 
        
        
            | 
            | 
           235 | 
            142:CamConfig.c   **** 	} 
  | 
        
        
            | 
            | 
           236 | 
            143:CamConfig.c   **** }
  | 
        
        
            | 
            | 
           237 | 
            144:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           238 | 
            145:CamConfig.c   **** /***********************************************************
  | 
        
        
            | 
            | 
           239 | 
            146:CamConfig.c   **** 	Function Name: CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           240 | 
            147:CamConfig.c   **** 	Function Description: This function is responsible for
  | 
        
        
           | 182 | 
           kaklik | 
           241 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 5
  | 
        
        
           | 174 | 
           kaklik | 
           242 | 
              | 
        
        
            | 
            | 
           243 | 
              | 
        
        
            | 
            | 
           244 | 
            148:CamConfig.c   **** 	adding a new command to the tx fifo.  It adjusts all
  | 
        
        
            | 
            | 
           245 | 
            149:CamConfig.c   **** 	needed pointers.
  | 
        
        
            | 
            | 
           246 | 
            150:CamConfig.c   **** 	Inputs:  cmd - the i2cCmd_t to add to the fifo
  | 
        
        
            | 
            | 
           247 | 
            151:CamConfig.c   **** 	Outputs: bool_t - indicating if writing to the fifo
  | 
        
        
            | 
            | 
           248 | 
            152:CamConfig.c   **** 	         causes it to wrap
  | 
        
        
            | 
            | 
           249 | 
            153:CamConfig.c   **** ***********************************************************/	
  | 
        
        
            | 
            | 
           250 | 
            154:CamConfig.c   **** bool_t CamConfig_writeTxFifo(i2cCmd_t cmd)
  | 
        
        
            | 
            | 
           251 | 
            155:CamConfig.c   **** {
  | 
        
        
            | 
            | 
           252 | 
             82               		.stabn	68,0,155,.LM0-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           253 | 
             83               	.LM0:
  | 
        
        
            | 
            | 
           254 | 
             84               	/* prologue: frame size=0 */
  | 
        
        
            | 
            | 
           255 | 
             85               	/* prologue end (size=0) */
  | 
        
        
            | 
            | 
           256 | 
            156:CamConfig.c   **** 	unsigned char tmpHead;
  | 
        
        
            | 
            | 
           257 | 
            157:CamConfig.c   **** 	bool_t retVal = TRUE;
  | 
        
        
            | 
            | 
           258 | 
            158:CamConfig.c   ****  	
  | 
        
        
            | 
            | 
           259 | 
            159:CamConfig.c   **** 	CamConfig_txFifo[CamConfig_txFifoHead] = cmd;
  | 
        
        
            | 
            | 
           260 | 
             86               		.stabn	68,0,159,.LM1-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           261 | 
             87               	.LM1:
  | 
        
        
            | 
            | 
           262 | 
             88 0000 2091 0000 		lds r18,CamConfig_txFifoHead
  | 
        
        
            | 
            | 
           263 | 
             89 0004 E22F      		mov r30,r18
  | 
        
        
            | 
            | 
           264 | 
             90 0006 FF27      		clr r31
  | 
        
        
            | 
            | 
           265 | 
             91 0008 EE0F      		lsl r30
  | 
        
        
            | 
            | 
           266 | 
             92 000a FF1F      		rol r31
  | 
        
        
            | 
            | 
           267 | 
             93 000c E050      		subi r30,lo8(-(CamConfig_txFifo))
  | 
        
        
            | 
            | 
           268 | 
             94 000e F040      		sbci r31,hi8(-(CamConfig_txFifo))
  | 
        
        
            | 
            | 
           269 | 
             95 0010 9183      		std Z+1,r25
  | 
        
        
            | 
            | 
           270 | 
             96 0012 8083      		st Z,r24
  | 
        
        
            | 
            | 
           271 | 
            160:CamConfig.c   **** 		
  | 
        
        
            | 
            | 
           272 | 
            161:CamConfig.c   **** 	/* see if we need to wrap */
  | 
        
        
            | 
            | 
           273 | 
            162:CamConfig.c   **** 	tmpHead = (CamConfig_txFifoHead+1) & (CAM_CONFIG_TX_FIFO_MASK);
  | 
        
        
            | 
            | 
           274 | 
             97               		.stabn	68,0,162,.LM2-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           275 | 
             98               	.LM2:
  | 
        
        
            | 
            | 
           276 | 
             99 0014 2F5F      		subi r18,lo8(-(1))
  | 
        
        
            | 
            | 
           277 | 
            100 0016 2770      		andi r18,lo8(7)
  | 
        
        
            | 
            | 
           278 | 
            163:CamConfig.c   **** 	CamConfig_txFifoHead = tmpHead;
  | 
        
        
            | 
            | 
           279 | 
            101               		.stabn	68,0,163,.LM3-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           280 | 
            102               	.LM3:
  | 
        
        
            | 
            | 
           281 | 
            103 0018 2093 0000 		sts CamConfig_txFifoHead,r18
  | 
        
        
            | 
            | 
           282 | 
            104 001c 90E0      		ldi r25,lo8(0)
  | 
        
        
            | 
            | 
           283 | 
            105 001e 8091 0000 		lds r24,CamConfig_txFifoTail
  | 
        
        
            | 
            | 
           284 | 
            106 0022 2817      		cp r18,r24
  | 
        
        
            | 
            | 
           285 | 
            107 0024 09F4      		brne .L2
  | 
        
        
            | 
            | 
           286 | 
            108               		.stabn	68,0,163,.LM4-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           287 | 
            109               	.LM4:
  | 
        
        
            | 
            | 
           288 | 
            110 0026 91E0      		ldi r25,lo8(1)
  | 
        
        
            | 
            | 
           289 | 
            111               	.L2:
  | 
        
        
            | 
            | 
           290 | 
            112 0028 81E0      		ldi r24,lo8(1)
  | 
        
        
            | 
            | 
           291 | 
            113 002a 8927      		eor r24,r25
  | 
        
        
            | 
            | 
           292 | 
            164:CamConfig.c   **** 	
  | 
        
        
            | 
            | 
           293 | 
            165:CamConfig.c   **** 	/* check to see if we have filled up the queue */
  | 
        
        
            | 
            | 
           294 | 
            166:CamConfig.c   **** 	if (CamConfig_txFifoHead == CamConfig_txFifoTail)
  | 
        
        
            | 
            | 
           295 | 
            167:CamConfig.c   **** 	{
  | 
        
        
            | 
            | 
           296 | 
            168:CamConfig.c   **** 		/* we wrapped the fifo...return false */
  | 
        
        
            | 
            | 
           297 | 
            169:CamConfig.c   **** 		retVal = FALSE;
  | 
        
        
            | 
            | 
           298 | 
            170:CamConfig.c   **** 	}
  | 
        
        
            | 
            | 
           299 | 
            171:CamConfig.c   **** 	return(retVal);
  | 
        
        
            | 
            | 
           300 | 
            172:CamConfig.c   **** }
  | 
        
        
           | 182 | 
           kaklik | 
           301 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 6
  | 
        
        
           | 174 | 
           kaklik | 
           302 | 
              | 
        
        
            | 
            | 
           303 | 
              | 
        
        
            | 
            | 
           304 | 
            114               		.stabn	68,0,172,.LM5-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           305 | 
            115               	.LM5:
  | 
        
        
            | 
            | 
           306 | 
            116 002c 9927      		clr r25
  | 
        
        
            | 
            | 
           307 | 
            117               	/* epilogue: frame size=0 */
  | 
        
        
            | 
            | 
           308 | 
            118 002e 0895      		ret
  | 
        
        
            | 
            | 
           309 | 
            119               	/* epilogue end (size=1) */
  | 
        
        
            | 
            | 
           310 | 
            120               	/* function CamConfig_writeTxFifo size 24 (23) */
  | 
        
        
            | 
            | 
           311 | 
            121               		.size	CamConfig_writeTxFifo, .-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           312 | 
            122               		.stabs	"tmpHead:r(0,11)",64,0,156,18
  | 
        
        
            | 
            | 
           313 | 
            123               		.stabn	192,0,0,CamConfig_writeTxFifo-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           314 | 
            124               		.stabn	224,0,0,.Lscope0-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           315 | 
            125               	.Lscope0:
  | 
        
        
            | 
            | 
           316 | 
            126               		.stabs	"",36,0,0,.Lscope0-CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           317 | 
            127               		.stabd	78,0,0
  | 
        
        
            | 
            | 
           318 | 
            128               		.stabs	"CamConfig_setCamReg:F(0,15)",36,0,107,CamConfig_setCamReg
  | 
        
        
            | 
            | 
           319 | 
            129               		.stabs	"reg:P(0,11)",64,0,106,24
  | 
        
        
            | 
            | 
           320 | 
            130               		.stabs	"val:P(0,11)",64,0,106,22
  | 
        
        
            | 
            | 
           321 | 
            131               	.global	CamConfig_setCamReg
  | 
        
        
            | 
            | 
           322 | 
            132               		.type	CamConfig_setCamReg, @function
  | 
        
        
            | 
            | 
           323 | 
            133               	CamConfig_setCamReg:
  | 
        
        
            | 
            | 
           324 | 
            134               		.stabd	46,0,0
  | 
        
        
            | 
            | 
           325 | 
            135               		.stabn	68,0,107,.LM6-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           326 | 
            136               	.LM6:
  | 
        
        
            | 
            | 
           327 | 
            137               	/* prologue: frame size=0 */
  | 
        
        
            | 
            | 
           328 | 
            138               	/* prologue end (size=0) */
  | 
        
        
            | 
            | 
           329 | 
            139               		.stabn	68,0,110,.LM7-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           330 | 
            140               	.LM7:
  | 
        
        
            | 
            | 
           331 | 
            141 0030 282F      		mov r18,r24
  | 
        
        
            | 
            | 
           332 | 
            142               		.stabn	68,0,111,.LM8-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           333 | 
            143               	.LM8:
  | 
        
        
            | 
            | 
           334 | 
            144 0032 362F      		mov r19,r22
  | 
        
        
            | 
            | 
           335 | 
            145               		.stabn	68,0,113,.LM9-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           336 | 
            146               	.LM9:
  | 
        
        
            | 
            | 
           337 | 
            147 0034 C901      		movw r24,r18
  | 
        
        
            | 
            | 
           338 | 
            148 0036 E4DF      		rcall CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           339 | 
            149               	/* epilogue: frame size=0 */
  | 
        
        
            | 
            | 
           340 | 
            150 0038 0895      		ret
  | 
        
        
            | 
            | 
           341 | 
            151               	/* epilogue end (size=1) */
  | 
        
        
            | 
            | 
           342 | 
            152               	/* function CamConfig_setCamReg size 5 (4) */
  | 
        
        
            | 
            | 
           343 | 
            153               		.size	CamConfig_setCamReg, .-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           344 | 
            154               		.stabs	"cmd:r(6,1)",64,0,108,18
  | 
        
        
            | 
            | 
           345 | 
            155               		.stabn	192,0,0,CamConfig_setCamReg-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           346 | 
            156               		.stabn	224,0,0,.Lscope1-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           347 | 
            157               	.Lscope1:
  | 
        
        
            | 
            | 
           348 | 
            158               		.stabs	"",36,0,0,.Lscope1-CamConfig_setCamReg
  | 
        
        
            | 
            | 
           349 | 
            159               		.stabd	78,0,0
  | 
        
        
            | 
            | 
           350 | 
            160               		.stabs	"CamConfig_sendFifoCmds:F(0,15)",36,0,132,CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           351 | 
            161               	.global	CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           352 | 
            162               		.type	CamConfig_sendFifoCmds, @function
  | 
        
        
            | 
            | 
           353 | 
            163               	CamConfig_sendFifoCmds:
  | 
        
        
            | 
            | 
           354 | 
            164               		.stabd	46,0,0
  | 
        
        
            | 
            | 
           355 | 
            165               		.stabn	68,0,132,.LM10-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           356 | 
            166               	.LM10:
  | 
        
        
            | 
            | 
           357 | 
            167               	/* prologue: frame size=2 */
  | 
        
        
            | 
            | 
           358 | 
            168 003a 0F93      		push r16
  | 
        
        
            | 
            | 
           359 | 
            169 003c 1F93      		push r17
  | 
        
        
            | 
            | 
           360 | 
            170 003e CF93      		push r28
  | 
        
        
           | 182 | 
           kaklik | 
           361 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 7
  | 
        
        
           | 174 | 
           kaklik | 
           362 | 
              | 
        
        
            | 
            | 
           363 | 
              | 
        
        
            | 
            | 
           364 | 
            171 0040 DF93      		push r29
  | 
        
        
            | 
            | 
           365 | 
            172 0042 CDB7      		in r28,__SP_L__
  | 
        
        
            | 
            | 
           366 | 
            173 0044 DEB7      		in r29,__SP_H__
  | 
        
        
            | 
            | 
           367 | 
            174 0046 2297      		sbiw r28,2
  | 
        
        
            | 
            | 
           368 | 
            175 0048 0FB6      		in __tmp_reg__,__SREG__
  | 
        
        
            | 
            | 
           369 | 
            176 004a F894      		cli
  | 
        
        
            | 
            | 
           370 | 
            177 004c DEBF      		out __SP_H__,r29
  | 
        
        
            | 
            | 
           371 | 
            178 004e 0FBE      		out __SREG__,__tmp_reg__
  | 
        
        
            | 
            | 
           372 | 
            179 0050 CDBF      		out __SP_L__,r28
  | 
        
        
            | 
            | 
           373 | 
            180               	/* prologue end (size=12) */
  | 
        
        
            | 
            | 
           374 | 
            181 0052 8E01      		movw r16,r28
  | 
        
        
            | 
            | 
           375 | 
            182 0054 0F5F      		subi r16,lo8(-(1))
  | 
        
        
            | 
            | 
           376 | 
            183 0056 1F4F      		sbci r17,hi8(-(1))
  | 
        
        
            | 
            | 
           377 | 
            184 0058 19C0      		rjmp .L7
  | 
        
        
            | 
            | 
           378 | 
            185               	.L8:
  | 
        
        
            | 
            | 
           379 | 
            186               	.LBB4:
  | 
        
        
            | 
            | 
           380 | 
            187               	.LBB5:
  | 
        
        
            | 
            | 
           381 | 
            173:CamConfig.c   **** 
  | 
        
        
            | 
            | 
           382 | 
            174:CamConfig.c   **** /***********************************************************
  | 
        
        
            | 
            | 
           383 | 
            175:CamConfig.c   **** 	Function Name: CamConfig_readTxFifo
  | 
        
        
            | 
            | 
           384 | 
            176:CamConfig.c   **** 	Function Description: This function is responsible for
  | 
        
        
            | 
            | 
           385 | 
            177:CamConfig.c   **** 	reading a cmd out of the tx fifo.
  | 
        
        
            | 
            | 
           386 | 
            178:CamConfig.c   **** 	Inputs:  none
  | 
        
        
            | 
            | 
           387 | 
            179:CamConfig.c   **** 	Outputs: i2cCmd_t - the cmd read from the fifo
  | 
        
        
            | 
            | 
           388 | 
            180:CamConfig.c   **** ***********************************************************/	
  | 
        
        
            | 
            | 
           389 | 
            181:CamConfig.c   **** static i2cCmd_t CamConfig_readTxFifo(void)
  | 
        
        
            | 
            | 
           390 | 
            182:CamConfig.c   **** {
  | 
        
        
            | 
            | 
           391 | 
            183:CamConfig.c   **** 	i2cCmd_t cmd;
  | 
        
        
            | 
            | 
           392 | 
            184:CamConfig.c   **** 	unsigned char tmpTail;
  | 
        
        
            | 
            | 
           393 | 
            185:CamConfig.c   **** 	
  | 
        
        
            | 
            | 
           394 | 
            186:CamConfig.c   **** 	/* just return the current tail from the rx fifo */
  | 
        
        
            | 
            | 
           395 | 
            187:CamConfig.c   **** 	cmd = CamConfig_txFifo[CamConfig_txFifoTail];	
  | 
        
        
            | 
            | 
           396 | 
            188               		.stabn	68,0,187,.LM11-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           397 | 
            189               	.LM11:
  | 
        
        
            | 
            | 
           398 | 
            190 005a E32F      		mov r30,r19
  | 
        
        
            | 
            | 
           399 | 
            191 005c FF27      		clr r31
  | 
        
        
            | 
            | 
           400 | 
            192 005e EE0F      		lsl r30
  | 
        
        
            | 
            | 
           401 | 
            193 0060 FF1F      		rol r31
  | 
        
        
            | 
            | 
           402 | 
            194 0062 E050      		subi r30,lo8(-(CamConfig_txFifo))
  | 
        
        
            | 
            | 
           403 | 
            195 0064 F040      		sbci r31,hi8(-(CamConfig_txFifo))
  | 
        
        
            | 
            | 
           404 | 
            196 0066 9181      		ldd r25,Z+1
  | 
        
        
            | 
            | 
           405 | 
            197 0068 2081      		ld r18,Z
  | 
        
        
            | 
            | 
           406 | 
            188:CamConfig.c   **** 	tmpTail = (CamConfig_txFifoTail+1) & (CAM_CONFIG_TX_FIFO_MASK);
  | 
        
        
            | 
            | 
           407 | 
            189:CamConfig.c   **** 	CamConfig_txFifoTail = tmpTail;
  | 
        
        
            | 
            | 
           408 | 
            198               		.stabn	68,0,189,.LM12-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           409 | 
            199               	.LM12:
  | 
        
        
            | 
            | 
           410 | 
            200 006a 832F      		mov r24,r19
  | 
        
        
            | 
            | 
           411 | 
            201 006c 8F5F      		subi r24,lo8(-(1))
  | 
        
        
            | 
            | 
           412 | 
            202 006e 8770      		andi r24,lo8(7)
  | 
        
        
            | 
            | 
           413 | 
            203 0070 8093 0000 		sts CamConfig_txFifoTail,r24
  | 
        
        
            | 
            | 
           414 | 
            204               		.stabn	68,0,137,.LM13-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           415 | 
            205               	.LM13:
  | 
        
        
            | 
            | 
           416 | 
            206 0074 9A83      		std Y+2,r25
  | 
        
        
            | 
            | 
           417 | 
            207 0076 2983      		std Y+1,r18
  | 
        
        
            | 
            | 
           418 | 
            208               	.LBE5:
  | 
        
        
            | 
            | 
           419 | 
            209               	.LBE4:
  | 
        
        
            | 
            | 
           420 | 
            210               		.stabn	68,0,138,.LM14-CamConfig_sendFifoCmds
  | 
        
        
           | 182 | 
           kaklik | 
           421 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 8
  | 
        
        
           | 174 | 
           kaklik | 
           422 | 
              | 
        
        
            | 
            | 
           423 | 
              | 
        
        
            | 
            | 
           424 | 
            211               	.LM14:
  | 
        
        
            | 
            | 
           425 | 
            212 0078 42E0      		ldi r20,lo8(2)
  | 
        
        
            | 
            | 
           426 | 
            213 007a B801      		movw r22,r16
  | 
        
        
            | 
            | 
           427 | 
            214 007c 80E6      		ldi r24,lo8(96)
  | 
        
        
            | 
            | 
           428 | 
            215 007e 00D0      		rcall I2CInt_writeData
  | 
        
        
            | 
            | 
           429 | 
            216               		.stabn	68,0,139,.LM15-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           430 | 
            217               	.LM15:
  | 
        
        
            | 
            | 
           431 | 
            218 0080 84E6      		ldi r24,lo8(100)
  | 
        
        
            | 
            | 
           432 | 
            219 0082 90E0      		ldi r25,hi8(100)
  | 
        
        
            | 
            | 
           433 | 
            220 0084 00D0      		rcall Utility_delay
  | 
        
        
            | 
            | 
           434 | 
            221               	.L9:
  | 
        
        
            | 
            | 
           435 | 
            222               		.stabn	68,0,141,.LM16-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           436 | 
            223               	.LM16:
  | 
        
        
            | 
            | 
           437 | 
            224 0086 00D0      		rcall I2CInt_isI2cBusy
  | 
        
        
            | 
            | 
           438 | 
            225 0088 8130      		cpi r24,lo8(1)
  | 
        
        
            | 
            | 
           439 | 
            226 008a E9F3      		breq .L9
  | 
        
        
            | 
            | 
           440 | 
            227               	.L7:
  | 
        
        
            | 
            | 
           441 | 
            228               		.stabn	68,0,135,.LM17-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           442 | 
            229               	.LM17:
  | 
        
        
            | 
            | 
           443 | 
            230 008c 3091 0000 		lds r19,CamConfig_txFifoTail
  | 
        
        
            | 
            | 
           444 | 
            231 0090 8091 0000 		lds r24,CamConfig_txFifoHead
  | 
        
        
            | 
            | 
           445 | 
            232 0094 8317      		cp r24,r19
  | 
        
        
            | 
            | 
           446 | 
            233 0096 09F7      		brne .L8
  | 
        
        
            | 
            | 
           447 | 
            234               	/* epilogue: frame size=2 */
  | 
        
        
            | 
            | 
           448 | 
            235 0098 2296      		adiw r28,2
  | 
        
        
            | 
            | 
           449 | 
            236 009a 0FB6      		in __tmp_reg__,__SREG__
  | 
        
        
            | 
            | 
           450 | 
            237 009c F894      		cli
  | 
        
        
            | 
            | 
           451 | 
            238 009e DEBF      		out __SP_H__,r29
  | 
        
        
            | 
            | 
           452 | 
            239 00a0 0FBE      		out __SREG__,__tmp_reg__
  | 
        
        
            | 
            | 
           453 | 
            240 00a2 CDBF      		out __SP_L__,r28
  | 
        
        
            | 
            | 
           454 | 
            241 00a4 DF91      		pop r29
  | 
        
        
            | 
            | 
           455 | 
            242 00a6 CF91      		pop r28
  | 
        
        
            | 
            | 
           456 | 
            243 00a8 1F91      		pop r17
  | 
        
        
            | 
            | 
           457 | 
            244 00aa 0F91      		pop r16
  | 
        
        
            | 
            | 
           458 | 
            245 00ac 0895      		ret
  | 
        
        
            | 
            | 
           459 | 
            246               	/* epilogue end (size=11) */
  | 
        
        
            | 
            | 
           460 | 
            247               	/* function CamConfig_sendFifoCmds size 58 (35) */
  | 
        
        
            | 
            | 
           461 | 
            248               		.size	CamConfig_sendFifoCmds, .-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           462 | 
            249               		.stabs	"cmd:(6,1)",128,0,133,1
  | 
        
        
            | 
            | 
           463 | 
            250               		.stabn	192,0,0,CamConfig_sendFifoCmds-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           464 | 
            251               		.stabn	224,0,0,.Lscope2-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           465 | 
            252               	.Lscope2:
  | 
        
        
            | 
            | 
           466 | 
            253               		.stabs	"",36,0,0,.Lscope2-CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           467 | 
            254               		.stabd	78,0,0
  | 
        
        
            | 
            | 
           468 | 
            255               		.stabs	"CamConfig_init:F(0,15)",36,0,85,CamConfig_init
  | 
        
        
            | 
            | 
           469 | 
            256               	.global	CamConfig_init
  | 
        
        
            | 
            | 
           470 | 
            257               		.type	CamConfig_init, @function
  | 
        
        
            | 
            | 
           471 | 
            258               	CamConfig_init:
  | 
        
        
            | 
            | 
           472 | 
            259               		.stabd	46,0,0
  | 
        
        
            | 
            | 
           473 | 
            260               		.stabn	68,0,85,.LM18-CamConfig_init
  | 
        
        
            | 
            | 
           474 | 
            261               	.LM18:
  | 
        
        
            | 
            | 
           475 | 
            262               	/* prologue: frame size=0 */
  | 
        
        
            | 
            | 
           476 | 
            263               	/* prologue end (size=0) */
  | 
        
        
            | 
            | 
           477 | 
            264               		.stabn	68,0,86,.LM19-CamConfig_init
  | 
        
        
            | 
            | 
           478 | 
            265               	.LM19:
  | 
        
        
            | 
            | 
           479 | 
            266 00ae 60E2      		ldi r22,lo8(32)
  | 
        
        
            | 
            | 
           480 | 
            267 00b0 84E1      		ldi r24,lo8(20)
  | 
        
        
           | 182 | 
           kaklik | 
           481 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 9
  | 
        
        
           | 174 | 
           kaklik | 
           482 | 
              | 
        
        
            | 
            | 
           483 | 
              | 
        
        
            | 
            | 
           484 | 
            268 00b2 BEDF      		rcall CamConfig_setCamReg
  | 
        
        
            | 
            | 
           485 | 
            269               		.stabn	68,0,87,.LM20-CamConfig_init
  | 
        
        
            | 
            | 
           486 | 
            270               	.LM20:
  | 
        
        
            | 
            | 
           487 | 
            271 00b4 60E4      		ldi r22,lo8(64)
  | 
        
        
            | 
            | 
           488 | 
            272 00b6 89E3      		ldi r24,lo8(57)
  | 
        
        
            | 
            | 
           489 | 
            273 00b8 BBDF      		rcall CamConfig_setCamReg
  | 
        
        
            | 
            | 
           490 | 
            274               		.stabn	68,0,88,.LM21-CamConfig_init
  | 
        
        
            | 
            | 
           491 | 
            275               	.LM21:
  | 
        
        
            | 
            | 
           492 | 
            276 00ba 68E2      		ldi r22,lo8(40)
  | 
        
        
            | 
            | 
           493 | 
            277 00bc 82E1      		ldi r24,lo8(18)
  | 
        
        
            | 
            | 
           494 | 
            278 00be B8DF      		rcall CamConfig_setCamReg
  | 
        
        
            | 
            | 
           495 | 
            279               		.stabn	68,0,89,.LM22-CamConfig_init
  | 
        
        
            | 
            | 
           496 | 
            280               	.LM22:
  | 
        
        
            | 
            | 
           497 | 
            281 00c0 65E0      		ldi r22,lo8(5)
  | 
        
        
            | 
            | 
           498 | 
            282 00c2 88E2      		ldi r24,lo8(40)
  | 
        
        
            | 
            | 
           499 | 
            283 00c4 B5DF      		rcall CamConfig_setCamReg
  | 
        
        
            | 
            | 
           500 | 
            284               		.stabn	68,0,90,.LM23-CamConfig_init
  | 
        
        
            | 
            | 
           501 | 
            285               	.LM23:
  | 
        
        
            | 
            | 
           502 | 
            286 00c6 61E0      		ldi r22,lo8(1)
  | 
        
        
            | 
            | 
           503 | 
            287 00c8 83E1      		ldi r24,lo8(19)
  | 
        
        
            | 
            | 
           504 | 
            288 00ca B2DF      		rcall CamConfig_setCamReg
  | 
        
        
            | 
            | 
           505 | 
            289               		.stabn	68,0,93,.LM24-CamConfig_init
  | 
        
        
            | 
            | 
           506 | 
            290               	.LM24:
  | 
        
        
            | 
            | 
           507 | 
            291 00cc B6DF      		rcall CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           508 | 
            292               	/* epilogue: frame size=0 */
  | 
        
        
            | 
            | 
           509 | 
            293 00ce 0895      		ret
  | 
        
        
            | 
            | 
           510 | 
            294               	/* epilogue end (size=1) */
  | 
        
        
            | 
            | 
           511 | 
            295               	/* function CamConfig_init size 17 (16) */
  | 
        
        
            | 
            | 
           512 | 
            296               		.size	CamConfig_init, .-CamConfig_init
  | 
        
        
            | 
            | 
           513 | 
            297               	.Lscope3:
  | 
        
        
            | 
            | 
           514 | 
            298               		.stabs	"",36,0,0,.Lscope3-CamConfig_init
  | 
        
        
            | 
            | 
           515 | 
            299               		.stabd	78,0,0
  | 
        
        
            | 
            | 
           516 | 
            300               	.global	CamConfig_txFifoHead
  | 
        
        
            | 
            | 
           517 | 
            301               	.global	CamConfig_txFifoHead
  | 
        
        
            | 
            | 
           518 | 
            302               		.section .bss
  | 
        
        
            | 
            | 
           519 | 
            303               		.type	CamConfig_txFifoHead, @object
  | 
        
        
            | 
            | 
           520 | 
            304               		.size	CamConfig_txFifoHead, 1
  | 
        
        
            | 
            | 
           521 | 
            305               	CamConfig_txFifoHead:
  | 
        
        
            | 
            | 
           522 | 
            306 0000 00        		.skip 1,0
  | 
        
        
            | 
            | 
           523 | 
            307               	.global	CamConfig_txFifoTail
  | 
        
        
            | 
            | 
           524 | 
            308               	.global	CamConfig_txFifoTail
  | 
        
        
            | 
            | 
           525 | 
            309               		.type	CamConfig_txFifoTail, @object
  | 
        
        
            | 
            | 
           526 | 
            310               		.size	CamConfig_txFifoTail, 1
  | 
        
        
            | 
            | 
           527 | 
            311               	CamConfig_txFifoTail:
  | 
        
        
            | 
            | 
           528 | 
            312 0001 00        		.skip 1,0
  | 
        
        
            | 
            | 
           529 | 
            313               		.comm CamConfig_txFifo,16,1
  | 
        
        
            | 
            | 
           530 | 
            314               		.stabs	"CamConfig_txFifo:G(0,16)=ar(0,17)=r(0,17);0;0177777;;0;7;(6,1)",32,0,73,0
  | 
        
        
            | 
            | 
           531 | 
            315               		.stabs	"CamConfig_txFifoHead:G(0,11)",32,0,74,0
  | 
        
        
            | 
            | 
           532 | 
            316               		.stabs	"CamConfig_txFifoTail:G(0,11)",32,0,75,0
  | 
        
        
            | 
            | 
           533 | 
            317               		.text
  | 
        
        
            | 
            | 
           534 | 
            318               		.stabs	"",100,0,0,.Letext0
  | 
        
        
            | 
            | 
           535 | 
            319               	.Letext0:
  | 
        
        
            | 
            | 
           536 | 
            320               	/* File "CamConfig.c": code  104 = 0x0068 (  78), prologues  12, epilogues  14 */
  | 
        
        
           | 182 | 
           kaklik | 
           537 | 
           GAS LISTING /tmp/cctTSiV3.s 			page 10
  | 
        
        
           | 174 | 
           kaklik | 
           538 | 
              | 
        
        
            | 
            | 
           539 | 
              | 
        
        
            | 
            | 
           540 | 
           DEFINED SYMBOLS
  | 
        
        
            | 
            | 
           541 | 
                                       *ABS*:00000000 CamConfig.c
  | 
        
        
           | 182 | 
           kaklik | 
           542 | 
                /tmp/cctTSiV3.s:3      *ABS*:0000003f __SREG__
  | 
        
        
            | 
            | 
           543 | 
                /tmp/cctTSiV3.s:4      *ABS*:0000003e __SP_H__
  | 
        
        
            | 
            | 
           544 | 
                /tmp/cctTSiV3.s:5      *ABS*:0000003d __SP_L__
  | 
        
        
            | 
            | 
           545 | 
                /tmp/cctTSiV3.s:6      *ABS*:00000000 __tmp_reg__
  | 
        
        
            | 
            | 
           546 | 
                /tmp/cctTSiV3.s:7      *ABS*:00000001 __zero_reg__
  | 
        
        
            | 
            | 
           547 | 
                /tmp/cctTSiV3.s:80     .text:00000000 CamConfig_writeTxFifo
  | 
        
        
            | 
            | 
           548 | 
                /tmp/cctTSiV3.s:305    .bss:00000000 CamConfig_txFifoHead
  | 
        
        
           | 174 | 
           kaklik | 
           549 | 
                                       *COM*:00000010 CamConfig_txFifo
  | 
        
        
           | 182 | 
           kaklik | 
           550 | 
                /tmp/cctTSiV3.s:311    .bss:00000001 CamConfig_txFifoTail
  | 
        
        
            | 
            | 
           551 | 
                /tmp/cctTSiV3.s:133    .text:00000030 CamConfig_setCamReg
  | 
        
        
            | 
            | 
           552 | 
                /tmp/cctTSiV3.s:163    .text:0000003a CamConfig_sendFifoCmds
  | 
        
        
            | 
            | 
           553 | 
                /tmp/cctTSiV3.s:258    .text:000000ae CamConfig_init
  | 
        
        
           | 174 | 
           kaklik | 
           554 | 
              | 
        
        
            | 
            | 
           555 | 
           UNDEFINED SYMBOLS
  | 
        
        
            | 
            | 
           556 | 
           __do_copy_data
  | 
        
        
            | 
            | 
           557 | 
           __do_clear_bss
  | 
        
        
            | 
            | 
           558 | 
           I2CInt_writeData
  | 
        
        
            | 
            | 
           559 | 
           Utility_delay
  | 
        
        
            | 
            | 
           560 | 
           I2CInt_isI2cBusy
  |