LoGrabber.H File Reference

The bastard step cousin to the IEEE1394grabber. More...

#include "Robots/LoBot/misc/LoExcept.H"
#include "Robots/LoBot/misc/LoTypes.H"
#include "Image/Dims.H"
Include dependency graph for LoGrabber.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lobot::Grabber

Detailed Description

The bastard step cousin to the IEEE1394grabber.

This file defines the lobot::LoGrabber class, which uses the libdc1394 API directly to perform multi-grabs from multiple FireWire cameras. We could do this using the IEEE1394grabber class; unfortunately, that class has some weird bug that causes multi-grab operations to crash.

Specifically, when we have multiple FireWire cameras daisy-chained together, their sub-channel IDs will be 0, 1, 2, etc. Creating the requisite number of instances of IEEE1394grabber and then setting the "FrameGrabberSubChan" option/parameter for each of these instance to the appropriate sub-channel ID should work. However, somewhere along the line, all the instances end up using the same sub-channel ID (e.g., 1 or 2 or 0 or whatever). Then, the libdc1394 library complains when trying to initialize the same sub-channel more than once.

Ideally, we ought to fix IEEE1394grabber so that it works correctly. In the mean time, the lobot::LoGrabber class provides a quick workaround that allows multi-grabs to function. It implements pretty much the same functionality as IEEE1394grabber in almost the same manner, except that it isn't part of the ModelComponent hierarchy. Its interface is also more direct and vastly simplified. Thus its label as "the bastard step cousin to IEEE1394grabber."

Definition in file LoGrabber.H.

Generated on Sun May 8 08:17:05 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3