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.

failed to load patterns and/or skipping patterns in when displaying in pattern sequence mode



Hi, I need some help again to understand a strange problem I encountered. The first problem was that intermittently, when I tried to load the patterns in a pattern sequence using the GUI, the error window would pop up indicating upload failed. Once it happened, I would have to restart the system, sometimes a couple of times for the upload to be successful. When I cycle through the patterns, I can see some were not loaded successfully (displayed black). (This happened a couple of times even when there was no error window pop up. 

The second problem was that the Lighcrafter seemed some times would skip a couple of patterns when cycling through patterns in pattern sequencing mode. It was worse at higher refresh rate (>1 KHz). One this happened, if I slowed down to say 50Hz for a bit of time (~30sec) then the problem would go away and I can go back to the higher refresh rate, I removed the light engine and the DMD was illuminated with a 1W CW laser externally.

I wonder if you all have ever run into similar problems before?

Thanks in advance!

  • Hi Bing,

    did you solve your problem?
    I would like to ask you,  how many patterns you were able to run at 1khz? I mean, did you load your own patterns?

    thanks.

    Pablo

  • Bing Ouyang,

    I am not sure why you are seeing this behavior. Are you running the LightCrafter in "Auto" trigger mode?

    When you start loading all the patterns at once, make sure that the "number" in the "Load Pattern Images" is set to 0. If it is not, the patterns will start loading at the position in "number" and can give unexpected results.

    Which version of the GUI are you running?

  • Dear Pascal,

    I would like to ask a question regarding this problem. I would like to load in to lightcrafter a lot of images. I was making some test and I found that my limit is 256 images. To make this tests I used the "DLP LightCrafter API Sample Code - Windows v2.0", and running the program in visual studio. The behavior obtianed is:

    - number of images < 256, works perfectly

    - number of images > 256 (280 for example) I am able to see just the last 256 images (and the first 24 images are lost) seems a circular buffer limitation. 

    This seems strange because the command interface guide says that the max number of patterns should be 1000. So an extreme test that I have done was loading the same 280 images, but this time using the GUI, and I was able to see correctly all the images.

    I am wondering if I am using an old version code of "DLP LightCrafter API Sample Code - Windows v2.0" and if is available a new one.

    Thanks for your help.

    Pablo

  • Yes I am running in auto mode. I did make sure the setting was correct (if not, I will get pop up window telling the loading failed). The GUI version was 3.8 (since I am using laser, had to backed out latest firmware update). 

    Pablo, I am loading 96 patterns. I tried to load via matlab code to load multiple patterns, but never quite sure if I was able to load them all successfully... So now I switched to loading from GUI and only control start/stop from my Matlab code.

    It seems you were able to load much more patterns, would it be ok for you to share with me how you did it? Also how did you validate the loading was successful?


    Thanks!

  • I tried as well to use matlab to interact with lcr but I basically never succeed, probably i will come back with that in the future. Anyway, in TI web site is also available the source code ("DLP LightCrafter API Sample Code - Windows v2.0")  I am using that and visual studio as is suggested in the readme file.  Are you able to find that? is so you should use the demo 5. 

    You can see that the loading was successful because then I am able to see with my eyes the images correctly loaded.

    Ah, take into account that I have the following versions:

    DM365 4.0
    FPGA 2.6.43
    MSP430 2.7

    GUI version 4.0.1


    Pablo
     

  • I think I got my answer but still I need to make my tests to understand what is the maximum numbers of images that is possible to load (seems around 1000 - 1500 - 2000 according on what I read in the forum).

    In  lcr_cmd.cpp the following edit:

    ErrorCode_t LCR_CMD_DefinePatternBMP(LCR_PatternCount_t PatternNum, char const *fileNameWithPath)
    {
    	/* Generate packet - the old version*/
    	/*
    	LCR_CMD_PKT_CommandInit(LCR_CMD_PKT_TYPE_WRITE, 0x0401);
    	LCR_CMD_PKT_PutInt((int)PatternNum, 1);
    	LCR_CMD_PKT_PutFile(fileNameWithPath);
    	if(LCR_CMD_PKT_SendCommand())
    		return FAIL;
    
    	return SUCCESS;
    	*/
    
    	/* Generate packet  - new version*/
    	LCR_CMD_PKT_CommandInit(LCR_CMD_PKT_TYPE_WRITE, 0x0481);
    	LCR_CMD_PKT_PutInt((int)PatternNum, 2); //change  1 with 2
    	//column and row position
    	LCR_CMD_PKT_PutInt((uint32)0, 4); 
    	LCR_CMD_PKT_PutFile(fileNameWithPath);
    	if(LCR_CMD_PKT_SendCommand())
    		return FAIL;
    
    	return SUCCESS;
    }

    But probably I need to check also in " ErrorCode_t LCR_CMD_ReadPattern(LCR_PatternCount_t PatternNum, char *fileName) " maybe something like:

    /* Generate packet - old version  */
    	/*
    	LCR_CMD_PKT_CommandInit(LCR_CMD_PKT_TYPE_READ, 0x0401);
    	LCR_CMD_PKT_PutData((uint8*) &PatternNum, 1);
    	LCR_CMD_PKT_SendCommand();
    	LCR_CMD_PKT_GetFile(fileName,numbytes);
    	*/
    	LCR_CMD_PKT_CommandInit(LCR_CMD_PKT_TYPE_READ, 0x0481);
    	LCR_CMD_PKT_PutData((uint8*) &PatternNum, 2);
    	LCR_CMD_PKT_SendCommand();
    	LCR_CMD_PKT_GetFile(fileName,numbytes);

    But I am not so sure about that. Do I need to edit the code in other parts?

    Thanks you for your help.

    Pablo

  • Pablo,

    Thanks a lot! I can't upgrade to the latest version though, but I still will give a try using C++ code.

    Regards, Bing

  • I think you should upgrade your version. In the readme file there is a line such as:

    "Important Note: The sample source code provided is compatible with DM365 v4.0 or later."

    In the forum there are some topics on how to upgrade. I did that as well.

    Pablo

  • I can't... I removed the light engine and the latest revision won't work this way...

  • I don't know exactly what are you doing, but you can plug in again the ligth engine, make this upgrade and then remove that again, to be clear you have two options:

    * you can buy something like this  

    * you can remove partially the engine. There are two flexi cables, a large one and a small one. well the small one probably is a sort of temperature sensor (maybe) you don't need to plug this one onto the driver board. In this way you have the dmd available for you.

    Pablo

  • Hello Pablo,

    About the maximum number of patterns possible this topic is discussed in this thread http://e2e.ti.com/support/dlp__mems_micro-electro-mechanical_systems/f/850/t/259451.aspx?pi201799=1

    About your code modification, yes your changes at correct for the cmd 0x0481. I don't think you are required to make code changes at any other places, it should work fine.

    Regards,

    Sanjeev