Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
17060 Discussions

F200 AcquireFrame results in EXEC_ABORTED using fixed fps

Markus_P_1
Beginner
679 Views

Hi,

it took me a quite a while to find out why my pxcSenseManager::AcquireFrame loop quits with PXC_STATUS_EXEC_ABORTED. It looks like this has to do with setting fixed fps. So basically I want to have a color and depth stream running with 60 fps in case there is enough room light (or fixed camera exposure). What happens though is that the camera quits with EXEC_ABORTED after a view frames. I also noticed that the error can be triggered by moving the hand close to the sensor. So I suppose this has to do with a low frame rate in the color stream due to auto exposure. If I set the fps to zero instead of 60 everything works fine.

The error I am describing can also be reproduced using the Intel samples, so I don't suppose my implementation is odly wrong. When I use the "Raw Streams" sample and start the Color stream in RGB24 640x480x60 and the Depth stream in 640x480x60 the camera will also quit after a few frames. I attached the logs from running the "Raw Streams" sample in this config.

 

Details below:

// important code snippets
PXCVideoModule::DataDesc data_desc = {};
data_desc.deviceInfo.streams = PXCCapture::STREAM_TYPE_COLOR | PXCCapture::STREAM_TYPE_DEPTH;
data_desc.streams.color.sizeMin.width = data_desc.streams.color.sizeMax.width = 640;
data_desc.streams.color.sizeMin.height = data_desc.streams.color.sizeMax.height = 480;
data_desc.streams.color.frameRate.min = 60.0f;
data_desc.streams.color.frameRate.max = 60.0f;

data_desc.streams.depth.sizeMin.width = data_desc.streams.depth.sizeMax.width = 640;
data_desc.streams.depth.sizeMin.height = data_desc.streams.depth.sizeMax.height = 480;
data_desc.streams.depth.frameRate.min = 60.0f;
data_desc.streams.depth.frameRate.max = 60.0f;

pxcStatus sts = pxc_sense_manager->EnableStreams(&data_desc);

if (sts == PXC_STATUS_NO_ERROR)
	sts = pxc_sense_manager->Init();
	
...


while (mRun.load() && init_ok)
{
	pxcStatus pxc_status = pxc_sense_manager->AcquireFrame(true);
	// ERROR: pxc_status  == PXC_STATUS_EXEC_ABORTED
	...
	pxc_sense_manager->ReleaseFrame();
}

 

0 Kudos
1 Reply
Susan_S_
Beginner
679 Views

 

I get the EXEC_ABORTED error using the R200 at AcquireFrame(true).  It does not happen right away, but happens after a while in a similar loop as described above. 

I have this issue running on a tablet with Windows 10.  It does not occur when running on a Windows 8 PC.

I tried changing up the set frame rate as the original poster described, but still eventually get the EXEC_ABORTED, so that did not resolve the issue.

A secondary question:  Is it appropriate to call ReleaseFrame if AcquireFrame() returns EXEC_ABORTED?

 

 

 

 

 

0 Kudos
Reply