; WIP Last Changed Rev: 2172
;**************************************************************************************
; Copyright 2011 Aptina Imaging Corporation. All rights reserved.
;
;
; No permission to use, copy, modify, or distribute this software and/or
; its documentation for any purpose has been granted by Aptina Imaging Corporation.
; If any such permission has been granted ( by separate agreement ), it
; is required that the above copyright notice appear in all copies and
; that both that copyright notice and this permission notice appear in
; supporting documentation, and that the name of Aptina Imaging Corporation or any
; of its trademarks may not be used in advertising or publicity pertaining
; to distribution of the software without specific, written prior permission.
;
;
; This software and any associated documentation are provided "AS IS" and
; without warranty of any kind. APTINA IMAGING CORPORATION EXPRESSLY DISCLAIMS
; ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, NONINFRINGEMENT
; OF THIRD PARTY RIGHTS, AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
; FOR A PARTICULAR PURPOSE. APTINA DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED
; IN THIS SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THIS SOFTWARE
; WILL BE UNINTERRUPTED OR ERROR-FREE. FURTHERMORE, APTINA DOES NOT WARRANT OR
; MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF ANY
; ACCOMPANYING DOCUMENTATION IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY,
; OR OTHERWISE.
;*************************************************************************************/
; Default INI file for the A-2020SOC-REV3
;
; $Revision: 28073 $
; $Date: 2011-05-24 14:58:00 -0700 (Tue, 24 May 2011) $
;
; This file holds groups of register presets (sections) specific for this sensor. The
; presets allow you to overwrite the power-on default settings with optimized register
; settings.
; The [Demo Initialization] section contains all optimized register settings for running
; the sensor in the demo environment. Other sections include settings optimized for a
; variety of situations like: Running at different master clock speeds, running under
; different lighting situations, running with different lenses, etc.
; Most of the demonstration software (DevWare, SensorDemo, ...) make use of this file
; to load and store the user presets.
;
; Keyname description:
; REG = assign a new register value
; BITFIELD = do a READ-MODIFY-WRITE to part of a register. The part is defined as a mask.
; FIELD_WR = Write any register, variable or bitfield, specified by its symbol name
; LOAD = load an alternate section from this section
; STATE = set non-register state
; DELAY = delay a certain amount of milliseconds before continuing
; POLL_REG = Read a register a specified number of times, or until the register
; value no longer meets a specified condition. You specify the
; register by its address, and it only works with simple registers.
; You also specify a delay between each iteration of the loop.
; POLL_FIELD = Like POLL_REG except you specify the register by its symbol name
; as defined in the sensor data file. POLL_FIELD works with any kind
; of register or variable.
;
; Keyname format:
; REG = [<page>,] <address>, <value> //<comment>
; BITFIELD = [<page>,] <address>, <mask>, <value>
; Some examples:
; BITFIELD=2, 0x05, 0x0020, 1 //for register 5 on page 2, set the 6th bit to 1
; BITFIELD=0x06, 0x000F, 0 //for register 6, clear the first 4 bits
; FIELD_WR = <registername>, [<bitfieldname>,] <value>
; LOAD = <section>
; STATE = <state>, <value>
; DELAY = <milliseconds>
; POLL_REG = [<page>,]<address>,<mask>,<condition>,DELAY=<milliseconds>,TIMEOUT=<count> //<comment>
; Example: Poll every 50ms, stop when value <= 8 or after 5 times (250ms).
; POLL_REG= 2, 0x3F, 0xFFFF, >8, DELAY=50, TIMEOUT=5
; POLL_FIELD = <registername>, [<bitfieldname>,] <condition>, DELAY=<milliseconds>, TIMEOUT=<count> //<comment>
; Example: Poll every 10 ms, stop when the value = 0, or after 500ms.
; POLL_FIELD= SEQ_CMD, !=0, DELAY=10, TIMEOUT=50
;
; <page> Optional address space for this register. Some sensors (mostly SOC's)
; have multiple register pages (see the sensor spec or developer's guide)
; <address> the register address
; <value> the new value to assign to the register
; <mask> is the part of a register value that needs to be updated with a new value
; <registername> Name of a register or variable as defined the sensor data (.sdat) file
; <bitfieldname> Optional name of a bitfield
; <condition> < <= == != > or >= followed by a numerical value
; <count> Number of iterations of the polling loop
; <section> the name of another section to load
; <state> non-register program state names [do not modify]
; <milliseconds> wait for this ammount of milliseconds before continuing
; <comment> Some form of C-style comments are supported in this .ini file
;
;*************************************************************************************/ [Reset]
//-------------------------------------
// Reset Image Sensor by Resetting MCU
//-------------------------------------
FIELD_WR=MCU_BOOT_MODE, RESET_MCU, 1 //RESET_MCU stop MCU
FIELD_WR=MCU_BOOT_MODE, RESET_MCU, 0 //RESET_MCU start MCU
DELAY=100 [Demo Initialization]
//-----------------------------------------------------------
// This Section Loads all the defaults from the sub-sections
//-----------------------------------------------------------
LOAD=Powerup
DELAY=500
LOAD=PLL Setup 24Mhz/80Mhz Out
LOAD=Lens Correction_Largan 971A
LOAD=LUT_Moderate
LOAD=AE
LOAD=Mode
LOAD=Sequencer_Optimized_HiSat_Sharp
LOAD=Noise Reduction Test
;LOAD=Low Power Preview 15 FPS
LOAD=State Setup
LOAD=Refresh // Resync FPS reporting
DELAY= 20
STATE= Detect Master Clock, 1 [Powerup]
//---------------------------------------------
// Per default the sensor comes up in standby,
// this enables the image output
//---------------------------------------------
REG=0x301A,0x0ACC //Reset Register
FIELD_WR= STANDBY_CONTROL,0x0008 //Allow Standby [Refresh]
//---------------------------------------
// This Section refreshes the variables
//---------------------------------------
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0
DELAY=500 //Wait [State Setup]
//---------------------------------------
//These settings are used by DevWare to
//Desplay the correct framerate and select
//The correct image capture mode
//----------------------------------------
STATE=Still Mode, 1
//STATE=Num Capture Frames, 4
//STATE=Still Capture Average, 1
STATE=Save 24bpp BMP, 1
STATE=Save RAW, 0
STATE=Save TXT, 1
STATE=Save HEX, 0
STATE=Save RAW TIFF, 0
STATE=Save 48bpp COLOR TIFF, 0
STATE=Save RAW JPEG, 0
STATE=Save BMP Info, 0
STATE=Display Zoom, 4 [Viewfinder ON]
FIELD_WR = SEQ_CAP_MODE, VIDEO, 0 //VIDEO Off
FIELD_WR = SEQ_CMD, 1 //Back to preview [Viewfinder OFF]
FIELD_WR = SEQ_CAP_MODE, VIDEO, 1 //VIDEO On
FIELD_WR = SEQ_CMD, 2 //Capture on [Video Capture ON]
FIELD_WR = SEQ_CAP_MODE, VIDEO, 1 //VIDEO On
FIELD_WR = SEQ_CMD, 2 //Capture on [Video Capture OFF]
FIELD_WR = SEQ_CMD, 1 //Back to preview [Enable Capture with LED Flash]
REG= 0x338C, 0xA106 // MCU_ADDRESS [SEQ_FLASHTYPE]
REG= 0x3390, 0x0001 // MCU_DATA_0
REG= 0x338C, 0xA135 // MCU_ADDRESS [SEQ_PREVIEW_2_FLASH]
REG= 0x3390, 0x0001 // MCU_DATA_0
REG= 0x338C, 0xA13C // MCU_ADDRESS [SEQ_PREVIEW_3_FLASH]
REG= 0x3390, 0x0001 // MCU_DATA_0 [Disable Capture with Flash]
REG= 0x338C, 0xA106 // MCU_ADDRESS [SEQ_FLASHTYPE]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA135 // MCU_ADDRESS [SEQ_PREVIEW_2_FLASH]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA13C // MCU_ADDRESS [SEQ_PREVIEW_3_FLASH]
REG= 0x3390, 0x0000 // MCU_DATA_0 [Enable stepper motor AF]
REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE]
REG= 0x3390, 0x0082 // MCU_DATA_0
REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF]
REG= 0x3390, 0x0001 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0
DELAY=1000
REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA13A // MCU_ADDRESS [SEQ_PREVIEW_3_AF]
REG= 0x3390, 0x0001 // MCU_DATA_0 [Enable helimorph AF]
REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE]
REG= 0x3390, 0x0081 // MCU_DATA_0
REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF]
REG= 0x3390, 0x0001 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0
DELAY=1000
REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA13A // MCU_ADDRESS [SEQ_PREVIEW_3_AF]
REG= 0x3390, 0x0001 // MCU_DATA_0 [Enable AD5398 AF]
REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE]
REG= 0x3390, 0x0083 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0
DELAY=500
REG= 0x338C, 0xA60A // MCU_ADDRESS [AFM_CUSTCTRL]
REG= 0x3390, 0x0080 // MCU_DATA_0
REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE]
REG= 0x3390, 0x001F // MCU_DATA_0
REG= 0x338C, 0xA622 // MCU_ADDRESS [AFM_SI_SLAVEADDR]
REG= 0x3390, 0x0018 // MCU_DATA_0 [Disable AF]
REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE]
REG= 0x3390, 0x0080 // MCU_DATA_0
REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0
REG= 0x338C, 0xA13A // MCU_ADDRESS [SEQ_PREVIEW_3_AF]
REG= 0x3390, 0x0000 // MCU_DATA_0 [Refocus]
REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE]
REG= 0x3390, 0x001F // MCU_DATA_0
REG= 0x338C, 0xA504 // MCU_ADDRESS [AF_MODE]
REG= 0x3390, 0x0001 // MCU_DATA_0 [Mode]
//-------------------------------------------
// This Section sets up Preview/Capture Mode
//
// Preview: 640 x 480 at 15 FPS
// Capture: 1600 x 1200 at 15 FPS
//-------------------------------------------
REG= 0x338C, 0x2703 // MCU_ADDRESS [MODE_OUTPUT_WIDTH_A] = 640
REG= 0x3390, 0x0280 // MCU_DATA_0
REG= 0x338C, 0x2705 // MCU_ADDRESS [MODE_OUTPUT_HEIGHT_A] = 480
REG= 0x3390, 0x01E0 // MCU_DATA_0
REG= 0x338C, 0x2707 // MCU_ADDRESS [MODE_OUTPUT_WIDTH_B] = 1600
REG= 0x3390, 0x0640 // MCU_DATA_0
REG= 0x338C, 0x2709 // MCU_ADDRESS [MODE_OUTPUT_HEIGHT_B] = 1200
REG= 0x3390, 0x04B0 // MCU_DATA_0
REG= 0x338C, 0x270D // MCU_ADDRESS [MODE_SENSOR_ROW_START_A] = 0
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x270F // MCU_ADDRESS [MODE_SENSOR_COL_START_A] = 0
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x2711 // MCU_ADDRESS [MODE_SENSOR_ROW_END_A] = 1213
REG= 0x3390, 0x04BD // MCU_DATA_0
REG= 0x338C, 0x2713 // MCU_ADDRESS [MODE_SENSOR_COL_END_A] = 1613
REG= 0x3390, 0x064D // MCU_DATA_0
REG= 0x338C, 0x2715 // MCU_ADDRESS [MODE_SENSOR_X_DELAY_A] = 1230
REG= 0x3390, 0x04CE // MCU_DATA_0
REG= 0x338C, 0x2717 // MCU_ADDRESS [MODE_SENSOR_ROW_SPEED_A] = 8465
REG= 0x3390, 0x2111 // MCU_DATA_0
REG= 0x338C, 0x2719 // MCU_ADDRESS [MODE_SENSOR_READ_MODE_A] = 1132
REG= 0x3390, 0x046C // MCU_DATA_0
REG= 0x338C, 0x271B // MCU_ADDRESS [MODE_SENSOR_SAMPLE_TIME_PCK_A] = 591
REG= 0x3390, 0x024F // MCU_DATA_0
REG= 0x338C, 0x271D // MCU_ADDRESS [MODE_SENSOR_FINE_CORRECTION_A] = 258
REG= 0x3390, 0x0102 // MCU_DATA_0
REG= 0x338C, 0x271F // MCU_ADDRESS [MODE_SENSOR_FINE_IT_MIN_A] = 633
REG= 0x3390, 0x0279 // MCU_DATA_0
REG= 0x338C, 0x2721 // MCU_ADDRESS [MODE_SENSOR_FINE_IT_MAX_MARGIN_A] = 341
REG= 0x3390, 0x0155 // MCU_DATA_0
REG= 0x338C, 0x2723 // MCU_ADDRESS [MODE_SENSOR_FRAME_LENGTH_A] = 1279
REG= 0x3390, 0x04FF // MCU_DATA_0
REG= 0x338C, 0x2725 // MCU_ADDRESS [MODE_SENSOR_LINE_LENGTH_PCK_A] = 2084
REG= 0x3390, 0x0824 // MCU_DATA_0
REG= 0x338C, 0x2727 // MCU_ADDRESS [MODE_SENSOR_DAC_ID_4_5_A] = 8224
REG= 0x3390, 0x2020 // MCU_DATA_0
REG= 0x338C, 0x2729 // MCU_ADDRESS [MODE_SENSOR_DAC_ID_6_7_A] = 8224
REG= 0x3390, 0x2020 // MCU_DATA_0
REG= 0x338C, 0x272B // MCU_ADDRESS [MODE_SENSOR_DAC_ID_8_9_A] = 4128
REG= 0x3390, 0x1020 // MCU_DATA_0
REG= 0x338C, 0x272D // MCU_ADDRESS [MODE_SENSOR_DAC_ID_10_11_A] = 8199
REG= 0x3390, 0x2007 // MCU_DATA_0
REG= 0x338C, 0x272F // MCU_ADDRESS [MODE_SENSOR_ROW_START_B] = 4
REG= 0x3390, 0x0004 // MCU_DATA_0
REG= 0x338C, 0x2731 // MCU_ADDRESS [MODE_SENSOR_COL_START_B] = 4
REG= 0x3390, 0x0004 // MCU_DATA_0
REG= 0x338C, 0x2733 // MCU_ADDRESS [MODE_SENSOR_ROW_END_B] = 1211
REG= 0x3390, 0x04BB // MCU_DATA_0
REG= 0x338C, 0x2735 // MCU_ADDRESS [MODE_SENSOR_COL_END_B] = 1611
REG= 0x3390, 0x064B // MCU_DATA_0
REG= 0x338C, 0x2737 // MCU_ADDRESS [MODE_SENSOR_X_DELAY_B] = 1230
REG= 0x3390, 0x04CE // MCU_DATA_0
REG= 0x338C, 0x2739 // MCU_ADDRESS [MODE_SENSOR_ROW_SPEED_B] = 8465
REG= 0x3390, 0x2111 // MCU_DATA_0
REG= 0x338C, 0x273B // MCU_ADDRESS [MODE_SENSOR_READ_MODE_B] = 36
REG= 0x3390, 0x0024 // MCU_DATA_0
REG= 0x338C, 0x273D // MCU_ADDRESS [MODE_SENSOR_SAMPLE_TIME_PCK_B] = 288
REG= 0x3390, 0x0120 // MCU_DATA_0
REG= 0x338C, 0x2745 // MCU_ADDRESS [MODE_SENSOR_FRAME_LENGTH_B] = 1279
REG= 0x3390, 0x04FF // MCU_DATA_0
REG= 0x338C, 0x2747 // MCU_ADDRESS [MODE_SENSOR_LINE_LENGTH_PCK_B] = 2048
REG= 0x3390, 0x0824 // MCU_DATA_0
REG= 0x338C, 0x2751 // MCU_ADDRESS [MODE_CROP_X0_A] = 0
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x2753 // MCU_ADDRESS [MODE_CROP_X1_A] = 800
REG= 0x3390, 0x0320 // MCU_DATA_0
REG= 0x338C, 0x2755 // MCU_ADDRESS [MODE_CROP_Y0_A] = 0
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x2757 // MCU_ADDRESS [MODE_CROP_Y1_A] = 600
REG= 0x3390, 0x0258 // MCU_DATA_0
REG= 0x338C, 0x275F // MCU_ADDRESS [MODE_CROP_X0_B] = 0
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x2761 // MCU_ADDRESS [MODE_CROP_X1_B] = 1600
REG= 0x3390, 0x0640 // MCU_DATA_0
REG= 0x338C, 0x2763 // MCU_ADDRESS [MODE_CROP_Y0_B] = 0
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x2765 // MCU_ADDRESS [MODE_CROP_Y1_B] = 1200
REG= 0x3390, 0x04B0 // MCU_DATA_0
REG= 0x338C, 0x222E // MCU_ADDRESS [AE_R9_STEP] = 160
REG= 0x3390, 0x00A0 // MCU_DATA_0
REG= 0x338C, 0xA408 // MCU_ADDRESS [FD_SEARCH_F1_50] = 31
REG= 0x3390, 0x001F // MCU_DATA_0
REG= 0x338C, 0xA409 // MCU_ADDRESS [FD_SEARCH_F2_50] = 33
REG= 0x3390, 0x0021 // MCU_DATA_0
REG= 0x338C, 0xA40A // MCU_ADDRESS [FD_SEARCH_F1_60] = 37
REG= 0x3390, 0x0025 // MCU_DATA_0
REG= 0x338C, 0xA40B // MCU_ADDRESS [FD_SEARCH_F2_60] = 39
REG= 0x3390, 0x0027 // MCU_DATA_0
REG= 0x338C, 0x2411 // MCU_ADDRESS [FD_R9_STEP_F60_A] = 160
REG= 0x3390, 0x00A0 // MCU_DATA_0
REG= 0x338C, 0x2413 // MCU_ADDRESS [FD_R9_STEP_F50_A] = 192
REG= 0x3390, 0x00C0 // MCU_DATA_0
REG= 0x338C, 0x2415 // MCU_ADDRESS [FD_R9_STEP_F60_B] = 160
REG= 0x3390, 0x00A0 // MCU_DATA_0
REG= 0x338C, 0x2417 // MCU_ADDRESS [FD_R9_STEP_F50_B] = 192
REG= 0x3390, 0x00C0 // MCU_DATA_0
REG= 0x338C, 0x2799 // MCU_ADDRESS [MODE_SPEC_EFFECTS_A] Dither for Noise Reduction
REG= 0x3390, 0x6408 // MCU_DATA_0
REG= 0x338C, 0x279B // MCU_ADDRESS [MODE_SPEC_EFFECTS_B] Dither for Noise Reduction
REG= 0x3390, 0x6408 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] Refresh
REG= 0x3390, 0x0005 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] Refresh Mode
REG= 0x3390, 0x0006 // MCU_DATA_0 [PLL Setup 24Mhz/80Mhz Out]
//----------------------------------------------
// This Section sets up the PLL for en external
// Masterclock of 24 MHZ and an internal clock
// of 80 MHz.
//----------------------------------------------
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617
REG = 0, 0x341C, 0x0250 //PLL Control 1 = 592
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617
DELAY = 5 // More than ample time to allow PLL to lock
REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616
//STATE=Master Clock, 80000000
REG=1, 0x3214, 0x06E6 //default 0x0480 -> make Slope work for 80 MHz Mclk [PLL Setup 48Mhz In/80Mhz Out]
//----------------------------------------------
// This Section sets up the PLL for en external
// Masterclock of 48 MHZ and an internal clock
// of 80 MHz.
//----------------------------------------------
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617
REG = 0, 0x341C, 0x0550 //PLL Set M=80, N=5
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617
DELAY = 5 // More than ample time to allow PLL to lock
REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616
STATE=Master Clock, 80000000
REG=1, 0x3214, 0x06E6 //default 0x0480 -> make Slope work for 80 MHz Mclk [PLL Setup 24Mhz In/48Mhz Out]
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617
REG = 0, 0x341C, 0x0120 //PLL Control 1 = 288
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617
DELAY = 5 // More than ample time to allow PLL to lock
REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616
REG=1, 0x3214, 0x06E6 //default 0x0480 -> make Slope work for 80 MHz Mclk [Lens Correction_Largan 971A]
REG=0x34CE, 0x01A0 //LENS_CORRECTION_CONTROL
REG=0x34D0, 0x6633 //ZONE_BOUNDS_X1_X2
REG=0x34D2, 0x319A //ZONE_BOUNDS_X0_X3
REG=0x34D4, 0x9463 //ZONE_BOUNDS_X4_X5
REG=0x34D6, 0x4B25 //ZONE_BOUNDS_Y1_Y2
REG=0x34D8, 0x2670 //ZONE_BOUNDS_Y0_Y3
REG=0x34DA, 0x724C //ZONE_BOUNDS_Y4_Y5
REG=0x34DC, 0xFF04 //CENTER_OFFSET
REG=0x34DE, 0x00FD //FX_RED
REG=0x34E6, 0x00E8 //FY_RED
REG=0x34EE, 0x0EE5 //DF_DX_RED
REG=0x34F6, 0x0CC8 //DF_DY_RED
REG=0x3500, 0xE3F3 //SECOND_DERIV_ZONE_0_RED
REG=0x3508, 0x11E5 //SECOND_DERIV_ZONE_1_RED
REG=0x3510, 0x262E //SECOND_DERIV_ZONE_2_RED
REG=0x3518, 0x2633 //SECOND_DERIV_ZONE_3_RED
REG=0x3520, 0x373D //SECOND_DERIV_ZONE_4_RED
REG=0x3528, 0x393F //SECOND_DERIV_ZONE_5_RED
REG=0x3530, 0x12B0 //SECOND_DERIV_ZONE_6_RED
REG=0x3538, 0xDC9F //SECOND_DERIV_ZONE_7_RED
REG=0x354C, 0x07FF //K_FACTOR_IN_K_FX_FY_R_TL
REG=0x3544, 0x07FF //K_FACTOR_IN_K_FX_FY_R_TR
REG=0x355C, 0x0472 //K_FACTOR_IN_K_FX_FY_R_BL
REG=0x3554, 0x07FF //K_FACTOR_IN_K_FX_FY_R_BR
REG=0x34E0, 0x00DB //FX_GREEN
REG=0x34E8, 0x008A //FY_GREEN
REG=0x34F0, 0x0FF2 //DF_DX_GREEN
REG=0x34F8, 0x0E41 //DF_DY_GREEN
REG=0x3502, 0xF1E6 //SECOND_DERIV_ZONE_0_GREEN
REG=0x350A, 0x02C3 //SECOND_DERIV_ZONE_1_GREEN
REG=0x3512, 0x112B //SECOND_DERIV_ZONE_2_GREEN
REG=0x351A, 0x1C26 //SECOND_DERIV_ZONE_3_GREEN
REG=0x3522, 0x2428 //SECOND_DERIV_ZONE_4_GREEN
REG=0x352A, 0x271E //SECOND_DERIV_ZONE_5_GREEN
REG=0x3532, 0x02E0 //SECOND_DERIV_ZONE_6_GREEN
REG=0x353A, 0xFC17 //SECOND_DERIV_ZONE_7_GREEN
REG=0x354E, 0x07FF //K_FACTOR_IN_K_FX_FY_G1_TL
REG=0x3546, 0x07FF //K_FACTOR_IN_K_FX_FY_G1_TR
REG=0x355E, 0x0600 //K_FACTOR_IN_K_FX_FY_G1_BL
REG=0x3556, 0x018E //K_FACTOR_IN_K_FX_FY_G1_BR
REG=0x34E4, 0x00B2 //FX_BLUE
REG=0x34EC, 0x0059 //FY_BLUE
REG=0x34F4, 0x0FDF //DF_DX_BLUE
REG=0x34FC, 0x0D95 //DF_DY_BLUE
REG=0x3506, 0x14F5 //SECOND_DERIV_ZONE_0_BLUE
REG=0x350E, 0x06C6 //SECOND_DERIV_ZONE_1_BLUE
REG=0x3516, 0x1A26 //SECOND_DERIV_ZONE_2_BLUE
REG=0x351E, 0x2219 //SECOND_DERIV_ZONE_3_BLUE
REG=0x3526, 0x1423 //SECOND_DERIV_ZONE_4_BLUE
REG=0x352E, 0x0E14 //SECOND_DERIV_ZONE_5_BLUE
REG=0x3536, 0xF4EC //SECOND_DERIV_ZONE_6_BLUE
REG=0x353E, 0xDD1D //SECOND_DERIV_ZONE_7_BLUE
REG=0x3552, 0x05A1 //K_FACTOR_IN_K_FX_FY_B_TL
REG=0x354A, 0x03FF //K_FACTOR_IN_K_FX_FY_B_TR
REG=0x3562, 0x018E //K_FACTOR_IN_K_FX_FY_B_BL
REG=0x355A, 0x018E //K_FACTOR_IN_K_FX_FY_B_BR
REG=0x34E2, 0x00AA //FX_GREEN2
REG=0x34EA, 0x0066 //FY_GREEN2
REG=0x34F2, 0x0E92 //DF_DX_GREEN2
REG=0x34FA, 0x0D63 //DF_DY_GREEN2
REG=0x3504, 0x0E1B //SECOND_DERIV_ZONE_0_GREEN2
REG=0x350C, 0x0DE7 //SECOND_DERIV_ZONE_1_GREEN2
REG=0x3514, 0x1D22 //SECOND_DERIV_ZONE_2_GREEN2
REG=0x351C, 0x2A2A //SECOND_DERIV_ZONE_3_GREEN2
REG=0x3524, 0x1A26 //SECOND_DERIV_ZONE_4_GREEN2
REG=0x352C, 0x1420 //SECOND_DERIV_ZONE_5_GREEN2
REG=0x3534, 0xF2AB //SECOND_DERIV_ZONE_6_GREEN2
REG=0x353C, 0xD2E0 //SECOND_DERIV_ZONE_7_GREEN2
REG=0x3550, 0x03FF //K_FACTOR_IN_K_FX_FY_G2_TL
REG=0x3548, 0x07FF //K_FACTOR_IN_K_FX_FY_G2_TR
REG=0x3560, 0x03FF //K_FACTOR_IN_K_FX_FY_G2_BL
REG=0x3558, 0x07FF //K_FACTOR_IN_K_FX_FY_G2_BR
REG=0x3540, 0x0000 //X2_FACTORS
REG=0x3542, 0x0004 //GLOBAL_OFFSET_FXY_FUNCTION
STATE=Lens Correction Falloff, 90
STATE=Lens Correction Center X, 820
STATE=Lens Correction Center Y, 600
BITFIELD=0x3210, 0x0004, 1 //LENS_CORRECTION [CCM]
//-------------------------------------------
// Demo Boards. (Derived with Largan Lens)
//-------------------------------------------
REG= 0x338C, 0xA34A // MCU_ADDRESS [AWB_GAIN_MIN]
REG= 0x3390, 0x005A // MCU_DATA_0
(Needed so we get enough Red Gain....) [AE]
//--------------------------------------------------
// This Section sets up the AE.
// - Target is lower than default (50 compared to 60)
// - MDR uses MaxRGB for upper Clipping Detection
// - Reduce the Maximum EV shift for MDR
//--------------------------------------------------
REG= 0x338C, 0xA206 // MCU_ADDRESS [AE_TARGET]
REG= 0x3390, 0x0030 // MCU_DATA_0 [one step MDR]
REG= 0x338C, 0xA218 // MCU_ADDRESS [AE_STATUS] set bit 5 to 1
REG= 0x3390, 0x00A4 // MCU_DATA_0
REG= 0x338C, 0xA130 // MCU_ADDRESS [SEQ_PREVIEW_2_AE]
REG= 0x3390, 0x0000 // MCU_DATA_0 [LUT_sRGB]
//---------------------------------------------------
// This Settings produce sRGB output from the Sensor
// (No contrast and low saturation)
//---------------------------------------------------
REG= 0x338C, 0xA352 // MCU_ADDRESS [AWB_SATURATION]
REG= 0x3390, 0x0064 // MCU_DATA_0
REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1]
REG= 0x3390, 0x0064 // MCU_DATA_0
REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2]
REG= 0x3390, 0x0019 // MCU_DATA_0
REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1]
REG= 0x3390, 0x0027 // MCU_DATA_0
REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2]
REG= 0x3390, 0x0035 // MCU_DATA_0
REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3]
REG= 0x3390, 0x0049 // MCU_DATA_0
REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4]
REG= 0x3390, 0x0064 // MCU_DATA_0
REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5]
REG= 0x3390, 0x0077 // MCU_DATA_0
REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6]
REG= 0x3390, 0x0088 // MCU_DATA_0
REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7]
REG= 0x3390, 0x0097 // MCU_DATA_0
REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8]
REG= 0x3390, 0x00A4 // MCU_DATA_0
REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9]
REG= 0x3390, 0x00AF // MCU_DATA_0
REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10]
REG= 0x3390, 0x00BA // MCU_DATA_0
REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11]
REG= 0x3390, 0x00C5 // MCU_DATA_0
REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12]
REG= 0x3390, 0x00CE // MCU_DATA_0
REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13]
REG= 0x3390, 0x00D8 // MCU_DATA_0
REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14]
REG= 0x3390, 0x00E0 // MCU_DATA_0
REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15]
REG= 0x3390, 0x00E8 // MCU_DATA_0
REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16]
REG= 0x3390, 0x00F1 // MCU_DATA_0
REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17]
REG= 0x3390, 0x00F8 // MCU_DATA_0
REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1]
REG= 0x3390, 0x0027 // MCU_DATA_0
REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2]
REG= 0x3390, 0x0035 // MCU_DATA_0
REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3]
REG= 0x3390, 0x0049 // MCU_DATA_0
REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4]
REG= 0x3390, 0x0064 // MCU_DATA_0
REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5]
REG= 0x3390, 0x0077 // MCU_DATA_0
REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6]
REG= 0x3390, 0x0088 // MCU_DATA_0
REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7]
REG= 0x3390, 0x0097 // MCU_DATA_0
REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8]
REG= 0x3390, 0x00A4 // MCU_DATA_0
REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9]
REG= 0x3390, 0x00AF // MCU_DATA_0
REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10]
REG= 0x3390, 0x00BA // MCU_DATA_0
REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11]
REG= 0x3390, 0x00C5 // MCU_DATA_0
REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12]
REG= 0x3390, 0x00CE // MCU_DATA_0
REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13]
REG= 0x3390, 0x00D8 // MCU_DATA_0
REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14]
REG= 0x3390, 0x00E0 // MCU_DATA_0
REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15]
REG= 0x3390, 0x00E8 // MCU_DATA_0
REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16]
REG= 0x3390, 0x00F1 // MCU_DATA_0
REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17]
REG= 0x3390, 0x00F8 // MCU_DATA_0
REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0006 // MCU_DATA_0 [LUT_Vivid]
//------------------------------------------------------
// This Settings produce a Vivid output from the Sensor
// (Lots of contrast and Saturation
//------------------------------------------------------
REG= 0x338C, 0xA352 // MCU_ADDRESS [AWB_SATURATION]
REG= 0x3390, 0x004B // MCU_DATA_0
REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1]
REG= 0x3390, 0x004B // MCU_DATA_0
REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2]
REG= 0x3390, 0x000A // MCU_DATA_0
REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1]
REG= 0x3390, 0x001B // MCU_DATA_0
REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2]
REG= 0x3390, 0x002E // MCU_DATA_0
REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3]
REG= 0x3390, 0x004C // MCU_DATA_0
REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4]
REG= 0x3390, 0x0078 // MCU_DATA_0
REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5]
REG= 0x3390, 0x0098 // MCU_DATA_0
REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6]
REG= 0x3390, 0x00B0 // MCU_DATA_0
REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7]
REG= 0x3390, 0x00C1 // MCU_DATA_0
REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8]
REG= 0x3390, 0x00CF // MCU_DATA_0
REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9]
REG= 0x3390, 0x00D9 // MCU_DATA_0
REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10]
REG= 0x3390, 0x00E1 // MCU_DATA_0
REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11]
REG= 0x3390, 0x00E8 // MCU_DATA_0
REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12]
REG= 0x3390, 0x00EE // MCU_DATA_0
REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13]
REG= 0x3390, 0x00F2 // MCU_DATA_0
REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14]
REG= 0x3390, 0x00F6 // MCU_DATA_0
REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15]
REG= 0x3390, 0x00F9 // MCU_DATA_0
REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16]
REG= 0x3390, 0x00FB // MCU_DATA_0
REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17]
REG= 0x3390, 0x00FD // MCU_DATA_0
REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1]
REG= 0x3390, 0x001B // MCU_DATA_0
REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2]
REG= 0x3390, 0x002E // MCU_DATA_0
REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3]
REG= 0x3390, 0x004C // MCU_DATA_0
REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4]
REG= 0x3390, 0x0078 // MCU_DATA_0
REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5]
REG= 0x3390, 0x0098 // MCU_DATA_0
REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6]
REG= 0x3390, 0x00B0 // MCU_DATA_0
REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7]
REG= 0x3390, 0x00C1 // MCU_DATA_0
REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8]
REG= 0x3390, 0x00CF // MCU_DATA_0
REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9]
REG= 0x3390, 0x00D9 // MCU_DATA_0
REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10]
REG= 0x3390, 0x00E1 // MCU_DATA_0
REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11]
REG= 0x3390, 0x00E8 // MCU_DATA_0
REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12]
REG= 0x3390, 0x00EE // MCU_DATA_0
REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13]
REG= 0x3390, 0x00F2 // MCU_DATA_0
REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14]
REG= 0x3390, 0x00F6 // MCU_DATA_0
REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15]
REG= 0x3390, 0x00F9 // MCU_DATA_0
REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16]
REG= 0x3390, 0x00FB // MCU_DATA_0
REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17]
REG= 0x3390, 0x00FD // MCU_DATA_0
REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0006 // MCU_DATA_0 [LUT_Moderate]
//-----------------------------------------------------
// This Settings produce a moderatly contrast enhanced
// and saturated image output from the Sensor
//-----------------------------------------------------
REG= 0x338C, 0xA352 // MCU_ADDRESS [AWB_SATURATION]
REG= 0x3390, 0x003C // MCU_DATA_0
REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1]
REG= 0x3390, 0x003C // MCU_DATA_0
REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2]
REG= 0x3390, 0x000A // MCU_DATA_0
REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1]
REG= 0x3390, 0x0029 // MCU_DATA_0
REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2]
REG= 0x3390, 0x003B // MCU_DATA_0
REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3]
REG= 0x3390, 0x0053 // MCU_DATA_0
REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4]
REG= 0x3390, 0x0076 // MCU_DATA_0
REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5]
REG= 0x3390, 0x0091 // MCU_DATA_0
REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6]
REG= 0x3390, 0x00A7 // MCU_DATA_0
REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7]
REG= 0x3390, 0x00B8 // MCU_DATA_0
REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8]
REG= 0x3390, 0x00C5 // MCU_DATA_0
REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9]
REG= 0x3390, 0x00CF // MCU_DATA_0
REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10]
REG= 0x3390, 0x00D8 // MCU_DATA_0
REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11]
REG= 0x3390, 0x00E0 // MCU_DATA_0
REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12]
REG= 0x3390, 0x00E6 // MCU_DATA_0
REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13]
REG= 0x3390, 0x00EC // MCU_DATA_0
REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14]
REG= 0x3390, 0x00F1 // MCU_DATA_0
REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15]
REG= 0x3390, 0x00F5 // MCU_DATA_0
REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16]
REG= 0x3390, 0x00F9 // MCU_DATA_0
REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17]
REG= 0x3390, 0x00FC // MCU_DATA_0
REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1]
REG= 0x3390, 0x0029 // MCU_DATA_0
REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2]
REG= 0x3390, 0x003B // MCU_DATA_0
REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3]
REG= 0x3390, 0x0053 // MCU_DATA_0
REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4]
REG= 0x3390, 0x0076 // MCU_DATA_0
REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5]
REG= 0x3390, 0x0091 // MCU_DATA_0
REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6]
REG= 0x3390, 0x00A7 // MCU_DATA_0
REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7]
REG= 0x3390, 0x00B8 // MCU_DATA_0
REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8]
REG= 0x3390, 0x00C5 // MCU_DATA_0
REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9]
REG= 0x3390, 0x00CF // MCU_DATA_0
REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10]
REG= 0x3390, 0x00D8 // MCU_DATA_0
REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11]
REG= 0x3390, 0x00E0 // MCU_DATA_0
REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12]
REG= 0x3390, 0x00E6 // MCU_DATA_0
REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13]
REG= 0x3390, 0x00EC // MCU_DATA_0
REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14]
REG= 0x3390, 0x00F1 // MCU_DATA_0
REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15]
REG= 0x3390, 0x00F5 // MCU_DATA_0
REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16]
REG= 0x3390, 0x00F9 // MCU_DATA_0
REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17]
REG= 0x3390, 0x00FC // MCU_DATA_0
REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0006 // MCU_DATA_0 [Low Power Preview 15 FPS]
//---------------------------------------------------
// Minimum 15 FPS (66 ms Int-Time)
//---------------------------------------------------
REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX]
REG= 0x3390, 0x0008 // MCU_DATA_0
REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2]
REG= 0x3390, 0x0024 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0
DELAY=500 //Wait [Low Power Preview 10 FPS]
//---------------------------------------------------
// Minimum 10 FPS (100 ms Int-Time)
//---------------------------------------------------
REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX]
REG= 0x3390, 0x000C // MCU_DATA_0
REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2]
REG= 0x3390, 0x0022 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0
DELAY=500 //Wait [Low Power Preview 7_5 FPS]
//---------------------------------------------------
// Minimum 7.5 FPS (133 ms Int-Time)
//---------------------------------------------------
REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX]
REG= 0x3390, 0x0010 // MCU_DATA_0
REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2]
REG= 0x3390, 0x0022 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 //Wait [Low Power Preview 5 FPS]
//---------------------------------------------------
// Minimum 5 FPS (200 ms Int-Time)
//---------------------------------------------------
REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX]
REG= 0x3390, 0x0018 // MCU_DATA_0
REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2]
REG= 0x3390, 0x001E // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 //Wait [Sequencer_Optimized_HiSat_Sharp]
//---------------------------------------------------
// These Sequencer Settings include optimized
// Transition values between bright and low light
// for the following:
// - Noise Reduction
// - Saturation
// - Aperture Correction
// and also enable the MDR AE algorithm
//---------------------------------------------------
REG= 0x338C, 0xA130 // MCU_ADDRESS [SEQ_PREVIEW_2_AE]
REG= 0x3390, 0x0004 // MCU_DATA_0
REG= 0x338C, 0xA115 // MCU_ADDRESS [SEQ_LLMODE]
REG= 0x3390, 0x00EF // MCU_DATA_0
REG= 0x338C, 0xA116 // MCU_ADDRESS [SEQ_LLVIRTGAIN1]
REG= 0x3390, 0x0030 // MCU_DATA_0
REG= 0x338C, 0xA117 // MCU_ADDRESS [SEQ_LLVIRTGAIN2]
REG= 0x3390, 0x0055 // MCU_DATA_0
REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1]
REG= 0x3390, 0x005A // MCU_DATA_0
REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2]
REG= 0x3390, 0x0028 // MCU_DATA_0
REG= 0x338C, 0xA11A // MCU_ADDRESS [SEQ_LLINTERPTHRESH1]
REG= 0x3390, 0x0008 // MCU_DATA_0
REG= 0x338C, 0xA11B // MCU_ADDRESS [SEQ_LLINTERPTHRESH2]
REG= 0x3390, 0x001E // MCU_DATA_0
REG= 0x338C, 0xA11C // MCU_ADDRESS [SEQ_LLAPCORR1]
REG= 0x3390, 0x0002 // MCU_DATA_0
REG= 0x338C, 0xA11D // MCU_ADDRESS [SEQ_LLAPCORR2]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA11E // MCU_ADDRESS [SEQ_LLAPTHRESH1]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA11F // MCU_ADDRESS [SEQ_LLAPTHRESH2]
REG= 0x3390, 0x0004 // MCU_DATA_0 [Flip and Mirror]
REG= 0x338C, 0x2719 // MCU_ADDRESS [MODE_SENSOR_READ_MODE_A]
REG= 0x3390, 0x046F // MCU_DATA_0
REG= 0x338C, 0x273B // MCU_ADDRESS [MODE_SENSOR_READ_MODE_B]
REG= 0x3390, 0x0027 // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0006 // MCU_DATA_0 [Noise Reduction Test]
//Reduce Histogram to 0% Clipping
REG= 0x338C, 0xAB05 // MCU_ADDRESS [HG_PERCENT]
REG= 0x3390, 0x0000 // MCU_DATA_0
//Use New Gamma Table with Noise Kill
REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B]
REG= 0x3390, 0x0003 // MCU_DATA_0
REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1]
REG= 0x3390, 0x0015 // MCU_DATA_0
REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2]
REG= 0x3390, 0x0025 // MCU_DATA_0
REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3]
REG= 0x3390, 0x003F // MCU_DATA_0
REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4]
REG= 0x3390, 0x0064 // MCU_DATA_0
REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5]
REG= 0x3390, 0x0080 // MCU_DATA_0
REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6]
REG= 0x3390, 0x0097 // MCU_DATA_0
REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7]
REG= 0x3390, 0x00A9 // MCU_DATA_0
REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8]
REG= 0x3390, 0x00BA // MCU_DATA_0
REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9]
REG= 0x3390, 0x00C7 // MCU_DATA_0
REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10]
REG= 0x3390, 0x00D2 // MCU_DATA_0
REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11]
REG= 0x3390, 0x00DC // MCU_DATA_0
REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12]
REG= 0x3390, 0x00E4 // MCU_DATA_0
REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13]
REG= 0x3390, 0x00EA // MCU_DATA_0
REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14]
REG= 0x3390, 0x00F0 // MCU_DATA_0
REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15]
REG= 0x3390, 0x00F4 // MCU_DATA_0
REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16]
REG= 0x3390, 0x00F8 // MCU_DATA_0
REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17]
REG= 0x3390, 0x00FC // MCU_DATA_0
REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1]
REG= 0x3390, 0x0015 // MCU_DATA_0
REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2]
REG= 0x3390, 0x0025 // MCU_DATA_0
REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3]
REG= 0x3390, 0x003F // MCU_DATA_0
REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4]
REG= 0x3390, 0x0064 // MCU_DATA_0
REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5]
REG= 0x3390, 0x0080 // MCU_DATA_0
REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6]
REG= 0x3390, 0x0097 // MCU_DATA_0
REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7]
REG= 0x3390, 0x00A9 // MCU_DATA_0
REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8]
REG= 0x3390, 0x00BA // MCU_DATA_0
REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9]
REG= 0x3390, 0x00C7 // MCU_DATA_0
REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10]
REG= 0x3390, 0x00D2 // MCU_DATA_0
REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11]
REG= 0x3390, 0x00DC // MCU_DATA_0
REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12]
REG= 0x3390, 0x00E4 // MCU_DATA_0
REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13]
REG= 0x3390, 0x00EA // MCU_DATA_0
REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14]
REG= 0x3390, 0x00F0 // MCU_DATA_0
REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15]
REG= 0x3390, 0x00F4 // MCU_DATA_0
REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16]
REG= 0x3390, 0x00F8 // MCU_DATA_0
REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17]
REG= 0x3390, 0x00FC // MCU_DATA_0
REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18]
REG= 0x3390, 0x00FF // MCU_DATA_0
REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD]
REG= 0x3390, 0x0006 // MCU_DATA_0
//Boost Color In YUV Space
BITFIELD=0x35A4, 0x0007, 0x0006 //Color kill saturation point //New Sequencer Settings
REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1]
REG= 0x3390, 0x001E // MCU_DATA_0
REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2]
REG= 0x3390, 0x0004 // MCU_DATA_0
REG= 0x338C, 0xA11A // MCU_ADDRESS [SEQ_LLINTERPTHRESH1]
REG= 0x3390, 0x000A // MCU_DATA_0
REG= 0x338C, 0xA11B // MCU_ADDRESS [SEQ_LLINTERPTHRESH2]
REG= 0x3390, 0x0020 // MCU_DATA_0 //Noise Setup
REG= 0x338C, 0xA13E // MCU_ADDRESS [SEQ_NR_TH1_R]
REG= 0x3390, 0x0004 // MCU_DATA_0
REG= 0x338C, 0xA13F // MCU_ADDRESS [SEQ_NR_TH1_G]
REG= 0x3390, 0x000E // MCU_DATA_0
REG= 0x338C, 0xA140 // MCU_ADDRESS [SEQ_NR_TH1_B]
REG= 0x3390, 0x0004 // MCU_DATA_0
REG= 0x338C, 0xA141 // MCU_ADDRESS [SEQ_NR_TH1_OL]
REG= 0x3390, 0x0004 // MCU_DATA_0
REG= 0x338C, 0xA142 // MCU_ADDRESS [SEQ_NR_TH2_R]
REG= 0x3390, 0x0032 // MCU_DATA_0
REG= 0x338C, 0xA143 // MCU_ADDRESS [SEQ_NR_TH2_G]
REG= 0x3390, 0x000F // MCU_DATA_0
REG= 0x338C, 0xA144 // MCU_ADDRESS [SEQ_NR_TH2_B]
REG= 0x3390, 0x0032 // MCU_DATA_0
REG= 0x338C, 0xA145 // MCU_ADDRESS [SEQ_NR_TH2_OL]
REG= 0x3390, 0x0032 // MCU_DATA_0
REG= 0x338C, 0xA146 // MCU_ADDRESS [SEQ_NR_GAINTH1]
REG= 0x3390, 0x0005 // MCU_DATA_0
REG= 0x338C, 0xA147 // MCU_ADDRESS [SEQ_NR_GAINTH2]
REG= 0x3390, 0x003A // MCU_DATA_0 [Lens Calibration Setup]
//---------------------------------------------------
// This Setup can be used to calibrate the lens
//---------------------------------------------------
REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE]
REG= 0x3390, 0x0000 // MCU_DATA_0
BITFIELD=0x3210, 0x0004, 0 //turn off Enable lens shading
REG=0x3212, 0x0001 // FACTORY_BYPASS
DELAY=1000
REG=0x3330, 0x0140 // OUTPUT_FORMAT_TEST (LC bypass)
DELAY=1000
STATE=Lens Correction Overlay, 1 [Color Setup]
//---------------------------------------------------
// This Setup can be used to calibrate the color
//---------------------------------------------------
REG= 0x338C, 0xAB04 // MCU_ADDRESS [HG_MAX_DLEVEL]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA353 // MCU_ADDRESS [AWB_MODE]
REG= 0x3390, 0x0021 // MCU_DATA_0
DELAY=1000
REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE]
REG= 0x3390, 0x0000 // MCU_DATA_0
DELAY=1000
BITFIELD=0x3210, 0x00A0, 0 //turn off gamma correction and color correction
REG=0x3028, 0x0008 //(1) ANALOGUE_GAIN_CODE_GLOBAL [True Gray Setup]
//---------------------------------------------------
// This Setup can be used to calibrate true grey TH
// When calibrating True Gray, we recommend that the
//user first load the [Power up] section and then this
// [True Gray Setup] preset and not load any other
// preset because if noise reduction related preset
// is included, the color saturation is altered.
//---------------------------------------------------
REG= 0x338C, 0xAB04 // MCU_ADDRESS [HG_MAX_DLEVEL]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x2318 // MCU_ADDRESS [AWB_CCM_L_9]
REG= 0x3390, 0x0020 // MCU_DATA_0
REG= 0x338C, 0x231A // MCU_ADDRESS [AWB_CCM_L_10]
REG= 0x3390, 0x0020 // MCU_DATA_0
REG= 0x338C, 0x232E // MCU_ADDRESS [AWB_CCM_RL_9]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0x2330 // MCU_ADDRESS [AWB_CCM_RL_10]
REG= 0x3390, 0x0000 // MCU_DATA_0
REG= 0x338C, 0xA353 // MCU_ADDRESS [AWB_MODE]
REG= 0x3390, 0x0021 // MCU_DATA_0 BITFIELD=0x3210, 0x00A0, 0 //turn off gamma correction and color correction [8 bit walking 1 test pattern]
REG=0x3212, 0x0000 //(1) FACTORY_BYPASS
REG=0x3290, 0x0020 //(1) TEST_PATTERN
REG=0x3386, 0x0501 //(1) MCU_BOOT_MODE [10 bit walking 1 test pattern]
REG=0x3212, 0x0000 //(1) FACTORY_BYPASS
REG=0x3290, 0x0060 //(1) TEST_PATTERN
REG=0x3386, 0x0501 //(1) MCU_BOOT_MODE [high power preview mode - nongated pixclk]
//-----------------------------------------------------
// This setup enables the user to get non-gated pixclk
// running in context A and half of the speed compared
// to context B. The example uses a 24MHz input clk
// and an output of 80MHz. Therefore context A clk
// speed is 40MHz and context B is 80MHz. Please note
// user needs to first use Register Wizard v1.2 to
// generate timing settings for high power preview mode
//-----------------------------------------------------
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617
REG = 0, 0x341C, 0x0250 //PLL Control 1 = 288
REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617
DELAY = 200 // More than ample time to allow PLL to lock
REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616 //Set Watermark and enable Half rate mode
REG=0x321E, 0x0014 //(1) OF_WATERMARK
REG=0x321C, 0x0006 //(1) OF_CONTROL_STATUS
REG=0x3216, 0x82DF //(1) INTERNAL_CLOCK_CONTROL
REG=0x3212, 0x0002 //(1) FACTORY_BYPASS [SOC2020 MIPI 640Mbps SVGA EXTCLK=24MHz OP_PIX_CLK=80MHz]
// Disable Parallel and Standby
REG=0x301A, 0x0208 // RESET_REGISTER
REG=0x3202, 0x0008 // STANDBY_CONTROL
// Setup PLL
REG=0x341C, 0x0250 // PLL_DIVIDERS1
REG=0x341E, 0x8F09 // PLL_CLK_IN_CONTROL
DELAY=250
REG=0x341E, 0x8F08 // PLL_CLK_IN_CONTROL
DELAY=100
// Prepare internal clocks
REG=0x3216, 0x825F // INTERNAL_CLOCK_CONTROL
REG=0x3212, 0x0002 // FACTORY_BYPASS
DELAY=100
// Misc MIPI settings
REG=0x3410, 0x0F06 // MIPI_PRE_HS_TX
REG=0x3414, 0x0A3A // MIPI_CLOCK_OVERLAP
//REG=0x3404, 0x002B // MIPI_DATA_TYPE
DELAY=250
// Enable MIPI
REG=0x3400, 0x000D // MIPI_CONTROL
DELAY=250
REG=0x3400, 0x0009 // MIPI_CONTROL
// Enable streaming
REG=0x301A, 0x020C // RESET_REGISTER [HIDDEN: 30fps HD]
//
// Date: 10/18/2010 Probelms with this configuration have been reported - DO NOT USE
//
// This file was generated by: MT9D112 (SOC2020) Register Wizard
// Version: 2.11.0.16 Build Date: 07/31/2008
//
// [PLL PARAMETERS]
//
// Bypass PLL: Unchecked
// Input Frequency: 24.000
// Use Min Freq.: Unchecked
// Target PLL Frequency: 80.000
// Target VCO Frequency: Unspecified
// "M" Value: Unspecified
// "N" Value: Unspecified
//
// Target PLL Frequency: 80 MHz
// Input Clock Frequency: 24 MHz
//
// Actual PLL Frequency: 80 MHz
//
// M = 80
// N = 2
// Fpdf = 8 MHz
// Fvco = 640 MHz
// //
// REG = 0x338C, 0x2703 //Output Width (A)
REG = 0x3390, 0x0500 // = 1280 REG = 0x338C, 0x2705 //Output Height (A)
REG = 0x3390, 0x02d0 // = 720 REG = 0x338C, 0x270D //Row Start (A)
REG = 0x3390, 0x004 // = 4
REG = 0x338C, 0x270F //Column Start (A)
REG = 0x3390, 0x004 // = 4 REG = 0x338C, 0x2711 //Row End (A)
REG = 0x3390, 0x2dB // = 731
REG = 0x338C, 0x2713 //Column End (A)
REG = 0x3390, 0x50b // = 1291 REG = 0x338C, 0x2715 //Extra Delay (A)
REG = 0x3390, 0x65a // = 1626 REG = 0x338C, 0x2717 //Row Speed (A)
REG = 0x3390, 0x2111 // = 8465
REG = 0x338C, 0x2719 //Read Mode (A)
REG = 0x3390, 0x0024 // = 36
REG = 0x338C, 0x271B //sensor_sample_time_pck (A)
REG = 0x3390, 0x0120 // = 288 REG = 0x338C, 0x271D //sensor_fine_correction (A)
REG = 0x3390, 0x00A4 // = 164
REG = 0x338C, 0x271F //sensor_fine_IT_min (A)
REG = 0x3390, 0x0169 // = 361 REG = 0x338C, 0x2721 //sensor_fine_IT_max_margin (A)
REG = 0x3390, 0x00A4 // = 164 REG = 0x338C, 0x2723 //Frame Lines (A)
REG = 0x3390, 737 // = 781 REG = 0x338C, 0x2725 //Line Length (A)
REG = 0x3390, 0x06e4 // = 1764 REG = 0x338C, 0x2727 //sensor_dac_id_4_5 (A)
REG = 0x3390, 0x2020 // = 8224
REG = 0x338C, 0x2729 //sensor_dac_id_6_7 (A)
REG = 0x3390, 0x2020 // = 8224
REG = 0x338C, 0x272B //sensor_dac_id_8_9 (A)
REG = 0x3390, 0x1020 // = 4128
REG = 0x338C, 0x272D //sensor_dac_id_10_11 (A)
REG = 0x3390, 0x2007 // = 8199 REG = 0x338C, 0x2751 //Crop_X0 (A)
REG = 0x3390, 0x0000 // = 0
REG = 0x338C, 0x2753 //Crop_X1 (A)
REG = 0x3390, 0x0500 // = 1280 REG = 0x338C, 0x2755 //Crop_Y0 (A)
REG = 0x3390, 0x0000 // = 0
REG = 0x338C, 0x2757 //Crop_Y1 (A)
REG = 0x3390, 0x02d0 // = 720 REG = 0x338C, 0x222E //R9 Step
REG = 0x3390, 0x00bd // = 189
REG = 0x338C, 0xA408 //search_f1_50
REG = 0x3390, 0x2d // = 45
REG = 0x338C, 0xA409 //search_f2_50
REG = 0x3390, 0x30 // = 48 REG = 0x338C, 0xA40A //search_f1_60
REG = 0x3390, 0x36 // = 54
REG = 0x338C, 0xA40B //search_f2_60
REG = 0x3390, 0x39 // = 57 REG = 0x338C, 0x2411 //R9_Step_60 (A)
REG = 0x3390, 0x00bd // = 189 REG = 0x338C, 0x2413 //R9_Step_50 (A)
REG = 0x3390, 0x00e3 // = 227 REG = 0x338C, 0xA40D //Stat_min
REG = 0x3390, 0x02 // = 2
REG = 0x338C, 0xA410 //Min_amplitude
REG = 0x3390, 0x01 // = 1
REG = 0x338C, 0xA103 //Refresh Sequencer Mode
REG = 0x3390, 0x06 // = 6
POLL_FIELD=SEQ_CMD, !=0, DELAY=10, TIMEOUT=100 // wait for command to be processed
REG = 0x338C, 0xA103 //Refresh Sequencer
REG = 0x3390, 0x05 // = 5
POLL_FIELD=SEQ_CMD, !=0, DELAY=10, TIMEOUT=100 // wait for command to be processed
VAR8= 2, 0x000C, 0x04 // AE_MAX_INDEX
VAR8= 1, 0x0003, 0x05 // SEQ_CMD

VmodCAM 初始化的更多相关文章

  1. VmodCAM图像采集 VGA显示

    先上图 总体框图 效果图 效果不是很好,因为暂时用的是zedboard自带的VGA,其只能RGB只有3*3*3的彩色度 VmodCAM原理图 VmodCAM的zedboard管脚约束见:http:// ...

  2. Java初始化过程

    这篇文章主要讲解Java在创建对象的时候,初始化的顺序.主要从以下几个例子中讲解: 继承关系中初始化顺序 初始化块与构造器的顺序 已经加载过的类的初始化顺序 加载父类,会不会加载子类 创建子类对象会不 ...

  3. nginx源码分析之模块初始化

    在nginx启动过程中,模块的初始化是整个启动过程中的重要部分,而且了解了模块初始化的过程对应后面具体分析各个模块会有事半功倍的效果.在我看来,分析源码来了解模块的初始化是最直接不过的了,所以下面主要 ...

  4. nginx源码分析之网络初始化

    nginx作为一个高性能的HTTP服务器,网络的处理是其核心,了解网络的初始化有助于加深对nginx网络处理的了解,本文主要通过nginx的源代码来分析其网络初始化. 从配置文件中读取初始化信息 与网 ...

  5. Java类变量和成员变量初始化过程

    一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...

  6. Git学习笔记一:新建本地仓库及初始化

    1.百度搜索Git下载安装,直接按默认选项安装即可. 例如:Git-2.7.2-32-bit_setup.1457942412.exe 2.配置Git信息,建立版本仓库 (Alt+PrintScerr ...

  7. Spring MVC初始化参数绑定

    初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   proper ...

  8. SpringMVC初始化参数绑定--日期格式

    一.初始化参数绑定[一种日期格式] 配置步骤: ①:在applicationcontext.xml中只需要配置一个包扫描器即可 <!-- 包扫描器 --> <context:comp ...

  9. SpringMvc中初始化参数绑定

    初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   proper ...

随机推荐

  1. Excel处理数据用到的一些公式和VBA脚本

    最近工作中用到EXCEL统计处理一些数据,正好之前有自学了一段时间的EXCEL,这次正好用上.为了加深印象,以后方便翻阅,就记录下来.这篇会不断补充. IF 多条件判断返回值 IF(logical_t ...

  2. windows 7 与linux 双系统 安装

    注意事项: 1.安装Linux的时候,一定要选 “空闲”的硬盘去创建标准分区,否则会格式化C盘或D盘windows的资料.[如 /dev/sda1 为c盘主分区,sda2为扩展分区---下面有D盘,E ...

  3. docker镜像的操作

    在主机上列出镜像 sudo docker images 每从Docker Hub下载一个镜像就会启动相对的创建一个容器 在镜像列表中看到三个重要的东西: 来自什么镜像源,例如ubuntu 每个镜像都有 ...

  4. JavaScript随机数

    function random(start,end){ var total=start+end; return Manth.floor(Manth.random()+total-start); }

  5. AsyncTask的介绍

    android AsyncTask介绍 AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接 ...

  6. 使用SourceTree

    SourceTree是个git的GUI软件. 教程将“使用Git”那个小节可视化,更为直观. 第一次启动的时候选择忽略,然后直接进入界面.  填入git地址与注册邮箱即可 例如mindset这本书的g ...

  7. codeforces 434B B. Nanami's Digital Board(分治)

    题目链接: B. Nanami's Digital Board time limit per test 1 second memory limit per test 256 megabytes inp ...

  8. hdu 3909 数独扩展

    思路:做法与9*9的一样.只不过是变量. #include<set> #include<map> #include<cmath> #include<queue ...

  9. hdu 3308 LCIS 线段树

    昨天热身赛的简单版:LCIS.昨天那题用树链剖分,不知道哪里写错了,所以水了水这题看看合并.更新方式是否正确,发现没错啊.看来应该是在树链剖分求lca时写错了... 题目:给出n个数,有两种操作: 1 ...

  10. hdu 3917 Road constructions 最大权闭合子图

    样例说明: n(城市数目)   m(工程队数目) 每个工程队上交的税收 val[i] k(k个工程) xi   yi  ci  costi , 工程队ci承包由xi到yi,政府的补贴为costi 注意 ...