[libdc1394-devel] Re: Bus synchronisation of multiple cameras ...
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Damien D. <da...@do...> - 2005-12-22 02:04:28
|
Hi Jose, On Wed, 2005-12-21 at 16:38 +0100, José Miguel Buenaposada Biencinto wrote: > Hi all, > > I think it has been answered before, but I can't find > it in the list archive (sorry!). > > I have to do synchronised capture from at least three Basler > cameras (we have two A312f and two A312fc). I think that > these cameras can be bus synchronised, and here comes my > question, what does it means exactly? How to do that? Some cameras ca 'autosynchronize' (e.g. Point Grey cameras). If your cameras can do this you don't have anything special to code. Otherwise see below. > If I remember right it has to something to do with > writing to the broadcast channel (channel #64?), > by just setting up each of the cameras to use it: > > dc1394_dma_setup_capture(handle, node, > 64, format, mode, > speed, frame_rate, > num_dma_buffers, > 0, > &dma_device_file, > &camera); > > Is that right? Almost ;-) - you don't have to change the channel but the node. - the node ID for broadcast is 63, not 64. - the command that will (relatively) synch the cameras is the the capture setup but the starting of the ISO transmission. A quick and dirty way to do it: for (i=0;i<3;i++) { dc1394_dma_setup_capture(handle[i], node[i], i, format, mode, speed, frame_rate, num_dma_buffers, 0, &dma_device_file, &camera); } dc1394_start_iso_transmission(handle[0], 63); (Johann: This may be a good addition for the FAQ.) Damien -- _ Damien 'Takahara' Douxchamps, PhD ('- Post-doctoral investigator //\ Image Processing Group, NAIST V_/_ http://chihara.aist-nara.ac.jp/ |