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.

DLPLCR6500EVM: DLP® products forum

Part Number: DLPLCR6500EVM

Hi,

I am using open-sourced Matlab code to upload and display custom images on Pattern on the Fly Mode. The code is from https://github.com/deichrenner/DMDConnect

All the functions run perfectly. I was able to upload and display one image without problem. However as i tried to upload multiple images, according to Pattern-On-The-Fly Example (Page 64, 5.3 of DLPC900 Programmer's Guide) , only the first image with pattern index 0 is displayed normally. The follow up images are either blank, or exactly the same as image 0, or distorted. The exposure time, the dark time and the total number of patterns are corrected.

One explanation I can thought of is potential error in function 2.4.4.4.1, Initialize Pattern BMP Load (Page 57 of DLPC900 Programmer's Guide). I set the second parameter to be the size of the enhanced-RLE-compressed image, which includes header+data. The uploaded data might not be in the right chunk of memory, but i cannot think of anything wrong with the size i am uploading since i was doing exactly as the guide says. Also i discovered that even if i set size=0 for image 0 it will be displayed no matter what.

Second confusion i have is about the meaning of "index" in the programming guide. In function 2.4.4.3.4 Pattern Display LUT Definition, it mentions "pattern index" and "image pattern index", and in 2.4.4.4.1 Initialize Pattern BMP Load there is "image index", and all three of them have different range of values. I am currently setting all of them to be the same number for one image. But generally i am confused.

Finally, I often get "Sequence Abort Status Flag Error", which I kind of understand since the pattern sequence seems to be wrong.

I also looked into the source code of the published GUI. It seems that the source code is transferring image to splash image when we use Pattern-On-the-Fly, and upload it to Firmware. Could you also explain what the GUI is doing when hitting the "Update LUT" button?

Many thanks,

Jiayi

  • The second paragraph I mean "The exposure time, the dark time and the total number of patterns are correct."

  • Hello Jiayi,

    First, welcome to the DLP section of the TI-E2E forums.

    I assume that you are calling "Initialize Pattern BMP Load" and then loading the second pattern (#1) first by calling "Pattern BMP Load", then calling it again for the first pattern (#0) by calling "Pattern BMP Load" a second time.  I am not sure I understand why it works for the one pattern when the number of bytes is set to 0.  Are you sure the memory is actually cleared or it is reading what was in there previously?

    I notice that you are using a slightly outdated version of the Programmers Guide.  It should be revision E

    Please download it here:  

    DLPC900 Programmer's Guide (Rev. E) -There are updates from the version you are using.

    I realize the nomenclature can be confusing.  The "pattern index" refers to the individual pattern to be shown.  An individual pattern can be part of an "image pattern" which is a 24-bit image.  So if you have a single 24-bit image loaded into memory, you could display three 8-bit "pattern" from that data or eight 3-bit "patterns" or six 4-bit "patterns" or four 6-bit "patterns".  In fact you do not have to use all of the bits in the image data, so if you displayed three 7-bit "patterns", there would be 3 unused bits.  Or you could also display a 3-bit "pattern" in addition to the three 7-bit "patterns".

    The controller still has to store data as 24-bit [CORRECTED - previously read "14-bit"] images, but the data can then be divided into "patterns" in any way you want, so long as it does not exceed the frame time.  If it does, it will abort the sequence until the start of the next v-sync.

    Please review the Rev E version and see if it clears anything up (or makes it more confusing).

    Fizix

  • Hi,

    Thank you for your prompt response. Wrong guide could explain a lot. I'll try adjusting the code tomorrow and see if the problems are resolved.

    And thanks for the explanation on the index!

    Best,

    Jiayi

  • Hi Fizix,

    Thanks for your reply yesterday, I tried again using the new guide you sent me. In 2.4.4.3.3 Pattern Display LUT Configuration, it says "The command should be issued after any Pattern Display LUT Definition command has been issued", i am confused about why and how we should do that.

    I executed the following functions in order to display three images, and made sure that memory was clean forehand. The result i got was: pattern 0 + pattern 0 + black, repeating for 100 times. Could you take a look and see what might be wrong? I have been trying different combinations of these functions of around a month now and now of them succeeded. Appreciate it!

    Pattern Display LUT Definition(index=0, exposure=1s, clear=1, bit-depth=1,LED=0,trigger=0, Image pattern index=0,trigger=0)
    
    Pattern Display LUT Configuration(entries 3, No. of repeat 100) 
    
    Pattern Display LUT Definition(index=1,...same..., Image pattern index=1)
    
    Pattern Display LUT Configuration(entries 3, No. of repeat 100) 
    
    Pattern Display LUT Definition(index=2,...same..., Image pattern index=2)
    
    Pattern Display LUT Configuration(entries 3, No. of repeat 100) 
    
    Initialize Pattern BMP Load (index 2)
    
    BMP Load - multiple times until all loaded
    
    Initialize Pattern BMP Load (index 1)
    
    BMP Load - multiple times until all loaded
    
    Initialize Pattern BMP Load (index 0)
    
    BMP Load - multiple times until all loaded
    
    Pattern Display start


    Best,
    Jiayi
  • Another thing i just discovered is that USB 0x1A32 USB (Pattern Display LUT Reorder Configuration Command) is an invalid command according to error code.

    I am using DLPLightCrafter 6500 and DLPC900 Controller. Is this command not supported by certain versions of DLPC900?

    Jiayi

  • Hello Jiayi,

    This is only supported in FW version 5.0 and if you will need the API dll's from the 4.1 version of the Reference Software v 4.0.1.  Here are links:

    Fizix

  • Hi Fizix,

    Thanks. Please update me if you see any problem with my pattern-on-the-fly commands as well.

    Best,

    Jiayi 

  • Hello Jiayi,

    The high level of the code looks like it should be correct, but you should ask someone who is versed in Matlab code to check this over.''

    Fizix