Image Acquisition Toolbox National Instrument PCIe-1429 frame grabber error

2 views (last 30 days)
Linnea on 5 Nov 2015
Answered: Madhura Suresh on 6 Nov 2015
We have an application that has been in use for around a year. It uses the image acquisition toolbox with a NI PCIe-1429 frame grabber to capture from a FLIR tau2 camera. It appears that after running for so long we've reached the maximum buffer limit for the frame grabber.
Here is the code used to initialize the camera
inf = imaqhwinfo('ni', 1);
switch inf.DeviceName
case 'PCIe-1433'
case 'PCIe-1429'
ptiLog(s, 0, 'ERROR: Wrong camera found (%s)\n', inf.DeviceName);
vid = videoinput('ni', 1, 'img0');
cameraSrc = getselectedsource(vid);
vid.FramesPerTrigger = 1;
frame = getsnapshot(cameraSrc.Parent);
I have recently run across the following error:
ni: This buffer is currently protected. Release it to allow new data to be written.
Error in imaqdevice/getsnapshot (line 63)
[snapshot, metadata] = getsnapshot(imaqgate('privateGetField', obj, 'uddobject'));
Error in ptiCameraInit (line 37)
frame = getsnapshot(cameraSrc.Parent);
When this error occurs Matlab immediately crashes.
If I run the National Instrument Measurement and Automation Explorer and snap a frame this seems to release the buffer and make the error go away. How can I release the buffer from within Matlab using the image acquisition toolbox? Is this an error with the way the toolbox supports this specific frame grabber - or is there something else that should be called after every getsnapshot() call?
I have found similar errors posted on NI forums, but nothing that uses the image acquisition toolbox
Thanks in advance for any ideas or suggestions.

Answers (1)

Madhura Suresh
Madhura Suresh on 6 Nov 2015
Hi Linnea,
Can you contact with the crash dump from your temp dir and the output of imaqsupport?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by