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.

DLP4710EVM-LC: DLPC 1.5 API - Internal Pattern Streaming, pattern set not ready and not sure how to resolve?

Part Number: DLP4710EVM-LC
Other Parts Discussed in Thread: DLPC-API, DLP4710LC

I am working with a EKB version of the DLP4710EVM-LC.

I'm just doing a test project to see what I can do, I've downloaded the DLPC API 1.5 and in the dlpc347x_dual project I commented out the main function in the sample.c and created my own main.cpp which I've attached to this for reference.

What I was attempting to achieve was to create several 1D 1-bit vertical patterns with N bars, in the current sample its 2,3,4 and 5 bar patterns in a single pattern set, then run these as an internal pattern

I tried to set everything up correctly however when I start running I dont see the patterns I set, they're close but not the same, after playing around with the GUI software it almost feels like its pointing to some stale memory somewhere, or offset.

One thing that I did notice is that DLPC34XX_DUAL_ReadInternalPatternStatus returns the following:

NameValue
PatternReadyStatus DLPC34XX_DUAL_PRS_NOT_READY (0)
NumPatOrderTableEntries 1 '\x1'
CurrentPatOrderEntryIndex 0 '\0'
CurrentPatSetIndex 255 'ÿ'
NumPatInCurrentPatSet 4 '\x4'
NumPatDisplayedFromPatSet 0 '\0'
NextPatSetIndex 0 '\0'

I couldnt see anything in the documentation about what 'Not Ready' means or how to get it in the 'Ready' state, I'm also not sure what the CurrentPatSetIndex is and why its 255 in this case, that to me sounds like its currently pointing to the wrong pattern set, but I dont know how to resolve this.  Everything else seems fine.

main.cpp

  • Hi James,

    Welcome to TI E2E forums and thanks for showing interest in the DLP technology.

    Can you please share the pattern binary with me so that I can reproduce the issue at my end?

    Thanks and regards,

    Mayank

  • James,

    Thanks for sharing your binary. We will get back to you once we've had a chance to evaluate on one of our systems.

    Regards,

    Philippe Dollo

  • James,

    Apologies for delayed response.

    I tried to reproduce the issue at my end suing the GUI. But i didnt notice any discrepancy in the pattern display.

    Can you please try to reproduce the issue using GUI instead of DLPC-API. This will let us know whether the issue is related to some bug in the API or in the firmware.

    Also, is it possible for you to share the individual pattern images that you want to display - by this I can verify the patterns are being displayed as expected or not.

    Regards,

    Mayank 

  • Hi Mayank,

    Thanks for the response.  I've tried using the GUI, DLP4710LC .2.2.0.6, if I try to load that binary image in Light Control -> Internal Patterns -> Pattern Set Order it tells me 'Warning! Patterns timings are not validated before loading to flash'

    Here is a picture of the information screen.

    However right now I am not sure we will end up using internal pattern streaming as we likely want to produce 2D patterns.  I have been asked to investigate whether we could replace the splash images programmatically in our own software, reading through the documentation this doesn't seem possible, or at least advisible?

  • James,

    I couldn't see the images that you have attached.

    You can ignore the warning and can validate the Pattern timings using "Read  Validate Exposure Time Command" 

    If you want to do the same using GUI, then you will find the command in the Advanced Mode of the GUI (under the Light Control section).

    My response to your other query is as follows  - 

    Splash images cannot be programmed at runtime. The images are required to be written in the flash memory (which would indeed increase the firmware size linearly), also the latency of fetching the images from the flash memory is high hence it is not recommended to use Splash Pattern Mode if you want to display multiple 2D patterns. The recommended way of displaying 2D patterns would be via External Pattern Mode where patterns can be given as input to the controller via the parallel bus at runtime.

    Regards,

    Mayank