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

📄 adcm2650_hw.h

📁 Windows CE 6.0 针对PXA270的开发板的BSP参考代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define DROP_FRAME_CNT  0x013c
#define BPA_BADPIX_CNT  0x013e
#define APS_FRAME_CNT   0x0140
#define BPA_OUTL_PED    0x0142
#define BPA_SCALE       0x0144
#define S_PLL_DIVBY_VID 0x0146
#define S_PLL_DIVBY_STL 0x0148

#define TCTRL_VID       0x2000
#define HBLANK_VID      0x2002
#define VBLANK_VID      0x2004
#define MIN_MAX_F_VID   0x2006
#define RPT_VID         0x2008

// Page 419
#define TCTRL_STL       0x2010
#define HBLANK_STL      0x2012
#define VBLANK_STL      0x2014
#define MIN_MAX_F_STL   0x2016
#define RPT_STL         0x2018
#define AF_CTRL_1       0x2020
#define AF_CTRL_2       0x2022
#define AF_STATUS       0x2024
#define MASTER_CLK_FREQ 0x2026
#define AE_GAIN_MIN     0x2028
#define AE_GAIN_MIN_P   0x202a
#define AE_GAIN_MAX     0x202c
#define AE_GAIN_DFLT    0x202e
#define AE2_ETIME_MIN   0x2030
#define AE2_ETIME_MAX   0x2032
#define AE2_ETIME_DFLT  0x2034
#define AE_TARGET       0x2036
#define AE_TOL_ACQ      0x2038
#define AE_TOL_MON      0x203a
#define AE_MARGIN       0x203c
#define AE_DOE_FACTOR   0x203e
#define AE_DOE_MARGIN   0x2040
#define AWB_RED_MIN     0x2044
#define AWB_RED_MAX     0x2046

// Page 420
#define AWB_RED_DFLT    0x2048
#define AWB_BLUE_MIN    0x204a
#define AWB_BLUE_MAX    0x204c
#define AWB_BLUE_DFLT   0x204e
#define AWB_TOL_ACQ     0x2050
#define AWB_TOL_MON     0x2052
#define FLICK_1         0x2054
#define FLICK_2         0x2056
#define ERROR_FLAGS     0x205e
#define NACC_TABLE      0x2060


/***********************************************************************
 *
 * Sensor Register Offset
 *
 ***********************************************************************/
#define IDENT           0x00
#define STATUS          0x01
#define ICTRL           0x05
#define ITMG            0x06
#define FWROW           0x0a
#define FWCOL           0x0b
#define LWROW           0x0c
#define LWCOL           0x0d
#define TCTRL           0x0e
#define ERECPGA         0x0f
#define EROCPGA         0x10
#define ORECPGA         0x11
#define OROCPGA         0x12
#define ROWEXPL         0x13
#define ROWEXPH         0x14
#define SROWEXP         0x15
#define ERR             0x16
#define HBLANK          0x19
#define VBLANK          0x1a
#define CONFIG          0x1b
#define CONTROL         0x1c
#define TEST0           0x1d
#define TEST1           0x1e
#define TEST2           0x1f
#define TEST3           0x20
#define TEST4           0x24
#define TEST5           0x25
#define CONFIG_2        0x27


/***********************************************************************
 *
 * Bit/Field definitions
 *
 ***********************************************************************/
#define CMD_1_VE        0x0001
#define CMD_1_LPE       0x0002

#define CMD_2_SNAP      0x0001
#define CMD_2_ACS       0x0002
#define CMD_2_AVT       0x0004
#define CMD_2_AST       0x0008
#define CMD_2_SGO       0x0010
#define CMD_2_P_RESET   0x0020
#define CMD_2_S_RESET   0x0040
#define CMD_2_U_RESET   0x0080
#define CMD_2_PLL_ON    0x0100
#define CMD_2_UCGS      0x0200
#define CMD_2_PLL_OFF   0x0400
#define CMD_2_IA        0x1000
#define CMD_2_UART_F    0x2000
#define CMD_2_SVWC      0x4000
#define CMD_2_SVHC      0x8000

#define BYPASS_CTRL_BPA     0x0001
#define BYPASS_CTRL_G1G2    0x0002
#define BYPASS_CTRL_SB      0x0004
#define BYPASS_CTRL_AQA     0x0008
#define BYPASS_CTRL_PCD     0x0010
#define BYPASS_CTRL_QT_HEAD 0x0020
#define BYPASS_CTRL_WGF     0x0040
#define BYPASS_CTRL_OLP     0x0080
#define BYPASS_CTRL_CAM_CON 0x0100
#define BYPASS_CTRL_DDFF    0x0200

#define VIDEO_CONFIG_SS             0x0004
#define VIDEO_CONFIG_SHP            0x0008
#define VIDEO_CONFIG_H_MIRROR       0x0010
#define VIDEO_CONFIG_V_MIRROR       0x0020
#define VIDEO_CONFIG_O_FORMAT_SHIFT 8
#define VIDEO_CONFIG_O_FORMAT_MASK  (0xF<<VIDEO_CONFIG_O_FORMAT_SHIFT)
#define VIDEO_CONFIG_JPEG_MASK      0x2000

#define STILL_CONFIG_SS             0x0004
#define STILL_CONFIG_SHP            0x0008
#define STILL_CONFIG_H_MIRROR       0x0010
#define STILL_CONFIG_V_MIRROR       0x0020
#define STILL_CONFIG_O_FORMAT_SHIFT 8
#define STILL_CONFIG_O_FORMAT_MASK  (0xF<<STILL_CONFIG_O_FORMAT_SHIFT)
#define STILL_CONFIG_JPEG_MASK      0x2000

#define BYPASS_CTRL_SB              0x0004

#define SENSOR_CTRL_RW              0x0010
#define SENSOR_CTRL_GO              0x0020

#define AF_STATUS_CC                0x0008

#define S_PLL_CTRL_0_S_PLL_SE       0x0010



/***********************************************************************
 *
 * Function Prototype
 *
 ***********************************************************************/
// Read and Write from/to Image Pipeline Registers
int ADCM2650PipelineRead( XLLP_UINT16_T regAddr, XLLP_UINT16_T * regValue);
int ADCM2650PipelineWrite( XLLP_UINT16_T regAddr, XLLP_UINT16_T regValue);
int ADCM2650PipelineReadRL( XLLP_UINT16_T regAddr, XLLP_UINT16_T mask, XLLP_UINT16_T field);
int ADCM2650PipelineWriteWA( XLLP_UINT16_T regAddr, XLLP_UINT16_T mask);
int ADCM2650PipelineWriteWO( XLLP_UINT16_T regAddr, XLLP_UINT16_T mask);

// Read and Write from/to Image Sensor Registers: The image sensor registers are 8bit wide.
int ADCM2650SensorReadRS( XLLP_UINT8_T regAddr, XLLP_UINT8_T * pRegValue );
int ADCM2650SensorWriteWS( XLLP_UINT8_T regAddr, XLLP_UINT8_T regValue );

// ADCM2650 Wait
int ADCM1650Wait( int ms );

// Configuration Procedures
int ADCM2650PowerOn( XLLP_UINT8_T );
int ADCM2650PowerOff( void );
int ADCM2650ChangeViewfinderMode(ADCM_WINDOWSIZE * pInputWin, ADCM_WINDOWSIZE *pVfOutputWin, ADCM_WINDOWSIZE *pSfOutputWin );
int ADCM2650JpegSlowStillFrame( void );
int ADCM2650JpegFastStillFrame( void );
int ADCM2650Pll(void);
int ADCM2650AutoConfigComplete( void );
int ADCM2650FirmwareUpgrade( void );
int ADCM2650VersionRevision(XLLP_UINT16_T * pCmRevision, XLLP_UINT8_T *pSensorRevision);
int ADCM2650ViewfinderOn( void );
int ADCM2650ViewfinderOff( void );
int ADCM2650PowerLow( void );
int ADCM2650PowerNormal( void );
int ADCM2650Suspend( void );
int ADCM2650Wakeup( void );
int ADCM2650AbortImage( void );
int ADCM2650SnapshotTrigger( void );
int ADCM2650SnapshotComplete( void );
int ADCM2650SnapshotStatus(XLLP_UINT16_T *);
int ADCM2650ImageFlipV(XLLP_UINT16_T mode);
int ADCM2650ImageFlipH(XLLP_UINT16_T mode);
int ADCM2650ImageFlipVH(XLLP_UINT16_T mode);
int ADCM2650PllActive( void );
int ADCM2650PllDeactive( void );
int ADCM2650PllConfiguration( void );
int ADCM2650PllSynchronized( void );
int ADCM2650MasterClock( XLLP_UINT8_T clk );
int ADCM2650SensorVoltage( XLLP_UINT8_T vltg );
int ADCM2650FactoryOverwrite( void );
int ADCM2650ViewfinderInputSize( ADCM_WINDOWSIZE * pWindow );
int ADCM2650StillframeInputSize( ADCM_WINDOWSIZE * pWindow );
int ADCM2650ViewfinderOutputSize(ADCM_WINDOWSIZE * pWindow);
int ADCM2650StillframeOutputSize(ADCM_WINDOWSIZE * pWindow);
int ADCM2650FlickerRate(XLLP_UINT16_T rate);
int ADCM2650LowLight( void );
int ADCM2650NormalLight( void );
int ADCM2650DiscardViewfinderImageData( void );
int ADCM2650SetOutputToJpeg(XLLP_UINT16_T mode);
int ADCM2650StillFrameCfgOutput(XLLP_UINT16_T format);
int ADCM2650ViewfinderCfgOutput(XLLP_UINT16_T format);
int ADCM2650SwitchToJpeg(XLLP_UINT16_T mode);
int ADCM2650SwitchToNormal(XLLP_UINT16_T mode);
int ADCM2650GammaCorrection( void );
int ADCM2650GetOutputFrameRate(XLLP_UINT16_T * fps);
int ADCM2650DetectCameraMode(XLLP_UINT16_T *pMode);
int ADCM2650CameraReady( void );
int ADCM2650WaitTillInStillFrameMode( void );
int ADCM2650HaltVideoOutput( void );
int ADCM2650GetSingleImage( void );
int ADCM2650ResumetoFullOutputMode( void );
int ADCM2650ManualQTable( void );
int ADCM2650AutoQTable( void );

// helper apis
void ADCM2650DumpPipelineRegister(XLLP_UINT16_T startRegAddr, XLLP_UINT16_T endRegAddr, XLLP_UINT16_T* buffer);
void ADCM2650DumpSensorRegister(XLLP_UINT16_T startRegAddr, XLLP_UINT16_T endRegAddr, XLLP_UINT8_T* buffer);
#define WO( a, b )      ADCM2650PipelineWriteWO((a), (b))
#define WA( a, b )      ADCM2650PipelineWriteWA((a), (b))
#define RL( a, m, f )   ADCM2650PipelineReadRL((a), (m), (f))
#define R( a, p )       ADCM2650PipelineRead((a), (p))
#define W( a, v )       ADCM2650PipelineWrite((a), (v))
#define RS( a, p )      ADCM2650SensorReadRS((a), (p))
#define WS( a, v )      ADCM2650SensorWriteWS((a), (v))
#define WAIT( ms )      ADCM2650Wait( ms )

#endif

⌨️ 快捷键说明

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