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.

DLPC410: Trouble Initializing DMD out of Test Pattern Loop using just ActiveX

Part Number: DLPC410

I am trying to write a script to load images into a 9500 DLP using ActiveX through Labview. The script will not work, and the looping of the test patterns will continue. However, if I first load an image using the DDC4100 Explorer to load an image, and then go back to Labview to load an image, the script will work. My guess is there is an initialization function that I am not aware of and cannot locate. Please advise.

  • Hello Henyang,

    Thank you for your question, I have asked one of my colleagues to look into answering this. You should receive a response in the next day.

    Thank you for your patience.

    Best regards,
    Tristan Bottone

  • Hello Heyang,

    May I ask what version of the GUI you are using and what FW version of the DLPC410?

    This sounds like you are using the earlier version of the APPS_FPGA code with the earlier GUI which loads a bitstream to the APPS_FPGA when the GUI starts running to allow it to communicate over USB.

    With the system attached and running can you open Help/About Discovery 4100 Explorer and post the values from that page?  

    Also can you tell me what OS you are running?

    Fizix

  • I am running Windows 10. The Discovery 4100 Explorer page is attached

  • Hello again Heyang,

    Thank you for the screen shot.  You are using the current versions.  When the GUI switches to loading patterns over USB there is a register that switches from Test Pattern Mode to GUI script mode.

    It sounds like that is not happening in the Labview program.  Once the GUI switches it, then it will work.

    To confirm that this is the case please do the following:

    1. Start with the test patterns running
    2. In the GUI switch to a pattern via Script
    3. As before check that the Labview program is working.
    4. Stop Labview and run from the GUI again.
    5. Go to Test Patterns in the GUI and run test patterns from the GUI.
    6. Stop the GUI (with test patterns running) 
    7. See if Labview is not working again.

    Let me know the result.

    Fizix

  • Hi Fizix,

    I did what you asked, and it seems like that is the problem. My Labview Script cannot overwrite the test patterns. Labview works when it is a loaded image, but does not when the test pattern is running. Is there a ActiveX call to stop the test patterns that I have missed?

  • Hello Heyang,

    There is a register write that happens to switch it from test patterns to script mode.  Do you have the source for the 2.0 version of the GUI?  That write has to be in there somewhere.

    Fizix

  • I think its in the download from the GUI package TI website. I think the source code for activex controls are in here, but I dont really understand how the GUI is built.

  • Hello again Heyang,

    Let me dig into this further.  It will take a couple of days.

    A brief overview.  The software is stuctured as follows:

    • GUI - written in VBStudio which interfaces to an ActiveX layer
    • ActiveX layer which interfaces to a USB-DLL to perform the operations
    • USB-DLL to interface to Windows I/O system to connect and send USB information to the EVM 
    • FPGA code  (VHDL) which runs on the APPS_FPGA to send/receive information over USB

    I think the source code on ti.com is for the FPGA vhdl (DLPC134A.zip).  Let me see what I can find.

    Fizix

  • Hello Heyang,

    Please let me know where you got/imported the ActiveX functions into Labview from.

    Also do any of the ActiveX functions have "tpg" in the name?

    Fizix

  • I started from the sample Labview code from this link

    https://forums.ni.com/t5/LabVIEW/Passing-array-pointer-to-ActiveX/td-p/4007497

    And edited the blocks to the desired ActiveX functions.

    From the drop down, there seems to be SetTPGEnable and GetTPGEnable

  • Got to work on it this morning and got it to work by setting SetTPGEnable to 0.

    Thanks a bunch for your help!

  • Hello Heyang,

    Exactly what I was going to suggest.  Thank you for confirming that it worked!

    Fizic

    Fizix