ov5640_write_reg error?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

ov5640_write_reg error?

ソリューションへジャンプ
1,271件の閲覧回数
gbiradar
Contributor IV

Hi Guys,

well i have actually able to create sysfs entry and able to pass some value to desired brightness level  but it is returning ov5640_write_reg fail. i have only modified ov5640_mipi.c file only.

Below is my code snippet please check.

ov5640_mipi.c

===================================================================================================

static struct kobject *ov5640_mipi_kobj;

static ssize_t ov5640_mipi_brightness_set(struct device *dev, struct device_attribute *attr, char *buf,size_t size)

{

   int err;

  unsigned long val;

  if (strict_strtoul(buf, 10, &val))

                return -EINVAL;

  pr_info("GB : ov5640_mipi_brightness_set\n");

  switch(val){

  case 0 :      ov5640_write_reg(0x5001, 0xff);

                     ov5640_write_reg(0x5587, 0x40);

                     ov5640_write_reg(0x5580, 0x04);

                     ov5640_write_reg(0x5588, 0x01);

                     break;

..................

..................

}

static struct kobj_attribute brightness = __ATTR(brightness_ctrl, 0664, NULL, ov5640_mipi_brightness_set);

static struct attribute *attributes_ov5640_mipi[] = {

        &brightness.attr,

        NULL,

};

static struct attribute_group attr_group_ov5640_mipi = {

        .attrs = attributes_ov5640_mipi,

};

static int create_sysfs_interfaces(struct device *dev)// calling from probe function

{

        int err;

        ov5640_mipi_kobj = kobject_create_and_add("ov5640_mipi_sensor", &dev->kobj);

        if(!ov5640_mipi_kobj)

                return -ENOMEM;

        err = sysfs_create_group(ov5640_mipi_kobj, &attr_group_ov5640_mipi);

        if (err)

        {

                kobject_put(ov5640_mipi_kobj);

                dev_err(dev, "%s:Unable to create interface\n", __func__);

                 return -1;

        }

  pr_info("GB : create_sysfs_interfaces\n");

  return 0;

}

$ echo 0 > /sys/bus/i2c/../devices/ov5640_brightness_set/brightness_ctrl

GB : ov5640_mipi_brightness_set

ov5640_write_reg:write reg error:reg=5001,val=ff

ov5640_write_reg:write reg error:reg=5587,val=40

ov5640_write_reg:write reg error:reg=5580,val=4

ov5640_write_reg:write reg error:reg=5588,val=1

ラベル(5)
0 件の賞賛
1 解決策
954件の閲覧回数
gbiradar
Contributor IV

For the above question update is :

when board boot up when it comes to shell the camera will be in power down mode so until unless some application is run to start the camera in active mode you can't modify any register. in my case i have to run gstreamer after that i used my sysfs entries to modify brightness it worked.

元の投稿で解決策を見る

0 件の賞賛
3 返答(返信)
954件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

have you try to make it as a ioctl function and then control the brightness via ioctl?

0 件の賞賛
954件の閲覧回数
gbiradar
Contributor IV

Hi jimmychan​,

                          Well yes i have tried and set brightness value through ioctl call.

regards,

Ganesh Biradar

0 件の賞賛
955件の閲覧回数
gbiradar
Contributor IV

For the above question update is :

when board boot up when it comes to shell the camera will be in power down mode so until unless some application is run to start the camera in active mode you can't modify any register. in my case i have to run gstreamer after that i used my sysfs entries to modify brightness it worked.

0 件の賞賛