I'm trying to change the Offsets and the image width and height from LabVIEW as fast as possible. With the code shown it takes about 200ms. Is there a faster way?
Without the unconfigure and configure I get error -1074360304 0xBFF69010
I'm running RT 8.6
Changing the image width/height you are limited to having to reconfigure. The time needed for this will vary based on the system and camera, but 200ms sounds around the usual ballpark.
Starting in the next version of IMAQdx, you will be able to change the OffsetX/OffsetY for GigE Vision cameras on-the-fly if the camera supports it. For FireWire I believe we will not support this generically for compatibility reasons but you might be able to write to the registers directly and do that.
In MAX you can change the offsets, width, height on the fly. Is there a tiny 200ms reconnect I don't notice?
Yes. Those panels will cause a reconfiguration if necessary.
Just spotted this quirk myself when using a Dalsa Spyder gigE camera. Found I could change the exposure OK but obtained an error when trying to change the height. Had to unconfigure and close session before starting again. Works OK but with a small delay.
Simon (aka Light worker)
This is required because changes to the AOI size will change the image buffer size and this requires allocation of a new buffers of the correct size. This cannot be done in the middle of an acquisition that is currently using those buffers.
It's a pity because unconfiguring the camera and closing a camera session and takes a short, but not insignificant, amount of time. What I was trying to do was use a small number of lines (~100) in a loop to detect some movement in the object before capturing a much larger image (~8000 lines). But the time needed to reconfigure the camera was such that most of the sample had travelled past the camera before I could start capturing again. In essence I was trying to use the camera to trigger itself, given that the leading edge of my object could be ignored. Might there be another way around this?