?? zc030x_reg.h
字號(hào):
#define ZcReg_EEPROMStatus 0x0302/* Define register map macro */#define ZR(X) ZcReg_##X/* Define gain macro *///#define MakeGain(X,Y) ((X << 6) | (Y & 0x3f))#define MakeGain(X,Y) ((X << 6) | ((int)((float)Y * 6.4) & 0x3f))/* System control */#define ZcVal_Reset 0x01/* System operating */#define ZcVal_Stop 0x00 /* It seems that stop then start reset the chip... What is the purpose of the previous register then ? */#define ZcVal_Start 0x01 /* ClockSelection */ /* This seems needed for some sensors (HDCS, PB, ICM and PAS) */#define ZcVal_DoubleClock 0x40#define ZcVal_InvertClock 0x20#define ZcVal_Fullscale 0x00#define ZcVal_Downsampled 0x10 /* When on, this double the PCLCK */#define ZcVal_PCLCK_6Mhz 0x00#define ZcVal_PCLCK_3Mhz 0x01#define ZcVal_PCLCK_1500Khz 0x02#define ZcVal_PCLCK_750Khz 0x03/* BRC control *//* Clock setting */#define ZcVal_RawMode 0x20 /* Maybe in uncompressed mode */#define ZcVal_StandardHeader 0x10 /* Else the header is very simple */#define ZcVal_WhiteAndBlack 0x80#define ZcVal_FullQuant 0x00#define ZcVal_HalfQuant 0x02#define ZcVal_QuarterQuant 0x04#define ZcVal_EighthQuant 0x06#define ZcVal_Rounding 0x01/* Test control */#define ZcVal_Zc301Plus 0x80#define ZcVal_Zc302 0x00#define ZcVal_DisRemoteWakeUp 0x40#define ZcVal_EepromSize 0x20#define ZcVal_DebugModeOn 0x10#define ZcVal_DebugAudioOn 0x0a#define ZcVal_DebugVideoOn 0x04#define ZcVal_SuspendControl 0x01/* Acquisition time */#define MakeAcqTime(X) (__u8)(((X) + 169) / 170)#define DefaultAcqTime 10710 /* Default ACQ time is 10.710ms *//* Sensor ID */#define ZcVal_HV7131B 0x00#define ZcVal_HV7121B 0x01#define ZcVal_TAS5130C 0x02#define ZcVal_TAS5110B 0x03#define ZcVal_CS2102 0x04#define ZcVal_CS2103 0x05#define ZcVal_OV7620 0x06#define ZcVal_OVCIF 0x07#define ZcVal_HDCS2020 0x08#define ZcVal_HDCS1020 0x09#define ZcVal_PB0330 0x0a#define ZcVal_PB0111 0x0b#define ZcVal_ICM105A 0x0c#define ZcVal_ICM102A 0x0d#define ZcVal_PAS202B 0x0e#define ZcVal_PAS106B 0x0f/* Video status */ /* Those register are only valid when read once... ???? */#define ZcVal_EndOfFrame 0x04 #define ZcVal_SnapshotRequest 0x02#define ZcVal_VideoOverflow 0x01/* Sensor status - Video Contol */#define ZcVal_EnableSensor 0x04#define ZcVal_ResetSensor 0x02#define ZcVal_SensorTurnOn 0x01#define ZcVal_SensorTurnOff 0x00/* Auto adjust FPS */#define ZcVal_EnableAutoFPS 0x01/* Last frame state */#define LastFSMask 0x03#define ZcVal_U0 0x00 /* Still need to know what this is */#define ZcVal_U1 0x01#define ZcVal_U2 0x02#define ZcVal_U3 0x03/* HSync */#define ZcVal_DefaultHS0 0x01#define ZcVal_DefaultHS1 0x0a#define ZcVal_DefaultHS2 0x1b#define ZcVal_DefaultHS3 0x3c/* Target picture size */#define ZcVal_24Kb 0x30#define ZcVal_40Kb 0x50#define ZcVal_56Kb 0x70#define MakeSize(X) ((X) > 0x200)/* Default H Blank */#define ZcVal_DefaultHBlankHigh 0x20#define ZcVal_DefaultHBlankLow 0x21#define ZcVal_DefaultResetLevel 0x30#define ZcVal_DefaultRGainAddr 0x31#define ZcVal_DefaultGGainAddr 0x32#define ZcVal_DefaultBGainAddr 0x33#define ZcVal_DefaultExpTimeHi 0x25#define ZcVal_DefaultExpTimeMi 0x26#define ZcVal_DefaultExpTimeLo 0x27#define ZcVal_DefaultBlackLevel 0x57#define ZcVal_DefaultWhiteLevel 0x59/* I2C Device address */#define ZcVal_I2CCheckAck 0x80#define ZcVal_I2CDeviceAddress 0x7F/* I2C state */#define ZcVal_HDCSNoAck 0x04#define ZcVal_I2CIdle 0x02#define ZcVal_I2CNoAck 0x01/* I2C compatibility mode */#define ZcVal_OVSensor 0x08#define ZcVal_TASxxxxC 0x04#define ZcVal_Round9To8Bit 0x02#define ZcVal_InvertSensorClk 0x01/* I2C function */#define ZcVal_I2CRead 0x02#define ZcVal_I2CWrite 0x01/* Window size - Start address *//* For Y */#define ZcVal_HalfscalY_ICM 0x01#define ZcVal_FullscalY_ICM 0x02#define ZcVal_HalfscalY_TASCVGA 0x06#define ZcVal_FullscalY_TASCVGA 0x07#define ZcVal_HalfscalY_TASCCIF 0x00#define ZcVal_FullscalY_TASCCIF 0x01#define ZcVal_HalfscalY_Default 0x00#define ZcVal_FullscalY_Default 0x00/* And X */#define ZcVal_HalfscalX_ICM 0x01#define ZcVal_FullscalX_ICM 0x02#define ZcVal_HalfscalX_TASCVGA 0x01#define ZcVal_FullscalX_TASCVGA 0x02#define ZcVal_HalfscalX_TASCCIF 0x17#define ZcVal_FullscalX_TASCCIF 0x18#define ZcVal_HalfscalX_PAS 0x02#define ZcVal_FullscalX_PAS 0x03#define ZcVal_HalfscalX_Default 0x00#define ZcVal_FullscalX_Default 0x00/* Width and height */#define ZcVal_FullScaleInc 0x06#define ZcVal_HalfScaleInc 0x08/* Max value - X */#define ZcVal_XMaxHighDefault 0x02#define ZcVal_XMaxLowVGADefault 0xf1#define ZcVal_XMaxLowCIFDefault 0xdf/* And Y */#define ZcVal_YMaxHighDefault 0x01#define ZcVal_YMaxLowVGADefault 0xf4#define ZcVal_YMaxLowCIFDefault 0x2e/* Expsure time */#define ZcVal_DefExpTimeVGAHigh 0x01#define ZcVal_DefExpTimeCIFHigh 0x00#define ZcVal_DefExpTimeVGALow 0x90#define ZcVal_DefExpTimeCIFLow 0xc8/* Exp Gain */#define ZcVal_DefExpGainVGA 0x07#define ZcVal_DefExpGainCIF 0xFF/* Operation mode */#define ZcVal_DigitalColorGain 0x08#define ZcVal_YGammaGain 0x04#define ZcVal_DigitalGlobalGain 0x01/* Sensor correction enable - Bayer pattern */#define ZcVal_FirstPixelIsGreen 0x80#define ZcVal_FirstLineIsGBGBG 0x40#define ZcVal_RBInterpolAvg 0x20#define ZcVal_GInterpolMedian 0x10#define ZcVal_2PixInterpolation 0x08#define ZcVal_GammaCorrection 0x04#define ZcVal_ColorCorrection 0x02#define ZcVal_EnableInterpol 0x01/* Auto correct enable */#define ZcVal_AutoResetLevel 0x10#define ZcVal_AutoColorGain 0x08#define ZcVal_AutoWhiteBalance 0x02#define ZcVal_AutoExpDisable 0x00#define ZcVal_AutoExpNormal 0x01#define ZcVal_AutoExpAntiFlick 0x41/* Auto exposure */#define ZcVal_DefaultWinXStart 0x05#define ZcVal_DefaultWinXWidth 0x0f#define ZcVal_DefaultWinXCenter 0x28#define ZcVal_DefaultWinYStart 0x05#define ZcVal_DefaultWinYWidth 0x0a#define ZcVal_DefaultWinYCenter 0x1e/* Analog gains */#define ZcVal_DefaultMaxGain 0x3f#define ZcVal_DefaultMinGain 0x14/* AWB mode */#define ZcVal_DefaultAWBStatus 0x76#define ZcVal_DefaultAWBFreeze 0xb5#define ZcVal_EnableAWBFreeze 0x80#define MakeAWBLockUnlockRange(X,Y) ((((X) & 0x7) << 4) | ((Y) & 0x0f)) /* AE mode */#define ZcVal_BlockWeightMode 0x00#define ZcVal_WindowWeightMode 0x40#define ZcVal_WinAndBlockWeight 0x80#define ZcVal_Disabled 0xc0#define ZcVal_LargeCenterWindow 0x20#define ZcVal_SmallYRange 0x10#define MakeAELockRange(X) ((X) & 0x7f)#define MakeAEUnlockRange(X) ((X) & 0x7f)#define ZcVal_DefaultDGain 0x01#define MakeDigitalGain(X,Y) ((X * 0x60) | (Y & 0x5f))#define MakeDigitalLimitDiff(X) ((X) & 0x7f)#define MakeDigitalGainStep(Step,DiffStep) ( (((Step) & 0x0f) << 4) | ((DiffStep) & 0x0f))/* Synchronization (Exp time + Antiflicker) */#define ZcVal_DefaultSync00Low 0x14#define ZcVal_DefaultSync00Mid 0x58#define ZcVal_DefaultSync00High 0x55#define ZcVal_DefaultSync01Low 0x01#define ZcVal_DefaultSync01Mid 0xb2#define ZcVal_DefaultSync01High 0x07/* Y target */#define ZcVal_DefaultYTarget 0x80#define ZcVal_DefaultResetLvl 0x20/* Sharpening */#define ZcVal_UseAvgValue 0x02#define ZcVal_EnableSharpening 0x01#define MakeSharpness(X) ((X) * 0x0a)/* Dead pixel */#define ZcVal_RemoveDeadPixels 0x08#define ZcVal_DetectDeadPixels 0x04/* EEPROM */#define ZcVal_EEPROMSize32Kb 0x02#define ZcVal_EEPROMPresent 0x01#define ZcVal_AutoWrite 0x10#define ZcVal_BatchReadControl 0x08#define ZcVal_BatchWriteControl 0x04#define ZcVal_ReadMode 0x02#define ZcVal_WriteMode 0x01/* Define register specific value *//* Define register value macro */#define ZV(X) ZcVal_##X#define WriteDefaultValue(X, Y) zc030x_reg_write(X, ZcReg_##Y, ZcVal_Default##Y) #endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -