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.

DLP3010EVM-LC: Problem generating and writing patterns using API on DLP3010EVM-LC

Part Number: DLP3010EVM-LC
Other Parts Discussed in Thread: DLPC3478

Hello,

I am using the DLP3010EVM-LC development kit to generate patterns using the API 1.1. I installed the API and followed the instructions to build and execute the .sln file in the directory "Texas Instruments\DLPC-API-1.10\build\vs2017". The program works fine and generates grid and colorbar test patterns. However, I then modified just one line so the program generates and writes pattern data. Here is the change that I made

  

This would give me the runtime error in the file "dlpc347x_internal_patterns.c" as in the following image

 

Could you please help me with this problem?

Thank you

  • Hello User,

    Welcome to the E2E forum and thank you for your interest in DLP technology!

    It appears that the PatternIdx variable is not given a value when you reach this else statement. Please try containing the contents of this else statement in a for loop as done with the other if-else statements (for (PatternIdx = 0; PatternIdx < PatternSet->PatternCount; PatternIdx++) and let us know if this creates the desired behavior.

    Regards,

    Austin

  • Hello Austin,

    Thank you for your helpful reply. It solved my problem.

    In fact I have another question. I want to generate 1-bit 2D patterns and display on the DMD. My goal is to generate these 2D patterns using the same C code and directly write it on the flash memory. While reading the programming manual , I found that 1D patterns can be generated by the C code and displayed. How about generating 2D patterns? Should it be strictly done using external mode? if so, should it be through HDMI?

    Also, using HDMI, can we reach patter update rates of 1KHz?

  • Hello User,

    We can investigate your first and second question to give you an answer next week.

    For your last question, are you planning on using the HDMI port for external video or external pattern mode? If you plan on using external video input then  that pattern rate would not be possible. If you use external pattern mode then that may be possible.

    Regards,

    John

  • Hello John,

    Thank you. I am looking forward to the response next week.

    As for your question, I don't have a clear understanding of the difference between external video or external pattern mode. In my project I would like to do the following:

    Each 1 or 2 ms, I want to generate a 1-bit 2D pattern on the fly based on some sensor input and send that pattern to the DMD, all using the same C/C++ code. In other words, I want to implement a closed-loop control of the DMD based on sensory input with a frequency of 500~1000 Hz. 

    I was thinking to generate a pattern each 1~2 ms and send it through the HDMI port. I guess this counts as external pattern mode? please correct me if I am wrong. I checked the following thread on E2E on how to pack data on the HDMI port and it seems possible to reach 1400 Hz pattern rates. (Although it is for different EVM, I guess that the principle is the same?)

    https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/967314/dlp4710evm-lc-external-video-pattern-question?tisearch=e2e-sitesearch&keymatch=dlp3010%252525252525252520hdmi%252525252525252520api#

    So even if the HDMI port is limited to 60 Hz, my understanding is that the DMD can still be actuated with a frequency of 1400 Hz with 1-bit patterns in real-time. Is that correct?

  • Hello Belal,

    External video is the normal connection you have when using an HDMI port on PC and monitor.  External pattern mode will allow for you to take the HDMI input and control the pre/exposure/post times and patterning rate of the images being sent video the HDMI port. This is usually done with one of the RGB LEDS in a monochrome format via the Light Control GUI.

    We will still have to look into how the pattern generation will work.

    Usually the HDMI input to the EVM is 60 Hz. You can try changing the Patterns Per Frame and exposure times inside of light control GUI to see how this works.

    Regards,

    John

  • Hello John, 
    Thank you for your reply. I will try to get more familiar with the EVM, API, and GUI while waiting for your response next week.
    Best regards,
    Belal

  • Hello Belal,

    Thank you for your patience and understanding. Please check back on this thread on a later date for updates.

    Regards,

    Austin

  • Hello Belal,

    As John said, for your use case external pattern mode would be recommended. For your other question - DLPC3478 does not support generation of 2d patterns for external pattern mode. This is something that you will have to take care externally and feed those patterns via HDMI with appropriate timings. 

    I hope this answers comment answers all the open questions. 

    Regards,

    Mayank 

  • Hello Mayank,

    Thank you for your reply.

    So if I understand correctly, external pattern mode only works for 1d patterns. Since my requirement is to control individual pixels (i.e. individual mirrors), i need to have send a 2d pattern to the dmd. Meaning that I have to use external video mode. 

    In this case, can we reach 1khz and above frequencies for 1-bit 2d patterns using external video mode by HDMI port? If yes, do you have some documentations about how to encode a 1-bit 2d pattern in an image so the dlpc chip can understand it and translate the individual ones and zeros in the pattern to pixels on the dmd? I was seaching extensively on the web and on e2e forum and couldn't find any related information.

    Also my patterns are generated in real-time. Meaning that I can't just pre-load the patterns in the EVM memory.

    Best regards,

    Belal

  • Hello Belal, 

    I think you might be confused a bit. We do support 2d pattern display via external pattern mode, its just that you will have to feed in the patterns at runtime via the HDMI interface. 

    Please refer to the DLPC347X section in the Universal FAQ for additional information - https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/946506/faq-dlp-pico-universal-faq

    Regards,

    Mayank