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

📄 cckac1310.c

📁 linux平台上的开放源代码的网络摄像机程序.实现视频捕捉,传输以及云台控制等.非常具有参考价值.
💻 C
字号:
/*!****************************************************************************! 05.03.2002 splitted huge cmoscam.c*! FILE NAME  : cckac1310.c*! DESCRIPTION: sensor support for KAC-1310*//****************** INCLUDE FILES SECTION ***********************************/#include <linux/module.h>#include <linux/sched.h>#include <linux/slab.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/string.h>#include <linux/init.h>#include <linux/config.h>#include <asm/system.h>#include <asm/svinto.h>#include <asm/io.h>#include <asm/irq.h>#include <asm/delay.h>#include <asm/uaccess.h>#include <asm/cmoscama.h>#include "cc303.h"#include "cci2c.h"#include "cckac1310.h"#define D(x)// **************************************************************static unsigned long default_KAC1310[]= \   {   P_VIRT_WIDTH, 	1300,	// will set one less to internal registers   P_VIRT_HEIGHT,	1064,   P_WOI_LEFT,		   8,   P_WOI_TOP,		  16,   P_WOI_WIDTH,		1280,   P_WOI_HEIGHT,	1024   };void ccamInitWndSizeKAC1310 (void) {}int	init_KAC1310(void) { // returns SENSOR_KAC1310=32 if found  unsigned char d[2];  unsigned char d1[0x40];  int i;  d[0]=P_KAC_PARTID;// read register 0x0f, slave address 0x66  i2c_writeData(0, KAC_I2C_ADDR & 0xfe, &d[0], 1);  i2c_readData (0, KAC_I2C_ADDR | 1,    &d[0], 1);  if (d[0]==KAC1310_PARTID) {	set_sensor_i2c_addr(KAC_I2C_ADDR);	set_imageParamsR(P_SENSOR,SENSOR_KAC1310);	printk("Found KAC-1310 sensor\n");//	read appropriate i2c to shadow registers    d[0]=0;	// i2c address    i2c_writeData(0, get_sensor_i2c_addr() & 0xfe, &d[0], 1);    i2c_readData (0, get_sensor_i2c_addr() | 1,    &d1[0],  0x14);  // read regs 0..0x13	for (i=0;i< 0x14; i++) set_sensor_i2c_regs( i+d[0], d1[i]);     d[0]=0x20;	// i2c address    i2c_writeData(0, get_sensor_i2c_addr() & 0xfe, &d[0], 1);    i2c_readData (0, get_sensor_i2c_addr() | 1,    &d1[0],  0x4); // read regs 0x20..0x23	for (i=0;i< 0x4; i++) set_sensor_i2c_regs( i+d[0], d1[i]);     d[0]=0x40;	// i2c address    i2c_writeData(0, get_sensor_i2c_addr() & 0xfe, &d[0], 1);    i2c_readData (0, get_sensor_i2c_addr() | 1,    &d1[0],   0x29); // read regs 0x40..0x68	for (i=0;i< 0x29; i++) set_sensor_i2c_regs( i+d[0], d1[i]);     d[0]=0x80;	// i2c address    i2c_writeData(0, get_sensor_i2c_addr() & 0xfe, &d[0], 1);    i2c_readData (0, get_sensor_i2c_addr() | 1,    &d1[0],   0x40); // read regs 0x80..0xbf	for (i=0;i< 0x40; i++) set_sensor_i2c_regs( i+d[0], d1[i]);     writeSensorDefaults(& default_KAC1310[0],sizeof(default_KAC1310)/sizeof( default_KAC1310[0])/2); // set KAC1310 specific defaults    return (get_imageParamsR(P_SENSOR));  }  return 0;}int program_KAC1310(void){ // program KAC1310 sensor		return 0;}

⌨️ 快捷键说明

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