• 大小: 39KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Java
  • 标签: OV8865  OV  camera  sensor  

资源简介

附件是OV8865 (sensor)camera驱动,可用于linux,Android等平台

资源截图

代码片段和文件信息


#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include “../comip-video.h“


#include “ov8865_sunny.h“
#include “ov8865_oflim.h“


#define  GRPMODE
#define OV8865_CHIP_ID_H (0x00)
#define OV8865_CHIP_ID_M (0x88)
#define OV8865_CHIP_ID_L (0x65)

#define MAX_WIDTH 3264
#define MAX_HEIGHT 2448

#ifndef BUILD_MASS_PRODUCTION
#define HD_WIDTH 1408
#define HD_HEIGHT 792
#define MAX_PREVIEW_WIDTH HD_WIDTH
#define MAX_PREVIEW_HEIGHT  HD_HEIGHT
#else
#define MAX_PREVIEW_WIDTH MAX_WIDTH
#define MAX_PREVIEW_HEIGHT  MAX_HEIGHT
#endif


#define OV8865_REG_END 0xffff
#define OV8865_REG_DELAY 0xfffe

#define OV8865_REG_VAL_PREVIEW  0xff
#define OV8865_REG_VAL_SNAPSHOT 0xfe

#define MODULE_ID_OFLIM 0x02
#define MODULE_ID_SUNNY 0x01

static char* factory_ofilm = “oflim“;
static char* factory_sunny = “sunny“;
static char* factory_unknown = “unknown“;

struct ov8865_win_size *ov8865_win_sizes;
struct v4l2_isp_parm *ov8865_isp_parm;
static struct isp_effect_ops *sensor_effect_ops;
const struct v4l2_isp_regval *ov8865_isp_setting;

static int n_win_sizes;

static int sensor_get_aecgc_win_setting(int width int heightint meter_mode void **vals);


struct ov8865_format_struct;
struct ov8865_info {
struct v4l2_subdev sd;
struct ov8865_format_struct *fmt;
struct ov8865_win_size *win;
int module_id;
int isp_setting_size;
int n_win_sizes;
struct device *dev;
struct i2c_client   *client;
struct comip_camera_client_gpio *gpio;
u8 power_flag;
};
struct ov8865_info *ov8865_dev = NULL;
struct regval_list {
unsigned short reg_num;
unsigned char value;
};

struct otp_struct {
int flag; // bit[7]: info bit[6]:wb bit[5]:vcm bit[4]:lenc
int module_integrator_id;
int lens_id;
int production_year;
int production_month;
int production_day;
int rg_ratio;
int bg_ratio;
int light_rg;
int light_bg;
int lenc[62];
int VCM_start;
int VCM_end;
int VCM_dir;
};

struct ov8865_exp_ratio_entry {
unsigned int width_last;
unsigned int height_last;
unsigned int width_cur;
unsigned int height_cur;
unsigned int exp_ratio;
};

struct ov8865_exp_ratio_entry ov8865_exp_ratio_table[] = {
#ifndef BUILD_MASS_PRODUCTION
{HD_WIDTH  HD_HEIGHT  MAX_WIDTH  MAX_HEIGHT 0x0173}
{MAX_WIDTH MAX_HEIGHT HD_WIDTH  HD_HEIGHT  0x00b0}
#else
#endif
};
#define N_EXP_RATIO_TABLE_SIZE  (ARRAY_SIZE(ov8865_exp_ratio_table))

static struct regval_list ov8865_init_regs[] = {
{0x0103 0x01}
{0x0100 0x00}
{0x0100 0x00}
{0x0100 0x00}
{0x0100 0x00}
{OV8865_REG_DELAY0x05}
{0x3638 0xff}
{0x0302 0x1d}//;26;1e
{0x0303 0x00}
{0x0304 0x03}
{0x030d 0x1d}//;26;1e
{0x030e 0x00}
{0x030f 0x04}
{0x0312 0x01}
{0x031e 0x0c}
{0x3015 0x01}
{0x3018 0x72}
{0x3020 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       72446  2017-07-13 18:04  ov8865_oflim.h
     文件       80019  2017-10-31 16:14  ov8865_sunny.h
     文件       65799  2017-08-31 10:26  ov8865.c

评论

共有 条评论