This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Capturing frame on GPIO event

Hi,

We are working on a real-time capture system using Leopardboard DM365 with Aptina Sensor Board based on MT9v034. We have been able to configure the system to capture frames at 30 fps and are able to view it correctly as well. Capturing 30fps gives us a delay of 30milliseconds for each frame.

 

Now, we would like to capture a frame when an external GPIO event occurs, so instead of configuring the driver to capture continuously we would like it to take a snapshot only when request. These GPIO events will only occur up to 4-5 per second. In the current configuration (continuous display mode) due to the delay of 30 milliseconds we dont get the right frame.

We have been able to capture the GPIO events in the software, but havent been able to figure out how to use the driver in snapshot mode.

Please let us know what is the way to go about this.

Thanks,

 

  • Hi,

    I would like to understand a few more details:

    1. Are you running your capture system in single shot mode or continuous mode? You can look at the capture driver usage in your code. This will help us decide the way we can take snapshot.

    2. What format of data do you need in the snapshot capture? I mean do you need the processed YUV data after the resizer operation?

    3. What is your input source to DM365? I mean do you have a sensor (raw or YUV) or do you have analog feed going into some TVP514x kind of video decoder?

    4. When you say you want snapshot capture, does it mean that other regular capture of 30fps is not needed?

    My best bet is that you leave your capture working at 30fps and as soon as you get GIO interrupt, you take the output frame from capture and make a copy of it in other buffers for your snapshot usage. The place you want to take the snapshot at, can differ based on your data flow. It can come out directly from ISIF capture or can come out from resizer output. This can also control the delay from the time you got GPIO interrupt to the time you took snapshot.

    Regards,

    Anshuman

    PS: Please mark this post as verified, if you think it has answered your question. Thanks.

  • Hi,

    Currently, we are running the driver in continuous mode at 30 fps and tried to capture a frame when a GPIO occurs. However, the issue is that the driver calls take around 30 milliseconds (30 fps) so the delay in capturing a frame is 30 milliseconds, which is not acceptable since we have a moving target so the  image reference changes.

    We need Bayer pattern from the driver.

    We are using the WVGA sensor board from leopardimaging - https://www.leopardimaging.com/Leopardboard_365.html (LI-VM34LP).

    The system shall have 3 modes of operation continuous mode and interrupt mode. In the prior we need 30 fps and in interrupt mode we will use the GPIO triggers.

    Thanks,