I am not sure what your mean.
If you need a stable frame rate, you should do so.
For example, set the fps to 60.
1，Adjust your resolution. Like ASI1600, at full resolution, its frame rate cannot reach 60fps, no matter what method you use..
2，Adjust your exposure time. If your exposure time is 50ms, then the frame rate only 1000/50=20fps, not 60fps.
3，Adjust your USB bandwidth. An appropriate bandwidth will make the image more stable.
Actually I want to synchronize my asi178 with a laser scanning projector like sonny mpcl1.
I use a short exposure time (1/framerate/5)second: the exposure window follow the laser spot, like that I have few ambient light noising the projected image.
The problem is that the frame rate of the camera should be very close to the projector:
if the camera is too slow, the image is rolling up as the laser come at image bottom before exposition.
if the camera is too fast, images are rolling down.
I reduce the image size to reach 60 fps, but it's difficult to be really synchronized: at usb rate=97 the camera is too fast, and too slow at usb rate=96.
Finally a solution i use is to play simultaneously with image height and usb rate, to find magic combinations where frame rate is very close of projector's.
But like that I can only exploit special resolutions.
If there is a way to set the pixel clock to a value in hertz, it will be easier to synchronize and more flexible on image resolution.
A correspondence like affine function between usb speed and clock speed can be helpful too, in order to calculate in advance magic combinations for specific frame rate?
I must say that your idea may not be realized. Because USB transmission time is not controlled by us.
But we can still try it before we make sure it doesn't work.
Considering that you can only judge the frame rate by application, I will help you make a setting to ensure that the frame rate is a fixed value. But before that, I had some questions. Then I will set the configuration based on the answers to these questions.
Please send a email to me: chad.cao(at)zwoptical.com
Thanks for your answer.
His requirement is that the shooting speed and projection speed are synchronized. So your advice may not be right for him. I have already made a more accurate configuration table for him to try.
Finally I forgot the idea of synchronization because the projector cannot deliver a stable framerate, change the camera settings works only a few time.
So as I can't know in advance what projected frame i'm capturing, I determinate it by image processing.
It's for structured light, and projected frames are like this:
count roughly the number of stripes in camera image allows to reorder it before using decoding algorithms!