<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: OV5640 MIPI camera on a iMX6 set exposure and gain</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455952#M71120</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Weidong,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your time.&lt;/P&gt;&lt;P&gt;I have implemented below changes based on your suggestion but of no luck, can you please review and suggest what I am missing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ov5640Mipi.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;class Ov5640Mipi : public OvDevice {&lt;BR /&gt; public:&lt;BR /&gt; virtual status_t initSensorInfo(const CameraInfo&amp;amp; info);&lt;BR /&gt; &lt;EM&gt;&lt;STRONG&gt; virtual status_t setParameters(CameraParameters&amp;amp; params);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt; };&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;Ov5640Mipi.cpp&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;status_t Ov5640Mipi::setParameters(CameraParameters&amp;amp; params)&lt;BR /&gt; {&lt;BR /&gt; int max_exp, min_exp, new_exp, ret_exp, new_gain, ret_gain;&lt;BR /&gt; Mutex::Autolock lock(mLock);&lt;BR /&gt; max_exp = params.getInt(CameraParameters::KEY_MAX_EXPOSURE_COMPENSATION);&lt;BR /&gt; min_exp = params.getInt(CameraParameters::KEY_MIN_EXPOSURE_COMPENSATION);&lt;BR /&gt; new_exp = params.getInt(CameraParameters::KEY_EXPOSURE_COMPENSATION);&lt;BR /&gt; FLOGI("ov5640Mipi.cpp Exposure settings Max %d, Min %d, Current %d", max_exp,min_exp,new_exp);&lt;BR /&gt;&amp;nbsp; if ((new_exp &amp;gt; max_exp) || (new_exp &amp;lt; min_exp)){&lt;BR /&gt; FLOGE("Invalid exposure setting, valid range from %d, to %d", min_exp, max_exp);&lt;BR /&gt; return BAD_VALUE;&lt;BR /&gt; }&lt;BR /&gt; struct v4l2_control int_control_exp;&lt;BR /&gt; &lt;A href="http://int_control_exp.id/"&gt;int_control_exp.id&lt;/A&gt; = V4L2_CID_EXPOSURE;&lt;BR /&gt; int_control_exp.value = new_exp;&lt;BR /&gt; ret_exp = ioctl(mCameraHandle, VIDIOC_S_CTRL, &amp;amp;int_control_exp);&lt;BR /&gt; FLOGI("The exposure setting status%d", ret_exp);&lt;BR /&gt; &lt;BR /&gt; new_gain = params.getInt(CameraParameters::KEY_EXPOSURE_GAIN);&lt;BR /&gt; if (new_gain != -1)&lt;BR /&gt; {&lt;BR /&gt; struct v4l2_control int_control_gain;&lt;BR /&gt; &lt;A href="http://int_control_gain.id/"&gt;int_control_gain.id&lt;/A&gt; = V4L2_CID_GAIN;&lt;BR /&gt; int_control_gain.value = new_gain;&lt;BR /&gt; ret_gain = ioctl(mCameraHandle, VIDIOC_S_CTRL, &amp;amp;int_control_gain);&lt;BR /&gt; FLOGI("The gain setting status%d", ret_gain);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; //mParams = params;&lt;BR /&gt; return NO_ERROR;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;Sreekanth&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Aug 2015 14:19:35 GMT</pubDate>
    <dc:creator>sreekanthm</dc:creator>
    <dc:date>2015-08-27T14:19:35Z</dc:date>
    <item>
      <title>OV5640 MIPI camera on a iMX6 set exposure and gain</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455949#M71117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to implement the Camera Exposure parameter on OV5640 over MIPI but change in Camera Exposure via user interface has no effect on the display.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I followed below article as a base to my changes:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;&lt;A _jive_internal="true" data-containerid="2004" data-containertype="14" data-objectid="351959" data-objecttype="1" href="https://community.nxp.com/thread/351959#503821"&gt;https://community.freescale.com/message/503821#503821&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;Below are the changes I made:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;STRONG&gt;In ov5640_mipi.c routine, in ioctl_s_ctrl function:&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;static int ioctl_s_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (vc-&amp;gt;id) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case V4L2_CID_EXPOSURE:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* turn off AE/AG */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OV5640_turn_on_AE_AG(0);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OV5640_set_shutter((__s32)vc-&amp;gt;value);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case V4L2_CID_GAIN:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp; OV5640_set_gain16((__s32)vc-&amp;gt;value);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;2. &lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;In ov5640Mipi.cpp, below changes are introduced in setparameter() function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;status_t Ov5640Mipi::setCameraExposureParams(int32_t expparams)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGI("Start of Ov5640Mipi.cpp - Exposure Value: %d", expparams);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct v4l2_control int_control_exp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int_control_exp.id = V4L2_CID_EXPOSURE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int_control_exp.value = expparams;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int ret_exp = ioctl(mCameraHandle, VIDIOC_S_CTRL, &amp;amp;int_control_exp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGI("The Returned exposure setting status: %d", ret_exp);&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return NO_ERROR;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;3. DeviceAdapter.cpp&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;status_t DeviceAdapter::startDeviceLocked()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;setCameraExposureCompensation();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void DeviceAdapter::setCameraExposureCompensation()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGE("DeviceAdapter: Inside setCameraExposureCompensation");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int32_t expComp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status_t ret1 = NO_ERROR;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret1 = mMetadaManager-&amp;gt;getExposureCompensation(expComp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret1 != NO_ERROR) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGE("DeviceAdapter: getExposureCompensation failed");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expComp = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGE("DeviceAdapter: Exposure Compensation: %d", expComp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret1 = setCameraExposureParams(expComp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret1 != NO_ERROR) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGE("DeviceAdapter: setCameraExposureParams failed");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGE("DeviceAdapter: End of setCameraExposureCompensation");&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;status_t DeviceAdapter::setCameraExposureParams(int32_t expparams)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOGE("DeviceAdapter: setCameraExposureParams: %d",expparams);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return NO_ERROR;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4. MetadaManager.cpp&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;status_t MetadaManager::getExposureCompensation(int32_t &amp;amp;expComp)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ALOGE("MetadaManager: Executing getExposureCompensation");&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; camera_metadata_entry_t streams;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int res = find_camera_metadata_entry(mCurrentRequest,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ANDROID_CONTROL_AE_EXP_COMPENSATION, &amp;amp;streams);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (res != NO_ERROR) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ALOGE("%s: error reading jpeg Rotation tag", __FUNCTION__);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return BAD_VALUE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; expComp = streams.data.i32[0];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ALOGE("MetadaManager: Exposure Compensation value: %d",expComp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return NO_ERROR;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;MetadaManager always returns 0 as exposure value, camera does not display continuously and no impact on change in Exposure.&lt;/P&gt;&lt;P&gt;Attached is logcat and routines changed.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;Please share your thoughts on what's is missing in my implementation. Let me know if you need further details about the issue / implementation.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Aug 2015 15:56:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455949#M71117</guid>
      <dc:creator>sreekanthm</dc:creator>
      <dc:date>2015-08-20T15:56:14Z</dc:date>
    </item>
    <item>
      <title>Re: OV5640 MIPI camera on a iMX6 set exposure and gain</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455950#M71118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sreekanth,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In android, OV5640_MIPI's HAL is Ov5440Mipi.cpp &amp;amp; Ov5640Mipi.h, not ov5640.cpp, so if you use ov5640.cpp to be camera HAL, your settings is invalidate.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In addtion, all configuration data for ov5640 is set through I2C bus, not MIPI-CSI2 interface, what MIPI transimits is only video data.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Weidong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Aug 2015 05:31:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455950#M71118</guid>
      <dc:creator>weidong_sun</dc:creator>
      <dc:date>2015-08-21T05:31:27Z</dc:date>
    </item>
    <item>
      <title>Re: OV5640 MIPI camera on a iMX6 set exposure and gain</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455951#M71119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Weidong for information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't see a place/way in Ov5640Mipi.cpp to implement exposure, can you please advise how to implement exposure &amp;amp; gain properties.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Sreekanth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Aug 2015 16:04:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455951#M71119</guid>
      <dc:creator>sreekanthm</dc:creator>
      <dc:date>2015-08-21T16:04:53Z</dc:date>
    </item>
    <item>
      <title>Re: OV5640 MIPI camera on a iMX6 set exposure and gain</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455952#M71120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Weidong,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your time.&lt;/P&gt;&lt;P&gt;I have implemented below changes based on your suggestion but of no luck, can you please review and suggest what I am missing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ov5640Mipi.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;class Ov5640Mipi : public OvDevice {&lt;BR /&gt; public:&lt;BR /&gt; virtual status_t initSensorInfo(const CameraInfo&amp;amp; info);&lt;BR /&gt; &lt;EM&gt;&lt;STRONG&gt; virtual status_t setParameters(CameraParameters&amp;amp; params);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt; };&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;Ov5640Mipi.cpp&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;status_t Ov5640Mipi::setParameters(CameraParameters&amp;amp; params)&lt;BR /&gt; {&lt;BR /&gt; int max_exp, min_exp, new_exp, ret_exp, new_gain, ret_gain;&lt;BR /&gt; Mutex::Autolock lock(mLock);&lt;BR /&gt; max_exp = params.getInt(CameraParameters::KEY_MAX_EXPOSURE_COMPENSATION);&lt;BR /&gt; min_exp = params.getInt(CameraParameters::KEY_MIN_EXPOSURE_COMPENSATION);&lt;BR /&gt; new_exp = params.getInt(CameraParameters::KEY_EXPOSURE_COMPENSATION);&lt;BR /&gt; FLOGI("ov5640Mipi.cpp Exposure settings Max %d, Min %d, Current %d", max_exp,min_exp,new_exp);&lt;BR /&gt;&amp;nbsp; if ((new_exp &amp;gt; max_exp) || (new_exp &amp;lt; min_exp)){&lt;BR /&gt; FLOGE("Invalid exposure setting, valid range from %d, to %d", min_exp, max_exp);&lt;BR /&gt; return BAD_VALUE;&lt;BR /&gt; }&lt;BR /&gt; struct v4l2_control int_control_exp;&lt;BR /&gt; &lt;A href="http://int_control_exp.id/"&gt;int_control_exp.id&lt;/A&gt; = V4L2_CID_EXPOSURE;&lt;BR /&gt; int_control_exp.value = new_exp;&lt;BR /&gt; ret_exp = ioctl(mCameraHandle, VIDIOC_S_CTRL, &amp;amp;int_control_exp);&lt;BR /&gt; FLOGI("The exposure setting status%d", ret_exp);&lt;BR /&gt; &lt;BR /&gt; new_gain = params.getInt(CameraParameters::KEY_EXPOSURE_GAIN);&lt;BR /&gt; if (new_gain != -1)&lt;BR /&gt; {&lt;BR /&gt; struct v4l2_control int_control_gain;&lt;BR /&gt; &lt;A href="http://int_control_gain.id/"&gt;int_control_gain.id&lt;/A&gt; = V4L2_CID_GAIN;&lt;BR /&gt; int_control_gain.value = new_gain;&lt;BR /&gt; ret_gain = ioctl(mCameraHandle, VIDIOC_S_CTRL, &amp;amp;int_control_gain);&lt;BR /&gt; FLOGI("The gain setting status%d", ret_gain);&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; //mParams = params;&lt;BR /&gt; return NO_ERROR;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif';"&gt;Sreekanth&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Aug 2015 14:19:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/OV5640-MIPI-camera-on-a-iMX6-set-exposure-and-gain/m-p/455952#M71120</guid>
      <dc:creator>sreekanthm</dc:creator>
      <dc:date>2015-08-27T14:19:35Z</dc:date>
    </item>
  </channel>
</rss>

