This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Hardware trigger for switching patterns at irregular intervals

Other Parts Discussed in Thread: DLPR200


I am new to the DLPR200, and I'm still trying to figure out how things work. Our goal is the following: We have some (binary) patterns between which we would like to switch at irregular intervals while a camera is acquiring. (A typical scenario would look like this: the camera is acquiring at 30fps, and we would like pattern 1 to be displayed for the first 10 frames, pattern 2 for the next 50 frames, pattern 3 for the next 200 frames etc.)

I set up a little program which loads patterns into the static image buffer (using DLP_Img_DownloadBitplanePatternToExtMem()) and set the data source to SL_AUTO. I can then manually switch between patterns using DLP_Display_DisplayPatternManualStep().

Is there any way to do this final step (switching between patterns) using a hardware trigger (at irregular intervals, as described above, and at low framerates, such as 0.01 - 0.1 fps)? I'd like to use output signals from the camera to have patterns precisely displayed for a certain number of frames. As far as I've understood, the VSYNC signal on J505 is for regular framerates which are much higher than what I need.

Thanks very much for any help,


  • Hi Benjamin,

    Unfortunately what you are requesting is not possible with External Hardware Trigger. 

    Following are the important system constraints - 

    1. The available static pattern memory is 960 1bpp patterns.

    2. The order of patterns displayed should be pre-defined and known. You can use the Image-Order-LUT approach to update the order, pattern-1 (10 frames) -> pattern-2(50 frames)->Pattern-3(200 frames)... this order must be known. 

    3. The external hardware trigger is meant to advance to the next pattern, as defined in the image order LUT.

    With the above things you can try experimenting following options - 

    a. Download all required patterns in static frame buffer.

    b. Decide the ImageOrderLUT,for example pattern-1 displayed 10 times, download the ImageOrderLUT

    c. Call DLP_Display_DisplayPatternAutoStepForSinglePass()

    d. Repeat step #b and #c based on your requirement, for example - in the next step create new ImageOrderLUT with pattern-2 displayed 50 times.

    About, the ImageOrderLUT refer to these threads