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

📄 zc030x_reg.h

📁 中星微301摄想头最新驱动
💻 H
📖 第 1 页 / 共 2 页
字号:
#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

⌨️ 快捷键说明

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