From 11:00 PM CDT Friday, Nov 8 - 2:30 PM CDT Saturday, Nov 9, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

imaqdx 1394 camera trigger retrigger

I am trying to use an ISG IEEE 1394 based camera (LW-WVGA-G-1394) using IMAQdx.  I can capture images using the conventional "grab" etc routines provided in IMAQ, and I can capture an image per-trigger as expected.  However, the camera documentation suggests that I can access a trigger mode "C" that triggers once and then free-runs.  Although this is not explicitly and option in the camera attributes, it is supposed to be accessible by directly programming the registers, which I can do.  Does anyone know if: a) this isn't possible using IMAQdx, even though nominally it might be on the camera; b) if it is possible, what on earth is it I am missing?  No mention of these features is made in the IMAQ documentation or in MAX so I don't wonder if this is not possible through labview.

As a possible side observation, if I try this I usually see the first frame come in quickly and then the system wait as it waits for buffers to fill.  Is it possible that this mode fills the same buffer repeatedly until the next trigger (in which case my monitoring of the buffer number will not pick it up).

thoughts anyone?

Thanks
0 Kudos
Message 1 of 6
(3,374 Views)
Hi Gavin,

I believe that the function you are looking for is IMAQdx Write Register.  You can specify a value to write and the offset/register location to write it at.  This VI and the IMAQdx Read Register VI are on the Vision & Motion » IMAQdx » Low-Level pallete in LabVIEW.

I hope this helps,

Thanks,

Sherrie R.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 6
(3,328 Views)
Sherrie, thanks for your response!  I had already got down into programming directly from the register using those VIs and it certainly seems to stick when I change the relevant registers, but I can't get it to do anything except trigger every frame.  On a side note, when it does trigger it maxes out at about 2/3 the max frame rate (if I let it free run), is this likely to be an IMAQ issue, or a camera issue?

Thanks again,
Gavin
0 Kudos
Message 3 of 6
(3,320 Views)
Hi Gavin,

There shouldn't be an issue with this from the IMAQdx side, so my expectation is that the registers aren't set quite right.  Just to confirm, you are programming the registers once, not programming the registers in a loop, correct? 

I have been looking at the manual for the camera here

http://www.isgchips.com/pdf/LW-WVGA-G-1394_Global_Shutter_Camera_Users_Guide_3_29_2005.pdf

From looking at this document, it looks like you are probably working with both the TRIGM (page 19) and IBMODE (Page 24).  Is that what you have been working with?

Thanks,

Sherrie R
Applications Engineer
National Instruments

0 Kudos
Message 4 of 6
(3,300 Views)
Those registers are the ones I have been looking at.  An extra data point is that ISG say you also have to have the retrigger delay non-zero (specifically, longer than the frame exposure time I think).  I suspect I might not be programming the registers correctly so I will keep plugging away at this and post a follow-up if I get it to work.

Thanks again
0 Kudos
Message 5 of 6
(3,296 Views)
If anyone else has struggled with this, I think I found how to do it - or at least work around.  This may also be of general use (I certainly hadn't realized this was the case).  When scoping the signals I realized that in fact this camera was working correctly briefly _before_ I called the IMAQ start.vi.  I had to start the acquisition and then reprogram all the registers.  After this it appeared to work fine (maybe this should have been obvious but I didn't see any documentation suggesting that!).
0 Kudos
Message 6 of 6
(3,247 Views)