欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

camdriver0_with_detailed_comments.txt

`
TXT
字号:
// Clara camera driver setup file                                               
//************************************************************************
// 
// Revision history:
//
//*********************** 21-09-2006 *************************************
//
// 5.5m1    Modification of version 5.5 stable 1
//
//************************************************************************
info_name=KNC 201 15;
info_vendor=Sony;
info_major_ver=5;
info_minor_ver=5;


//Camera characteristics section
//=========================================================
cam_power_on_0 = 5, 0, 0, 1, 5;    	// Pull RST pin and wait 05 ms
cam_power_on_1 = 5, 1, 35, 1, 0;	// Set GPIO 35 as output (VDD_L 1.2V)
cam_power_on_2 = 5, 2, 35, 1, 5;   	// Set GPIO 35 high and wait 5 ms
cam_power_on_3 = 5, 5, 6,  1, 10;	// Turn on Vincenne regulator LDO_G (VDD_SD 1.8V)
cam_power_on_4 = 5, 1, 46, 1, 0;	// Set GPIO 46 as output (VDD_SA, VDD_IO 2.7V; VDD_AF 2.7V)
cam_power_on_5 = 5, 2, 46, 1, 5;   	// Set GPIO 46 high and wait 5 ms
cam_power_on_6 = 5, 3, 1, 32C8, 5; 	// Turn on 13 MHz clock and wait 5 ms
cam_power_on_7 = 5, 0, 0, 0, 1F4;    	// Release RST pin and wait 500 ms

cam_power_off_0= 5, 0, 0, 1, 0;    	// Pull RST pin
cam_power_off_1= 5, 3, 1, 1, 0;   	// Turn off 13 MHz clock
cam_power_off_2= 5, 1, 46, 1, 0;   	// Set GPIO 46 as output
cam_power_off_3= 5, 2, 46, 0, 0;   	// Set GPIO 46 low
cam_power_off_4= 5, 5, 6,  0, 0;   	// Turn off Vincenne regulator LDO_G
cam_power_off_5= 5, 1, 35, 1, 0;   	// Set GPIO 35 as output
cam_power_off_6= 5, 2, 35, 0, 0;   	// Set GPIO 35 low
   	

cam_i2c_address=1F;                             // Decimal: 31
cam_vf_clock_freq=1,32C8;                       // 13 MHz during view find
cam_ss_clock_freq=1,32C8;                       // 13 MHz during snap shot

cam_vf_format=B100;                             // UY1VY2 order is used during view find (YUV 4:2:2) Specification + Format(YUV422)
cam_ss_format=0001;                             // JPEG default

cam_ss_format_9=B100;                           // Specification + Format(YUV422) used for ninth id size
cam_ss_format_30=B100;                          // Specification + Format(YUV422) used for thirtieth id size
cam_data_offset_9=0;
cam_data_offset_30=0;
cam_ss_sync_30=3;                                // Hans fix for RAW data snapshot

cam_data_offset=2;                               // JPEG default
cam_vf_sync=5;                                   // Last data is samples after VSYNC goes inactive for viewfinder
cam_ss_sync=5;                                   // Last data is samples after VSYNC goes inactive for snapshot
cam_ss_sync_9=7;                                 // Hans fix for RAW data snapshot
cam_ss_retries=9;                                // Camera SnapShot retries


//---------------------------------------------------------
// Description of internal register usage:
//
// a: used to select EXIF parameter to read
// e: used to remember last size id for snapshot burst mode
//
//---------------------------------------------------------

//================================================
//               MACROS
//================================================
CMD_END=$f $d0005;

READ_AF_STATUS=05 01 00 03 03 $f $r4 4 4 4 5 $c5 E6 $cl $s4 03 $cx; 

READ_JPEG_STATUS = 05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E3 $cl $d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E3 $cl $d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E3 $cl $d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E3 $cl $d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E3 $cl $d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E3 $cl $d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E3 $cl $s4 01  
$cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_MODE =    05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EA $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_CAPT_START=05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d000a  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 E4 $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_POWER_SAVE_ENTER=05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0010  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 ED $cl $d0100
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

WAIT_FOR_POWER_SAVE_LEAVE=05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0020  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0040  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0100  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0200  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0400  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 EC $cl $d0800
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx $cx $cx $cx;

LED_WB_SET =
06 02 00 01 05 11 #CMD_END
05 02 00 20 05 #CMD_END 
05 02 00 21 f4 #CMD_END 
06 02 00 01 01 13 #CMD_END;
LED_WB_UNSET =
05 02 00 20 00 #CMD_END 
05 02 00 21 00 #CMD_END
06 02 00 01 01 13 #CMD_END
$u 01;

NOM_FPS =
05 02 00 08 31 #CMD_END	 
06 02 00 01 31 03 #CMD_END	 
06 02 00 01 81 34 #CMD_END                          
#WAIT_FOR_MODE;

NIM_FPS =
05 02 00 08 1E #CMD_END        
06 02 00 01 1E 03 #CMD_END     
06 02 00 01 81 34 #CMD_END
#WAIT_FOR_MODE;

VF_TD=$d00c8;

EMPTY_EVENT_FIFO=05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl
$d0005  05 01 00 03 03 $f $r4 4 4 4 5
$c5 00 $cl
$d0005  05 01 00 03 03 $f $r4 4 4 4 5
$c5 00 $cl
$d0005  05 01 00 03 03 $f $r4 4 4 4 5
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5  
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5 
$c5 00 $cl 
$d0005  05 01 00 03 03 $f $r4 4 4 4 5
$cx $cx $cx $cx $cx $cx
$cx $cx $cx $cx $cx $cx $cx;

READ_Q_VALUE=05 01 00 1B 01 $f $r2 4 9
$c4 02 $cl
05 01 00 1B 01 $f $r2 4 9
$c4 02 $cl
05 01 00 1B 01 $f $r2 4 9
$c4 02 $cl
05 01 00 1B 01 $f $r2 4 9
$c4 02 $cl 
05 01 00 1B 01 $f $r2 4 9
$cx $cx $cx $cx;

READ_FLASH_EXIF=05 01 00 2B 01 $f $r2 8 8;


//***** JPEG buffer sizes (only used for ITP) *****
cam_ss_jpeg_buf_size_1=3A98;	// 15 KB buffer for     100x60 snap
cam_ss_jpeg_buf_size_2=88B8;	// 35 KB buffer for    160x120 snap
cam_ss_jpeg_buf_size_3=186A0;	// 100 KB buffer for   320x240 snap
cam_ss_jpeg_buf_size_4=249f0;	// 150 KB buffer for   640x480 snap
cam_ss_jpeg_buf_size_5=61A80;	// 400 KB buffer for  1280x960 snap
cam_ss_jpeg_buf_size_6=927C0;	// 600 KB buffer for 1600x1200 snap
cam_ss_jpeg_buf_size_7=927C0;	// 600 KB buffer for 1632x1088 snap
cam_ss_jpeg_buf_size_8=927C0;	// 600 KB buffer for 1632x1244 snap	

sup_sizes=1[64,3C,0],                   //  1 = 100 x  60   CAPTURE MODE (JPEG)
          2[A0,78,0],                   //  2 = 160 x 120   CAPTURE MODE (JPEG)
	  3[140,F0,0],                  //  3 = 320 x 240   CAPTURE MODE (JPEG)
          4[280,1E0,0],                 //  4 = 640 x 480   CAPTURE MODE (JPEG)
	  5[500,3C0,0],                 //  5 = 1280x 960   CAPTURE MODE (JPEG)
          6[640,4B0,0],                 //  6 = 1600x1200   CAPTURE MODE (JPEG)
	  7[660,440,0],                 //  7 = 1632x1088   CAPTURE MODE (JPEG)
	  8[660,4C8,0],                 //  8 = 1632x1224   CAPTURE MODE (JPEG)
          9[280,1E0,0],                 //  9 = 640 x 480   used in Frames Mode (probably it also used in Burst Mode) CAPTURE MODE (YCbCr)
	  30[4E,90,0],                  // 30 = 78 

⌨️ 快捷键说明

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