Sony's Developer World forum

    • Home
    • Forum guidelines

    Arduino IDE Spresense manual exposure timing

    Spresense
    long ae mode arduino ide manual exposure shutter
    2
    2
    740
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hintzc last edited by

      I see from the update lists that v1.1.1 et seq. supports manual exposure timing, but I cannot find any examples or coding other than the .setAutoExposure(false); command in the API.

      Can someone point me to an example or project that is controlling manual exposure timing? and use the shutter priority exposure control to get down to 1/8s (Long AE mode)?

      thank you.

      1 Reply Last reply Reply Quote
      • TE-KarlKomierowski
        TE-KarlKomierowski DeveloperWorld last edited by

        Hi @hintzc said

        I looked into this and it sees you're right about the arduino library missing the absolute exposure time set function.

        I have not found a project using manual exposure time but I looked into the Nuttx driver handling for the isx012 camera chip. Extracting information from the driver I added a function to the Camera driver:

        Campera.cpp:

        CamErr CameraClass::setAbsoluteExposure(uint32_t exposure_time_ms)
        {
          return set_ext_ctrls(V4L2_CTRL_CLASS_CAMERA,
                               V4L2_CID_EXPOSURE_ABSOLUTE,
                               exposure_time_ms);
        }
        

        Camera.h

        CamErr setAbsoluteExposure(uint32_t exposure_time_ms);
        

        In the camera sketch you find under File->Examples->Camera

              Serial.println("call takePicture()");
        
              /*Following three lines are new*/
              Serial.println("Setting autoexp and absolut exp"); 
              Serial.println(theCamera.setAutoExposure(false));
              Serial.println(theCamera.setAbsoluteExposure(1));
             
         CamImage img = theCamera.takePicture();
        

        Setting the exposure time to 1 gave me very dark images so and increasing it gave very light images so I it seems that this fix would do it for you.

        Br
        Karl Komierowski

        1 Reply Last reply Reply Quote
        • First post
          Last post
        Developer World
        Copyright © 2021 Sony Group Corporation. All rights reserved.
        • Contact us
        • Legal