It seems like this camera is just completely ignoring ROI position height parameter in my code. Anything besidea a value of 1 and my grab callback never gets called. This applies to every mode - free run and ex sync, with any combination level controled, edge controlled or programmable exposure time.
The ROI height It does seem to work in MAX. However this camera has other issues in MAX (I get alot of FIFO overflow errors).
The obvious workaround is to just use one and set the Number of grab buffers. That seems like an inefficient way to do it though.
I was wondering if I need to use imgSessionLineTrigSource2 as opposed to imgSessionTriggerConfigure2? I didn't have to do that with the Atmel Aviiva, also a line scan camera.
Since configuration settings vary from camera to camera, code that works on one model may not necessarily work on another, especially across manufacturers. Can you post the camera file you are using? This would allow us to see the exact configuration settings you're using and might help us determine why you're experiencing this behavior.
Ok here is the file. Should be the same file d/l'ed from NI's site.
I'm not sure of the distinction between Region of Interest and Acquisition Window. I've tried playing both but I can only ever get it to acquire one line at a time.
Thank you for posting the camera file. One piece of information I still need is the framegrabber model you are using. I thought you had previously posted it or else I would have asked for it before. Thank you!
Its the NI-1429.
I have been able to set the ROI posotion to a height > 1 and have the grab callback execute successfully. I believe the trick was to set the Acquisiton Window to match the ROI position.
However I still have a problem with a time between triggers needs to be unusally long (> 200 us on a 10 us integration time) or else it will miss a trigger
Well the problem doesn't seem to be the time between between triggers, more like an either "it works or doesn't". If it gets the first frame, it will work indefinitely, it doesnt, it doesn't matter how many triggers I send it. Also, the time between triggers doesn't seem to make a difference. The odd thing is I can lower the time between triggers lower what the camera should be capable of( < 14 us), and it will still work. This si true in external sync/level-controlled and external sync/programmable mode.
If it only fails when you miss the first frame, it is most likely a timeout error. Try increasing your timeout and see if that solves the problem. If this does not work, then what are the conditions when it acquires the first frame and works indefinitely versus when it misses the first frame and fails. Does it happen at random or is it a more predictable failure?