本文整理汇总了C++中cam_dbg函数的典型用法代码示例。如果您正苦于以下问题:C++ cam_dbg函数的具体用法?C++ cam_dbg怎么用?C++ cam_dbg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cam_dbg函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: sr200_get_exif_exptime
static inline int sr200_get_exif_exptime(struct v4l2_subdev *subdev, u32 *exp_time)
{
struct i2c_client *client = to_client(subdev);
int err = 0;
u8 read_value1 = 0;
u8 read_value2 = 0;
u8 read_value3 = 0;
int OPCLK = 26000000;
err = fimc_is_sr200_write8(client, 0x03, 0x20);
CHECK_ERR_COND(err < 0, -ENODEV);
fimc_is_sr200_read8(client, 0x80, &read_value1);
fimc_is_sr200_read8(client, 0x81, &read_value2);
fimc_is_sr200_read8(client, 0x82, &read_value3);
cam_dbg("exposure time read_value %d, %d, %d\n",
read_value1, read_value2, read_value3);
if(read_value1 == 0 && read_value2 == 0 && read_value3 == 0)
{
*exp_time = 0;
err = -EFAULT;
} else {
*exp_time = OPCLK / ((read_value1 << 19) + (read_value2 << 11) + (read_value3 << 3));
cam_dbg("exposure time %u\n", *exp_time);
}
return err;
}
开发者ID:ShedrockN4,项目名称:wiliteneo,代码行数:31,代码来源:fimc-is-device-sr200-soc.c
示例2: sr130pc10_check_dataline_stop
static int sr130pc10_check_dataline_stop(struct v4l2_subdev *sd)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
struct sr130pc10_state *state = to_state(sd);
int err = -EINVAL;
extern int sr130pc10_power_reset(void);
cam_warn("Warning: do nothing!!\n");
return err;
//sr130pc10_write(client, 0xFCFCD000);
//sr130pc10_write(client, 0x0028D000);
//sr130pc10_write(client, 0x002A3100);
//sr130pc10_write(client, 0x0F120000);
// err = sr130pc10_write_regs(sd, sr130pc10_pattern_off, sizeof(sr130pc10_pattern_off) / sizeof(sr130pc10_pattern_off[0]));
cam_dbg("sensor reset\n");
#if defined(CONFIG_TARGET_LOCALE_KOR) || defined(CONFIG_TARGET_LOCALE_EUR) || defined(CONFIG_TARGET_LOCALE_HKTW) || defined(CONFIG_TARGET_LOCALE_HKTW_FET) || defined(CONFIG_TARGET_LOCALE_USAGSM)
// dont't know where this code came from - comment out for compile error
// sr130pc10_power_reset();
#endif
cam_dbg("load camera init setting\n");
err = sr130pc10_i2c_set_config_register(client,
front_init_regs,
INIT_NUM_OF_REGS,
"front_init_regs");
state->check_dataline = 0;
/* mdelay(100); */
return err;
}
开发者ID:Sk8tr419,项目名称:linux_kernel_sgh-i777,代码行数:31,代码来源:sr130pc10.c
示例3: sensor_sr200_stream_off
int sensor_sr200_stream_off(struct v4l2_subdev *subdev)
{
int ret = 0;
struct sr200_state *state = to_state(subdev);
cam_info("stream off\n");
ret = sensor_sr200_apply_set(subdev, "sr200_stop_stream", &sr200_regset_table.stop_stream);
state->preview.update_frmsize = 1;
switch (state->runmode) {
case RUNMODE_CAPTURING:
cam_dbg("Capture Stop!\n");
state->runmode = RUNMODE_CAPTURING_STOP;
break;
case RUNMODE_RUNNING:
cam_dbg("Preview Stop!\n");
state->runmode = RUNMODE_RUNNING_STOP;
break;
case RUNMODE_RECORDING:
cam_dbg("Recording Stop!\n");
state->runmode = RUNMODE_RECORDING_STOP;
break;
default:
break;
}
return ret;
}
开发者ID:ShedrockN4,项目名称:wiliteneo,代码行数:31,代码来源:fimc-is-device-sr200-soc.c
示例4: sr130pc10_check_dataline
static int sr130pc10_check_dataline(struct v4l2_subdev *sd, s32 val)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
int err = 0;
cam_info("DTP %s\n", val ? "ON" : "OFF");
if (val) {
cam_dbg("load sr130pc10_pattern_on\n");
err = sr130pc10_i2c_set_config_register(client,
front_pattern_on_regs,
PATTERN_ON_NUM_OF_REGS,
"front_pattern_on_regs");
} else {
cam_dbg("load sr130pc10_pattern_off\n");
err = sr130pc10_i2c_set_config_register(client,
front_pattern_off_regs,
PATTERN_OFF_NUM_OF_REGS,
"front_pattern_off_regs");
}
if (unlikely(err)) {
cam_err("fail to DTP setting\n");
return err;
}
return 0;
}
开发者ID:Sk8tr419,项目名称:linux_kernel_sgh-i777,代码行数:28,代码来源:sr130pc10.c
示例5: sr200pc20_probe
/*
* sr200pc20_probe
* Fetching platform data is being done with s_config subdev call.
* In probe routine, we just register subdev device
*/
static int sr200pc20_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct sr200pc20_state *state = NULL;
struct v4l2_subdev *sd = NULL;
int err = 0;
cam_dbg("E\n");
state = kzalloc(sizeof(struct sr200pc20_state), GFP_KERNEL);
if (state == NULL)
return -ENOMEM;
sd = &state->sd;
strcpy(sd->name, SR200PC20_DRIVER_NAME);
/* Registering subdev */
v4l2_i2c_subdev_init(sd, client, &sr200pc20_ops);
err = sr200pc20_s_config(sd, 0, client->dev.platform_data);
CHECK_ERR_MSG(err, "fail to s_config\n");
if (device_create_file(&client->dev, &dev_attr_camera_type) < 0) {
cam_warn("failed to create device file, %s\n",
dev_attr_camera_type.attr.name);
}
cam_dbg("probed!!\n");
return 0;
}
开发者ID:ARMP,项目名称:ARMP-i9300,代码行数:35,代码来源:sr200pc20-p2.c
示例6: sr200_get_exif_iso
static inline int sr200_get_exif_iso(struct v4l2_subdev *subdev, u16 *iso)
{
struct i2c_client *client = to_client(subdev);
int err = 0;
u8 read_value = 0;
unsigned short gain_value = 0;
err = fimc_is_sr200_write8(client, 0x03, 0x20);
CHECK_ERR_COND(err < 0, -ENODEV);
fimc_is_sr200_read8(client, 0xb0, &read_value);
gain_value = ((read_value * 100) / 32) + 50;
cam_dbg("iso : gain_value=%d, read_value=%d\n", gain_value, read_value);
if (gain_value < 114)
*iso = 50;
else if (gain_value < 214)
*iso = 100;
else if (gain_value < 264)
*iso = 200;
else if (gain_value < 752)
*iso = 400;
else
*iso = 800;
cam_dbg("ISO=%d\n", *iso);
return 0;
}
开发者ID:ShedrockN4,项目名称:wiliteneo,代码行数:28,代码来源:fimc-is-device-sr200-soc.c
示例7: sr130pc10_regs_table_exit
void sr130pc10_regs_table_exit(void)
{
cam_dbg(" start\n");
if(front_regs_buf_ptr) {
vfree(front_regs_buf_ptr);
front_regs_buf_ptr = NULL;
}
cam_dbg(" done\n");
}
开发者ID:Sk8tr419,项目名称:linux_kernel_sgh-i777,代码行数:11,代码来源:sr130pc10.c
示例8: sr130pc10_s_config
/*
* s_config subdev ops
* With camera device, we need to re-initialize
* every single opening time therefor,
* it is not necessary to be initialized on probe time.
* except for version checking
* NOTE: version checking is optional
*/
static int sr130pc10_s_config(struct v4l2_subdev *sd,
int irq, void *platform_data)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
struct sr130pc10_state *state = to_state(sd);
struct sr130pc10_platform_data *pdata;
cam_dbg("E\n");
state->initialized = 0;
state->req_fps = state->set_fps = 8;
state->sensor_mode = SENSOR_CAMERA;
pdata = client->dev.platform_data;
if (!pdata) {
cam_err("no platform data\n");
return -ENODEV;
}
/*
* Assign default format and resolution
* Use configured default information in platform data
* or without them, use default information in driver
*/
if (!(pdata->default_width && pdata->default_height)) {
state->preview_frmsizes.width = DEFAULT_PREVIEW_WIDTH;
state->preview_frmsizes.height = DEFAULT_PREVIEW_HEIGHT;
} else {
state->preview_frmsizes.width = pdata->default_width;
state->preview_frmsizes.height = pdata->default_height;
}
state->capture_frmsizes.width = DEFAULT_CAPTURE_WIDTH;
state->capture_frmsizes.height = DEFAULT_CAPTURE_HEIGHT;
cam_dbg("preview_width: %d , preview_height: %d, "
"capture_width: %d, capture_height: %d",
state->preview_frmsizes.width, state->preview_frmsizes.height,
state->capture_frmsizes.width, state->capture_frmsizes.height);
state->req_fmt.width = state->preview_frmsizes.width;
state->req_fmt.height = state->preview_frmsizes.height;
if (!pdata->pixelformat)
state->req_fmt.pixelformat = DEFAULT_FMT;
else
state->req_fmt.pixelformat = pdata->pixelformat;
return 0;
}
开发者ID:Sk8tr419,项目名称:linux_kernel_sgh-i777,代码行数:58,代码来源:sr130pc10.c
示例9: sr130pc10_s_stream
static int sr130pc10_s_stream(struct v4l2_subdev *sd, int enable)
{
struct sr130pc10_state *state = to_state(sd);
/* struct i2c_client *client = v4l2_get_subdevdata(sd); */
int err = 0;
cam_info("stream mode = %d\n", enable);
switch (enable) {
case STREAM_MODE_CAM_OFF:
if (state->sensor_mode == SENSOR_CAMERA) {
if (state->check_dataline)
err = sr130pc10_check_dataline(sd, 0);
else
err = sr130pc10_control_stream(sd, STREAM_STOP);
}
break;
case STREAM_MODE_CAM_ON:
/* The position of this code need to be adjusted later */
if (state->sensor_mode == SENSOR_CAMERA) {
if (state->req_fmt.priv == V4L2_PIX_FMT_MODE_CAPTURE)
err = sr130pc10_set_capture_start(sd);
else
err = sr130pc10_set_preview_start(sd);
}
break;
case STREAM_MODE_MOVIE_ON:
cam_dbg("do nothing(movie on)!!\n");
break;
case STREAM_MODE_MOVIE_OFF:
cam_dbg("do nothing(movie off)!!\n");
break;
default:
cam_err("ERR: Invalid stream mode\n");
break;
}
if (unlikely(err < 0)) {
cam_err("ERR: faild\n");
return err;
}
return 0;
}
开发者ID:Sk8tr419,项目名称:linux_kernel_sgh-i777,代码行数:48,代码来源:sr130pc10.c
示例10: sr200_set_effect
static int sr200_set_effect(struct v4l2_subdev *subdev, int effect)
{
struct sr200_state *state = to_state(subdev);
int ret = 0;
cam_info("%s( %d ) : E\n",__func__, effect);
switch (effect) {
case V4L2_IMAGE_EFFECT_BASE :
case V4L2_IMAGE_EFFECT_NONE :
ret = sensor_sr200_apply_set(subdev, "sr200_Effect_Normal", &sr200_regset_table.effect_none);
break;
case V4L2_IMAGE_EFFECT_BNW :
ret = sensor_sr200_apply_set(subdev, "sr200_Effect_Gray", &sr200_regset_table.effect_gray);
break;
case V4L2_IMAGE_EFFECT_SEPIA :
ret = sensor_sr200_apply_set(subdev, "sr200_Effect_Sepia", &sr200_regset_table.effect_sepia);
break;
case V4L2_IMAGE_EFFECT_NEGATIVE :
ret = sensor_sr200_apply_set(subdev, "sr200_Effect_Negative", &sr200_regset_table.effect_negative);
break;
default:
cam_dbg("%s: Not support.(%d)\n", __func__, effect);
break;
}
state->effect = effect;
return ret;
}
开发者ID:ShedrockN4,项目名称:wiliteneo,代码行数:29,代码来源:fimc-is-device-sr200-soc.c
示例11: sr200pc20_set_preview_start
static int sr200pc20_set_preview_start(struct v4l2_subdev *sd)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
struct sr200pc20_state *state = to_state(sd);
int err = -EINVAL;
cam_info("reset preview\n");
cam_dbg("load sr200pc20_preview\n");
if(state->anti_banding == ANTI_BANDING_50HZ) {
err = sr200pc20_i2c_set_config_register(client,
front_preview_camera_50hz_regs,
PREVIEW_CAMERA_NUM_OF_REGS,
"front_preview_camera_50hz_regs");
} else {
err = sr200pc20_i2c_set_config_register(client,
front_preview_camera_60hz_regs,
PREVIEW_CAMERA_NUM_OF_REGS,
"front_preview_camera_60hz_regs");
}
if (state->check_dataline)
err = sr200pc20_check_dataline(sd, 1);
if (unlikely(err)) {
cam_err("fail to make preview\n");
return err;
}
return 0;
}
开发者ID:ARMP,项目名称:ARMP-i9300,代码行数:30,代码来源:sr200pc20-p2.c
示例12: sr200pc20_get_iso_speed_rate
static int sr200pc20_get_iso_speed_rate(struct v4l2_subdev *sd)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
unsigned short read_value;
int gain;
int isospeedrating = 0;
sr200pc20_i2c_write_byte(client, 0x03, 0x20);
sr200pc20_i2c_read_byte(client, 0xb0, &read_value);
gain = ((int)read_value * 100 / 32) + 50;
if (read_value < 125)
isospeedrating = 50;
else if (read_value < 175)
isospeedrating = 100;
else if (read_value < 250)
isospeedrating = 200;
else if (read_value < 375)
isospeedrating = 400;
else if (read_value < 550)
isospeedrating = 800;
else
isospeedrating = 1600;
cam_dbg("get iso = %d\n", isospeedrating);
return isospeedrating;
}
开发者ID:ARMP,项目名称:ARMP-i9300,代码行数:27,代码来源:sr200pc20-p2.c
示例13: s5k5bbgx_control_stream
static int s5k5bbgx_control_stream(struct v4l2_subdev *sd, stream_cmd_t cmd)
{
int err = 0;
switch (cmd) {
case STREAM_START:
cam_warn("WARN: do nothing\n");
break;
case STREAM_STOP:
cam_dbg("stream stop!!!\n");
#if 0
#ifdef CONFIG_LOAD_FILE
err = s5k5bbgx_write_regs_from_sd(sd, "s5k5bbgx_stream_stop");
#else
err = s5k5bbgx_write_regs(sd, s5k5bbgx_stream_stop,
sizeof(s5k5bbgx_stream_stop) / \
sizeof(s5k5bbgx_stream_stop[0]));
#endif
#endif
break;
default:
cam_err("ERR: Invalid cmd\n");
break;
}
if (unlikely(err))
cam_err("failed to stream start(stop)\n");
return err;
}
开发者ID:FrozenData,项目名称:SGS2-Kernel-Update2,代码行数:31,代码来源:s5k5bbgx.c
示例14: s5k5bbgx_set_capture_start
static int s5k5bbgx_set_capture_start(struct v4l2_subdev *sd)
{
struct s5k5bbgx_state *state = to_state(sd);
int err = -EINVAL;
u16 val = 1, retry = 0;
/* set initial regster value */
#ifdef CONFIG_LOAD_FILE
err = s5k5bbgx_write_regs_from_sd(sd, "s5k5bbgx_capture");
#else
err = s5k5bbgx_write_regs(sd, s5k5bbgx_capture,
sizeof(s5k5bbgx_capture) / sizeof(s5k5bbgx_capture[0]));
#endif
if (unlikely(err)) {
cam_err("failed to make capture\n");
return err;
}
s5k5bbgx_get_exif(sd);
cam_info("Capture ConfigSync\n");
do {
msleep(20);
err = s5k5bbgx_read_reg(sd, REG_PAGE_CAPTURE_STATUS, REG_ADDR_CAPTURE_STATUS, &val);
CHECK_ERR(err);
cam_dbg("val = %d\n", val);
if (val == 0)
break;
retry++;
} while (retry <= S5K5BBGX_READ_STATUS_RETRIES);
return err;
}
开发者ID:FrozenData,项目名称:SGS2-Kernel-Update2,代码行数:32,代码来源:s5k5bbgx.c
示例15: db8131m_s_parm
static int db8131m_s_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *parms)
{
int err = 0;
u32 fps = 0;
struct db8131m_state *state = to_state(sd);
if (!state->vt_mode)
return 0;
cam_dbg("E\n");
fps = parms->parm.capture.timeperframe.denominator /
parms->parm.capture.timeperframe.numerator;
if (fps != state->set_fps) {
if (fps < 0 && fps > 30) {
cam_err("invalid frame rate %d\n", fps);
fps = 30;
}
state->req_fps = fps;
if (state->initialized) {
err = db8131m_set_frame_rate(sd, state->req_fps);
if (err >= 0)
state->set_fps = state->req_fps;
}
}
return err;
}
开发者ID:AndreiLux,项目名称:Perseus-S3,代码行数:31,代码来源:slp_db8131m.c
示例16: sr130pc10_i2c_set_data_burst
static int sr130pc10_i2c_set_data_burst(struct i2c_client *client,
regs_short_t reg_buffer[],
int num_of_regs)
{
unsigned short subaddr, data_value;
int i, err = 0;
for(i = 0; i < num_of_regs; i++) {
subaddr = reg_buffer[i].subaddr;
data_value = reg_buffer[i].value;
switch(subaddr) {
case DELAY_SEQ:
cam_dbg("delay = %d\n",data_value*10);
msleep(data_value * 10);
break;
default:
err = sr130pc10_i2c_write_byte(client, subaddr, data_value);
if(err < 0) {
cam_err("i2c write fail\n");
return -EIO;
}
break;
}
}
return 0;
}
开发者ID:Sk8tr419,项目名称:linux_kernel_sgh-i777,代码行数:28,代码来源:sr130pc10.c
示例17: s5k5bbgx_check_dataline_stop
static int s5k5bbgx_check_dataline_stop(struct v4l2_subdev *sd)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
struct s5k5bbgx_state *state = to_state(sd);
int err = -EINVAL;
extern int s5k5bbgx_power_reset(void);
cam_warn("Warning: do nothing!!\n");
return err;
//s5k5bbgx_write(client, 0xFCFCD000);
//s5k5bbgx_write(client, 0x0028D000);
//s5k5bbgx_write(client, 0x002A3100);
//s5k5bbgx_write(client, 0x0F120000);
// err = s5k5bbgx_write_regs(sd, s5k5bbgx_pattern_off, sizeof(s5k5bbgx_pattern_off) / sizeof(s5k5bbgx_pattern_off[0]));
printk("%s: sensor reset\n", __func__);
#if defined(CONFIG_TARGET_LOCALE_KOR) || defined(CONFIG_TARGET_LOCALE_EUR) || defined(CONFIG_TARGET_LOCALE_HKTW) || defined(CONFIG_TARGET_LOCALE_HKTW_FET) || defined(CONFIG_TARGET_LOCALE_USAGSM)
// dont't know where this code came from - comment out for compile error
// s5k5bbgx_power_reset();
#endif
cam_dbg("load camera init setting\n");
err = s5k5bbgx_write_regs(sd, s5k5bbgx_common, sizeof(s5k5bbgx_common) / sizeof(s5k5bbgx_common[0]));
state->check_dataline = 0;
/* mdelay(100); */
return err;
}
开发者ID:FrozenData,项目名称:SGS2-Kernel-Update2,代码行数:30,代码来源:s5k5bbgx.c
示例18: sr200pc20_check_sensor_status
static int sr200pc20_check_sensor_status(struct v4l2_subdev *sd)
{
/*struct i2c_client *client = v4l2_get_subdevdata(sd);*/
/*u16 val_1 = 0, val_2 = 0;
int err = -EINVAL; */
#if 1 /* DSLIM */
cam_warn("check_sensor_status: WARNING, Not implemented!!\n\n");
return 0;
#else
err = sr200pc20_read_reg(sd, 0x7000, 0x0132, &val_1);
CHECK_ERR(err);
err = sr200pc20_read_reg(sd, 0xD000, 0x1002, &val_2);
CHECK_ERR(err);
cam_dbg("read val1=0x%x, val2=0x%x\n", val_1, val_2);
if ((val_1 != 0xAAAA) || (val_2 != 0))
goto error_occur;
cam_info("Sensor ESD Check: not detected\n");
return 0;
#endif
error_occur:
cam_err("%s: ERROR, ESD Shock detected!\n\n", __func__);
return -ERESTART;
}
开发者ID:Ante0,项目名称:xxICSKernel,代码行数:29,代码来源:sr200pc20.c
示例19: sr200pc20_get_iso
static inline int sr200pc20_get_iso(struct v4l2_subdev *sd, u16 *iso)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
/* u16 iso_gain_table[] = {10, 18, 23, 28};
u16 iso_table[] = {0, 50, 100, 200, 400}; */
u16 read_value = 0, gain = 0;
sr200pc20_i2c_write_byte(client, 0x03, 0x20);
sr200pc20_i2c_read_byte(client, 0xb0, &read_value);
gain = (read_value * 100 / 32) + 50;
if (read_value < 125)
*iso = 50;
else if (read_value < 175)
*iso = 100;
else if (read_value < 250)
*iso = 200;
else if (read_value < 375)
*iso = 400;
else if (read_value < 550)
*iso = 800;
else
*iso = 1600;
cam_dbg("gain=%d, ISO=%d\n", gain, *iso);
return 0;
}
开发者ID:Ante0,项目名称:xxICSKernel,代码行数:29,代码来源:sr200pc20.c
示例20: db8131m_g_parm
static int db8131m_g_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *parms)
{
int err = 0;
cam_dbg("E\n");
return err;
}
开发者ID:AndreiLux,项目名称:Perseus-S3,代码行数:8,代码来源:slp_db8131m.c
注:本文中的cam_dbg函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论