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.

LightCrafter 4500 Image Sequence

Other Parts Discussed in Thread: DLPC350

I would like to create the following image sequence with the LightCrafter 4500

1. Dsiplay Image 1

2. Repeat Display Image 1

3. Repeat Display Image 1

4. Display Image 2

5. Repeat Display Image 2

6. Repeat Display Image 2

7. Display Image 3 ...............

I would like to create the image sequence without loading the same image multiple times to reduce the required storage space.  Can this be accomplished?

  • Hello Scot,

    Yes, this is possible.

    The Pattern LUT setup allows exactly doing this operation, refer to DLPC350 Programmer's Guide, Table 2-68. Pattern Display LUT data. BYTE0 bits7:2 allows you to select the same pattern number again and again.

    For example: Display Image 1, Repeat Image 1 say 100 times. For this in the Pattern LUT you have to select the same Pattern Number for next 100 LUT entries. 

    We are curious to know if something is not clearly documented which makes you to think the listed option was not possible? Please help us on this part, we would lijke to take your feedback.

    Regards,

    Sanjeev

  • Hello Sanjeev,

    I am in a similar situation. I just want to display bmp monochrome images downloaded in the flash memory. Can I bypass the pattern display sequence settings and just display the monochrome images one by one?

    I might even not use the on-board RGB LEDs; while I plan to use an external light source. In this case, I suppose I do not need the pattern display mode. Is that correct? (Sorry I'm confused)

    Can I use image LUT without having used the pattern sequence LUT? What values should I enter in this case for SPLASHLUT and SEQPATLUT ?

    Thanks,
    Pracheetee
  • Hello Pracheetee,

    For displaying images from the Flash, you can simply send two commands below - 

    Input Source Selection(I2C: 0x00) (USB: CMD2: 0x1A, CMD3: 0x00)
    InputSource = Flash

    Load Image (I2C: 0x7F) (USB: CMD2: 0x1A, CMD3: 0x39)
    Image Index Number - 0, 1, 2, ... refers to the image stored in the flash.

    Note - This option doesn't produce the pixel accurate display of image, it just display like any other image, like, you can see LightCrafter 4500 logo image on startup.

    Regards,

    Sanjeev

  • Hello Sanjeev,

    Although I loaded images onto the Flash memory at successive image indices, I have tried it earlier also, only the image at index 0 is displayed as I power-on the EVM. I dont understand what the command is, if I want to display next images with a control, or at least some delay.

    Also, the only methods that I know of, are either use GUI to send the commands or edit the ".ini" file. Am I missing out on something? 

    Thanks,

    Pracheetee

  • Hello Pracheetee,

    If you want to automate the process then you should be familiar with building the code; you can copy this git code https://github.com/jaybo/LightCrafter4500  

    in the main code you need to call LCR_SetInputSource() API source = 2 , PortWidth = 1

    Then call LCR_LoadSplash() with index 0, 1, 2, ....

    Regards,

    Sanjeev

  • hello Sanjeev,

    Can you walk me through the steps if I want to send commands to the DLP? Will I have to use OpenCV or any such tool to give commands without using the GUI to program the DLP?

    Regards,

    Pracheetee

  • Hello Pracheetee,

    You don't need OpenCV to send commands to DLPC350. You can build your own exe by compiling the code such as this one  https://github.com/jaybo/LightCrafter4500   ?

    Look at this thread also https://e2e.ti.com/support/dlp__mems_micro-electro-mechanical_systems/f/924/t/364130  on how to compile and build the code.

    From the API.cpp (v2.0 GUI source code) in your code you can call 

    //Set source to display image from Flash
    LCR_SetInputSource(3, 1)

    //In a loop you can call - you can add whatever delay you want between the calls.
    LCR_LoadSplash(int splash_number)

    Regards,
    Sanjeev

  • Hi Sanjeev,

    Thanks for your previous answer. I have a follow-up question. 

    If I modify the main.cpp file by calling functions from API.cpp, and recompile it, where can I see the changes reflected ?

    Does the main.cpp file associate with the " LightCrafter4500.exe " application? Will I be able to see the changes as I try to run this exe ? 

    Thanks,

    Pracheetee

  • Hello Pracheetee,No main.cpp is not associated with LightCrafter4500.exe
    What you compile is going to be a different executable, if you run that exe, it will directly communicate with the hardware, by the way if you have kep the GUI open you must close it before running the exe.
    Regards,Sanjeev