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

📄 image_sensor.h

📁 MTK6225 支持的200W像素的代码
💻 H
字号:
#ifndef _IMAGE_SENSOR_H
#define _IMAGE_SENSOR_H
#include "isp_if.h"


/******************************************common define****************************************/
	typedef struct
	{
	   kal_uint8   item_name_ptr[50];         // item name
	   kal_int32	item_value;                // item value
	   kal_bool    is_true_false;             // is this item for enable/disable functions
	   kal_bool	   is_read_only;              // is this item read only
	   kal_bool	   is_need_restart;           // after set this item need restart
	   kal_int32	min;                       // min value of item value	
	   kal_int32	max;                       // max value of item value	
	} ENG_sensor_info;

	typedef enum _SENSOR_TYPE {
		CMOS_SENSOR=0,
		CCD_SENSOR
	} SENSOR_TYPE;

	typedef	enum {
		SENSOR_UNKNOW = 0,
		SENSOR_OV7670,
		SENSOR_MT9V112,
		SENSOR_SP0818,
		SENSOR_OV7680,
		SENSOR_GC0306,
		SENSOR_PO6030,
		SENSOR_OV2640
	}SENSOR_NAME;

	typedef struct {
		kal_uint16		id;
		SENSOR_TYPE		type;
	} SensorInfo;

	typedef struct {
		kal_uint32	addr;
		kal_uint32	para;
	} sensor_reg_struct;
	
	typedef struct {
		sensor_reg_struct	reg[75];
		sensor_reg_struct	cct[3];
	} sensor_data_struct;

	/* DEFINITION USED BY CCT */

	/* MAXIMUM EXPLOSURE LINES USED BY AE */
	extern kal_uint16 MAX_EXPOSURE_LINES;
	/* AE CONTROL CRITERION */
	extern kal_uint8  AE_AWB_CAL_PERIOD;
	extern kal_uint8  AE_GAIN_DELAY_PERIOD;
	extern kal_uint8  AE_SHUTTER_DELAY_PERIOD;


	#define I2C_START_TRANSMISSION(SENSOR_I2C_DELAY) \
	{ \
		volatile kal_uint32 j; \
		SET_SCCB_CLK_OUTPUT; \
		SET_SCCB_DATA_OUTPUT; \
		SET_SCCB_CLK_HIGH; \
		SET_SCCB_DATA_HIGH; \
		for(j=0;j<SENSOR_I2C_DELAY;j++);\
		SET_SCCB_DATA_LOW; \
		for(j=0;j<SENSOR_I2C_DELAY;j++);\
		SET_SCCB_CLK_LOW; \
	}
	
	#define I2C_STOP_TRANSMISSION(SENSOR_I2C_DELAY) \
	{ \
		volatile kal_uint32 j; \
		SET_SCCB_CLK_OUTPUT; \
		SET_SCCB_DATA_OUTPUT; \
		SET_SCCB_CLK_LOW; \
		SET_SCCB_DATA_LOW; \
		for(j=0;j<SENSOR_I2C_DELAY;j++);\
		SET_SCCB_CLK_HIGH; \
		for(j=0;j<SENSOR_I2C_DELAY;j++);\
		SET_SCCB_DATA_HIGH; \
	}

extern kal_uint8 ReadCmos_SensorId();
extern  kal_uint32 read_cmos_sensor(kal_uint32 addr);
extern  void  write_cmos_sensor(kal_uint32 addr,kal_uint32 para);

/***************************define*************************************/
	/* CAMERA PREVIEW FRAME RATE DEFINITION */
	#define CAM_PREVIEW_15FPS
//	#define CAM_PREVIEW_22FPS
//	#define CAM_PREVIEW_30FPS

	#define SYSTEM_CLK                           (48*1000*1000)
	/* PIXEL CLOCK USED BY BANDING FILTER CACULATION*/
	#if defined(CAM_PREVIEW_15FPS)
		#define PIXEL_CLK							         (SYSTEM_CLK/8)		// 52/8 MHz
	#elif defined(CAM_PREVIEW_22FPS)
   		#define PIXEL_CLK							         (SYSTEM_CLK/6)		// 52/6 MHz
	#elif defined(CAM_PREVIEW_30FPS)
 	  	#define PIXEL_CLK 						      		  (SYSTEM_CLK/4)		// 52/4 MHz
	#endif


	/* MAX/MIN FRAME RATE (FRAMES PER SEC.) */
	#define MAX_FRAME_RATE					15		// Limitation for MPEG4 Encode Only
	#define MIN_FRAME_RATE					12
	
	/* 1M RESOLUTION SIZE */
	#define IMAGE_SENSOR_1M_WIDTH				1280
	#define IMAGE_SENSOR_1M_HEIGHT					960

	
	/* SENSOR VGA SIZE */
	#define IMAGE_SENSOR_VGA_WIDTH					(640)
	#define IMAGE_SENSOR_VGA_HEIGHT					(480)

	/* SETUP TIME NEED TO BE INSERTED */
	#define IMAGE_SENSOR_VGA_INSERTED_PIXELS		128		
	#define IMAGE_SENSOR_VGA_INSERTED_LINES		 17   	




#endif

⌨️ 快捷键说明

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