You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/05/30 17:39:04 UTC

[incubator-nuttx] 11/11: drivers/video/isx012: Fix getting the iso sensitivity

This is an automated email from the ASF dual-hosted git repository.

pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 247ad41bb206ec93db9bf03520120f93313a1a53
Author: SPRESENSE <41...@users.noreply.github.com>
AuthorDate: Tue Mar 29 11:22:40 2022 +0900

    drivers/video/isx012: Fix getting the iso sensitivity
    
    Fix bug to get the value of iso sensitivity.
---
 drivers/video/isx012.c | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/drivers/video/isx012.c b/drivers/video/isx012.c
index 8c8389b327..067a430041 100644
--- a/drivers/video/isx012.c
+++ b/drivers/video/isx012.c
@@ -187,7 +187,7 @@ typedef struct isx012_dev_s isx012_dev_t;
 
 /* register operations */
 
-static uint16_t isx012_getreg(isx012_dev_t *priv,
+static uint16_t isx012_getreg(FAR isx012_dev_t *priv,
                               uint16_t regaddr, uint16_t regsize);
 static int     isx012_putreg(isx012_dev_t *priv, uint16_t regaddr,
                              uint16_t regval, uint16_t regsize);
@@ -195,7 +195,7 @@ static int     isx012_putreglist(isx012_dev_t *priv,
                          FAR const isx012_reg_t *reglist, size_t nentries);
 #ifdef ISX012_CHECK_IN_DETAIL
 static int     isx012_putregs(isx012_dev_t *priv, uint16_t regaddr,
-                              uint8_t *regvals, uint8_t regsize);
+                              FAR uint8_t *regvals, uint8_t regsize);
 static int     isx012_chipid(FAR struct i2c_master_s *i2c);
 #endif
 
@@ -205,8 +205,8 @@ static int isx012_chk_int_state(isx012_dev_t *priv,
 static int isx012_set_mode_param(isx012_dev_t *priv,
                                  imgsensor_stream_type_t type,
                                  uint8_t nr_fmt,
-                                 imgsensor_format_t *fmt,
-                                 imgsensor_interval_t *interval);
+                                 FAR imgsensor_format_t *fmt,
+                                 FAR imgsensor_interval_t *interval);
 static int isx012_change_camera_mode(isx012_dev_t *priv, uint8_t mode);
 static int isx012_change_device_state(isx012_dev_t *priv,
                                       isx012_state_t state);
@@ -215,7 +215,7 @@ static int isx012_replace_frameinterval_to_regval
 static int8_t isx012_get_maximum_fps
                 (uint8_t nr_datafmt,
                  FAR imgsensor_format_t *datafmt);
-static int isx012_set_shd(FAR isx012_dev_t *priv);
+static int isx012_set_shd(isx012_dev_t *priv);
 static bool is_movie_needed(uint8_t fmt, uint8_t fps);
 
 /* image sensor device operations interface */
@@ -223,7 +223,7 @@ static bool is_movie_needed(uint8_t fmt, uint8_t fps);
 static bool isx012_is_available(void);
 static int isx012_init(void);
 static int isx012_uninit(void);
-static const char *isx012_get_driver_name(void);
+static FAR const char *isx012_get_driver_name(void);
 static int isx012_validate_frame_setting(imgsensor_stream_type_t type,
                                          uint8_t nr_datafmt,
                                          FAR imgsensor_format_t *datafmts,
@@ -647,7 +647,7 @@ static void i2c_unlock(void)
   nxsem_post(&g_isx012_private.i2c_lock);
 }
 
-static uint16_t isx012_getreg(isx012_dev_t *priv,
+static uint16_t isx012_getreg(FAR isx012_dev_t *priv,
                               uint16_t regaddr, uint16_t regsize)
 {
   struct i2c_config_s config;
@@ -667,7 +667,7 @@ static uint16_t isx012_getreg(isx012_dev_t *priv,
 
   /* Write the register address */
 
-  ret = i2c_write(priv->i2c, &config, (uint8_t *)buffer, 2);
+  ret = i2c_write(priv->i2c, &config, (FAR uint8_t *)buffer, 2);
   if (ret < 0)
     {
       verr("i2c_write failed: %d\n", ret);
@@ -676,7 +676,7 @@ static uint16_t isx012_getreg(isx012_dev_t *priv,
     {
       /* Restart and read 16bits from the register */
 
-      ret = i2c_read(priv->i2c, &config, (uint8_t *)buffer, regsize);
+      ret = i2c_read(priv->i2c, &config, (FAR uint8_t *)buffer, regsize);
       if (ret < 0)
         {
           verr("i2c_read failed: %d\n", ret);
@@ -687,7 +687,7 @@ static uint16_t isx012_getreg(isx012_dev_t *priv,
 
   if (ret >= 0)
     {
-      memcpy((uint8_t *)&regval, (uint8_t *)buffer, regsize);
+      memcpy((FAR uint8_t *)&regval, (FAR uint8_t *)buffer, regsize);
     }
 
   return regval;
@@ -711,14 +711,14 @@ static int isx012_putreg(isx012_dev_t *priv,
   buffer[0] = regaddr >> 8;   /* RegAddr Hi */
   buffer[1] = regaddr & 0xff; /* RegAddr Low */
 
-  memcpy((uint8_t *)&buffer[2], (uint8_t *)&regval, regsize);
+  memcpy((FAR uint8_t *)&buffer[2], (FAR uint8_t *)&regval, regsize);
 
   i2c_lock();
 
   /* And do it */
 
   ret = i2c_write(priv->i2c, &config,
-                 (uint8_t *)buffer, regsize + 2);
+                 (FAR uint8_t *)buffer, regsize + 2);
   if (ret < 0)
     {
       verr("i2c_write failed: %d\n", ret);
@@ -777,7 +777,7 @@ static int isx012_chk_int_state(isx012_dev_t *priv,
 }
 
 static int isx012_replace_fmt_to_regval(uint8_t nr_fmt,
-                                        imgsensor_format_t *fmt)
+                                        FAR imgsensor_format_t *fmt)
 {
   int ret;
 
@@ -839,8 +839,8 @@ static bool is_movie_needed(uint8_t fmt, uint8_t fps)
 static int isx012_set_mode_param(isx012_dev_t *priv,
                                  imgsensor_stream_type_t type,
                                  uint8_t nr_fmt,
-                                 imgsensor_format_t *fmt,
-                                 imgsensor_interval_t *interval)
+                                 FAR imgsensor_format_t *fmt,
+                                 FAR imgsensor_interval_t *interval)
 {
   int ret = 0;
   int fmt_val = isx012_replace_fmt_to_regval(nr_fmt, fmt);
@@ -1276,7 +1276,6 @@ static bool isx012_is_available(void)
 
   ret = (isx012_getreg(&g_isx012_private, DEVICESTS, 1) == DEVICESTS_SLEEP);
 
-
   isx012_uninit();
 
   return ret;
@@ -1338,7 +1337,7 @@ static int isx012_uninit(void)
   return ret;
 }
 
-static const char *isx012_get_driver_name(void)
+static FAR const char *isx012_get_driver_name(void)
 {
   return "ISX012";
 }
@@ -2046,10 +2045,12 @@ static int isx012_get_value(uint32_t id,
         break;
 
       case IMGSENSOR_ID_ISO_SENSITIVITY:
-        readvalue = isx012_getreg(priv, ISX012_REG_ISO, ISX012_SIZE_ISO);
+        readvalue = isx012_getreg(priv,
+                                  ISX012_REG_ISOAUTOVALUE,
+                                  ISX012_SIZE_ISOAUTOVALUE);
 
         ret = -EINVAL;
-        for (cnt = 0; cnt < ARRAY_NENTRIES(g_isx012_presetwb_regval); cnt++)
+        for (cnt = 0; cnt < ARRAY_NENTRIES(g_isx012_iso_regval); cnt++)
           {
             if (g_isx012_iso_regval[cnt] == readvalue)
               {