From: Oscar Pizarro <opizarro@MIT.EDU> - 2005-06-06 17:27:10
Starting from the grab_gray_image example I've been able to run two
Pixelink A741 with external triggering on Format_0, Mode 5 using dma.
With the same code I can also run one camera on Format 7 Mode 0 using
external triggering. But if I try to run two cameras with Format 7 they
just sit waiting for the trigger signal (dc1394_dma_multi_capture).
When the cameras are in Format0 mode5 the bytes_per_packet is set to
1280. But when in Format7 the bytes_per_packet is set to 4096 regardless
of image size. I understand that the sum of bytes_per_packet has to be
4096 on the ieee1394 bus. I've tried setting bytes_per_packet to
something less, such as 1280 (which has no reminder in 1280x1024 and
640x480) but the actual bytes_per_packet set on the camera is 4096. This
appears to be because the minimum bytes_per_packet (unit_bytes) is
reported by the cameras to be 4096 and dc1397_format7.c has some code
that modifies the bytes_per_packet to no less than unit_bytes.
If I modify dc1394_format7 to force my bytes_per_packet to be passed to
the camera, the attempt to set the value fails.
Is this a Pixelink problem or a libdc1394 problem? Any ideas to work
around it? I'd like to have 3 syncronized cameras with resolutions in
the 800x600 to 1280x1024 range. Frame rate isn't critical but someting
around 10-20 Hz would be great.
Deep Submergence Lab MS 7 phone: (508) 289-3226
Woods Hole Oceanographic Institution fax: (508) 457-2191
Woods Hole MA 02543, USA email: opizarro@...