⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l2_initcustom.c

📁 台湾凌阳方案300万数码相机源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
/********************************************************************************
  Copyright (c) 2001 Sunplus Technology Co., Ltd.
  Module Name:  l2_initcustom.c
  Function   :  Level II Function
  Environment:  Keil C51 Compiler
  Creation   :  2002/01/27 YGLIU          
***********************************************************************************/
#include "general.h"
#include "main.h"
#include "unistd.h"//Davis:pacth2.0
#include "previewadjust.h"


//patch4.3@andrew@0610
//MODIFY AE window setting


//jhyu@patch4.3
//CDSP Window Size variable
//USHORT G_CdspWidth,G_CdspHeight;

//patch3.2@cytsai@0328
//version4.0@andrew@0513  

extern xdata UCHAR G_PVZFactor;

//patch4.3@andrw@0606
UCHAR L2_InitCustom(UCHAR CamMode) USING_0
{
    unsigned short cdsp_Hsize, cdsp_Vsize;
    unsigned char h_b,l_b;

    //Jane@040827
//	int r_gain,gr_gain,b_gain,gb_gain,Reg_Rg,Reg_Grg,Reg_Bg,Reg_Gbg,Reg_Hg ;


	//patch4.3@andrew@0610
	l_b=XBYTE[0x2760];
	h_b=XBYTE[0x2761]&0x0f;
	//cdsp_Hsize=(h_b&0x0f);
	cdsp_Hsize=((unsigned short)h_b<<8)|(unsigned short)l_b;

	l_b=XBYTE[0x2762];
	h_b=XBYTE[0x2763]&0x0f;
	cdsp_Vsize=((unsigned short)h_b<<8)|(unsigned short)l_b;


	L2_ConfigWindow(0, 0, cdsp_Hsize/5,cdsp_Vsize/5);
	
  	switch (CamMode)
   	{
    		case 0:
         /*
         //For CCD Phase/////////////////////////////////////////////////
         XBYTE[0x2A83] = 0x04;  	//Clk1x Out delay
  		 XBYTE[0x2023] = 0x00;  	//Clk1x Input delay 
  		 XBYTE[0x2022] = 0x00;  	//Clk2x Input delay
  		 XBYTE[0x2B19] = 0x01;  	//FH1 delay
  		 XBYTE[0x2B1A] = 0x00;  	//FH2 delay
  		 XBYTE[0x2B13] = 0x09;  	//Reset Gate delay
  		 XBYTE[0x2B15] = 0x09;  	//XSHP delay
  		 XBYTE[0x2B17] = 0x00;  	//XSHD delay         
         ////////////////////////////////////////////////////////////////
         */
         //For CDSP//////////////////////////////////////////////////////
       #ifdef SONY432

//patch4.4@andrew@0620
// tunning timming
 XBYTE[0x2A83] = 0x02;  	//Clk1x Out delay
  XBYTE[0x2023] = 0x00;  	//Clk1x Input delay 
  XBYTE[0x2022] = 0x00;  	//Clk2x Input delay
  XBYTE[0x2B19] = 0x01;  	//FH1 delay
  XBYTE[0x2B1A] = 0x01;  	//FH2 delay
  XBYTE[0x2B13] = 0x06;  	//Reset Gate delay
  XBYTE[0x2B15] = 0x02;  	//XSHP delay
  XBYTE[0x2B17] = 0x00;  	//XSHD delay
     
         
         L2_SetWB(0xFC, 0x04, 0xF5, 0x00, 0x74, 0x3F, 0x97, 0x40);
         //L2_SetColorC(0x004A, 0x01FD, 0x01F0, 0x0000, 0x003B, 0x01F8, 0x0000, 0x01E0, 0x004F);
         L2_SetColorC(0x005A, 0x01F3, 0x01F3, 0x01F3, 0x005A, 0x01F3, 0x01F3, 0x01F3, 0x005A);
         L2_ConfigOB(0, 0, 0, 1, 0);
         //L2_ConfigWindow(0, 0, 64, 48);
         L2_ConfigAFWindow(32, 52, 256, 256);
         //Set Edge
		 XBYTE[0x2180] = 0x00;
  		 XBYTE[0x2181] = 0x00;
  		 XBYTE[0x2182] = 0x90;
  		 XBYTE[0x2183] = 0x11;
  		 XBYTE[0x2184] = 0x09;
  		 XBYTE[0x2185] = 0x2A;
  		 XBYTE[0x2186] = 0xA2;
  		 XBYTE[0x2187] = 0x90;
  		 XBYTE[0x2188] = 0x11;
  		 XBYTE[0x2189] = 0x09;
  		 XBYTE[0x218A] = 0x00;
  		 XBYTE[0x218B] = 0x00;
  		 XBYTE[0x218C] = 0x40;
  		 XBYTE[0x2190] = 0x90;
  		 XBYTE[0x2191] = 0x9A;
  		 XBYTE[0x2192] = 0x00;
  		 XBYTE[0x2193] = 0x21;
  		 XBYTE[0x2194] = 0x01;
  		 XBYTE[0x2195] = 0x10;
  		 XBYTE[0x2196] = 0x12;
  		 XBYTE[0x2197] = 0x00;
  		 XBYTE[0x2198] = 0xA9;
  		 XBYTE[0x2199] = 0x09;
  		 XBYTE[0x219A] = 0x00;
  		 XBYTE[0x219B] = 0x00;
  		 XBYTE[0x219C] = 0x40;
  		 // Edge Gain
  		 XBYTE[0x21A1] = 0x01;
  		 XBYTE[0x21A2] = 0x96;
  		 XBYTE[0x21A3] = 0x40;
  		 XBYTE[0x21A4] = 0x80;

  		 XBYTE[0x21A0] = 0x01;  //Edge enable
       #endif        


//patch4.5@andrew@sony442_AE/AWB_1
//patch3.2@richie@0409
       #ifdef SONY442
       //@ ygliu for t demo board   
       //For CCD Phase/////////////////////////////////////////////////
/*
         XBYTE[0x2A83] = 0x00;  	//Clk1x Out delay
         XBYTE[0x2023] = 0x04;  	//Clk1x Input delay 
         XBYTE[0x2022] = 0x00;  	//Clk2x Input delay
         XBYTE[0x2B19] = 0x00;  	//FH1 delay 6
         XBYTE[0x2B1A] = 0x00;  	//FH2 delay
         XBYTE[0x2B13] = 0x00;  	//Reset Gate delay
         XBYTE[0x2B15] = 0x09;  	//XSHP delay 9
         XBYTE[0x2B17] = 0x01;  	//XSHD delay 1
*/
         ////////////////////////////////////////////////////////////////
	   // Sony 1.3M progressive
	 #ifdef HD49334F
	          L2_AdjustGain(0x40, 0);
	 #endif

	 #ifdef AD9843
			 L2_AD9843_CDS_GAIN(31);  // set CDS gain 10db
			 L2_AdjustGain(111, 0);  
	 #endif

	 #ifdef AD9804
	          L2_AdjustGain(0x150, 0);
	 #endif

         L2_SetWB(0x04, 0xFE, 0xF7, 0x00, 0x77, 0x40, 0x5D, 0x40);
        
         L2_ConfigOB(0, 0, 0, 1, 0);
         //L2_ConfigWindow(0, 0, 64, 72);
         L2_ConfigAFWindow(32, 52, 256, 256);
             L2_ConfigSPW(3, 0xa0, 0xf0, 0xb0, 0x50, 0xde, 0x22);
		L2_ConfigSPW(2, 0x78, 0xa0, 0xc4, 0x3c, 0xe2, 0x1a);
		L2_ConfigSPW(1, 0x50, 0x78, 0xd8, 0x28, 0xee, 0x12);
		L2_ConfigSPW(0, 0x28, 0x50, 0xec, 0x14, 0xf6, 0x0a);
		//USE default lens measure
		L2_SetColorC(0x0062, 0x01E4, 0X01FA, 0X01F4,0X0055, 0X01F6,0X0007, 0X01DC, 0X005D);
		
       #endif     

//patch3.2@richie@0409
       #ifdef SONY224
	 #ifdef HD49334F
	          L2_AdjustGain(0x80, 0);
	 #endif

	 #ifdef AD9843
	          L2_AdjustGain(0x150, 0);
	 #endif

	 #ifdef AD9804
	          L2_AdjustGain(0x150, 0);
	 #endif
	#endif
	 
#ifdef ICM107B

            //andrew   2002/05/13  merge rocky 
		L2_ConfigOB(0, 0, 0, 1, 0);
		L2_ConfigAFWindow(32, 52, 256, 256);
		L2_SetColorC(0x0082, 0x01ca, 0x01f4,0x01ef, 0x0061, 0x01f0, 0x01f7, 0x01ed, 0x005c);

		
		L2_ConfigSPW(3, 0xa0, 0xf0, 0xb0, 0x50, 0xde, 0x22);
		L2_ConfigSPW(2, 0x78, 0xa0, 0xc4, 0x3c, 0xe2, 0x1a);
		L2_ConfigSPW(1, 0x50, 0x78, 0xd8, 0x28, 0xee, 0x12);
		L2_ConfigSPW(0, 0x28, 0x50, 0xec, 0x14, 0xf6, 0x0a);
		//Set_Edge( );

       #endif

       #ifdef OV13     //jhyu@0507
	/*    
	    L2_WriteSSC(0x14, 0x46, 1, 0);
	    L2_WriteSSC(0x0e, 0x00, 1, 0);
	    L2_WriteSSC(0x33, 0x28, 1, 0);
	    L2_WriteSSC(0x35, 0x90, 1, 0);
	    L2_WriteSSC(0x36, 0x17, 1, 0);
	*/

         //L2_SetColorC(0x0060, 0x01F0, 0x01F0, 0x01F0, 0x0060, 0x01F0, 0x01F0, 0x01F0, 0x0060);
         //L2_SetColorC(0x0054, 0x01f5, 0x01f6, 0x01fa, 0x004d, 0x01f9, 0x1, 0x01bf, 0x007f);  //Ok jane@040105
         L2_SetColorC(0x007C, 0x01CE, 0x01F5, 0x01E4, 0x007A, 0x01E2, 0x01FF, 0x01B7, 0x008A); //jane@040106
		 //L2_SetColorC(0x0067, 0x01eb, 0x01ed, 0x01f1, 0x0060, 0x01Ef, 0x01, 0x01ab, 0x0092); //jane@040218



         L2_ConfigOB(0, 0, 0, 1, 10);//jhyu@patch4.3
		 //L2_SetWB(0xf9,0x00,0xf9,0x00,0x50,0x40,0x5a,0x40);
		 L2_SetWB(0x00,0xfc,0x00,0x00,0x50,0x40,0x5a,0x40);
//         L2_ConfigWindow(0, 0, 48, 96);
       
             // patch4.5@andrew@OV13setting		
	      L2_ConfigSPW(3, 0xA0, 0xF0, 0xb2, 0x4e, 0xdb, 0x25);
		L2_ConfigSPW(2, 0x78, 0xA0, 0xc8, 0x3d, 0xe6, 0x1a);
		L2_ConfigSPW(1, 0x50, 0x78, 0xd4, 0x2c, 0xed, 0x13);
		L2_ConfigSPW(0, 0x28, 0x50, 0xe5, 0x1b, 0xf5, 0x0b);
         

         #endif

	#ifdef OV2610
//		L2_SetColorC(0x0060, 0x01F0, 0x01F0, 0x01F0, 0x0060, 0x01F0, 0x01F0, 0x01F0, 0x0060);//patch4.5@jhyu@OV2610
		L2_SetColorC(0x007C, 0x01CE, 0x01F5, 0x01E4, 0x007A, 0x01E2, 0x01FF, 0x01B7, 0x008A);//patch4.5@jhyu@OV2610
		L2_SetWB(0x01, 0x07, 0x00, 0x00, 0x59, 0x3d, 0x56, 0x40);
		L2_ConfigOB(0, 0, 0, 1, 16);

		L2_ConfigSPW(3, 0xA0, 0xF0, 0xC0, 0x40, 0xDE, 0x22);//patch4.5@jhyu@OV2610
		L2_ConfigSPW(2, 0x78, 0xA0, 0xD7, 0x29, 0xE7, 0x19);//patch4.5@jhyu@OV2610
		L2_ConfigSPW(1, 0x50, 0x78, 0xDF, 0x21, 0xEC, 0x14);//patch4.5@jhyu@OV2610
		L2_ConfigSPW(0, 0x28, 0x50, 0xEC, 0x14, 0xF0, 0x10);//patch4.5@jhyu@OV2610

	#endif

#ifdef OV3610		//patch5.2.1@jhyu@OV3610
#ifdef greenread
	L2_SetColorC(0x005f, 0x01e1, 0x0, 0x01ef, 0x0059,0x01f9, 0x01ee, 0x01ca, 0x0088);
	L2_SetWB(0x00, 0xf9, 0x00, 0xf9, 0x54, 0x40, 0x50, 0x40);
#endif

//Davis:patch2.0
#ifdef OffColr
   L2_SetColorC(0x0088, 0x01ca, 0x1ed, 0x01e6, 0x007a,0x01e0, 0x01f9, 0x018c, 0x00bb);
//close for debug   L2_SetWB(0xfe, 0x00, 0xfe, 0x00, 0x54, 0x40, 0x50, 0x40);
	L2_SetWB(0xfe, 0xfe, 0xfe, 0xfe, 0x54, 0x40, 0x50, 0x40);//modify for debug
#endif
//Davis:patch2.0
#ifdef OffColrR
//Davis:patch1.01  0x0086->0x0082;0x007a->0x007c
L2_SetColorC(0x005f, 0x01e1, 0x0, 0x01ef, 0x0059,0x01f9, 0x01ee, 0x01ca, 0x0088);//add  use liumr's
//L2_SetColorC(0x0086, 0x01cb, 0x1ed, 0x01e6, 0x007a,0x01e0, 0x01f9, 0x018c,0x00bb);//0xbb
//L2_SetColorC(0x0088, 0x01ca, 0x1ed, 0x01e6, 0x007a,0x01e0, 0x01f9, 0x018c, 0x00bb);
L2_SetWB(0xf9, 0xfa, 0xf8, 0xfa, 0x54, 0x40, 0x50, 0x40);		//Davis:patch1.03
//close for Davis:patch1.03   L2_SetWB(0xfc, 0x00, 0xf5, 0x00, 0x54, 0x40, 0x50, 0x40);
#endif
#ifdef OffColrG
   L2_SetColorC(0x0086, 0x01cb, 0x1ed, 0x01e6, 0x007a,0x01e0, 0x01f9, 0x018c,0x00bb);
//close for debug   L2_SetWB(0xfe, 0x00, 0xfe, 0x00, 0x54, 0x40, 0x50, 0x40);
	L2_SetWB(0xfe, 0xfe, 0xfe, 0xfe, 0x54, 0x40, 0x50, 0x40);//modify for debug
#endif
//	        L2_ConfigOB(0, 0, 0, 1, 6);//wendy@2004/9/12
	        L2_ConfigOB(0, 0, 0, 1, 2);
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -