Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Ring Acquisition

Hi,
 
Just wonder whether we can perfrom some sort of ring acquisition in IEEE 1394?
0 Kudos
Message 1 of 6
(3,677 Views)

Yes, you can do a ring acquisition.  With the new version 2.0 drivers, I think everything that can be done with regular IMAQ can also be done with firewire IMAQ.

 

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 2 of 6
(3,670 Views)
Thanks for your help!
 
But is there any example for doing so? Do u just set the continous parameter as TRUE and buffercount as >1 in imaq1394ConfigureAcquisition (SESSION_ID sessionId, unsigned int continuous, unsigned int bufferCount, Rect rectangle) if you want to do ring acquistion
 
Also for imaq1394GetBuffer2 (SESSION_ID sessionID, unsigned long bufferNumberDesired, unsigned long *bufferNumberActual, unsigned long onOverwrite, void **buffer), is it possible to select the buffer that you need in bufferNumberDesired and bufferNumberActual?
 
 
0 Kudos
Message 3 of 6
(3,668 Views)
I know how to do it in LabVIEW, and it is pretty simple.  Hopefully you can find the equivalent commands:
 
Set continuous acquisition to TRUE.
Set the number of buffers in the ring.
Start acquisition.
Inside a loop, read the index of the last buffer acquired (property node in LV).
 
I don't know of any examples, but that doesn't mean there aren't any.
 
I think in GetBuffer2, bufferNumberDesired is the one you are requesting, and bufferNumberActual is the one returned.  I think the rules are as follows:
If the buffer number requested has already been overwritten (too old), return most recent buffer or oldest buffer depending on settings.
If the buffer is currently available, it is returned.
If it hasn't been acquired yet, I think it returns the most recent buffer.  Hopefully it doesn't lock up until that buffer is acquired.
 
Bruce
Bruce Ammons
Ammons Engineering
0 Kudos
Message 4 of 6
(3,664 Views)
For the buffernumberdesired, it is possible to specify a number or a specific frame? (not the last written or next frame)
0 Kudos
Message 5 of 6
(3,659 Views)

Yes.  Buffers are numbered sequentially as they are acquired.  When you specify a buffer number, that is the one that is returned.

 

I forgot to mention that a buffer number of -1 returns the most recent.

 
Bruce
Bruce Ammons
Ammons Engineering
0 Kudos
Message 6 of 6
(3,647 Views)